Pārlūkot izejas kodu

农业执法问题修改

wulanhaote
庞东旭 pirms 3 gadiem
vecāks
revīzija
727b017943
9 mainītis faili ar 531 papildinājumiem un 304 dzēšanām
  1. +1
    -1
      src/components/common/law_footer.vue
  2. +60
    -43
      src/views/lawEnforcement/case/caseDetail.vue
  3. +140
    -124
      src/views/lawEnforcement/case/caseList.vue
  4. +35
    -11
      src/views/lawEnforcement/complaint/indexComplaint.vue
  5. +1
    -1
      src/views/lawEnforcement/index.vue
  6. +33
    -20
      src/views/lawEnforcement/programme/programmeApproval.vue
  7. +90
    -24
      src/views/lawEnforcement/scheme/schemeDetail.vue
  8. +39
    -18
      src/views/lawEnforcement/user/index.vue
  9. +132
    -62
      src/views/lawEnforcement/user/waitingProcessing.vue

+ 1
- 1
src/components/common/law_footer.vue Parādīt failu

@@ -3,8 +3,8 @@
<router-view />
<van-tabbar route :placeholder="true" >
<van-tabbar-item replace to="/lawEnforcement" icon="wap-home-o">首页</van-tabbar-item>
<van-tabbar-item replace to="/lawEnforcement/caseList" icon="apps-o">案件</van-tabbar-item>
<van-tabbar-item replace to="/lawEnforcement/productsList" icon="shop-o">农用品</van-tabbar-item>
<van-tabbar-item replace to="/lawEnforcement/caseList" icon="apps-o">案件</van-tabbar-item>
<van-tabbar-item replace to="/lawEnforcement/user" icon="contact">我的</van-tabbar-item>
</van-tabbar>
</div>


+ 60
- 43
src/views/lawEnforcement/case/caseDetail.vue Parādīt failu

@@ -1,7 +1,7 @@
<template>
<div class="app-container">
<van-nav-bar
title="案件详情"
:title="type == 'waiting' ? '案件审批':'案件详情'"
fixed
placeholder
left-arrow
@@ -214,23 +214,22 @@
</div>
</van-col>
<van-col :span="20">
<van-cell :title="item.activityName" center>
<template #label>
<p>{{ item.endTime }}</p>
<van-cell :title="item.activityName" center :border="false">
<template #default>
<p style="color: #666666;">{{ item.assigneeName }}</p>
</template>
</van-cell>

<van-cell center :border="false">
<template #title>
<p style="color: #999999;">{{ item.endTime }}</p>
</template>
<template #default>
<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>

<p class="bq">审批意见:{{ item.comment }}</p>
</van-col>
</van-row>
</div>
@@ -538,27 +537,27 @@
</div>
</van-col>
<van-col :span="20">
<van-cell :title="item.activityName" center>
<template #label>
<p>{{ item.endTime }}</p>
<van-cell :title="item.activityName" center :border="false">
<template #default>
<p style="color: #666666;">{{ item.assigneeName }}</p>
</template>
</van-cell>

<van-cell center :border="false">
<template #title>
<p style="color: #999999;">{{ item.endTime }}</p>
</template>
<template #default>
<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>

<p class="bq">审批意见:{{ item.comment }}</p>
</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>
@@ -698,23 +697,22 @@
</div>
</van-col>
<van-col :span="20">
<van-cell :title="item.activityName" center>
<template #label>
<p>{{ item.endTime }}</p>
<van-cell :title="item.activityName" center :border="false">
<template #default>
<p style="color: #666666;">{{ item.assigneeName }}</p>
</template>
</van-cell>

<van-cell center :border="false">
<template #title>
<p style="color: #999999;">{{ item.endTime }}</p>
</template>
<template #default>
<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>

<p class="bq">审批意见:{{ item.comment }}</p>
</van-col>
</van-row>
</div>
@@ -1536,6 +1534,8 @@ export default {
this.getInformation();
});



// treeselect().then((response) => {
// this.deptOptions = response.data;
// });
@@ -2125,6 +2125,7 @@ export default {
that.zhixingShow = true ;
}
},500)

console.log(this.caseProgressOptions)
},

