@@ -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> |