Procházet zdrojové kódy

农业执法接口对接

wulanhaote
庞东旭 před 2 roky
rodič
revize
02671ebced
25 změnil soubory, kde provedl 2407 přidání a 633 odebrání
  1. +70
    -0
      src/api/lawEnforcement/index.js
  2. +31
    -12
      src/router/index.js
  3. +40
    -3
      src/views/lawEnforcement/caseAllocation/caseAdd.vue
  4. +1
    -1
      src/views/lawEnforcement/caseAllocation/caseAllocation.vue
  5. +13
    -14
      src/views/lawEnforcement/caseAllocation/caseDetail.vue
  6. +26
    -15
      src/views/lawEnforcement/caseAllocation/caseDistribution.vue
  7. +726
    -0
      src/views/lawEnforcement/caseAllocation/caseEdit.vue
  8. +331
    -0
      src/views/lawEnforcement/caseAllocation/caseEnforceList.vue
  9. +0
    -311
      src/views/lawEnforcement/caseAllocation/caseList.vue
  10. +274
    -0
      src/views/lawEnforcement/caseAllocation/caseListNew.vue
  11. +0
    -3
      src/views/lawEnforcement/index_new.vue
  12. +3
    -1
      src/views/lawEnforcement/task/task.vue
  13. +13
    -14
      src/views/lawEnforcement/task/taskDetail.vue
  14. +879
    -259
      src/views/lawEnforcement/task/taskHandle.vue
  15. binární
      static/images/lawEnforcement/new/addDetect_btn.png
  16. binární
      static/images/lawEnforcement/new/addFinance_btn.png
  17. binární
      static/images/lawEnforcement/new/addGoods_btn.png
  18. binární
      static/images/lawEnforcement/new/index_icon_08.png
  19. binární
      static/images/lawEnforcement/new/index_icon_09.png
  20. binární
      static/images/lawEnforcement/new/index_icon_10.png
  21. binární
      static/images/lawEnforcement/new/index_icon_11.png
  22. binární
      static/images/lawEnforcement/new/index_icon_12.png
  23. binární
      static/images/lawEnforcement/new/index_icon_16.png
  24. binární
      static/images/lawEnforcement/new/index_icon_17.png
  25. binární
      static/images/lawEnforcement/new/index_icon_20.png

+ 70
- 0
src/api/lawEnforcement/index.js Zobrazit soubor

@@ -620,3 +620,73 @@ export function addOnrecord(data) {
data: data
})
}
// 新增立案信息
export function addPutrecord(data) {
return request({
url: '/enforce/putrecord/add',
method: 'post',
data: data
})
}

// 修改立案信息
export function updatePutrecord(data) {
return request({
url: '/enforce/putrecord/edit',
method: 'post',
data: data
})
}

// 新增抽样信息
export function addSampling(data) {
return request({
url: '/enforce/sampling/add',
method: 'post',
data: data
})
}

// 修改抽样信息
export function updateSampling(data) {
return request({
url: '/enforce/sampling/edit',
method: 'post',
data: data
})
}

// 新增农业执法-案件-取证信息
export function addEvidence(data) {
return request({
url: '/enforce/evidence/add',
method: 'post',
data: data
})
}

// 修改农业执法-案件-取证信息
export function updateEvidence(data) {
return request({
url: '/enforce/evidence/edit',
method: 'post',
data: data
})
}

// 查询处理流程关联办理人员列表
export function caseHandlerList(query) {
return request({
url: '/enforce/caseHandler/caseHandlerList',
method: 'get',
params: query
})
}

// 删除案件登记
export function delCase(id) {
return request({
url: '/enforce/case/remove/' + id,
method: 'get'
})
}

+ 31
- 12
src/router/index.js Zobrazit soubor

@@ -2359,15 +2359,15 @@ export const constantRoutes = [
},
component: (resolve) => require(['@/views/lawEnforcement/index'], resolve)
},
{
path: '/lawEnforcement/caseList',
name: 'caseList',
meta: {
title: '案件',
hidden: true,
},
component: (resolve) => require(['@/views/lawEnforcement/case/caseList'], resolve)
},
// {
// path: '/lawEnforcement/caseList',
// name: 'caseList',
// meta: {
// title: '案件',
// hidden: true,
// },
// component: (resolve) => require(['@/views/lawEnforcement/case/caseList'], resolve)
// },
{
path: '/lawEnforcement/productsList',
name: 'caseList',
@@ -3829,15 +3829,25 @@ export const constantRoutes = [
},
component: (resolve) => require(['@/views/lawEnforcement/caseAllocation/caseAdd'], resolve)
},
{ ////农业执法(新)-- 巡查登记
path: '/lawEnforcement/caseEdit',
name: 'lawEnforcementCaseEdit',
meta: {
title: '登记修改',
hidden: true,
keepAlive: true
},
component: (resolve) => require(['@/views/lawEnforcement/caseAllocation/caseEdit'], resolve)
},
{ ////农业执法(新)-- 巡查登记列表
path: '/lawEnforcement/caseList',
path: '/lawEnforcement/caseListNew',
name: 'lawEnforcementCaseListNew',
meta: {
title: '巡查登记',
title: '登记列表',
hidden: true,
keepAlive: true
},
component: (resolve) => require(['@/views/lawEnforcement/caseAllocation/caseList'], resolve)
component: (resolve) => require(['@/views/lawEnforcement/caseAllocation/caseListNew'], resolve)
},
{ ////农业执法(新)-- 记录查看
path: '/lawEnforcement/taskSignInSee',
@@ -3857,6 +3867,15 @@ export const constantRoutes = [
keepAlive: true
},
component: (resolve) => require(['@/views/lawEnforcement/task/taskHandle'], resolve)
},
{ ////农业执法(新)-- 案件处理
path: '/lawEnforcement/caseEnforceList',
name: 'lawEnforcementCaseEnforceList',
meta: {
title: '添加执法人员',
hidden: true,
},
component: (resolve) => require(['@/views/lawEnforcement/caseAllocation/caseEnforceList'], resolve)
}
];



+ 40
- 3
src/views/lawEnforcement/caseAllocation/caseAdd.vue Zobrazit soubor

@@ -260,7 +260,7 @@
</template>
<p style="color: #FE1313;text-align: center;margin-top: 5PX;font-size: .3rem">*请上传不超过5MB 格式为doc/xls/png/jpg/jpeg的文件</p>
<div class="cf">
<van-uploader v-model="fileList" multiple />
<van-uploader v-model="form.attachementList" :after-read="afterReadEvidenceForm" :before-delete="deleteFileEvidenceForm" />
</div>
</van-collapse-item>
</van-collapse>
@@ -298,7 +298,7 @@
</div>
<div class="submit_box">
<p class="submitButton" @click="$refs.form.submit()">保存</p>
<p class="submitButton">保存并打卡</p>
<p class="submitButton" @click="keepSubmit()">保存并提交</p>
</div>
</van-form>

@@ -306,7 +306,7 @@
</template>

