Browse Source

接口对接

wulanhaote
庞东旭 3 years ago
parent
commit
2adb2f6367
15 changed files with 1182 additions and 411 deletions
  1. +44
    -0
      src/api/lawEnforcement/index.js
  2. +1
    -0
      src/permission.js
  3. +9
    -0
      src/router/index.js
  4. +280
    -38
      src/views/lawEnforcement/case/caseDetail.vue
  5. +2
    -3
      src/views/lawEnforcement/case/caseList.vue
  6. +92
    -2
      src/views/lawEnforcement/complaint/complaintList.vue
  7. +26
    -4
      src/views/lawEnforcement/complaint/reply.vue
  8. +38
    -33
      src/views/lawEnforcement/index.vue
  9. +99
    -114
      src/views/lawEnforcement/programme/programmeApproval.vue
  10. +18
    -98
      src/views/lawEnforcement/programme/programmeDetail.vue
  11. +57
    -52
      src/views/lawEnforcement/programme/programmeList.vue
  12. +117
    -55
      src/views/lawEnforcement/programme/programmeModify.vue
  13. +77
    -0
      src/views/lawEnforcement/scheme/schemeDetail.vue
  14. +85
    -12
      src/views/lawEnforcement/user/index.vue
  15. +237
    -0
      src/views/lawEnforcement/user/waitingProcessing.vue

+ 44
- 0
src/api/lawEnforcement/index.js View File

@@ -225,3 +225,47 @@ export function getCommunicate(id) {
method: 'get' 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
})
}

+ 1
- 0
src/permission.js View File

@@ -58,6 +58,7 @@ const whiteList = [
'/lawEnforcement/login', '/lawEnforcement/login',
'/lawEnforcement/indexComplaint', '/lawEnforcement/indexComplaint',
'/lawEnforcement/schemeDetail', '/lawEnforcement/schemeDetail',
'/lawEnforcement/waitingProcessing',
] ]


router.beforeEach((to, from, next) => { router.beforeEach((to, from, next) => {


+ 9
- 0
src/router/index.js View File

@@ -1635,6 +1635,15 @@ export const constantRoutes = [
}, },
component: (resolve) => require(['@/views/lawEnforcement/scheme/schemeDetail'], resolve) 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)
},
]; ];






+ 280
- 38
src/views/lawEnforcement/case/caseDetail.vue View File

