调解员案件管理

This commit is contained in:
liuxi 2024-12-26 18:01:26 +08:00
parent 91086344e0
commit 3e73a924a5
4 changed files with 105 additions and 147 deletions

View File

@ -475,9 +475,12 @@ import { values } from "lodash";
}, },
created() { created() {
if (this.$route.query.dataKey != undefined) { if (this.$route.query.pkgId != undefined) {
this.queryParam.pkgId = this.$route.query.pkgId; this.queryParam.pkgId = this.$route.query.pkgId;
} }
if (this.$route.query.pkgName != undefined) {
this.queryParam.pkgName = this.$route.query.pkgName;
}
this.getCaseInfoList(1) this.getCaseInfoList(1)
}, },
computed:{ computed:{

View File

@ -97,31 +97,87 @@
</div> </div>
<div > <div >
<el-table :data="tableData" :height="`${contentHeight}`" <el-table :data="tableData" :height="`${contentHeight}`" >
@selection-change="handleSelectionChange">
<el-table-column type="index" label="序号" width="55"></el-table-column> <el-table-column type="index" label="序号" width="55"></el-table-column>
<!-- <el-table-column type="selection" width="55" ></el-table-column> --> <!-- <el-table-column type="selection" width="55" ></el-table-column> -->
<el-table-column prop="pkgName" label="案件包名称" show-overflow-tooltip ></el-table-column> <el-table-column prop="pkgName" label="案件包名称" show-overflow-tooltip ></el-table-column>
<el-table-column prop="entrustingAgencyName" label="委案机构" show-overflow-tooltip ></el-table-column> <el-table-column prop="entrustingAgencyName" label="委案机构" show-overflow-tooltip ></el-table-column>
<el-table-column prop="channel" label="委案渠道" show-overflow-tooltip ></el-table-column> <el-table-column prop="channel" label="委案渠道" show-overflow-tooltip ></el-table-column>
<el-table-column prop="planStartTime" label="委案日期" show-overflow-tooltip > <el-table-column label="委案开始日期" show-overflow-tooltip >
<template slot-scope="scope"> <template slot-scope="scope">
<span >{{ scope.row.planStartTime | formaDate("yyyy-MM-dd") }}</span> <span >{{ scope.row.planStartTime | formaDate("yyyy-MM-dd") }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="months" label="委案期限(月)" show-overflow-tooltip ></el-table-column> <el-table-column label="委案结束日期" show-overflow-tooltip >
<el-table-column prop="caseTotal" label="案件数量" show-overflow-tooltip ></el-table-column>
<el-table-column prop="resultStatus" label="待分案" show-overflow-tooltip >
<template slot-scope="scope"> <template slot-scope="scope">
<span >{{ scope.row.caseTotal - scope.row.assignTotal}}</span> <span >{{ scope.row.planEndTime | formaDate("yyyy-MM-dd") }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="assignTotal" label="已分案" show-overflow-tooltip ></el-table-column> <!-- <el-table-column prop="months" label="剩余调解天数" show-overflow-tooltip ></el-table-column> -->
<el-table-column label="操作" width="190"> <el-table-column prop="caseTotal" label="案件数量" show-overflow-tooltip ></el-table-column>
<el-table-column label="在办数量" show-overflow-tooltip >
<template slot-scope="scope">
<span v-for="(item,index) in scope.row.caseStatus" :key="index">
{{ item.status == 2 ? (scope.row.caseTotal - item.count):'' }}
</span>
</template>
</el-table-column>
<el-table-column label="办结数量" show-overflow-tooltip >
<template slot-scope="scope">
<span v-for="(item,index) in scope.row.caseStatus" :key="index">
{{ item.status == 2 ? item.count:'' }}
</span>
</template>
</el-table-column>
<el-table-column label="未触达" show-overflow-tooltip >
<template slot-scope="scope">
<span v-for="(item,index) in scope.row.mediateStatus" :key="index">
{{ item.status == 0 ? item.count:'' }}
</span>
</template>
</el-table-column>
<el-table-column label="调解中" show-overflow-tooltip >
<template slot-scope="scope">
<span v-for="(item,index) in scope.row.mediateStatus" :key="index">
{{ item.status == 1 ? item.count:'' }}
</span>
</template>
</el-table-column>
<el-table-column label="已达成方案" show-overflow-tooltip >
<template slot-scope="scope">
<span v-for="(item,index) in scope.row.mediateStatus" :key="index">
{{ item.status == 2 ? item.count:'' }}
</span>
</template>
</el-table-column>
<el-table-column label="已签署协议" show-overflow-tooltip >
<template slot-scope="scope">
<span v-for="(item,index) in scope.row.mediateStatus" :key="index">
{{ item.status == 3 ? item.count:'' }}
</span>
</template>
</el-table-column>
<el-table-column label="调解成功数量" show-overflow-tooltip >
<template slot-scope="scope">
<span v-for="(item,index) in scope.row.mediateStatus" :key="index">
{{ item.status == 5 ? item.count:'' }}
</span>
</template>
</el-table-column>
<el-table-column label="调解失败" show-overflow-tooltip >
<template slot-scope="scope">
<span v-for="(item,index) in scope.row.mediateStatus" :key="index">
{{ item.status == 4 ? item.count:'' }}
</span>
</template>
</el-table-column>
<!-- 产品类别委案时间委案期限剩余调解天数在案数量结案数量调解成功数量签署调解协议即为成功调解失败等 -->
<el-table-column label="操作" width="180">
<template slot-scope="scope"> <template slot-scope="scope">
<div class="flex-row align-items-center"> <div class="flex-row align-items-center">
<el-button size="mini" @click="jumpUrl(`/case-management?dataKey=casepack&pkgId=${scope.row.id}`)">查看</el-button> <el-button size="mini" @click="jumpUrl(`/mediation-management?pkgId=${scope.row.id}&pkgName=${scope.row.pkgName}`)">查看案件</el-button>
<el-button size="mini" v-if="scope.row.assignTotal == 0" @click="handleDe1lete(scope)">办结</el-button> <el-button size="mini" @click="handleDe1lete(scope)">办结</el-button>
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
@ -141,15 +197,7 @@
</div> </div>
</div> </div>
<!-- 导入 -->
<importPackageDialog v-if="importCaseDialog" :importCaseDialog.sync="importCaseDialog" />
<!-- 新增 -->
<addCaseDialog v-if="addCaseDialog" :addCaseDialog.sync="addCaseDialog" />
<!-- 编辑 -->
<!-- <editCaseDrawer v-if="editCaseDrawer" :editCaseDrawer.sync="editCaseDrawer"/> -->
<!-- 案件分配-->
<caseAllocationDialog v-if="caseAllocationDialog" :caseAllocationDialog.sync="caseAllocationDialog" />
</div> </div>
</template> </template>
@ -157,10 +205,6 @@
import api from "@/services/casePackageManagement"; import api from "@/services/casePackageManagement";
export default { export default {
components: { components: {
importPackageDialog: () => import('./components/importPackageDialog'),//
addCaseDialog: () => import('./components/addCaseDialog'),//
// editCaseDrawer: () => import('./components/editCaseDrawer'),//
caseAllocationDialog: () => import('./components/caseAllocationDialog'),//
}, },
data() { data() {
@ -185,19 +229,11 @@ import api from "@/services/casePackageManagement";
usageOption: ['今日','昨日', '近一周', '近一月', '近半年', '近一年'], usageOption: ['今日','昨日', '近一周', '近一月', '近半年', '近一年'],
tableData: [], tableData: [],
total:0, total:0,
uniqueSelection:[],
caseAllocationDialog:null,//
importCaseDialog:null,//
addCaseDialog:null,//
editCaseDrawer:null,//
orglist:[],// orglist:[],//
} }
}, },
created() { created() {
this.getOrgList() this.getOrgList()
this.getCaseInfoList(1) this.getCaseInfoList(1)
}, },
@ -224,107 +260,12 @@ import api from "@/services/casePackageManagement";
} }
}) })
}, },
//
handleImport(){
this.importCaseDialog={
title:'批量导入案件',
}
},
//
handleBatchDelete(){
if(this.uniqueSelection.length==0){
this.$message.warning("请先选择你要删除的列表数据");
return
}
this.$confirm("请确定是否删除这些数据?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
}).then(() => {
if(!this.$clickThrottle()) { return }//
let data = {
ids:this.uniqueSelection
}
api.deleteCaseBatch(data).then((res) => {
this.$message.success("成功");
this.getCaseInfoList(1)
});
}).catch(() => {});
},
//
handleDelete(scope){
this.$confirm("请确定是否删除此条数据?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
}).then(() => {
if(!this.$clickThrottle()) { return }//
api.CasePkgdeleteById({id:scope.row.id}).then((res) => {
this.$message.success("删除成功");
this.getCaseInfoList(1)
});
}).catch(() => {});
},
//
handleBackCase(scope){
this.$confirm("请确定是否撤回分案?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
}).then(() => {
if(!this.$clickThrottle()) { return }//
api.postpkgquash({id:scope.row.id}).then((res) => {
this.$message.success("撤回分案成功");
this.getCaseInfoList(1)
});
}).catch(() => {});
},
//
handleAddForm(){
this.addCaseDialog={
title:'新增案件',
}
},
//
handleCaseAllocation(scope){
if((scope.row.caseTotal - scope.row.assignTotal) <= 0)
{
this.$message({
showClose: true,
message: '该案件包没有待分配的案件!',
type: 'warning'
});
return false
}
this.caseAllocationDialog={
title:'案件分配',
ObjectInfo:scope.row
}
},
//
handleEdit(scope){
this.editCaseDrawer={
title:'编辑案件',
data:scope.row,
currentPage:this.queryParam.current
}
},
// //
getCaseInfoList(val){ getCaseInfoList(val){
this.queryParam.planBegin = this.queryParam.beginTime this.queryParam.planBegin = this.queryParam.beginTime
this.queryParam.planEnd = this.queryParam.endTime this.queryParam.planEnd = this.queryParam.endTime
this.queryParam.current = val this.queryParam.current = val
api.getCasePkgQuery(this.queryParam).then(res => { api.postquery_by_case(this.queryParam).then(res => {
if (!res.code) { if (!res.code) {
this.tableData = res.records; this.tableData = res.records;
this.total = res.total; this.total = res.total;
@ -405,16 +346,6 @@ import api from "@/services/casePackageManagement";
} }
}, },
handleSelectionChange(val){
console.log('获取val',val)
this.uniqueSelection = []
val.forEach((row)=>{
this.uniqueSelection.push(row.id)
})
console.log('uniqueSelection',this.uniqueSelection)
},
} }
} }

