| @@ -200,3 +200,28 @@ export function progressList(query) { | |||||
| params: 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', | path: '/lawEnforcement', | ||||
| name: 'lawEnforcement', | name: 'lawEnforcement', | ||||
| meta: { | meta: { | ||||
| title: '农业综合执法公众平台', | |||||
| title: '农业综合行政执法公众平台', | |||||
| hidden: true, | hidden: true, | ||||
| }, | }, | ||||
| component: (resolve) => require(['@/views/lawEnforcement/index'], resolve) | component: (resolve) => require(['@/views/lawEnforcement/index'], resolve) | ||||
| @@ -4,8 +4,9 @@ | |||||
| <div style="display: flex;padding: 0 3% 0.2rem;"> | <div style="display: flex;padding: 0 3% 0.2rem;"> | ||||
| <form action="#" style="flex: 0.75;"> | <form action="#" style="flex: 0.75;"> | ||||
| <van-search | <van-search | ||||
| v-model="value" | |||||
| placeholder="请输入搜索关键词" | |||||
| v-model="queryParams.caseNum" | |||||
| placeholder="请输入案件编号" | |||||
| :search="handleQuery" | |||||
| > | > | ||||
| </van-search> | </van-search> | ||||
| </form> | </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-icon name="../../../static/images/lawEnforcement/icon/icon_ssbt.png" size="17" style="vertical-align: middle;margin-right: 5px;" />筛选 | ||||
| </van-button> | </van-button> | ||||
| </div> | </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-row> | ||||
| <van-action-sheet v-model="sheetShow" title="筛选" duration="0.2" close-icon="arrow-down"> | <van-action-sheet v-model="sheetShow" title="筛选" duration="0.2" close-icon="arrow-down"> | ||||
| <div class="sheetContent"> | <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> | </div> | ||||
| <van-row> | <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-row> | ||||
| </van-action-sheet> | </van-action-sheet> | ||||
| <van-list | <van-list | ||||
| @@ -96,6 +148,10 @@ export default { | |||||
| //是否滚动到底部 | //是否滚动到底部 | ||||
| finished: false, | finished: false, | ||||
| sheetShow: false, | sheetShow: false, | ||||
| showDsrlx: false, | |||||
| showAjzt: false, | |||||
| showAjzfjd: false, | |||||
| showSxtj: false, | |||||
| // 查询参数 | // 查询参数 | ||||
| queryParams: { | queryParams: { | ||||
| // 分页 | // 分页 | ||||
| @@ -116,17 +172,33 @@ export default { | |||||
| caseStatusOptions:[], | caseStatusOptions:[], | ||||
| caseProgressOptions:[], | caseProgressOptions:[], | ||||
| typeOptions:[], | typeOptions:[], | ||||
| typeColumns:[], | |||||
| caseStatusColumns:[], | |||||
| caseProgressColumns:[], | |||||
| showType : '', | |||||
| showCaseStatus : '', | |||||
| showCaseProgress : '', | |||||
| }; | }; | ||||
| }, | }, | ||||
| created() { | created() { | ||||
| this.getDicts("enforce_body_type").then(response => { | this.getDicts("enforce_body_type").then(response => { | ||||
| this.typeOptions = response.data; | 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.getDicts("case_status").then(response => { | ||||
| this.caseStatusOptions = response.data; | 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.getDicts("case_node").then(response => { | ||||
| this.caseProgressOptions = response.data; | 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: { | methods: { | ||||
| @@ -164,7 +236,50 @@ export default { | |||||
| goDetail(id){ | goDetail(id){ | ||||
| console.log(id) | console.log(id) | ||||
| window.location = 'news/newDetail?id='+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> | </script> | ||||
| @@ -181,9 +296,8 @@ export default { | |||||
| padding-bottom: 0.5rem; | padding-bottom: 0.5rem; | ||||
| } | } | ||||
| .sheetContent{ | .sheetContent{ | ||||
| padding: 10PX 1% 1rem; | |||||
| padding: 10PX 1% 0; | |||||
| margin-bottom: 0.5rem; | margin-bottom: 0.5rem; | ||||
| border-bottom: 1px solid #eeeeee; | |||||
| .sheetTitle{ | .sheetTitle{ | ||||
| font-size: 0.42rem; | font-size: 0.42rem; | ||||
| background-color: transparent; | background-color: transparent; | ||||
| @@ -1,29 +1,51 @@ | |||||
| <template> | <template> | ||||
| <div class="app-container"> | <div class="app-container"> | ||||
| <van-nav-bar | <van-nav-bar | ||||
| title="投诉回复" | |||||
| title="密码修改" | |||||
| fixed | fixed | ||||
| placeholder | placeholder | ||||
| left-arrow | left-arrow | ||||
| @click-left="onClickLeft" | @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> | </div> | ||||
| </template> | </template> | ||||
| <script> | <script> | ||||
| import { updateUserPwd } from "@/api/lawEnforcement/index"; | |||||
| export default { | export default { | ||||
| name: "index", | name: "index", | ||||
| data() { | data() { | ||||
| @@ -31,14 +53,27 @@ export default { | |||||
| active:0, | active:0, | ||||
| message:'', | message:'', | ||||
| password:'', | password:'', | ||||
| newPassword:'' | |||||
| newPassword:'', | |||||
| user: { | |||||
| oldPassword: undefined, | |||||
| newPassword: undefined, | |||||
| confirmPassword: undefined | |||||
| }, | |||||
| }; | }; | ||||
| }, | }, | ||||
| created() { | created() { | ||||
| }, | }, | ||||
| methods: { | methods: { | ||||
| submit() { | |||||
| const data = { | |||||
| oldPassword:this.user.oldPassword, | |||||
| newPassword:this.user.newPassword | |||||
| } | |||||
| updateUserPwd(data).then(response => { | |||||
| this.$notify({ type: 'success' , message: response.msg }); | |||||
| }); | |||||
| }, | |||||
| }, | }, | ||||
| }; | }; | ||||
| </script> | </script> | ||||
| @@ -9,84 +9,52 @@ | |||||
| /> | /> | ||||
| <van-tabs v-model="active" animated sticky> | <van-tabs v-model="active" animated sticky> | ||||
| <van-tab title="全部"> | <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> | ||||
| <van-tab title="未回复"> | <van-tab title="未回复"> | ||||
| 内容 | 内容 | ||||
| @@ -98,18 +66,53 @@ | |||||
| </div> | </div> | ||||
| </template> | </template> | ||||
| <script> | <script> | ||||
| import { getTopDeptId , schemeDetail,communicate } from "@/api/lawEnforcement/index"; | |||||
| export default { | export default { | ||||
| name: "index", | name: "index", | ||||
| data() { | data() { | ||||
| return { | return { | ||||
| active:0 | |||||
| active:0, | |||||
| //查询参数 | |||||
| queryParams: { | |||||
| pageNum: 1, | |||||
| pageSize: 5, | |||||
| deptId:100, | |||||
| }, | |||||
| schemeList:[], | |||||
| //是否显示加载 | |||||
| loading: false, | |||||
| //是否滚动到底部 | |||||
| finished: false, | |||||
| communicateOptions:[] | |||||
| }; | }; | ||||
| }, | }, | ||||
| created() { | created() { | ||||
| //转出方式字典 | |||||
| this.getDicts("communicate_type").then(res => { | |||||
| this.communicateOptions = res.data; | |||||
| }); | |||||
| }, | }, | ||||
| methods: { | 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> | </script> | ||||
| @@ -138,6 +141,11 @@ export default { | |||||
| } | } | ||||
| /deep/.van-cell{ | /deep/.van-cell{ | ||||
| padding: 0; | padding: 0; | ||||
| padding-bottom: 10PX; | |||||
| border-bottom: 1px solid #eee; | |||||
| } | |||||
| /deep/.van-cell::after{ | |||||
| border: none; | |||||
| } | } | ||||
| /deep/.van-row{ | /deep/.van-row{ | ||||
| margin-top: 15PX; | margin-top: 15PX; | ||||
| @@ -56,7 +56,7 @@ | |||||
| </div> | </div> | ||||
| </template> | </template> | ||||
| <script> | <script> | ||||
| import { getTopDeptId , schemeDetail } from "@/api/lawEnforcement/index"; | |||||
| import { getTopDeptId , schemeDetail,communicate } from "@/api/lawEnforcement/index"; | |||||
| export default { | export default { | ||||
| name: "index", | name: "index", | ||||
| data() { | data() { | ||||
| @@ -11,20 +11,20 @@ | |||||
| <div class="tabsBox"> | <div class="tabsBox"> | ||||
| <van-row> | <van-row> | ||||
| <van-col :span="4">类型:</van-col> | <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-row> | <van-row> | ||||
| <van-col :span="4">标题:</van-col> | <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-row> | <van-row> | ||||
| <van-col :span="4">内容:</van-col> | <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-row> | <van-row> | ||||
| <van-col :span="24"> | <van-col :span="24"> | ||||
| <van-field | <van-field | ||||
| v-model="message" | |||||
| v-model="form.reply" | |||||
| rows="5" | rows="5" | ||||
| autosize | autosize | ||||
| type="textarea" | type="textarea" | ||||
| @@ -38,19 +38,39 @@ | |||||
| </div> | </div> | ||||
| </template> | </template> | ||||
| <script> | <script> | ||||
| import { getCommunicate } from "@/api/lawEnforcement/index"; | |||||
| export default { | export default { | ||||
| name: "index", | name: "index", | ||||
| data() { | data() { | ||||
| return { | return { | ||||
| active:0, | active:0, | ||||
| message:'', | message:'', | ||||
| // 表单参数 | |||||
| form: {}, | |||||
| // 咨询分类字典 | |||||
| communicateTypeOptions: [], | |||||
| }; | }; | ||||
| }, | }, | ||||
| created() { | 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: { | methods: { | ||||
| getDetail(){ | |||||
| getCommunicate(this.$route.query.id).then(response => { | |||||
| this.form = response.data; | |||||
| this.open = true; | |||||
| this.title = "修改留言回复"; | |||||
| }); | |||||
| } | |||||
| }, | }, | ||||
| }; | }; | ||||
| </script> | </script> | ||||
| @@ -60,6 +80,9 @@ export default { | |||||
| font-family: SourceHanSansCNBold; | font-family: SourceHanSansCNBold; | ||||
| src: url("../../../assets/fonts/SourceHanSansCN-Bold.otf"); | src: url("../../../assets/fonts/SourceHanSansCN-Bold.otf"); | ||||
| } | } | ||||
| .app-container{ | |||||
| padding: 2%; | |||||
| } | |||||
| /deep/ .van-tabs__line{ | /deep/ .van-tabs__line{ | ||||
| background-color: #1D6FE9; | background-color: #1D6FE9; | ||||
| } | } | ||||
| @@ -3,7 +3,7 @@ | |||||
| <van-nav-bar fixed placeholder > | <van-nav-bar fixed placeholder > | ||||
| <template #title> | <template #title> | ||||
| <van-image src="../../../static/images/lawEnforcement/logo.png" width="30" height="30" /> | <van-image src="../../../static/images/lawEnforcement/logo.png" width="30" height="30" /> | ||||
| <p style="">农业综合执法公众平台</p> | |||||
| <p style="">农业综合行政执法公众平台</p> | |||||
| </template> | </template> | ||||
| </van-nav-bar> | </van-nav-bar> | ||||
| @@ -2,7 +2,7 @@ | |||||
| <div class="app-container"> | <div class="app-container"> | ||||
| <div class="title"> | <div class="title"> | ||||
| <img style="display: inline-block;margin-right: 10px;" src="../../../static/images/lawEnforcement/login_logo.png" alt=""> | <img style="display: inline-block;margin-right: 10px;" src="../../../static/images/lawEnforcement/login_logo.png" alt=""> | ||||
| <p>农业综合执法公众平台</p> | |||||
| <p>农业综合行政执法公众平台</p> | |||||
| </div> | </div> | ||||
| <van-form style="width: 88%;margin: 0 auto;margin-top: 50px;" v-if="!showMessage"> | <van-form style="width: 88%;margin: 0 auto;margin-top: 50px;" v-if="!showMessage"> | ||||
| <van-field | <van-field | ||||
| @@ -80,7 +80,7 @@ | |||||
| margin: 0 auto; | margin: 0 auto; | ||||
| text-align: center; | text-align: center; | ||||
| p{ | p{ | ||||
| font-size: 1rem; | |||||
| font-size: 0.95rem; | |||||
| color: #1D6FE9; | color: #1D6FE9; | ||||
| font-family: zqkhyt; | font-family: zqkhyt; | ||||
| margin-top: 10PX; | margin-top: 10PX; | ||||
| @@ -4,8 +4,9 @@ | |||||
| <div style="display: flex;padding: 0 3% 0.2rem;"> | <div style="display: flex;padding: 0 3% 0.2rem;"> | ||||
| <form action="#" style="flex: 0.75;"> | <form action="#" style="flex: 0.75;"> | ||||
| <van-search | <van-search | ||||
| v-model="value" | |||||
| placeholder="请输入搜索关键词" | |||||
| v-model="queryParams.productName" | |||||
| placeholder="请输入农用品名称" | |||||
| @input="handleQuery" | |||||
| > | > | ||||
| </van-search> | </van-search> | ||||
| </form> | </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-icon name="../../../static/images/lawEnforcement/icon/icon_ssbt.png" size="17" style="vertical-align: middle;margin-right: 5px;" />筛选 | ||||
| </van-button> | </van-button> | ||||
| </div> | </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-row> | ||||
| <van-action-sheet v-model="sheetShow" title="筛选" duration="0.2" close-icon="arrow-down"> | <van-action-sheet v-model="sheetShow" title="筛选" duration="0.2" close-icon="arrow-down"> | ||||
| <div class="sheetContent"> | <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> | </div> | ||||
| <van-row> | <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-row> | ||||
| </van-action-sheet> | </van-action-sheet> | ||||
| <van-list | <van-list | ||||
| @@ -99,19 +104,52 @@ export default { | |||||
| //是否滚动到底部 | //是否滚动到底部 | ||||
| finished: false, | finished: false, | ||||
| sheetShow: false, | sheetShow: false, | ||||
| showNyplx: false, | |||||
| showNypzl: false, | |||||
| showSxtj: false, | |||||
| //查询参数 | //查询参数 | ||||
| queryParams: { | queryParams: { | ||||
| // 分页 | |||||
| pageNum: 1, | pageNum: 1, | ||||
| pageSize: 5, | |||||
| pageSize: 10, | |||||
| deptId:100, | deptId:100, | ||||
| // 查询排序 | |||||
| orderByColumn: "id", | |||||
| isAsc: "desc", | |||||
| productType: null, | |||||
| recordCode: null, | |||||
| productName: null, | |||||
| category: null, | |||||
| agent: null, | |||||
| checkStatus:"1", | |||||
| }, | }, | ||||
| //新闻集合 | //新闻集合 | ||||
| newList:[], | newList:[], | ||||
| //轮播图集合 | //轮播图集合 | ||||
| bannerList:'' | |||||
| bannerList:'', | |||||
| productTypeOptions:[], | |||||
| categoryOptions:[], | |||||
| typeColumns:[], | |||||
| productTypeColumns:[], | |||||
| categoryColumns:[], | |||||
| showProductType : '', | |||||
| showCategory : '', | |||||
| }; | }; | ||||
| }, | }, | ||||
| created() { | 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(); | this.getDeptId(); | ||||
| }, | }, | ||||
| methods: { | methods: { | ||||
| @@ -123,7 +161,6 @@ export default { | |||||
| }, | }, | ||||
| getList(){ | getList(){ | ||||
| this.loading = true; | this.loading = true; | ||||
| productList(this.queryParams).then(response => { | productList(this.queryParams).then(response => { | ||||
| this.newList = response.rows; | this.newList = response.rows; | ||||
| if(this.newList.length >= response.total){ | if(this.newList.length >= response.total){ | ||||
| @@ -134,6 +171,46 @@ export default { | |||||
| this.loading = false; | 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> | </script> | ||||
| @@ -2,13 +2,13 @@ | |||||
| <div class="app-container"> | <div class="app-container"> | ||||
| <div class="topBackground"> | <div class="topBackground"> | ||||
| <van-nav-bar title="我的" fixed placeholder/> | <van-nav-bar title="我的" fixed placeholder/> | ||||
| <van-row class="userInformation"> | |||||
| <van-row class="userInformation" v-if="user"> | |||||
| <van-col :span="6"> | <van-col :span="6"> | ||||
| <van-image src="../../../../static/images/lawEnforcement/12.jpg" class="headImg" /> | <van-image src="../../../../static/images/lawEnforcement/12.jpg" class="headImg" /> | ||||
| </van-col> | </van-col> | ||||
| <van-col :span="12"> | <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> | ||||
| <van-col :span="6" align="right"> | <van-col :span="6" align="right"> | ||||
| <van-icon name="arrow" size="20" color="#FFF" style="line-height: 1.7rem;" /> | <van-icon name="arrow" size="20" color="#FFF" style="line-height: 1.7rem;" /> | ||||
| @@ -54,23 +54,40 @@ | |||||
| </div> | </div> | ||||
| </template> | </template> | ||||
| <script> | <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"; | import law from "@/components/common/law_footer"; | ||||
| export default { | export default { | ||||
| name: "index", | |||||
| name: "user", | |||||
| components: { | components: { | ||||
| law | law | ||||
| }, | }, | ||||
| data() { | data() { | ||||
| return { | return { | ||||
| user: { | |||||
| dept:{} | |||||
| }, | |||||
| roleGroup: {}, | |||||
| postGroup: {}, | |||||
| activeTab: "userinfo" | |||||
| }; | }; | ||||
| }, | }, | ||||
| created() { | created() { | ||||
| this.getUser(); | |||||
| }, | }, | ||||
| methods: { | 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> | </script> | ||||
| @@ -104,12 +121,12 @@ export default { | |||||
| overflow: hidden; | overflow: hidden; | ||||
| } | } | ||||
| .userName{ | .userName{ | ||||
| font-size: 20PX; | |||||
| font-size: 0.55rem; | |||||
| color: #FFFFFF; | color: #FFFFFF; | ||||
| line-height: 0.85rem; | line-height: 0.85rem; | ||||
| } | } | ||||
| .userDept{ | .userDept{ | ||||
| font-size: 14PX; | |||||
| font-size: 0.4rem; | |||||
| color: #FFFFFF; | color: #FFFFFF; | ||||
| line-height: 0.85rem; | line-height: 0.85rem; | ||||
| } | } | ||||