Commit cac07f4c authored by 沈翠玲's avatar 沈翠玲

格式化代码

parent d0a3fa80
...@@ -47,4 +47,3 @@ export const fullBack = (params) => { ...@@ -47,4 +47,3 @@ export const fullBack = (params) => {
export const stayLoan = (params) => { export const stayLoan = (params) => {
return request.get('/LoanDistribute/stay', params); return request.get('/LoanDistribute/stay', params);
}; };
<template> <template>
<vxe-modal resize <vxe-modal
resize
v-model="showModal" v-model="showModal"
@hide="onHide" @hide="onHide"
title="用户选择" title="用户选择"
......
...@@ -157,7 +157,7 @@ ...@@ -157,7 +157,7 @@
// 当前 enum 为后台数据需要请求数据,则调用该请求接口,并存储到 enumMap // 当前 enum 为后台数据需要请求数据,则调用该请求接口,并存储到 enumMap
let { result } = await enumValue(); let { result } = await enumValue();
if (result?.content) { if (result?.content) {
result = result?.content result = result?.content;
} }
enumMap.value.set(field, result); enumMap.value.set(field, result);
}; };
......
...@@ -41,13 +41,13 @@ export function useProTable( ...@@ -41,13 +41,13 @@ export function useProTable(
icon: 'vxe-icon-menu', icon: 'vxe-icon-menu',
}, },
}, },
showHeaderOverflow:'tooltip', showHeaderOverflow: 'tooltip',
rowConfig: { rowConfig: {
height: 34 height: 34,
}, },
cellConfig: { cellConfig: {
height: 34 height: 34,
} },
}, },
}); });
......
...@@ -258,7 +258,8 @@ ...@@ -258,7 +258,8 @@
padding: 15px 20px; padding: 15px 20px;
} }
} }
.vxe-tabs .vxe-tabs-header--item-inner, .vxe-tabs .vxe-tabs-header--wrapper { .vxe-tabs .vxe-tabs-header--item-inner,
.vxe-tabs .vxe-tabs-header--wrapper {
height: 32px !important; height: 32px !important;
font-size: 14px; font-size: 14px;
} }
...@@ -270,10 +271,13 @@ ...@@ -270,10 +271,13 @@
font-size: 13px !important; font-size: 13px !important;
} }
} }
.vxe-body--row.row--current, .vxe-body--row.row--hover { .vxe-body--row.row--current,
.vxe-body--row.row--hover {
background-color: var(--el-color-primary-light-9) !important; background-color: var(--el-color-primary-light-9) !important;
} }
.vxe-table--render-default .vxe-body--column, .vxe-table--render-default .vxe-footer--column, .vxe-table--render-default .vxe-header--column { .vxe-table--render-default .vxe-body--column,
.vxe-table--render-default .vxe-footer--column,
.vxe-table--render-default .vxe-header--column {
line-height: 11px !important; line-height: 11px !important;
} }
.vxe-table--render-default.size--small .vxe-body--column:not(.col--ellipsis) { .vxe-table--render-default.size--small .vxe-body--column:not(.col--ellipsis) {
...@@ -281,10 +285,12 @@ ...@@ -281,10 +285,12 @@
} }
/*vxe-table 自定义行高 */ /*vxe-table 自定义行高 */
.vxe-table .vxe-body--column.col--ellipsis { .vxe-table .vxe-body--column.col--ellipsis {
height: 34px; height: 34px;
} }
.vxe-table .vxe-body--column:not(.col--ellipsis), .vxe-table .vxe-footer--column:not(.col--ellipsis), .vxe-table .vxe-header--column:not(.col--ellipsis) { .vxe-table .vxe-body--column:not(.col--ellipsis),
height: 34px; .vxe-table .vxe-footer--column:not(.col--ellipsis),
.vxe-table .vxe-header--column:not(.col--ellipsis) {
height: 34px;
} }
.el-button { .el-button {
padding: 0px 10px !important; padding: 0px 10px !important;
...@@ -310,4 +316,4 @@ td { ...@@ -310,4 +316,4 @@ td {
display: block; display: block;
content: ''; content: '';
} }
} }
\ No newline at end of file
<template> <template>
<div class="table-box"> <div class="table-box">
<ProTable :config="config" ref="ProTableRef" :api="getTrackRecord" <ProTable
:paramCallback="paramCallback"> :config="config"
ref="ProTableRef"
:api="getTrackRecord"
:paramCallback="paramCallback"
>
</ProTable> </ProTable>
<callDrawer ref="callDrawerRef" @success="query()" :mode="callMode"></callDrawer> <callDrawer ref="callDrawerRef" @success="query()" :mode="callMode"></callDrawer>
<el-image-viewer :url-list="srcList" v-if="RefImage" @close="RefImage = false" /> <el-image-viewer :url-list="srcList" v-if="RefImage" @close="RefImage = false" />
</div> </div>
</template> </template>
...@@ -29,13 +32,13 @@ ...@@ -29,13 +32,13 @@
console.log('row', row); console.log('row', row);
selectdList.value = row.records; selectdList.value = row.records;
}; };
const onCheckboxAll =(flag)=> { const onCheckboxAll = (flag) => {
if (flag.checked) { if (flag.checked) {
selectdList.value = flag.records; selectdList.value = flag.records;
} else { } else {
selectdList.value = []; selectdList.value = [];
} }
} };
const callDrawerRef = ref(); const callDrawerRef = ref();
const srcList = ref([]); const srcList = ref([]);
const RefImage = ref(false); const RefImage = ref(false);
...@@ -159,11 +162,11 @@ ...@@ -159,11 +162,11 @@
}; };
const config = computed(() => { const config = computed(() => {
return { return {
rowStyle ({ row }) { rowStyle({ row }) {
if (row.auditDesc === 'time_out') { if (row.auditDesc === 'time_out') {
return { return {
backgroundColor: 'rgb(242,217,217)' backgroundColor: 'rgb(242,217,217)',
} };
} }
}, },
columns: [ columns: [
......
...@@ -113,7 +113,8 @@ ...@@ -113,7 +113,8 @@
</div> </div>
</template> </template>
</ProTable> </ProTable>
<vxe-modal resize <vxe-modal
resize
v-model="showModal" v-model="showModal"
title="审批提示" title="审批提示"
height="282" height="282"
...@@ -147,13 +148,13 @@ ...@@ -147,13 +148,13 @@
console.log('row', row); console.log('row', row);
selectdList.value = row.records; selectdList.value = row.records;
}; };
const onCheckboxAll =(flag)=> { const onCheckboxAll = (flag) => {
if (flag.checked) { if (flag.checked) {
selectdList.value = flag.records; selectdList.value = flag.records;
} else { } else {
selectdList.value = []; selectdList.value = [];
} }
} };
const options = [ const options = [
{ {
value: 2, value: 2,
...@@ -202,7 +203,7 @@ ...@@ -202,7 +203,7 @@
field: 'applyAmount', field: 'applyAmount',
title: '期次应还金额', title: '期次应还金额',
showOverflow: 'tooltip', showOverflow: 'tooltip',
} },
], ],
toolbarConfig: { enabled: false }, toolbarConfig: { enabled: false },
}); });
...@@ -288,7 +289,9 @@ ...@@ -288,7 +289,9 @@
title: '借款机构', title: '借款机构',
slots: { slots: {
default: ({ row }) => { default: ({ row }) => {
return <>{Array.from(new Set(row.loans.map((v) => v.loanPlatform.name))).join(',')}</>; return (
<>{Array.from(new Set(row.loans.map((v) => v.loanPlatform.name))).join(',')}</>
);
}, },
}, },
// search: { el: 'input', labelWidth: 80 }, // search: { el: 'input', labelWidth: 80 },
......
...@@ -16,7 +16,7 @@ ...@@ -16,7 +16,7 @@
<div class="expand-box"> <div class="expand-box">
<div>案件明细</div> <div>案件明细</div>
<div class="expand-table"> <div class="expand-table">
<div v-for="(item, index) in row.reduceRecords" :key="index"> <div v-for="(item, index) in row.reduceRecords" :key="index">
<div class="public-header"> <div class="public-header">
{{ item?.loan?.caseId }} {{ item?.loan?.caseId }}
</div> </div>
...@@ -78,8 +78,9 @@ ...@@ -78,8 +78,9 @@
<td class="label">跟进状态</td> <td class="label">跟进状态</td>
<td>{{ <td>{{
item?.loan?.phoneResultStatus item?.loan?.phoneResultStatus
? phoneResultStatusOpt.find((v) => v.value === item?.loan?.phoneResultStatus) ? phoneResultStatusOpt.find(
.label (v) => v.value === item?.loan?.phoneResultStatus
).label
: '' : ''
}}</td> }}</td>
</tr> </tr>
...@@ -90,7 +91,8 @@ ...@@ -90,7 +91,8 @@
</div> </div>
</template> </template>
</ProTable> </ProTable>
<vxe-modal resize <vxe-modal
resize
v-model="showModal" v-model="showModal"
title="审批提示" title="审批提示"
height="282" height="282"
...@@ -124,13 +126,13 @@ ...@@ -124,13 +126,13 @@
console.log('row', row); console.log('row', row);
selectdList.value = row.records; selectdList.value = row.records;
}; };
const onCheckboxAll =(flag)=> { const onCheckboxAll = (flag) => {
if (flag.checked) { if (flag.checked) {
selectdList.value = flag.records; selectdList.value = flag.records;
} else { } else {
selectdList.value = []; selectdList.value = [];
} }
} };
const reduceTypeOpt = [ const reduceTypeOpt = [
{ label: '结清减免', value: 'settle' }, { label: '结清减免', value: 'settle' },
{ label: '分期减免', value: 'by_stages' }, { label: '分期减免', value: 'by_stages' },
...@@ -206,7 +208,9 @@ ...@@ -206,7 +208,9 @@
search: { el: 'input', labelWidth: 80 }, search: { el: 'input', labelWidth: 80 },
slots: { slots: {
default: ({ row }) => { default: ({ row }) => {
return <>{Array.from(new Set(row.reduceRecords.map((v) => v.loan.caseId))).join(',')}</>; return (
<>{Array.from(new Set(row.reduceRecords.map((v) => v.loan.caseId))).join(',')}</>
);
}, },
}, },
width: 120, width: 120,
......
...@@ -13,7 +13,8 @@ ...@@ -13,7 +13,8 @@
<el-button type="primary">批量修复上传 </el-button> --> <el-button type="primary">批量修复上传 </el-button> -->
</template> </template>
</ProTable> </ProTable>
<vxe-modal resize <vxe-modal
resize
v-model="showModal" v-model="showModal"
title="审批提示" title="审批提示"
height="282" height="282"
...@@ -47,20 +48,20 @@ ...@@ -47,20 +48,20 @@
{ label: '待审核', value: 'pending' }, { label: '待审核', value: 'pending' },
// { label: '审核中', value: 'in_review' }, // { label: '审核中', value: 'in_review' },
{ label: '通过', value: 'pass' }, { label: '通过', value: 'pass' },
{ label: '未通过', value: 'fail' } { label: '未通过', value: 'fail' },
]; ];
const selectdList = ref([]); const selectdList = ref([]);
const onCheckboxChange = (row) => { const onCheckboxChange = (row) => {
console.log('row', row); console.log('row', row);
selectdList.value = row.records; selectdList.value = row.records;
}; };
const onCheckboxAll =(flag)=> { const onCheckboxAll = (flag) => {
if (flag.checked) { if (flag.checked) {
selectdList.value = flag.records; selectdList.value = flag.records;
} else { } else {
selectdList.value = []; selectdList.value = [];
} }
} };
const changeStatus = async () => { const changeStatus = async () => {
showModal.value = true; showModal.value = true;
}; };
...@@ -82,7 +83,7 @@ ...@@ -82,7 +83,7 @@
const config = reactive({ const config = reactive({
columns: [ columns: [
{ type: 'checkbox', width: 50 }, { type: 'checkbox', width: 50 },
{ {
field: 'borrower.name', field: 'borrower.name',
title: '借款人姓名', title: '借款人姓名',
...@@ -167,17 +168,15 @@ ...@@ -167,17 +168,15 @@
default: ({ row }) => { default: ({ row }) => {
return ( return (
<> <>
{row.flowStatus {row.flowStatus ? flowStatusOpt.find((v) => v.value === row.flowStatus).label : ''}
? flowStatusOpt.find((v) => v.value === row.flowStatus).label
: ''}
</> </>
); );
}, },
}, },
} },
], ],
onCheckboxChange: onCheckboxChange, onCheckboxChange: onCheckboxChange,
onCheckboxAll: onCheckboxAll onCheckboxAll: onCheckboxAll,
}); });
const query = () => caseLRef.value?.search(); const query = () => caseLRef.value?.search();
......
...@@ -13,7 +13,8 @@ ...@@ -13,7 +13,8 @@
<el-button type="primary">批量修复上传 </el-button> --> <el-button type="primary">批量修复上传 </el-button> -->
</template> </template>
</ProTable> </ProTable>
<vxe-modal resize <vxe-modal
resize
v-model="showModal" v-model="showModal"
title="审批提示" title="审批提示"
height="282" height="282"
...@@ -47,13 +48,13 @@ ...@@ -47,13 +48,13 @@
console.log('row', row); console.log('row', row);
selectdList.value = row.records; selectdList.value = row.records;
}; };
const onCheckboxAll =(flag)=> { const onCheckboxAll = (flag) => {
if (flag.checked) { if (flag.checked) {
selectdList.value = flag.records; selectdList.value = flag.records;
} else { } else {
selectdList.value = []; selectdList.value = [];
} }
} };
const options = [ const options = [
{ {
value: 'repay', value: 'repay',
...@@ -103,11 +104,17 @@ ...@@ -103,11 +104,17 @@
slots: { slots: {
default: ({ row }) => { default: ({ row }) => {
if (row.reduce && row.reduce.reduceRecords) { if (row.reduce && row.reduce.reduceRecords) {
return <>{Array.from(new Set(row.reduce.reduceRecords.map((v) => v.loan.caseId))).join(',')}</>; return (
<>
{Array.from(new Set(row.reduce.reduceRecords.map((v) => v.loan.caseId))).join(
','
)}
</>
);
} else if (row.stages && row.stages.loans) { } else if (row.stages && row.stages.loans) {
return <>{Array.from(new Set(row.stages.loans.map((v) => v.caseId))).join(',')}</>; return <>{Array.from(new Set(row.stages.loans.map((v) => v.caseId))).join(',')}</>;
} else { } else {
return <>{row.loan?.caseId}</> return <>{row.loan?.caseId}</>;
} }
}, },
}, },
...@@ -160,11 +167,7 @@ ...@@ -160,11 +167,7 @@
slots: { slots: {
default: ({ row }) => { default: ({ row }) => {
return ( return (
<> <>{row.repayType ? options.find((v) => v.value === row.repayType).label : ''}</>
{row.repayType
? options.find((v) => v.value === row.repayType).label
: ''}
</>
); );
}, },
}, },
......
...@@ -39,13 +39,13 @@ ...@@ -39,13 +39,13 @@
} }
return obj; return obj;
}; };
const onCheckboxAll =(flag)=> { const onCheckboxAll = (flag) => {
if (flag.checked) { if (flag.checked) {
selectdList.value = flag.records; selectdList.value = flag.records;
} else { } else {
selectdList.value = []; selectdList.value = [];
} }
} };
const pushCreditcard = () => { const pushCreditcard = () => {
router.push({ router.push({
path: '/infoGather/customerGather/Creditcard', path: '/infoGather/customerGather/Creditcard',
......
...@@ -106,7 +106,7 @@ ...@@ -106,7 +106,7 @@
const paramCallback = (param) => { const paramCallback = (param) => {
const obj = JSON.parse(JSON.stringify(param)); const obj = JSON.parse(JSON.stringify(param));
if (userInfo.id) { if (userInfo.id) {
obj['createBy'] = userInfo.id obj['createBy'] = userInfo.id;
} }
obj['auditStatus'] = activeName.value; obj['auditStatus'] = activeName.value;
if (obj['trackTime']) { if (obj['trackTime']) {
...@@ -134,20 +134,20 @@ ...@@ -134,20 +134,20 @@
query(); query();
}, 300); }, 300);
}; };
const onCheckboxAll =(flag)=> { const onCheckboxAll = (flag) => {
if (flag.checked) { if (flag.checked) {
selectdList.value = flag.records; selectdList.value = flag.records;
} else { } else {
selectdList.value = []; selectdList.value = [];
} }
} };
const config = computed(() => { const config = computed(() => {
return { return {
rowStyle ({ row }) { rowStyle({ row }) {
if (row.auditDesc === 'time_out') { if (row.auditDesc === 'time_out') {
return { return {
backgroundColor: 'rgb(242,217,217)' backgroundColor: 'rgb(242,217,217)',
} };
} }
}, },
columns: [ columns: [
...@@ -386,11 +386,7 @@ ...@@ -386,11 +386,7 @@
field: 'code', field: 'code',
title: '操作', title: '操作',
width: 80, width: 80,
visible: visible: activeName.value === 'audit' || activeName.value === 'rejected' ? true : false,
activeName.value === 'audit' ||
activeName.value === 'rejected'
? true
: false,
slots: { slots: {
default: ({ row, rowIndex }) => { default: ({ row, rowIndex }) => {
if (activeName.value === 'audit' || activeName.value === 'rejected') { if (activeName.value === 'audit' || activeName.value === 'rejected') {
......
...@@ -44,7 +44,7 @@ ...@@ -44,7 +44,7 @@
import { ElMessageBox, ElMessage } from 'element-plus'; import { ElMessageBox, ElMessage } from 'element-plus';
import citydata from '../../../assets/citydata'; import citydata from '../../../assets/citydata';
import { onMounted } from 'vue'; import { onMounted } from 'vue';
import {VxeTextEllipsis, VxeTooltip} from 'vxe-pc-ui' import { VxeTextEllipsis, VxeTooltip } from 'vxe-pc-ui';
import { getPlatformPage } from '@/api/platform'; import { getPlatformPage } from '@/api/platform';
import { getManageOrgPage } from '@/api/manageOrg'; import { getManageOrgPage } from '@/api/manageOrg';
import { getTenantPage } from '@/api/tenant'; import { getTenantPage } from '@/api/tenant';
...@@ -113,13 +113,13 @@ ...@@ -113,13 +113,13 @@
{ label: '分派到调解中心', value: 'tenant' }, { label: '分派到调解中心', value: 'tenant' },
{ label: '分派到CPE', value: 'CPE' }, { label: '分派到CPE', value: 'CPE' },
]; ];
const onCheckboxAll =(flag)=> { const onCheckboxAll = (flag) => {
if (flag.checked) { if (flag.checked) {
selectdList.value = flag.records; selectdList.value = flag.records;
} else { } else {
selectdList.value = []; selectdList.value = [];
} }
} };
console.log('citydatacitydata', citydata); console.log('citydatacitydata', citydata);
const config = reactive({ const config = reactive({
columns: [ columns: [
...@@ -142,8 +142,20 @@ ...@@ -142,8 +142,20 @@
slots: { slots: {
default: ({ row }) => { default: ({ row }) => {
return ( return (
<VxeTooltip content={row.borrower.domicileProvince + (row.borrower.domicileCity ? '-' + row.borrower.domicileCity : '') + (row.borrower.area ? '-' + row.borrower.area : '')}> <VxeTooltip
<VxeTextEllipsis content={row.borrower.domicileProvince + (row.borrower.domicileCity ? '-' + row.borrower.domicileCity : '') + (row.borrower.area ? '-' + row.borrower.area : '')}></VxeTextEllipsis> content={
row.borrower.domicileProvince +
(row.borrower.domicileCity ? '-' + row.borrower.domicileCity : '') +
(row.borrower.area ? '-' + row.borrower.area : '')
}
>
<VxeTextEllipsis
content={
row.borrower.domicileProvince +
(row.borrower.domicileCity ? '-' + row.borrower.domicileCity : '') +
(row.borrower.area ? '-' + row.borrower.area : '')
}
></VxeTextEllipsis>
</VxeTooltip> </VxeTooltip>
); );
}, },
...@@ -152,16 +164,21 @@ ...@@ -152,16 +164,21 @@
{ {
field: 'loanPlatform.name', field: 'loanPlatform.name',
showOverflow: 'tooltip', showOverflow: 'tooltip',
enum: () => getPlatformPage({current: 1, size: 999999999, status: 'enable'}), enum: () => getPlatformPage({ current: 1, size: 999999999, status: 'enable' }),
search: { el: 'select', props: { filterable: true }, key: 'loanPlatformId', labelWidth: 78 }, search: {
el: 'select',
props: { filterable: true },
key: 'loanPlatformId',
labelWidth: 78,
},
fieldNames: { label: 'name', value: 'id' }, fieldNames: { label: 'name', value: 'id' },
title: '借款机构', title: '借款机构',
width: 100 width: 100,
}, },
{ {
field: 'manageOrg.orgName', field: 'manageOrg.orgName',
title: '资管公司', title: '资管公司',
enum: () => getManageOrgPage({current: 1, size: 999999999, status: 'enable'}), enum: () => getManageOrgPage({ current: 1, size: 999999999, status: 'enable' }),
fieldNames: { label: 'orgName', value: 'id' }, fieldNames: { label: 'orgName', value: 'id' },
showOverflow: 'tooltip', showOverflow: 'tooltip',
width: 100, width: 100,
...@@ -197,11 +214,11 @@ ...@@ -197,11 +214,11 @@
{ {
field: 'tenant.name', field: 'tenant.name',
showOverflow: 'tooltip', showOverflow: 'tooltip',
enum: () => getTenantPage({current: 1, size: 999999999, status: 'enable'}), enum: () => getTenantPage({ current: 1, size: 999999999, status: 'enable' }),
search: { el: 'select', props: { filterable: true }, key: 'tenantId', labelWidth: 78 }, search: { el: 'select', props: { filterable: true }, key: 'tenantId', labelWidth: 78 },
fieldNames: { label: 'name', value: 'id' }, fieldNames: { label: 'name', value: 'id' },
title: '调解中心', title: '调解中心',
width: 100 width: 100,
}, },
{ {
field: 'discount', field: 'discount',
...@@ -268,11 +285,11 @@ ...@@ -268,11 +285,11 @@
}, },
{ {
field: 'borrower.phone', field: 'borrower.phone',
showOverflow: 'tooltip', showOverflow: 'tooltip',
title: '手机', title: '手机',
width: 100, width: 100,
search: { el: 'input', props: { clearable: true }, labelWidth: 78, key: 'borrowerPhone'}, search: { el: 'input', props: { clearable: true }, labelWidth: 78, key: 'borrowerPhone' },
}, },
{ {
field: 'principalBalance', field: 'principalBalance',
...@@ -309,14 +326,17 @@ ...@@ -309,14 +326,17 @@
); );
}, },
}, },
} },
], ],
onCheckboxChange: onCheckboxChange, onCheckboxChange: onCheckboxChange,
onCheckboxAll: onCheckboxAll onCheckboxAll: onCheckboxAll,
}); });
const allocation = (row) => { const allocation = (row) => {
allocationModalRef.value.openModal(JSON.parse(JSON.stringify(curParam.value)), JSON.parse(JSON.stringify(selectdList.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();
......
...@@ -4,15 +4,12 @@ ...@@ -4,15 +4,12 @@
<ProTable :config="config" ref="caseLRef" :api="getLoanpage" :paramCallback="paramCallback"> <ProTable :config="config" ref="caseLRef" :api="getLoanpage" :paramCallback="paramCallback">
<!-- 表格 header 按钮 --> <!-- 表格 header 按钮 -->
<template #left_buttons> <template #left_buttons>
<el-button <el-button type="primary" @click="backCase">回收 </el-button>
type="primary"
@click="backCase"
>回收
</el-button>
</template> </template>
</ProTable> </ProTable>
</div> </div>
<vxe-modal resize <vxe-modal
resize
v-model="showModal" v-model="showModal"
title="提示" title="提示"
height="242" height="242"
...@@ -38,7 +35,7 @@ ...@@ -38,7 +35,7 @@
import { getLoantotal, getLoanpage, back, fullBack } from '@/api/allcation'; import { getLoantotal, getLoanpage, back, fullBack } from '@/api/allcation';
import { reactive, ref } from 'vue'; import { reactive, ref } from 'vue';
import { ElMessageBox, ElMessage } from 'element-plus'; import { ElMessageBox, ElMessage } from 'element-plus';
import {VxeTextEllipsis, VxeTooltip} from 'vxe-pc-ui' import { VxeTextEllipsis, VxeTooltip } from 'vxe-pc-ui';
import citydata from '../../../assets/citydata'; import citydata from '../../../assets/citydata';
import { onMounted } from 'vue'; import { onMounted } from 'vue';
import { getPlatformPage } from '@/api/platform'; import { getPlatformPage } from '@/api/platform';
...@@ -83,16 +80,15 @@ ...@@ -83,16 +80,15 @@
// } // }
// }) // })
// } // }
showModal.value = true showModal.value = true;
}; };
const submitForm = async (type) => { const submitForm = async (type) => {
const ids = selectdList.value.map((v) => v.id).join(','); const ids = selectdList.value.map((v) => v.id).join(',');
let param = { let param = {};
}
if (ids.length > 0) { if (ids.length > 0) {
param['loanIds'] = ids param['loanIds'] = ids;
} else { } else {
param = {...curParam.value} param = { ...curParam.value };
} }
if (type === 'withdraw') { if (type === 'withdraw') {
await back(param); await back(param);
...@@ -110,8 +106,8 @@ ...@@ -110,8 +106,8 @@
}); });
} }
query(); query();
showModal.value = false showModal.value = false;
} };
const paramCallback = (param) => { const paramCallback = (param) => {
const obj = JSON.parse(JSON.stringify(param)); const obj = JSON.parse(JSON.stringify(param));
if (obj.arealist && obj.arealist.length > 0) { if (obj.arealist && obj.arealist.length > 0) {
...@@ -139,14 +135,14 @@ ...@@ -139,14 +135,14 @@
{ label: '分派到调解中心', value: 'tenant' }, { label: '分派到调解中心', value: 'tenant' },
{ label: '分派到CPE', value: 'CPE' }, { label: '分派到CPE', value: 'CPE' },
]; ];
const onCheckboxAll =(flag)=> { const onCheckboxAll = (flag) => {
if (flag.checked) { if (flag.checked) {
selectdList.value = flag.records; selectdList.value = flag.records;
} else { } else {
selectdList.value = []; selectdList.value = [];
} }
} };
console.log('citydatacitydata', citydata); console.log('citydatacitydata', citydata);
const config = reactive({ const config = reactive({
columns: [ columns: [
...@@ -169,8 +165,20 @@ ...@@ -169,8 +165,20 @@
slots: { slots: {
default: ({ row }) => { default: ({ row }) => {
return ( return (
<VxeTooltip content={row.borrower.domicileProvince + (row.borrower.domicileCity ? '-' + row.borrower.domicileCity : '') + (row.borrower.area ? '-' + row.borrower.area : '')}> <VxeTooltip
<VxeTextEllipsis content={row.borrower.domicileProvince + (row.borrower.domicileCity ? '-' + row.borrower.domicileCity : '') + (row.borrower.area ? '-' + row.borrower.area : '')}></VxeTextEllipsis> content={
row.borrower.domicileProvince +
(row.borrower.domicileCity ? '-' + row.borrower.domicileCity : '') +
(row.borrower.area ? '-' + row.borrower.area : '')
}
>
<VxeTextEllipsis
content={
row.borrower.domicileProvince +
(row.borrower.domicileCity ? '-' + row.borrower.domicileCity : '') +
(row.borrower.area ? '-' + row.borrower.area : '')
}
></VxeTextEllipsis>
</VxeTooltip> </VxeTooltip>
); );
}, },
...@@ -179,16 +187,21 @@ ...@@ -179,16 +187,21 @@
{ {
field: 'loanPlatform.name', field: 'loanPlatform.name',
showOverflow: 'tooltip', showOverflow: 'tooltip',
enum: () => getPlatformPage({current: 1, size: 999999999, status: 'enable'}), enum: () => getPlatformPage({ current: 1, size: 999999999, status: 'enable' }),
search: { el: 'select', props: { filterable: true }, key: 'loanPlatformId', labelWidth: 78 }, search: {
el: 'select',
props: { filterable: true },
key: 'loanPlatformId',
labelWidth: 78,
},
fieldNames: { label: 'name', value: 'id' }, fieldNames: { label: 'name', value: 'id' },
title: '借款机构', title: '借款机构',
width: 100 width: 100,
}, },
{ {
field: 'manageOrg.orgName', field: 'manageOrg.orgName',
title: '资管公司', title: '资管公司',
enum: () => getManageOrgPage({current: 1, size: 999999999, status: 'enable'}), enum: () => getManageOrgPage({ current: 1, size: 999999999, status: 'enable' }),
fieldNames: { label: 'orgName', value: 'id' }, fieldNames: { label: 'orgName', value: 'id' },
showOverflow: 'tooltip', showOverflow: 'tooltip',
width: 100, width: 100,
...@@ -224,11 +237,11 @@ ...@@ -224,11 +237,11 @@
{ {
field: 'tenant.name', field: 'tenant.name',
showOverflow: 'tooltip', showOverflow: 'tooltip',
enum: () => getTenantPage({current: 1, size: 999999999, status: 'enable'}), enum: () => getTenantPage({ current: 1, size: 999999999, status: 'enable' }),
search: { el: 'select', props: { filterable: true }, key: 'tenantId', labelWidth: 78 }, search: { el: 'select', props: { filterable: true }, key: 'tenantId', labelWidth: 78 },
fieldNames: { label: 'name', value: 'id' }, fieldNames: { label: 'name', value: 'id' },
title: '调解中心', title: '调解中心',
width: 100 width: 100,
}, },
{ {
field: 'discount', field: 'discount',
...@@ -298,7 +311,7 @@ ...@@ -298,7 +311,7 @@
showOverflow: 'tooltip', showOverflow: 'tooltip',
title: '手机', title: '手机',
width: 100, width: 100,
search: { el: 'input',key: 'borrowerPhone', props: { clearable: true }, labelWidth: 78 }, search: { el: 'input', key: 'borrowerPhone', props: { clearable: true }, labelWidth: 78 },
}, },
{ {
field: 'principalBalance', field: 'principalBalance',
...@@ -335,10 +348,10 @@ ...@@ -335,10 +348,10 @@
); );
}, },
}, },
} },
], ],
onCheckboxChange: onCheckboxChange, onCheckboxChange: onCheckboxChange,
onCheckboxAll: onCheckboxAll onCheckboxAll: onCheckboxAll,
}); });
const query = () => caseLRef.value?.search(); const query = () => caseLRef.value?.search();
......
...@@ -413,8 +413,8 @@ ...@@ -413,8 +413,8 @@
minHeight: 200, minHeight: 200,
checkboxConfig: { checkboxConfig: {
checkMethod: ({ row }) => { checkMethod: ({ row }) => {
return props.mergerCase !== 'Y' return props.mergerCase !== 'Y';
} },
}, },
columns: [ columns: [
{ type: 'checkbox', width: 50 }, { type: 'checkbox', width: 50 },
......
...@@ -158,8 +158,8 @@ ...@@ -158,8 +158,8 @@
const config = reactive({ const config = reactive({
checkboxConfig: { checkboxConfig: {
checkMethod: ({ row }) => { checkMethod: ({ row }) => {
return props.mergerCase !== 'Y' return props.mergerCase !== 'Y';
} },
}, },
minHeight: 200, minHeight: 200,
columns: [ columns: [
......
<template> <template>
<vxe-modal resize <vxe-modal
resize
v-model="showModal" v-model="showModal"
title="修复申请" title="修复申请"
@hide="onHide" @hide="onHide"
...@@ -78,31 +79,31 @@ ...@@ -78,31 +79,31 @@
currentDetail.value = { people: 0, case: 0, money: 0 }; currentDetail.value = { people: 0, case: 0, money: 0 };
}; };
const openModal = (account) => { const openModal = (account) => {
console.log('currentDetail', currentDetail.value) console.log('currentDetail', currentDetail.value);
showModal.value = true; showModal.value = true;
currentDetail.value = account; currentDetail.value = account;
}; };
const submitForm = () => { const submitForm = () => {
saveRepairRecord({ saveRepairRecord({
"borrower": currentDetail.value?.borrower, borrower: currentDetail.value?.borrower,
"oldName": "", oldName: '',
"newName": form.newName, newName: form.newName,
"oldPhone": [], oldPhone: [],
"newPhone": [], newPhone: [],
"kinship": form.kinship, kinship: form.kinship,
"flowStatus": "pending", flowStatus: 'pending',
"status": "Y", status: 'Y',
"tenantId": 0 tenantId: 0,
}).then(res => { }).then((res) => {
console.log('sadas', res) console.log('sadas', res);
if (res.success) { if (res.success) {
ElMessage.success({ ElMessage.success({
message: '保存成功', message: '保存成功',
}); });
showModal.value = false; showModal.value = false;
} }
}) });
}; };
const options = [ const options = [
{ {
...@@ -112,7 +113,7 @@ ...@@ -112,7 +113,7 @@
{ {
value: '非本人', value: '非本人',
label: '非本人', label: '非本人',
} },
]; ];
const config = computed(() => { const config = computed(() => {
......
<template> <template>
<vxe-modal resize <vxe-modal
resize
v-model="showModal" v-model="showModal"
:title="currentType" :title="currentType"
@hide="onHide" @hide="onHide"
...@@ -276,7 +277,7 @@ ...@@ -276,7 +277,7 @@
}, },
]; ];
const submitForm = () => { const submitForm = () => {
console.log('currentInfo.value', currentInfo.value, currentDetail.value, tabledata.value) console.log('currentInfo.value', currentInfo.value, currentDetail.value, tabledata.value);
formRef.value.validate((valid) => { formRef.value.validate((valid) => {
if (valid) { if (valid) {
const param = { const param = {
...@@ -287,17 +288,17 @@ ...@@ -287,17 +288,17 @@
flowStatus: 'pending', flowStatus: 'pending',
repayStatus: 'over', repayStatus: 'over',
status: 'enable', status: 'enable',
loanPlatform: currentInfo.value?.loanPlatform?.name loanPlatform: currentInfo.value?.loanPlatform?.name,
}; };
if (currentType.value === '结清减免还款') { if (currentType.value === '结清减免还款') {
param['loanPlatform'] = currentDetail.value.loanPlatform.name param['loanPlatform'] = currentDetail.value.loanPlatform.name;
param['reduce'] = { param['reduce'] = {
id: currentInfo.value.id id: currentInfo.value.id,
} };
} }
if (currentType.value === '分期还款') { if (currentType.value === '分期还款') {
param['borrower'] = currentDetail.value.borrower param['borrower'] = currentDetail.value.borrower;
param['loanPlatform'] = currentDetail.value.loans[0].loanPlatform.name param['loanPlatform'] = currentDetail.value.loans[0].loanPlatform.name;
param['stages'] = { param['stages'] = {
id: currentDetail.value.id, id: currentDetail.value.id,
borrower: currentDetail.value.borrower, borrower: currentDetail.value.borrower,
...@@ -315,7 +316,7 @@ ...@@ -315,7 +316,7 @@
); );
item['repayStatus'] = 'over'; item['repayStatus'] = 'over';
param['stages']['byStagesRecords'] = currentDetail.value.byStagesRecords; param['stages']['byStagesRecords'] = currentDetail.value.byStagesRecords;
param['byStagesRecord'] = item param['byStagesRecord'] = item;
} }
saveRepayRecord(param).then((res) => { saveRepayRecord(param).then((res) => {
console.log('res', res); console.log('res', res);
......
...@@ -318,14 +318,12 @@ ...@@ -318,14 +318,12 @@
form.totalRepayAmount = 0; form.totalRepayAmount = 0;
form.remainingAmount = 0; form.remainingAmount = 0;
selectdList.value.forEach((item) => { selectdList.value.forEach((item) => {
const remainingAmount = Decimal(Number(item.remainingAmount) || 0).sub(Decimal(Number(item.sumReductionAmount) || 0)) const remainingAmount = Decimal(Number(item.remainingAmount) || 0).sub(
Decimal(Number(item.sumReductionAmount) || 0)
form.totalRepayAmount = Decimal(form.totalRepayAmount).add(
Decimal(remainingAmount)
);
form.remainingAmount = Decimal(form.remainingAmount).add(
Decimal(remainingAmount)
); );
form.totalRepayAmount = Decimal(form.totalRepayAmount).add(Decimal(remainingAmount));
form.remainingAmount = Decimal(form.remainingAmount).add(Decimal(remainingAmount));
}); });
if (selectdList.value.length > 0) { if (selectdList.value.length > 0) {
getPlatforms(selectdList.value[0].loanPlatform.id); getPlatforms(selectdList.value[0].loanPlatform.id);
...@@ -341,13 +339,11 @@ ...@@ -341,13 +339,11 @@
form.totalRepayAmount = 0; form.totalRepayAmount = 0;
form.remainingAmount = 0; form.remainingAmount = 0;
selectdList.value.forEach((item) => { selectdList.value.forEach((item) => {
const remainingAmount = Decimal(Number(item.remainingAmount) || 0).sub(Decimal(Number(item.sumReductionAmount) || 0)) const remainingAmount = Decimal(Number(item.remainingAmount) || 0).sub(
form.totalRepayAmount = Decimal(form.totalRepayAmount).add( Decimal(Number(item.sumReductionAmount) || 0)
Decimal(remainingAmount)
);
form.remainingAmount = Decimal(form.remainingAmount).add(
Decimal(remainingAmount)
); );
form.totalRepayAmount = Decimal(form.totalRepayAmount).add(Decimal(remainingAmount));
form.remainingAmount = Decimal(form.remainingAmount).add(Decimal(remainingAmount));
}); });
if (selectdList.value.length > 0) { if (selectdList.value.length > 0) {
getPlatforms(selectdList.value[0].loanPlatform.id); getPlatforms(selectdList.value[0].loanPlatform.id);
...@@ -357,8 +353,8 @@ ...@@ -357,8 +353,8 @@
const config = reactive({ const config = reactive({
checkboxConfig: { checkboxConfig: {
checkMethod: ({ row }) => { checkMethod: ({ row }) => {
return props.mergerCase !== 'Y' return props.mergerCase !== 'Y';
} },
}, },
minHeight: 200, minHeight: 200,
columns: [ columns: [
...@@ -449,7 +445,7 @@ ...@@ -449,7 +445,7 @@
}, },
}, },
}, },
] ],
}; };
}); });
const openModal = (detail, caselist) => { const openModal = (detail, caselist) => {
...@@ -460,13 +456,11 @@ ...@@ -460,13 +456,11 @@
form.totalRepayAmount = 0; form.totalRepayAmount = 0;
form.remainingAmount = 0; form.remainingAmount = 0;
caselist.forEach((item) => { caselist.forEach((item) => {
const remainingAmount = Decimal(Number(item.remainingAmount) || 0).sub(Decimal(Number(item.sumReductionAmount) || 0)) const remainingAmount = Decimal(Number(item.remainingAmount) || 0).sub(
form.totalRepayAmount = Decimal(form.totalRepayAmount).add( Decimal(Number(item.sumReductionAmount) || 0)
Decimal(remainingAmount)
);
form.remainingAmount = Decimal(form.remainingAmount).add(
Decimal(remainingAmount)
); );
form.totalRepayAmount = Decimal(form.totalRepayAmount).add(Decimal(remainingAmount));
form.remainingAmount = Decimal(form.remainingAmount).add(Decimal(remainingAmount));
}); });
tabledata.value = caselist; tabledata.value = caselist;
setTimeout(() => { setTimeout(() => {
......
This diff is collapsed.
<template> <template>
<vxe-modal resize <vxe-modal
resize
v-model="showModal" v-model="showModal"
title="案件分派" title="案件分派"
@hide="onHide" @hide="onHide"
......
...@@ -99,16 +99,16 @@ ...@@ -99,16 +99,16 @@
{ {
field: 'loanPlatform.name', field: 'loanPlatform.name',
showOverflow: 'tooltip', showOverflow: 'tooltip',
enum: () => getPlatformPage({current: 1, size: 999999999, status: 'enable'}), enum: () => getPlatformPage({ current: 1, size: 999999999, status: 'enable' }),
search: { el: 'select', props: { filterable: true }, key: 'loanPlatform', labelWidth: 80 }, search: { el: 'select', props: { filterable: true }, key: 'loanPlatform', labelWidth: 80 },
fieldNames: { label: 'name', value: 'id' }, fieldNames: { label: 'name', value: 'id' },
title: '借款机构', title: '借款机构',
width: 100 width: 100,
}, },
{ {
field: 'manageOrg.orgName', field: 'manageOrg.orgName',
title: '资管公司', title: '资管公司',
enum: () => getManageOrgPage({current: 1, size: 999999999, status: 'enable'}), enum: () => getManageOrgPage({ current: 1, size: 999999999, status: 'enable' }),
fieldNames: { label: 'orgName', value: 'id' }, fieldNames: { label: 'orgName', value: 'id' },
showOverflow: 'tooltip', showOverflow: 'tooltip',
width: 100, width: 100,
......
...@@ -4,15 +4,12 @@ ...@@ -4,15 +4,12 @@
<ProTable :config="config" ref="caseLRef" :api="getLoanpage" :paramCallback="paramCallback"> <ProTable :config="config" ref="caseLRef" :api="getLoanpage" :paramCallback="paramCallback">
<!-- 表格 header 按钮 --> <!-- 表格 header 按钮 -->
<template #left_buttons> <template #left_buttons>
<el-button <el-button type="primary" @click="backCase">撤案 </el-button>
type="primary"
@click="backCase"
>撤案
</el-button>
</template> </template>
</ProTable> </ProTable>
</div> </div>
<vxe-modal resize <vxe-modal
resize
v-model="showModal" v-model="showModal"
title="提示" title="提示"
height="242" height="242"
...@@ -20,7 +17,7 @@ ...@@ -20,7 +17,7 @@
show-footer show-footer
esc-closable esc-closable
> >
<div class="w-full px-3 h-full overflow-auto flex-col flex mytable"> <div class="w-full px-3 h-full overflow-auto flex-col flex mytable">
⚠️撤案处理后不可重新分派<br /> ⚠️撤案处理后不可重新分派<br />
撤案:只撤案未留案的案件<br /> 撤案:只撤案未留案的案件<br />
强制撤案:所有案件都会撤案,留案案件会被强制撤案<br /> 强制撤案:所有案件都会撤案,留案案件会被强制撤案<br />
...@@ -29,7 +26,6 @@ ...@@ -29,7 +26,6 @@
<el-button type="default" @click="showModal = false">取消</el-button> <el-button type="default" @click="showModal = false">取消</el-button>
<el-button type="primary" @click="submitForm('withdraw')">撤案</el-button> <el-button type="primary" @click="submitForm('withdraw')">撤案</el-button>
<el-button type="danger" @click="submitForm('fullWithdraw')">强制撤案</el-button> <el-button type="danger" @click="submitForm('fullWithdraw')">强制撤案</el-button>
</template> </template>
</vxe-modal> </vxe-modal>
</div> </div>
...@@ -41,7 +37,7 @@ ...@@ -41,7 +37,7 @@
import { ElMessageBox, ElMessage } from 'element-plus'; import { ElMessageBox, ElMessage } from 'element-plus';
import citydata from '../../../assets/citydata'; import citydata from '../../../assets/citydata';
import { onMounted } from 'vue'; import { onMounted } from 'vue';
import {VxeTextEllipsis, VxeTooltip} from 'vxe-pc-ui' import { VxeTextEllipsis, VxeTooltip } from 'vxe-pc-ui';
import { getPlatformPage } from '@/api/platform'; import { getPlatformPage } from '@/api/platform';
import { getManageOrgPage } from '@/api/manageOrg'; import { getManageOrgPage } from '@/api/manageOrg';
import { getTenantPage } from '@/api/tenant'; import { getTenantPage } from '@/api/tenant';
...@@ -62,12 +58,11 @@ ...@@ -62,12 +58,11 @@
}; };
const submitForm = async (type) => { const submitForm = async (type) => {
const ids = selectdList.value.map((v) => v.id).join(','); const ids = selectdList.value.map((v) => v.id).join(',');
let param = { let param = {};
}
if (ids.length > 0) { if (ids.length > 0) {
param['loanIds'] = ids param['loanIds'] = ids;
} else { } else {
param = {...curParam.value} param = { ...curParam.value };
} }
if (type === 'withdraw') { if (type === 'withdraw') {
await backDistribute(param); await backDistribute(param);
...@@ -85,8 +80,8 @@ ...@@ -85,8 +80,8 @@
}); });
} }
query(); query();
showModal.value = false showModal.value = false;
} };
const paramCallback = (param) => { const paramCallback = (param) => {
const obj = JSON.parse(JSON.stringify(param)); const obj = JSON.parse(JSON.stringify(param));
if (obj.arealist && obj.arealist.length > 0) { if (obj.arealist && obj.arealist.length > 0) {
...@@ -133,20 +128,20 @@ ...@@ -133,20 +128,20 @@
// } // }
// }) // })
// } // }
showModal.value = true showModal.value = true;
}; };
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)=> { const onCheckboxAll = (flag) => {
if (flag.checked) { if (flag.checked) {
selectdList.value = flag.records; selectdList.value = flag.records;
} else { } else {
selectdList.value = []; selectdList.value = [];
} }
} };
console.log('citydatacitydata', citydata); console.log('citydatacitydata', citydata);
const config = reactive({ const config = reactive({
columns: [ columns: [
...@@ -169,8 +164,20 @@ ...@@ -169,8 +164,20 @@
slots: { slots: {
default: ({ row }) => { default: ({ row }) => {
return ( return (
<VxeTooltip content={row.borrower.domicileProvince + (row.borrower.domicileCity ? '-' + row.borrower.domicileCity : '') + (row.borrower.area ? '-' + row.borrower.area : '')}> <VxeTooltip
<VxeTextEllipsis content={row.borrower.domicileProvince + (row.borrower.domicileCity ? '-' + row.borrower.domicileCity : '') + (row.borrower.area ? '-' + row.borrower.area : '')}></VxeTextEllipsis> content={
row.borrower.domicileProvince +
(row.borrower.domicileCity ? '-' + row.borrower.domicileCity : '') +
(row.borrower.area ? '-' + row.borrower.area : '')
}
>
<VxeTextEllipsis
content={
row.borrower.domicileProvince +
(row.borrower.domicileCity ? '-' + row.borrower.domicileCity : '') +
(row.borrower.area ? '-' + row.borrower.area : '')
}
></VxeTextEllipsis>
</VxeTooltip> </VxeTooltip>
); );
}, },
...@@ -179,16 +186,21 @@ ...@@ -179,16 +186,21 @@
{ {
field: 'loanPlatform.name', field: 'loanPlatform.name',
showOverflow: 'tooltip', showOverflow: 'tooltip',
enum: () => getPlatformPage({current: 1, size: 999999999, status: 'enable'}), enum: () => getPlatformPage({ current: 1, size: 999999999, status: 'enable' }),
search: { el: 'select', props: { filterable: true }, key: 'loanPlatformId', labelWidth: 78 }, search: {
el: 'select',
props: { filterable: true },
key: 'loanPlatformId',
labelWidth: 78,
},
fieldNames: { label: 'name', value: 'id' }, fieldNames: { label: 'name', value: 'id' },
title: '借款机构', title: '借款机构',
width: 100 width: 100,
}, },
{ {
field: 'manageOrg.orgName', field: 'manageOrg.orgName',
title: '资管公司', title: '资管公司',
enum: () => getManageOrgPage({current: 1, size: 999999999, status: 'enable'}), enum: () => getManageOrgPage({ current: 1, size: 999999999, status: 'enable' }),
fieldNames: { label: 'orgName', value: 'id' }, fieldNames: { label: 'orgName', value: 'id' },
showOverflow: 'tooltip', showOverflow: 'tooltip',
width: 100, width: 100,
...@@ -224,11 +236,11 @@ ...@@ -224,11 +236,11 @@
{ {
field: 'tenant.name', field: 'tenant.name',
showOverflow: 'tooltip', showOverflow: 'tooltip',
enum: () => getTenantPage({current: 1, size: 999999999, status: 'enable'}), enum: () => getTenantPage({ current: 1, size: 999999999, status: 'enable' }),
search: { el: 'select', props: { filterable: true }, key: 'tenantId', labelWidth: 78 }, search: { el: 'select', props: { filterable: true }, key: 'tenantId', labelWidth: 78 },
fieldNames: { label: 'name', value: 'id' }, fieldNames: { label: 'name', value: 'id' },
title: '调解中心', title: '调解中心',
width: 100 width: 100,
}, },
{ {
field: 'discount', field: 'discount',
...@@ -298,7 +310,7 @@ ...@@ -298,7 +310,7 @@
showOverflow: 'tooltip', showOverflow: 'tooltip',
title: '手机', title: '手机',
width: 100, width: 100,
search: { el: 'input',key: 'borrowerPhone', props: { clearable: true }, labelWidth: 78 }, search: { el: 'input', key: 'borrowerPhone', props: { clearable: true }, labelWidth: 78 },
}, },
{ {
field: 'principalBalance', field: 'principalBalance',
...@@ -335,10 +347,10 @@ ...@@ -335,10 +347,10 @@
); );
}, },
}, },
} },
], ],
onCheckboxChange: onCheckboxChange, onCheckboxChange: onCheckboxChange,
onCheckboxAll: onCheckboxAll onCheckboxAll: onCheckboxAll,
}); });
const query = () => caseLRef.value?.search(); const query = () => caseLRef.value?.search();
......
<template> <template>
<vxe-modal resize <vxe-modal
resize
v-model="showModal" v-model="showModal"
title="案件明细" title="案件明细"
@hide="onHide" @hide="onHide"
...@@ -9,8 +10,14 @@ ...@@ -9,8 +10,14 @@
esc-closable esc-closable
> >
<vxe-button @click="exportEvent">直接导出 CSV 文件</vxe-button> <vxe-button @click="exportEvent">直接导出 CSV 文件</vxe-button>
<ProTable :config="config" :data="data" :showPagination="false" ref="ProTableRef" <ProTable
:showToolBar="false"> </ProTable> :config="config"
:data="data"
:showPagination="false"
ref="ProTableRef"
:showToolBar="false"
>
</ProTable>
<template #footer> </template> <template #footer> </template>
</vxe-modal> </vxe-modal>
</template> </template>
...@@ -74,7 +81,7 @@ ...@@ -74,7 +81,7 @@
field: 'caseId', field: 'caseId',
title: '案件ID', title: '案件ID',
// search: { el: 'input', labelWidth: 80 }, // search: { el: 'input', labelWidth: 80 },
width: 190 width: 190,
}, },
{ {
field: 'loanPlatform.name', field: 'loanPlatform.name',
...@@ -252,12 +259,12 @@ ...@@ -252,12 +259,12 @@
pengLoanExcel({ pengLoanExcel({
batchCode: account.code, batchCode: account.code,
current: 1, current: 1,
size: 9999999 size: 9999999,
}).then(res => { }).then((res) => {
if (res.result){ if (res.result) {
data.value = res.result.content data.value = res.result.content;
} }
}) });
}; };
defineExpose({ defineExpose({
......
<template> <template>
<vxe-modal resize <vxe-modal
resize
v-model="showModal" v-model="showModal"
title="检查结果" title="检查结果"
@hide="onHide" @hide="onHide"
......
...@@ -5,7 +5,9 @@ ...@@ -5,7 +5,9 @@
<div class="mb-1 text-center step"> <div class="mb-1 text-center step">
<div class="xuhao">1</div> <div class="xuhao">1</div>
上传文件 上传文件
<div class="jt"><el-icon size="60" color="#e3e3e3d9"><ArrowRight /></el-icon></div> <div class="jt"
><el-icon size="60" color="#e3e3e3d9"><ArrowRight /></el-icon
></div>
</div> </div>
<div class="w-full flex items-center justify-center pt-5"> <div class="w-full flex items-center justify-center pt-5">
<div> <div>
...@@ -36,7 +38,9 @@ ...@@ -36,7 +38,9 @@
<div class="mb-1 text-center step"> <div class="mb-1 text-center step">
<div class="xuhao">2</div> <div class="xuhao">2</div>
检查数据 检查数据
<div class="jt"><el-icon size="60" color="#e3e3e3d9"><ArrowRight /></el-icon></div> <div class="jt"
><el-icon size="60" color="#e3e3e3d9"><ArrowRight /></el-icon
></div>
</div> </div>
<div class="w-full flex items-center justify-center pt-5"> <div class="w-full flex items-center justify-center pt-5">
<div> <div>
...@@ -85,7 +89,6 @@ ...@@ -85,7 +89,6 @@
>上传</el-button >上传</el-button
> >
</div> </div>
</div> </div>
</div> </div>
</div> </div>
...@@ -116,9 +119,9 @@ ...@@ -116,9 +119,9 @@
import { reactive, ref } from 'vue'; import { reactive, ref } from 'vue';
import { computed, onMounted } from 'vue'; import { computed, onMounted } from 'vue';
import { ElButton, ElMessage } from 'element-plus'; import { ElButton, ElMessage } from 'element-plus';
import { Upload,ArrowRight } from '@element-plus/icons-vue'; import { Upload, ArrowRight } from '@element-plus/icons-vue';
import { inject } from 'vue'; import { inject } from 'vue';
import { LoanSubmit, importLoanPage, checkLoanExcel} from '@/api/import'; import { LoanSubmit, importLoanPage, checkLoanExcel } from '@/api/import';
const downloadfile = inject('download'); const downloadfile = inject('download');
const envs = getAppEnvConfig(); const envs = getAppEnvConfig();
...@@ -339,9 +342,9 @@ ...@@ -339,9 +342,9 @@
} }
.xuhao { .xuhao {
background-image: url('./step.svg'); background-image: url('./step.svg');
background-repeat:no-repeat; background-repeat: no-repeat;
background-size:100% 100%; background-size: 100% 100%;
-moz-background-size:100% 100%; -moz-background-size: 100% 100%;
width: 30px; width: 30px;
line-height: 30px; line-height: 30px;
margin-right: 5px; margin-right: 5px;
......
...@@ -36,7 +36,7 @@ ...@@ -36,7 +36,7 @@
{ label: '待审核', value: 'pending' }, { label: '待审核', value: 'pending' },
// { label: '审核中', value: 'in_review' }, // { label: '审核中', value: 'in_review' },
{ label: '通过', value: 'pass' }, { label: '通过', value: 'pass' },
{ label: '未通过', value: 'fail' } { label: '未通过', value: 'fail' },
]; ];
const config = reactive({ const config = reactive({
...@@ -125,14 +125,12 @@ ...@@ -125,14 +125,12 @@
default: ({ row }) => { default: ({ row }) => {
return ( return (
<> <>
{row.flowStatus {row.flowStatus ? flowStatusOpt.find((v) => v.value === row.flowStatus).label : ''}
? flowStatusOpt.find((v) => v.value === row.flowStatus).label
: ''}
</> </>
); );
}, },
}, },
} },
], ],
}); });
......
<template> <template>
<vxe-modal resize <vxe-modal
resize
v-model="showModal" v-model="showModal"
@hide="onHide" @hide="onHide"
title="分配成员" title="分配成员"
......
<template> <template>
<vxe-modal resize <vxe-modal
resize
v-model="showModal" v-model="showModal"
:title="modalTitle" :title="modalTitle"
@hide="onHide" @hide="onHide"
......
<template> <template>
<vxe-modal resize <vxe-modal
resize
v-model="showModal" v-model="showModal"
:title="modalTitle" :title="modalTitle"
@hide="onHide" @hide="onHide"
...@@ -26,12 +27,7 @@ ...@@ -26,12 +27,7 @@
</el-col> </el-col>
<el-col :span="24"> <el-col :span="24">
<el-form-item class="w-full" label="角色" prop="roles"> <el-form-item class="w-full" label="角色" prop="roles">
<el-select <el-select v-model="form.roles" multiple collapse-tags placeholder="请选择角色">
v-model="form.roles"
multiple
collapse-tags
placeholder="请选择角色"
>
<el-option <el-option
v-for="item in options" v-for="item in options"
:key="item.roleCode" :key="item.roleCode"
...@@ -83,7 +79,7 @@ ...@@ -83,7 +79,7 @@
phone: '', phone: '',
status: 'enable', status: 'enable',
}); });
const options = ref([]) const options = ref([]);
const validatePhone = (rule, value, callback) => { const validatePhone = (rule, value, callback) => {
const reg = /^1[3-9]\d{9}$/; const reg = /^1[3-9]\d{9}$/;
if (!value) { if (!value) {
...@@ -93,13 +89,13 @@ ...@@ -93,13 +89,13 @@
} else { } else {
callback(); callback();
} }
} };
const rules = ref({ const rules = ref({
username: { required: true, message: '请输入用户名称', trigger: 'blur' }, username: { required: true, message: '请输入用户名称', trigger: 'blur' },
password: { required: true, message: '请输入密码', trigger: 'blur' }, password: { required: true, message: '请输入密码', trigger: 'blur' },
phone: [ phone: [
{ required: true, message: '请输入手机号', trigger: 'blur' }, { required: true, message: '请输入手机号', trigger: 'blur' },
{ validator: validatePhone, trigger: 'blur' } { validator: validatePhone, trigger: 'blur' },
], ],
}); });
...@@ -140,9 +136,9 @@ ...@@ -140,9 +136,9 @@
}; };
const openModal = (account) => { const openModal = (account) => {
account && (form.value = account); account && (form.value = account);
getDefualtRoles().then(res => { getDefualtRoles().then((res) => {
options.value = res.result options.value = res.result;
}) });
currentAccount.value = account; currentAccount.value = account;
showModal.value = true; showModal.value = true;
}; };
......
<template> <template>
<vxe-modal resize <vxe-modal
resize
v-model="showModal" v-model="showModal"
:title="modalTitle" :title="modalTitle"
@hide="onHide" @hide="onHide"
......
<template> <template>
<vxe-modal resize <vxe-modal
resize
v-model="showModal" v-model="showModal"
@hide="onHide" @hide="onHide"
title="分配成员" title="分配成员"
......
<template> <template>
<vxe-modal resize <vxe-modal
resize
v-model="showModal" v-model="showModal"
:title="modalTitle" :title="modalTitle"
@hide="onHide" @hide="onHide"
......
<template> <template>
<vxe-modal resize <vxe-modal
resize
v-model="showModal" v-model="showModal"
@hide="onHide" @hide="onHide"
title="菜单权限分配" title="菜单权限分配"
......
<template> <template>
<vxe-modal resize <vxe-modal
resize
v-model="showModal" v-model="showModal"
@hide="onHide" @hide="onHide"
title="分配成员" title="分配成员"
......
<template> <template>
<vxe-modal resize <vxe-modal
resize
v-model="showModal" v-model="showModal"
:title="modalTitle" :title="modalTitle"
@hide="onHide" @hide="onHide"
......
...@@ -39,7 +39,7 @@ ...@@ -39,7 +39,7 @@
slots: { slots: {
default: ({ row }) => ( default: ({ row }) => (
<> <>
<ElButton type="primary" link icon={Edit} onClick={() => handleEdit(row)} > <ElButton type="primary" link icon={Edit} onClick={() => handleEdit(row)}>
编辑 编辑
</ElButton> </ElButton>
<ElButton <ElButton
......
<template> <template>
<vxe-modal resize <vxe-modal
resize
v-model="showModal" v-model="showModal"
@hide="onHide" @hide="onHide"
title="分配成员" title="分配成员"
......
<template> <template>
<vxe-modal resize <vxe-modal
resize
v-model="showModal" v-model="showModal"
:title="modalTitle" :title="modalTitle"
@hide="onHide" @hide="onHide"
......
...@@ -368,13 +368,13 @@ ...@@ -368,13 +368,13 @@
}, },
]; ];
const selectdList = ref([]); const selectdList = ref([]);
const onCheckboxAll =(flag)=> { const onCheckboxAll = (flag) => {
if (flag.checked) { if (flag.checked) {
selectdList.value = flag.records; selectdList.value = flag.records;
} else { } else {
selectdList.value = []; selectdList.value = [];
} }
} };
const onCheckboxChange = (row) => { const onCheckboxChange = (row) => {
selectdList.value = row.records; selectdList.value = row.records;
}; };
......
...@@ -47,7 +47,7 @@ ...@@ -47,7 +47,7 @@
import { batchSave } from '@/api/audit'; import { batchSave } from '@/api/audit';
import { useUserStore } from '@/stores/modules/user'; import { useUserStore } from '@/stores/modules/user';
const { userInfo } = useUserStore(); const { userInfo } = useUserStore();
const envs = getAppEnvConfig(); const envs = getAppEnvConfig();
import { reactive, ref } from 'vue'; import { reactive, ref } from 'vue';
const downloadfile = inject('download'); const downloadfile = inject('download');
...@@ -106,7 +106,7 @@ ...@@ -106,7 +106,7 @@
const obj = JSON.parse(JSON.stringify(param)); const obj = JSON.parse(JSON.stringify(param));
obj['auditStatus'] = activeName.value; obj['auditStatus'] = activeName.value;
if (userInfo.id) { if (userInfo.id) {
obj['createBy'] = userInfo.id obj['createBy'] = userInfo.id;
} }
if (obj['trackTime']) { if (obj['trackTime']) {
if (obj['trackTime'][0]) obj['trackTimeBegin'] = obj['trackTime'][0]; if (obj['trackTime'][0]) obj['trackTimeBegin'] = obj['trackTime'][0];
...@@ -133,20 +133,20 @@ ...@@ -133,20 +133,20 @@
query(); query();
}, 300); }, 300);
}; };
const onCheckboxAll =(flag)=> { const onCheckboxAll = (flag) => {
if (flag.checked) { if (flag.checked) {
selectdList.value = flag.records; selectdList.value = flag.records;
} else { } else {
selectdList.value = []; selectdList.value = [];
} }
} };
const config = computed(() => { const config = computed(() => {
return { return {
rowStyle ({ row }) { rowStyle({ row }) {
if (row.auditDesc === 'time_out') { if (row.auditDesc === 'time_out') {
return { return {
backgroundColor: 'rgb(242,217,217)' backgroundColor: 'rgb(242,217,217)',
} };
} }
}, },
columns: [ columns: [
...@@ -385,11 +385,7 @@ ...@@ -385,11 +385,7 @@
field: 'code', field: 'code',
title: '操作', title: '操作',
width: 80, width: 80,
visible: visible: activeName.value === 'audit' || activeName.value === 'rejected' ? true : false,
activeName.value === 'audit' ||
activeName.value === 'rejected'
? true
: false,
slots: { slots: {
default: ({ row, rowIndex }) => { default: ({ row, rowIndex }) => {
if (activeName.value === 'audit' || activeName.value === 'rejected') { if (activeName.value === 'audit' || activeName.value === 'rejected') {
...@@ -406,7 +402,7 @@ ...@@ -406,7 +402,7 @@
}, },
], ],
onCheckboxChange: onCheckboxChange, onCheckboxChange: onCheckboxChange,
onCheckboxAll: onCheckboxAll onCheckboxAll: onCheckboxAll,
}; };
}); });
const preview = (item, type) => { const preview = (item, type) => {
......
...@@ -34,13 +34,13 @@ ...@@ -34,13 +34,13 @@
const onCheckboxChange = (row) => { const onCheckboxChange = (row) => {
selectdList.value = row.records; selectdList.value = row.records;
}; };
const onCheckboxAll =(flag)=> { const onCheckboxAll = (flag) => {
if (flag.checked) { if (flag.checked) {
selectdList.value = flag.records; selectdList.value = flag.records;
} else { } else {
selectdList.value = []; selectdList.value = [];
} }
} };
const onCellClick = (row) => { const onCellClick = (row) => {
router.push({ router.push({
path: '/property/case-detail', path: '/property/case-detail',
...@@ -50,35 +50,34 @@ ...@@ -50,35 +50,34 @@
const paramCallback = (param) => { const paramCallback = (param) => {
const obj = JSON.parse(JSON.stringify(param)); const obj = JSON.parse(JSON.stringify(param));
if (userInfo.id) { if (userInfo.id) {
obj['cpe'] = userInfo.id obj['cpe'] = userInfo.id;
} }
curParam.value = obj; curParam.value = obj;
return obj; return obj;
}; };
const stayCase = async () => { const stayCase = async () => {
await ElMessageBox.confirm('是否确认留案?', '提示', { await ElMessageBox.confirm('是否确认留案?', '提示', {
confirmButtonText: '确认', confirmButtonText: '确认',
cancelButtonText: '取消', cancelButtonText: '取消',
type: 'warning', type: 'warning',
}); });
const ids = selectdList.value.map((v) => v.id).join(','); const ids = selectdList.value.map((v) => v.id).join(',');
let param = { let param = {};
} if (ids.length > 0) {
if (ids.length > 0) { param['loanIds'] = ids;
param['loanIds'] = ids } else {
} else { param = { ...curParam.value };
param = {...curParam.value} }
} await stayLoan(param);
await stayLoan(param);
ElMessage({ ElMessage({
type: 'success', type: 'success',
message: '留案成功!', message: '留案成功!',
plain: true, plain: true,
}); });
query(); query();
} };
const followStatusOpt = [ const followStatusOpt = [
{ label: '接通后挂断', value: 'hang_up' }, { label: '接通后挂断', value: 'hang_up' },
{ label: '接通有实质进展', value: 'progress' }, { label: '接通有实质进展', value: 'progress' },
...@@ -142,16 +141,16 @@ ...@@ -142,16 +141,16 @@
{ {
field: 'loanPlatform.name', field: 'loanPlatform.name',
showOverflow: 'tooltip', showOverflow: 'tooltip',
enum: () => getPlatformPage({current: 1, size: 999999999, status: 'enable'}), enum: () => getPlatformPage({ current: 1, size: 999999999, status: 'enable' }),
search: { el: 'select', props: { filterable: true }, key: 'loanPlatform', labelWidth: 80 }, search: { el: 'select', props: { filterable: true }, key: 'loanPlatform', labelWidth: 80 },
fieldNames: { label: 'name', value: 'id' }, fieldNames: { label: 'name', value: 'id' },
title: '借款机构', title: '借款机构',
width: 100 width: 100,
}, },
{ {
field: 'manageOrg.orgName', field: 'manageOrg.orgName',
title: '资管公司', title: '资管公司',
enum: () => getManageOrgPage({current: 1, size: 999999999, status: 'enable'}), enum: () => getManageOrgPage({ current: 1, size: 999999999, status: 'enable' }),
fieldNames: { label: 'orgName', value: 'id' }, fieldNames: { label: 'orgName', value: 'id' },
showOverflow: 'tooltip', showOverflow: 'tooltip',
width: 100, width: 100,
...@@ -319,7 +318,7 @@ ...@@ -319,7 +318,7 @@
}, },
], ],
onCheckboxChange: onCheckboxChange, onCheckboxChange: onCheckboxChange,
onCheckboxAll: onCheckboxAll onCheckboxAll: onCheckboxAll,
}); });
const query = () => caseLRef.value?.search(); const query = () => caseLRef.value?.search();
......
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