소스 검색

执法接口对接

wulanhaote
庞东旭 2 년 전
부모
커밋
b323cf5991
15개의 변경된 파일4042개의 추가작업 그리고 405개의 파일을 삭제
  1. +73
    -0
      src/api/lawEnforcement/index.js
  2. +28
    -0
      src/router/index.js
  3. +441
    -124
      src/views/lawEnforcement/caseAllocation/caseAdd.vue
  4. +17
    -7
      src/views/lawEnforcement/caseAllocation/caseDetail.vue
  5. +13
    -7
      src/views/lawEnforcement/caseAllocation/caseDistribution.vue
  6. +311
    -0
      src/views/lawEnforcement/caseAllocation/caseList.vue
  7. +1
    -1
      src/views/lawEnforcement/index_new.vue
  8. +84
    -111
      src/views/lawEnforcement/task/signInRecord.vue
  9. +33
    -39
      src/views/lawEnforcement/task/task.vue
  10. +90
    -45
      src/views/lawEnforcement/task/taskDetail.vue
  11. +2541
    -0
      src/views/lawEnforcement/task/taskHandle.vue
  12. +23
    -47
      src/views/lawEnforcement/task/taskRecord.vue
  13. +116
    -24
      src/views/lawEnforcement/task/taskSignIn.vue
  14. +271
    -0
      src/views/lawEnforcement/task/taskSignInSee.vue
  15. BIN
      static/images/lawEnforcement/icon/signInRecord_icon_03.png

+ 73
- 0
src/api/lawEnforcement/index.js 파일 보기

@@ -531,3 +531,76 @@ export function returnCase(data) {
data: data data: data
}) })
} }

// 案件退回,从勘察退回至登记
export function addCase(data) {
return request({
url: '/enforce/case/add',
method: 'post',
data: data
})
}
// 新增执法进度历史
export function addProgress(data) {
return request({
url: '/enforce/progress/add',
method: 'post',
data: data
})
}
// 任务查看列表
export function caseTasklist(query) {
return request({
url: '/enforce/case/caseTasklist',
method: 'get',
params: query
})
}
//上传全局方法附件
export function commonUpload(data) {
return request({
url: '/common/upload',
method: 'post',
header: { "Content-Type": 'application/x-www-form-urlencoded' },
data: data
})
}
// 新增勘察打卡
export function addClockin(data) {
return request({
url: '/enforce/clockin/add',
method: 'post',
data: data
})
}
// 查询勘察打卡列表
export function clockinList(query) {
return request({
url: '/enforce/clockin/list',
method: 'get',
params: query
})
}
// 查询勘察打卡详情
export function clockinGet(id) {
return request({
url: '/enforce/clockin/get/'+ id,
method: 'get',
})
}
// 已上传文件列表查询
export function attachmentList(query) {
return request({
url: '/enforce/progress/attachmentList',
method: 'get',
params: query
})
}
// 各个节点附件上传保存方法
export function attachmentEdit(data) {
return request({
url: '/enforce/progress/attachmentEdit',
method: 'post',
data: data
})
}

+ 28
- 0
src/router/index.js 파일 보기

@@ -3828,6 +3828,34 @@ export const constantRoutes = [
keepAlive: true keepAlive: true
}, },
component: (resolve) => require(['@/views/lawEnforcement/caseAllocation/caseAdd'], resolve) component: (resolve) => require(['@/views/lawEnforcement/caseAllocation/caseAdd'], resolve)
},
{ ////农业执法(新)-- 巡查登记列表
path: '/lawEnforcement/caseList',
name: 'lawEnforcementCaseListNew',
meta: {
title: '巡查登记',
hidden: true,
keepAlive: true
},
component: (resolve) => require(['@/views/lawEnforcement/caseAllocation/caseList'], resolve)
},
{ ////农业执法(新)-- 记录查看
path: '/lawEnforcement/taskSignInSee',
name: 'lawEnforcementTaskSignInSee',
meta: {
title: '记录查看',
hidden: true,
},
component: (resolve) => require(['@/views/lawEnforcement/task/taskSignInSee'], resolve)
},
{ ////农业执法(新)-- 案件处理
path: '/lawEnforcement/taskHandle',
name: 'lawEnforcementTaskHandle',
meta: {
title: '案件处理',
hidden: true,
},
component: (resolve) => require(['@/views/lawEnforcement/task/taskHandle'], resolve)
} }
]; ];




+ 441
- 124
src/views/lawEnforcement/caseAllocation/caseAdd.vue 파일 보기

@@ -5,134 +5,340 @@
<div class="return_btn" @click="onClickLeft"></div> <div class="return_btn" @click="onClickLeft"></div>
</div> </div>
<div style="height: 58px;"></div> <div style="height: 58px;"></div>
<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 v-model="form.caseSource" label="案件来源" placeholder="请输入案件来源" :border="false" label-width="auto" input-align="right" is-link arrow-direction="down" />
<van-field v-model="form.schemeId" label="关联方案" placeholder="请输入关联方案" :border="false" label-width="auto" input-align="right" />
<van-field v-model="form.deptId" label="案件属地" placeholder="请输入案件属地" :border="false" label-width="auto" input-align="right" is-link arrow-direction="down" />
<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" label="案件名称" placeholder="请输入案件名称" :border="false" label-width="auto" input-align="right" />
<van-field v-model="form.registerDate" label="登记日期" placeholder="请输入登记日期" :border="false" label-width="auto" input-align="right" />
<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">
<van-form @submit="goSubmit" :show-error-message="false" ref="form">
<div class="main_box">
<van-cell>
<template #title> <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>
<van-icon name="../../../static/images/lawEnforcement/icon/icon_zxfa.png" size="20"></van-icon>
<span class="custom-title">登记<i class="bgBlue"></i></span>
</template> </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 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>
<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>
</van-field>
<van-field v-model="form.name" 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 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> </template>
</van-field>
<van-field v-model="form.cardNum" label="身份证号" placeholder="请输入身份证号" :border="false" label-width="auto" input-align="right" />
<van-field v-model="form.birthday" label="出生日期" placeholder="请输入出生日期" :border="false" label-width="auto" input-align="right" />
<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.phone" 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-field v-model="form.zihao" label="字号名称" placeholder="请输入字号名称" :border="false" label-width="auto" input-align="right" />


