Selaa lähdekoodia

执法审批

wulanhaote
庞东旭 3 vuotta sitten
vanhempi
commit
7b91dddc12
5 muutettua tiedostoa jossa 3084 lisäystä ja 0 poistoa
  1. +18
    -0
      src/router/index.js
  2. +5
    -0
      src/views/lawEnforcement/case/caseList.vue
  3. +2544
    -0
      src/views/lawEnforcement/user/caseDetail.vue
  4. +511
    -0
      src/views/lawEnforcement/user/caseList.vue
  5. +6
    -0
      src/views/lawEnforcement/user/index.vue

+ 18
- 0
src/router/index.js Näytä tiedosto

@@ -1662,6 +1662,24 @@ export const constantRoutes = [
},
component: (resolve) => require(['@/views/lawEnforcement/complaint/indexComplaint'], resolve)
},
{
path: '/lawEnforcement/userCaseDetail',
name: 'userCaseDetail',
meta: {
title: '案件审批',
hidden: true,
},
component: (resolve) => require(['@/views/lawEnforcement/user/caseDetail'], resolve)
},
{
path: '/lawEnforcement/userCaseList',
name: 'userCaseList',
meta: {
title: '案件审批列表',
hidden: true,
},
component: (resolve) => require(['@/views/lawEnforcement/user/caseList'], resolve)
},
{
path: '/lawEnforcement/schemeDetail',
name: 'schemeDetail',


+ 5
- 0
src/views/lawEnforcement/case/caseList.vue Näytä tiedosto

@@ -409,6 +409,11 @@ export default {
font-family: Arial;
font-size: 0.4rem;
font-weight: normal;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 1;
word-break: break-all;
overflow: hidden;
}
/deep/.van-cell__value{
flex: 0.3;


+ 2544
- 0
src/views/lawEnforcement/user/caseDetail.vue
File diff suppressed because it is too large
Näytä tiedosto


+ 511
- 0
src/views/lawEnforcement/user/caseList.vue Näytä tiedosto

@@ -0,0 +1,511 @@
<template>
<div class="app-container">
<van-nav-bar title="案件" fixed placeholder
left-arrow
@click-left="onClickLeft"/>
<template v-if="loginType">
<div style="display: flex;padding: 0 3% 0.2rem;">
<form action="#" style="flex: 0.75;">
<van-search
v-model="queryParams.caseOrPartyName"
placeholder="案件名称或当事人姓名"
:search="handleQuery"
v-on:input="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"
/>
</van-popup>
<van-field
readonly
clickable
name="picker"
v-model="showCaseStatus"
label="案件状态"
placeholder="点击选择案件状态"
@click="showAjzt = true"
/>
<van-popup v-model="showAjzt" position="bottom">
<van-picker
show-toolbar
:columns="caseStatusColumns"
@confirm="onConfirmAjzt"
@cancel="showAjzt = false"
/>
</van-popup>
<van-field
readonly
clickable
name="picker"
v-model="showCaseProgress"
label="案件执法进度"
placeholder="点击选择案件执法进度"
@click="showAjzfjd = true"
/>
<van-popup v-model="showAjzfjd" position="bottom">
<van-picker
show-toolbar
:columns="caseProgressColumns"
@confirm="onConfirmAjzfjd"
@cancel="showAjzfjd = false"
/>
</van-popup>
<!-- <p class="sheetTitle">当事人类型</p>-->
<!-- <van-row>-->
<!-- <van-col :span="6"><p class="active">全部</p></van-col>-->
<!-- <van-col :span="12"><p>个人/个体工商户</p></van-col>-->
<!-- <van-col :span="6"><p>企业</p></van-col>-->
<!-- </van-row>-->
<!-- <p class="sheetTitle">案件状态</p>-->
<!-- <van-row>-->
<!-- <van-col :span="6"><p class="active">全部</p></van-col>-->
<!-- <van-col :span="6"><p>进行中</p></van-col>-->
<!-- <van-col :span="6"><p>结束</p></van-col>-->
<!-- <van-col :span="6"><p>中断</p></van-col>-->
<!-- </van-row>-->
<!-- <p class="sheetTitle">案件执法进度</p>-->
<!-- <van-row>-->
<!-- <van-col :span="6"><p class="active">全部</p></van-col>-->
<!-- <van-col :span="6"><p>登记</p></van-col>-->
<!-- <van-col :span="6"><p>勘察</p></van-col>-->
<!-- <van-col :span="6"><p>立案</p></van-col>-->
<!-- </van-row>-->
<!-- <van-row>-->
<!-- <van-col :span="6"><p>取证</p></van-col>-->
<!-- <van-col :span="6"><p>处理</p></van-col>-->
<!-- <van-col :span="6"><p>裁决</p></van-col>-->
<!-- <van-col :span="6"><p>执行</p></van-col>-->
<!-- </van-row>-->
<!-- <van-row>-->
<!-- <van-col :span="6"><p>备案</p></van-col>-->
<!-- <van-col :span="6"><p>结案</p></van-col>-->
<!-- </van-row>-->
</div>
<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="getUser"
>
<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>
</div>
</template>
<script>
import { getUserProfile , listCase , getPersonalByUserId , getCompanyByUserId } from "@/api/lawEnforcement/index";
import law from "@/components/common/law_footer";
import Cookies from "js-cookie";
export default {
name: "index",
components: {
law
},
data() {
return {
value:'',
radio:'',
//是否显示加载
loading: false,
//是否滚动到底部
finished: false,
sheetShow: false,
showDsrlx: false,
showAjzt: false,
showAjzfjd: false,
showSxtj: false,
loginType:true,
// 查询参数
queryParams: {
// 分页
pageNum: 1,
pageSize: 10,
// 查询排序
orderByColumn: "id",
isAsc: "desc",
caseNum: null,
type: null,
caseStatus: null,
caseProgress: null,
caseOrPartyName: '',
},
//新闻集合
newList:[],
// 案件登记表格数据
caseList: [],
caseStatusOptions:[],
caseProgressOptions:[],
typeOptions:[],
typeColumns:[],
caseStatusColumns:[],
caseProgressColumns:[],
showType : '',
showCaseStatus : '',
showCaseProgress : '',
};
},
created() {
this.getDicts("enforce_body_type").then(response => {
this.typeOptions = response.data;
for (var i = 0 ; i < response.data.length ; i++){
this.typeColumns.push({text: response.data[i].dictLabel, value: response.data[i].dictValue})

}
});
this.getDicts("case_status").then(response => {
this.caseStatusOptions = response.data;
for (var i = 0 ; i < response.data.length ; i++){
this.caseStatusColumns.push({text: response.data[i].dictLabel, value: response.data[i].dictValue})
}
});
this.getDicts("case_node").then(response => {
this.caseProgressOptions = response.data;
for (var i = 0 ; i < response.data.length ; i++){
this.caseProgressColumns.push({text: response.data[i].dictLabel, value: response.data[i].dictValue})
}
});
},
methods: {
getUser() {
if(!Cookies.get("User-Token")){
this.loginType = false ;
this.loading = false;
this.finished = true;
return
}
getUserProfile().then(response => {
this.loginType = true;
if (response.data.roles.length < 1){
this.tabShow = false;
}else{
response.data.roles.forEach(res=>{
if (res.roleKey == 'personal_user'){//个体用户
getPersonalByUserId(response.data.userId).then( item => {
console.log(item.id)
if (item.data.id != undefined && item.data.id != null && item.data.id != ``){
console.log('aaa')
this.queryParams.type = "1";
this.queryParams.bodyId = item.data.id;
this.getList();
}else{
this.loading = false;
this.finished = true;
}

})
} else if (res.roleKey == 'company_user'){//企业用户
getCompanyByUserId(response.data.userId).then( item => {
console.log(item.id)
if (item.data.id != undefined && item.data.id != null && item.data.id != ``){
console.log('bbb')
this.queryParams.type = "2";
this.queryParams.bodyId = item.data.id;
this.getList();
}else{
this.loading = false;
this.finished = true;
}
})
} else {
console.log("ccc")
this.getList();
}
})
}
});
},
getList(){
this.loginType = true ;
this.loading = true;
listCase(this.queryParams).then(response => {
for (var i = 0; i < response.rows.length; i++) {
response.rows[i].caseStatus = this.selectDictLabel(this.caseStatusOptions, response.rows[i].caseStatus);
this.caseList.push(response.rows[i])
}
if(this.caseList.length >= response.total){
this.finished = true;
return;
}
this.queryParams.pageNum += 1 ;
this.loading = false;
});
},
goDetail(id){
console.log(id)
window.location = 'news/newDetail?id='+id;
},
onConfirmDsrlx(data){
this.queryParams.type = data.value;
this.showType = data.text;
this.showDsrlx = false;
},
onConfirmAjzt(data){
this.queryParams.caseStatus = data.value;
this.showCaseStatus = data.text
this.showAjzt = false;
},
onConfirmAjzfjd(data){
this.queryParams.caseProgress = data.value;
this.showCaseProgress = data.text
this.showAjzfjd = false;
},
resetQuery(){
this.queryParams = {
// 分页
pageNum: 1,
pageSize: 10,
// 查询排序
orderByColumn: "id",
isAsc: "desc",
caseNum: null,
type: null,
caseStatus: null,
caseProgress: null,
};
this.showType = '';
this.showCaseStatus = '';
this.showCaseProgress = '';
this.showSxtj = false;
this.getList()
},
/** 搜索按钮操作 */
handleQuery() {
if(this.showType != '' || this.showCaseStatus != '' || this.showCaseProgress != ''){
this.showSxtj = true;
}
this.caseList = [];
this.queryParams.pageNum = 1;
this.getList();
},
},
};
</script>

<style scoped lang="scss">
@font-face {
font-family: SourceHanSansCNBold;
src: url("../../../assets/fonts/SourceHanSansCN-Bold.otf");
}
.app-container {
padding: 0.2rem 3%;
}
/deep/ .van-action-sheet__content{
padding-bottom: 0.5rem;
}
/deep/ .van-nav-bar .van-icon{
color: #ffffff;
}
.sheetContent{
padding: 10PX 1% 0;
margin-bottom: 0.5rem;
.sheetTitle{
font-size: 0.42rem;
background-color: transparent;
width:auto;
color: #333333;
border:none;
margin-bottom: 10PX;
padding: 0 15px;
}
/deep/ .van-row{
margin-bottom: 10PX;
}
/deep/ .van-col{
text-align: center;
padding: 0 15px;
}
.active{
background-color: #1D6FE9;
color: #FFFFFF;
border: none;
}
p{
font-size: 0.42rem;
padding: 0.2rem 0;
color: #666666;
border-radius: 4PX;
border: 1px solid #B4B0B0;
}
}
/deep/ .van-action-sheet__header{
border-bottom: 8PX solid #eeeeee;
}
/deep/.van-swipe-cell{
margin-bottom: 0.2rem;
border-radius: 0.2rem;
overflow: hidden;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
}
/deep/ .van-search__content{
background-color: #ffffff;
border-radius: 20PX;
border: 1px solid #cccccc;
margin-right: 2%;
}
/deep/ .van-search__action{
background-color: #1D6FE9;
border-radius: 20PX;
text-align: center;
color: #ffffff;
}
/deep/ .van-search{
background-color: transparent;
padding: 0;
}
.van-cell__title{
color: #666666;
}
/deep/ .van-nav-bar--fixed{
background: url("../../../../static/images/lawEnforcement/head_bg.png") 100%;
}
/deep/.van-cell__title{
flex: 0.7;
}
/deep/.van-cell__title span{
font-family: Arial;
font-size: 0.4rem;
font-weight: normal;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 1;
word-break: break-all;
overflow: hidden;
}
/deep/.van-cell__value{
flex: 0.3;
}
/deep/ .van-nav-bar__title{
display: flex;
max-width: initial;
color: #ffffff;
p{
line-height: 30Px;
margin-left: 6Px;
font-size: 21Px;
color: #D60303;
font-family: SourceHanSansCNBold;
}
}
/deep/ .van-tabs__content{
width: 96%;
margin: 0 auto;
}
/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>

+ 6
- 0
src/views/lawEnforcement/user/index.vue Näytä tiedosto

@@ -52,6 +52,12 @@
<span class="custom-title">方案管理</span>
</template>
</van-cell>
<van-cell is-link :to="{name:loginType ? 'userCaseList':''}" >
<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="{name:loginType ? 'complaint':''}" >
<template #title>
<van-icon name="../../../static/images/lawEnforcement/icon/icon_tshf.png" size="20"></van-icon>


Ladataan…
Peruuta
Tallenna