Browse Source

农业执法

wulanhaote
庞东旭 2 years ago
parent
commit
74b7fc34a3
6 changed files with 248 additions and 115 deletions
  1. +8
    -2
      src/api/lawEnforcement/index.js
  2. +1
    -0
      src/router/index.js
  3. +2
    -2
      src/views/lawEnforcement/caseAllocation/caseAllocation.vue
  4. +64
    -28
      src/views/lawEnforcement/caseAllocation/caseDetail.vue
  5. +88
    -33
      src/views/lawEnforcement/caseAllocation/caseDistribution.vue
  6. +85
    -50
      src/views/lawEnforcement/caseAllocation/caseLawEnforcer.vue

+ 8
- 2
src/api/lawEnforcement/index.js View File

@@ -499,5 +499,11 @@ export function listSurvey(query) {
params: query
})
}


// 查询执法人员管理列表
export function listEnforcer(query) {
return request({
url: '/enforce/enforcer/list',
method: 'get',
params: query
})
}

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

@@ -3473,6 +3473,7 @@ export const constantRoutes = [
meta: {
title: '分配案件',
hidden: true,
keepAlive: true
},
component: (resolve) => require(['@/views/lawEnforcement/caseAllocation/caseDistribution'], resolve)
},


+ 2
- 2
src/views/lawEnforcement/caseAllocation/caseAllocation.vue View File

@@ -21,7 +21,7 @@
@load="getList"
>
<van-swipe-cell v-for="(item,index) in list" :key="index">
<van-cell :title="item.caseName" center :to="{name:'lawEnforcementCaseDetailNew', query: {cantent:item}}">
<van-cell :title="item.caseName" center :to="{name:'lawEnforcementCaseDetailNew', query: {id:item.caseId}}">
<template #icon>
<van-icon name="../../../../static/images/lawEnforcement/new/list_icon_01.png" size="20" color="#FF4646" style="margin-right: 10px;" />
</template>
@@ -37,7 +37,7 @@
<van-button square text="退回" type="danger" :to="{name:'lawEnforcementCaseReturn', query: {id:item.id}}" class="delete-button" />
</van-col>
<van-col>
<van-button square text="分配" type="info" :to="{name:'lawEnforcementCaseDistribution', query: {id:item.id}}" class="delete-button" />
<van-button square text="分配" type="info" :to="{name:'lawEnforcementCaseDistribution', query: {id:item.caseId}}" class="delete-button" />
</van-col>
</van-row>
</template>


+ 64
- 28
src/views/lawEnforcement/caseAllocation/caseDetail.vue View File

@@ -12,15 +12,14 @@
<span class="custom-title">登记<i class="bgBlue"></i></span>
</template>
</van-cell>
<van-cell title="登记号" :border="false" value="登记号" />
<van-cell title="案件来源" :border="false" value="案件来源" />
<van-cell title="关联方案" :border="false" value="关联方案" />
<van-cell title="案件属地" :border="false" value="案件属地" />
<van-cell title="执行主体" :border="false" value="执行主体" />
<van-cell title="案件名称" :border="false" value="案件名称" />
<van-cell title="登记日期" :border="false" value="登记日期" />
<van-cell title="执法类别" :border="false" value="执法类别" />
<van-cell title="案件简述" :border="false" value="案件简述 " />
<van-cell title="案件来源" :border="false" v-model="form.caseSource" />
<van-cell title="关联方案" :border="false" v-model="form.schemeId" />
<van-cell title="案件属地" :border="false" v-model="form.deptId" />
<van-cell title="执行主体" :border="false" v-model="form.belongTeam" />
<van-cell title="案件名称" :border="false" v-model="form.caseName" />
<van-cell title="登记日期" :border="false" v-model="form.registerDate" />
<van-cell title="执法类别" :border="false" v-model="form.enforceCategory" />
<!-- <van-cell title="案件简述1" :border="false" v-model="form.caseSource" />-->
</div>