</van-collapse-item>
</van-collapse>
</div>
<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="fileList" multiple />
</div>
</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="fileList" multiple />
</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">保存并打卡</p>
</div>
</van-form>


<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="goSubmit">保存</p>
<p class="submitButton">保存并打卡</p>
</div>
</div> </div>
</template> </template>


<script> <script>
import { getScheme } from "@/api/lawEnforcement/index";
import { addCase , addProgress , treeselect , schemeList , addSurvey } from "@/api/lawEnforcement/index";
import Cookies from "js-cookie"; import Cookies from "js-cookie";
export default { export default {
name: "programmeDetail", name: "programmeDetail",
data() { data() {
return { return {
showBankType:false,
showPayeeType:false,
showPicker:false,
form:{},

bankType:'',
payeeType:'',
value:'',
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 : '',


bankTypeOptions:[],
payeeTypeOptions:[],
tEnforceSchemeHandlerList:[], tEnforceSchemeHandlerList:[],
minDate: new Date(2020, 0, 1),
maxDate: new Date(2025, 10, 1),
currentDate: new Date(2021, 0, 17),
minDate: new Date(1900, 0, 1),


activeNames: ['1'], activeNames: ['1'],
activeNames1: ['1'], activeNames1: ['1'],
@@ -140,33 +346,144 @@


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


// 查询参数
queryParams: {
// 分页
pageNum: 1,
pageSize: 10,
// 查询排序
orderByColumn: "id",
isAsc: "desc",
name: null, // 搜索参数-执行人姓名或证件号
belongTeam: null, // 搜索参数-所在中队
},
tEnforceCaseHandlerList:[], tEnforceCaseHandlerList:[],
radio:'', radio:'',
submitType:'',
surveyId:'',
fileList: [], fileList: [],
hcAreaInfoFieldName: {
text: "label",
value: "value",
children: "children",
},

deptId:''
}; };
}, },
created() { created() {
// this.getDictionaries()

//案件来源
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.caseSourceOptions = 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.belongTeamOptions = 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.enforceCategoryOptions = 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.nationOptions = 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: { methods: {
goSubmit(){ goSubmit(){
addCase(this.form).then(response => {
if(response.code=="200"){
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 => {
this.$notify({ type: 'success', message: '保存成功' });
setTimeout(function(){
history.back(-1);
},2000)
});
});


}
}
this.form.id = response.data;
});
},
getBookList(){
treeselect().then((response) => {
if (response.code == 200) {
this.deptOptions = response.data;
}
})
},
//选择案件来源
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.value;
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;
},
}, },
watch: { watch: {
$route (to, from ) { $route (to, from ) {


+ 17
- 7
src/views/lawEnforcement/caseAllocation/caseDetail.vue 파일 보기

@@ -30,16 +30,22 @@
<span class="custom-title">当事人<i class="bgBlue"></i></span> <span class="custom-title">当事人<i class="bgBlue"></i></span>
</template> </template>
<van-cell title="当事人类型" :border="false" v-model="form.type" /> <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" />
<template v-if="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.zihao" />
</template>
<template v-if="form.type=='企业'">
<van-cell title="企业名称" :border="false" v-model="form.companyName" />
<van-cell title="法人/负责人" :border="false" v-model="form.legalName" />
</template>
<van-cell title="联系电话" :border="false" v-model="form.phone" /> <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.address" />
<van-cell title="统一社会信用代码" :border="false" v-model="form.uniformCode" /> <van-cell title="统一社会信用代码" :border="false" v-model="form.uniformCode" />
<van-cell title="字号名称" :border="false" v-model="form.zihao" />
</van-collapse-item> </van-collapse-item>
</van-collapse> </van-collapse>
</div> </div>
@@ -158,6 +164,9 @@
this.getDicts("enforce_body_type").then(response => { this.getDicts("enforce_body_type").then(response => {
this.typeOptions = response.data; this.typeOptions = response.data;
}); });
this.getDicts("sex").then(response => {
this.sexOptions = response.data;
});
this.getDetail(); this.getDetail();
}, },
methods: { methods: {
@@ -166,6 +175,7 @@
response.data.caseSource = response.data.caseSource == '' ? '' : this.selectDictLabel(this.caseSourceOptions, response.data.caseSource); 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.belongTeam = response.data.belongTeam == '' ? '' : this.selectDictLabel(this.belongTeamOptions, response.data.belongTeam);
response.data.type = response.data.type == '' ? '' : this.selectDictLabel(this.typeOptions, response.data.type); response.data.type = response.data.type == '' ? '' : this.selectDictLabel(this.typeOptions, response.data.type);
response.data.sex = response.data.sex == '' ? '' : this.selectDictLabel(this.sexOptions, response.data.sex);
getDeptName(response.data.deptId).then(res => { getDeptName(response.data.deptId).then(res => {
response.data.deptId = res.data.deptName response.data.deptId = res.data.deptName
}); });


+ 13
- 7
src/views/lawEnforcement/caseAllocation/caseDistribution.vue 파일 보기

@@ -29,16 +29,22 @@
<span class="custom-title">当事人<i class="bgBlue"></i></span> <span class="custom-title">当事人<i class="bgBlue"></i></span>
</template> </template>
<van-cell title="当事人类型" :border="false" v-model="form.type" /> <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" />
<template v-if="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.zihao" />
</template>
<template v-if="form.type=='企业'">
<van-cell title="企业名称" :border="false" v-model="form.companyName" />
<van-cell title="法人/负责人" :border="false" v-model="form.legalName" />
</template>
<van-cell title="联系电话" :border="false" v-model="form.phone" /> <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.address" />
<van-cell title="统一社会信用代码" :border="false" v-model="form.uniformCode" /> <van-cell title="统一社会信用代码" :border="false" v-model="form.uniformCode" />
<van-cell title="字号名称" :border="false" v-model="form.zihao" />
</van-collapse-item> </van-collapse-item>
</van-collapse> </van-collapse>
</div> </div>


+ 311
- 0
src/views/lawEnforcement/caseAllocation/caseList.vue 파일 보기

@@ -0,0 +1,311 @@
<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>

+ 1
- 1
src/views/lawEnforcement/index_new.vue 파일 보기

@@ -36,7 +36,7 @@
<img src="../../../static/images/lawEnforcement/new/index_icon_06.png"/> <img src="../../../static/images/lawEnforcement/new/index_icon_06.png"/>
<p>任务查看</p> <p>任务查看</p>
</van-grid-item> </van-grid-item>
<van-grid-item :to="{name:'lawEnforcementCaseAdd'}">
<van-grid-item :to="{name:'lawEnforcementCaseListNew'}">
<img src="../../../static/images/lawEnforcement/new/index_icon_07.png"/> <img src="../../../static/images/lawEnforcement/new/index_icon_07.png"/>
<p>巡查登记</p> <p>巡查登记</p>
</van-grid-item> </van-grid-item>


+ 84
- 111
src/views/lawEnforcement/task/signInRecord.vue 파일 보기

@@ -8,144 +8,102 @@
<div class="jg"></div> <div class="jg"></div>


<div class="search_box"> <div class="search_box">
<p>关于宿州市埇桥区永镇乡陈诚农药种子门市部超出经营范围经营限制使用农药案</p>
<p>{{form.address}}</p>
<p>{{form.caseName}}</p>
</div> </div>


<div> <div>
<van-row type="flex" align="center">
<van-row type="flex" align="center" v-for="(item,index) in fileList" :key="index">
<van-col> <van-col>
<p class="tt">登记</p>
<p :class="{'tt':form.caseProgress != item.caseProgress,'tt_now':form.caseProgress == item.caseProgress,}">{{item.caseProgressName}}</p>
</van-col> </van-col>
<van-col :span="2"> <van-col :span="2">
<p class="top_border" v-if="index!=0"></p>
<i></i> <i></i>
<p class="bottom_border"></p>
<p class="bottom_border" v-if="index != fileList.length-1"></p>
</van-col> </van-col>
<van-col :span="19"> <van-col :span="19">
<van-uploader v-model="fileList" multiple preview-size="60" upload-icon="add" />
</van-col>
</van-row>
<van-row type="flex" align="center">
<van-col>
<p class="tt">勘察</p>
</van-col>
<van-col :span="2">
<p class="top_border"></p>
<i></i>
<p class="bottom_border"></p>
</van-col>
<van-col :span="19">
<van-uploader v-model="fileList" multiple preview-size="60" upload-icon="add" />
</van-col>
</van-row>
<van-row type="flex" align="center">
<van-col>
<p class="tt">立案</p>
</van-col>
<van-col :span="2">
<p class="top_border"></p>
<i></i>
<p class="bottom_border"></p>
</van-col>
<van-col :span="19">
<van-uploader v-model="fileList" multiple preview-size="60" upload-icon="add" />
</van-col>
</van-row>
<van-row type="flex" align="center">
<van-col>
<p class="tt">取证</p>
</van-col>
<van-col :span="2">
<p class="top_border"></p>
<i></i>
<p class="bottom_border"></p>
</van-col>
<van-col :span="19">
<van-uploader v-model="fileList" multiple preview-size="60" upload-icon="add" />
</van-col>
</van-row>
<van-row type="flex" align="center">
<van-col>
<p class="tt">处理</p>
</van-col>
<van-col :span="2">
<p class="top_border"></p>
<i></i>
<p class="bottom_border"></p>
</van-col>
<van-col :span="19">
<van-uploader v-model="fileList" multiple preview-size="60" upload-icon="add" />
</van-col>
</van-row>
<van-row type="flex" align="center">
<van-col>
<p class="tt">裁决</p>
</van-col>
<van-col :span="2">
<p class="top_border"></p>
<i></i>
<p class="bottom_border"></p>
</van-col>
<van-col :span="19">
<van-uploader v-model="fileList" multiple preview-size="60" upload-icon="add" />
</van-col>
</van-row>
<van-row type="flex" align="center">
<van-col>
<p class="tt">执行</p>
</van-col>
<van-col :span="2">
<p class="top_border"></p>
<i></i>
<p class="bottom_border"></p>
</van-col>
<van-col :span="19">
<van-uploader v-model="fileList" multiple preview-size="60" upload-icon="add" />
</van-col>
</van-row>
<van-row type="flex" align="center">
<van-col>
<p class="tt">备案</p>
</van-col>
<van-col :span="2">
<p class="top_border"></p>
<i></i>
<p class="bottom_border"></p>
</van-col>
<van-col :span="19">
<van-uploader v-model="fileList" multiple preview-size="60" upload-icon="add" />
</van-col>
</van-row>
<van-row type="flex" align="center">
<van-col>
<p class="tt">结案</p>
</van-col>
<van-col :span="2">
<p class="top_border"></p>
<i></i>
</van-col>
<van-col :span="19">
<van-uploader v-model="fileList" multiple preview-size="60" upload-icon="add" />
<van-uploader v-model="item.caseProgressAttach" :show-upload="index == fileList.length-1 ? true : false" :deletable="index == fileList.length-1 ? true : false" :after-read="afterRead" @delete="deleteFile" multiple preview-size="60" upload-icon="add" />
</van-col> </van-col>
</van-row> </van-row>
</div> </div>
<!-- $router.push({name:'lawEnforcementEnterpriseRelation'})-->
<p style="color: #FE1313;text-align: center;margin-top: 20PX;">*请上传不超过5MB 格式为doc/xls/png/jpg/jpeg/mp4的文件</p> <p style="color: #FE1313;text-align: center;margin-top: 20PX;">*请上传不超过5MB 格式为doc/xls/png/jpg/jpeg/mp4的文件</p>
<p class="submitButton" @click="$router.push({name:'lawEnforcementEnterpriseRelation'})">保存</p>
<p class="submitButton" @click="submitForm">保存</p>
</div> </div>
</template> </template>


<script> <script>
import { getCase,attachmentList,commonUpload,attachmentEdit } from "@/api/lawEnforcement/index";
export default { export default {
name: "programmeDetail", name: "programmeDetail",
data() { data() {
return { return {
fileList:[]
fileList1:[],
fileList:[],
openPic:[],
openPic2:[],
caseProgressOptions:[],
form:{}
}; };
}, },
created() { created() {

this.getDicts("case_node").then(response => {
this.caseProgressOptions = response.data;
getCase(this.$route.query.id).then((res) => {
res.data.caseProgressName = this.selectDictLabel(response.data, res.data.caseProgress);
this.form = res.data;//caseProgress
});
});
this.getDetail();
}, },
methods: { methods: {
getDetail(){
let queryParams = {
caseId:this.$route.query.id
}
attachmentList(queryParams).then((response) => {
let fileForm = response.rows;
console.log(fileForm)
fileForm.map((res,i)=>{
if (res.caseProgressAttach != null && res.caseProgressAttach != ''){
res.caseProgressAttach = res.caseProgressAttach.split(",");
}else{
res.caseProgressAttach = [];
}
res.caseProgressAttach.map((rr,index)=>{
res.caseProgressAttach[index] = {
url: '/api' + rr,
isImage: true
}
})
this.fileList.push(res)
})
console.log(this.fileList)
});
},
afterRead(file) {
// 此时可以自行将文件上传至服务器
this.openPic.push(file.file);
let params1 = new FormData();
params1.append("file", file.file);
commonUpload(params1).then((r1) => {
this.openPic2.push(r1.fileName);
})
},
deleteFile(file,detail) {
this.openPic2.splice(detail.index,1);
},
submitForm(){
let queryParams = {
id: this.$route.query.id,// 案件ID
caseProgress: this.form.caseProgress,
attachement: this.openPic2.join(','), // 打卡上传附件(附件的路径字符串,多个附件路径之前通过英文逗号分隔)
};
attachmentEdit(queryParams).then((r1) => {


})
}
}, },
} }
</script> </script>
@@ -222,6 +180,15 @@
color: #ffffff; color: #ffffff;
font-size: .35rem; font-size: .35rem;
} }
.tt_now{
background: url('../../../../static/images/lawEnforcement/icon/signInRecord_icon_03.png') no-repeat center;
width: 41PX;
height: 41PX;
line-height: 41PX;
text-align: center;
color: #ffffff;
font-size: .35rem;
}
i{ i{
background: url('../../../../static/images/lawEnforcement/icon/signInRecord_icon_02.png') no-repeat center; background: url('../../../../static/images/lawEnforcement/icon/signInRecord_icon_02.png') no-repeat center;
width: 10PX; width: 10PX;
@@ -259,4 +226,10 @@
border-radius: 8PX; border-radius: 8PX;
margin-top: 25PX; margin-top: 25PX;
} }
/deep/ .van-uploader__preview{
margin-bottom: 0!important;
}
/deep/ .van-uploader{
display: block;
}
</style> </style>

+ 33
- 39
src/views/lawEnforcement/task/task.vue 파일 보기

@@ -9,33 +9,34 @@
v-model="loading" v-model="loading"
:finished="finished" :finished="finished"
finished-text="没有更多了" finished-text="没有更多了"
@load="getList"
> >
<van-swipe-cell v-for="(item,index) in 10" :key="index">
<van-swipe-cell v-for="(item,index) in list" :key="index">
<van-cell center :to="{name:'lawEnforcementTaskDetail', query: {id:item.id}}"> <van-cell center :to="{name:'lawEnforcementTaskDetail', query: {id:item.id}}">
<template #title> <template #title>
<span>关于徐胜峰在禁渔期内收购非法捕捞渔获...</span>
<span>{{item.caseName}}</span>
<div class="first"> <div class="first">
<span>上级交办</span>
<span>分配时间:2021-09-07</span>
<span>{{item.caseSource}}</span>
<span>分配时间:{{item.registerDate}}</span>
</div> </div>
</template> </template>
<template #label> <template #label>
<div class="label"> <div class="label">
<p>执法人:刘月、张薇</p>
<p>立案</p>
<p>执法人:{{item.legalName}}</p>
<p>{{item.caseProgressName}}</p>
</div> </div>
</template> </template>
</van-cell> </van-cell>
<template #right> <template #right>
<van-row> <van-row>
<van-col> <van-col>
<van-button square color="#FFA63E" text="打卡" :to="{name:'lawEnforcementCaseReturn', query: {id:item.id}}" class="delete-button" />
<van-button square color="#FFA63E" text="打卡" :to="{name:'lawEnforcementTaskSignIn', query: {id:item.id}}" class="delete-button" />
</van-col> </van-col>
<van-col> <van-col>
<van-button square color="#1CB8B1" :to="{name:'lawEnforcementCaseDistribution', query: {id:item.id}}" class="delete-button" >上传<br/>文件</van-button>
<van-button square color="#1CB8B1" :to="{name:'lawEnforcementSignInRecord', query: {id:item.id}}" class="delete-button" >上传<br/>文件</van-button>
</van-col> </van-col>
<van-col> <van-col>
<van-button square color="#1D6FE9" :to="{name:'lawEnforcementCaseDistribution', query: {id:item.id}}" class="delete-button" >案件<br/>处理</van-button>
<van-button square color="#1D6FE9" :to="{name:'lawEnforcementTaskHandle', query: {id:item.id,caseProgress:item.caseProgress}}" class="delete-button" >案件<br/>处理</van-button>
</van-col> </van-col>
</van-row> </van-row>
</template> </template>
@@ -45,56 +46,49 @@
</template> </template>


<script> <script>
import { financePublicList,openRemove } from "@/api/sunVillage_info/fixedAssets";
import Cookies from "js-cookie";
import request from '@/utils/request'
import { caseTasklist } from "@/api/lawEnforcement/index";
export default { export default {
name: "caseAllocation", name: "caseAllocation",
data() { data() {
return { return {
applicationList:[],
applicationListSecond:[],
assetStatusOptions:[],
auditStatus:[],
loading: false, loading: false,
finished: false, finished: false,
show: false,
showTab: false,
fileList:[],
listLength:'0',
searchInput:'', searchInput:'',
queryParams:{
pageNum:1,
pageSize:10,
orderByColumn:'createTime',
isAsc:'desc',
year:'2022',
queryParams: {
// 分页
pageNum: 1,
pageSize: 10,
// 查询排序
orderByColumn: "id",
isAsc: "desc",
}, },
uploadFiles1:[],
projectId:'',
projectIndex:'',
showBtn:true,
list:[]
}; };
}, },
created() { created() {

this.getDicts("case_source").then(response => {
this.caseSourceOptions = response.data;
});
this.getDicts("case_node").then(response => {
this.caseProgressOptions = response.data;
});
}, },
methods: { methods: {
getList(){ getList(){
var _this = this; var _this = this;
financePublicList(_this.queryParams).then(response => {
_this.listLength = response.total;
caseTasklist(_this.queryParams).then(response => {
response.rows.map(res=>{ response.rows.map(res=>{
_this.applicationList.push(res);
res.caseSource = res.caseSource == '' ? '' : this.selectDictLabel(this.caseSourceOptions, res.caseSource);
res.caseProgressName = res.caseProgress == '' ? '' : this.selectDictLabel(this.caseProgressOptions, res.caseProgress);
this.list.push(res);
}) })
if(_this.applicationList.length >= response.total){
_this.finished = true;
if(this.list.length >= response.total){
this.finished = true;
return; return;
}else{ }else{
_this.loading = false;
_this.queryParams.pageNum += 1 ;
this.loading = false;
this.queryParams.pageNum += 1 ;
} }

}); });
}, },
tabClick(year){ tabClick(year){


+ 90
- 45
src/views/lawEnforcement/task/taskDetail.vue 파일 보기

@@ -1,7 +1,7 @@
<template> <template>
<div class="app-container"> <div class="app-container">
<div class="header_main"> <div class="header_main">
查看登记案件
查看登记
<div class="return_btn" @click="onClickLeft"></div> <div class="return_btn" @click="onClickLeft"></div>
</div> </div>
<div style="height: 58px;"></div> <div style="height: 58px;"></div>
@@ -12,14 +12,14 @@
<span class="custom-title">登记<i class="bgBlue"></i></span> <span class="custom-title">登记<i class="bgBlue"></i></span>
</template> </template>
</van-cell> </van-cell>
<van-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>


<div class="main_box" style="margin-top: 10px;"> <div class="main_box" style="margin-top: 10px;">
@@ -29,17 +29,24 @@
<van-icon name="../../../static/images/lawEnforcement/icon/icon_dsr.png" size="20"></van-icon> <van-icon name="../../../static/images/lawEnforcement/icon/icon_dsr.png" size="20"></van-icon>
<span class="custom-title">当事人<i class="bgBlue"></i></span> <span class="custom-title">当事人<i class="bgBlue"></i></span>
</template> </template>
<van-cell 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" />

<template v-if="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.zihao" />
</template>
<template v-if="form.type=='企业'">
<van-cell title="企业名称" :border="false" v-model="form.companyName" />
<van-cell title="法人/负责人" :border="false" v-model="form.legalName" />
</template>
<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-collapse-item> </van-collapse-item>
</van-collapse> </van-collapse>
</div> </div>
@@ -86,32 +93,31 @@
<van-col :span="4">带队人</van-col> <van-col :span="4">带队人</van-col>
</van-row> </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="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"> <van-col :span="4">
<div class="icon_box"> <div class="icon_box">
<van-checkbox v-model="checked" shape="square"></van-checkbox>
<!-- <van-icon name="../../../static/images/lawEnforcement/icon/icon_delete.png" size="20"></van-icon>-->
<van-checkbox v-model="item.enforcerLeader" shape="square"></van-checkbox>
</div> </div>
</van-col> </van-col>
</van-row> </van-row>
<!-- <img src="../../../../static/images/lawEnforcement/new/addPeop_btn.png" style="margin: 0 auto;" @click="$router.push({name:'lawEnforcementCaseLawEnforcer'})">-->
</div> </div>
</van-collapse-item> </van-collapse-item>
</van-collapse> </van-collapse>
</div> </div>
<p class="submitButton" @click="$router.push({name:'lawEnforcementTaskSignIn'})">执法打卡</p>
<p class="submitButton" @click="$router.push({name:'lawEnforcementTaskSignIn', query: {id:form.id}})">执法打卡</p>
</div> </div>
</template> </template>


<script> <script>
import { getScheme } from "@/api/lawEnforcement/index";
import { getCase , getDeptName , getSurveyByCaseId } from "@/api/lawEnforcement/index";
export default { export default {
name: "programmeDetail", name: "programmeDetail",
data() { data() {
return { return {
checked:'',
showBankType:false, showBankType:false,
showPayeeType:false, showPayeeType:false,
showPicker:false, showPicker:false,
@@ -131,16 +137,57 @@
activeNames: ['1'], activeNames: ['1'],
activeNames1: ['1'], activeNames1: ['1'],
activeNames2: ['1'], activeNames2: ['1'],

caseSourceOptions:[],
belongTeamOptions:[],

// 查询参数
queryParams: {
// 分页
pageNum: 1,
pageSize: 10,
// 查询排序
orderByColumn: "id",
isAsc: "desc",
name: null, // 搜索参数-执行人姓名或证件号
belongTeam: null, // 搜索参数-所在中队
},
tEnforceCaseHandlerList:[]
}; };
}, },
created() { created() {
// this.getDictionaries() // 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.getDicts("sex").then(response => {
this.sexOptions = response.data;
});
this.getDetail();
}, },
methods: { 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);
response.data.sex = response.data.sex == '' ? '' : this.selectDictLabel(this.sexOptions, response.data.sex);
getDeptName(response.data.deptId).then(res => {
response.data.deptId = res.data.deptName
});
this.form = response.data; this.form = response.data;
}); });
getSurveyByCaseId(this.$route.query.id).then((response) => {
if(response.data != undefined){
this.tEnforceCaseHandlerList = response.data.tEnforceCaseHandlerList;
}
});
}, },
goBack(){ goBack(){
window.history.go(-1) window.history.go(-1)
@@ -151,18 +198,11 @@


<style scoped lang="scss"> <style scoped lang="scss">
.app-container { .app-container {
padding: 2% 0 10%;
padding: 2% 0;
} }
/deep/ .van-collapse-item__content{ /deep/ .van-collapse-item__content{
padding: 0; padding: 0;
} }
/deep/ .van-checkbox{
justify-content: center;
}
.icon_box{
display: flex;
justify-content: space-around;
}
.cf{ .cf{
padding: 0 3%; padding: 0 3%;
margin-top: 20PX; margin-top: 20PX;
@@ -239,6 +279,11 @@
} }
} }
} }
.icon_box{
/deep/ .van-checkbox{
justify-content: center;
}
}
} }
.main_title{ .main_title{
font-size: 0.4rem; font-size: 0.4rem;
@@ -278,13 +323,6 @@
right: -8PX; right: -8PX;
} }
} }

