Commit 8ad5356f authored by 沈翠玲's avatar 沈翠玲

案件分配和稽核审批

parent 1222e845
import request from '@/utils/http/index'; import request from '@/utils/http/index';
// 获取未分的资产统计 // 获取未分的资产统计
export const getLoanDistribute = (params) => { export const getLoanDistribute = (params) => {
return request.get('/LoanDistribute/totalLoan', params); return request.get('/LoanDistribute/totalLoan', params);
}; };
...@@ -11,19 +11,19 @@ export const getLoantotal = (params) => { ...@@ -11,19 +11,19 @@ export const getLoantotal = (params) => {
export const getLoanpage = (params) => { export const getLoanpage = (params) => {
return request.get('/LoanDistribute/page', params); return request.get('/LoanDistribute/page', params);
}; };
// 分到调节中心 // 分到调节中心
export const distributeLoan = (tenantId, data) => { export const distributeLoan = (tenantId, data) => {
return request.post(`/LoanDistribute/distribute?toTenantId=${tenantId}`, data); return request.post(`/LoanDistribute/distribute?toTenantId=${tenantId}`, data);
}; };
// 手动调整分CPE,确认 // 手动调整分CPE,确认
export const confirm = (data) => { export const confirm = (data) => {
return request.post(`/LoanDistribute/confirm`, data); return request.post(`/LoanDistribute/confirm`, data);
}; };
// 系统自动分配; 分配到CPE // 系统自动分派; 分派到CPE
export const distributeCpe = (data) => { export const distributeCpe = (data) => {
return request.post(`/LoanDistribute/distributeCpe?type=${data.type}`, data); return request.post(`/LoanDistribute/distributeCpe?type=${data.type}`, data);
}; };
// 手动调整分CPE // 手动调整分CPE
export const changeDistributeCpe = (data) => { export const changeDistributeCpe = (data) => {
return request.post(`/LoanDistribute/changeDistributeCpe`, data); return request.post(`/LoanDistribute/changeDistributeCpe`, data);
}; };
......
...@@ -105,7 +105,7 @@ ...@@ -105,7 +105,7 @@
"component": "/property/case-allocation/index", "component": "/property/case-allocation/index",
"meta": { "meta": {
"icon": "", "icon": "",
"title": "案件分", "title": "案件分",
"isLink": "", "isLink": "",
"isHide": false, "isHide": false,
"isFull": false, "isFull": false,
......
This diff is collapsed.
...@@ -51,7 +51,7 @@ ...@@ -51,7 +51,7 @@
<td>{{ item?.cpe.username }}</td> <td>{{ item?.cpe.username }}</td>
</tr> </tr>
<tr> <tr>
<td class="label">CPE日期:</td> <td class="label">CPE日期:</td>
<td>{{ item?.cpeDate }}</td> <td>{{ item?.cpeDate }}</td>
<td class="label">本金余额:</td> <td class="label">本金余额:</td>
<td>{{ item?.principalBalance }}</td> <td>{{ item?.principalBalance }}</td>
......
...@@ -47,7 +47,7 @@ ...@@ -47,7 +47,7 @@
<tr> <tr>
<td class="label">CPE:</td> <td class="label">CPE:</td>
<td>{{ item?.loan?.cpe.username }}</td> <td>{{ item?.loan?.cpe.username }}</td>
<td class="label">CPE日期:</td> <td class="label">CPE日期:</td>
<td>{{ item?.loan?.cpeDate }}</td> <td>{{ item?.loan?.cpeDate }}</td>
<td class="label">本金余额:</td> <td class="label">本金余额:</td>
<td>{{ item?.loan?.principalBalance }}</td> <td>{{ item?.loan?.principalBalance }}</td>
......
...@@ -576,5 +576,8 @@ ...@@ -576,5 +576,8 @@
width: 80px; width: 80px;
height: 80px; height: 80px;
} }
:deep(.el-upload--picture-card) {
font-size: 12px;
}
} }
</style> </style>
...@@ -40,7 +40,7 @@ ...@@ -40,7 +40,7 @@
import { inject } from 'vue'; import { inject } from 'vue';
import { computed } from 'vue'; import { computed } from 'vue';
import callDrawer from './components/callDrawer.vue'; import callDrawer from './components/callDrawer.vue';
import { ElMessageBox, ElButton } from 'element-plus'; import { ElMessageBox, ElButton, ElTag } from 'element-plus';
import { onMounted } from 'vue'; import { onMounted } from 'vue';
import { getAppEnvConfig } from '@/utils/env'; import { getAppEnvConfig } from '@/utils/env';
import { getTrackRecord } from '@/api/property'; import { getTrackRecord } from '@/api/property';
...@@ -129,6 +129,13 @@ ...@@ -129,6 +129,13 @@
}; };
const config = computed(() => { const config = computed(() => {
return { return {
rowStyle ({ row }) {
if (row.auditDesc === 'time_out') {
return {
backgroundColor: 'rgb(242,217,217)'
}
}
},
columns: [ columns: [
{ type: 'checkbox', title: '', width: 40 }, { type: 'checkbox', title: '', width: 40 },
{ field: 'id', title: '跟进记录ID', showOverflow: 'tooltip', width: 90 }, { field: 'id', title: '跟进记录ID', showOverflow: 'tooltip', width: 90 },
...@@ -303,6 +310,21 @@ ...@@ -303,6 +310,21 @@
}, },
}, },
}, },
{
field: 'status',
title: '超时状态',
width: 100,
search: { el: 'select', props: { clearable: true } },
slots: {
default: ({ row }) => {
return (
<ElTag type={row.auditDesc == 'time_out' ? 'danger' : 'primary'}>
{row.auditDesc == 'time_out' ? '已超时' : '正常'}
</ElTag>
);
},
},
},
{ {
field: 'code', field: 'code',
title: '短信图片附件', title: '短信图片附件',
......
...@@ -5,23 +5,23 @@ ...@@ -5,23 +5,23 @@
<template #table_top> <template #table_top>
<div class="flex"> <div class="flex">
<div class="mr-4" <div class="mr-4"
>未分案件数:<span class="text-blue-500">{{ statisis.caseNum }}</span >未分案件数:<span class="text-blue-500">{{ statisis.caseNum }}</span
></div ></div
> >
<div class="mr-4" <div class="mr-4"
>未分CPE数:<span class="text-blue-500">{{ statisis.cpeNum }}</span >未分CPE数:<span class="text-blue-500">{{ statisis.cpeNum }}</span
></div ></div
> >
<div class="mr-4" <div class="mr-4"
>未分总金额数:<span class="text-blue-500">{{ statisis.amount }}</span >未分总金额数:<span class="text-blue-500">{{ statisis.amount }}</span
></div ></div
> >
</div> </div>
</template> </template>
<!-- 表格 header 按钮 --> <!-- 表格 header 按钮 -->
<template #left_buttons> <template #left_buttons>
<el-button type="primary" @click="allocation"> </el-button> <el-button type="primary" @click="allocation"> </el-button>
<el-button <!-- <el-button
type="primary" type="primary"
:disabled="!selectdList || selectdList.length < 1" :disabled="!selectdList || selectdList.length < 1"
@click="backCase" @click="backCase"
...@@ -29,7 +29,7 @@ ...@@ -29,7 +29,7 @@
</el-button> </el-button>
<el-button type="primary" :disabled="!selectdList || selectdList.length < 1" <el-button type="primary" :disabled="!selectdList || selectdList.length < 1"
>撤案 >撤案
</el-button> </el-button> -->
</template> </template>
</ProTable> </ProTable>
</div> </div>
...@@ -99,10 +99,17 @@ ...@@ -99,10 +99,17 @@
return obj; return obj;
}; };
const distributeStatusOpt = [ const distributeStatusOpt = [
{ label: '未分', value: 'undistributed' }, { label: '未分', value: 'undistributed' },
{ label: '分到调解中心', value: 'tenant' }, { label: '分到调解中心', value: 'tenant' },
{ label: '分到CPE', value: 'CPE' }, { label: '分到CPE', value: 'CPE' },
]; ];
const onCheckboxAll =(flag)=> {
if (flag.checked) {
selectdList.value = flag.records;
} else {
selectdList.value = [];
}
}
console.log('citydatacitydata', citydata); console.log('citydatacitydata', citydata);
const config = reactive({ const config = reactive({
columns: [ columns: [
...@@ -148,7 +155,7 @@ ...@@ -148,7 +155,7 @@
}, },
{ {
field: 'distributeStatus', field: 'distributeStatus',
title: '分状态', title: '分状态',
width: 80, width: 80,
enum: distributeStatusOpt, enum: distributeStatusOpt,
search: { el: 'select', props: { filterable: true }, labelWidth: 78 }, search: { el: 'select', props: { filterable: true }, labelWidth: 78 },
...@@ -184,7 +191,7 @@ ...@@ -184,7 +191,7 @@
}, },
{ {
field: 'tenantTime', field: 'tenantTime',
title: '分中心日期', title: '分中心日期',
width: 130, width: 130,
search: { search: {
el: 'date-picker', el: 'date-picker',
...@@ -200,7 +207,7 @@ ...@@ -200,7 +207,7 @@
}, },
{ {
field: 'cpeDate', field: 'cpeDate',
title: '分CPE日期', title: '分CPE日期',
width: 130, width: 130,
search: { search: {
el: 'date-picker', el: 'date-picker',
...@@ -250,10 +257,11 @@ ...@@ -250,10 +257,11 @@
}, },
], ],
onCheckboxChange: onCheckboxChange, onCheckboxChange: onCheckboxChange,
onCheckboxAll: onCheckboxAll
}); });
const allocation = (row) => { const allocation = (row) => {
allocationModalRef.value.openModal(JSON.parse(JSON.stringify(curParam.value))); allocationModalRef.value.openModal(JSON.parse(JSON.stringify(curParam.value)), JSON.parse(JSON.stringify(selectdList.value)));
}; };
const query = () => caseLRef.value?.search(); const query = () => caseLRef.value?.search();
......
...@@ -273,6 +273,7 @@ ...@@ -273,6 +273,7 @@
}, },
]; ];
const submitForm = () => { const submitForm = () => {
console.log('currentInfo.value', currentInfo.value)
formRef.value.validate((valid) => { formRef.value.validate((valid) => {
if (valid) { if (valid) {
const param = { const param = {
......
...@@ -48,8 +48,8 @@ ...@@ -48,8 +48,8 @@
<template v-if="!step"> <template v-if="!step">
<div style="margin-top: 10px; margin-bottom: 10px"> <div style="margin-top: 10px; margin-bottom: 10px">
<el-radio-group v-model="radio"> <el-radio-group v-model="radio">
<el-radio :value="0">到调解中心</el-radio> <el-radio :value="0">到调解中心</el-radio>
<el-radio :value="1">到CPE</el-radio> <el-radio :value="1">到CPE</el-radio>
</el-radio-group> </el-radio-group>
</div> </div>
<div class="mainContent"> <div class="mainContent">
...@@ -91,7 +91,7 @@ ...@@ -91,7 +91,7 @@
</div> </div>
<div class="reset-btn"> <div class="reset-btn">
<el-button type="primary" link :icon="RefreshRight" @click="resetAllocation" <el-button type="primary" link :icon="RefreshRight" @click="resetAllocation"
>重新分</el-button >重新分</el-button
> >
</div> </div>
</div> </div>
......
...@@ -176,7 +176,7 @@ ...@@ -176,7 +176,7 @@
}, },
{ {
field: 'cpeDate', field: 'cpeDate',
title: '分CPE日期', title: '分CPE日期',
width: 130, width: 130,
search: { search: {
el: 'date-picker', el: 'date-picker',
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment