| @@ -200,3 +200,28 @@ export function progressList(query) { | |||
| params: query | |||
| }) | |||
| } | |||
| // 查询用户个人信息 | |||
| export function getUserProfile() { | |||
| return request({ | |||
| url: '/system/user/profile/get', | |||
| method: 'get' | |||
| }) | |||
| } | |||
| // 用户密码重置 | |||
| export function updateUserPwd(data) { | |||
| return request({ | |||
| url: '/system/user/profile/updatePwd', | |||
| method: 'post', | |||
| params: data | |||
| }) | |||
| } | |||
| // 查询举报留言详细 | |||
| export function getCommunicate(id) { | |||
| return request({ | |||
| url: '/enforce/communicate/get/' + id, | |||
| method: 'get' | |||
| }) | |||
| } | |||
| @@ -1459,7 +1459,7 @@ export const constantRoutes = [ | |||
| path: '/lawEnforcement', | |||
| name: 'lawEnforcement', | |||
| meta: { | |||
| title: '农业综合执法公众平台', | |||
| title: '农业综合行政执法公众平台', | |||
| hidden: true, | |||
| }, | |||
| component: (resolve) => require(['@/views/lawEnforcement/index'], resolve) | |||
| @@ -4,8 +4,9 @@ | |||
| <div style="display: flex;padding: 0 3% 0.2rem;"> | |||
| <form action="#" style="flex: 0.75;"> | |||
| <van-search | |||
| v-model="value" | |||
| placeholder="请输入搜索关键词" | |||
| v-model="queryParams.caseNum" | |||
| placeholder="请输入案件编号" | |||
| :search="handleQuery" | |||
| > | |||
| </van-search> | |||
| </form> | |||
| @@ -13,46 +14,97 @@ | |||
| <van-icon name="../../../static/images/lawEnforcement/icon/icon_ssbt.png" size="17" style="vertical-align: middle;margin-right: 5px;" />筛选 | |||
| </van-button> | |||
| </div> | |||
| <van-row style="padding: 0.2rem 3%;"> | |||
| <van-col :span="20"><p style="line-height: 20px;font-size: 14px;color: #878787;">筛选条件:企业 进行中 登记</p></van-col> | |||
| <van-col :span="4" align="right"><van-icon name="close" size="20" /></van-col> | |||
| <van-row style="padding: 0.2rem 3%;" v-show="showSxtj"> | |||
| <van-col :span="20"><p style="line-height: 20px;font-size: 14px;color: #878787;">筛选条件:{{showType}} {{showCaseStatus}} {{showCaseProgress}}</p></van-col> | |||
| <van-col :span="4" align="right"><van-icon name="close" size="20" @click="resetQuery"/></van-col> | |||
| </van-row> | |||
| <van-action-sheet v-model="sheetShow" title="筛选" duration="0.2" close-icon="arrow-down"> | |||
| <div class="sheetContent"> | |||
| <p class="sheetTitle">当事人类型</p> | |||
| <van-row> | |||
| <van-col :span="6"><p class="active">全部</p></van-col> | |||
| <van-col :span="12"><p>个人/个体工商户</p></van-col> | |||
| <van-col :span="6"><p>企业</p></van-col> | |||
| </van-row> | |||
| <p class="sheetTitle">案件状态</p> | |||
| <van-row> | |||
| <van-col :span="6"><p class="active">全部</p></van-col> | |||
| <van-col :span="6"><p>进行中</p></van-col> | |||
| <van-col :span="6"><p>结束</p></van-col> | |||
| <van-col :span="6"><p>中断</p></van-col> | |||
| </van-row> | |||
| <p class="sheetTitle">案件执法进度</p> | |||
| <van-row> | |||
| <van-col :span="6"><p class="active">全部</p></van-col> | |||
| <van-col :span="6"><p>登记</p></van-col> | |||
| <van-col :span="6"><p>勘察</p></van-col> | |||
| <van-col :span="6"><p>立案</p></van-col> | |||
| </van-row> | |||
| <van-row> | |||
| <van-col :span="6"><p>取证</p></van-col> | |||
| <van-col :span="6"><p>处理</p></van-col> | |||
| <van-col :span="6"><p>裁决</p></van-col> | |||
| <van-col :span="6"><p>执行</p></van-col> | |||
| </van-row> | |||
| <van-row> | |||
| <van-col :span="6"><p>备案</p></van-col> | |||
| <van-col :span="6"><p>结案</p></van-col> | |||
| </van-row> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| name="picker" | |||
| v-model="showType" | |||
| label="当事人类型" | |||
| placeholder="点击选择当事人类型" | |||
| @click="showDsrlx = true" | |||
| /> | |||
| <van-popup v-model="showDsrlx" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="typeColumns" | |||
| @confirm="onConfirmDsrlx" | |||
| @cancel="showDsrlx = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| name="picker" | |||
| v-model="showCaseStatus" | |||
| label="案件状态" | |||
| placeholder="点击选择案件状态" | |||
| @click="showAjzt = true" | |||
| /> | |||
| <van-popup v-model="showAjzt" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="caseStatusColumns" | |||
| @confirm="onConfirmAjzt" | |||
| @cancel="showAjzt = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| name="picker" | |||
| v-model="showCaseProgress" | |||
| label="案件执法进度" | |||
| placeholder="点击选择案件执法进度" | |||
| @click="showAjzfjd = true" | |||
| /> | |||
| <van-popup v-model="showAjzfjd" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="caseProgressColumns" | |||
| @confirm="onConfirmAjzfjd" | |||
| @cancel="showAjzfjd = false" | |||
| /> | |||
| </van-popup> | |||
| <!-- <p class="sheetTitle">当事人类型</p>--> | |||
| <!-- <van-row>--> | |||
| <!-- <van-col :span="6"><p class="active">全部</p></van-col>--> | |||
| <!-- <van-col :span="12"><p>个人/个体工商户</p></van-col>--> | |||
| <!-- <van-col :span="6"><p>企业</p></van-col>--> | |||
| <!-- </van-row>--> | |||
| <!-- <p class="sheetTitle">案件状态</p>--> | |||
| <!-- <van-row>--> | |||
| <!-- <van-col :span="6"><p class="active">全部</p></van-col>--> | |||
| <!-- <van-col :span="6"><p>进行中</p></van-col>--> | |||
| <!-- <van-col :span="6"><p>结束</p></van-col>--> | |||
| <!-- <van-col :span="6"><p>中断</p></van-col>--> | |||
| <!-- </van-row>--> | |||
| <!-- <p class="sheetTitle">案件执法进度</p>--> | |||
| <!-- <van-row>--> | |||
| <!-- <van-col :span="6"><p class="active">全部</p></van-col>--> | |||
| <!-- <van-col :span="6"><p>登记</p></van-col>--> | |||
| <!-- <van-col :span="6"><p>勘察</p></van-col>--> | |||
| <!-- <van-col :span="6"><p>立案</p></van-col>--> | |||
| <!-- </van-row>--> | |||
| <!-- <van-row>--> | |||
| <!-- <van-col :span="6"><p>取证</p></van-col>--> | |||
| <!-- <van-col :span="6"><p>处理</p></van-col>--> | |||
| <!-- <van-col :span="6"><p>裁决</p></van-col>--> | |||
| <!-- <van-col :span="6"><p>执行</p></van-col>--> | |||
| <!-- </van-row>--> | |||
| <!-- <van-row>--> | |||
| <!-- <van-col :span="6"><p>备案</p></van-col>--> | |||
| <!-- <van-col :span="6"><p>结案</p></van-col>--> | |||
| <!-- </van-row>--> | |||
| </div> | |||
| <van-row> | |||
| <van-col :span="12" align="center"><van-button type="default" style="width: 90%;height: 1.2rem;border-radius: 4PX;">重置</van-button></van-col> | |||
| <van-col :span="12" align="center"><van-button type="info" style="width: 90%;height: 1.2rem;border-radius: 4PX;">确定</van-button></van-col> | |||
| <van-col :span="12" align="center"><van-button type="default" style="width: 90%;height: 1.2rem;border-radius: 4PX;" @click="resetQuery">重置</van-button></van-col> | |||
| <van-col :span="12" align="center"><van-button type="info" style="width: 90%;height: 1.2rem;border-radius: 4PX;" @click="handleQuery">确定</van-button></van-col> | |||
| </van-row> | |||
| </van-action-sheet> | |||
| <van-list | |||
| @@ -96,6 +148,10 @@ export default { | |||
| //是否滚动到底部 | |||
| finished: false, | |||
| sheetShow: false, | |||
| showDsrlx: false, | |||
| showAjzt: false, | |||
| showAjzfjd: false, | |||
| showSxtj: false, | |||
| // 查询参数 | |||
| queryParams: { | |||
| // 分页 | |||
| @@ -116,17 +172,33 @@ export default { | |||
| caseStatusOptions:[], | |||
| caseProgressOptions:[], | |||
| typeOptions:[], | |||
| typeColumns:[], | |||
| caseStatusColumns:[], | |||
| caseProgressColumns:[], | |||
| showType : '', | |||
| showCaseStatus : '', | |||
| showCaseProgress : '', | |||
| }; | |||
| }, | |||
| created() { | |||
| this.getDicts("enforce_body_type").then(response => { | |||
| this.typeOptions = response.data; | |||
| for (var i = 0 ; i < response.data.length ; i++){ | |||
| this.typeColumns.push({text: response.data[i].dictLabel, value: response.data[i].dictValue}) | |||
| } | |||
| }); | |||
| this.getDicts("case_status").then(response => { | |||
| this.caseStatusOptions = response.data; | |||
| for (var i = 0 ; i < response.data.length ; i++){ | |||
| this.caseStatusColumns.push({text: response.data[i].dictLabel, value: response.data[i].dictValue}) | |||
| } | |||
| }); | |||
| this.getDicts("case_node").then(response => { | |||
| this.caseProgressOptions = response.data; | |||
| for (var i = 0 ; i < response.data.length ; i++){ | |||
| this.caseProgressColumns.push({text: response.data[i].dictLabel, value: response.data[i].dictValue}) | |||
| } | |||
| }); | |||
| }, | |||
| methods: { | |||
| @@ -164,7 +236,50 @@ export default { | |||
| goDetail(id){ | |||
| console.log(id) | |||
| window.location = 'news/newDetail?id='+id; | |||
| } | |||
| }, | |||
| onConfirmDsrlx(data){ | |||
| this.queryParams.type = data.value; | |||
| this.showType = data.text; | |||
| this.showDsrlx = false; | |||
| }, | |||
| onConfirmAjzt(data){ | |||
| this.queryParams.caseStatus = data.value; | |||
| this.showCaseStatus = data.text | |||
| this.showAjzt = false; | |||
| }, | |||
| onConfirmAjzfjd(data){ | |||
| this.queryParams.caseProgress = data.value; | |||
| this.showCaseProgress = data.text | |||
| this.showAjzfjd = false; | |||
| }, | |||
| resetQuery(){ | |||
| this.queryParams = { | |||
| // 分页 | |||
| pageNum: 1, | |||
| pageSize: 10, | |||
| // 查询排序 | |||
| orderByColumn: "id", | |||
| isAsc: "desc", | |||
| caseNum: null, | |||
| type: null, | |||
| caseStatus: null, | |||
| caseProgress: null, | |||
| }; | |||
| this.showType = ''; | |||
| this.showCaseStatus = ''; | |||
| this.showCaseProgress = ''; | |||
| this.showSxtj = false; | |||
| this.getList() | |||
| }, | |||
| /** 搜索按钮操作 */ | |||
| handleQuery() { | |||
| if(this.showType != '' || this.showCaseStatus != '' || this.showCaseProgress != ''){ | |||
| this.showSxtj = true; | |||
| } | |||
| this.caseList = []; | |||
| this.queryParams.pageNum = 1; | |||
| this.getList(); | |||
| }, | |||
| }, | |||
| }; | |||
| </script> | |||
| @@ -181,9 +296,8 @@ export default { | |||
| padding-bottom: 0.5rem; | |||
| } | |||
| .sheetContent{ | |||
| padding: 10PX 1% 1rem; | |||
| padding: 10PX 1% 0; | |||
| margin-bottom: 0.5rem; | |||
| border-bottom: 1px solid #eeeeee; | |||
| .sheetTitle{ | |||
| font-size: 0.42rem; | |||
| background-color: transparent; | |||
| @@ -1,29 +1,51 @@ | |||
| <template> | |||
| <div class="app-container"> | |||
| <van-nav-bar | |||
| title="投诉回复" | |||
| title="密码修改" | |||
| fixed | |||
| placeholder | |||
| left-arrow | |||
| @click-left="onClickLeft" | |||
| /> | |||
| <div class="tabsBox"> | |||
| <van-field v-model="password" placeholder="请输入原密码" > | |||
| <template #left-icon> | |||
| <van-icon name="../../../../static/images/lawEnforcement/icon/icon_xgmm.png"></van-icon> | |||
| </template> | |||
| </van-field> | |||
| <van-field v-model="newPassword" placeholder="请输入新密码" > | |||
| <template #left-icon> | |||
| <van-icon name="../../../../static/images/lawEnforcement/icon/icon_xgmm.png"></van-icon> | |||
| </template> | |||
| </van-field> | |||
| </div> | |||
| <van-button type="default" class="loginOut">完成</van-button> | |||
| <van-form validate-first ref="form"> | |||
| <div class="tabsBox"> | |||
| <van-field | |||
| v-model="user.oldPassword" | |||
| type="password" | |||
| placeholder="请输入原密码" | |||
| :rules="[{ required: true }]" | |||
| > | |||
| <template #left-icon> | |||
| <van-icon name="../../../../static/images/lawEnforcement/icon/icon_xgmm.png"></van-icon> | |||
| </template> | |||
| </van-field> | |||
| <van-field | |||
| v-model="user.newPassword" | |||
| type="password" | |||
| placeholder="请输入新密码" | |||
| :rules="[{ required: true }]" | |||
| > | |||
| <template #left-icon> | |||
| <van-icon name="../../../../static/images/lawEnforcement/icon/icon_xgmm.png"></van-icon> | |||
| </template> | |||
| </van-field> | |||
| <van-field | |||
| v-model="user.confirmPassword" | |||
| type="password" | |||
| placeholder="请确认新密码" | |||
| :rules="[{ required: true }]" | |||
| > | |||
| <template #left-icon> | |||
| <van-icon name="../../../../static/images/lawEnforcement/icon/icon_xgmm.png"></van-icon> | |||
| </template> | |||
| </van-field> | |||
| </div> | |||
| <van-button type="default" class="loginOut" @click="submit">完成</van-button> | |||
| </van-form> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import { updateUserPwd } from "@/api/lawEnforcement/index"; | |||
| export default { | |||
| name: "index", | |||
| data() { | |||
| @@ -31,14 +53,27 @@ export default { | |||
| active:0, | |||
| message:'', | |||
| password:'', | |||
| newPassword:'' | |||
| newPassword:'', | |||
| user: { | |||
| oldPassword: undefined, | |||
| newPassword: undefined, | |||
| confirmPassword: undefined | |||
| }, | |||
| }; | |||
| }, | |||
| created() { | |||
| }, | |||
| methods: { | |||
| submit() { | |||
| const data = { | |||
| oldPassword:this.user.oldPassword, | |||
| newPassword:this.user.newPassword | |||
| } | |||
| updateUserPwd(data).then(response => { | |||
| this.$notify({ type: 'success' , message: response.msg }); | |||
| }); | |||
| }, | |||
| }, | |||
| }; | |||
| </script> | |||
| @@ -9,84 +9,52 @@ | |||
| /> | |||
| <van-tabs v-model="active" animated sticky> | |||
| <van-tab title="全部"> | |||
| <div class="tabsBox"> | |||
| <van-cell title="方案名称名称名称" label="待回复· 2021-11-04" center :to="{name:'programmeDetail'}"> | |||
| <template #icon> | |||
| <van-icon name="../../../static/images/lawEnforcement/12.jpg" size="36" color="#539FFD" style="margin-right: 10px;border-radius: 50%;overflow: hidden;" /> | |||
| </template> | |||
| <template #default> | |||
| <p style="color: #1D6FE9;"><van-icon name="phone" />15314031621</p> | |||
| </template> | |||
| </van-cell> | |||
| <van-row> | |||
| <van-col :span="4">类型:</van-col> | |||
| <van-col :span="20">投诉</van-col> | |||
| </van-row> | |||
| <van-row> | |||
| <van-col :span="4">标题:</van-col> | |||
| <van-col :span="20">事件标题时间标题时间标题</van-col> | |||
| </van-row> | |||
| <van-row> | |||
| <van-col :span="4">内容:</van-col> | |||
| <van-col :span="20">发生事件内容发生事件内容发生事件内容发生事件内发生事件内容发生事件内容发生事件内容发生事件内容发发生事件内容件内容发生事件内容。</van-col> | |||
| </van-row> | |||
| <van-row> | |||
| <van-col :span="4"></van-col> | |||
| <van-col :span="20" align="right"><van-button icon="edit" type="danger" class="answerBtn" :to="{name:'reply'}">回复</van-button></van-col> | |||
| </van-row> | |||
| </div> | |||
| <div class="tabsBox"> | |||
| <van-cell title="方案名称名称名称" label="待回复· 2021-11-04" center :to="{name:'programmeDetail'}"> | |||
| <template #icon> | |||
| <van-icon name="../../../static/images/lawEnforcement/12.jpg" size="36" color="#539FFD" style="margin-right: 10px;border-radius: 50%;overflow: hidden;" /> | |||
| </template> | |||
| <template #default> | |||
| <p style="color: #1D6FE9;"><van-icon name="phone" />15314031621</p> | |||
| </template> | |||
| </van-cell> | |||
| <van-row> | |||
| <van-col :span="4">类型:</van-col> | |||
| <van-col :span="20">投诉</van-col> | |||
| </van-row> | |||
| <van-row> | |||
| <van-col :span="4">标题:</van-col> | |||
| <van-col :span="20">事件标题时间标题时间标题</van-col> | |||
| </van-row> | |||
| <van-row> | |||
| <van-col :span="4">内容:</van-col> | |||
| <van-col :span="20">发生事件内容发生事件内容发生事件内容发生事件内发生事件内容发生事件内容发生事件内容发生事件内容发发生事件内容件内容发生事件内容。</van-col> | |||
| </van-row> | |||
| <van-row> | |||
| <van-col :span="4"></van-col> | |||
| <van-col :span="20" align="right"><van-button icon="edit" type="danger" class="answerBtn">回复</van-button></van-col> | |||
| </van-row> | |||
| </div> | |||
| <div class="tabsBox"> | |||
| <van-cell title="方案名称名称名称" label="待回复· 2021-11-04" center :to="{name:'programmeDetail'}"> | |||
| <template #icon> | |||
| <van-icon name="../../../static/images/lawEnforcement/12.jpg" size="36" color="#539FFD" style="margin-right: 10px;border-radius: 50%;overflow: hidden;" /> | |||
| </template> | |||
| <template #default> | |||
| <p style="color: #1D6FE9;"><van-icon name="phone" />15314031621</p> | |||
| </template> | |||
| </van-cell> | |||
| <van-row> | |||
| <van-col :span="4">类型:</van-col> | |||
| <van-col :span="20">投诉</van-col> | |||
| </van-row> | |||
| <van-row> | |||
| <van-col :span="4">标题:</van-col> | |||
| <van-col :span="20">事件标题时间标题时间标题</van-col> | |||
| </van-row> | |||
| <van-row> | |||
| <van-col :span="4">内容:</van-col> | |||
| <van-col :span="20">发生事件内容发生事件内容发生事件内容发生事件内发生事件内容发生事件内容发生事件内容发生事件内容发发生事件内容件内容发生事件内容。</van-col> | |||
| </van-row> | |||
| <van-row> | |||
| <van-col :span="4"></van-col> | |||
| <van-col :span="20" align="right"><van-button icon="edit" type="danger" class="answerBtn">回复</van-button></van-col> | |||
| </van-row> | |||
| </div> | |||
| <van-list | |||
| v-model="loading" | |||
| :finished="finished" | |||
| finished-text="没有更多了" | |||
| @load="getNewList" | |||
| > | |||
| <div class="tabsBox" v-for="(item,index) in schemeList" :key="index"> | |||
| <van-cell :title="item.name" :label="item.reply ? '已回复 · ' + item.replyTime:'待回复 '" center :to="{name:'programmeDetail'}"> | |||
| <template #icon> | |||
| <van-icon name="../../../static/images/lawEnforcement/12.jpg" size="36" color="#539FFD" style="margin-right: 10px;border-radius: 50%;overflow: hidden;" /> | |||
| </template> | |||
| <template #default> | |||
| <p style="color: #1D6FE9;"><van-icon name="phone" style="top: 2px" />{{item.phone}}</p> | |||
| </template> | |||
| </van-cell> | |||
| <van-row> | |||
| <van-col :span="5">类型:</van-col> | |||
| <van-col :span="19">{{item.communicateType}}</van-col> | |||
| </van-row> | |||
| <van-row> | |||
| <van-col :span="5">标题:</van-col> | |||
| <van-col :span="19">{{item.title}}</van-col> | |||
| </van-row> | |||
| <van-row> | |||
| <van-col :span="5">内容:</van-col> | |||
| <van-col :span="19">{{item.content}}</van-col> | |||
| </van-row> | |||
| <van-row v-if="item.reply"> | |||
| <van-col :span="24" style="border-top: 1px solid #eee"></van-col> | |||
| </van-row> | |||
| <van-row v-if="item.reply"> | |||
| <van-col :span="5">回复:</van-col> | |||
| <van-col :span="19">{{item.reply}}</van-col> | |||
| </van-row> | |||
| <van-row v-if="item.reply"> | |||
| <van-col :span="5">回复人:</van-col> | |||
| <van-col :span="19">{{item.replyName}}</van-col> | |||
| </van-row> | |||
| <van-row v-if="!item.reply"> | |||
| <van-col :span="12"></van-col> | |||
| <van-col :span="12" align="right"><van-button icon="edit" type="danger" class="answerBtn" :to="{name:'reply',query:{id:item.id}}">回复</van-button></van-col> | |||
| </van-row> | |||
| </div> | |||
| </van-list> | |||
| </van-tab> | |||
| <van-tab title="未回复"> | |||
| 内容 | |||
| @@ -98,18 +66,53 @@ | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import { getTopDeptId , schemeDetail,communicate } from "@/api/lawEnforcement/index"; | |||
| export default { | |||
| name: "index", | |||
| data() { | |||
| return { | |||
| active:0 | |||
| active:0, | |||
| //查询参数 | |||
| queryParams: { | |||
| pageNum: 1, | |||
| pageSize: 5, | |||
| deptId:100, | |||
| }, | |||
| schemeList:[], | |||
| //是否显示加载 | |||
| loading: false, | |||
| //是否滚动到底部 | |||
| finished: false, | |||
| communicateOptions:[] | |||
| }; | |||
| }, | |||
| created() { | |||
| //转出方式字典 | |||
| this.getDicts("communicate_type").then(res => { | |||
| this.communicateOptions = res.data; | |||
| }); | |||
| }, | |||
| methods: { | |||
| getNewList(){ | |||
| this.loading = true; | |||
| getTopDeptId().then(response => { | |||
| this.queryParams.deptId = response.data ; | |||
| communicate(this.queryParams).then(response => { | |||
| console.log(response) | |||
| for (var i = 0; i < response.rows.length; i++) { | |||
| response.rows[i].replyTime = response.rows[i].replyTime == '' ? '' : response.rows[i].replyTime.substr(0,10); | |||
| response.rows[i].communicateType = this.selectDictLabel(this.communicateOptions,response.rows[i].communicateType) | |||
| this.schemeList.push(response.rows[i]); | |||
| } | |||
| if(this.schemeList.length >= response.total){ | |||
| this.finished = true; | |||
| return; | |||
| } | |||
| this.queryParams.pageNum += 1 ; | |||
| this.loading = false; | |||
| }) | |||
| }) | |||
| }, | |||
| }, | |||
| }; | |||
| </script> | |||
| @@ -138,6 +141,11 @@ export default { | |||
| } | |||
| /deep/.van-cell{ | |||
| padding: 0; | |||
| padding-bottom: 10PX; | |||
| border-bottom: 1px solid #eee; | |||
| } | |||
| /deep/.van-cell::after{ | |||
| border: none; | |||
| } | |||
| /deep/.van-row{ | |||
| margin-top: 15PX; | |||
| @@ -56,7 +56,7 @@ | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import { getTopDeptId , schemeDetail } from "@/api/lawEnforcement/index"; | |||
| import { getTopDeptId , schemeDetail,communicate } from "@/api/lawEnforcement/index"; | |||
| export default { | |||
| name: "index", | |||
| data() { | |||
| @@ -11,20 +11,20 @@ | |||
| <div class="tabsBox"> | |||
| <van-row> | |||
| <van-col :span="4">类型:</van-col> | |||
| <van-col :span="20">投诉</van-col> | |||
| <van-col :span="20">{{form.communicateType}}</van-col> | |||
| </van-row> | |||
| <van-row> | |||
| <van-col :span="4">标题:</van-col> | |||
| <van-col :span="20">事件标题时间标题时间标题</van-col> | |||
| <van-col :span="20">{{form.title}}</van-col> | |||
| </van-row> | |||
| <van-row> | |||
| <van-col :span="4">内容:</van-col> | |||
| <van-col :span="20">发生事件内容发生事件内容发生事件内容发生事件内发生事件内容发生事件内容发生事件内容发生事件内容发发生事件内容件内容发生事件内容。</van-col> | |||
| <van-col :span="20">{{form.content}}</van-col> | |||
| </van-row> | |||
| <van-row> | |||
| <van-col :span="24"> | |||
| <van-field | |||
| v-model="message" | |||
| v-model="form.reply" | |||
| rows="5" | |||
| autosize | |||
| type="textarea" | |||
| @@ -38,19 +38,39 @@ | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import { getCommunicate } from "@/api/lawEnforcement/index"; | |||
| export default { | |||
| name: "index", | |||
| data() { | |||
| return { | |||
| active:0, | |||
| message:'', | |||
| // 表单参数 | |||
| form: {}, | |||
| // 咨询分类字典 | |||
| communicateTypeOptions: [], | |||
| }; | |||
| }, | |||
| created() { | |||
| this.getDicts("communicate_type").then(response => { | |||
| this.communicateTypeOptions = response.data; | |||
| }); | |||
| this.getDicts("sys_yes_no").then(response => { | |||
| this.isRealnameOptions = response.data; | |||
| }); | |||
| this.getDicts("sys_yes_no").then(response => { | |||
| this.isOpenOptions = response.data; | |||
| }); | |||
| this.getDetail() | |||
| }, | |||
| methods: { | |||
| getDetail(){ | |||
| getCommunicate(this.$route.query.id).then(response => { | |||
| this.form = response.data; | |||
| this.open = true; | |||
| this.title = "修改留言回复"; | |||
| }); | |||
| } | |||
| }, | |||
| }; | |||
| </script> | |||
| @@ -60,6 +80,9 @@ export default { | |||
| font-family: SourceHanSansCNBold; | |||
| src: url("../../../assets/fonts/SourceHanSansCN-Bold.otf"); | |||
| } | |||
| .app-container{ | |||
| padding: 2%; | |||
| } | |||
| /deep/ .van-tabs__line{ | |||
| background-color: #1D6FE9; | |||
| } | |||
| @@ -3,7 +3,7 @@ | |||
| <van-nav-bar fixed placeholder > | |||
| <template #title> | |||
| <van-image src="../../../static/images/lawEnforcement/logo.png" width="30" height="30" /> | |||
| <p style="">农业综合执法公众平台</p> | |||
| <p style="">农业综合行政执法公众平台</p> | |||
| </template> | |||
| </van-nav-bar> | |||
| @@ -2,7 +2,7 @@ | |||
| <div class="app-container"> | |||
| <div class="title"> | |||
| <img style="display: inline-block;margin-right: 10px;" src="../../../static/images/lawEnforcement/login_logo.png" alt=""> | |||
| <p>农业综合执法公众平台</p> | |||
| <p>农业综合行政执法公众平台</p> | |||
| </div> | |||
| <van-form style="width: 88%;margin: 0 auto;margin-top: 50px;" v-if="!showMessage"> | |||
| <van-field | |||
| @@ -80,7 +80,7 @@ | |||
| margin: 0 auto; | |||
| text-align: center; | |||
| p{ | |||
| font-size: 1rem; | |||
| font-size: 0.95rem; | |||
| color: #1D6FE9; | |||
| font-family: zqkhyt; | |||
| margin-top: 10PX; | |||
| @@ -4,8 +4,9 @@ | |||
| <div style="display: flex;padding: 0 3% 0.2rem;"> | |||
| <form action="#" style="flex: 0.75;"> | |||
| <van-search | |||
| v-model="value" | |||
| placeholder="请输入搜索关键词" | |||
| v-model="queryParams.productName" | |||
| placeholder="请输入农用品名称" | |||
| @input="handleQuery" | |||
| > | |||
| </van-search> | |||
| </form> | |||
| @@ -13,46 +14,50 @@ | |||
| <van-icon name="../../../static/images/lawEnforcement/icon/icon_ssbt.png" size="17" style="vertical-align: middle;margin-right: 5px;" />筛选 | |||
| </van-button> | |||
| </div> | |||
| <van-row style="padding: 0.2rem 3%;"> | |||
| <van-col :span="20"><p style="line-height: 20px;font-size: 14px;color: #878787;">筛选条件:企业 进行中 登记</p></van-col> | |||
| <van-col :span="4" align="right"><van-icon name="close" size="20" /></van-col> | |||
| <van-row style="padding: 0.2rem 3%;" v-show="showSxtj"> | |||
| <van-col :span="20"><p style="line-height: 20px;font-size: 14px;color: #878787;">筛选条件:{{showProductType}} {{showCategory}}</p></van-col> | |||
| <van-col :span="4" align="right"><van-icon name="close" size="20" @click="resetQuery"/></van-col> | |||
| </van-row> | |||
| <van-action-sheet v-model="sheetShow" title="筛选" duration="0.2" close-icon="arrow-down"> | |||
| <div class="sheetContent"> | |||
| <p class="sheetTitle">当事人类型</p> | |||
| <van-row> | |||
| <van-col :span="6"><p class="active">全部</p></van-col> | |||
| <van-col :span="12"><p>个人/个体工商户</p></van-col> | |||
| <van-col :span="6"><p>企业</p></van-col> | |||
| </van-row> | |||
| <p class="sheetTitle">案件状态</p> | |||
| <van-row> | |||
| <van-col :span="6"><p class="active">全部</p></van-col> | |||
| <van-col :span="6"><p>进行中</p></van-col> | |||
| <van-col :span="6"><p>结束</p></van-col> | |||
| <van-col :span="6"><p>中断</p></van-col> | |||
| </van-row> | |||
| <p class="sheetTitle">案件执法进度</p> | |||
| <van-row> | |||
| <van-col :span="6"><p class="active">全部</p></van-col> | |||
| <van-col :span="6"><p>登记</p></van-col> | |||
| <van-col :span="6"><p>勘察</p></van-col> | |||
| <van-col :span="6"><p>立案</p></van-col> | |||
| </van-row> | |||
| <van-row> | |||
| <van-col :span="6"><p>取证</p></van-col> | |||
| <van-col :span="6"><p>处理</p></van-col> | |||
| <van-col :span="6"><p>裁决</p></van-col> | |||
| <van-col :span="6"><p>执行</p></van-col> | |||
| </van-row> | |||
| <van-row> | |||
| <van-col :span="6"><p>备案</p></van-col> | |||
| <van-col :span="6"><p>结案</p></van-col> | |||
| </van-row> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| name="picker" | |||
| v-model="showProductType" | |||
| label="农用品类型" | |||
| placeholder="点击选择当事人类型" | |||
| @click="showNyplx = true" | |||
| /> | |||
| <van-popup v-model="showNyplx" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="productTypeColumns" | |||
| @confirm="onConfirmNyplx" | |||
| @cancel="showNyplx = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| name="picker" | |||
| v-model="showCategory" | |||
| label="农用品种类" | |||
| placeholder="点击选择案件状态" | |||
| @click="showNypzl = true" | |||
| /> | |||
| <van-popup v-model="showNypzl" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="categoryColumns" | |||
| @confirm="onConfirmNypzl" | |||
| @cancel="showNypzl = false" | |||
| /> | |||
| </van-popup> | |||
| </div> | |||
| <van-row> | |||
| <van-col :span="12" align="center"><van-button type="default" style="width: 90%;height: 1.2rem;border-radius: 4PX;">重置</van-button></van-col> | |||
| <van-col :span="12" align="center"><van-button type="info" style="width: 90%;height: 1.2rem;border-radius: 4PX;">确定</van-button></van-col> | |||
| <van-col :span="12" align="center"><van-button type="default" style="width: 90%;height: 1.2rem;border-radius: 4PX;" @click="resetQuery">重置</van-button></van-col> | |||
| <van-col :span="12" align="center"><van-button type="info" style="width: 90%;height: 1.2rem;border-radius: 4PX;" @click="handleQuery">确定</van-button></van-col> | |||
| </van-row> | |||
| </van-action-sheet> | |||
| <van-list | |||
| @@ -99,19 +104,52 @@ export default { | |||
| //是否滚动到底部 | |||
| finished: false, | |||
| sheetShow: false, | |||
| showNyplx: false, | |||
| showNypzl: false, | |||
| showSxtj: false, | |||
| //查询参数 | |||
| queryParams: { | |||
| // 分页 | |||
| pageNum: 1, | |||
| pageSize: 5, | |||
| pageSize: 10, | |||
| deptId:100, | |||
| // 查询排序 | |||
| orderByColumn: "id", | |||
| isAsc: "desc", | |||
| productType: null, | |||
| recordCode: null, | |||
| productName: null, | |||
| category: null, | |||
| agent: null, | |||
| checkStatus:"1", | |||
| }, | |||
| //新闻集合 | |||
| newList:[], | |||
| //轮播图集合 | |||
| bannerList:'' | |||
| bannerList:'', | |||
| productTypeOptions:[], | |||
| categoryOptions:[], | |||
| typeColumns:[], | |||
| productTypeColumns:[], | |||
| categoryColumns:[], | |||
| showProductType : '', | |||
| showCategory : '', | |||
| }; | |||
| }, | |||
| created() { | |||
| this.getDicts("product_type").then(response => { | |||
| this.productTypeOptions = response.data; | |||
| for (var i = 0 ; i < response.data.length ; i++){ | |||
| this.productTypeColumns.push({text: response.data[i].dictLabel, value: response.data[i].dictValue}) | |||
| } | |||
| }); | |||
| this.getDicts("category_type").then(response => { | |||
| this.categoryOptions = response.data; | |||
| for (var i = 0 ; i < response.data.length ; i++){ | |||
| this.categoryColumns.push({text: response.data[i].dictLabel, value: response.data[i].dictValue}) | |||
| } | |||
| }); | |||
| this.getDeptId(); | |||
| }, | |||
| methods: { | |||
| @@ -123,7 +161,6 @@ export default { | |||
| }, | |||
| getList(){ | |||
| this.loading = true; | |||
| productList(this.queryParams).then(response => { | |||
| this.newList = response.rows; | |||
| if(this.newList.length >= response.total){ | |||
| @@ -134,6 +171,46 @@ export default { | |||
| this.loading = false; | |||
| }); | |||
| }, | |||
| onConfirmNypzl(data){ | |||
| this.queryParams.category = data.value; | |||
| this.showCategory = data.text; | |||
| this.showNypzl = false; | |||
| }, | |||
| onConfirmNyplx(data){ | |||
| this.queryParams.productType = data.value; | |||
| this.showProductType = data.text | |||
| this.showNyplx = false; | |||
| }, | |||
| resetQuery(){ | |||
| this.queryParams = { | |||
| // 分页 | |||
| pageNum: 1, | |||
| pageSize: 10, | |||
| deptId:100, | |||
| // 查询排序 | |||
| orderByColumn: "id", | |||
| isAsc: "desc", | |||
| productType: null, | |||
| recordCode: null, | |||
| productName: null, | |||
| category: null, | |||
| agent: null, | |||
| checkStatus:"1", | |||
| }, | |||
| this.showProductType = ''; | |||
| this.showCategory = ''; | |||
| this.showSxtj = false; | |||
| this.getDeptId() | |||
| }, | |||
| /** 搜索按钮操作 */ | |||
| handleQuery() { | |||
| if( this.showProductType != '' || this.showCategory != '' ){ | |||
| this.showSxtj = true; | |||
| } | |||
| this.caseList = []; | |||
| this.queryParams.pageNum = 1; | |||
| this.getList(); | |||
| }, | |||
| }, | |||
| }; | |||
| </script> | |||
| @@ -2,13 +2,13 @@ | |||
| <div class="app-container"> | |||
| <div class="topBackground"> | |||
| <van-nav-bar title="我的" fixed placeholder/> | |||
| <van-row class="userInformation"> | |||
| <van-row class="userInformation" v-if="user"> | |||
| <van-col :span="6"> | |||
| <van-image src="../../../../static/images/lawEnforcement/12.jpg" class="headImg" /> | |||
| </van-col> | |||
| <van-col :span="12"> | |||
| <p class="userName">农燊高科</p> | |||
| <p class="userDept">农业农村局<i style="margin-right: 0.5rem;"></i>种子部门</p> | |||
| <p class="userName">{{ user.userName }}</p> | |||
| <p class="userDept">{{ user.dept.deptName }} <i style="margin-right: 0.5rem;"></i> {{ postGroup }}</p> | |||
| </van-col> | |||
| <van-col :span="6" align="right"> | |||
| <van-icon name="arrow" size="20" color="#FFF" style="line-height: 1.7rem;" /> | |||
| @@ -54,23 +54,40 @@ | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import { newList } from "@/api/index"; | |||
| import { getUserProfile } from "@/api/lawEnforcement/index"; | |||
| import { logout ,getInfo } from "@/api/login/index"; | |||
| import law from "@/components/common/law_footer"; | |||
| export default { | |||
| name: "index", | |||
| name: "user", | |||
| components: { | |||
| law | |||
| }, | |||
| data() { | |||
| return { | |||
| user: { | |||
| dept:{} | |||
| }, | |||
| roleGroup: {}, | |||
| postGroup: {}, | |||
| activeTab: "userinfo" | |||
| }; | |||
| }, | |||
| created() { | |||
| this.getUser(); | |||
| }, | |||
| methods: { | |||
| loginOut(){ | |||
| logout().then(response => { | |||
| location.reload(true); | |||
| }); | |||
| }, | |||
| getUser() { | |||
| getUserProfile().then(response => { | |||
| this.user = response.data; | |||
| this.roleGroup = response.roleGroup; | |||
| this.postGroup = response.postGroup; | |||
| }); | |||
| } | |||
| }, | |||
| }; | |||
| </script> | |||
| @@ -104,12 +121,12 @@ export default { | |||
| overflow: hidden; | |||
| } | |||
| .userName{ | |||
| font-size: 20PX; | |||
| font-size: 0.55rem; | |||
| color: #FFFFFF; | |||
| line-height: 0.85rem; | |||
| } | |||
| .userDept{ | |||
| font-size: 14PX; | |||
| font-size: 0.4rem; | |||
| color: #FFFFFF; | |||
| line-height: 0.85rem; | |||
| } | |||