.addFamily{
position: absolute;
top: -2px;
right: 0;
border-radius: 50%;
}
.submitButton{ .submitButton{
width: 45%; width: 45%;
margin: 0 auto; margin: 0 auto;
@@ -296,4 +334,11 @@
border-radius: 8PX; border-radius: 8PX;
margin-top: 25PX; margin-top: 25PX;
} }

.addFamily{
position: absolute;
top: -2px;
right: 0;
border-radius: 50%;
}
</style> </style>

+ 2541
- 0
src/views/lawEnforcement/task/taskHandle.vue
파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
파일 보기


+ 23
- 47
src/views/lawEnforcement/task/taskRecord.vue 파일 보기

@@ -9,33 +9,19 @@
<div class="top_box"> <div class="top_box">
<img src="../../../../static/images/lawEnforcement/icon/task_icon_04.png" class="icon_02"> <img src="../../../../static/images/lawEnforcement/icon/task_icon_04.png" class="icon_02">
<div class="name_box"> <div class="name_box">
<p>张薇</p>
<p>执法检查人员</p>
<p>{{user.nickName}}</p>
<p>{{roleGroup}}</p>
</div> </div>
<img src="../../../../static/images/lawEnforcement/icon/task_icon_03.png" class="icon_01"> <img src="../../../../static/images/lawEnforcement/icon/task_icon_03.png" class="icon_01">
</div> </div>