<script>
import { addCase , addProgress , treeselect , schemeList , addSurvey } from "@/api/lawEnforcement/index";
import { addCase , addProgress , treeselect , schemeList , addSurvey , commonUpload } from "@/api/lawEnforcement/index";
import Cookies from "js-cookie";
export default {
name: "programmeDetail",
@@ -404,6 +404,9 @@
},
methods: {
goSubmit(){
if (typeof this.form.attachement != 'string'){
this.form.attachement = this.form.attachement.join(',');
}
addCase(this.form).then(response => {
if(response.code=="200"){
var progressParam = {
@@ -484,6 +487,40 @@
this.birthday = data;
this.showBirthday = false;
},
keepSubmit(){
this.form.caseId = this.form.id;
this.form.caseStatus = "1";
this.form.caseProgress = "2"; // 勘察
this.form.caseProgressName = this.selectDictLabel(this.caseProgressOptions, this.form.caseProgress); // 勘察

if (typeof this.form.attachement != 'string'){
this.form.attachement = this.form.attachement.join(',');
}
var _this = this;
this.$dialog.confirm({
message: '提交后案件将进入后续流程并且不能修改,是否确认提交?',
}).then(function () {
// 更新案件的节点和状态
updateCase(_this.form).then(response => {
_this.$notify({ type: 'success', message: '提交成功' });
setTimeout(function(){
history.back(-1);
},2000)
});
});
},
afterReadEvidenceForm(file){
let params1 = new FormData();
params1.append("file", file.file);
commonUpload(params1).then((r1) => {
// this.tEnforceSamplingGoodsList[index].attachement.push(r1.fileName);
this.form.attachement.push(r1.fileName)
})
},
deleteFileEvidenceForm(file,detail) {
this.form.attachement.splice(detail.index,1);
this.form.attachementList.splice(detail.index,1);
},
},
watch: {
$route (to, from ) {


+ 1
- 1
src/views/lawEnforcement/caseAllocation/caseAllocation.vue Zobrazit soubor

@@ -28,7 +28,7 @@
<template #label>
<p>{{item.caseSource}}</p>
<p>第{{item.belongTeam}}</p>
<p>{{item.surveyStartTime}}</p>
<p>{{item.shouanDate}}</p>
</template>
</van-cell>
<template #right>


+ 13
- 14
src/views/lawEnforcement/caseAllocation/caseDetail.vue Zobrazit soubor

@@ -58,20 +58,8 @@
<span class="custom-title">附件<i class="bgBlue"></i></span>
</template>
<div class="cf">
<van-row>
<van-col :span="6">
<van-image src="../../../../static/images/lawEnforcement/icon/icon_fj.png" width="50" />
<p>产品确认</p>
<p>通知书</p>
</van-col>
<van-col :span="6">
<van-image src="../../../../static/images/lawEnforcement/icon/icon_fj.png" width="50" />
<p>产品确认</p>
<p>通知书</p>
</van-col>
<van-col :span="6"></van-col>
<van-col :span="6"></van-col>
</van-row>
<van-uploader v-model="form.attachementList" :show-upload="false" :deletable="false" />
<van-empty v-if="form.attachement == null " description="暂无文件" />
</div>
</van-collapse-item>
</van-collapse>
@@ -179,6 +167,17 @@
getDeptName(response.data.deptId).then(res => {
response.data.deptId = res.data.deptName
});
if (response.data.attachement){
response.data.attachementList = [];
var attachement = response.data.attachement.split( "," );
attachement.forEach(responseAttach=>{
response.data.attachementList.push({
url:'/api' + responseAttach,
isImage: true
});
})
// process.env.VUE_APP_BASE_ROUTING_URL + process.env.VUE_APP_BASE_API
}
this.form = response.data;
});
getSurveyByCaseId(this.$route.query.id).then((response) => {


+ 26
- 15
src/views/lawEnforcement/caseAllocation/caseDistribution.vue Zobrazit soubor

@@ -57,20 +57,8 @@
<span class="custom-title">附件<i class="bgBlue"></i></span>
</template>
<div class="cf">
<van-row>
<van-col :span="6">
<van-image src="../../../../static/images/lawEnforcement/icon/icon_fj.png" width="50" />
<p>产品确认</p>
<p>通知书</p>
</van-col>
<van-col :span="6">
<van-image src="../../../../static/images/lawEnforcement/icon/icon_fj.png" width="50" />
<p>产品确认</p>
<p>通知书</p>
</van-col>
<van-col :span="6"></van-col>
<van-col :span="6"></van-col>
</van-row>
<van-uploader v-model="form.attachementList" :show-upload="false" :deletable="false" />
<van-empty v-if="form.attachement == null " description="暂无文件" />
</div>
</van-collapse-item>
</van-collapse>
@@ -180,6 +168,17 @@
getDeptName(response.data.deptId).then(res => {
response.data.deptId = res.data.deptName
});
if (response.data.attachement){
response.data.attachementList = [];
var attachement = response.data.attachement.split( "," );
attachement.forEach(responseAttach=>{
response.data.attachementList.push({
url:'/api' + responseAttach,
isImage: true
});
})
// process.env.VUE_APP_BASE_ROUTING_URL + process.env.VUE_APP_BASE_API
}
this.form = response.data;
});
getSurveyByCaseId(this.$route.query.id).then((response) => {
@@ -220,7 +219,19 @@
console.log(val)
console.log(index)
this.tEnforceCaseHandlerList[index].enforcerLeader = val ? 'Y' : ''
}
},
afterReadEvidenceForm(file){
let params1 = new FormData();
params1.append("file", file.file);
commonUpload(params1).then((r1) => {
// this.tEnforceSamplingGoodsList[index].attachement.push(r1.fileName);
this.form.attachement.push(r1.fileName)
})
},
deleteFileEvidenceForm(file,detail) {
this.form.attachement.splice(detail.index,1);
this.form.attachementList.splice(detail.index,1);
},
},
watch: {
$route (to, from ) {


+ 726
- 0
src/views/lawEnforcement/caseAllocation/caseEdit.vue Zobrazit soubor

@@ -0,0 +1,726 @@
<template>
<div class="app-container">
<div class="header_main">
登记修改
<div class="return_btn" @click="onClickLeft"></div>
</div>
<div style="height: 58px;"></div>

<van-form @submit="goSubmit" :show-error-message="false" ref="form">
<div class="main_box">
<van-cell>
<template #title>
<van-icon name="../../../static/images/lawEnforcement/icon/icon_zxfa.png" size="20"></van-icon>
<span class="custom-title">登记<i class="bgBlue"></i></span>
</template>
</van-cell>

<van-field
readonly
clickable
required
:rules="[{ required: true , message:'请选择案件来源' }]"
v-model="caseSource"
label="案件来源"
placeholder="请选择案件来源"
@click="showCaseSource = true"
input-align="right"
right-icon="arrow-down"
:border="false"
label-width="auto"
/>
<van-popup v-model="showCaseSource" position="bottom">
<van-picker
show-toolbar
:columns="caseSourceOptions"
@confirm="onConfirmCaseSource"
@cancel="showCaseSource = false"
/>
</van-popup>

<van-field
readonly
clickable
required
:rules="[{ required: true , message:'请选择关联方案' }]"
v-model="scheme"
label="关联方案"
placeholder="请选择关联方案"
@click="showScheme = true"
input-align="right"
right-icon="arrow-down"
:border="false"
label-width="auto"
/>
<van-popup v-model="showScheme" position="bottom">
<van-picker
show-toolbar
:columns="schemeOptions"
@confirm="onConfirmScheme"
@cancel="showScheme = false"
/>
</van-popup>
<!-- <van-field v-model="form.schemeId" label="关联方案" placeholder="请输入关联方案" :border="false" label-width="auto" input-align="right" />-->

<van-field
readonly
clickable
required
:rules="[{ required: true , message:'请选择案件属地' }]"
v-model="deptName"
label="案件属地"
placeholder="请选择案件属地"
@click="showDeptId = true"
input-align="right"
right-icon="arrow-down"
:border="false"
label-width="auto"
/>
<van-popup v-model="showDeptId" position="bottom">
<van-cascader
v-model="villageValue"
title="请选择案件属地"
:options="deptOptions"
@close="showDeptId = false"
@finish="onConfirmDept"
active-color="#1989fa"
:field-names="hcAreaInfoFieldName"
/>
</van-popup>
<!-- <van-field v-model="form.deptId" label="案件属地" placeholder="请输入案件属地" :border="false" label-width="auto" input-align="right" is-link arrow-direction="down" />-->
<van-field
readonly
clickable
required
:rules="[{ required: true , message:'请选择执行主体' }]"
v-model="belongTeam"
label="执行主体"
placeholder="请选择执行主体"
@click="showBelongTeam = true"
input-align="right"
right-icon="arrow-down"
:border="false"
label-width="auto"
/>
<van-popup v-model="showBelongTeam" position="bottom">
<van-picker
show-toolbar
:columns="belongTeamOptions"
@confirm="onConfirmBelongTeam"
@cancel="showBelongTeam = false"
/>
</van-popup>
<!-- <van-field v-model="form.belongTeam" label="执行主体" placeholder="请输入执行主体" :border="false" label-width="auto" input-align="right" is-link arrow-direction="down" />-->
<van-field v-model="form.caseName" required :rules="[{ required: true , message:'请输入案件名称' }]" label="案件名称" placeholder="请输入案件名称" :border="false" label-width="auto" input-align="right" />

<van-field
readonly
clickable
required
:rules="[{ required: true , message:'请选择登记日期' }]"
v-model="form.registerDate"
label="登记日期"
placeholder="请选择登记日期"
@click="showRegisterDate = true"
input-align="right"
right-icon="arrow-down"
:border="false"
label-width="auto"
/>
<van-popup v-model="showRegisterDate" position="bottom">
<van-datetime-picker
v-model="registerDate"
type="date"
title="选择年月日"
:min-date="minDate"
@confirm="onConfirmRegisterDate"
@cancel="showRegisterDate = false"
/>
</van-popup>

<van-field
readonly
clickable
required
:rules="[{ required: true , message:'请选择执法类别' }]"
v-model="enforceCategory"
label="执法类别"
placeholder="请选择执法类别"
@click="showEnforceCategory = true"
input-align="right"
right-icon="arrow-down"
:border="false"
label-width="auto"
/>
<van-popup v-model="showEnforceCategory" position="bottom">
<van-picker
show-toolbar
:columns="enforceCategoryOptions"
@confirm="onConfirmEnforceCategory"
@cancel="showEnforceCategory = false"
/>
</van-popup>
<!-- <van-field v-model="form.enforceCategory" label="执法类别" placeholder="请输入执法类别" :border="false" label-width="auto" input-align="right" is-link arrow-direction="down" />-->
<van-field v-model="form.caseDescribe" label="案件简述" placeholder="请输入案件简述" :border="false" label-width="auto" input-align="right" />
</div>

<div class="main_box" style="margin-top: 10px;">
<van-collapse v-model="activeNames">
<van-collapse-item name="1">
<template #title>
<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-field v-model="form.type" label="当事人类型" :border="false" label-width="auto" input-align="right" >
<template #input>
<van-radio-group v-model="form.type" direction="horizontal">
<van-radio name="1">个人/个体工商户</van-radio>
<van-radio name="2">企业</van-radio>
</van-radio-group>
</template>
</van-field>
<template v-if="form.type=='1'">
<van-field v-model="form.name" required :rules="[{ required: true , message:'请输入当事人姓名' }]" label="当事人姓名" placeholder="请输入当事人姓名" :border="false" label-width="auto" input-align="right" />
<van-field v-model="form.sex" label="性别" placeholder="请输入性别" :border="false" label-width="auto" input-align="right" >
<template #input>
<van-radio-group v-model="form.sex" direction="horizontal">
<van-radio name="1">男</van-radio>
<van-radio name="2">女</van-radio>
</van-radio-group>
</template>
</van-field>
<van-field v-model="form.cardNum" required :rules="[{ required: true , message:'请输入身份证号' }]" label="身份证号" placeholder="请输入身份证号" :border="false" label-width="auto" input-align="right" />

<van-field
readonly
clickable
v-model="form.birthday"
label="出生日期"
placeholder="请选择出生日期"
@click="showBirthday = true"
input-align="right"
right-icon="arrow-down"
:border="false"
label-width="auto"
/>
<van-popup v-model="showBirthday" position="bottom">
<van-datetime-picker
v-model="birthday"
type="date"
title="选择年月日"
:min-date="minDate"
@confirm="onConfirmBirthday"
@cancel="showBirthday = false"
/>
</van-popup>

<van-field
readonly
clickable
v-model="nation"
label="民族"
placeholder="请选择民族"
@click="showNation = true"
input-align="right"
right-icon="arrow-down"
:border="false"
label-width="auto"
/>
<van-popup v-model="showNation" position="bottom">
<van-picker
show-toolbar
:columns="nationOptions"
@confirm="onConfirmNation"
@cancel="showNation = false"
/>
</van-popup>
<!-- <van-field v-model="form.nation" label="民族" placeholder="请输入民族" :border="false" label-width="auto" input-align="right" is-link arrow-direction="down" />-->
<van-field v-model="form.companyPosition" label="工作单位及职务" placeholder="请输入工作单位及职务" :border="false" label-width="auto" input-align="right" />
<van-field v-model="form.zihao" label="字号名称" placeholder="请输入字号名称" :border="false" label-width="auto" input-align="right" />
</template>
<template v-if="form.type=='2'">
<van-field v-model="form.companyName" :rules="[{ required: true , message:'请输入企业名称' }]" label="企业名称" placeholder="请输入企业名称" :border="false" label-width="auto" input-align="right" />
<van-field v-model="form.legalName" label="法人/负责人" placeholder="请输入法人/负责人" :border="false" label-width="auto" input-align="right" />
</template>

<van-field v-model="form.phone" label="联系电话" placeholder="请输入联系电话" :border="false" label-width="auto" input-align="right" />
<van-field v-model="form.address" label="联系地址" placeholder="请输入联系地址" :border="false" label-width="auto" input-align="right" />
<van-field v-model="form.uniformCode" label="统一社会信用代码" placeholder="请输入统一社会信用代码" :border="false" label-width="auto" input-align="right" />
</van-collapse-item>
</van-collapse>
</div>

<div class="main_box" style="margin-top: 10px;">
<van-collapse v-model="activeNames1">
<van-collapse-item name="1">
<template #title>
<van-icon name="../../../static/images/lawEnforcement/icon/icon_ajwd.png" size="20"></van-icon>
<span class="custom-title">附件<i class="bgBlue"></i></span>
</template>
<p style="color: #FE1313;text-align: center;margin-top: 5PX;font-size: .3rem">*请上传不超过5MB 格式为doc/xls/png/jpg/jpeg的文件</p>
<div class="cf">
<van-uploader v-model="form.attachementList" :after-read="afterReadEvidenceForm" :before-delete="deleteFileEvidenceForm" />
</div>
</van-collapse-item>
</van-collapse>
</div>

<!-- <div class="main_box" style="margin-top: 10px;">-->
<!-- <van-collapse v-model="activeNames2">-->
<!-- <van-collapse-item name="1">-->
<!-- <template #title>-->
<!-- <van-icon name="../../../static/images/lawEnforcement/icon/icon_zxry.png" size="20"></van-icon>-->
<!-- <span class="custom-title">执法人员<i class="bgBlue"></i></span>-->
<!-- </template>-->
<!-- <div class="peopleList">-->
<!-- <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-row>-->
<!-- <van-row v-for="(item,index) in tEnforceCaseHandlerList" :key="index" >-->
<!-- <van-col :span="4">{{index+1}}</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="item.enforcerLeader" shape="square" @change="checkBoxChange(item.enforcerLeader,index)"></van-checkbox>-->
<!-- <van-icon name="../../../static/images/lawEnforcement/icon/icon_delete.png" size="20" @click="removePeople(index)"></van-icon>-->
<!-- </div>-->
<!-- </van-col>-->
<!-- </van-row>-->
<!-- <img src="../../../../static/images/lawEnforcement/new/addPeop_btn.png" style="margin: 0 auto;" @click="$router.push({name:'lawEnforcementCaseLawEnforcer'})">-->
<!-- </div>-->
<!-- </van-collapse-item>-->
<!-- </van-collapse>-->
<!-- </div>-->
<div class="submit_box">
<p class="submitButton" @click="$refs.form.submit()">保存</p>
<p class="submitButton" @click="keepSubmit()">保存并提交</p>
</div>
</van-form>

</div>
</template>

<script>
import { updateCase , addProgress , treeselect , schemeList , addSurvey , getCase , getDeptName , getSurveyByCaseId , commonUpload } from "@/api/lawEnforcement/index";
import Cookies from "js-cookie";
export default {
name: "programmeDetail",
data() {
return {
showCaseSource:false,
showBelongTeam:false,
showEnforceCategory:false,
showDeptId:false,
showScheme:false,
showNation:false,
showBirthday:false,
showRegisterDate:false,
form:{
type:'1',
sex:'1',
registerDate:this.format(new Date(),'yyyy-MM-dd'),
caseProgress:'1',
caseStatus:'1',
},
registerDate:new Date(),
birthday:new Date(),
caseSource : '',
belongTeam : '',
enforceCategory : '',
nation : '',
deptName : '',
scheme : '',
villageValue : '',

tEnforceSchemeHandlerList:[],
minDate: new Date(1900, 0, 1),

activeNames: ['1'],
activeNames1: ['1'],
activeNames2: ['1'],

caseSourceOptions:[],
belongTeamOptions:[],
enforceCategoryOptions:[],
nationOptions:[],
deptOptions:[],
caseProgressOptions:[],
schemeOptions:[],

tEnforceCaseHandlerList:[],
radio:'',
fileList: [],
hcAreaInfoFieldName: {
text: "label",
value: "value",
children: "children",
},

deptId:''
};
},
created() {
//案件来源
this.getDicts("case_source").then(response => {
for (var i = 0; i < response.data.length; i++) {
this.caseSourceOptions.push({text: response.data[i].dictLabel, value: response.data[i].dictValue});
}
this.caseSourceOptions2 = response.data;
});
//执行主体
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.getDicts("enforce_category").then(response => {
for (var i = 0; i < response.data.length; i++) {
this.enforceCategoryOptions.push({text: response.data[i].dictLabel, value: response.data[i].dictValue});
}
this.enforceCategoryOptions2 = response.data;
});
//民族
this.getDicts("nationality").then(response => {
for (var i = 0; i < response.data.length; i++) {
this.nationOptions.push({text: response.data[i].dictLabel, value: response.data[i].dictValue});
}
this.nationOptions2 = response.data;
});
this.getDicts("case_node").then(response => {
this.caseProgressOptions = response.data;
});
var schemeQueryParam = {
applyStatus: "1"
};
schemeList(schemeQueryParam).then((response) => {
for (var i = 0; i < response.rows.length; i++) {
this.schemeOptions.push({text: response.rows[i].schemeName, value: response.rows[i].id});
}
});
this.getBookList()
},
methods: {
goSubmit(){
if (typeof this.form.attachement != 'string'){
this.form.attachement = this.form.attachement.join(',');
}
updateCase(this.form).then(response => {
if(response.code=="200"){
this.$notify({ type: 'success', message: '保存成功' });
setTimeout(function(){
history.back(-1);
},2000)
// var progressParam = {
// caseId: response.data,
// caseStatus:"1",
// caseProgress:"1",
// caseProgressName:"登记"
// };
//
// addProgress(progressParam).then(response2 => {
// let surveyForm = {};
// surveyForm.tEnforceCaseHandlerList = this.tEnforceCaseHandlerList;
// surveyForm.caseId = response.data;
// addSurvey(surveyForm).then(response => {
// });
// });
}
});
},
keepSubmit(){
this.form.caseId = this.form.id;
this.form.caseStatus = "1";
this.form.caseProgress = "2"; // 勘察
this.form.caseProgressName = this.selectDictLabel(this.caseProgressOptions, this.form.caseProgress); // 勘察

if (typeof this.form.attachement != 'string'){
this.form.attachement = this.form.attachement.join(',');
}
var _this = this;
this.$dialog.confirm({
message: '提交后案件将进入后续流程并且不能修改,是否确认提交?',
}).then(function () {
// 更新案件的节点和状态
updateCase(_this.form).then(response => {
_this.$notify({ type: 'success', message: '提交成功' });
setTimeout(function(){
history.back(-1);
},2000)
});
});
},
getBookList(){
treeselect().then((response) => {
if (response.code == 200) {
this.deptOptions = response.data;
this.getDetail();
}
})
},
//选择案件来源
onConfirmCaseSource(data){
this.form.caseSource = data.value;
this.caseSource = data.text;
this.showCaseSource = false;
},
//选择案件属地
onConfirmDept({ selectedOptions }){
console.log(selectedOptions[selectedOptions.length-1])
this.form.deptId = selectedOptions[selectedOptions.length-1].value;
this.deptName = selectedOptions[selectedOptions.length-1].label;
this.showDeptId = false
},
//选择执行主体
onConfirmBelongTeam(data){
this.form.belongTeam = data.value;
this.belongTeam = data.text;
this.showBelongTeam = false;
},
//选择执法类别
onConfirmEnforceCategory(data){
this.form.enforceCategory = data.text;
this.enforceCategory = data.text;
this.showEnforceCategory = false;
},
//选择民族
onConfirmNation(data){
this.form.nation = data.value;
this.nation = data.text;
this.showNation = false;
},
//选择关联方案
onConfirmScheme(data){
this.form.schemeId = data.value;
this.scheme = data.text;
this.showScheme = false;
},
//选择登记时间
onConfirmRegisterDate(data){
this.form.registerDate = this.format(data,'yyyy-MM-dd');
this.registerDate = data;
this.showRegisterDate = false;
},
//选择出生日期
onConfirmBirthday(data){
this.form.birthday = this.format(data,'yyyy-MM-dd');
this.birthday = data;
this.showBirthday = false;
},
getDetail(){
getCase(this.$route.query.id).then((response) => {
this.caseSource = response.data.caseSource == '' ? '' : this.selectDictLabel(this.caseSourceOptions2, response.data.caseSource);
this.belongTeam = response.data.belongTeam == '' ? '' : this.selectDictLabel(this.belongTeamOptions2, response.data.belongTeam);
this.nation = response.data.nation == '' ? '' : this.selectDictLabel(this.nationOptions2, response.data.nation);
this.scheme = response.data.schemeId == '' ? '' : this.schemeOptions.filter(function (e) { return e.value == response.data.schemeId; })[0].text;
this.enforceCategory = response.data.enforceCategory;
if (response.data.attachement){
response.data.attachementList = [];
var attachement = response.data.attachement.split( "," );
attachement.forEach(responseAttach=>{
response.data.attachementList.push({
url:'/api' + responseAttach,
isImage: true
});
})
// process.env.VUE_APP_BASE_ROUTING_URL + process.env.VUE_APP_BASE_API
}else{
response.data.attachement = [];
}
getDeptName(response.data.deptId).then(res => {
this.deptName = res.data.deptName
});
this.form = response.data;
});
getSurveyByCaseId(this.$route.query.id).then((response) => {
if(response.data != undefined){
this.tEnforceCaseHandlerList = response.data.tEnforceCaseHandlerList;
}
});
},
afterReadEvidenceForm(file){
let params1 = new FormData();
params1.append("file", file.file);
commonUpload(params1).then((r1) => {
// this.tEnforceSamplingGoodsList[index].attachement.push(r1.fileName);
this.form.attachement.push(r1.fileName)
})
},
deleteFileEvidenceForm(file,detail) {
this.form.attachement.splice(detail.index,1);
this.form.attachementList.splice(detail.index,1);
},
},
watch: {
$route (to, from ) {
// 监听路由变化, 实现类似 小程序的 onShow 事件
if (to.path === '/lawEnforcement/caseAdd') {
console.log('abc')
// do anything you want
if (Cookies.get('enforcer')){
JSON.parse(Cookies.get('enforcer')).map((res,index)=>{
this.tEnforceCaseHandlerList.push(res)
})
}
}
}
},
}
</script>

<style scoped lang="scss">
.app-container {
padding: 2% 0;
}
/deep/ .van-collapse-item__content{
padding: 0;
}
.cf{
padding: 0 3%;
margin-top: 20PX;
margin-bottom: 20PX;
.van-row{
background: #F0F3F5;
.van-col{
padding: 5PX 0;
font-size: 12PX!important;
text-align: center;
p{
color: #1D6FE9;
}
}
&:first-child{
background: transparent;
}
}
}
.header_main{
height: 116px;
background: url('../../../../static/images/lawEnforcement/new/list_head.png') no-repeat;
background-size: 100% 100%;
position: fixed;
top: 0;
left: 0;
width: 100%;
font-size: 36px;
line-height: 116px;
text-align: center;
color: #fff;
z-index: 999;
.return_btn{
width: 24px;
height: 43.2px;
background: url('../../../assets/images/sunVillage_info/list_icon_5.png') center center no-repeat;
background-size: 20px 36px;
position: absolute;
left: 38px;
top: 36px;
}
.add_btn{
width: 56.4px;
height: 40.8px;
background: url('../../../assets/images/sunVillage_info/list_icon_9.png') center center no-repeat;
background-size: 47px 34px;
position: absolute;
right: 38px;
top: 36px;
}
}
/deep/ .van-radio--horizontal{
margin-left: 0.32rem;
margin-right: 0;
}
.peopleList{
padding: 3%;
text-align: center;
.van-row{
margin-bottom: 10PX;
background: rgba(196,218,249,0.3);
border-radius: 5PX;
.van-col{
text-align: center;
font-size: 14PX;
color: #333333;
padding: 5PX 0;
}
&:first-child{
background: none;
.van-col{
padding: 0;
color: #1D6FE9;
}
}
}
.icon_box{
display: flex;
justify-content: space-around;
/deep/ .van-checkbox{
justify-content: center;
}
}
}
.main_title{
font-size: 0.4rem;
color: #1D6FE9;
margin: 0.2rem 6%;
margin-top: 0;
position: relative;
}
.main_box{
width: 96%;
margin: 0 auto;
border-radius: 10PX;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
overflow: hidden;
background-color: #FFF;
.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;
}
}
.submitButton{
width: 40%;
margin: 0 auto;
background-image: linear-gradient(to right, #2E79E9 , #77A6EF);
text-align: center;
color: #ffffff;
height: 70px;
line-height: 70px;
border-radius: 8PX;
margin-top: 25PX;
}
.submit_box{
display: flex;
}
.addFamily{
position: absolute;
top: -2px;
right: 0;
border-radius: 50%;
}
</style>

+ 331
- 0
src/views/lawEnforcement/caseAllocation/caseEnforceList.vue Zobrazit soubor

@@ -0,0 +1,331 @@
<template>
<div class="app-container">
<div class="header_main">
执行人员
<div class="return_btn" @click="onClickLeft"></div>
</div>
<div style="height: 58px;"></div>

<div class="search_box">
<van-popover
v-model="showPopover"
trigger="click"
:actions="belongTeamOptions"
@select="popChange"
placement="bottom-start"
>
<template #reference>
<div class="select_box">
<p>{{popValue}}</p>
<van-icon name="arrow-down" color="#1D6FE9" />
</div>
</template>
</van-popover>
<div class="search">
<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 class="peoplett">
<van-col :span="4">执行主体</van-col>
<van-col :span="20">执行人员</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" @click="choiceEnforcer">确定</p>

</div>
</template>

<script>
import { listEnforcer , getCase , updateSurvey , getSurveyByCaseId } from "@/api/lawEnforcement/index";
import Cookies from "js-cookie";
export default {
name: "programmeDetail",
data() {
return {
showPopover: false,
form:{},
result:[],
queryParams: {
// 分页
pageNum: 1,
pageSize: 999,
// 查询排序
orderByColumn: "id",
isAsc: "desc",
nameOrEnforceNum: null, // 搜索参数-执行人姓名或证件号
belongTeam: '1', // 搜索参数-所在中队
},

enforcerList:[],

searchInput:'',
belongTeamOptions:[],
belongTeamOptions2:[],

popValue:'一中队',
surveyForm:{}

};
},
created() {
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()
this.getDetail();
},
methods: {
getDictionaries(){
listEnforcer(this.queryParams).then((response) => {
response.rows.map(res=>{
res.belongTeam = res.belongTeam == '' ? '' : this.selectDictLabel(this.belongTeamOptions2, res.belongTeam);
this.enforcerList.push(res);
})
});
},
goSearch(){
this.enforcerList = [];
this.getDictionaries()
},
popChange(action,index){
this.popValue = action.text;
this.queryParams.belongTeam = action.value;
this.enforcerList = [];
this.getDictionaries();
},
choiceEnforcer(){
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)
})
this.surveyForm.tEnforceCaseHandlerList = list;
this.surveyForm.caseId = this.form.id;
getSurveyByCaseId(this.surveyForm.caseId).then(responseSurvey => {
this.surveyForm.id = responseSurvey.data.id;
updateSurvey(this.surveyForm).then(response => {
this.$notify({ type: 'success', message: '保存成功' });
setTimeout(function(){
history.back(-1);
},2000)
});
});
},
getDetail(){
getCase(this.$route.query.id).then((response) => {
this.form = response.data;
});
},
},
}
</script>

<style scoped lang="scss">
.app-container {
padding: 2% 0;
}
/deep/ .van-collapse-item__content{
padding: 0;
}
/deep/ .van-checkbox{
justify-content: center;
}
.icon_box{
display: flex;
justify-content: space-around;
}
.search_box{
display: flex;
justify-content: space-between;
align-items: center;
width: 92%;
margin: 0PX auto;
.select_box{
border: 1px solid #1D6FE9;
border-radius: 8PX;
padding: 0 12PX ;
background: #ffffff;
height: 30PX;
line-height: 30PX;
display: flex;
justify-content: space-around;
align-items: center;
}
.search{
flex: 1;
background: #ffffff;
display: flex;
justify-content: space-between;
align-items: center;
width: 70%;
margin: 10PX 0 10PX 10PX;
border: 1px solid #1D6FE9;
padding: 1PX 1PX 1PX 12PX ;
border-radius: 8PX;
input{
flex: 1;
background: transparent;
}
}
}
.cf{
padding: 0 3%;
margin-top: 20PX;
margin-bottom: 20PX;
.van-row{
background: #F0F3F5;
.van-col{
padding: 5PX 0;
font-size: 12PX!important;
text-align: center;
p{
color: #1D6FE9;
}
}
&:first-child{
background: transparent;
}
}
}
.header_main{
height: 116px;
background: url('../../../../static/images/lawEnforcement/new/list_head.png') no-repeat;
background-size: 100% 100%;
position: fixed;
top: 0;
left: 0;
width: 100%;
font-size: 36px;
line-height: 116px;
text-align: center;
color: #fff;
z-index: 999;
.return_btn{
width: 24px;
height: 43.2px;
background: url('../../../assets/images/sunVillage_info/list_icon_5.png') center center no-repeat;
background-size: 20px 36px;
position: absolute;
left: 38px;
top: 36px;
}
.add_btn{
width: 56.4px;
height: 40.8px;
background: url('../../../assets/images/sunVillage_info/list_icon_9.png') center center no-repeat;
background-size: 47px 34px;
position: absolute;
right: 38px;
top: 36px;
}
}
/deep/ .van-radio--horizontal{
margin-left: 0.32rem;
margin-right: 0;
}
.peopleList{
padding: 3%;
text-align: center;
.van-row{
margin-bottom: 10PX;
background: rgba(196,218,249,0.3);
border-radius: 5PX;
.van-col{
text-align: center;
font-size: 14PX;
color: #333333;
padding: 5PX 0;
}
}
.peoplett{
background: none;
.van-col{
padding: 0;
color: #1D6FE9;
}
}
}
.main_title{
font-size: 0.4rem;
color: #1D6FE9;
margin: 0.2rem 6%;
margin-top: 0;
position: relative;
}
.main_box{
width: 96%;
margin: 0 auto;
border-radius: 10PX;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
overflow: hidden;
background-color: #FFF;
.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;
}
}
.submitButton{
width: 45%;
margin: 0 auto;
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{
position: absolute;
top: -2px;
right: 0;
border-radius: 50%;
}
</style>

+ 0
- 311
src/views/lawEnforcement/caseAllocation/caseList.vue Zobrazit soubor

@@ -1,311 +0,0 @@
<template>
<div class="home_wrapper">
<div class="header_main">
登记列表
<div class="return_btn" @click="onClickLeft"></div>
</div>
<div class="jg"></div>
<van-list
v-model="loading"
:finished="finished"
finished-text="没有更多了"
@load="getList"
>
<van-swipe-cell v-for="(item,index) in list" :key="index">
<van-cell center :to="{name:'lawEnforcementTaskDetail', query: {id:item.id}}">
<template #title>
<span>{{item.caseName}}</span>
<div class="first">
<span>{{item.caseSource}}</span>
<span>分配时间:{{item.registerDate}}</span>
</div>
</template>
<template #label>
<div class="label">
<p>执法人:{{item.legalName}}</p>
<p>{{item.caseProgress}}</p>
</div>
</template>
</van-cell>
<template #right>
<van-row>
<van-col>
<van-button square color="#FFA63E" text="打卡" :to="{name:'lawEnforcementCaseReturn', query: {id:item.id}}" class="delete-button" />
</van-col>
<van-col>
<van-button square color="#1CB8B1" :to="{name:'lawEnforcementCaseDistribution', query: {id:item.id}}" class="delete-button" >上传<br/>文件</van-button>
</van-col>
<van-col>
<van-button square color="#1D6FE9" :to="{name:'lawEnforcementCaseDistribution', query: {id:item.id}}" class="delete-button" >案件<br/>处理</van-button>
</van-col>
</van-row>
</template>
</van-swipe-cell>
</van-list>
</div>
</template>

<script>
import { caseTasklist } from "@/api/lawEnforcement/index";
export default {
name: "caseAllocation",
data() {
return {
loading: false,
finished: false,
searchInput:'',
queryParams: {
// 分页
pageNum: 1,
pageSize: 10,
// 查询排序
orderByColumn: "id",
isAsc: "desc",
},
list:[]
};
},
created() {
this.getDicts("case_source").then(response => {
this.caseSourceOptions = response.data;
});
this.getDicts("case_node").then(response => {
this.caseProgressOptions = response.data;
});
},
methods: {
getList(){
var _this = this;
caseTasklist(_this.queryParams).then(response => {
response.rows.map(res=>{
res.caseSource = res.caseSource == '' ? '' : this.selectDictLabel(this.caseSourceOptions, res.caseSource);
res.caseProgress = res.caseProgress == '' ? '' : this.selectDictLabel(this.caseProgressOptions, res.caseProgress);
this.list.push(res);
})
if(this.list.length >= response.total){
this.finished = true;
return;
}else{
this.loading = false;
this.queryParams.pageNum += 1 ;
}
});
},
tabClick(year){
this.queryParams.year = year ;
this.applicationList = [];
this.getList();
},
tabShow(){
this.showTab = !this.showTab;
},
/** 删除按钮操作 */
handleDelete(row,index) {
let assetStatus = row.assetStatus ? row.assetStatus : data[0].assetStatus;
if (assetStatus === '2' || assetStatus === '3') {
this.$notify({
message: "不允许删除已出售或已报废的资产",
type: "warning",
});
return;
}
let useType = row.useType;
if(useType == 3) {
this.$notify({
message: "出租或出借的资产不允许删除",
type: "warning",
});
return ;
}
const ids = row.id || this.ids;

this.$dialog.alert(
{
message:'是否确认删除固定资产?',
title:"警告",
confirmButtonText: "确定",
cancelButtonText: "取消",
}
)
.then(function () {
return delPermanent(ids);
})
.then(() => {
this.applicationList.splice(index, 1);
this.$notify({ type: 'success', message: '删除成功' });
});
},
goAdd(){
this.$router.push('/sunVillage_info/list_finance_add')
},
goDetail(id){
this.$router.push({path:'/sunVillage_info/list_finance_detail',query: {id:id,type:'finance'}})
},
goRanking(id,time){
this.$router.push({path:'/sunVillage_info/list_finance_ranking',query: {id:id,time:time}})
},
goEdit(id){
this.$router.push({path:'/sunVillage_info/list_finance_edit',query: {id:id,type:'finance'}})
},
goRemove(id){
this.$dialog.alert({
title: '提示',
message: '确认删除?',
showCancelButton:true,
})
.then(() => {
openRemove(id).then(response => {
this.$notify({ type: 'success', message: '删除成功' });
this.getList()
});
})
.catch(() => {
// on cancel
});

}
},
}
</script>

<style scoped lang="scss">
.jg{
height: 116px;
}
.home_wrapper{
background: #e9e9e9;
min-height: 100vh;
width: 100vw;
padding: 0 2% 0.2rem;
.search_box{
display: flex;
justify-content: space-between;
align-items: center;
width: 92%;
margin: 0PX auto;
.search{
background: #ffffff;
display: flex;
justify-content: space-between;
align-items: center;
width: 80%;
margin: 10PX auto;
border: 1px solid #1D6FE9;
padding: 1PX 1PX 1PX 12PX ;
border-radius: 50PX;
input{
flex: 1;
background: transparent;
}
}
}
.header_main{
height: 116px;
background: url('../../../../static/images/lawEnforcement/new/list_head.png') no-repeat;
background-size: 100% 100%;
position: fixed;
top: 0;
left: 0;
width: 100%;
font-size: 36px;
line-height: 116px;
text-align: center;
color: #fff;
z-index: 999;
.return_btn{
width: 24px;
height: 43.2px;
background: url('../../../assets/images/sunVillage_info/list_icon_5.png') center center no-repeat;
background-size: 20px 36px;
position: absolute;
left: 38px;
top: 36px;
}
.add_btn{
width: 56.4px;
height: 40.8px;
background: url('../../../assets/images/sunVillage_info/list_icon_9.png') center center no-repeat;
background-size: 47px 34px;
position: absolute;
right: 38px;
top: 36px;
}
}

}
/deep/.van-cell__title{
.first{
display: flex;
justify-content: space-between;
span{
color: #FE1313;
&:last-child{
color: #B4B0B0;
}
}
}
span{
font-family: Arial;
font-size: 0.35rem;
font-weight: normal;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 1;
word-break: break-all;
overflow: hidden;
}
}
/deep/.van-cell__label .label {
display: flex;
justify-content: space-between;
p{
display: inline-block;
font-size: 0.35rem;
&:first-child{
color: #333333;
}
&:last-child{
padding: 0 7PX;
border: 1px solid #1D6FE9;
color: #1D6FE9;
border-radius: 1rem;
}
}
}
/deep/.van-cell__value{
flex: 0.3;
color: #1D6FE9;
font-weight: bold;
}
/deep/.van-cell{
/*margin-bottom: 0.2rem;*/
/*overflow: hidden;*/
}
/deep/.van-cell:first-child{
/*margin-top: 0.2rem;*/
}
/deep/van-ellipsis{
font-weight: bold;
}
/deep/ .van-swipe-cell{
margin-bottom: 0.3rem;
border-radius: 0.2rem;
overflow: hidden;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
&:first-child{
margin-top: 0.3rem;
}
}
/deep/ .van-swipe-cell__right{
right: -1PX;
}
.van-row{
height: 100%;
}
.van-col{
height: 100%;
}
.delete-button {
height: 100%;
}
</style>

+ 274
- 0
src/views/lawEnforcement/caseAllocation/caseListNew.vue Zobrazit soubor

@@ -0,0 +1,274 @@
<template>
<div class="home_wrapper">
<div class="header_main">
登记列表
<div class="return_btn" @click="onClickLeft"></div>
</div>
<div style="height: 58px;"></div>
<div class="search_box">
<div class="search">
<input type="text" v-model="searchInput" placeholder="请输入登记名称" />
<img src="../../../../static/images/lawEnforcement/new/index_icon_04.png" @click="goSearch">
</div>
<img src="../../../../static/images/lawEnforcement/new/list_icon_03.png" @click="$router.push({name:'lawEnforcementCaseAdd'})"/>
</div>

<van-list
v-model="loading"
:finished="finished"
finished-text="没有更多了"
@load="getList"
>
<van-swipe-cell v-for="(item,index) in list" :key="index">
<van-cell :title="item.caseName" center :to="{name:'lawEnforcementCaseDetailNew', query: {id:item.id}}">
<template #icon>
<van-icon name="../../../../static/images/lawEnforcement/new/list_icon_01.png" size="20" color="#FF4646" style="margin-right: 10px;" />
</template>
<template #label>
<p>{{item.caseSourceText}}</p>
<p>第{{item.belongTeamText}}</p>
<p>{{item.registerDate}}</p>
</template>
</van-cell>
<template #right>
<van-row>
<van-col>
<van-button v-if="item.caseProgress == 1" square text="修改" type="info" :to="{name:'lawEnforcementCaseEdit', query: {id:item.id}}" class="delete-button" />
</van-col>
<van-col>
<van-button v-if="item.caseProgress == 1" square text="删除" type="danger" @click="deleteCase(item.id)" class="delete-button" />
</van-col>
<van-col>
<van-button v-if="item.caseProgress == 1" color="#FFA63E" square text="提交" type="info" @click="submitCase(item)" class="delete-button" />
</van-col>
<van-col>
<van-button v-if="item.caseProgress != 1" color="#1CB8B1" square type="info" :to="{name:'lawEnforcementCaseEnforceList', query: {id:item.id}}" class="delete-button" >添加<br/>执法<br/>员</van-button>
</van-col>
</van-row>
</template>
</van-swipe-cell>
</van-list>
</div>
</template>

<script>
import { listCase , delCase , updateCase } from "@/api/lawEnforcement/index";
export default {
name: "caseAllocation",
data() {
return {
loading: false,
finished: false,
searchInput:'',
queryApplyParams: {
// 分页
pageNum: 1,
pageSize: 10,
// 查询排序
orderByColumn: "id",
isAsc: "desc",
caseName: null,
caseProgress: "1",
createBy: "use",
},
list:[],
belongTeamOptions:[],
caseSourceOptions:[],
caseProgressOptions:[],
};
},
created() {
this.getDicts("case_source").then(response => {
this.caseSourceOptions = response.data;
});
this.getDicts("team_category").then(response => {
this.belongTeamOptions = response.data;
});
this.getDicts("case_node").then(response => {
this.caseProgressOptions = response.data;
});
},
methods: {
getList(){
var _this = this;
listCase(_this.queryApplyParams).then(response => {
response.rows.map(res=>{
res.caseSourceText = res.caseSource == '' ? '' : this.selectDictLabel(this.caseSourceOptions, res.caseSource);
res.belongTeamText = res.belongTeam == '' ? '' : this.selectDictLabel(this.belongTeamOptions, res.belongTeam);
this.list.push(res);
})
console.log(this.list.length)
if(this.list.length >= response.total){
this.finished = true;
return;
}else{
this.loading = false;
this.queryApplyParams.pageNum += 1 ;
}
});
},
goSearch(){
// if (this.searchInput == ''){
// location.reload()
// }
this.list = [];
this.queryApplyParams.caseName = this.searchInput;
this.queryApplyParams.pageNum = 1 ;
this.loading = false;
this.finished = false;
// this.getList();
},
deleteCase(id){
this.$dialog.confirm({
message: '是否确认删除案件登记标识为"' + id + '"的数据项?',
}).then(function () {
return delCase(id);
}).then(() => {
this.list = [];
this.loading = false;
this.finished = false;
this.queryApplyParams.pageNum = 1 ;
this.getList();
this.$notify({ type: 'success', message: '删除成功' });
}).catch(() => {});
},
submitCase(data){
var _this = this;
data.caseId = data.id;
data.caseStatus = "1";
data.caseProgress = "2"; // 勘察
data.caseProgressName = this.selectDictLabel(this.caseProgressOptions, data.caseProgress); // 勘察
this.$dialog.confirm({
message: '提交后案件将进入后续流程并且不能修改,是否确认提交?',
}).then(function () {
// 更新案件的节点和状态
updateCase(data).then(response => {
_this.$notify({ type: 'success', message: '提交成功' });
});
}).then(() => {
this.list = [];
this.loading = false;
this.finished = false;
this.queryApplyParams.pageNum = 1 ;
this.getList();
this.$notify({ type: 'success', message: '提交成功' });
}).catch(() => {});
}
},
}
</script>

<style scoped lang="scss">
.home_wrapper{
background: #e9e9e9;
min-height: 100vh;
width: 100vw;
padding: 0 3% 0.2rem;
.search_box{
display: flex;
justify-content: space-between;
align-items: center;
width: 92%;
margin: 0PX auto;
.search{
background: #ffffff;
display: flex;
justify-content: space-between;
align-items: center;
width: 100%;
margin: 10PX auto;
border: 1px solid #1D6FE9;
padding: 1PX 1PX 1PX 12PX ;
border-radius: 50PX;
margin-right: 10PX;
input{
flex: 1;
background: transparent;
}
}
}
.header_main{
height: 116px;
background: url('../../../../static/images/lawEnforcement/new/list_head.png') no-repeat;
background-size: 100% 100%;
position: fixed;
top: 0;
left: 0;
width: 100%;
font-size: 36px;
line-height: 116px;
text-align: center;
color: #fff;
z-index: 999;
.return_btn{
width: 24px;
height: 43.2px;
background: url('../../../assets/images/sunVillage_info/list_icon_5.png') center center no-repeat;
background-size: 20px 36px;
position: absolute;
left: 38px;
top: 36px;
}
.add_btn{
width: 56.4px;
height: 40.8px;
background: url('../../../assets/images/sunVillage_info/list_icon_9.png') center center no-repeat;
background-size: 47px 34px;
position: absolute;
right: 38px;
top: 36px;
}
}

}
/deep/.van-cell__title span{
font-family: Arial;
font-size: 0.4rem;
font-weight: normal;
color: #666666;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 1;
word-break: break-all;
overflow: hidden;
}
/deep/.van-cell__label {
display: flex;
justify-content: space-between;
p{
display: inline-block;
&:first-child{
background: rgba(28,184,177,0.2);
padding: 0 5PX;
border-radius: 3PX;
color: #1CB8B1;
}
}
}
/deep/.van-cell__value{
flex: 0.3;
color: #1D6FE9;
font-weight: bold;
}
/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);
.van-swipe-cell__right{
right: -2PX;
}
}
/deep/van-ellipsis{
font-weight: bold;
}
.van-row{
height: 100%;
}
.van-col{
height: 100%;
}
.delete-button {
height: 100%;
}
</style>