@@ -2148,6 +2149,7 @@ export default {
row.durationInMillis / 1000
);
});

}else if (type == 'treat'){
this.treatHistoryList = response.rows;
this.treatHistoryList.forEach((row) => {
@@ -2230,6 +2232,10 @@ export default {
.app-container {
padding: 0;
}
.van-row{
display: flex;
flex-wrap: wrap;
}
.examine_box{
background-color: #1D6FE9!important;
padding: 0.18rem!important;
@@ -2460,19 +2466,22 @@ export default {
margin-bottom: 20PX;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
.van-col{
height: 76PX;
position: relative;
}
.van-col--20{
padding: 12PX 0;
}
.van-row:nth-child(2n){
background: rgba(29,111,233,0.1);
}
/deep/ .van-cell{
background: transparent;
padding: 10Px;
padding: 0 10Px;
}
.bq{
display: inline-block;
padding: 4PX 10PX;
padding: 0PX 10PX;
line-height: 0.64rem;
border-radius: 5PX;
}
.index{
@@ -2491,11 +2500,19 @@ export default {
.indexCenter{
top: 0!important;
}
.van-row:first-child{
.van-col:first-child{
.indexBorder {
top: calc(50% - 5px);
}
}
}
.indexBorder{
width: 10PX;
position: absolute;
right: 0;
top: calc(50% - 5PX);
top: 0;
height: 100%;
.yq{
height: 10PX;
width: 10PX;
@@ -2503,14 +2520,14 @@ export default {
border-radius: 50%;
}
.ss{
height: 33PX;
height: calc(50% - 5PX);
width: 2PX;
background: #C9C9C9;
position: relative;
left: 4PX;
}
.ssT{
height: 33PX;
height: calc(50% - 5PX);
width: 2PX;
background: #C9C9C9;
position: relative;


+ 140
- 124
src/views/lawEnforcement/case/caseList.vue Parādīt failu

@@ -1,139 +1,147 @@
<template>
<div class="app-container">
<van-nav-bar title="案件" fixed placeholder />
<div style="display: flex;padding: 0 3% 0.2rem;">
<form action="#" style="flex: 0.75;">
<van-search
v-model="queryParams.caseNum"
placeholder="请输入案件编号"
:search="handleQuery"
>
</van-search>
</form>
<van-button type="info" @click="sheetShow = true" style="flex: 0.25;border-radius: 30PX;height: 0.95rem;">
<van-icon name="../../../static/images/lawEnforcement/icon/icon_ssbt.png" size="17" style="vertical-align: middle;margin-right: 5px;" />筛选
</van-button>
</div>
<van-row style="padding: 0.2rem 3%;" v-show="showSxtj">
<van-col :span="20"><p style="line-height: 20px;font-size: 14px;color: #878787;">筛选条件:{{showType}} {{showCaseStatus}} {{showCaseProgress}}</p></van-col>
<van-col :span="4" align="right"><van-icon name="close" size="20" @click="resetQuery"/></van-col>
</van-row>
<van-action-sheet v-model="sheetShow" title="筛选" duration="0.2" close-icon="arrow-down">
<div class="sheetContent">
<van-field
readonly
clickable
name="picker"
v-model="showType"
label="当事人类型"
placeholder="点击选择当事人类型"
@click="showDsrlx = true"
/>
<van-popup v-model="showDsrlx" position="bottom">
<van-picker
show-toolbar
:columns="typeColumns"
@confirm="onConfirmDsrlx"
@cancel="showDsrlx = false"
<template v-if="loginType">
<div style="display: flex;padding: 0 3% 0.2rem;">
<form action="#" style="flex: 0.75;">
<van-search
v-model="queryParams.caseNum"
placeholder="请输入案件编号"
:search="handleQuery"
>
</van-search>
</form>
<van-button type="info" @click="sheetShow = true" style="flex: 0.25;border-radius: 30PX;height: 0.95rem;">
<van-icon name="../../../static/images/lawEnforcement/icon/icon_ssbt.png" size="17" style="vertical-align: middle;margin-right: 5px;" />筛选
</van-button>
</div>
<van-row style="padding: 0.2rem 3%;" v-show="showSxtj">
<van-col :span="20"><p style="line-height: 20px;font-size: 14px;color: #878787;">筛选条件:{{showType}} {{showCaseStatus}} {{showCaseProgress}}</p></van-col>
<van-col :span="4" align="right"><van-icon name="close" size="20" @click="resetQuery"/></van-col>
</van-row>
<van-action-sheet v-model="sheetShow" title="筛选" duration="0.2" close-icon="arrow-down">
<div class="sheetContent">
<van-field
readonly
clickable
name="picker"
v-model="showType"
label="当事人类型"
placeholder="点击选择当事人类型"
@click="showDsrlx = true"
/>
</van-popup>
<van-field
readonly
clickable
name="picker"
v-model="showCaseStatus"
label="案件状态"
placeholder="点击选择案件状态"
@click="showAjzt = true"
/>
<van-popup v-model="showAjzt" position="bottom">
<van-picker
show-toolbar
:columns="caseStatusColumns"
@confirm="onConfirmAjzt"
@cancel="showAjzt = false"
<van-popup v-model="showDsrlx" position="bottom">
<van-picker
show-toolbar
:columns="typeColumns"
@confirm="onConfirmDsrlx"
@cancel="showDsrlx = false"
/>
</van-popup>
<van-field
readonly
clickable
name="picker"
v-model="showCaseStatus"
label="案件状态"
placeholder="点击选择案件状态"
@click="showAjzt = true"
/>
</van-popup>
<van-field
readonly
clickable
name="picker"
v-model="showCaseProgress"
label="案件执法进度"
placeholder="点击选择案件执法进度"
@click="showAjzfjd = true"
/>
<van-popup v-model="showAjzfjd" position="bottom">
<van-picker
show-toolbar
:columns="caseProgressColumns"
@confirm="onConfirmAjzfjd"
@cancel="showAjzfjd = false"
<van-popup v-model="showAjzt" position="bottom">
<van-picker
show-toolbar
:columns="caseStatusColumns"
@confirm="onConfirmAjzt"
@cancel="showAjzt = false"
/>
</van-popup>
<van-field
readonly
clickable
name="picker"
v-model="showCaseProgress"
label="案件执法进度"
placeholder="点击选择案件执法进度"
@click="showAjzfjd = true"
/>
</van-popup>
<!-- <p class="sheetTitle">当事人类型</p>-->
<!-- <van-row>-->
<!-- <van-col :span="6"><p class="active">全部</p></van-col>-->
<!-- <van-col :span="12"><p>个人/个体工商户</p></van-col>-->
<!-- <van-col :span="6"><p>企业</p></van-col>-->
<!-- </van-row>-->
<!-- <p class="sheetTitle">案件状态</p>-->
<!-- <van-row>-->
<!-- <van-col :span="6"><p class="active">全部</p></van-col>-->
<!-- <van-col :span="6"><p>进行中</p></van-col>-->
<!-- <van-col :span="6"><p>结束</p></van-col>-->
<!-- <van-col :span="6"><p>中断</p></van-col>-->
<!-- </van-row>-->
<!-- <p class="sheetTitle">案件执法进度</p>-->
<!-- <van-row>-->
<!-- <van-col :span="6"><p class="active">全部</p></van-col>-->
<!-- <van-col :span="6"><p>登记</p></van-col>-->
<!-- <van-col :span="6"><p>勘察</p></van-col>-->
<!-- <van-col :span="6"><p>立案</p></van-col>-->
<!-- </van-row>-->
<!-- <van-row>-->
<!-- <van-col :span="6"><p>取证</p></van-col>-->
<!-- <van-col :span="6"><p>处理</p></van-col>-->
<!-- <van-col :span="6"><p>裁决</p></van-col>-->
<!-- <van-col :span="6"><p>执行</p></van-col>-->
<!-- </van-row>-->
<!-- <van-row>-->
<!-- <van-col :span="6"><p>备案</p></van-col>-->
<!-- <van-col :span="6"><p>结案</p></van-col>-->
<!-- </van-row>-->
</div>
<van-row>
<van-col :span="12" align="center"><van-button type="default" style="width: 90%;height: 1.2rem;border-radius: 4PX;" @click="resetQuery">重置</van-button></van-col>
<van-col :span="12" align="center"><van-button type="info" style="width: 90%;height: 1.2rem;border-radius: 4PX;" @click="handleQuery">确定</van-button></van-col>
</van-row>
</van-action-sheet>
<van-list
v-model="loading"
:finished="finished"
finished-text="没有更多了"
@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,caseProgress:item.caseProgress}}">
<template #icon>
<van-icon name="../../../static/images/lawEnforcement/icon/icon_aj.png" size="30" color="#539FFD" style="margin-right: 10px;" />
</template>
<template #label>
<p>{{item.caseNumPart1}}农{{item.caseNumPart2}}[{{item.caseNumPart3}}]{{item.caseNum}}号<i style="margin-right: 0.5rem;"></i>{{item.name}}</p>
</template>
<template #default>
<p>{{item.caseStatus}}</p>
<p style="color: #1D6FE9;">{{selectDictLabel(caseProgressOptions, item.caseProgress)}}</p>
</template>
</van-cell>
</van-swipe-cell>
</van-list>
<van-popup v-model="showAjzfjd" position="bottom">
<van-picker
show-toolbar
:columns="caseProgressColumns"
@confirm="onConfirmAjzfjd"
@cancel="showAjzfjd = false"
/>
</van-popup>
<!-- <p class="sheetTitle">当事人类型</p>-->
<!-- <van-row>-->
<!-- <van-col :span="6"><p class="active">全部</p></van-col>-->
<!-- <van-col :span="12"><p>个人/个体工商户</p></van-col>-->
<!-- <van-col :span="6"><p>企业</p></van-col>-->
<!-- </van-row>-->
<!-- <p class="sheetTitle">案件状态</p>-->
<!-- <van-row>-->
<!-- <van-col :span="6"><p class="active">全部</p></van-col>-->
<!-- <van-col :span="6"><p>进行中</p></van-col>-->
<!-- <van-col :span="6"><p>结束</p></van-col>-->
<!-- <van-col :span="6"><p>中断</p></van-col>-->
<!-- </van-row>-->
<!-- <p class="sheetTitle">案件执法进度</p>-->
<!-- <van-row>-->
<!-- <van-col :span="6"><p class="active">全部</p></van-col>-->
<!-- <van-col :span="6"><p>登记</p></van-col>-->
<!-- <van-col :span="6"><p>勘察</p></van-col>-->
<!-- <van-col :span="6"><p>立案</p></van-col>-->
<!-- </van-row>-->
<!-- <van-row>-->
<!-- <van-col :span="6"><p>取证</p></van-col>-->
<!-- <van-col :span="6"><p>处理</p></van-col>-->
<!-- <van-col :span="6"><p>裁决</p></van-col>-->
<!-- <van-col :span="6"><p>执行</p></van-col>-->
<!-- </van-row>-->
<!-- <van-row>-->
<!-- <van-col :span="6"><p>备案</p></van-col>-->
<!-- <van-col :span="6"><p>结案</p></van-col>-->
<!-- </van-row>-->
</div>
<van-row>
<van-col :span="12" align="center"><van-button type="default" style="width: 90%;height: 1.2rem;border-radius: 4PX;" @click="resetQuery">重置</van-button></van-col>
<van-col :span="12" align="center"><van-button type="info" style="width: 90%;height: 1.2rem;border-radius: 4PX;" @click="handleQuery">确定</van-button></van-col>
</van-row>
</van-action-sheet>
<van-list
v-model="loading"
:finished="finished"
finished-text="没有更多了"
@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,caseProgress:item.caseProgress}}">
<template #icon>
<van-icon name="../../../static/images/lawEnforcement/icon/icon_aj.png" size="30" color="#539FFD" style="margin-right: 10px;" />
</template>
<template #label>
<p>{{item.caseNumPart1}}农{{item.caseNumPart2}}[{{item.caseNumPart3}}]{{item.caseNum}}号<i style="margin-right: 0.5rem;"></i>{{item.name}}</p>
</template>
<template #default>
<p>{{item.caseStatus}}</p>
<p style="color: #1D6FE9;">{{selectDictLabel(caseProgressOptions, item.caseProgress)}}</p>
</template>
</van-cell>
</van-swipe-cell>
</van-list>
</template>
<van-empty v-else description="请登录查看更多内容" >
<van-button icon="friends" color="#1D6FE9" style="padding: 0 30PX;border-radius: 5PX" to="/lawEnforcement/login">
立即登录
</van-button>
</van-empty>
<law></law>
</div>
</template>
<script>
import { getTopDeptId , listCase } from "@/api/lawEnforcement/index";
import law from "@/components/common/law_footer";
import Cookies from "js-cookie";
export default {
name: "index",
components: {
@@ -152,6 +160,7 @@ export default {
showAjzt: false,
showAjzfjd: false,
showSxtj: false,
loginType:false,
// 查询参数
queryParams: {
// 分页
@@ -200,9 +209,16 @@ export default {
this.caseProgressColumns.push({text: response.data[i].dictLabel, value: response.data[i].dictValue})
}
});
if(!Cookies.get("User-Token")){
this.loginType = false ;
return
}else{
this.getList()
}
},
methods: {
getList(){
this.loginType = true ;
this.loading = true;
listCase(this.queryParams).then(response => {
for (var i = 0; i < response.rows.length; i++) {


+ 35
- 11
src/views/lawEnforcement/complaint/indexComplaint.vue Parādīt failu

@@ -1,19 +1,19 @@
<template>
<div class="app-container">
<div class="app-container" id="container">
<van-nav-bar
title="投诉回复"
fixed
placeholder
left-arrow
@click-left="onClickLeft"
@click-left="onClickIndex"
/>
<van-list
v-model="loading"
:finished="finished"
finished-text="没有更多了"
:finished-text="pageId == 0 ? '没有更多了' : ''"
@load="getNewList"
>
<div class="tabsBox" v-for="(item,index) in schemeList" :key="index" :id="index">
<div class="tabsBox" v-for="(item,index) in schemeList" :key="index" :id="item.id">
<van-cell :title="item.name" :label="'待回复 · ' + item.replyTime" center>
<template #icon>
<van-icon name="../../../static/images/lawEnforcement/12.jpg" size="36" color="#539FFD" style="margin-right: 10px;border-radius: 50%;overflow: hidden;" />
@@ -52,6 +52,7 @@
<van-col :span="12"></van-col>
</van-row>
</div>
<p style="text-align: center;font-size: 14px;color: #666666" v-if="pageId!=0 && finished" @click="getAll">查看全部</p>
</van-list>
</div>
</template>
@@ -65,7 +66,7 @@ export default {
//查询参数
queryParams: {
pageNum: 1,
pageSize: 5,
pageSize: 10,
deptId:100,
},
schemeList:[],
@@ -73,7 +74,8 @@ export default {
loading: false,
//是否滚动到底部
finished: false,
communicateOptions:[]
communicateOptions:[],
pageId:0
};
},
created() {
@@ -81,18 +83,29 @@ export default {
this.getDicts("communicate_type").then(res => {
this.communicateOptions = res.data;
});
this.pageId = this.$route.query.id?this.$route.query.id:0;
},
methods: {
getNewList(){
this.loading = true;
console.log(this.$route.query.id)
getTopDeptId().then(response => {
this.queryParams.deptId = response.data ;
communicate(this.queryParams).then(response => {
for (var i = 0; i < response.rows.length; i++) {
response.rows[i].replyTime = response.rows[i].replyTime == '' ? '' : response.rows[i].replyTime.substr(0,10);

response.rows[i].communicateType = this.selectDictLabel(this.communicateOptions,response.rows[i].communicateType)
this.schemeList.push(response.rows[i]);
if (this.$route.query.id){
if (this.$route.query.id == response.rows[i].id){
this.schemeList.push(response.rows[i]);
this.finished = true;
this.loading = false;
return;
}
}else{
this.schemeList.push(response.rows[i]);
}

}
if(this.schemeList.length >= response.total){
this.finished = true;
@@ -102,10 +115,18 @@ export default {
this.loading = false;
})
})

},


getAll(){
var url=window.location.href; //获取当前页面的url
if(url.indexOf("?")!=-1){ //判断是否存在参数
url = url.replace(/(\?|#)[^'"]*/, ''); //去除参数
window.history.pushState({},0,url);
}
location.reload();
},
onClickIndex(){
this.$router.push('/lawEnforcement');
}
},
};
</script>
@@ -115,6 +136,9 @@ export default {
font-family: SourceHanSansCNBold;
src: url("../../../assets/fonts/SourceHanSansCN-Bold.otf");
}
body{
overflow: scroll;
}
.app-container{
padding: 5% 2%;
}


+ 1
- 1
src/views/lawEnforcement/index.vue Parādīt failu

@@ -54,7 +54,7 @@
<span class="custom-title">投诉建议<i class="bgBlue"></i></span>
</template>
</van-cell>
<van-cell v-for="(item , index) in communicateList" :key="index" url="/lawEnforcement/indexComplaint#2" :title="item.title" :value="item.replyTime"></van-cell>
<van-cell v-for="(item , index) in communicateList" :key="index" :to="{name:'indexComplaint',query:{id:item.id}}" :title="item.title" :value="item.replyTime"></van-cell>
</van-cell-group>
<div style="height: 20PX"></div>
<law></law>


+ 33
- 20
src/views/lawEnforcement/programme/programmeApproval.vue Parādīt failu

@@ -18,23 +18,22 @@
</div>
</van-col>
<van-col :span="20">
<van-cell :title="item.activityName" center :to="{name:'programmeDetail'}">
<template #label>
<p>{{ item.endTime }}</p>
<van-cell :title="item.activityName" center :border="false">
<template #default>
<p style="color: #666666;">{{ item.assigneeName }}</p>
</template>
</van-cell>

<van-cell center :border="false">
<template #title>
<p style="color: #999999;">{{ item.endTime }}</p>
</template>
<template #default>
<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>

<p class="bq">审批意见:{{ item.comment }}</p>
</van-col>
</van-row>
</div>
@@ -145,8 +144,12 @@
.app-container {
padding: 2% 2%;
}
.van-row{
display: flex;
flex-wrap: wrap;
}
.main_box2{
width: 96%;
width: 100%;
margin: 0 auto;
background: #ffffff;
border-radius: 6PX;
@@ -155,21 +158,23 @@
margin-bottom: 20PX;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
.van-col{
height: 76PX;
position: relative;
}
.van-col--20{
padding: 12PX 0;
}
.van-row:nth-child(2n){
background: rgba(29,111,233,0.1);
}
/deep/ .van-cell{
background: transparent;
padding: 10Px;
padding: 0 10Px;
}
.bq{
display: inline-block;
padding: 4PX 8PX;
padding: 0PX 10PX;
line-height: 0.64rem;
border-radius: 5PX;
font-size: 12Px;
}
.index{
background: #1D6FE9;
@@ -187,11 +192,19 @@
.indexCenter{
top: 0!important;
}
.van-row:first-child{
.van-col:first-child{
.indexBorder {
top: calc(50% - 5px);
}
}
}
.indexBorder{
width: 10PX;
position: absolute;
right: 0;
top: calc(50% - 5PX);
top: 0;
height: 100%;
.yq{
height: 10PX;
width: 10PX;
@@ -199,14 +212,14 @@
border-radius: 50%;
}
.ss{
height: 33PX;
height: calc(50% - 5PX);
width: 2PX;
background: #C9C9C9;
position: relative;
left: 4PX;
}
.ssT{
height: 33PX;
height: calc(50% - 5PX);
width: 2PX;
background: #C9C9C9;
position: relative;


+ 90
- 24
src/views/lawEnforcement/scheme/schemeDetail.vue Parādīt failu

@@ -1,7 +1,7 @@
<template>
<div class="app-container">
<van-nav-bar
title="案件详情"
:title="type == 'waiting' ? '方案审批':'方案详情'"
fixed
placeholder
left-arrow
@@ -15,7 +15,7 @@
</template>
</van-cell>
<van-cell title="方案名称:" :label="schemeOption.schemeName" />
<van-cell title="检查方式:" :value="schemeOption.checkMethod" />
<van-cell title="检查方式:" :label="schemeOption.checkMethod" />
<van-cell title="检查部门:" :value="schemeOption.checkDepartment" />
<van-cell title="检查时间:" :value="schemeOption.checkStartDate" />
<van-cell title="检查类型:" :value="schemeOption.checkType" />
@@ -45,7 +45,6 @@
</van-row>
</div>
</div>

<div class="main_box2">
<van-cell>
<template #title>
@@ -64,28 +63,27 @@
</div>
</van-col>
<van-col :span="20">
<van-cell :title="item.activityName" center>
<template #label>
<p>{{item.time}}</p>
<van-cell :title="item.activityName" center :border="false">
<template #default>
<p style="color: #666666;">{{ item.assigneeName }}</p>
</template>
</van-cell>

<van-cell center :border="false">
<template #title>
<p style="color: #999999;">{{ item.endTime }}</p>
</template>
<template #default>
<p style="color: #999999;">{{item.assigneeName == null ? '(空)' : item.assigneeName}}</p>
<p style="color: #666666;">
<span
class="bq"
:style="{
background:item.comment == '提交申请' ? 'rgba(29,111,233,0.2)' : item.comment == '同意' ? 'rgba(29,204,128,0.2)' : item.comment == '自动结束' ? 'rgba(255,166,62,0.2)' : '',
color:item.comment == '提交申请' ? '#1D6FE9' : item.comment == '同意' ? '#1DCC80' : item.comment == '自动结束' ? '#FFA63E' : ''
}"
>
{{item.comment}}
</span>
</p>
<p style="color: #999999;">{{ item.durationInMillis }}</p>
</template>
</van-cell>

<p class="bq">审批意见:{{ item.comment }}</p>
</van-col>
</van-row>



</div>

<div class="main_box examine_box" v-if="type == 'waiting'">
@@ -144,6 +142,14 @@ export default {
methods: {
getDetail(){
schemeDetail(this.$route.query.id).then(response => {
response.data.historicActivityList.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.schemeOption = response.data;
});
},
@@ -167,11 +173,55 @@ export default {
}).then((response) => {
if (response.code == 200 && response.msg == "操作成功") {
this.$notify({ type: 'success' , message: "操作成功" });
setTimeout(function () {
history.back(-1);
},1000)
} else {
this.$notify({ type: 'danger' , message: "操作失败" });
}
});
},

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;
}
})
},
/**
* 计算出相差天数
* @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 + '秒';
},
},
};
</script>
@@ -181,6 +231,10 @@ export default {
font-family: SourceHanSansCNBold;
src: url("../../../assets/fonts/SourceHanSansCN-Bold.otf");
}
.van-row{
display: flex;
flex-wrap: wrap;
}
.app-container {
padding: 0;
padding-bottom: 1%;
@@ -435,18 +489,22 @@ export default {
right: -8PX;
}
.van-col{
height: 76PX;
position: relative;
}
.van-col--20{
padding: 12PX 0;
}
.van-row:nth-child(2n){
background: rgba(29,111,233,0.1);
}
/deep/ .van-cell{
/deep/ .van-row .van-cell{
background: transparent;
padding: 0 10Px;
}
.bq{
display: inline-block;
padding: 4PX 10PX;
padding: 0PX 10PX;
line-height: 0.64rem;
border-radius: 5PX;
}
.index{
@@ -465,11 +523,19 @@ export default {
.indexCenter{
top: 0!important;
}
.van-row:nth-child(2){
.van-col:first-child{
.indexBorder {
top: calc(50% - 5px);
}
}
}
.indexBorder{
width: 10PX;
position: absolute;
right: 0;
top: calc(50% - 5PX);
top: 0;
height: 100%;
.yq{
height: 10PX;
width: 10PX;
@@ -477,14 +543,14 @@ export default {
border-radius: 50%;
}
.ss{
height: 33PX;
height: calc(50% - 5PX);
width: 2PX;
background: #C9C9C9;
position: relative;
left: 4PX;
}
.ssT{
height: 33PX;
height: calc(50% - 5PX);
width: 2PX;
background: #C9C9C9;
position: relative;


+ 39
- 18
src/views/lawEnforcement/user/index.vue Parādīt failu

@@ -2,17 +2,23 @@
<div class="app-container">
<div class="topBackground">
<van-nav-bar title="我的" fixed placeholder/>
<van-row class="userInformation" v-if="user">
<van-col :span="24">
<p class="userName" v-if="user">{{user.nickName}}<span style="font-size: 0.4rem;float: right;">{{roleGroup}}</span></p>
<van-row class="userInformation">
<van-col :span="24" v-show="loginType">
<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" v-if="user">{{user.dept.deptName}}</p>
<p class="userDept" v-if="user">{{postGroup}}</p>
<p class="userDept">{{user.dept.deptName}}</p>
<p class="userDept">{{postGroup}}</p>
</van-col>
<van-col :span="24" v-show="loginButton">
<van-button icon="friends" color="red" style="border-radius: 30PX;padding: 0 30PX;height: 30PX;" to="/lawEnforcement/login">
请登录
</van-button>
<p style="margin-top: 10PX;color: #5289ed">登录后可查看更多信息</p>
</van-col>
</van-row>
</div>
<van-cell-group class="listBox db">
<van-cell value="全部" is-link to="/lawEnforcement/waitingProcessing">
<van-cell-group class="listBox db" v-show="loginType">
<van-cell value="全部" is-link :to="{name:loginType ? '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>
@@ -40,13 +46,13 @@

</van-cell-group>
<van-cell-group class="listBox">
<van-cell is-link to="/lawEnforcement/programme">
<van-cell is-link :to="{name:loginType ? 'programme':''}" >
<template #title>
<van-icon name="../../../static/images/lawEnforcement/icon/icon_fagl.png" size="20"></van-icon>
<span class="custom-title">方案管理</span>
</template>
</van-cell>
<van-cell is-link to="/lawEnforcement/complaint">
<van-cell is-link :to="{name:loginType ? 'complaint':''}" >
<template #title>
<van-icon name="../../../static/images/lawEnforcement/icon/icon_tshf.png" size="20"></van-icon>
<span class="custom-title">投诉回复</span>
@@ -54,26 +60,26 @@
</van-cell>
</van-cell-group>
<van-cell-group class="listBox">
<van-cell is-link to="/lawEnforcement/changePassword">
<van-cell is-link :to="{name:loginType ? 'changePassword':''}" >
<template #title>
<van-icon name="../../../static/images/lawEnforcement/icon/icon_mmxg.png" size="20"></van-icon>
<span class="custom-title">密码修改</span>
</template>
</van-cell>
<van-cell is-link to="/lawEnforcement/feedback">
<van-cell is-link :to="{name:loginType ? 'feedback':''}" >
<template #title>
<van-icon name="../../../static/images/lawEnforcement/icon/icon_bzfk.png" size="20"></van-icon>
<span class="custom-title">帮助反馈</span>
</template>
</van-cell>
<van-cell is-link to="/lawEnforcement/agreement">
<van-cell is-link :to="{name:loginType ? 'agreement':''}" >
<template #title>
<van-icon name="../../../static/images/lawEnforcement/icon/icon_cpxy.png" size="20"></van-icon>
<span class="custom-title">产品协议</span>
</template>
</van-cell>
</van-cell-group>
<van-button type="default" class="loginOut" @click="loginOut">退出登录</van-button>
<van-button type="default" class="loginOut" @click="loginOut" v-if="loginType">退出登录</van-button>
<law></law>
</div>
</template>
@@ -82,6 +88,7 @@ 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";
import Cookies from "js-cookie";
export default {
name: "user",
components: {
@@ -92,6 +99,8 @@ export default {
user: {
dept:{}
},
loginType:false,
loginButton:false,
// 查询参数
queryParamsTask: {
pageNum: 1,
@@ -112,20 +121,30 @@ export default {
this.getDicts("activity_business_type").then((response) => {
this.activityBusinessTypeOptions = response.data;
});
console.log(Cookies.get("User-Token"))
if(!Cookies.get("User-Token")){
this.loginType = false ;
this.loginButton = true ;
return
}
this.getUser();
this.getTaskList();
},
activated: function () {
this.getDicts("activity_business_type").then((response) => {
this.activityBusinessTypeOptions = response.data;
});
if(!Cookies.get("User-Token")){
this.loginType = false ;
this.loginButton = true ;
return
}
this.getUser();
this.getTaskList();//数据加载的方法
},
methods: {
loginOut(){
logout().then(response => {
console.log(response);
Cookies.remove("User-Token");
this.$router.push({
path: '/lawEnforcement'
})
@@ -133,9 +152,11 @@ export default {
},
getUser() {
getUserProfile().then(response => {
this.user = response.data;
this.roleGroup = response.roleGroup;
this.postGroup = response.postGroup;
this.loginType = true ;
this.user = response.data;
this.roleGroup = response.roleGroup;
this.postGroup = response.postGroup;
this.getTaskList();
});
},
getTaskList() {


+ 132
- 62
src/views/lawEnforcement/user/waitingProcessing.vue Parādīt failu

@@ -8,25 +8,25 @@
@click-left="onClickLeft"
/>

<van-tabs>
<van-tab title="待办事项">
<van-dropdown-menu style="margin-top: 10px;">
<van-dropdown-item v-model="queryParamsTask.activityBusinessType" :options="typeOptions" @change="getListchange('db')" />
<van-dropdown-item v-model="queryParamsTask.isAsc" :options="option" @change="getListchange('db')" />
</van-dropdown-menu>
<van-list
v-model="loading"
:finished="finished"
finished-text="没有更多了"
@load="getTaskList"
>
<van-cell-group class="listBox db">


<van-dropdown-menu>
<van-dropdown-item v-model="queryParamsTask.activityBusinessType" :options="typeOptions" @change="getTaskList" />
<van-dropdown-item v-model="queryParamsTask.isAsc" :options="option" @change="getTaskList" />
</van-dropdown-menu>
<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"
:key="index"
:value="item.formData.createTime == null ? '' : item.formData.createTime.substr(5,5)"
:to="{
<van-cell
v-for="(item,index) in taskList"
:key="index"
:value="item.formData.createTime == null ? '' : item.formData.createTime.substr(5,5)"
:to="{
name:item.formData.activityBusinessType == '21' ? 'schemeDetail':'caseDetail',
query:{
id:item.formData.activityBusinessType == '21' ? item.formData.id:item.formData.caseId,
@@ -34,15 +34,53 @@
type:'waiting'
}
}"
>
<template #title>
<span class="tap">{{selectDictLabel(activityBusinessTypeOptions,item.formData.activityBusinessType).substr(2,2)}}</span>
<span>{{item.projectName}}</span>
</template>
</van-cell>

</van-cell-group>
</van-list>
</van-tab>
<van-tab title="已办事项">
<van-dropdown-menu style="margin-top: 10px;">
<van-dropdown-item v-model="queryParams.activityBusinessType" :options="typeDoneOptions" @change="getListchange" />
<van-dropdown-item v-model="queryParams.isAsc" :options="option" @change="getListchange" />
</van-dropdown-menu>
<van-list
v-model="doneLoading"
:finished="doneFinished"
finished-text="没有更多了"
@load="getTaskDoneList"
>
<template #title>
<span class="tap">{{selectDictLabel(activityBusinessTypeOptions,item.formData.activityBusinessType).substr(2,2)}}</span>
<span>{{item.projectName}}</span>
</template>
</van-cell>
<van-cell-group class="listBox db">

<van-cell
v-for="(item,index) in taskDoneList"
:key="index"
:value="item.formData.createTime == null ? '' : item.formData.createTime.substr(5,5)"
: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:'',
}
}"
>
<template #title>
<span class="tap">{{selectDictLabel(activityBusinessTypeOptions,item.formData.activityBusinessType).substr(2,2)}}</span>
<span>{{item.projectName}}</span>
</template>
</van-cell>

</van-cell-group>
</van-list>
</van-tab>
</van-tabs>


</van-cell-group>
</van-list>
</div>
</template>
<script>
@@ -61,6 +99,9 @@ export default {
typeOptions: [
{ text: '全部待办', value: '' },
],
typeDoneOptions: [
{ text: '全部已办', value: '' },
],
option: [
{ text: '默认排序', value: '' },
{ text: '时间倒序', value: 'desc' },
@@ -70,10 +111,25 @@ export default {
loading: false,
//是否滚动到底部
finished: false,
//是否显示加载
doneLoading: false,
//是否滚动到底部
doneFinished: false,
// 查询参数
queryParamsTask: {
pageNum: 1,
pageSize: 5,
pageSize: 10,
taskId: null,
taskName: null,
systemType: 26,
orderByColumn: "A.ID_",
activityBusinessType:'',
isAsc:''
},
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 10,
taskId: null,
taskName: null,
systemType: 26,
@@ -86,6 +142,7 @@ export default {
//轮播图集合
bannerList:'',
taskList:[],
taskDoneList:[],
activityBusinessTypeOptions:[],
pageType:''
};
@@ -105,17 +162,19 @@ export default {
text:value.dictLabel,
value:value.dictValue
})
that.typeDoneOptions.push({
text:value.dictLabel,
value:value.dictValue
})
}
});
this.activityBusinessTypeOptions = res;
console.log(that.typeOptions)
});
});
this.getTaskList();
},
methods: {
getTaskList() {
this.taskList = []
this.loading = true;
return request({
url: "/activiti/process/taskList",
@@ -124,8 +183,10 @@ export default {
})
.then((response) => {
console.log(response)
this.taskList = response.rows;
if(this.taskList.length >= response.total){
for (var i = 0; i < response.rows.length; i++) {
this.taskList.push(response.rows[i]);
}
if(this.taskList.length >= response.total ){
this.finished = true;
return;
}
@@ -135,6 +196,41 @@ export default {
.then(() => {
});
},
getTaskDoneList(){
this.doneLoading = true;
return request({
url: "/activiti/process/taskDoneList",
method: "get",
params: this.queryParams,
})
.then((response) => {
for (var i = 0; i < response.rows.length; i++) {
this.taskDoneList.push(response.rows[i]);
}
console.log(this.taskDoneList.length >= response.total)
if(this.taskDoneList.length >= response.total ){
this.doneFinished = true;
return;
}
this.queryParams.pageNum += 1 ;
this.doneLoading = false;
})
.then(() => {
});
},
getListchange(type){
if(type == 'db'){
this.taskList = [];
this.queryParamsTask.pageNum = 1;
this.finished = false;
this.getTaskList()
} else {
this.taskDoneList = [];
this.queryParams.pageNum = 1 ;
this.doneFinished = false;
this.getTaskDoneList()
}
}
},
};
</script>
@@ -231,38 +327,6 @@ export default {
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;
@@ -306,4 +370,10 @@ export default {
line-height: inherit;
margin-left: 10px;
}
/deep/ .van-tab{
font-size: 16PX;
}
/deep/ .van-dropdown-menu__title{
font-size: 14PX;
}
</style>

Notiek ielāde…
Atcelt
Saglabāt