<div class="center_box"> <div class="center_box">
<div class="center_box_list">
<div class="center_box_list" v-for="(item,index) in clockinList">
<div class="center_box_list_left"> <div class="center_box_list_left">
<p>2022-07-09 14:10</p>
<p>宿州市埇桥区永乡镇供销社楼下</p>
<p>{{item.clockinDate}} {{item.clockinTime}}</p>
<p>{{item.clockinAddr}}</p>
</div> </div>
<p class="goSee">查看</p>
</div>
<div class="center_box_list">
<div class="center_box_list_left">
<p>2022-07-09 14:10</p>
<p>宿州市埇桥区永乡镇供销社楼下</p>
</div>
<p class="goSee">查看</p>
</div>
<div class="center_box_list">
<div class="center_box_list_left">
<p>2022-07-09 14:10</p>
<p>宿州市埇桥区永乡镇供销社楼下</p>
</div>
<p class="goSee">查看</p>
<router-link class="goSee" :to="{name:'lawEnforcementTaskSignInSee', query: {caseId:item.caseId , id:item.id}}">查看</router-link>
</div> </div>
</div> </div>


@@ -43,45 +29,35 @@
</template> </template>


<script> <script>
import { getScheme } from "@/api/lawEnforcement/index";
import { clockinList , getUserProfile } from "@/api/lawEnforcement/index";
export default { export default {
name: "programmeDetail", name: "programmeDetail",
data() { data() {
return { return {
checked:'',
showBankType:false,
showPayeeType:false,
showPicker:false,
form:{}, form:{},

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

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

activeNames: ['1'],
activeNames1: ['1'],
activeNames2: ['1'],
clockinList:[],
user:{},
roleGroup:''
}; };
}, },
created() { created() {
// this.getDictionaries()
getUserProfile().then(res => {
this.user = res.data;
this.roleGroup = res.roleGroup;
})
this.getDetail()
}, },
methods: { methods: {
getDictionaries(){
getScheme(this.$route.query.id).then((response) => {
this.form = response.data;
getDetail(){
let queryParams = {
caseId:this.$route.query.id,
relationType:this.$route.query.relationType,
clockin_user:this.$route.query.clockin_user
}
clockinList(queryParams).then((response) => {
this.clockinList = response.rows;
}); });
}, },
goBack(){
window.history.go(-1)
}
}, },
} }
</script> </script>