@@ -7,13 +7,18 @@
left-arrow left-arrow
@click-left="onClickLeft" @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> <template #title>
<div class="finish">
<div
:class="{ finish: 1 <= caseActive , notStarted: 1 > caseActive , ongoing: 0 == caseActive }"
>
<p>登记</p> <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> </div>
</template> </template>
<div class="main_box"> <div class="main_box">
@@ -76,11 +81,16 @@
</div> </div>
</van-tab> </van-tab>
<!-- 勘察--> <!-- 勘察-->
<van-tab>
<van-tab :disabled="1 <= caseActive ? false : true">
<template #title> <template #title>
<div class="finish">
<div
:class="{ finish: 2 <= caseActive , notStarted: 2 > caseActive , ongoing: 1 == caseActive }"
>
<p>勘察</p> <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> </div>
</template> </template>
<div class="main_box"> <div class="main_box">
@@ -150,7 +160,7 @@
<van-cell title="工作单位" v-model="surveyForm.workCompany" /> <van-cell title="工作单位" v-model="surveyForm.workCompany" />
<van-cell title="职务" v-model="surveyForm.workPosition" /> <van-cell title="职务" v-model="surveyForm.workPosition" />
<van-cell title="住址" v-model="surveyForm.address" /> <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.isClear == 'Y' ? '是' : '否'" />
<van-cell title="是否申请调查人员回避" v-model="surveyForm.isAvoid == 'Y' ? '是' : '否'" /> <van-cell title="是否申请调查人员回避" v-model="surveyForm.isAvoid == 'Y' ? '是' : '否'" />
<van-cell title="被询问人回答内容" :label="surveyForm.answer" /> <van-cell title="被询问人回答内容" :label="surveyForm.answer" />
@@ -202,7 +212,7 @@
</div> </div>
</van-col> </van-col>
<van-col :span="20"> <van-col :span="20">
<van-cell :title="item.activityName" center :to="{name:'programmeDetail'}">
<van-cell :title="item.activityName" center>
<template #label> <template #label>
<p>{{ item.endTime }}</p> <p>{{ item.endTime }}</p>
</template> </template>
@@ -222,13 +232,39 @@
</van-col> </van-col>
</van-row> </van-row>
</div> </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>
<van-tab :disabled="2 <= caseActive ? false : true">
<template #title> <template #title>
<div class="finish">
<div
:class="{ finish: 3 <= caseActive , notStarted: 3 > caseActive , ongoing: 2 == caseActive }"
>
<p>立案</p> <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> </div>
</template> </template>
<div class="main_box"> <div class="main_box">
@@ -391,11 +427,16 @@
</div> </div>
</van-tab> </van-tab>
<!-- 取证--> <!-- 取证-->
<van-tab>
<van-tab :disabled="3 <= caseActive ? false : true">
<template #title> <template #title>
<div class="ongoing">
<div
:class="{ finish: 4 <= caseActive , notStarted: 4 > caseActive , ongoing: 3 == caseActive }"
>
<p>取证</p> <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> </div>
</template> </template>
<div class="main_box"> <div class="main_box">
@@ -490,7 +531,7 @@
</div> </div>
</van-col> </van-col>
<van-col :span="20"> <van-col :span="20">
<van-cell :title="item.activityName" center :to="{name:'programmeDetail'}">
<van-cell :title="item.activityName" center>
<template #label> <template #label>
<p>{{ item.endTime }}</p> <p>{{ item.endTime }}</p>
</template> </template>
@@ -510,13 +551,39 @@
</van-col> </van-col>
</van-row> </van-row>
</div> </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>
<van-tab :disabled="4 <= caseActive ? false : true">
<template #title> <template #title>
<div class="notStarted">
<div
:class="{ finish: 5 <= caseActive , notStarted: 5 > caseActive , ongoing: 4 == caseActive }"
>
<p>处理</p> <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> </div>
</template> </template>
<div class="main_box"> <div class="main_box">
@@ -623,7 +690,7 @@
</div> </div>
</van-col> </van-col>
<van-col :span="20"> <van-col :span="20">
<van-cell :title="item.activityName" center :to="{name:'programmeDetail'}">
<van-cell :title="item.activityName" center>
<template #label> <template #label>
<p>{{ item.endTime }}</p> <p>{{ item.endTime }}</p>
</template> </template>
@@ -643,13 +710,39 @@
</van-col> </van-col>
</van-row> </van-row>
</div> </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>
<van-tab :disabled="5 <= caseActive ? false : true">
<template #title> <template #title>
<div class="notStarted">
<div
:class="{ finish: 6 <= caseActive , notStarted: 6 > caseActive , ongoing: 5 == caseActive }"
>
<p>裁决</p> <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> </div>
</template> </template>
<div class="main_box"> <div class="main_box">
@@ -738,11 +831,16 @@
</div> </div>
</van-tab> </van-tab>
<!-- 执行--> <!-- 执行-->
<van-tab>
<van-tab :disabled="6 <= caseActive ? false : true">
<template #title> <template #title>
<div class="notStarted">
<div
:class="{ finish: 7 <= caseActive , notStarted: 7 > caseActive , ongoing: 6 == caseActive }"
>
<p>执行</p> <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> </div>
</template> </template>
<div class="main_box"> <div class="main_box">
@@ -801,11 +899,16 @@
</div> </div>
</van-tab> </van-tab>
<!-- 结案--> <!-- 结案-->
<van-tab>
<van-tab :disabled="7 <= caseActive ? false : true">
<template #title> <template #title>
<div class="notStarted">
<div
:class="{ finish: 8 <= caseActive , notStarted: 8 > caseActive , ongoing: 7 == caseActive }"
>
<p>结案</p> <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> </div>
</template> </template>
<div class="main_box"> <div class="main_box">
@@ -904,10 +1007,16 @@ export default {
showPayeeType:false, showPayeeType:false,
showPicker:false, showPicker:false,
form:{}, form:{},
caseProgress:0,
caseActive:0,


bankType:'', bankType:'',
payeeType:'', payeeType:'',
value:'', value:'',
type:'',

pass: "true",
comment: "同意",


bankTypeOptions:[], bankTypeOptions:[],
payeeTypeOptions:[], payeeTypeOptions:[],
@@ -1156,7 +1265,7 @@ export default {
// 办理人员列表 // 办理人员列表
tEnforceCaseHandlerList: [], tEnforceCaseHandlerList: [],
tEnforcePutRecordHandlerList: [], tEnforcePutRecordHandlerList: [],
tEnforceSamplingGoodsList: [{}],
tEnforceSamplingGoodsList: [],
tEnforceDetainHandlerList: [], tEnforceDetainHandlerList: [],
tEnforceEvidenceHandlerList: [], tEnforceEvidenceHandlerList: [],
tEnforceTreatHandlerList: [], tEnforceTreatHandlerList: [],
@@ -1180,6 +1289,15 @@ export default {
}; };
}, },
created() { 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.getDicts("case_source").then(response => {
this.caseSourceOptions = response.data; this.caseSourceOptions = response.data;
}); });
@@ -1213,12 +1331,82 @@ export default {
this.schemeOptions = response.data; this.schemeOptions = response.data;
this.getInformation(); this.getInformation();
}); });