+ 0
- 3
src/views/lawEnforcement/index_new.vue Zobrazit soubor

@@ -266,9 +266,6 @@ export default {
box-shadow: 0px 3PX 6PX rgba(0,0,0,0.16);
border-radius: 5PX;
overflow: hidden;
&:nth-child(2){
margin: 0 10PX;
}
}
/deep/ .van-grid-item__content{
p{


+ 3
- 1
src/views/lawEnforcement/task/task.vue Zobrazit soubor

@@ -22,7 +22,7 @@
</template>
<template #label>
<div class="label">
<p>执法人:{{item.legalName}}</p>
<p>执法人:{{item.handlerNameStr}}</p>
<p>{{item.caseProgressName}}</p>
</div>
</template>
@@ -258,11 +258,13 @@
/deep/.van-cell__label .label {
display: flex;
justify-content: space-between;
align-items: center;
p{
display: inline-block;
font-size: 0.35rem;
&:first-child{
color: #333333;
width: 70%;
}
&:last-child{
padding: 0 7PX;


+ 13
- 14
src/views/lawEnforcement/task/taskDetail.vue Zobrazit soubor

@@ -59,20 +59,8 @@
<span class="custom-title">附件<i class="bgBlue"></i></span>
</template>
<div class="cf">
<van-row>
<van-col :span="6">
<van-image src="../../../../static/images/lawEnforcement/icon/icon_fj.png" width="50" />
<p>产品确认</p>
<p>通知书</p>
</van-col>
<van-col :span="6">
<van-image src="../../../../static/images/lawEnforcement/icon/icon_fj.png" width="50" />
<p>产品确认</p>
<p>通知书</p>
</van-col>
<van-col :span="6"></van-col>
<van-col :span="6"></van-col>
</van-row>
<van-uploader v-model="form.attachementList" :show-upload="false" :deletable="false" />
<van-empty v-if="form.attachement == null " description="暂无文件" />
</div>
</van-collapse-item>
</van-collapse>
@@ -181,6 +169,17 @@
getDeptName(response.data.deptId).then(res => {
response.data.deptId = res.data.deptName
});
if (response.data.attachement){
response.data.attachementList = [];
var attachement = response.data.attachement.split( "," );
attachement.forEach(responseAttach=>{
response.data.attachementList.push({
url:'/api' + responseAttach,
isImage: true
});
})
// process.env.VUE_APP_BASE_ROUTING_URL + process.env.VUE_APP_BASE_API
}
this.form = response.data;
});
getSurveyByCaseId(this.$route.query.id).then((response) => {


+ 879
- 259
src/views/lawEnforcement/task/taskHandle.vue
Diff nebyl zobrazen, protože je příliš veliký
Zobrazit soubor


binární
static/images/lawEnforcement/new/addDetect_btn.png Zobrazit soubor

Před Za
Šířka: 328  |  Výška: 28  |  Velikost: 1.8 KiB

binární
static/images/lawEnforcement/new/addFinance_btn.png Zobrazit soubor

Před Za
Šířka: 328  |  Výška: 28  |  Velikost: 1.9 KiB

binární
static/images/lawEnforcement/new/addGoods_btn.png Zobrazit soubor

Před Za
Šířka: 328  |  Výška: 28  |  Velikost: 1.9 KiB

binární
static/images/lawEnforcement/new/index_icon_08.png Zobrazit soubor

Před Za
Šířka: 105  |  Výška: 70  |  Velikost: 3.3 KiB Šířka: 210  |  Výška: 140  |  Velikost: 7.5 KiB

binární
static/images/lawEnforcement/new/index_icon_09.png Zobrazit soubor

Před Za
Šířka: 105  |  Výška: 70  |  Velikost: 2.6 KiB Šířka: 210  |  Výška: 140  |  Velikost: 5.9 KiB

binární
static/images/lawEnforcement/new/index_icon_10.png Zobrazit soubor

Před Za
Šířka: 105  |  Výška: 70  |  Velikost: 3.7 KiB Šířka: 210  |  Výška: 140  |  Velikost: 8.2 KiB

binární
static/images/lawEnforcement/new/index_icon_11.png Zobrazit soubor

Před Za
Šířka: 105  |  Výška: 70  |  Velikost: 3.1 KiB Šířka: 210  |  Výška: 140  |  Velikost: 7.0 KiB

binární
static/images/lawEnforcement/new/index_icon_12.png Zobrazit soubor

Před Za
Šířka: 107  |  Výška: 148  |  Velikost: 13 KiB Šířka: 214  |  Výška: 296  |  Velikost: 40 KiB

binární
static/images/lawEnforcement/new/index_icon_16.png Zobrazit soubor

Před Za
Šířka: 179  |  Výška: 103  |  Velikost: 13 KiB Šířka: 358  |  Výška: 206  |  Velikost: 40 KiB

binární
static/images/lawEnforcement/new/index_icon_17.png Zobrazit soubor

Před Za
Šířka: 179  |  Výška: 103  |  Velikost: 12 KiB Šířka: 358  |  Výška: 206  |  Velikost: 29 KiB

binární
static/images/lawEnforcement/new/index_icon_20.png Zobrazit soubor

Před Za
Šířka: 350  |  Výška: 101  |  Velikost: 23 KiB Šířka: 700  |  Výška: 202  |  Velikost: 64 KiB

Načítá se…
Zrušit
Uložit