| @@ -225,3 +225,47 @@ export function getCommunicate(id) { | |||
| method: 'get' | |||
| }) | |||
| } | |||
| // 修改举报留言 | |||
| export function updateCommunicate(data) { | |||
| return request({ | |||
| url: '/enforce/communicate/edit', | |||
| method: 'post', | |||
| data: data | |||
| }) | |||
| } | |||
| // 查询方案管理列表 | |||
| export function listScheme(query) { | |||
| return request({ | |||
| url: '/enforce/scheme/list', | |||
| method: 'get', | |||
| params: query | |||
| }) | |||
| } | |||
| // 查询方案管理详细 | |||
| export function getScheme(id) { | |||
| return request({ | |||
| url: '/enforce/scheme/get/' + id, | |||
| method: 'get' | |||
| }) | |||
| } | |||
| // 修改方案管理 | |||
| export function updateScheme(data) { | |||
| return request({ | |||
| url: '/enforce/scheme/edit', | |||
| method: 'post', | |||
| data: data | |||
| }) | |||
| } | |||
| // 待办事项列表 | |||
| export function processTaskList(query) { | |||
| return request({ | |||
| url: '/activiti/process/taskList', | |||
| method: 'get', | |||
| params: query | |||
| }) | |||
| } | |||
| @@ -58,6 +58,7 @@ const whiteList = [ | |||
| '/lawEnforcement/login', | |||
| '/lawEnforcement/indexComplaint', | |||
| '/lawEnforcement/schemeDetail', | |||
| '/lawEnforcement/waitingProcessing', | |||
| ] | |||
| router.beforeEach((to, from, next) => { | |||
| @@ -1635,6 +1635,15 @@ export const constantRoutes = [ | |||
| }, | |||
| component: (resolve) => require(['@/views/lawEnforcement/scheme/schemeDetail'], resolve) | |||
| }, | |||
| { | |||
| path: '/lawEnforcement/waitingProcessing', | |||
| name: 'waitingProcessing', | |||
| meta: { | |||
| title: '待办事项', | |||
| hidden: true, | |||
| }, | |||
| component: (resolve) => require(['@/views/lawEnforcement/user/waitingProcessing'], resolve) | |||
| }, | |||
| ]; | |||
| @@ -7,13 +7,18 @@ | |||
| left-arrow | |||
| @click-left="onClickLeft" | |||
| /> | |||
| <van-tabs type="card" :duration="0.2" animated background="transparent"> | |||
| <van-tabs type="card" :duration="0.2" animated background="transparent" v-model="caseProgress"> | |||
| <!-- 登记--> | |||
| <van-tab> | |||
| <van-tab :disabled="0 <= caseActive ? false : true"> | |||
| <template #title> | |||
| <div class="finish"> | |||
| <div | |||
| :class="{ finish: 1 <= caseActive , notStarted: 1 > caseActive , ongoing: 0 == caseActive }" | |||
| > | |||
| <p>登记</p> | |||
| <p><van-icon name="success" /></p> | |||
| <p> | |||
| <van-icon name="success" v-if="1 <= caseActive"/> | |||
| <van-icon name="circle" v-if="caseActive == 0"/> | |||
| </p> | |||
| </div> | |||
| </template> | |||
| <div class="main_box"> | |||
| @@ -76,11 +81,16 @@ | |||
| </div> | |||
| </van-tab> | |||
| <!-- 勘察--> | |||
| <van-tab> | |||
| <van-tab :disabled="1 <= caseActive ? false : true"> | |||
| <template #title> | |||
| <div class="finish"> | |||
| <div | |||
| :class="{ finish: 2 <= caseActive , notStarted: 2 > caseActive , ongoing: 1 == caseActive }" | |||
| > | |||
| <p>勘察</p> | |||
| <p><van-icon name="success" /></p> | |||
| <p> | |||
| <van-icon name="success" v-if="2 <= caseActive"/> | |||
| <van-icon name="circle" v-if="caseActive == 1"/> | |||
| </p> | |||
| </div> | |||
| </template> | |||
| <div class="main_box"> | |||
| @@ -150,7 +160,7 @@ | |||
| <van-cell title="工作单位" v-model="surveyForm.workCompany" /> | |||
| <van-cell title="职务" v-model="surveyForm.workPosition" /> | |||
| <van-cell title="住址" v-model="surveyForm.address" /> | |||
| <van-cell title="询问问题" v-model="surveyForm.question" /> | |||
| <van-cell title="询问问题" :label="surveyForm.question" /> | |||
| <van-cell title="被询问人员证件是否清楚" v-model="surveyForm.isClear == 'Y' ? '是' : '否'" /> | |||
| <van-cell title="是否申请调查人员回避" v-model="surveyForm.isAvoid == 'Y' ? '是' : '否'" /> | |||
| <van-cell title="被询问人回答内容" :label="surveyForm.answer" /> | |||
| @@ -202,7 +212,7 @@ | |||
| </div> | |||
| </van-col> | |||
| <van-col :span="20"> | |||
| <van-cell :title="item.activityName" center :to="{name:'programmeDetail'}"> | |||
| <van-cell :title="item.activityName" center> | |||
| <template #label> | |||
| <p>{{ item.endTime }}</p> | |||
| </template> | |||
| @@ -222,13 +232,39 @@ | |||
| </van-col> | |||
| </van-row> | |||
| </div> | |||
| <div class="main_box examine_box" v-if="caseActive == 1 && type == 'waiting'"> | |||
| <van-row type="flex" justify="space-between" align="center"> | |||
| <van-col span="5">审批<br/>意见</van-col> | |||
| <van-col span="19"> | |||
| <van-radio-group v-model="pass" direction="horizontal"> | |||
| <van-radio name="true">同意</van-radio> | |||
| <van-radio name="false">驳回</van-radio> | |||
| </van-radio-group> | |||
| <van-field rows="2" autosize v-model="comment" type="textarea" placeholder="审批意见"/> | |||
| </van-col> | |||
| </van-row> | |||
| </div> | |||
| <div style="margin: 16px 2%;" v-if="caseActive == 1 && type == 'waiting'"> | |||
| <van-row> | |||
| <van-col span="24" align="center"> | |||
| <van-button type="info" native-type="submit" @click="submitCase" class="submitButtonActive">提交</van-button> | |||
| </van-col> | |||
| </van-row> | |||
| <div class="clear"></div> | |||
| </div> | |||
| </van-tab> | |||
| <!-- 立案--> | |||
| <van-tab> | |||
| <van-tab :disabled="2 <= caseActive ? false : true"> | |||
| <template #title> | |||
| <div class="finish"> | |||
| <div | |||
| :class="{ finish: 3 <= caseActive , notStarted: 3 > caseActive , ongoing: 2 == caseActive }" | |||
| > | |||
| <p>立案</p> | |||
| <p><van-icon name="success" /></p> | |||
| <p> | |||
| <van-icon name="success" v-if="3 <= caseActive"/> | |||
| <van-icon name="circle" v-if="caseActive == 2"/> | |||
| </p> | |||
| </div> | |||
| </template> | |||
| <div class="main_box"> | |||
| @@ -391,11 +427,16 @@ | |||
| </div> | |||
| </van-tab> | |||
| <!-- 取证--> | |||
| <van-tab> | |||
| <van-tab :disabled="3 <= caseActive ? false : true"> | |||
| <template #title> | |||
| <div class="ongoing"> | |||
| <div | |||
| :class="{ finish: 4 <= caseActive , notStarted: 4 > caseActive , ongoing: 3 == caseActive }" | |||
| > | |||
| <p>取证</p> | |||
| <p><van-icon name="circle" /></p> | |||
| <p> | |||
| <van-icon name="success" v-if="4 <= caseActive"/> | |||
| <van-icon name="circle" v-if="caseActive == 3"/> | |||
| </p> | |||
| </div> | |||
| </template> | |||
| <div class="main_box"> | |||
| @@ -490,7 +531,7 @@ | |||
| </div> | |||
| </van-col> | |||
| <van-col :span="20"> | |||
| <van-cell :title="item.activityName" center :to="{name:'programmeDetail'}"> | |||
| <van-cell :title="item.activityName" center> | |||
| <template #label> | |||
| <p>{{ item.endTime }}</p> | |||
| </template> | |||
| @@ -510,13 +551,39 @@ | |||
| </van-col> | |||
| </van-row> | |||
| </div> | |||
| <div class="main_box examine_box" v-if="caseActive == 3 && type == 'waiting'"> | |||
| <van-row type="flex" justify="space-between" align="center"> | |||
| <van-col span="5">审批<br/>意见</van-col> | |||
| <van-col span="19"> | |||
| <van-radio-group v-model="pass" direction="horizontal"> | |||
| <van-radio name="true">同意</van-radio> | |||
| <van-radio name="false">驳回</van-radio> | |||
| </van-radio-group> | |||
| <van-field rows="2" autosize v-model="comment" type="textarea" placeholder="审批意见"/> | |||
| </van-col> | |||
| </van-row> | |||
| </div> | |||
| <div style="margin: 16px 2%;" v-if="caseActive == 3 && type == 'waiting'"> | |||
| <van-row> | |||
| <van-col span="24" align="center"> | |||
| <van-button type="info" native-type="submit" @click="submitEvidence" class="submitButtonActive">提交</van-button> | |||
| </van-col> | |||
| </van-row> | |||
| <div class="clear"></div> | |||
| </div> | |||
| </van-tab> | |||
| <!-- 处理--> | |||
| <van-tab> | |||
| <van-tab :disabled="4 <= caseActive ? false : true"> | |||
| <template #title> | |||
| <div class="notStarted"> | |||
| <div | |||
| :class="{ finish: 5 <= caseActive , notStarted: 5 > caseActive , ongoing: 4 == caseActive }" | |||
| > | |||
| <p>处理</p> | |||
| <p><van-icon name="success" /></p> | |||
| <p> | |||
| <van-icon name="success" v-if="5 <= caseActive"/> | |||
| <van-icon name="circle" v-if="caseActive == 4"/> | |||
| </p> | |||
| </div> | |||
| </template> | |||
| <div class="main_box"> | |||
| @@ -623,7 +690,7 @@ | |||
| </div> | |||
| </van-col> | |||
| <van-col :span="20"> | |||
| <van-cell :title="item.activityName" center :to="{name:'programmeDetail'}"> | |||
| <van-cell :title="item.activityName" center> | |||
| <template #label> | |||
| <p>{{ item.endTime }}</p> | |||
| </template> | |||
| @@ -643,13 +710,39 @@ | |||
| </van-col> | |||
| </van-row> | |||
| </div> | |||
| <div class="main_box examine_box" v-if="caseActive == 4 && type == 'waiting'"> | |||
| <van-row type="flex" justify="space-between" align="center"> | |||
| <van-col span="5">审批<br/>意见</van-col> | |||
| <van-col span="19"> | |||
| <van-radio-group v-model="pass" direction="horizontal"> | |||
| <van-radio name="true">同意</van-radio> | |||
| <van-radio name="false">驳回</van-radio> | |||
| </van-radio-group> | |||
| <van-field rows="2" autosize v-model="comment" type="textarea" placeholder="审批意见"/> | |||
| </van-col> | |||
| </van-row> | |||
| </div> | |||
| <div style="margin: 16px 2%;" v-if="caseActive == 4 && type == 'waiting'"> | |||
| <van-row> | |||
| <van-col span="24" align="center"> | |||
| <van-button type="info" native-type="submit" @click="submitTreat" class="submitButtonActive">提交</van-button> | |||
| </van-col> | |||
| </van-row> | |||
| <div class="clear"></div> | |||
| </div> | |||
| </van-tab> | |||
| <!-- 裁决--> | |||
| <van-tab> | |||
| <van-tab :disabled="5 <= caseActive ? false : true"> | |||
| <template #title> | |||
| <div class="notStarted"> | |||
| <div | |||
| :class="{ finish: 6 <= caseActive , notStarted: 6 > caseActive , ongoing: 5 == caseActive }" | |||
| > | |||
| <p>裁决</p> | |||
| <p><van-icon name="success" /></p> | |||
| <p> | |||
| <van-icon name="success" v-if="6 <= caseActive"/> | |||
| <van-icon name="circle" v-if="caseActive == 5"/> | |||
| </p> | |||
| </div> | |||
| </template> | |||
| <div class="main_box"> | |||
| @@ -738,11 +831,16 @@ | |||
| </div> | |||
| </van-tab> | |||
| <!-- 执行--> | |||
| <van-tab> | |||
| <van-tab :disabled="6 <= caseActive ? false : true"> | |||
| <template #title> | |||
| <div class="notStarted"> | |||
| <div | |||
| :class="{ finish: 7 <= caseActive , notStarted: 7 > caseActive , ongoing: 6 == caseActive }" | |||
| > | |||
| <p>执行</p> | |||
| <p><van-icon name="success" /></p> | |||
| <p> | |||
| <van-icon name="success" v-if="7 <= caseActive"/> | |||
| <van-icon name="circle" v-if="caseActive == 6"/> | |||
| </p> | |||
| </div> | |||
| </template> | |||
| <div class="main_box"> | |||
| @@ -801,11 +899,16 @@ | |||
| </div> | |||
| </van-tab> | |||
| <!-- 结案--> | |||
| <van-tab> | |||
| <van-tab :disabled="7 <= caseActive ? false : true"> | |||
| <template #title> | |||
| <div class="notStarted"> | |||
| <div | |||
| :class="{ finish: 8 <= caseActive , notStarted: 8 > caseActive , ongoing: 7 == caseActive }" | |||
| > | |||
| <p>结案</p> | |||
| <p><van-icon name="success" /></p> | |||
| <p> | |||
| <van-icon name="success" v-if="8 <= caseActive"/> | |||
| <van-icon name="circle" v-if="caseActive == 7"/> | |||
| </p> | |||
| </div> | |||
| </template> | |||
| <div class="main_box"> | |||
| @@ -904,10 +1007,16 @@ export default { | |||
| showPayeeType:false, | |||
| showPicker:false, | |||
| form:{}, | |||
| caseProgress:0, | |||
| caseActive:0, | |||
| bankType:'', | |||
| payeeType:'', | |||
| value:'', | |||
| type:'', | |||
| pass: "true", | |||
| comment: "同意", | |||
| bankTypeOptions:[], | |||
| payeeTypeOptions:[], | |||
| @@ -1156,7 +1265,7 @@ export default { | |||
| // 办理人员列表 | |||
| tEnforceCaseHandlerList: [], | |||
| tEnforcePutRecordHandlerList: [], | |||
| tEnforceSamplingGoodsList: [{}], | |||
| tEnforceSamplingGoodsList: [], | |||
| tEnforceDetainHandlerList: [], | |||
| tEnforceEvidenceHandlerList: [], | |||
| tEnforceTreatHandlerList: [], | |||
| @@ -1180,6 +1289,15 @@ export default { | |||
| }; | |||
| }, | |||
| created() { | |||
| if (parseInt(this.$route.query.caseProgress)>7){ | |||
| this.caseProgress = 7; | |||
| this.caseActive = 7 ; | |||
| }else{ | |||
| this.caseProgress = parseInt(this.$route.query.caseProgress)-1; | |||
| this.caseActive = parseInt(this.$route.query.caseProgress)-1 ; | |||
| } | |||
| this.type = this.$route.query.type; | |||
| console.log(this.caseProgress) | |||
| this.getDicts("case_source").then(response => { | |||
| this.caseSourceOptions = response.data; | |||
| }); | |||
| @@ -1213,12 +1331,82 @@ export default { | |||
| this.schemeOptions = response.data; | |||
| this.getInformation(); | |||
| }); | |||
| // treeselect().then((response) => { | |||
| // this.deptOptions = response.data; | |||
| // }); | |||
| }, | |||
| methods: { | |||
| /** 保存审批意见提交 */ | |||
| submitCase() { | |||
| const data = { | |||
| taskId: this.surveyForm.taskId, | |||
| instanceId: this.surveyForm.instanceId, | |||
| variables: JSON.stringify({ | |||
| comment: this.comment, | |||
| pass: this.pass, | |||
| //"formData": this.row, | |||
| }), | |||
| }; | |||
| return request({ | |||
| url: "/activiti/process/complete", | |||
| method: "post", | |||
| params: data, | |||
| }).then((response) => { | |||
| if (response.code == 200 && response.msg == "操作成功") { | |||
| this.$notify({ type: 'success' , message: "操作成功" }); | |||
| } else { | |||
| this.$notify({ type: 'danger' , message: "操作失败" }); | |||
| } | |||
| }); | |||
| }, | |||
| /** 保存审批意见提交 */ | |||
| submitEvidence() { | |||
| const data = { | |||
| taskId: this.evidenceForm.taskId, | |||
| instanceId: this.evidenceForm.instanceId, | |||
| variables: JSON.stringify({ | |||
| comment: this.comment, | |||
| pass: this.pass, | |||
| //"formData": this.row, | |||
| }), | |||
| }; | |||
| return request({ | |||
| url: "/activiti/process/complete", | |||
| method: "post", | |||
| params: data, | |||
| }).then((response) => { | |||
| if (response.code == 200 && response.msg == "操作成功") { | |||
| this.$notify({ type: 'success' , message: "操作成功" }); | |||
| } else { | |||
| this.$notify({ type: 'danger' , message: "操作失败" }); | |||
| } | |||
| }); | |||
| }, | |||
| /** 保存审批意见提交 */ | |||
| submitTreat() { | |||
| const data = { | |||
| taskId: this.treatForm.taskId, | |||
| instanceId: this.treatForm.instanceId, | |||
| variables: JSON.stringify({ | |||
| comment: this.comment, | |||
| pass: this.pass, | |||
| //"formData": this.row, | |||
| }), | |||
| }; | |||
| return request({ | |||
| url: "/activiti/process/complete", | |||
| method: "post", | |||
| params: data, | |||
| }).then((response) => { | |||
| if (response.code == 200 && response.msg == "操作成功") { | |||
| this.$notify({ type: 'success' , message: "操作成功" }); | |||
| } else { | |||
| this.$notify({ type: 'danger' , message: "操作失败" }); | |||
| } | |||
| }); | |||
| }, | |||
| getInformation(){ | |||
| getCase(this.$route.query.id).then(response => { | |||
| response.data.caseSource = this.selectDictLabel(this.caseSourceOptions, response.data.caseSource); | |||
| @@ -1228,13 +1416,37 @@ export default { | |||
| response.data.nation = this.selectDictLabel(this.nationOptions, response.data.nation); | |||
| // response.data.deptId = this.selectDictDeptId(this.deptOptions, response.data.deptId); | |||
| this.form = response.data; | |||
| this.caseSurvey(); | |||
| this.getEvidenceCase(); | |||
| this.getTreat(); | |||
| this.getDecision(); | |||
| this.getExecuteCase(); | |||
| this.getEndingForm(); | |||
| this.progressSpeed(); | |||
| console.log(this.caseActive) | |||
| if(this.caseActive >= 1){//勘察 | |||
| console.log("勘察") | |||
| this.caseSurvey(); | |||
| } | |||
| if(this.caseActive >= 2){// 立案 | |||
| console.log("立案") | |||
| this.getFileCase(); | |||
| } | |||
| if(this.caseActive >= 3){//取证 | |||
| console.log("取证") | |||
| this.getEvidenceCase(); | |||
| } | |||
| if(this.caseActive >= 4){ // 处理 | |||
| console.log("处理") | |||
| this.getTreat(); | |||
| } | |||
| if(this.caseActive >= 5){// 裁决 | |||
| console.log("裁决") | |||
| this.getDecision(); | |||
| } | |||
| if(this.caseActive >= 6){// 执行 | |||
| console.log("执行") | |||
| this.getExecuteCase(); | |||
| } | |||
| if(this.caseActive >= 7){// 结案 | |||
| console.log("结案") | |||
| this.getEndingForm(); | |||
| } | |||
| }); | |||
| }, | |||
| //勘察表单查询 | |||
| @@ -1244,6 +1456,7 @@ export default { | |||
| if (this.form.id != null && this.form.id != "") { | |||
| this.surveyForm.caseId = this.form.id; | |||
| getSurveyByCaseId(this.form.id).then(responseSurvey => { | |||
| console.log(responseSurvey) | |||
| if (responseSurvey.data != undefined) { | |||
| _this.surveyForm = responseSurvey.data; | |||
| _this.instanceId = responseSurvey.data.instanceId; | |||
| @@ -1255,7 +1468,7 @@ export default { | |||
| _this.surveyForm.schemeId = this.form.schemeId; | |||
| // 查询审批历史记录 | |||
| _this.getHistoryList(_this.surveyForm,''); | |||
| _this.getFileCase(); | |||
| }); | |||
| } | |||
| }, | |||
| @@ -1604,6 +1817,35 @@ export default { | |||
| .app-container { | |||
| padding: 0; | |||
| } | |||
| .examine_box{ | |||
| background-color: #1D6FE9!important; | |||
| padding: 0.18rem!important; | |||
| padding-left: 0!important; | |||
| border-radius: 0.15rem!important; | |||
| margin-top: 0.3rem!important; | |||
| } | |||
| .examine_box .van-col:first-child{ | |||
| color: #FFF!important; | |||
| font-size: 0.45rem!important; | |||
| text-align: center!important; | |||
| } | |||
| .examine_box .van-col:last-child{ | |||
| background-color: #FFF!important; | |||
| border-radius: 0.15rem!important; | |||
| overflow: hidden!important; | |||
| .van-radio-group--horizontal{ | |||
| padding: 0.2rem 0; | |||
| border-bottom: 1px solid #eee; | |||
| } | |||
| } | |||
| /deep/.van-radio--horizontal{ | |||
| margin-left: 20px; | |||
| margin-right: 0; | |||
| } | |||
| .submitButtonActive{ | |||
| width: 100%; | |||
| margin: 0 auto; | |||
| } | |||
| .van-uploader { | |||
| padding: 15PX; | |||
| } | |||
| @@ -114,7 +114,7 @@ | |||
| @load="getList" | |||
| > | |||
| <van-swipe-cell v-for="(item,index) in caseList" :key="index"> | |||
| <van-cell :title="item.caseName" :value="22222" center :to="{name:'caseDetail',query:{id:item.id}}"> | |||
| <van-cell :title="item.caseName" :value="22222" center :to="{name:'caseDetail',query:{id:item.id,caseProgress:item.caseProgress}}"> | |||
| <template #icon> | |||
| <van-icon name="../../../static/images/lawEnforcement/icon/icon_aj.png" size="30" color="#539FFD" style="margin-right: 10px;" /> | |||
| </template> | |||
| @@ -123,7 +123,7 @@ | |||
| </template> | |||
| <template #default> | |||
| <p>{{item.caseStatus}}</p> | |||
| <p style="color: #1D6FE9;">{{item.caseProgress}}</p> | |||
| <p style="color: #1D6FE9;">{{selectDictLabel(caseProgressOptions, item.caseProgress)}}</p> | |||
| </template> | |||
| </van-cell> | |||
| </van-swipe-cell> | |||
| @@ -207,7 +207,6 @@ export default { | |||
| listCase(this.queryParams).then(response => { | |||
| for (var i = 0; i < response.rows.length; i++) { | |||
| response.rows[i].caseStatus = this.selectDictLabel(this.caseStatusOptions, response.rows[i].caseStatus); | |||
| response.rows[i].caseProgress = this.selectDictLabel(this.caseProgressOptions, response.rows[i].caseProgress); | |||
| this.caseList.push(response.rows[i]) | |||
| } | |||
| if(this.caseList.length >= response.total){ | |||
| @@ -57,10 +57,100 @@ | |||
| </van-list> | |||
| </van-tab> | |||
| <van-tab title="未回复"> | |||
| 内容 | |||
| <van-list | |||
| v-model="loading" | |||
| :finished="finished" | |||
| finished-text="没有更多了" | |||
| @load="getNewList" | |||
| > | |||
| <div class="tabsBox" v-for="(item,index) in schemeList" v-if="!item.replyTime" :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="已回复"> | |||
| 内容 | |||
| <van-list | |||
| v-model="loading" | |||
| :finished="finished" | |||
| finished-text="没有更多了" | |||
| @load="getNewList" | |||
| > | |||
| <div class="tabsBox" v-for="(item,index) in schemeList" v-if="item.replyTime" :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-tabs> | |||
| </div> | |||
| @@ -7,11 +7,12 @@ | |||
| left-arrow | |||
| right-text="发布" | |||
| @click-left="onClickLeft" | |||
| @click-right="submitForm" | |||
| /> | |||
| <div class="tabsBox"> | |||
| <van-row> | |||
| <van-col :span="4">类型:</van-col> | |||
| <van-col :span="20">{{form.communicateType}}</van-col> | |||
| <van-col :span="20">{{form.communicateTypeShow}}</van-col> | |||
| </van-row> | |||
| <van-row> | |||
| <van-col :span="4">标题:</van-col> | |||
| @@ -30,7 +31,7 @@ | |||
| type="textarea" | |||
| placeholder="请输入留言" | |||
| show-word-limit | |||
| style="border-top: 1px solid #eeeeee;padding-top: 10PX" | |||
| style="border-top: 1px solid #eeeeee;border-bottom: 1px solid #eeeeee;padding-top: 10PX" | |||
| /> | |||
| </van-col> | |||
| </van-row> | |||
| @@ -38,7 +39,7 @@ | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import { getCommunicate } from "@/api/lawEnforcement/index"; | |||
| import { getCommunicate , updateCommunicate , getUserProfile } from "@/api/lawEnforcement/index"; | |||
| export default { | |||
| name: "index", | |||
| data() { | |||
| @@ -66,11 +67,29 @@ export default { | |||
| methods: { | |||
| getDetail(){ | |||
| getCommunicate(this.$route.query.id).then(response => { | |||
| response.data.communicateTypeShow = this.selectDictLabel(this.communicateTypeOptions,response.data.communicateType) | |||
| this.form = response.data; | |||
| this.open = true; | |||
| this.title = "修改留言回复"; | |||
| }); | |||
| } | |||
| }, | |||
| /** 提交按钮 */ | |||
| submitForm() { | |||
| if (this.form.reply != '') { | |||
| this.diglogStatus = false; | |||
| if (this.form.id != null) { | |||
| getUserProfile().then(response => { | |||
| this.form.replyName = response.data.nickName | |||
| updateCommunicate(this.form).then(response => { | |||
| this.$notify({ type: 'success' , message: response.msg }); | |||
| setTimeout(function(){ | |||
| history.go(-1); | |||
| },1000) | |||
| }); | |||
| }); | |||
| } | |||
| } | |||
| }, | |||
| }, | |||
| }; | |||
| </script> | |||
| @@ -105,6 +124,9 @@ export default { | |||
| } | |||
| /deep/.van-row{ | |||
| margin-top: 15PX; | |||
| &:first-child{ | |||
| margin-top: 0; | |||
| } | |||
| .van-col{ | |||
| font-size: 0.4rem; | |||
| } | |||
| @@ -35,35 +35,7 @@ | |||
| </van-tab> | |||
| </van-tabs> | |||
| <van-cell-group class="listBox"> | |||
| <van-cell value="全部" is-link> | |||
| <template #title> | |||
| <van-icon name="../../../static/images/lawEnforcement/icon/icon_db.png" size="20"></van-icon> | |||
| <span class="custom-title">待办事项<i class="bgBlue"></i></span> | |||
| </template> | |||
| </van-cell> | |||
| <van-cell value="2021.11.12"> | |||
| <template #title> | |||
| <span class="tap">案件</span> | |||
| <span>标题标题标题标题标</span> | |||
| </template> | |||
| </van-cell> | |||
| <van-cell value="2021.11.12"> | |||
| <template #title> | |||
| <span class="tap">案件</span> | |||
| <span>标题标题标题标题标</span> | |||
| </template> | |||
| </van-cell> | |||
| <van-cell value="2021.11.12"> | |||
| <template #title> | |||
| <span class="tap">案件</span> | |||
| <span>标题标题标题标题标</span> | |||
| </template> | |||
| </van-cell> | |||
| </van-cell-group> | |||
| <van-cell-group class="listBox"> | |||
| <van-cell value="全部" is-link :to="{name:'work',query:{type:'scheme'}}"> | |||
| @@ -89,6 +61,7 @@ | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import request from "@/utils/request"; | |||
| import { getTopDeptId , news , scheme , communicate } from "@/api/lawEnforcement/index"; | |||
| import law from "@/components/common/law_footer"; | |||
| export default { | |||
| @@ -109,6 +82,14 @@ export default { | |||
| deptId:100, | |||
| number:2 | |||
| }, | |||
| // 查询参数 | |||
| queryParamsTask: { | |||
| pageNum: 1, | |||
| pageSize: 10, | |||
| taskId: null, | |||
| taskName: null, | |||
| systemType: 26, | |||
| }, | |||
| //新闻集合 | |||
| newList:[], | |||
| //轮播图集合 | |||
| @@ -129,19 +110,26 @@ export default { | |||
| schemeList:[], | |||
| //投诉建议 | |||
| communicateList:[], | |||
| taskList:[], | |||
| }; | |||
| }, | |||
| created() { | |||
| this.getDeptId(); | |||
| }, | |||
| watch: { | |||
| setUpModule: function (newVal, oldVal) { | |||
| this.setUpModuleId = newVal; | |||
| }, | |||
| }, | |||
| methods: { | |||
| getDeptId(){ | |||
| getTopDeptId().then(response => { | |||
| this.getNewList(response.data); | |||
| this.getTaskList(); | |||
| }) | |||
| }, | |||
| getNewList(deptId){ | |||
| news('003',deptId,3).then(response => { | |||
| news('003',deptId,8).then(response => { | |||
| this.workList = response.data; | |||
| for (var i = 0; i < response.data.length; i++) { | |||
| var imgStrs = response.data[i].content.match(/<img.*?>/g); | |||
| @@ -153,10 +141,10 @@ export default { | |||
| console.log(this.workImgList) | |||
| } | |||
| }); | |||
| news('001',deptId,3).then(response => { | |||
| news('001',deptId,8).then(response => { | |||
| this.noticeList = response.data; | |||
| }); | |||
| news('002',deptId,3).then(response => { | |||
| news('002',deptId,8).then(response => { | |||
| this.enforcementList = response.data; | |||
| }); | |||
| scheme(deptId,4).then(response => { | |||
| @@ -176,7 +164,24 @@ export default { | |||
| } | |||
| }) | |||
| }, | |||
| /** 查询待办列表 */ | |||
| getTaskList() { | |||
| this.loading = true; | |||
| return request({ | |||
| url: "/activiti/process/taskList", | |||
| method: "get", | |||
| params: this.queryParamsTask, | |||
| }) | |||
| .then((response) => { | |||
| console.log(response) | |||
| this.taskList = response.rows; | |||
| this.total = response.total; | |||
| console.log(this.total) | |||
| this.loading = false; | |||
| }) | |||
| .then(() => { | |||
| }); | |||
| }, | |||
| getList(){ | |||
| this.loading = true; | |||
| this.queryParams.number = 2 ; | |||
| @@ -216,7 +221,7 @@ export default { | |||
| goDetail(id){ | |||
| console.log(id) | |||
| window.location = 'news/newDetail?id='+id; | |||
| } | |||
| }, | |||
| }, | |||
| }; | |||
| </script> | |||
| @@ -7,85 +7,32 @@ | |||
| left-arrow | |||
| @click-left="onClickLeft" | |||
| /> | |||
| <div class="main_box"> | |||
| <van-row> | |||
| <div class="main_box2"> | |||
| <van-row v-for="(item,index) in historyList" :key="index"> | |||
| <van-col :span="4"> | |||
| <p class="index">1</p> | |||
| <div class="indexBorder"> | |||
| <p class="index">{{index+1}}</p> | |||
| <div class="indexBorder" :class="{'indexCenter':index==0 ? false : true}"> | |||
| <p class="ssT" v-if="index>0"></p> | |||
| <p class="yq"></p> | |||
| <p class="ss"></p> | |||
| <p class="ss" v-if="historyList.length != index+1"></p> | |||
| </div> | |||
| </van-col> | |||
| <van-col :span="20"> | |||
| <van-cell title="开始" :value="22222" center :to="{name:'programmeDetail'}"> | |||
| <van-cell :title="item.activityName" center :to="{name:'programmeDetail'}"> | |||
| <template #label> | |||
| <p>2021.10.01-2021.10.02</p> | |||
| <p>{{ item.endTime }}</p> | |||
| </template> | |||
| <template #default> | |||
| <p style="color: #666666;">李维嘉 <span class="bq" style="background:rgba(29,111,233,0.2);color:#1D6FE9">提交申请</span></p> | |||
| <p style="color: #999999;">1天0时0分0秒</p> | |||
| </template> | |||
| </van-cell> | |||
| </van-col> | |||
| </van-row> | |||
| <van-row> | |||
| <van-col :span="4"> | |||
| <p class="index">2</p> | |||
| <div class="indexBorder indexCenter"> | |||
| <p class="ssT"></p> | |||
| <p class="yq"></p> | |||
| <p class="ss"></p> | |||
| </div> | |||
| </van-col> | |||
| <van-col :span="20"> | |||
| <van-cell title="执法队长审批" :value="22222" center :to="{name:'programmeDetail'}"> | |||
| <template #label> | |||
| <p>2021.10.01-2021.10.02</p> | |||
| </template> | |||
| <template #default> | |||
| <p style="color: #666666;">李维嘉 <span class="bq" style="background:rgba(29,204,128,0.2);color:#1DCC80">同意</span></p> | |||
| <p style="color: #999999;">1天0时0分0秒</p> | |||
| </template> | |||
| </van-cell> | |||
| </van-col> | |||
| </van-row> | |||
| <van-row> | |||
| <van-col :span="4"> | |||
| <p class="index">3</p> | |||
| <div class="indexBorder indexCenter"> | |||
| <p class="ssT"></p> | |||
| <p class="yq"></p> | |||
| <p class="ss"></p> | |||
| </div> | |||
| </van-col> | |||
| <van-col :span="20"> | |||
| <van-cell title="执法队长负责人审批" :value="22222" center :to="{name:'programmeDetail'}"> | |||
| <template #label> | |||
| <p>2021.10.01-2021.10.02</p> | |||
| </template> | |||
| <template #default> | |||
| <p style="color: #666666;">李维嘉 <span class="bq" style="background:rgba(29,204,128,0.2);color:#1DCC80">同意</span></p> | |||
| <p style="color: #999999;">1天0时0分0秒</p> | |||
| </template> | |||
| </van-cell> | |||
| </van-col> | |||
| </van-row> | |||
| <van-row> | |||
| <van-col :span="4"> | |||
| <p class="index">4</p> | |||
| <div class="indexBorder indexCenter"> | |||
| <p class="ssT"></p> | |||
| <p class="yq"></p> | |||
| </div> | |||
| </van-col> | |||
| <van-col :span="20"> | |||
| <van-cell title="结束" :value="22222" center :to="{name:'programmeDetail'}"> | |||
| <template #label> | |||
| <p>2021.10.01-2021.10.02</p> | |||
| </template> | |||
| <template #default> | |||
| <p style="color: #666666;">李维嘉 <span class="bq" style="background:rgba(255,166,62,0.2);color:#FFA63E">自动结束</span></p> | |||
| <p style="color: #999999;">1天0时0分0秒</p> | |||
| <p style="color: #666666;">{{ item.assigneeName }} | |||
| <span | |||
| class="bq" | |||
| :style="{ | |||
| background:item.comment.substr(item.comment.length-2,2) == '申请' ? 'rgba(29,111,233,0.2)' : item.comment.substr(item.comment.length-2,2) == '同意' ? 'rgba(29,204,128,0.2)' : item.comment.substr(item.comment.length-2,2) == '结束' ? 'rgba(255,166,62,0.2)' : item.comment.substr(item.comment.length-2,2) == '驳回' ? 'rgba(254,19,19,0.2)' : '', | |||
| color:item.comment.substr(item.comment.length-2,2) == '申请' ? '#1D6FE9' : item.comment.substr(item.comment.length-2,2) == '同意' ? '#1DCC80' : item.comment.substr(item.comment.length-2,2) == '结束' ? '#FFA63E' : item.comment.substr(item.comment.length-2,2) == '驳回' ? '#FE1313' : '' | |||
| }" | |||
| >{{ item.comment.substr(item.comment.length-2,2) }}</span> | |||
| </p> | |||
| <p style="color: #999999;">{{ item.durationInMillis }}</p> | |||
| </template> | |||
| </van-cell> | |||
| </van-col> | |||
| @@ -95,6 +42,7 @@ | |||
| </template> | |||
| <script> | |||
| import request from "@/utils/request"; | |||
| export default { | |||
| name: "programmeDetail", | |||
| data() { | |||
| @@ -107,56 +55,87 @@ | |||
| bankType:'', | |||
| payeeType:'', | |||
| value:'', | |||
| // 查询参数 | |||
| queryParams: { | |||
| pageNum: 1, | |||
| pageSize: 999, | |||
| processInstanceId: null, | |||
| activityName: null, | |||
| assignee: null, | |||
| }, | |||
| bankTypeOptions:[], | |||
| payeeTypeOptions:[], | |||
| minDate: new Date(2020, 0, 1), | |||
| maxDate: new Date(2025, 10, 1), | |||
| currentDate: new Date(2021, 0, 17), | |||
| historyList: [], | |||
| }; | |||
| }, | |||
| created() { | |||
| this.handleViewHistoryList() | |||
| }, | |||
| methods: { | |||
| getDictionaries(){ | |||
| getPayee(this.$route.query.id).then((response) => { | |||
| this.houseGetDicts("bank_type").then((res) => { | |||
| for(var i = 0 ; i < res.data.length ; i++){ | |||
| this.bankTypeOptions.push({text:res.data[i].dictLabel,value:res.data[i].dictValue}); | |||
| } | |||
| this.bankType = this.selectDictLabel(res.data, response.data.bankType); | |||
| }); | |||
| this.houseGetDicts("payee_type").then((res) => { | |||
| for(var i = 0 ; i < res.data.length ; i++){ | |||
| this.payeeTypeOptions.push({text:res.data[i].dictLabel,value:res.data[i].dictValue}); | |||
| } | |||
| this.payeeType = this.selectDictLabel(res.data, response.data.payeeType); | |||
| }); | |||
| this.form = response.data; | |||
| }); | |||
| }, | |||
| onConfirmBankType(data){ | |||
| this.bankType = data.text; | |||
| this.form.bankType = data.value; | |||
| this.showBankType = false; | |||
| handleViewHistoryList() { | |||
| this.queryParams.processInstanceId = this.$route.query.id; | |||
| this.getHistoryList(); | |||
| }, | |||
| onConfirmPayeeType(data){ | |||
| this.payeeType = data.text; | |||
| this.form.payeeType = data.value; | |||
| this.showPayeeType = false; | |||
| getHistoryList: function () { | |||
| this.loading = true; | |||
| return request({ | |||
| url: "/activiti/process/listHistory", | |||
| method: "post", | |||
| data: this.queryParams, | |||
| }) | |||
| .then((response) => { | |||
| this.historyList = response.rows; | |||
| this.historyList.forEach((row) => { | |||
| row.startTime = this.format(row.startTime, "yyyy-MM-dd HH:mm:ss"); | |||
| row.endTime = this.format(row.endTime, "yyyy-MM-dd HH:mm:ss"); | |||
| row.durationInMillis = this.formatTotalDateSub( | |||
| row.durationInMillis / 1000 | |||
| ); | |||
| }); | |||
| this.total = response.total; | |||
| this.loading = false; | |||
| }) | |||
| .then(() => {}); | |||
| }, | |||
| goAdd(){ | |||
| console.log(this.form) | |||
| updatePayee(this.form).then(response => { | |||
| this.$toast.success('修改成功'); | |||
| setTimeout(function(){ | |||
| history.go(-1) | |||
| },2000) | |||
| }); | |||
| format(time, format) { | |||
| var t = new Date(time); | |||
| var tf = function (i) { return (i < 10 ? '0' : '') + i }; | |||
| return format.replace(/yyyy|MM|dd|HH|mm|ss/g, function (a) { | |||
| switch (a) { | |||
| case 'yyyy': | |||
| return tf(t.getFullYear()); | |||
| break; | |||
| case 'MM': | |||
| return tf(t.getMonth() + 1); | |||
| break; | |||
| case 'mm': | |||
| return tf(t.getMinutes()); | |||
| break; | |||
| case 'dd': | |||
| return tf(t.getDate()); | |||
| break; | |||
| case 'HH': | |||
| return tf(t.getHours()); | |||
| break; | |||
| case 'ss': | |||
| return tf(t.getSeconds()); | |||
| break; | |||
| } | |||
| }) | |||
| }, | |||
| goBack(){ | |||
| window.history.go(-1) | |||
| /** | |||
| * 计算出相差天数 | |||
| * @param secondSub | |||
| */ | |||
| formatTotalDateSub (secondSub) { | |||
| var days = Math.floor(secondSub / (24 * 3600)); // 计算出小时数 | |||
| var leave1 = secondSub % (24*3600) ; // 计算天数后剩余的毫秒数 | |||
| var hours = Math.floor(leave1 / 3600); // 计算相差分钟数 | |||
| var leave2 = leave1 % (3600); // 计算小时数后剩余的毫秒数 | |||
| var minutes = Math.floor(leave2 / 60); // 计算相差秒数 | |||
| var leave3 = leave2 % 60; // 计算分钟数后剩余的毫秒数 | |||
| var seconds = Math.round(leave3); | |||
| return days + "天" + hours + "时" + minutes + "分" + seconds + '秒'; | |||
| } | |||
| }, | |||
| } | |||
| @@ -166,10 +145,14 @@ | |||
| .app-container { | |||
| padding: 2% 2%; | |||
| } | |||
| .main_box{ | |||
| .main_box2{ | |||
| width: 96%; | |||
| margin: 0 auto; | |||
| background: #ffffff; | |||
| border-radius: 8PX; | |||
| border-radius: 6PX; | |||
| overflow: hidden; | |||
| margin-top: 10PX; | |||
| margin-bottom: 20PX; | |||
| box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16); | |||
| .van-col{ | |||
| height: 76PX; | |||
| @@ -180,11 +163,13 @@ | |||
| } | |||
| /deep/ .van-cell{ | |||
| background: transparent; | |||
| padding: 10Px; | |||
| } | |||
| .bq{ | |||
| display: inline-block; | |||
| padding: 4PX 10PX; | |||
| padding: 4PX 8PX; | |||
| border-radius: 5PX; | |||
| font-size: 12Px; | |||
| } | |||
| .index{ | |||
| background: #1D6FE9; | |||
| @@ -11,64 +11,18 @@ | |||
| <van-cell> | |||
| <template #title> | |||
| <van-icon name="../../../static/images/lawEnforcement/icon/icon_zxfa.png" size="20"></van-icon> | |||
| <span class="custom-title">案件信息<i class="bgBlue"></i></span> | |||
| <span class="custom-title">方案信息<i class="bgBlue"></i></span> | |||
| </template> | |||
| </van-cell> | |||
| <van-field name="radio" label="是否公开" input-align="right"> | |||
| <template #input> | |||
| <van-radio-group v-model="radio" direction="horizontal"> | |||
| <van-radio name="1">是</van-radio> | |||
| <van-radio name="2">否</van-radio> | |||
| </van-radio-group> | |||
| </template> | |||
| </van-field> | |||
| <van-field label="方案名称" v-model="form.payee" input-align="right" label-width="auto" placeholder="请输入方案名称"/> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| name="picker" | |||
| :value="value" | |||
| label="检查开始日期" | |||
| placeholder="点击选择开始日期" | |||
| @click="showPicker = true" | |||
| input-align="right" | |||
| right-icon="calendar-o" | |||
| /> | |||
| <van-popup v-model="showPicker" position="bottom"> | |||
| <van-datetime-picker | |||
| v-model="showPicker" | |||
| type="date" | |||
| title="选择年月日" | |||
| :min-date="minDate" | |||
| :max-date="maxDate" | |||
| /> | |||
| </van-popup> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| name="picker" | |||
| :value="value" | |||
| label="检查结束日期" | |||
| placeholder="点击选择结束日期" | |||
| @click="showPicker = true" | |||
| input-align="right" | |||
| right-icon="calendar-o" | |||
| /> | |||
| <van-popup v-model="showPicker" position="bottom"> | |||
| <van-datetime-picker | |||
| v-model="showPicker" | |||
| type="date" | |||
| title="选择年月日" | |||
| :min-date="minDate" | |||
| :max-date="maxDate" | |||
| /> | |||
| </van-popup> | |||
| <van-field label="检查方式" v-model="form.payeeAccount" input-align="right" label-width="auto" placeholder="请输入检查方式"/> | |||
| <van-field label="检查部门" v-model="bankType" input-align="right" label-width="auto" placeholder="请输入检查部门"/> | |||
| <van-field label="检查事项" v-model="form.bankDeposit" input-align="right" label-width="auto" placeholder="请输入检查事项"/> | |||
| <van-field label="检查类型" v-model="form.bankDeposit" input-align="right" label-width="auto" placeholder="请输入检查类型"/> | |||
| <van-field label="检察方案描述" v-model="form.bankDeposit" input-align="right" label-width="auto" readonly/> | |||
| <van-field v-model="form.remark" type="textarea" rows="3" label-width="auto" placeholder="请输入检察方案描述"/> | |||
| <van-cell title="是否公开" :value="form.isOpen == 'N' ? '否' : '是' " /> | |||
| <van-cell title="方案名称" :label="form.schemeName" /> | |||
| <van-cell title="检查开始日期" :value="form.checkStartDate" /> | |||
| <van-cell title="检查结束日期" :value="form.checkEndDate" /> | |||
| <van-cell title="检查方式" :value="form.checkMethod" /> | |||
| <van-cell title="检查部门" :value="form.checkDepartment" /> | |||
| <van-cell title="检查事项" :label="form.checkList" /> | |||
| <van-cell title="检查类型" :value="form.checkType" /> | |||
| <van-cell title="检察方案描述" :label="form.checkContent" /> | |||
| </div> | |||
| <div class="main_box" style="margin-top: 10px;"> | |||
| @@ -85,23 +39,19 @@ | |||
| <van-col :span="10">执法证号</van-col> | |||
| </van-row> | |||
| <van-row> | |||
| <van-col :span="4">1</van-col> | |||
| <van-col :span="10">张薇</van-col> | |||
| <van-col :span="10">456444666123A0FW</van-col> | |||
| <van-row v-for="(item,index) in form.tEnforceSchemeHandlerList" :key="index" > | |||
| <van-col :span="4">{{index+1}}</van-col> | |||
| <van-col :span="10">{{item.name}}</van-col> | |||
| <van-col :span="10">{{item.enforceNum}}</van-col> | |||
| </van-row> | |||
| <van-row> | |||
| <van-col :span="4">2</van-col> | |||
| <van-col :span="10">张薇</van-col> | |||
| <van-col :span="10">456444666123A0FW</van-col> | |||
| </van-row> | |||
| </div> | |||
| </div> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import { getScheme } from "@/api/lawEnforcement/index"; | |||
| export default { | |||
| name: "programmeDetail", | |||
| data() { | |||
| @@ -117,51 +67,21 @@ | |||
| bankTypeOptions:[], | |||
| payeeTypeOptions:[], | |||
| tEnforceSchemeHandlerList:[], | |||
| minDate: new Date(2020, 0, 1), | |||
| maxDate: new Date(2025, 10, 1), | |||
| currentDate: new Date(2021, 0, 17), | |||
| }; | |||
| }, | |||
| created() { | |||
| this.getDictionaries() | |||
| }, | |||
| methods: { | |||
| getDictionaries(){ | |||
| getPayee(this.$route.query.id).then((response) => { | |||
| this.houseGetDicts("bank_type").then((res) => { | |||
| for(var i = 0 ; i < res.data.length ; i++){ | |||
| this.bankTypeOptions.push({text:res.data[i].dictLabel,value:res.data[i].dictValue}); | |||
| } | |||
| this.bankType = this.selectDictLabel(res.data, response.data.bankType); | |||
| }); | |||
| this.houseGetDicts("payee_type").then((res) => { | |||
| for(var i = 0 ; i < res.data.length ; i++){ | |||
| this.payeeTypeOptions.push({text:res.data[i].dictLabel,value:res.data[i].dictValue}); | |||
| } | |||
| this.payeeType = this.selectDictLabel(res.data, response.data.payeeType); | |||
| }); | |||
| getScheme(this.$route.query.id).then((response) => { | |||
| this.form = response.data; | |||
| }); | |||
| }, | |||
| onConfirmBankType(data){ | |||
| this.bankType = data.text; | |||
| this.form.bankType = data.value; | |||
| this.showBankType = false; | |||
| }, | |||
| onConfirmPayeeType(data){ | |||
| this.payeeType = data.text; | |||
| this.form.payeeType = data.value; | |||
| this.showPayeeType = false; | |||
| }, | |||
| goAdd(){ | |||
| console.log(this.form) | |||
| updatePayee(this.form).then(response => { | |||
| this.$toast.success('修改成功'); | |||
| setTimeout(function(){ | |||
| history.go(-1) | |||
| },2000) | |||
| }); | |||
| }, | |||
| goBack(){ | |||
| window.history.go(-1) | |||
| } | |||
| @@ -9,47 +9,53 @@ | |||
| /> | |||
| <div style="padding: 0 3% 0.2rem;"> | |||
| <van-search | |||
| v-model="value" | |||
| v-model="queryParams.schemeName" | |||
| placeholder="请输入搜索关键词" | |||
| show-action | |||
| > | |||
| <template #action> | |||
| <div>搜索</div> | |||
| <div @click="handleQuery">搜索</div> | |||
| </template> | |||
| </van-search> | |||
| </div> | |||
| <van-list | |||
| v-model="loading" | |||
| :finished="finished" | |||
| finished-text="没有更多了" | |||
| @load="getList" | |||
| > | |||
| <van-swipe-cell v-for="(item,index) in 10" :key="index"> | |||
| <van-cell title="方案名称名称名称" :value="22222" center :to="{name:'programmeDetail'}"> | |||
| <van-swipe-cell v-for="(item,index) in schemeList" :key="index"> | |||
| <van-cell center :to="{name:'programmeDetail', query: {id:item.id}}"> | |||
| <template #title> | |||
| <p>{{item.schemeName}}</p> | |||
| </template> | |||
| <template #icon> | |||
| <van-icon name="../../../static/images/lawEnforcement/icon/icon_aj.png" size="30" color="#539FFD" style="margin-right: 10px;" /> | |||
| </template> | |||
| <template #label> | |||
| <p>种子质量问题</p> | |||
| <p>{{item.checkList}}</p> | |||
| </template> | |||
| <template #default> | |||
| <p style="color: #1DCC80;">申请中</p> | |||
| <p style="color: #1D6FE9;">执法负责人审批</p> | |||
| <p style="color: #1DCC80;">{{item.applyStatus}}</p> | |||
| <p style="color: #1D6FE9;">{{ item.taskName }}</p> | |||
| </template> | |||
| </van-cell> | |||
| <template #right> | |||
| <van-row> | |||
| <van-col> | |||
| <van-button square type="info" :to="{name:'programmeApproval', query: {id:item.id}}" class="delete-button">审批<br/>历史</van-button> | |||
| <van-button square type="info" :to="{name:'programmeApproval', query: {id:item.instanceId}}" class="delete-button">审批<br/>历史</van-button> | |||
| </van-col> | |||
| <van-col> | |||
| <van-button square type="info" color="#1DCC80" :to="{name:'paymentAccountModify', query: {id:item.id}}" class="delete-button">提交<br/>申请</van-button> | |||
| <van-button v-if=" item.applyStatus == '申请中' && ( item.taskName == '已撤销' || item.taskName == '未启动' ) " square type="info" color="#1DCC80" :to="{name:'paymentAccountModify', query: {id:item.id}}" class="delete-button">提交<br/>申请</van-button> | |||
| </van-col> | |||
| <van-col> | |||
| <van-button square text="撤销" type="info" color="#FF8900" :to="{name:'paymentAccountModify', query: {id:item.id}}" class="delete-button" /> | |||
| <van-button v-if="user == '1'" square text="撤销" type="info" color="#FF8900" :to="{name:'paymentAccountModify', query: {id:item.id}}" class="delete-button" /> | |||
| </van-col> | |||
| <van-col> | |||
| <van-button square text="修改" type="info" :to="{name:'programmeModify', query: {id:item.id}}" class="delete-button" /> | |||
| <van-button v-if=" item.applyStatus == '申请中' && ( item.taskName == '已撤销' || item.taskName == '未启动' ) " square text="修改" type="info" :to="{name:'programmeModify', query: {id:item.id}}" class="delete-button" /> | |||
| </van-col> | |||
| <van-col> | |||
| <van-button square text="删除" type="danger" @click="deleteList(item.id,index)" class="delete-button" /> | |||
| <van-button v-if=" item.applyStatus == '申请中' && ( item.taskName == '已撤销' || item.taskName == '未启动' ) " square text="删除" type="danger" class="delete-button" /> | |||
| </van-col> | |||
| </van-row> | |||
| </template> | |||
| @@ -58,6 +64,7 @@ | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import { listScheme , getUserProfile } from "@/api/lawEnforcement/index"; | |||
| export default { | |||
| name: "index", | |||
| data() { | |||
| @@ -69,37 +76,40 @@ export default { | |||
| //是否滚动到底部 | |||
| finished: false, | |||
| sheetShow: false, | |||
| //查询参数 | |||
| // 查询参数 | |||
| queryParams: { | |||
| // 分页 | |||
| pageNum: 1, | |||
| pageSize: 5, | |||
| deptId:100, | |||
| number:2 | |||
| pageSize: 10, | |||
| // 查询排序 | |||
| orderByColumn: "id", | |||
| isAsc: "desc", | |||
| schemeName: null, | |||
| checkList: null, | |||
| checkType: null, | |||
| createBy: "use", | |||
| }, | |||
| //新闻集合 | |||
| newList:[], | |||
| //轮播图集合 | |||
| bannerList:'' | |||
| //方案管理表格数据 | |||
| schemeList:[], | |||
| }; | |||
| }, | |||
| created() { | |||
| this.getDicts("scheme_status").then(response => { | |||
| this.applyStatusOptions = response.data; | |||
| }); | |||
| getUserProfile().then(response => { | |||
| this.user = response.data.userId; | |||
| }); | |||
| }, | |||
| methods: { | |||
| getList(){ | |||
| this.loading = true; | |||
| this.queryParams.number = 2 ; | |||
| this.queryParams.pageSize = 5 ; | |||
| newList(this.queryParams).then(response => { | |||
| for (var i = 0; i < response.rows.length; i++) { | |||
| this.newList.push(response.rows[i]); | |||
| var imgStrs = response.rows[i].content.match(/<IMG src=\"([^\"]*?)\">/gi) | |||
| if (imgStrs != null && imgStrs != '') { | |||
| this.newList[i].img = imgStrs[0].substr(10,(imgStrs[0].length-12)); | |||
| } | |||
| listScheme(this.queryParams).then(response => { | |||
| this.schemeList = response.rows; | |||
| for (var i = 0 ; i < response.rows.length ; i++){ | |||
| response.rows[i].applyStatus = this.selectDictLabel(this.applyStatusOptions, response.rows[i].applyStatus); | |||
| } | |||
| console.log(this.newList) | |||
| if(this.newList.length >= response.total){ | |||
| if(this.schemeList.length >= response.total){ | |||
| this.finished = true; | |||
| return; | |||
| } | |||
| @@ -107,25 +117,12 @@ export default { | |||
| this.loading = false; | |||
| }); | |||
| }, | |||
| getBanner(){ | |||
| this.loading = true; | |||
| this.queryParams.number = 1 ; | |||
| this.queryParams.pageSize = 5 ; | |||
| newList(this.queryParams).then(response => { | |||
| this.bannerList = response.rows; | |||
| for (var i = 0; i < response.rows.length; i++) { | |||
| var imgStrs = response.rows[i].content.match(/<IMG src=\"([^\"]*?)\">/gi) | |||
| if (imgStrs != null && imgStrs != '') { | |||
| this.bannerList[i].img = imgStrs[0].substr(10,(imgStrs[0].length-12)); | |||
| } | |||
| } | |||
| this.loading = false; | |||
| }); | |||
| /** 搜索按钮操作 */ | |||
| handleQuery() { | |||
| this.queryParams.pageNum = 1; | |||
| this.schemeList = []; | |||
| this.getList(); | |||
| }, | |||
| goDetail(id){ | |||
| console.log(id) | |||
| window.location = 'news/newDetail?id='+id; | |||
| } | |||
| }, | |||
| }; | |||
| </script> | |||
| @@ -210,11 +207,19 @@ export default { | |||
| } | |||
| .van-cell__title{ | |||
| color: #666666; | |||
| p{ | |||
| width: 100%; | |||
| display: -webkit-box; | |||
| -webkit-box-orient: vertical; | |||
| -webkit-line-clamp: 1; | |||
| word-break: break-all; | |||
| overflow: hidden; | |||
| } | |||
| } | |||
| /deep/ .van-nav-bar--fixed{ | |||
| } | |||
| /deep/.van-cell__title{ | |||
| flex: 0.6; | |||
| flex: 0.7; | |||
| } | |||
| /deep/.van-cell__title span{ | |||
| font-family: Arial; | |||
| @@ -222,7 +227,7 @@ export default { | |||
| font-weight: normal; | |||
| } | |||
| /deep/.van-cell__value{ | |||
| flex: 0.4; | |||
| flex: 0.3; | |||
| } | |||
| /deep/ .van-nav-bar__title{ | |||
| display: flex; | |||
| @@ -16,18 +16,18 @@ | |||
| </van-cell> | |||
| <van-field name="radio" label="是否公开" input-align="right"> | |||
| <template #input> | |||
| <van-radio-group v-model="radio" direction="horizontal"> | |||
| <van-radio name="1">是</van-radio> | |||
| <van-radio name="2">否</van-radio> | |||
| <van-radio-group v-model="form.isOpen" direction="horizontal"> | |||
| <van-radio name="Y">是</van-radio> | |||
| <van-radio name="N">否</van-radio> | |||
| </van-radio-group> | |||
| </template> | |||
| </van-field> | |||
| <van-field label="方案名称" v-model="form.payee" input-align="right" label-width="auto" placeholder="请输入方案名称"/> | |||
| <van-field label="方案名称" v-model="form.schemeName" input-align="right" label-width="auto" placeholder="请输入方案名称"/> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| name="picker" | |||
| :value="value" | |||
| v-model="form.checkStartDate" | |||
| label="检查开始日期" | |||
| placeholder="点击选择开始日期" | |||
| @click="showPicker = true" | |||
| @@ -47,7 +47,7 @@ | |||
| readonly | |||
| clickable | |||
| name="picker" | |||
| :value="value" | |||
| v-model="form.checkEndDate" | |||
| label="检查结束日期" | |||
| placeholder="点击选择结束日期" | |||
| @click="showPicker = true" | |||
| @@ -63,12 +63,12 @@ | |||
| :max-date="maxDate" | |||
| /> | |||
| </van-popup> | |||
| <van-field label="检查方式" v-model="form.payeeAccount" input-align="right" label-width="auto" placeholder="请输入检查方式"/> | |||
| <van-field label="检查部门" v-model="bankType" input-align="right" label-width="auto" placeholder="请输入检查部门"/> | |||
| <van-field label="检查事项" v-model="form.bankDeposit" input-align="right" label-width="auto" placeholder="请输入检查事项"/> | |||
| <van-field label="检查类型" v-model="form.bankDeposit" input-align="right" label-width="auto" placeholder="请输入检查类型"/> | |||
| <van-field label="检察方案描述" v-model="form.bankDeposit" input-align="right" label-width="auto" readonly/> | |||
| <van-field v-model="form.remark" type="textarea" rows="3" label-width="auto" placeholder="请输入检察方案描述"/> | |||
| <van-field label="检查方式" v-model="form.checkMethod" input-align="right" label-width="auto" placeholder="请输入检查方式"/> | |||
| <van-field label="检查部门" v-model="form.checkDepartment" input-align="right" label-width="auto" placeholder="请输入检查部门"/> | |||
| <van-field label="检查事项" v-model="form.checkList" input-align="right" label-width="auto" placeholder="请输入检查事项"/> | |||
| <van-field label="检查类型" v-model="form.checkType" input-align="right" label-width="auto" placeholder="请输入检查类型"/> | |||
| <van-field label="检察方案描述" input-align="right" label-width="auto" readonly/> | |||
| <van-field v-model="form.checkContent" type="textarea" autosize placeholder="请输入检察方案描述"/> | |||
| </div> | |||
| <div class="main_box" style="margin-top: 10px;"> | |||
| @@ -80,28 +80,40 @@ | |||
| </van-cell> | |||
| <div class="peopleList"> | |||
| <van-row> | |||
| <van-col :span="4"><van-button @click="handleAddTEnforceSchemeHandler" icon="plus" type="primary" size="mini" style="display: block;margin: 0 auto;"/></van-col> | |||
| <van-col :span="4">序号</van-col> | |||
| <van-col :span="10">执行人员</van-col> | |||
| <van-col :span="10">执法证号</van-col> | |||
| <van-col :span="8">执行人员</van-col> | |||
| <van-col :span="8">执法证号</van-col> | |||
| </van-row> | |||
| <van-row> | |||
| <van-col :span="4">1</van-col> | |||
| <van-col :span="10">张薇</van-col> | |||
| <van-col :span="10">456444666123A0FW</van-col> | |||
| </van-row> | |||
| <van-row> | |||
| <van-col :span="4">2</van-col> | |||
| <van-col :span="10">张薇</van-col> | |||
| <van-col :span="10">456444666123A0FW</van-col> | |||
| <van-row v-for="(item,index) in form.tEnforceSchemeHandlerList" :key="index" > | |||
| <van-col :span="4"><van-button @click="handleDeleteTEnforceSchemeHandler(index)" icon="minus" type="danger" size="mini"/></van-col> | |||
| <van-col :span="4"><van-field :value="index+1" readonly style="border: none"/></van-col> | |||
| <van-col :span="8"> | |||
| <van-popover | |||
| v-model="item.showPopover" | |||
| trigger="click" | |||
| :actions="item.enforcers" | |||
| placement="top" | |||
| @select="onSelect($event,index)" | |||
| > | |||
| <template #reference> | |||
| <van-field v-model="item.name" readonly placeholder="人员姓名"/> | |||
| </template> | |||
| </van-popover> | |||
| </van-col> | |||
| <van-col :span="8"><van-field v-model="item.enforceNum" placeholder="执法证号"/></van-col> | |||
| </van-row> | |||
| </div> | |||
| </div> | |||
| <van-button type="default" class="loginOut" @click="submit">保存</van-button> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import { getScheme , updateScheme , getEnforcerList } from "@/api/lawEnforcement/index"; | |||
| export default { | |||
| name: "programmeDetail", | |||
| data() { | |||
| @@ -115,6 +127,10 @@ | |||
| payeeType:'', | |||
| value:'', | |||
| showPopover:false, | |||
| enforcers:[], | |||
| actions: [{ text: '选项一' }, { text: '选项二' }, { text: '选项三' }], | |||
| bankTypeOptions:[], | |||
| payeeTypeOptions:[], | |||
| minDate: new Date(2020, 0, 1), | |||
| @@ -124,47 +140,68 @@ | |||
| }, | |||
| created() { | |||
| // 执行人员列表查询 | |||
| getEnforcerList().then(response => { | |||
| const data = response.enforcerList; | |||
| for (let i = 0; i < data.length; i++) { | |||
| const res = { | |||
| enforcerId: data[i].id, | |||
| text: data[i].name, | |||
| }; | |||
| this.enforcers.push(res); | |||
| } | |||
| }); | |||
| this.getDictionaries() | |||
| }, | |||
| methods: { | |||
| onSelect(e,index) { | |||
| this.form.tEnforceSchemeHandlerList[index].enforcerId = e.enforcerId; | |||
| this.form.tEnforceSchemeHandlerList[index].name = e.text; | |||
| }, | |||
| getDictionaries(){ | |||
| getPayee(this.$route.query.id).then((response) => { | |||
| this.houseGetDicts("bank_type").then((res) => { | |||
| for(var i = 0 ; i < res.data.length ; i++){ | |||
| this.bankTypeOptions.push({text:res.data[i].dictLabel,value:res.data[i].dictValue}); | |||
| } | |||
| this.bankType = this.selectDictLabel(res.data, response.data.bankType); | |||
| }); | |||
| this.houseGetDicts("payee_type").then((res) => { | |||
| for(var i = 0 ; i < res.data.length ; i++){ | |||
| this.payeeTypeOptions.push({text:res.data[i].dictLabel,value:res.data[i].dictValue}); | |||
| } | |||
| this.payeeType = this.selectDictLabel(res.data, response.data.payeeType); | |||
| }); | |||
| getScheme(this.$route.query.id).then((response) => { | |||
| for( var i = 0 ; i < response.data.tEnforceSchemeHandlerList.length ; i++ ){ | |||
| response.data.tEnforceSchemeHandlerList[i].showPopover = false ; | |||
| response.data.tEnforceSchemeHandlerList[i].enforcers = this.enforcers ; | |||
| } | |||
| this.form = response.data; | |||
| }); | |||
| }, | |||
| onConfirmBankType(data){ | |||
| this.bankType = data.text; | |||
| this.form.bankType = data.value; | |||
| this.showBankType = false; | |||
| /** 方案关联执法人员添加按钮操作 */ | |||
| handleAddTEnforceSchemeHandler() { | |||
| var formLength = this.form.tEnforceSchemeHandlerList.length-1; | |||
| var list = this.form.tEnforceSchemeHandlerList; | |||
| if (list[formLength].enforcerId == '' || list[formLength].name == '' || list[formLength].enforceNum == '' ){ | |||
| this.$notify({ type: 'danger' , message: '请勿添加多条空数据,请正确填写后重试!' }); | |||
| return; | |||
| } | |||
| let obj = {}; | |||
| obj.enforcerId = ""; | |||
| obj.name = ""; | |||
| obj.enforceNum = ""; | |||
| obj.showPopover = false; | |||
| obj.enforcers = this.enforcers; | |||
| this.form.tEnforceSchemeHandlerList.push(obj); | |||
| }, | |||
| onConfirmPayeeType(data){ | |||
| this.payeeType = data.text; | |||
| this.form.payeeType = data.value; | |||
| this.showPayeeType = false; | |||
| /** 方案关联执法人员删除按钮操作 */ | |||
| handleDeleteTEnforceSchemeHandler(index) { | |||
| this.form.tEnforceSchemeHandlerList.splice(index, 1); | |||
| }, | |||
| goAdd(){ | |||
| console.log(this.form) | |||
| updatePayee(this.form).then(response => { | |||
| this.$toast.success('修改成功'); | |||
| setTimeout(function(){ | |||
| history.go(-1) | |||
| },2000) | |||
| submit(){ | |||
| updateScheme(this.form).then(response => { | |||
| if (response.code == 200){ | |||
| this.$notify({ type: 'success' , message: '修改成功' }); | |||
| } | |||
| }); | |||
| }, | |||
| goBack(){ | |||
| window.history.go(-1) | |||
| } | |||
| }, | |||
| } | |||
| </script> | |||
| @@ -179,15 +216,31 @@ | |||
| } | |||
| .peopleList{ | |||
| padding-right: 3%; | |||
| margin-top: 3%; | |||
| .van-row{ | |||
| margin-bottom: 10PX; | |||
| .van-col{ | |||
| text-align: center; | |||
| font-size: 14PX; | |||
| padding: 0 5PX; | |||
| &:first-child{ | |||
| padding: 0.266667rem 0.426667rem; | |||
| .van-field{ | |||
| border: none; | |||
| } | |||
| } | |||
| .van-field{ | |||
| border: 1px solid #eee; | |||
| /deep/ .van-field__control{ | |||
| text-align: center; | |||
| } | |||
| } | |||
| } | |||
| &:first-child{ | |||
| .van-col{ | |||
| color: #1D6FE9; | |||
| line-height: 0.64rem; | |||
| padding: 0; | |||
| } | |||
| } | |||
| } | |||
| @@ -242,4 +295,13 @@ | |||
| right: 0; | |||
| border-radius: 50%; | |||
| } | |||
| .loginOut{ | |||
| width: 88%; | |||
| margin: 10PX 6%; | |||
| border-radius: 8Px; | |||
| box-shadow: 0PX 5PX 5PX #cccccc; | |||
| border: none; | |||
| background-color: #1D6FE9; | |||
| color: #FFF; | |||
| } | |||
| </style> | |||
| @@ -87,6 +87,27 @@ | |||
| </van-row> | |||
| </div> | |||
| <div class="main_box examine_box" v-if="type == 'waiting'"> | |||
| <van-row type="flex" justify="space-between" align="center"> | |||
| <van-col span="5">审批<br/>意见</van-col> | |||
| <van-col span="19"> | |||
| <van-radio-group v-model="pass" direction="horizontal"> | |||
| <van-radio name="true">同意</van-radio> | |||
| <van-radio name="false">驳回</van-radio> | |||
| </van-radio-group> | |||
| <van-field rows="2" autosize v-model="comment" type="textarea" placeholder="审批意见"/> | |||
| </van-col> | |||
| </van-row> | |||
| </div> | |||
| <div style="margin: 16px 2%;" v-if="type == 'waiting'"> | |||
| <van-row> | |||
| <van-col span="24" align="center"> | |||
| <van-button type="info" native-type="submit" @click="submitComplete" class="submitButtonActive">提交</van-button> | |||
| </van-col> | |||
| </van-row> | |||
| <div class="clear"></div> | |||
| </div> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| @@ -104,15 +125,20 @@ export default { | |||
| showPicker:false, | |||
| form:{}, | |||
| pass: "true", | |||
| comment: "同意", | |||
| bankType:'', | |||
| payeeType:'', | |||
| value:'', | |||
| type:'', | |||
| schemeOption:[] | |||
| }; | |||
| }, | |||
| created() { | |||
| this.type = this.$route.query.type; | |||
| this.getDetail() | |||
| }, | |||
| methods: { | |||
| @@ -121,6 +147,28 @@ export default { | |||
| this.schemeOption = response.data; | |||
| }); | |||
| }, | |||
| submitComplete() { | |||
| const data = { | |||
| taskId: this.schemeOption.taskId, | |||
| instanceId: this.schemeOption.instanceId, | |||
| variables: JSON.stringify({ | |||
| comment: this.comment, | |||
| pass: this.pass, | |||
| //"formData": this.row, | |||
| }), | |||
| }; | |||
| return request({ | |||
| url: "/activiti/process/complete", | |||
| method: "post", | |||
| params: data, | |||
| }).then((response) => { | |||
| if (response.code == 200 && response.msg == "操作成功") { | |||
| this.$notify({ type: 'success' , message: "操作成功" }); | |||
| } else { | |||
| this.$notify({ type: 'danger' , message: "操作失败" }); | |||
| } | |||
| }); | |||
| }, | |||
| }, | |||
| }; | |||
| </script> | |||
| @@ -133,6 +181,35 @@ export default { | |||
| .app-container { | |||
| padding: 0; | |||
| } | |||
| .examine_box{ | |||
| background-color: #1D6FE9!important; | |||
| padding: 0.18rem!important; | |||
| padding-left: 0!important; | |||
| border-radius: 0.15rem!important; | |||
| margin-top: 0.3rem!important; | |||
| } | |||
| .examine_box .van-col:first-child{ | |||
| color: #FFF!important; | |||
| font-size: 0.45rem!important; | |||
| text-align: center!important; | |||
| } | |||
| .examine_box .van-col:last-child{ | |||
| background-color: #FFF!important; | |||
| border-radius: 0.15rem!important; | |||
| overflow: hidden!important; | |||
| .van-radio-group--horizontal{ | |||
| padding: 0.2rem 0; | |||
| border-bottom: 1px solid #eee; | |||
| } | |||
| } | |||
| /deep/.van-radio--horizontal{ | |||
| margin-left: 20px; | |||
| margin-right: 0; | |||
| } | |||
| .submitButtonActive{ | |||
| width: 100%; | |||
| margin: 0 auto; | |||
| } | |||
| .van-uploader { | |||
| padding: 15PX; | |||
| } | |||
| @@ -3,18 +3,41 @@ | |||
| <div class="topBackground"> | |||
| <van-nav-bar title="我的" fixed placeholder/> | |||
| <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">{{ 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;" /> | |||
| <van-col :span="24"> | |||
| <p class="userName">{{user.nickName}}<span style="font-size: 0.4rem;float: right;">{{roleGroup}}</span></p> | |||
| <!-- <i style="margin-right: 0.5rem;"></i>--> | |||
| <p class="userDept">{{user.dept.deptName}}</p> | |||
| <p class="userDept">{{postGroup}}</p> | |||
| </van-col> | |||
| </van-row> | |||
| </div> | |||
| <van-cell-group class="listBox db"> | |||
| <van-cell value="全部" is-link to="/lawEnforcement/waitingProcessing"> | |||
| <template #title> | |||
| <van-icon name="../../../static/images/lawEnforcement/icon/icon_db.png" size="20"></van-icon> | |||
| <span class="custom-title">待办事项<i class="bgBlue"></i></span> | |||
| </template> | |||
| </van-cell> | |||
| <van-cell | |||
| v-for="(item,index) in taskList" | |||
| :value="item.formData.createTime == null ? '' : item.formData.createTime.substr(0,10)" | |||
| :to="{ | |||
| name:item.formData.activityBusinessType == '21' ? 'schemeDetail':'caseDetail', | |||
| query:{ | |||
| id:item.formData.activityBusinessType == '21' ? item.formData.id:item.formData.caseId, | |||
| caseProgress:item.formData.activityBusinessType == '21' ? '': item.formData.activityBusinessType == '22' ? 2:item.formData.activityBusinessType == '24' ? 4:item.formData.activityBusinessType == '25' ? 5:'', | |||
| type:'waiting' | |||
| } | |||
| }" | |||
| > | |||
| <template #title> | |||
| <span class="tap">{{selectDictLabel(activityBusinessTypeOptions,item.formData.activityBusinessType)}}</span> | |||
| <span>{{item.projectName}}</span> | |||
| </template> | |||
| </van-cell> | |||
| </van-cell-group> | |||
| <van-cell-group class="listBox"> | |||
| <van-cell is-link to="/lawEnforcement/programme"> | |||
| <template #title> | |||
| @@ -54,6 +77,7 @@ | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import request from "@/utils/request"; | |||
| import { getUserProfile } from "@/api/lawEnforcement/index"; | |||
| import { logout ,getInfo } from "@/api/login/index"; | |||
| import law from "@/components/common/law_footer"; | |||
| @@ -67,13 +91,28 @@ export default { | |||
| user: { | |||
| dept:{} | |||
| }, | |||
| // 查询参数 | |||
| queryParamsTask: { | |||
| pageNum: 1, | |||
| pageSize: 5, | |||
| taskId: null, | |||
| taskName: null, | |||
| systemType: 26, | |||
| }, | |||
| roleGroup: {}, | |||
| postGroup: {}, | |||
| activeTab: "userinfo" | |||
| activeTab: "userinfo", | |||
| taskList:[], | |||
| activityBusinessTypeOptions:[], | |||
| }; | |||
| }, | |||
| created() { | |||
| this.getDicts("activity_business_type").then((response) => { | |||
| this.activityBusinessTypeOptions = response.data; | |||
| }); | |||
| this.getUser(); | |||
| this.getTaskList(); | |||
| }, | |||
| methods: { | |||
| loginOut(){ | |||
| @@ -87,7 +126,25 @@ export default { | |||
| this.roleGroup = response.roleGroup; | |||
| this.postGroup = response.postGroup; | |||
| }); | |||
| } | |||
| }, | |||
| getTaskList() { | |||
| this.loading = true; | |||
| return request({ | |||
| url: "/activiti/process/taskList", | |||
| method: "get", | |||
| params: this.queryParamsTask, | |||
| }) | |||
| .then((response) => { | |||
| console.log(response) | |||
| this.taskList = response.rows; | |||
| this.total = response.total; | |||
| console.log(this.total) | |||
| this.loading = false; | |||
| }) | |||
| .then(() => { | |||
| }); | |||
| }, | |||
| }, | |||
| }; | |||
| </script> | |||
| @@ -121,12 +178,13 @@ export default { | |||
| overflow: hidden; | |||
| } | |||
| .userName{ | |||
| font-size: 0.55rem; | |||
| font-size: 0.8rem; | |||
| color: #FFFFFF; | |||
| line-height: 0.85rem; | |||
| } | |||
| .userDept{ | |||
| font-size: 0.4rem; | |||
| text-align: right; | |||
| color: #FFFFFF; | |||
| line-height: 0.85rem; | |||
| } | |||
| @@ -176,4 +234,19 @@ export default { | |||
| box-shadow: 0PX 5PX 5PX #cccccc; | |||
| border: none; | |||
| } | |||
| .db{ | |||
| .van-cell__title{ | |||
| color: #666666; | |||
| flex: 0.7; | |||
| display: -webkit-box; | |||
| -webkit-box-orient: vertical; | |||
| -webkit-line-clamp: 1; | |||
| word-break: break-all; | |||
| overflow: hidden; | |||
| } | |||
| .van-cell__value{ | |||
| flex: 0.3; | |||
| } | |||
| } | |||
| </style> | |||
| @@ -0,0 +1,237 @@ | |||
| <template> | |||
| <div class="app-container"> | |||
| <van-nav-bar | |||
| title="待办事项" | |||
| fixed | |||
| placeholder | |||
| left-arrow | |||
| @click-left="onClickLeft" | |||
| /> | |||
| <van-list | |||
| v-model="loading" | |||
| :finished="finished" | |||
| finished-text="没有更多了" | |||
| @load="getTaskList" | |||
| > | |||
| <van-cell-group class="listBox db"> | |||
| <van-cell v-for="(item,index) in taskList" :value="item.formData.createTime == null ? '' : item.formData.createTime.substr(0,10)"> | |||
| <template #title> | |||
| <span class="tap">{{selectDictLabel(activityBusinessTypeOptions,item.formData.activityBusinessType)}}</span> | |||
| <span>{{item.projectName}}</span> | |||
| </template> | |||
| </van-cell> | |||
| </van-cell-group> | |||
| </van-list> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import request from "@/utils/request"; | |||
| import law from "@/components/common/law_footer"; | |||
| export default { | |||
| name: "index", | |||
| components: { | |||
| law | |||
| }, | |||
| data() { | |||
| return { | |||
| //是否显示加载 | |||
| loading: false, | |||
| //是否滚动到底部 | |||
| finished: false, | |||
| // 查询参数 | |||
| queryParamsTask: { | |||
| pageNum: 1, | |||
| pageSize: 5, | |||
| taskId: null, | |||
| taskName: null, | |||
| systemType: 26, | |||
| }, | |||
| //新闻集合 | |||
| workList:[], | |||
| //轮播图集合 | |||
| bannerList:'', | |||
| taskList:[], | |||
| activityBusinessTypeOptions:[], | |||
| pageType:'' | |||
| }; | |||
| }, | |||
| created() { | |||
| this.getDicts("activity_business_type").then((response) => { | |||
| this.activityBusinessTypeOptions = response.data; | |||
| }); | |||
| this.getTaskList(); | |||
| }, | |||
| methods: { | |||
| getTaskList() { | |||
| this.loading = true; | |||
| return request({ | |||
| url: "/activiti/process/taskList", | |||
| method: "get", | |||
| params: this.queryParamsTask, | |||
| }) | |||
| .then((response) => { | |||
| console.log(response) | |||
| this.taskList = response.rows; | |||
| if(this.taskList.length >= response.total){ | |||
| this.finished = true; | |||
| return; | |||
| } | |||
| this.queryParamsTask.pageNum += 1 ; | |||
| this.loading = false; | |||
| }) | |||
| .then(() => { | |||
| }); | |||
| }, | |||
| }, | |||
| }; | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| @font-face { | |||
| font-family: SourceHanSansCNBold; | |||
| src: url("../../../assets/fonts/SourceHanSansCN-Bold.otf"); | |||
| } | |||
| .van-cell__title{ | |||
| color: #666666; | |||
| flex: 0.7; | |||
| display: -webkit-box; | |||
| -webkit-box-orient: vertical; | |||
| -webkit-line-clamp: 1; | |||
| word-break: break-all; | |||
| overflow: hidden; | |||
| } | |||
| .van-cell__value{ | |||
| flex: 0.3; | |||
| } | |||
| .app-container { | |||
| padding: 10PX ; | |||
| } | |||
| /deep/ .van-nav-bar--fixed{ | |||
| background: url("../../../../static/images/lawEnforcement/head_bg.png") 100%; | |||
| } | |||
| /deep/ .van-nav-bar .van-icon{ | |||
| color: #ffffff; | |||
| } | |||
| /deep/ .van-nav-bar__title{ | |||
| color: #ffffff; | |||
| } | |||
| .van-cell__title{ | |||
| color: #666666; | |||
| } | |||
| .listBox{ | |||
| border-radius: 8Px; | |||
| overflow: hidden; | |||
| box-shadow: 0PX 5PX 5PX #cccccc; | |||
| .van-icon{ | |||
| vertical-align: middle; | |||
| } | |||
| .custom-title{ | |||
| font-size: 17PX; | |||
| color: #333333; | |||
| vertical-align: middle; | |||
| line-height: 1; | |||
| position: relative; | |||
| } | |||
| .tap{ | |||
| color: #1D6FE9; | |||
| } | |||
| .bgBlue{ | |||
| display: block; | |||
| position: absolute; | |||
| width: 17PX; | |||
| height: 17PX; | |||
| border-radius: 50%; | |||
| background-color: rgba(29,111,233,0.26); | |||
| top: -2PX; | |||
| right: -8PX; | |||
| } | |||
| } | |||
| /deep/ .van-nav-bar__title{ | |||
| display: flex; | |||
| max-width: initial; | |||
| p{ | |||
| line-height: 30Px; | |||
| margin-left: 6Px; | |||
| font-size: 21Px; | |||
| color: #D60303; | |||
| font-family: SourceHanSansCNBold; | |||
| } | |||
| } | |||
| /deep/ .van-tabs__content{ | |||
| width: 96%; | |||
| margin: 0 auto; | |||
| box-shadow: 0px 5px 5px #ccc; | |||
| } | |||
| /deep/ van-tab__pane-wrapper{ | |||
| padding: 0 2%; | |||
| } | |||
| /deep/ .van-tab{ | |||
| border: none; | |||
| color: #1D6FE9; | |||
| } | |||
| /deep/ .van-tab--active{ | |||
| border-radius: 30Px; | |||
| box-shadow: 0px 5px 5px #ccc; | |||
| background-color: #FE1313!important; | |||
| } | |||
| /deep/ .van-tabs--card>.van-tabs__wrap{ | |||
| height: 0.9rem; | |||
| margin: 10Px 0; | |||
| } | |||
| /deep/ .van-tab__pane{ | |||
| background: #FFF; | |||
| border-radius: 8Px; | |||
| overflow: hidden; | |||
| } | |||
| /deep/ .van-tabs__nav--card{ | |||
| padding: 3Px 2%; | |||
| border: none; | |||
| border-radius: 1rem; | |||
| height: 0.9rem; | |||
| } | |||
| .bannerTit{ | |||
| position: absolute; | |||
| bottom: 10px; | |||
| background: rgba(255,255,255,0.3); | |||
| width: 100%; | |||
| height: 0.8rem; | |||
| line-height: 0.8rem; | |||
| color: #fff; | |||
| overflow: hidden; | |||
| padding: 0 3%; | |||
| font-size: 16Px; | |||
| } | |||
| .link{ | |||
| color: #000; | |||
| } | |||
| .my-swipe { | |||
| border-radius: 8Px; | |||
| } | |||
| .my-swipe .van-swipe-item .van-image{ | |||
| width: 100%; | |||
| } | |||
| .van-grid-item p{ | |||
| margin-top: 10px; | |||
| } | |||
| .newTit{ | |||
| font-size: 0.45rem; | |||
| margin: 0.4rem 0; | |||
| font-family: Source Han Sans SC, Source Han Sans SC-Medium; | |||
| font-weight: 500; | |||
| text-align: left; | |||
| color: #333333; | |||
| } | |||
| .newContent{ | |||
| display: -webkit-box; | |||
| -webkit-box-orient: vertical; | |||
| -webkit-line-clamp: 2; | |||
| word-break: break-all; | |||
| overflow: hidden; | |||
| } | |||
| .search-icon { | |||
| line-height: inherit; | |||
| margin-left: 10px; | |||
| } | |||
| </style> | |||