// treeselect().then((response) => { // treeselect().then((response) => {
// this.deptOptions = response.data; // this.deptOptions = response.data;
// }); // });


}, },
methods: { 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(){ getInformation(){
getCase(this.$route.query.id).then(response => { getCase(this.$route.query.id).then(response => {
response.data.caseSource = this.selectDictLabel(this.caseSourceOptions, response.data.caseSource); 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.nation = this.selectDictLabel(this.nationOptions, response.data.nation);
// response.data.deptId = this.selectDictDeptId(this.deptOptions, response.data.deptId); // response.data.deptId = this.selectDictDeptId(this.deptOptions, response.data.deptId);
this.form = response.data; 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 != "") { if (this.form.id != null && this.form.id != "") {
this.surveyForm.caseId = this.form.id; this.surveyForm.caseId = this.form.id;
getSurveyByCaseId(this.form.id).then(responseSurvey => { getSurveyByCaseId(this.form.id).then(responseSurvey => {
console.log(responseSurvey)
if (responseSurvey.data != undefined) { if (responseSurvey.data != undefined) {
_this.surveyForm = responseSurvey.data; _this.surveyForm = responseSurvey.data;
_this.instanceId = responseSurvey.data.instanceId; _this.instanceId = responseSurvey.data.instanceId;
@@ -1255,7 +1468,7 @@ export default {
_this.surveyForm.schemeId = this.form.schemeId; _this.surveyForm.schemeId = this.form.schemeId;
// 查询审批历史记录 // 查询审批历史记录
_this.getHistoryList(_this.surveyForm,''); _this.getHistoryList(_this.surveyForm,'');
_this.getFileCase();
}); });
} }
}, },
@@ -1604,6 +1817,35 @@ export default {
.app-container { .app-container {
padding: 0; 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 { .van-uploader {
padding: 15PX; padding: 15PX;
} }


+ 2
- 3
src/views/lawEnforcement/case/caseList.vue View File

@@ -114,7 +114,7 @@
@load="getList" @load="getList"
> >
<van-swipe-cell v-for="(item,index) in caseList" :key="index"> <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> <template #icon>
<van-icon name="../../../static/images/lawEnforcement/icon/icon_aj.png" size="30" color="#539FFD" style="margin-right: 10px;" /> <van-icon name="../../../static/images/lawEnforcement/icon/icon_aj.png" size="30" color="#539FFD" style="margin-right: 10px;" />
</template> </template>
@@ -123,7 +123,7 @@
</template> </template>
<template #default> <template #default>
<p>{{item.caseStatus}}</p> <p>{{item.caseStatus}}</p>
<p style="color: #1D6FE9;">{{item.caseProgress}}</p>
<p style="color: #1D6FE9;">{{selectDictLabel(caseProgressOptions, item.caseProgress)}}</p>
</template> </template>
</van-cell> </van-cell>
</van-swipe-cell> </van-swipe-cell>
@@ -207,7 +207,6 @@ export default {
listCase(this.queryParams).then(response => { listCase(this.queryParams).then(response => {
for (var i = 0; i < response.rows.length; i++) { for (var i = 0; i < response.rows.length; i++) {
response.rows[i].caseStatus = this.selectDictLabel(this.caseStatusOptions, response.rows[i].caseStatus); 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]) this.caseList.push(response.rows[i])
} }
if(this.caseList.length >= response.total){ if(this.caseList.length >= response.total){


+ 92
- 2
src/views/lawEnforcement/complaint/complaintList.vue View File

@@ -57,10 +57,100 @@
</van-list> </van-list>
</van-tab> </van-tab>
<van-tab title="未回复"> <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>
<van-tab title="已回复"> <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>
</van-tabs> </van-tabs>
</div> </div>


+ 26
- 4
src/views/lawEnforcement/complaint/reply.vue View File

@@ -7,11 +7,12 @@
left-arrow left-arrow
right-text="发布" right-text="发布"
@click-left="onClickLeft" @click-left="onClickLeft"
@click-right="submitForm"
/> />
<div class="tabsBox"> <div class="tabsBox">
<van-row> <van-row>
<van-col :span="4">类型:</van-col> <van-col :span="4">类型:</van-col>
<van-col :span="20">{{form.communicateType}}</van-col>
<van-col :span="20">{{form.communicateTypeShow}}</van-col>
</van-row> </van-row>
<van-row> <van-row>
<van-col :span="4">标题:</van-col> <van-col :span="4">标题:</van-col>
@@ -30,7 +31,7 @@
type="textarea" type="textarea"
placeholder="请输入留言" placeholder="请输入留言"
show-word-limit 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-col>
</van-row> </van-row>
@@ -38,7 +39,7 @@
</div> </div>
</template> </template>
<script> <script>
import { getCommunicate } from "@/api/lawEnforcement/index";
import { getCommunicate , updateCommunicate , getUserProfile } from "@/api/lawEnforcement/index";
export default { export default {
name: "index", name: "index",
data() { data() {
@@ -66,11 +67,29 @@ export default {
methods: { methods: {
getDetail(){ getDetail(){
getCommunicate(this.$route.query.id).then(response => { getCommunicate(this.$route.query.id).then(response => {
response.data.communicateTypeShow = this.selectDictLabel(this.communicateTypeOptions,response.data.communicateType)
this.form = response.data; this.form = response.data;
this.open = true; this.open = true;
this.title = "修改留言回复"; 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> </script>
@@ -105,6 +124,9 @@ export default {
} }
/deep/.van-row{ /deep/.van-row{
margin-top: 15PX; margin-top: 15PX;
&:first-child{
margin-top: 0;
}
.van-col{ .van-col{
font-size: 0.4rem; font-size: 0.4rem;
} }


+ 38
- 33
src/views/lawEnforcement/index.vue View File

@@ -35,35 +35,7 @@
</van-tab> </van-tab>
</van-tabs> </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-group class="listBox">
<van-cell value="全部" is-link :to="{name:'work',query:{type:'scheme'}}"> <van-cell value="全部" is-link :to="{name:'work',query:{type:'scheme'}}">
@@ -89,6 +61,7 @@
</div> </div>
</template> </template>
<script> <script>
import request from "@/utils/request";
import { getTopDeptId , news , scheme , communicate } from "@/api/lawEnforcement/index"; import { getTopDeptId , news , scheme , communicate } from "@/api/lawEnforcement/index";
import law from "@/components/common/law_footer"; import law from "@/components/common/law_footer";
export default { export default {
@@ -109,6 +82,14 @@ export default {
deptId:100, deptId:100,
number:2 number:2
}, },
// 查询参数
queryParamsTask: {
pageNum: 1,
pageSize: 10,
taskId: null,
taskName: null,
systemType: 26,
},
//新闻集合 //新闻集合
newList:[], newList:[],
//轮播图集合 //轮播图集合
@@ -129,19 +110,26 @@ export default {
schemeList:[], schemeList:[],
//投诉建议 //投诉建议
communicateList:[], communicateList:[],
taskList:[],
}; };
}, },
created() { created() {
this.getDeptId(); this.getDeptId();
}, },
watch: {
setUpModule: function (newVal, oldVal) {
this.setUpModuleId = newVal;
},
},
methods: { methods: {
getDeptId(){ getDeptId(){
getTopDeptId().then(response => { getTopDeptId().then(response => {
this.getNewList(response.data); this.getNewList(response.data);
this.getTaskList();
}) })
}, },
getNewList(deptId){ getNewList(deptId){
news('003',deptId,3).then(response => {
news('003',deptId,8).then(response => {
this.workList = response.data; this.workList = response.data;
for (var i = 0; i < response.data.length; i++) { for (var i = 0; i < response.data.length; i++) {
var imgStrs = response.data[i].content.match(/<img.*?>/g); var imgStrs = response.data[i].content.match(/<img.*?>/g);
@@ -153,10 +141,10 @@ export default {
console.log(this.workImgList) console.log(this.workImgList)
} }
}); });
news('001',deptId,3).then(response => {
news('001',deptId,8).then(response => {
this.noticeList = response.data; this.noticeList = response.data;
}); });
news('002',deptId,3).then(response => {
news('002',deptId,8).then(response => {
this.enforcementList = response.data; this.enforcementList = response.data;
}); });
scheme(deptId,4).then(response => { 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(){ getList(){
this.loading = true; this.loading = true;
this.queryParams.number = 2 ; this.queryParams.number = 2 ;
@@ -216,7 +221,7 @@ export default {
goDetail(id){ goDetail(id){
console.log(id) console.log(id)
window.location = 'news/newDetail?id='+id; window.location = 'news/newDetail?id='+id;
}
},
}, },
}; };
</script> </script>


+ 99
- 114
src/views/lawEnforcement/programme/programmeApproval.vue View File

@@ -7,85 +7,32 @@
left-arrow left-arrow
@click-left="onClickLeft" @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"> <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="yq"></p>
<p class="ss"></p>
<p class="ss" v-if="historyList.length != index+1"></p>
</div> </div>
</van-col> </van-col>
<van-col :span="20"> <van-col :span="20">
<van-cell title="开始" :value="22222" center :to="{name:'programmeDetail'}">
<van-cell :title="item.activityName" center :to="{name:'programmeDetail'}">
<template #label> <template #label>
<p>2021.10.01-2021.10.02</p>
<p>{{ item.endTime }}</p>
</template> </template>
<template #default> <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> </template>
</van-cell> </van-cell>
</van-col> </van-col>
@@ -95,6 +42,7 @@
</template> </template>


<script> <script>
import request from "@/utils/request";
export default { export default {
name: "programmeDetail", name: "programmeDetail",
data() { data() {
@@ -107,56 +55,87 @@
bankType:'', bankType:'',
payeeType:'', payeeType:'',
value:'', value:'',

// 查询参数
queryParams: {
pageNum: 1,
pageSize: 999,
processInstanceId: null,
activityName: null,
assignee: null,
},
bankTypeOptions:[], bankTypeOptions:[],
payeeTypeOptions:[], payeeTypeOptions:[],
minDate: new Date(2020, 0, 1),
maxDate: new Date(2025, 10, 1),
currentDate: new Date(2021, 0, 17),
historyList: [],
}; };
}, },
created() { created() {
this.handleViewHistoryList()
}, },
methods: { 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 { .app-container {
padding: 2% 2%; padding: 2% 2%;
} }
.main_box{
.main_box2{
width: 96%;
margin: 0 auto;
background: #ffffff; background: #ffffff;
border-radius: 8PX;
border-radius: 6PX;
overflow: hidden; overflow: hidden;
margin-top: 10PX;
margin-bottom: 20PX;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16); box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
.van-col{ .van-col{
height: 76PX; height: 76PX;
@@ -180,11 +163,13 @@
} }
/deep/ .van-cell{ /deep/ .van-cell{
background: transparent; background: transparent;
padding: 10Px;
} }
.bq{ .bq{
display: inline-block; display: inline-block;
padding: 4PX 10PX;
padding: 4PX 8PX;
border-radius: 5PX; border-radius: 5PX;
font-size: 12Px;
} }
.index{ .index{
background: #1D6FE9; background: #1D6FE9;


+ 18
- 98
src/views/lawEnforcement/programme/programmeDetail.vue View File

@@ -11,64 +11,18 @@
<van-cell> <van-cell>
<template #title> <template #title>
<van-icon name="../../../static/images/lawEnforcement/icon/icon_zxfa.png" size="20"></van-icon> <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> </template>
</van-cell> </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>


<div class="main_box" style="margin-top: 10px;"> <div class="main_box" style="margin-top: 10px;">
@@ -85,23 +39,19 @@
<van-col :span="10">执法证号</van-col> <van-col :span="10">执法证号</van-col>
</van-row> </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-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> </div>
</div> </div>
</template> </template>


<script> <script>
import { getScheme } from "@/api/lawEnforcement/index";
export default { export default {
name: "programmeDetail", name: "programmeDetail",
data() { data() {
@@ -117,51 +67,21 @@


bankTypeOptions:[], bankTypeOptions:[],
payeeTypeOptions:[], payeeTypeOptions:[],
tEnforceSchemeHandlerList:[],
minDate: new Date(2020, 0, 1), minDate: new Date(2020, 0, 1),
maxDate: new Date(2025, 10, 1), maxDate: new Date(2025, 10, 1),
currentDate: new Date(2021, 0, 17), currentDate: new Date(2021, 0, 17),
}; };
}, },
created() { created() {
this.getDictionaries()
}, },
methods: { methods: {
getDictionaries(){ 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; 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(){ goBack(){
window.history.go(-1) window.history.go(-1)
} }


+ 57
- 52
src/views/lawEnforcement/programme/programmeList.vue View File

@@ -9,47 +9,53 @@
/> />
<div style="padding: 0 3% 0.2rem;"> <div style="padding: 0 3% 0.2rem;">
<van-search <van-search
v-model="value"
v-model="queryParams.schemeName"
placeholder="请输入搜索关键词" placeholder="请输入搜索关键词"
show-action show-action
> >
<template #action> <template #action>
<div>搜索</div>
<div @click="handleQuery">搜索</div>
</template> </template>
</van-search> </van-search>
</div> </div>
<van-list <van-list
v-model="loading"
:finished="finished"
finished-text="没有更多了" 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> <template #icon>
<van-icon name="../../../static/images/lawEnforcement/icon/icon_aj.png" size="30" color="#539FFD" style="margin-right: 10px;" /> <van-icon name="../../../static/images/lawEnforcement/icon/icon_aj.png" size="30" color="#539FFD" style="margin-right: 10px;" />
</template> </template>
<template #label> <template #label>
<p>种子质量问题</p>
<p>{{item.checkList}}</p>
</template> </template>
<template #default> <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> </template>
</van-cell> </van-cell>
<template #right> <template #right>
<van-row> <van-row>
<van-col> <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-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-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-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-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-col>
</van-row> </van-row>
</template> </template>
@@ -58,6 +64,7 @@
</div> </div>
</template> </template>
<script> <script>
import { listScheme , getUserProfile } from "@/api/lawEnforcement/index";
export default { export default {
name: "index", name: "index",
data() { data() {
@@ -69,37 +76,40 @@ export default {
//是否滚动到底部 //是否滚动到底部
finished: false, finished: false,
sheetShow: false, sheetShow: false,
//查询参数
// 查询参数
queryParams: { queryParams: {
// 分页
pageNum: 1, 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() { created() {

this.getDicts("scheme_status").then(response => {
this.applyStatusOptions = response.data;
});
getUserProfile().then(response => {
this.user = response.data.userId;
});
}, },
methods: { methods: {
getList(){ getList(){
this.loading = true; 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; this.finished = true;
return; return;
} }
@@ -107,25 +117,12 @@ export default {
this.loading = false; 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> </script>
@@ -210,11 +207,19 @@ export default {
} }
.van-cell__title{ .van-cell__title{
color: #666666; 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-nav-bar--fixed{
} }
/deep/.van-cell__title{ /deep/.van-cell__title{
flex: 0.6;
flex: 0.7;
} }
/deep/.van-cell__title span{ /deep/.van-cell__title span{
font-family: Arial; font-family: Arial;
@@ -222,7 +227,7 @@ export default {
font-weight: normal; font-weight: normal;
} }
/deep/.van-cell__value{ /deep/.van-cell__value{
flex: 0.4;
flex: 0.3;
} }
/deep/ .van-nav-bar__title{ /deep/ .van-nav-bar__title{
display: flex; display: flex;


+ 117
- 55
src/views/lawEnforcement/programme/programmeModify.vue View File

@@ -16,18 +16,18 @@
</van-cell> </van-cell>
<van-field name="radio" label="是否公开" input-align="right"> <van-field name="radio" label="是否公开" input-align="right">
<template #input> <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> </van-radio-group>
</template> </template>
</van-field> </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 <van-field
readonly readonly
clickable clickable
name="picker" name="picker"
:value="value"
v-model="form.checkStartDate"
label="检查开始日期" label="检查开始日期"
placeholder="点击选择开始日期" placeholder="点击选择开始日期"
@click="showPicker = true" @click="showPicker = true"
@@ -47,7 +47,7 @@
readonly readonly
clickable clickable
name="picker" name="picker"
:value="value"
v-model="form.checkEndDate"
label="检查结束日期" label="检查结束日期"
placeholder="点击选择结束日期" placeholder="点击选择结束日期"
@click="showPicker = true" @click="showPicker = true"
@@ -63,12 +63,12 @@
:max-date="maxDate" :max-date="maxDate"
/> />
</van-popup> </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>


<div class="main_box" style="margin-top: 10px;"> <div class="main_box" style="margin-top: 10px;">
@@ -80,28 +80,40 @@
</van-cell> </van-cell>
<div class="peopleList"> <div class="peopleList">
<van-row> <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="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-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> </van-row>
</div> </div>
</div> </div>

<van-button type="default" class="loginOut" @click="submit">保存</van-button>

</div> </div>
</template> </template>


<script> <script>
import { getScheme , updateScheme , getEnforcerList } from "@/api/lawEnforcement/index";
export default { export default {
name: "programmeDetail", name: "programmeDetail",
data() { data() {
@@ -115,6 +127,10 @@
payeeType:'', payeeType:'',
value:'', value:'',


showPopover:false,
enforcers:[],
actions: [{ text: '选项一' }, { text: '选项二' }, { text: '选项三' }],

bankTypeOptions:[], bankTypeOptions:[],
payeeTypeOptions:[], payeeTypeOptions:[],
minDate: new Date(2020, 0, 1), minDate: new Date(2020, 0, 1),
@@ -124,47 +140,68 @@
}, },
created() { 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: { methods: {
onSelect(e,index) {
this.form.tEnforceSchemeHandlerList[index].enforcerId = e.enforcerId;
this.form.tEnforceSchemeHandlerList[index].name = e.text;
},
getDictionaries(){ 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; 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> </script>
@@ -179,15 +216,31 @@
} }
.peopleList{ .peopleList{
padding-right: 3%; padding-right: 3%;
margin-top: 3%;
.van-row{ .van-row{
margin-bottom: 10PX; margin-bottom: 10PX;
.van-col{ .van-col{
text-align: center; text-align: center;
font-size: 14PX; 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{ &:first-child{
.van-col{ .van-col{
color: #1D6FE9; color: #1D6FE9;
line-height: 0.64rem;
padding: 0;
} }
} }
} }
@@ -242,4 +295,13 @@
right: 0; right: 0;
border-radius: 50%; 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> </style>

+ 77
- 0
src/views/lawEnforcement/scheme/schemeDetail.vue View File

@@ -87,6 +87,27 @@
</van-row> </van-row>


</div> </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> </div>
</template> </template>
<script> <script>
@@ -104,15 +125,20 @@ export default {
showPicker:false, showPicker:false,
form:{}, form:{},


pass: "true",
comment: "同意",

bankType:'', bankType:'',
payeeType:'', payeeType:'',
value:'', value:'',
type:'',


schemeOption:[] schemeOption:[]


}; };
}, },
created() { created() {
this.type = this.$route.query.type;
this.getDetail() this.getDetail()
}, },
methods: { methods: {
@@ -121,6 +147,28 @@ export default {
this.schemeOption = response.data; 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> </script>
@@ -133,6 +181,35 @@ export default {
.app-container { .app-container {
padding: 0; 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 { .van-uploader {
padding: 15PX; padding: 15PX;
} }


+ 85
- 12
src/views/lawEnforcement/user/index.vue View File

@@ -3,18 +3,41 @@
<div class="topBackground"> <div class="topBackground">
<van-nav-bar title="我的" fixed placeholder/> <van-nav-bar title="我的" fixed placeholder/>
<van-row class="userInformation" v-if="user"> <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-col>
</van-row> </van-row>
</div> </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-group class="listBox">
<van-cell is-link to="/lawEnforcement/programme"> <van-cell is-link to="/lawEnforcement/programme">
<template #title> <template #title>
@@ -54,6 +77,7 @@
</div> </div>
</template> </template>
<script> <script>
import request from "@/utils/request";
import { getUserProfile } from "@/api/lawEnforcement/index"; import { getUserProfile } from "@/api/lawEnforcement/index";
import { logout ,getInfo } from "@/api/login/index"; import { logout ,getInfo } from "@/api/login/index";
import law from "@/components/common/law_footer"; import law from "@/components/common/law_footer";
@@ -67,13 +91,28 @@ export default {
user: { user: {
dept:{} dept:{}
}, },
// 查询参数
queryParamsTask: {
pageNum: 1,
pageSize: 5,
taskId: null,
taskName: null,
systemType: 26,
},
roleGroup: {}, roleGroup: {},
postGroup: {}, postGroup: {},
activeTab: "userinfo"

activeTab: "userinfo",
taskList:[],
activityBusinessTypeOptions:[],
}; };
}, },
created() { created() {
this.getDicts("activity_business_type").then((response) => {
this.activityBusinessTypeOptions = response.data;
});
this.getUser(); this.getUser();
this.getTaskList();
}, },
methods: { methods: {
loginOut(){ loginOut(){
@@ -87,7 +126,25 @@ export default {
this.roleGroup = response.roleGroup; this.roleGroup = response.roleGroup;
this.postGroup = response.postGroup; 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> </script>
@@ -121,12 +178,13 @@ export default {
overflow: hidden; overflow: hidden;
} }
.userName{ .userName{
font-size: 0.55rem;
font-size: 0.8rem;
color: #FFFFFF; color: #FFFFFF;
line-height: 0.85rem; line-height: 0.85rem;
} }
.userDept{ .userDept{
font-size: 0.4rem; font-size: 0.4rem;
text-align: right;
color: #FFFFFF; color: #FFFFFF;
line-height: 0.85rem; line-height: 0.85rem;
} }
@@ -176,4 +234,19 @@ export default {
box-shadow: 0PX 5PX 5PX #cccccc; box-shadow: 0PX 5PX 5PX #cccccc;
border: none; 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> </style>

+ 237
- 0
src/views/lawEnforcement/user/waitingProcessing.vue View File

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

Loading…
Cancel
Save