+ 116
- 24
src/views/lawEnforcement/task/taskSignIn.vue 파일 보기

@@ -12,46 +12,46 @@


<div style="position:absolute;top: 75px;width: 100%;"> <div style="position:absolute;top: 75px;width: 100%;">
<div class="main_box top_box"> <div class="main_box top_box">
<van-field readonly value="案件来源123" label="案件来源" placeholder="请输入案件来源" :border="false" />
<van-field readonly value="关联方案" label="关联方案" placeholder="请输入关联方案" :border="false" />
<van-field readonly value="案件名称" label="案件名称" placeholder="请输入案件名称" :border="false" />
<van-field readonly v-model="form.caseSource" label="案件来源" :border="false" />
<van-field readonly v-model="form.schemeId" label="关联方案" :border="false" />
<van-field readonly v-model="form.caseName" label="案件名称" :border="false" />
</div> </div>


<div class="main_box" style="margin-top: 10px;padding: 0rem 0.426667rem;"> <div class="main_box" style="margin-top: 10px;padding: 0rem 0.426667rem;">
<div class="file_box"> <div class="file_box">
<p class="left_box">未</p> <p class="left_box">未</p>
<div class="center_box"> <div class="center_box">
<p class="time">8:29<span>(2022年9月6日)</span></p>
<p class="dress">宿州市埇桥区永乡镇供销社楼下</p>
<p class="time">{{ nowTime }}<span>({{ nowDate }})</span></p>
<p class="dress">{{clockinAddr}}</p>
</div> </div>
<div class="file_box_btn" @click="$router.push({name:'lawEnforcementTaskRecord'})">
<div class="file_box_btn" @click="$router.push({name:'lawEnforcementTaskRecord', query: {id:form.id,relationType:form.caseProgress,clockin_user:clockin_user}})">
<img src="../../../../static/images/lawEnforcement/icon/task_icon.png"> <img src="../../../../static/images/lawEnforcement/icon/task_icon.png">
<p>打卡记录</p> <p>打卡记录</p>
</div> </div>
</div> </div>
<div class="file_box" style="border-top: 1px solid #DEDEDE"> <div class="file_box" style="border-top: 1px solid #DEDEDE">
<van-uploader v-model="fileList" multiple />
<van-uploader v-model="fileList" :after-read="afterRead" @delete="deleteFile" />
</div> </div>