View File

@ -121,7 +121,7 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row type="flex" align="middle"> <!-- <el-row type="flex" align="middle">
<el-col :span="24"> <el-col :span="24">
<el-form-item label="负责人" prop="deptFlag"> <el-form-item label="负责人" prop="deptFlag">
<el-switch <el-switch
@ -133,7 +133,7 @@
</el-switch> </el-switch>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row> -->
</el-form> </el-form>
@ -175,8 +175,7 @@ export default {
deptId:'', deptId:'',
deptIds:[], deptIds:[],
type: 2, type: 2,
status:1, status:1
identity:3
}, },
rulesClient: { rulesClient: {
password: [ password: [
@ -216,10 +215,17 @@ export default {
handleSubmit(){ handleSubmit(){
if(!this.$clickThrottle()) { return } if(!this.$clickThrottle()) { return }
let _this=this; let _this=this;
console.log(_this.userInfo,'_this.userInfo')
this.$refs.ruleForm.validate(async(valid) => { this.$refs.ruleForm.validate(async(valid) => {
if (valid) { if (valid) {
_this.userInfo.username = _this.userInfo.phone; _this.userInfo.username = _this.userInfo.phone;
if(_this.userInfo.teamId!=''){
_this.userInfo.deptId = _this.userInfo.teamId;
}
else
{
_this.userInfo.deptId = _this.userInfo.regionId;
}
if(Object.keys(this.addOrEditUserConfig.data).length>0) if(Object.keys(this.addOrEditUserConfig.data).length>0)
{ {
api.updateUserById(_this.userInfo).then(res => { api.updateUserById(_this.userInfo).then(res => {
@ -315,7 +321,7 @@ export default {
}, },
regionChange(type){ regionChange(type){
this.teamOptions = [] this.teamOptions = []
if(type != 0){ this.userInfo.teamId = '' } if(type != 0){ this.userInfo.teamId = null }
if(this.userInfo.regionId != '') if(this.userInfo.regionId != '')
{ {
api.getDeptList({current: 1,size: 100,companyId:this.$store.state.userinfo.companyId,pid:this.userInfo.regionId}).then(res => { api.getDeptList({current: 1,size: 100,companyId:this.$store.state.userinfo.companyId,pid:this.userInfo.regionId}).then(res => {
@ -335,9 +341,21 @@ export default {
if(Object.keys(this.addOrEditUserConfig.data).length>0) if(Object.keys(this.addOrEditUserConfig.data).length>0)
{ {
this.userInfo = JSON.parse(JSON.stringify(this.addOrEditUserConfig.data)); let dataJson=JSON.parse(JSON.stringify(this.addOrEditUserConfig.data));
this.userInfo.regionId = '0' this.userInfo.id = dataJson.id;
this.userInfo.teamId = '' this.userInfo.deptId = dataJson.deptId;
this.userInfo.email = dataJson.email;
this.userInfo.phone = dataJson.phone;
this.userInfo.realName = dataJson.realName;
this.userInfo.remark = dataJson.remark;
this.userInfo.roleIds = dataJson.roleIds;
this.userInfo.regionId = '';
this.userInfo.teamId = '';
// this.userInfo.regionId = '0'
// this.userInfo.teamId = ''
// this.userInfo.teamId = ''
// {"deptId":10,"email":"","headUrl":"","id":46,"identity":2,"phone":"18381082759","realName":"",
// "remark":"","resources":[],"roleIds":[11],"showName":"","status":1,"tenantKey":"","type":2,"typeName":"","updateAt":"2024-12-24 05:58:23","updateBy":46,"username":"18381082759","regionId":"10","teamId":""}
} }

View File

@ -30,6 +30,12 @@ const caseManagementApi = {
return service.service.post(`${apiMediate}case_pkg/orgs`, data) return service.service.post(`${apiMediate}case_pkg/orgs`, data)
}, },
// 调解人员的案件包
postquery_by_case: data => {
return service.service.post(`${apiMediate}case_pkg/query-by-case`, data)
},
//========================end::案件包管理====================================== //========================end::案件包管理======================================
} }