<div class="main_box" style="margin-top: 10px;">
@@ -30,17 +29,17 @@
<van-icon name="../../../static/images/lawEnforcement/icon/icon_dsr.png" size="20"></van-icon>
<span class="custom-title">当事人<i class="bgBlue"></i></span>
</template>
<van-cell title="当事人类型" :border="false" value="当事人类型" />
<van-cell title="当事人姓名" :border="false" value="当事人姓名" />
<van-cell title="性别" :border="false" value="性别" />
<van-cell title="身份证号" :border="false" value="身份证号" />
<van-cell title="出生日期" :border="false" value="出生日期" />
<van-cell title="民族" :border="false" value="民族" />
<van-cell title="工作单位及职务" :border="false" value="工作单位及职务" />
<van-cell title="联系电话" :border="false" value="联系电话" />
<van-cell title="联系地址" :border="false" value="联系地址" />
<van-cell title="统一社会信用代码" :border="false" value="统一社会信用代码" />
<van-cell title="字号名称" :border="false" value="字号名称" />
<van-cell title="当事人类型" :border="false" v-model="form.type" />
<van-cell title="当事人姓名" :border="false" v-model="form.name" />
<van-cell title="性别" :border="false" v-model="form.sex" />
<van-cell title="身份证号" :border="false" v-model="form.cardNum" />
<van-cell title="出生日期" :border="false" v-model="form.birthday" />
<van-cell title="民族" :border="false" v-model="form.nation" />
<van-cell title="工作单位及职务" :border="false" v-model="form.companyPosition" />
<van-cell title="联系电话" :border="false" v-model="form.phone" />
<van-cell title="联系地址" :border="false" v-model="form.address" />
<van-cell title="统一社会信用代码" :border="false" v-model="form.uniformCode" />
<van-cell title="字号名称" :border="false" v-model="form.zihao" />
</van-collapse-item>
</van-collapse>
</div>
@@ -87,17 +86,17 @@
<van-col :span="4">带队人</van-col>
</van-row>

<van-row v-for="(item,index) in 10" :key="index" >
<van-row v-for="(item,index) in tEnforceCaseHandlerList" :key="index" >
<van-col :span="4">{{index+1}}</van-col>
<van-col :span="6">庞东旭{{index}}</van-col>
<van-col :span="10">2303888{{index}}</van-col>
<van-col :span="6">{{item.enforcerName}}</van-col>
<van-col :span="10">{{item.enforcerNum}}</van-col>
<van-col :span="4">
<div class="icon_box">
<van-checkbox v-model="checked" shape="square"></van-checkbox>
<van-checkbox v-model="item.enforcerLeader" shape="square"></van-checkbox>
</div>
</van-col>
</van-row>
<img src="../../../../static/images/lawEnforcement/new/addPeop_btn.png" style="margin: 0 auto;" @click="$router.push({name:'lawEnforcementCaseLawEnforcer'})">
<!-- <img src="../../../../static/images/lawEnforcement/new/addPeop_btn.png" style="margin: 0 auto;" @click="$router.push({name:'lawEnforcementCaseLawEnforcer'})">-->
</div>
</van-collapse-item>
</van-collapse>
@@ -106,7 +105,7 @@
</template>