<div class="bz"> <div class="bz">
<van-field placeholder="请输入备注" :border="false" />
<van-field placeholder="请输入备注" v-model="remark" :border="false" />
</div> </div>
</div> </div>


<div class="main_box" style="margin-top: 10px;padding: 0.266667rem 0.426667rem;"> <div class="main_box" style="margin-top: 10px;padding: 0.266667rem 0.426667rem;">
<p class="now_dress">当前位置:宿州市埇桥区永乡镇供销社楼下</p>
<p class="now_dress">当前位置:{{clockinAddr}}</p>
</div> </div>
</div> </div>
<div class="submitButton" @click="$router.push({name:'lawEnforcementSignInRecord'})" >
<p class="datetime">{{ nowDate }}</p>
<!-- $router.push({name:'lawEnforcementSignInRecord'}) @click="submitForm"-->
<div class="submitButton" @click="submitForm" >
<p class="datetime">{{ nowTime }}</p>
<p>打卡</p> <p>打卡</p>
</div> </div>
</div> </div>
</template> </template>


<script> <script>
import { getScheme } from "@/api/lawEnforcement/index";
import { getCase , schemeList , commonUpload , getUserProfile , addClockin } from "@/api/lawEnforcement/index";
export default { export default {
name: "programmeDetail", name: "programmeDetail",
data() { data() {
@@ -60,7 +60,9 @@
showBankType:false, showBankType:false,
showPayeeType:false, showPayeeType:false,
showPicker:false, showPicker:false,
form:{},
form:{
clockinAddr:''
},
center: { lng: 122.089726, lat: 37.540728 }, //经纬度 center: { lng: 122.089726, lat: 37.540728 }, //经纬度
zoom: 15, //地图展示级别 zoom: 15, //地图展示级别


@@ -78,27 +80,117 @@
activeNames: ['1'], activeNames: ['1'],
activeNames1: ['1'], activeNames1: ['1'],
activeNames2: ['1'], activeNames2: ['1'],
nowDate: '', // 当前时间
nowDate: this.format(new Date(),'yyyy-MM-dd'), // 当前日期
nowTime: '', // 当前时间


fileList:[]
fileList:[],
openPic:[],
openPic2:[],
clockinAddr:'',
remark:'',
clockin_user:''
}; };
}, },
created() { created() {
// this.getDictionaries() // this.getDictionaries()
var that = this; var that = this;
setInterval(function () { setInterval(function () {
that.nowDate = that.format(new Date(),'HH:mm')
that.nowTime = that.format(new Date(),'HH:mm')
}, 500); }, 500);
this.getDicts("case_source").then(response => {
this.caseSourceOptions = response.data;
});
this.getDetail();

getUserProfile().then(res => {
this.clockin_user = res.data.userName;
})
}, },
methods: { 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);
var schemeQueryParam = {
applyStatus: "1",
};
schemeList(schemeQueryParam).then((res) => {
let scheme = res.rows.filter(function (e) { return e.id == response.data.schemeId; });
if (scheme.length > 0){
response.data.schemeId = scheme[0].schemeName
}
});
this.form = response.data; this.form = response.data;
var that = this;
that.getNowLocation();
});
},
afterRead(file) {
// 此时可以自行将文件上传至服务器
this.openPic.push(file.file);
let params1 = new FormData();
params1.append("file", file.file);
commonUpload(params1).then((r1) => {
this.openPic2.push(r1.fileName);
})
},
deleteFile(file,detail) {
console.log(file)
console.log(detail)
this.openPic2.splice(detail.index,1);
},
getNowLocation(){
let that = this;
var location_lon = "";
var location_lat = ""; // 经度,纬度
navigator.geolocation.getCurrentPosition((position) => {
console.log(position)
let lat = position.coords.latitude;
let lng = position.coords.longitude;
const pointBak = new BMap.Point(lng, lat);
const convertor = new BMap.Convertor();
convertor.translate([pointBak], 1, 5,function(resPoint) {
if(resPoint && resPoint.points && resPoint.points.length>0){
lng = resPoint.points[0].lng;
lat = resPoint.points[0].lat;
}
const point = new BMap.Point(lng, lat);
const geo = new BMap.Geocoder();
that.form.latitude = point.lat;
that.form.longitude = point.lng;
that.center.lng = point.lng;
that.center.lat = point.lat;
geo.getLocation(point, (res) => {
console.log(res)
that.clockinAddr = res.address;
that.form.clockinAddr = res.address;
});
});
}); });
}, },
goBack(){
window.history.go(-1)
submitForm(){
let queryParams = {
deptId: this.form.deptId,
caseId: this.$route.query.id, // 案件ID
relationType: this.form.caseProgress, // 案件所在阶段(2:勘察 3:立案 4:取证 5:处理 6:裁决 7:执行)
clockinAddr: this.form.clockinAddr, // 打卡地址(中文汉字地址)
clockinDate: this.format(new Date(),'yyyy-MM-dd'), // 打卡日期(仅日期,例如:2022-09-29 )
clockinTime: this.format(new Date(),'HH:mm'), // 打卡时间 (仅日期,例如:11:19)
clockinUser: this.clockin_user, // 打卡账号(获取当前登录执法人员用户的账号,一般是手机号账号)
attachement: this.openPic2.join(','), // 打卡上传附件(附件的路径字符串,多个附件路径之前通过英文逗号分隔)
latitude: this.form.latitude, // 打卡纬度(定位坐标纬度)
longitude: this.form.longitude, // 打卡经度(定位坐标经度)
remark:this.remark
};
console.log(queryParams)
addClockin(queryParams).then(response => {
if (response.code == 200){
this.$toast.success('打卡成功');
}
})
} }
// showPosition(position){
// console.log("我当前经度为"+position.coords.latitude+",纬度为"+position.coords.longitude+"的地方哦")
// },
}, },
} }
</script> </script>
@@ -224,9 +316,9 @@
margin-top: 3vw; margin-top: 3vw;
} }
.datetime{ .datetime{
margin-top: 7vw;
font-weight: bold;
font-size: 0.5rem;
margin-top: 6vw;
/*font-weight: bold;*/
font-size: 0.6rem;
} }
} }
</style> </style>

