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

格式化代码

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