<script>
import { getScheme } from "@/api/lawEnforcement/index";
import { getCase , getDeptName , getSurveyByCaseId } from "@/api/lawEnforcement/index";
export default {
name: "programmeDetail",
data() {
@@ -130,16 +129,53 @@
activeNames: ['1'],
activeNames1: ['1'],
activeNames2: ['1'],

caseSourceOptions:[],
belongTeamOptions:[],

// 查询参数
queryParams: {
// 分页
pageNum: 1,
pageSize: 10,
// 查询排序
orderByColumn: "id",
isAsc: "desc",
name: null, // 搜索参数-执行人姓名或证件号
belongTeam: null, // 搜索参数-所在中队
},
tEnforceCaseHandlerList:[]
};
},
created() {
// this.getDictionaries()
this.getDicts("case_source").then(response => {
this.caseSourceOptions = response.data;
});
this.getDicts("team_category").then(response => {
this.belongTeamOptions = response.data;
});
this.getDicts("enforce_body_type").then(response => {
this.typeOptions = response.data;
});
this.getDetail();
},
methods: {
getDictionaries(){
getScheme(this.$route.query.id).then((response) => {
getDetail(){
getCase(this.$route.query.id).then((response) => {
response.data.caseSource = response.data.caseSource == '' ? '' : this.selectDictLabel(this.caseSourceOptions, response.data.caseSource);
response.data.belongTeam = response.data.belongTeam == '' ? '' : this.selectDictLabel(this.belongTeamOptions, response.data.belongTeam);
response.data.type = response.data.type == '' ? '' : this.selectDictLabel(this.typeOptions, response.data.type);
getDeptName(response.data.deptId).then(res => {
response.data.deptId = res.data.deptName
});
this.form = response.data;
});
getSurveyByCaseId(this.$route.query.id).then((response) => {
if(response.data != undefined){
this.tEnforceCaseHandlerList = response.data.tEnforceCaseHandlerList;
}
});
},
goBack(){
window.history.go(-1)


+ 88
- 33
src/views/lawEnforcement/caseAllocation/caseDistribution.vue View File

@@ -12,15 +12,13 @@
<span class="custom-title">登记<i class="bgBlue"></i></span>
</template>
</van-cell>
<van-cell title="登记号" :border="false" value="登记号" />
<van-cell title="案件来源" :border="false" value="案件来源" />
<van-cell title="关联方案" :border="false" value="关联方案" />
<van-cell title="案件属地" :border="false" value="案件属地" />
<van-cell title="执行主体" :border="false" value="执行主体" />
<van-cell title="案件名称" :border="false" value="案件名称" />
<van-cell title="登记日期" :border="false" value="登记日期" />
<van-cell title="执法类别" :border="false" value="执法类别" />
<van-cell title="案件简述" :border="false" value="案件简述 " />
<van-cell title="案件来源" :border="false" v-model="form.caseSource" />
<van-cell title="关联方案" :border="false" v-model="form.schemeId" />
<van-cell title="案件属地" :border="false" v-model="form.deptId" />
<van-cell title="执行主体" :border="false" v-model="form.belongTeam" />
<van-cell title="案件名称" :border="false" v-model="form.caseName" />
<van-cell title="登记日期" :border="false" v-model="form.registerDate" />
<van-cell title="执法类别" :border="false" v-model="form.enforceCategory" />
</div>

<div class="main_box" style="margin-top: 10px;">
@@ -30,17 +28,17 @@
<van-icon name="../../../static/images/lawEnforcement/icon/icon_dsr.png" size="20"></van-icon>
<span class="custom-title">当事人<i class="bgBlue"></i></span>
</template>
<van-cell title="当事人类型" :border="false" value="当事人类型" />
<van-cell title="当事人姓名" :border="false" value="当事人姓名" />
<van-cell title="性别" :border="false" value="性别" />
<van-cell title="身份证号" :border="false" value="身份证号" />
<van-cell title="出生日期" :border="false" value="出生日期" />
<van-cell title="民族" :border="false" value="民族" />
<van-cell title="工作单位及职务" :border="false" value="工作单位及职务" />
<van-cell title="联系电话" :border="false" value="联系电话" />
<van-cell title="联系地址" :border="false" value="联系地址" />
<van-cell title="统一社会信用代码" :border="false" value="统一社会信用代码" />
<van-cell title="字号名称" :border="false" value="字号名称" />
<van-cell title="当事人类型" :border="false" v-model="form.type" />
<van-cell title="当事人姓名" :border="false" v-model="form.name" />
<van-cell title="性别" :border="false" v-model="form.sex" />
<van-cell title="身份证号" :border="false" v-model="form.cardNum" />
<van-cell title="出生日期" :border="false" v-model="form.birthday" />
<van-cell title="民族" :border="false" v-model="form.nation" />
<van-cell title="工作单位及职务" :border="false" v-model="form.companyPosition" />
<van-cell title="联系电话" :border="false" v-model="form.phone" />
<van-cell title="联系地址" :border="false" v-model="form.address" />
<van-cell title="统一社会信用代码" :border="false" v-model="form.uniformCode" />
<van-cell title="字号名称" :border="false" v-model="form.zihao" />
</van-collapse-item>
</van-collapse>
</div>
@@ -87,13 +85,13 @@
<van-col :span="4">带队人</van-col>
</van-row>

<van-row v-for="(item,index) in 10" :key="index" >
<van-row v-for="(item,index) in tEnforceCaseHandlerList" :key="index" >
<van-col :span="4">{{index+1}}</van-col>
<van-col :span="6">庞东旭{{index}}</van-col>
<van-col :span="10">2303888{{index}}</van-col>
<van-col :span="6">{{item.enforcerName}}</van-col>
<van-col :span="10">{{item.enforcerNum}}</van-col>
<van-col :span="4">
<div class="icon_box">
<van-checkbox v-model="checked" shape="square"></van-checkbox>
<van-checkbox v-model="item.enforcerLeader" shape="square"></van-checkbox>
<van-icon name="../../../static/images/lawEnforcement/icon/icon_delete.png" size="20"></van-icon>
</div>
</van-col>
@@ -103,16 +101,19 @@
</van-collapse-item>
</van-collapse>
</div>

<p class="submitButton">保存</p>

</div>
</template>

<script>
import { getScheme } from "@/api/lawEnforcement/index";
import { getCase , getDeptName , getSurveyByCaseId } from "@/api/lawEnforcement/index";
import Cookies from "js-cookie";
export default {
name: "programmeDetail",
data() {
return {
checked:'',
showBankType:false,
showPayeeType:false,
showPicker:false,
@@ -132,19 +133,67 @@
activeNames: ['1'],
activeNames1: ['1'],
activeNames2: ['1'],

caseSourceOptions:[],
belongTeamOptions:[],

// 查询参数
queryParams: {
// 分页
pageNum: 1,
pageSize: 10,
// 查询排序
orderByColumn: "id",
isAsc: "desc",
name: null, // 搜索参数-执行人姓名或证件号
belongTeam: null, // 搜索参数-所在中队
},
tEnforceCaseHandlerList:[]
};
},
created() {
// this.getDictionaries()
this.getDicts("case_source").then(response => {
this.caseSourceOptions = response.data;
});
this.getDicts("team_category").then(response => {
this.belongTeamOptions = response.data;
});
this.getDicts("enforce_body_type").then(response => {
this.typeOptions = response.data;
});
this.getDetail();
},
methods: {
getDictionaries(){
getScheme(this.$route.query.id).then((response) => {
getDetail(){
getCase(this.$route.query.id).then((response) => {
response.data.caseSource = response.data.caseSource == '' ? '' : this.selectDictLabel(this.caseSourceOptions, response.data.caseSource);
response.data.belongTeam = response.data.belongTeam == '' ? '' : this.selectDictLabel(this.belongTeamOptions, response.data.belongTeam);
response.data.type = response.data.type == '' ? '' : this.selectDictLabel(this.typeOptions, response.data.type);
getDeptName(response.data.deptId).then(res => {
response.data.deptId = res.data.deptName
});
this.form = response.data;
});
getSurveyByCaseId(this.$route.query.id).then((response) => {
if(response.data != undefined){
this.tEnforceCaseHandlerList = response.data.tEnforceCaseHandlerList;
}
});
},
goBack(){
window.history.go(-1)
},
watch: {
$route (to, from ) {
// 监听路由变化, 实现类似 小程序的 onShow 事件
if (to.path === '/lawEnforcement/caseDistribution') {
// do anything you want
console.log(JSON.parse(Cookies.get('enforcer')))
if (Cookies.get('enforcer')){
JSON.parse(Cookies.get('enforcer')).map(res=>{
this.tEnforceCaseHandlerList.push(res)
})
console.log(this.tEnforceCaseHandlerList)
}
}
}
},
}
@@ -280,9 +329,15 @@
}
}
.submitButton{
width: 80%;
width: 45%;
margin: 0 auto;
background-color: #1D6FE9;
background-image: linear-gradient(to right, #2E79E9 , #77A6EF);
text-align: center;
color: #ffffff;
height: 70px;
line-height: 70px;
border-radius: 8PX;
margin-top: 25PX;
}

.addFamily{


+ 85
- 50
src/views/lawEnforcement/caseAllocation/caseLawEnforcer.vue View File

@@ -10,91 +10,125 @@
<van-popover
v-model="showPopover"
trigger="click"
:actions="actions"
:actions="belongTeamOptions"
@select="popChange"
placement="bottom-start"
>
<template #reference>
<div class="select_box">
<p>第一中队</p>
<p>{{popValue}}</p>
<van-icon name="arrow-down" color="#1D6FE9" />
</div>
</template>
</van-popover>
<div class="search">
<input type="text" placeholder="请输入执行人姓名/证号" />
<img src="../../../../static/images/lawEnforcement/new/index_icon_19.png">
<input type="text" placeholder="请输入执行人姓名/证号" v-model="queryParams.nameOrEnforceNum" />
<img src="../../../../static/images/lawEnforcement/new/index_icon_19.png" @click="goSearch">
</div>
</div>

<div class="main_box" style="margin-top: 10px;">
<div class="peopleList">
<van-row>
<van-row class="peoplett">
<van-col :span="4">执行主体</van-col>
<van-col :span="6">执行人员</van-col>
<van-col :span="10">执法证号</van-col>
<van-col :span="4"></van-col>
<van-col :span="20">执行人员</van-col>
</van-row>

<van-row v-for="(item,index) in 10" :key="index" >
<van-col :span="4">{{index+1}}</van-col>
<van-col :span="6">庞东旭{{index}}</van-col>
<van-col :span="10">2303888{{index}}</van-col>
<van-col :span="4">
<div class="icon_box">
<van-checkbox v-model="checked" shape="square"></van-checkbox>
</div>
</van-col>
</van-row>
<van-checkbox-group v-model="result">
<van-row v-for="(item,index) in enforcerList" :key="index" >
<van-col :span="4">{{item.belongTeam}}</van-col>
<van-col :span="6">{{item.name}}</van-col>
<van-col :span="10">{{item.enforceNum}}</van-col>
<van-col :span="4">
<div class="icon_box">
<van-checkbox :name="item" shape="square"></van-checkbox>
</div>
</van-col>
</van-row>
</van-checkbox-group>
</div>
</div>

<p class="submitButton">确定</p>
<p class="submitButton" @click="choiceEnforcer">确定</p>

</div>
</template>

<script>
import { getScheme } from "@/api/lawEnforcement/index";
import { listEnforcer } from "@/api/lawEnforcement/index";
import Cookies from "js-cookie";
export default {
name: "programmeDetail",
data() {
return {
showPopover: false,
// 通过 actions 属性来定义菜单选项
actions: [{ text: '选项一' }, { text: '选项二' }, { text: '选项三' }],
checked:'',
showBankType:false,
showPayeeType:false,
showPicker:false,
form:{},
result:[],
queryParams: {
// 分页
pageNum: 1,
pageSize: 999,
// 查询排序
orderByColumn: "id",
isAsc: "desc",
nameOrEnforceNum: null, // 搜索参数-执行人姓名或证件号
belongTeam: '1', // 搜索参数-所在中队
},

enforcerList:[],

bankType:'',
payeeType:'',
value:'',
searchInput:'',
belongTeamOptions:[],
belongTeamOptions2:[],

bankTypeOptions:[],
payeeTypeOptions:[],
tEnforceSchemeHandlerList:[],
minDate: new Date(2020, 0, 1),
maxDate: new Date(2025, 10, 1),
currentDate: new Date(2021, 0, 17),
popValue:'一中队'

activeNames: ['1'],
activeNames1: ['1'],
activeNames2: ['1'],
};
},
created() {
// this.getDictionaries()
this.getDicts("team_category").then(response => {
for (var i = 0; i < response.data.length; i++) {
this.belongTeamOptions.push({text: response.data[i].dictLabel, value: response.data[i].dictValue});
}
this.belongTeamOptions2 = response.data;
});
this.getDictionaries()
},
methods: {
getDictionaries(){
getScheme(this.$route.query.id).then((response) => {
this.form = response.data;
listEnforcer(this.queryParams).then((response) => {
response.rows.map(res=>{
res.belongTeam = res.belongTeam == '' ? '' : this.selectDictLabel(this.belongTeamOptions2, res.belongTeam);
this.enforcerList.push(res);
})
});
},
goBack(){
window.history.go(-1)
goSearch(){
this.enforcerList = [];
this.getDictionaries()
},
popChange(action,index){
console.log(action,index)
this.popValue = action.text;
this.queryParams.belongTeam = action.value;
this.enforcerList = [];
this.getDictionaries();
},
choiceEnforcer(){
console.log(this.result)
const list = [];
this.result.map(res=>{
let obj = {};
obj.relationType = "2";
obj.enforcerId = res.id; // 执法人员ID -- 执法人员选择页面带回值
obj.enforcerName = res.name; // 执法人员姓名 -- 执法人员选择页面带回值
obj.enforcerNum = res.enforceNum; // 执法证号 -- 执法人员选择页面带回值
obj.enforcerLeader = ""; // 是否带队 --勾选赋值
list.push(obj)
})
Cookies.set("enforcer", list);
Cookies.set("enforcerOld", this.result);
history.back(-1);
}
},
}
@@ -132,12 +166,13 @@
align-items: center;
}
.search{
flex: 1;
background: #ffffff;
display: flex;
justify-content: space-between;
align-items: center;
width: 70%;
margin: 10PX auto;
margin: 10PX 0 10PX 10PX;
border: 1px solid #1D6FE9;
padding: 1PX 1PX 1PX 12PX ;
border-radius: 8PX;
@@ -215,12 +250,12 @@
color: #333333;
padding: 5PX 0;
}
&:first-child{
background: none;
.van-col{
padding: 0;
color: #1D6FE9;
}
}
.peoplett{
background: none;
.van-col{
padding: 0;
color: #1D6FE9;
}
}
}


Loading…
Cancel
Save