+ 271
- 0
src/views/lawEnforcement/task/taskSignInSee.vue 파일 보기

@@ -0,0 +1,271 @@
<template>
<div class="app-container">
<div class="header_main">
查看打卡
<div class="return_btn" @click="onClickLeft"></div>
</div>
<baidu-map :center="center" panBy="[50,50]" :zoom="zoom" :scroll-wheel-zoom="true" :pinch-to-zoom="true" map-type="BMAP_NORMAL_MAP" style="height:150vh" >
<!-- 必须给容器指高度,不然地图将显示在一个高度为0的容器中,看不到 -->
<bm-geolocation anchor="BMAP_ANCHOR_BOTTOM_RIGHT" :showAddressBar="true" :autoLocation="true"></bm-geolocation>
<bm-marker :position="center" :dragging="true" animation="BMAP_ANIMATION_BOUNCE" :icon="{url: '../../../../static/images/lawEnforcement/new/address.gif', size: {width: 50, height: 50}}"></bm-marker>
</baidu-map>

<div style="position:absolute;top: 75px;width: 100%;">
<div class="main_box top_box">
<van-field readonly v-model="form.caseSource" label="案件来源" :border="false" />
<van-field readonly v-model="form.schemeId" label="关联方案" :border="false" />
<van-field readonly v-model="form.caseName" label="案件名称" :border="false" />
</div>

