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) {
......@@ -283,7 +287,9 @@
.vxe-table .vxe-body--column.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) {
.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 {
......
<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 },
......
......@@ -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;
};
......@@ -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',
......@@ -272,7 +289,7 @@
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();
......
<template>
<vxe-modal resize
<vxe-modal
resize
v-model="showModal"
title="案件分派"
@hide="onHide"
......@@ -54,9 +55,7 @@
<template v-if="radio === 0 || (radio === 1 && !step)">
<div class="mainContent">
<div class="flex items-center my-3">
<span class="mr-2" v-if="radio === 0">
调解中心
</span>
<span class="mr-2" v-if="radio === 0"> 调解中心 </span>
<el-select
v-if="radio === 0"
v-model="currentTenant"
......@@ -76,40 +75,53 @@
<p class="bb">选择CPE</p>
<div class="flex">
<div class="tree-wrapper" style="border-right: none">
<el-tree :data="data" highlight-current :props="defaultProps" @node-click="handleNodeClick" />
<el-tree
:data="data"
highlight-current
:props="defaultProps"
@node-click="handleNodeClick"
/>
</div>
<div class="tree-wrapper">
<div class="flex items-center h-10 border-b">
<div class=" px-3 border-r mr-auto h-full flex items-center justify-center">
<el-checkbox v-model="checked1" label="" @change="changeAll"/>
<div class="px-3 border-r mr-auto h-full flex items-center justify-center">
<el-checkbox v-model="checked1" label="" @change="changeAll" />
</div>
<div class="flex-1 text-center">CPE</div></div>
<el-tree :data="alltabledata" highlight-current ref="allTreeRef" node-key="id" show-checkbox :props="{
<div class="flex-1 text-center">CPE</div></div
>
<el-tree
:data="alltabledata"
highlight-current
ref="allTreeRef"
node-key="id"
show-checkbox
:props="{
children: 'children',
label: 'username',
}" @check-change="checkChange"/>
}"
@check-change="checkChange"
/>
</div>
</div>
</div>
<div class="ml-3">
<p class="bb">已选CPE</p>
<div class="flex items-center h-10 border border-b-0">
<div class=" w-10 border-r mr-auto h-full flex items-center justify-center">
<div class="w-10 border-r mr-auto h-full flex items-center justify-center">
序号
</div>
<div class="flex-1 text-center">CPE</div>
</div>
<div class="tree-wrapper" style="height: calc(100% - 3.8rem);">
<div class="tree-wrapper" style="height: calc(100% - 3.8rem)">
<div v-for="(item, index) in tabledata" :key="index" class="flex">
<div class=" w-10 mr-auto h-full flex items-center justify-center">
{{index+1}}
<div class="w-10 mr-auto h-full flex items-center justify-center">
{{ index + 1 }}
</div>
<div class="flex-1 text-left pl-3">{{ item.cpe.username }}</div>
</div>
</div>
</div>
</div>
</div>
<!-- <el-transfer
......@@ -157,18 +169,28 @@
</div>
<template #footer>
<el-button @click="backform" v-if="step" style="float: left">上一步</el-button>
<el-button type="primary" @click="saveFrom" :disabled="!currentTenant" v-if="radio === 1 && step"
<el-button
type="primary"
@click="saveFrom"
:disabled="!currentTenant"
v-if="radio === 1 && step"
>保存</el-button
>
<el-button type="default" @click="showModal = false">取消</el-button>
<el-button
type="primary"
@click="submitForm"
v-if="radio ===0||step"
v-if="radio === 0 || step"
:disabled="!currentTenant || (radio === 1 && !SaveBol)"
>确认提交</el-button
>
<el-button type="primary" @click="submitForm" v-if="!step && radio === 1" :disabled="!currentTenant">下一步</el-button>
<el-button
type="primary"
@click="submitForm"
v-if="!step && radio === 1"
:disabled="!currentTenant"
>下一步</el-button
>
</template>
</vxe-modal>
</template>
......@@ -200,7 +222,7 @@
const allTreeRef = ref();
const statisis = ref({});
const currentAllBtn = ref();
const checked1 = ref(false)
const checked1 = ref(false);
const editRowIndex = ref(-1);
const pageParams = ref({});
const radio = ref(null);
......@@ -223,7 +245,8 @@
const getTree = () => {
getTenantPage({
current: 1,
size: 999999999, status: 'enable'
size: 999999999,
status: 'enable',
}).then((res) => {
if (res.success) {
data.value = res.result.content;
......@@ -236,18 +259,18 @@
const param = {
type: currentAllBtn.value,
tenantId: currentTenant.value,
}
};
if (tabledata.value && tabledata.value.length) {
param['cpeIds'] = tabledata.value.map(v => v.cpe.id)
param['cpeIds'] = tabledata.value.map((v) => v.cpe.id);
}
if (lonsArr.value && lonsArr.value.length) {
param['loanIds'] = lonsArr.value.map(v => v.id)
param['loanIds'] = lonsArr.value.map((v) => v.id);
} else {
param['borrowerName'] = pageParams.value.borrowerName
param['borrowerIdCard'] = pageParams.value.idCard
param['borrowerPhone'] = pageParams.value.borrowerPhone
param['commissionAmount'] = pageParams.value.commissionAmount
param['remainingAmount'] = pageParams.value.remainingAmount
param['borrowerName'] = pageParams.value.borrowerName;
param['borrowerIdCard'] = pageParams.value.idCard;
param['borrowerPhone'] = pageParams.value.borrowerPhone;
param['commissionAmount'] = pageParams.value.commissionAmount;
param['remainingAmount'] = pageParams.value.remainingAmount;
}
distributeCpe(param).then((res) => {
if (res.success) {
......@@ -257,32 +280,32 @@
};
const changeRadio = () => {
radio.value === 0 && getStatisis(pageParams.value);
step.value = 0
step.value = 0;
currentTenant.value = null;
};
const openModal = (param, select) => {
console.log('select', select)
lonsArr.value = select
console.log('select', select);
lonsArr.value = select;
showModal.value = true;
pageParams.value = param;
currentAllBtn.value = null;
getTree();
step.value = 0;
radio.value = 0
radio.value = 0;
SaveBol.value = false;
currentTenant.value = null;
editRowIndex.value = -1;
tabledata.value = []
alltabledata.value = []
checked1.value = false
tabledata.value = [];
alltabledata.value = [];
checked1.value = false;
};
const changeAll = () => {
if (checked1.value) {
allTreeRef.value.setCheckedNodes(alltabledata.value)
allTreeRef.value.setCheckedNodes(alltabledata.value);
} else {
allTreeRef.value.setCheckedKeys([])
}
allTreeRef.value.setCheckedKeys([]);
}
};
const backform = () => {
step.value = 0;
};
......@@ -317,7 +340,7 @@
};
const submitForm = () => {
if (radio.value === 1) {
if (step.value){
if (step.value) {
if (!SaveBol.value)
ElMessage.warning({
message: '要先保存',
......@@ -339,7 +362,6 @@
} else {
step.value = 1;
}
} else if (radio.value === 0) {
// chooseIdea('BORROWER');
distributeLoan(currentTenant.value, {
......@@ -362,13 +384,13 @@
}
};
const handleNodeClick = (data1) => {
if(typeof data1 === 'object') {
currentTenant.value = data1.id
let param = {}
if (typeof data1 === 'object') {
currentTenant.value = data1.id;
let param = {};
if (lonsArr.value && lonsArr.value.length) {
param['loanIds'] = lonsArr.value.map(v => v.id)
param['loanIds'] = lonsArr.value.map((v) => v.id);
} else {
param = {...pageParams.value}
param = { ...pageParams.value };
}
getStatisis(param, currentTenant.value);
tabledata.value = data1.users.map((v) => ({
......@@ -377,13 +399,13 @@
caseNum: null,
amount: null,
}));
alltabledata.value = data1.users
checked1.value = true
console.log('allTreeRef', data1.users)
console.log('allTreeRef.value', allTreeRef.value)
alltabledata.value = data1.users;
checked1.value = true;
console.log('allTreeRef', data1.users);
console.log('allTreeRef.value', allTreeRef.value);
nextTick(() => {
setTimeout(() => {
allTreeRef.value.setCheckedNodes(data1.users)
allTreeRef.value.setCheckedNodes(data1.users);
});
});
}
......@@ -394,7 +416,7 @@
};
const checkChange = (dara, ddd, aaa) => {
nextTick(() => {
const arr = allTreeRef.value.getCheckedNodes()
const arr = allTreeRef.value.getCheckedNodes();
tabledata.value = arr.map((v) => ({
cpe: v,
borrowerNum: null,
......@@ -402,7 +424,7 @@
amount: null,
}));
});
}
};
const changeNum = (type, row, index) => {
// editRowIndex.value = index;
console.log('changeNum', type, row, index);
......
......@@ -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,13 +135,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({
......@@ -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,
......
<template>
<vxe-modal resize
<vxe-modal
resize
v-model="showModal"
title="案件分派"
@hide="onHide"
......@@ -54,9 +55,7 @@
<template v-if="radio === 0 || (radio === 1 && !step)">
<div class="mainContent">
<div class="flex items-center my-3">
<span class="mr-2" v-if="radio === 0">
调解中心
</span>
<span class="mr-2" v-if="radio === 0"> 调解中心 </span>
<el-select
v-if="radio === 0"
v-model="currentTenant"
......@@ -76,40 +75,53 @@
<p class="bb">选择CPE</p>
<div class="flex">
<div class="tree-wrapper" style="border-right: none">
<el-tree :data="data" highlight-current :props="defaultProps" @node-click="handleNodeClick" />
<el-tree
:data="data"
highlight-current
:props="defaultProps"
@node-click="handleNodeClick"
/>
</div>
<div class="tree-wrapper">
<div class="flex items-center h-10 border-b">
<div class=" px-3 border-r mr-auto h-full flex items-center justify-center">
<el-checkbox v-model="checked1" label="" @change="changeAll"/>
<div class="px-3 border-r mr-auto h-full flex items-center justify-center">
<el-checkbox v-model="checked1" label="" @change="changeAll" />
</div>
<div class="flex-1 text-center">CPE</div></div>
<el-tree :data="alltabledata" highlight-current ref="allTreeRef" node-key="id" show-checkbox :props="{
<div class="flex-1 text-center">CPE</div></div
>
<el-tree
:data="alltabledata"
highlight-current
ref="allTreeRef"
node-key="id"
show-checkbox
:props="{
children: 'children',
label: 'username',
}" @check-change="checkChange"/>
}"
@check-change="checkChange"
/>
</div>
</div>
</div>
<div class="ml-3">
<p class="bb">已选CPE</p>
<div class="flex items-center h-10 border border-b-0">
<div class=" w-10 border-r mr-auto h-full flex items-center justify-center">
<div class="w-10 border-r mr-auto h-full flex items-center justify-center">
序号
</div>
<div class="flex-1 text-center">CPE</div>
</div>
<div class="tree-wrapper" style="height: calc(100% - 3.8rem);">
<div class="tree-wrapper" style="height: calc(100% - 3.8rem)">
<div v-for="(item, index) in tabledata" :key="index" class="flex">
<div class=" w-10 mr-auto h-full flex items-center justify-center">
{{index+1}}
<div class="w-10 mr-auto h-full flex items-center justify-center">
{{ index + 1 }}
</div>
<div class="flex-1 text-left pl-3">{{ item.cpe.username }}</div>
</div>
</div>
</div>
</div>
</div>
<!-- <el-transfer
......@@ -157,18 +169,28 @@
</div>
<template #footer>
<el-button @click="backform" v-if="step" style="float: left">上一步</el-button>
<el-button type="primary" @click="saveFrom" :disabled="!currentTenant" v-if="radio === 1 && step"
<el-button
type="primary"
@click="saveFrom"
:disabled="!currentTenant"
v-if="radio === 1 && step"
>保存</el-button
>
<el-button type="default" @click="showModal = false">取消</el-button>
<el-button
type="primary"
@click="submitForm"
v-if="radio ===0||step"
v-if="radio === 0 || step"
:disabled="!currentTenant || (radio === 1 && !SaveBol)"
>确认提交</el-button
>
<el-button type="primary" @click="submitForm" v-if="!step && radio === 1" :disabled="!currentTenant">下一步</el-button>
<el-button
type="primary"
@click="submitForm"
v-if="!step && radio === 1"
:disabled="!currentTenant"
>下一步</el-button
>
</template>
</vxe-modal>
</template>
......@@ -200,7 +222,7 @@
const allTreeRef = ref();
const statisis = ref({});
const currentAllBtn = ref();
const checked1 = ref(false)
const checked1 = ref(false);
const editRowIndex = ref(-1);
const pageParams = ref({});
const radio = ref(null);
......@@ -223,7 +245,8 @@
const getTree = () => {
getTenantPage({
current: 1,
size: 999999999, status: 'enable'
size: 999999999,
status: 'enable',
}).then((res) => {
if (res.success) {
data.value = res.result.content;
......@@ -236,18 +259,18 @@
const param = {
type: currentAllBtn.value,
tenantId: currentTenant.value,
}
};
if (tabledata.value && tabledata.value.length) {
param['cpeIds'] = tabledata.value.map(v => v.cpe.id)
param['cpeIds'] = tabledata.value.map((v) => v.cpe.id);
}
if (lonsArr.value && lonsArr.value.length) {
param['loanIds'] = lonsArr.value.map(v => v.id)
param['loanIds'] = lonsArr.value.map((v) => v.id);
} else {
param['borrowerName'] = pageParams.value.borrowerName
param['borrowerIdCard'] = pageParams.value.idCard
param['borrowerPhone'] = pageParams.value.borrowerPhone
param['commissionAmount'] = pageParams.value.commissionAmount
param['remainingAmount'] = pageParams.value.remainingAmount
param['borrowerName'] = pageParams.value.borrowerName;
param['borrowerIdCard'] = pageParams.value.idCard;
param['borrowerPhone'] = pageParams.value.borrowerPhone;
param['commissionAmount'] = pageParams.value.commissionAmount;
param['remainingAmount'] = pageParams.value.remainingAmount;
}
distributeCpe(param).then((res) => {
if (res.success) {
......@@ -257,32 +280,32 @@
};
const changeRadio = () => {
radio.value === 0 && getStatisis(pageParams.value);
step.value = 0
step.value = 0;
currentTenant.value = null;
};
const openModal = (param, select) => {
console.log('select', select)
lonsArr.value = select
console.log('select', select);
lonsArr.value = select;
showModal.value = true;
pageParams.value = param;
currentAllBtn.value = null;
getTree();
step.value = 0;
radio.value = 0
radio.value = 0;
SaveBol.value = false;
currentTenant.value = null;
editRowIndex.value = -1;
tabledata.value = []
alltabledata.value = []
checked1.value = false
tabledata.value = [];
alltabledata.value = [];
checked1.value = false;
};
const changeAll = () => {
if (checked1.value) {
allTreeRef.value.setCheckedNodes(alltabledata.value)
allTreeRef.value.setCheckedNodes(alltabledata.value);
} else {
allTreeRef.value.setCheckedKeys([])
}
allTreeRef.value.setCheckedKeys([]);
}
};
const backform = () => {
step.value = 0;
};
......@@ -317,7 +340,7 @@
};
const submitForm = () => {
if (radio.value === 1) {
if (step.value){
if (step.value) {
if (!SaveBol.value)
ElMessage.warning({
message: '要先保存',
......@@ -339,7 +362,6 @@
} else {
step.value = 1;
}
} else if (radio.value === 0) {
// chooseIdea('BORROWER');
distributeLoan(currentTenant.value, {
......@@ -362,13 +384,13 @@
}
};
const handleNodeClick = (data1) => {
if(typeof data1 === 'object') {
currentTenant.value = data1.id
let param = {}
if (typeof data1 === 'object') {
currentTenant.value = data1.id;
let param = {};
if (lonsArr.value && lonsArr.value.length) {
param['loanIds'] = lonsArr.value.map(v => v.id)
param['loanIds'] = lonsArr.value.map((v) => v.id);
} else {
param = {...pageParams.value}
param = { ...pageParams.value };
}
getStatisis(param, currentTenant.value);
tabledata.value = data1.users.map((v) => ({
......@@ -377,13 +399,13 @@
caseNum: null,
amount: null,
}));
alltabledata.value = data1.users
checked1.value = true
console.log('allTreeRef', data1.users)
console.log('allTreeRef.value', allTreeRef.value)
alltabledata.value = data1.users;
checked1.value = true;
console.log('allTreeRef', data1.users);
console.log('allTreeRef.value', allTreeRef.value);
nextTick(() => {
setTimeout(() => {
allTreeRef.value.setCheckedNodes(data1.users)
allTreeRef.value.setCheckedNodes(data1.users);
});
});
}
......@@ -394,7 +416,7 @@
};
const checkChange = (dara, ddd, aaa) => {
nextTick(() => {
const arr = allTreeRef.value.getCheckedNodes()
const arr = allTreeRef.value.getCheckedNodes();
tabledata.value = arr.map((v) => ({
cpe: v,
borrowerNum: null,
......@@ -402,7 +424,7 @@
amount: null,
}));
});
}
};
const changeNum = (type, row, index) => {
// editRowIndex.value = index;
console.log('changeNum', type, row, index);
......
......@@ -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"
......@@ -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;
};
......
......@@ -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,7 +50,7 @@
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;
......@@ -63,12 +63,11 @@
});
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 };
}
await stayLoan(param);
......@@ -78,7 +77,7 @@
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