<div class="main_box" style="margin-top: 10px;padding: 0rem 0.426667rem;">
<div class="file_box">
<p class="left_box">未</p>
<div class="center_box">
<p class="time">{{ nowTime }}<span>({{ nowDate }})</span></p>
<p class="dress">{{clockinAddr}}</p>
</div>
<!-- <div class="file_box_btn" @click="$router.push({name:'lawEnforcementTaskRecord', query: {id:form.id,relationType:form.caseProgress,clockin_user:clockin_user}})">-->
<!-- <img src="../../../../static/images/lawEnforcement/icon/task_icon.png">-->
<!-- <p>打卡记录</p>-->
<!-- </div>-->
</div>
<div class="file_box" style="border-top: 1px solid #DEDEDE">
<van-uploader v-model="fileList" :show-upload="false" :deletable="false" />
<van-empty v-if="fileList.length<1" description="暂无文件" />
</div>

<div class="bz">
<van-field placeholder="暂无备注" v-model="remark" :border="false" readonly />
</div>
</div>

<div class="main_box" style="margin-top: 10px;padding: 0.266667rem 0.426667rem;">
<p class="now_dress">当前位置:{{clockinAddr}}</p>
</div>
</div>
<!-- $router.push({name:'lawEnforcementSignInRecord'}) @click="submitForm"-->
<!-- <div class="submitButton" @click="submitForm" >-->
<!-- <p class="datetime">{{ nowTime }}</p>-->
<!-- <p>打卡</p>-->
<!-- </div>-->
</div>
</template>

<script>
import { getCase , schemeList , commonUpload , getUserProfile , addClockin , clockinGet } from "@/api/lawEnforcement/index";
export default {
name: "programmeDetail",
data() {
return {
checked:'',
showBankType:false,
showPayeeType:false,
showPicker:false,
form:{
clockinAddr:''
},
center: { lng: 122.089726, lat: 37.540728 }, //经纬度
zoom: 15, //地图展示级别

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

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

activeNames: ['1'],
activeNames1: ['1'],
activeNames2: ['1'],
nowDate: this.format(new Date(),'yyyy-MM-dd'), // 当前日期
nowTime: '', // 当前时间

fileList:[],
openPic:[],
openPic2:[],
clockinAddr:'',
remark:'',
clockin_user:''
};
},
created() {
// this.getDictionaries()
var that = this;
this.getDicts("case_source").then(response => {
this.caseSourceOptions = response.data;
});
this.getDetail();
getUserProfile().then(res => {
this.clockin_user = res.data.userName;
})
},
methods: {
getDetail(){
getCase(this.$route.query.caseId).then((response) => {
response.data.caseSource = response.data.caseSource == '' ? '' : this.selectDictLabel(this.caseSourceOptions, response.data.caseSource);
var schemeQueryParam = {
applyStatus: "1",
};
schemeList(schemeQueryParam).then((res) => {
let scheme = res.rows.filter(function (e) { return e.id == response.data.schemeId; });
if (scheme.length > 0){
response.data.schemeId = scheme[0].schemeName
}
});
this.form = response.data;
});
clockinGet(this.$route.query.id).then((response) => {

this.nowTime = response.data.clockinTime;
this.nowDate = response.data.clockinDate;
this.clockinAddr = response.data.clockinAddr;
this.remark = response.data.remark;
let fileList = response.data.attachement.split(",");
fileList.map(res=>{
this.fileList.push({
url: '/api' + res,
isImage: true
})
})

this.center.lng = response.data.longitude;
this.center.lat = response.data.latitude;
console.log(response.data.attachement.split(","))
})
},

},
}
</script>

<style scoped lang="scss">
.app-container {
padding: 0;
height: 100vh;
overflow: hidden;
}
.bz{
padding-bottom: 15PX;
/deep/ .van-cell{
padding: 2px 8px;
border: 1px solid #C9C9C9;
border-radius: 8px;
}
}
.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;
}
}
.top_box{
background: url('../../../../static/images/lawEnforcement/icon/task_icon_03.png') no-repeat 97% 10%;
padding: 10PX 0;
/*background-size: 100% 100%;*/
/deep/ .van-cell{
background: none;
}
}
.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;
}
.file_box{
display: flex;
align-items: center;
font-size: 0.35rem;
padding: 0.266667rem 0;
.left_box{
background: #C9C9C9;
color: #ffffff;
width: 27PX;
height: 27PX;
line-height: 27PX;
text-align: center;
border-radius: 100%;
}
.center_box{
padding: 0rem 0.426667rem;
.time{
font-size: 0.5rem;
span{
font-size: 0.35rem;
color: #878787;
}
}
.dress{
color: #B4B0B0;
background: url('../../../../static/images/lawEnforcement/icon/task_icon_01.png') no-repeat left center;
padding-left: 14PX;
}
}
.file_box_btn{
text-align: center;
color: #1CB8B1;
margin-left: auto;
}
}
.now_dress{
font-size: 0.35rem;
background: url('../../../../static/images/lawEnforcement/icon/task_icon_02.png') no-repeat left center;
padding-left: 20PX;
line-height: 35PX;
}
.submitButton{
width: 25vw;
background-image: linear-gradient(to right, #2E79E9 , #77A6EF);
text-align: center;
color: #ffffff;
height: 25vw;
line-height: 70px;
border-radius: 100%;
position: absolute;
bottom: 5%;
left: 50%;
transform: translateX(-50%);
p{
font-size: 0.4rem;
line-height: 1;
margin-top: 3vw;
}
.datetime{
margin-top: 6vw;
/*font-weight: bold;*/
font-size: 0.6rem;
}
}
</style>

BIN
static/images/lawEnforcement/icon/signInRecord_icon_03.png 파일 보기

Before After
Width: 41  |  Height: 41  |  Size: 1.9 KiB

불러오는 중...
취소
저장