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

资产分配

parent d1f4abc8
<template>
<div class="card content-box">
<div class="mb-5 w-full">
<template v-if="isEdit">
<el-button type="default" @click="showModal = false">取消</el-button>
<el-button :loading="loading" type="primary" @click="submitForm">保存</el-button>
</template>
<el-button type="primary" @click="isEdit = true">修改</el-button>
</div>
<div class="w-full">
<el-form ref="formRef" :model="form" :rules="rules" inline>
<el-row :gutter="20">
<el-col :xs="8" :sm="8" :md="8" :lg="8" :xl="6">
<el-form-item class="w-full" label="发卡银行" prop="roleName">
<el-input v-model="form.roleName" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :xs="8" :sm="8" :md="8" :lg="8" :xl="6">
<el-form-item class="w-full" label="开户时间" prop="roleCode">
<el-input v-model="form.roleCode" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :xs="8" :sm="8" :md="8" :lg="8" :xl="6">
<el-form-item class="w-full" label="卡号" prop="roleDesc">
<el-input v-model="form.roleDesc" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :xs="8" :sm="8" :md="8" :lg="8" :xl="6">
<el-form-item class="w-full" label="卡片状态" prop="status">
<el-radio-group v-model="form.status">
<el-radio value="enable">正常</el-radio>
<el-radio value="disable">逾期</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :xs="8" :sm="8" :md="8" :lg="8" :xl="6">
<el-form-item class="w-full" label="授信额度" prop="roleDesc">
<el-input v-model="form.roleDesc" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :xs="8" :sm="8" :md="8" :lg="8" :xl="6">
<el-form-item class="w-full" label="已用额度" prop="roleDesc">
<el-input v-model="form.roleDesc" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :xs="8" :sm="8" :md="8" :lg="8" :xl="6">
<el-form-item class="w-full" label="近6个月平均使用额度" prop="roleDesc">
<el-input v-model="form.roleDesc" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :xs="8" :sm="8" :md="8" :lg="8" :xl="6">
<el-form-item class="w-full" label="当前欠款金额" prop="roleDesc">
<el-input v-model="form.roleDesc" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :xs="8" :sm="8" :md="8" :lg="8" :xl="6">
<el-form-item class="w-full" label="逾期期数" prop="roleDesc">
<el-input v-model="form.roleDesc" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :xs="8" :sm="8" :md="8" :lg="8" :xl="6">
<el-form-item class="w-full" label="逾期后是否有过协商" prop="status">
<el-radio-group v-model="form.status">
<el-radio value="enable"></el-radio>
<el-radio value="disable"></el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :xs="8" :sm="8" :md="8" :lg="8" :xl="6">
<el-form-item class="w-full" label="有无分期" prop="status">
<el-radio-group v-model="form.status">
<el-radio value="enable"></el-radio>
<el-radio value="disable"></el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :xs="8" :sm="8" :md="8" :lg="8" :xl="6">
<el-form-item class="w-full" label="有无协商方案" prop="status">
<el-radio-group v-model="form.status">
<el-radio value="enable"></el-radio>
<el-radio value="disable"></el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :xs="8" :sm="8" :md="8" :lg="8" :xl="6">
<el-form-item class="w-full" label="查询密码" prop="roleDesc">
<el-input v-model="form.roleDesc" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :xs="8" :sm="8" :md="8" :lg="8" :xl="6">
<el-form-item class="w-full" label="最后一次还款时间:" prop="name">
<el-date-picker
v-model="form.trackTime"
class="w-full"
format="YYYY-MM-DD HH:mm:ss"
value-format="YYYY-MM-DD HH:mm:ss"
type="datetime"
/>
</el-form-item>
</el-col>
<el-col :xs="8" :sm="8" :md="8" :lg="8" :xl="6">
<el-form-item class="w-full" label="支付密码" prop="roleDesc">
<el-input v-model="form.roleDesc" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :xs="8" :sm="8" :md="8" :lg="8" :xl="6">
<el-form-item class="w-full" label="最后一次还款金额" prop="roleDesc">
<el-input v-model="form.roleDesc" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :xs="8" :sm="8" :md="8" :lg="8" :xl="6">
<el-form-item class="w-full" label="是否有大额专项分期额度" prop="status">
<el-radio-group v-model="form.status">
<el-radio value="enable"></el-radio>
<el-radio value="disable"></el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :xs="8" :sm="8" :md="8" :lg="8" :xl="6">
<el-form-item class="w-full" label="大额专项分期借款种类:" prop="status">
<el-select v-model="form.status">
<el-option label="启用" value="enable" />
<el-option label="禁用" value="disable" />
</el-select>
</el-form-item>
</el-col>
<el-col :xs="8" :sm="8" :md="8" :lg="8" :xl="6">
<el-form-item class="w-full" label="大额专项分期额度" prop="roleDesc">
<el-input v-model="form.roleDesc" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :xs="8" :sm="8" :md="8" :lg="8" :xl="6">
<el-form-item class="w-full" label="大额专项分期开立日期:" prop="name">
<el-date-picker
v-model="form.trackTime"
class="w-full"
format="YYYY-MM-DD"
value-format="YYYY-MM-DD"
type="date"
/>
</el-form-item>
</el-col>
<el-col :xs="8" :sm="8" :md="8" :lg="8" :xl="6">
<el-form-item class="w-full" label="大额专项分期到期日期:" prop="name">
<el-date-picker
v-model="form.trackTime"
class="w-full"
format="YYYY-MM-DD"
value-format="YYYY-MM-DD"
type="datetime"
/>
</el-form-item>
</el-col>
<el-col :xs="8" :sm="8" :md="8" :lg="8" :xl="6">
<el-form-item class="w-full" label="大额专项分期已还期数" prop="roleDesc">
<el-input v-model="form.roleDesc" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :xs="8" :sm="8" :md="8" :lg="8" :xl="6">
<el-form-item class="w-full" label="银行预留手机号码" prop="roleDesc">
<el-input v-model="form.roleDesc" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :xs="8" :sm="8" :md="8" :lg="8" :xl="6">
<el-form-item class="w-full" label="银行预留家庭地址" prop="roleDesc">
<el-input v-model="form.roleDesc" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :xs="8" :sm="8" :md="8" :lg="8" :xl="6">
<el-form-item class="w-full" label="银行预留紧急联系人姓名" prop="roleDesc">
<el-input v-model="form.roleDesc" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :xs="8" :sm="8" :md="8" :lg="8" :xl="6">
<el-form-item class="w-full" label="银行预留紧急联系人电话" prop="roleDesc">
<el-input v-model="form.roleDesc" placeholder="请输入" />
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
</div>
</template>
<script setup name="credit">
import { ref, computed } from 'vue';
import { ElMessage } from 'element-plus';
const isEdit = ref(false);
const currentRole = ref(null);
const formRef = ref(null);
const form = ref({
roleName: '',
roleCode: '',
roleDesc: '',
});
const rules = ref({
roleName: { required: true, message: '请输入角色名称', trigger: 'blur' },
roleCode: { required: true, message: '请输入角色编码', trigger: 'blur' },
});
const loading = ref(false);
const submitForm = async () => {
try {
await formRef.value.validate();
loading.value = true;
// await saveRole(form.value);
ElMessage({
type: 'success',
message: isEdit.value ? '修改成功!' : '新建成功!',
plain: true,
});
} catch {}
loading.value = false;
};
</script>
<template>
<div class="card content-box">
<span class="text"> 客户信息统计表(待完善) 🍓🍇🍈🍉</span>
</div>
</template>
<script setup name="dictManage"></script>
<template>
<div class="table-box">
<ProTable ref="proTable" :config="config" :api="getPlatformPage" :paramCallback="paramCallback">
<template #left_buttons>
<!-- <el-button type="primary" :disabled="!selectdList || selectdList.length < 1" @click="pushCreditcard">新建信用卡</el-button> -->
<el-button type="primary" @click="pushCredit">新建信用卡</el-button>
<el-button
type="primary"
:disabled="!selectdList || selectdList.length < 1"
@click="pushCreditcard"
>新建网贷&信用贷</el-button
>
<el-button type="primary">发起风控审核</el-button>
</template>
</ProTable>
</div>
</template>
<script setup lang="jsx" name="platformManage">
import { ref, reactive, onMounted } from 'vue';
import { Plus, Delete, Edit, Setting } from '@element-plus/icons-vue';
import { getPlatformPage, deletePlatforms } from '@/api/platform';
import { ElMessageBox, ElMessage, ElButton, ElTag } from 'element-plus';
import { useRouter } from 'vue-router';
const proTable = ref(null);
const selectdList = ref([]);
const onCheckboxChange = (row) => {
selectdList.value = row.records;
};
const router = useRouter();
const paramCallback = (param) => {
const obj = JSON.parse(JSON.stringify(param));
if (obj['createTime']) {
if (obj['createTime'][0]) obj['createTimeBegin'] = obj['createTime'][0];
if (obj['createTime'][1]) obj['createTimeEnd'] = obj['createTime'][1];
delete obj['createTime'];
}
return obj;
};
const pushCreditcard = () => {
router.push({
path: '/infoGather/customerGather/Creditcard',
query: { id: 44 }, //这里不能直接写成 query: JSON.stringify(item)
});
};
const pushCredit = () => {
router.push({
path: '/infoGather/customerGather/Credit',
query: { id: 44 }, //这里不能直接写成 query: JSON.stringify(item)
});
};
const config = reactive({
onCheckboxChange: onCheckboxChange,
columns: [
{ type: 'checkbox', width: 50 },
{ field: 'id', title: '客户ID' },
{
field: 'createTime',
title: '创建日期',
search: {
el: 'date-picker',
props: { type: 'daterange', valueFormat: 'YYYY-MM-DD' },
span: 1.5,
},
},
{
field: 'createBy',
title: '创建人',
search: { el: 'input', span: 1, props: { clearable: true } },
},
{ field: 'name', title: '客户名称', search: { el: 'input' } },
{ field: 'name', title: '身份证号', search: { el: 'input' } },
{ field: 'name', title: '手机', search: { el: 'input' } },
{ field: 'name', title: '电子邮箱', search: { el: 'input' } },
{ field: 'maxStagesNum', title: '预留工作单位', search: { el: 'input' } },
{ field: 'maxStagesNum', title: '预留家庭地址', search: { el: 'input' } },
{ field: 'remark', title: '备注', search: { el: 'input' } },
],
});
const query = () => proTable.value?.search();
onMounted(() => {
query();
});
</script>
<template>
<div class="card content-box">
<span class="text"> 客户信息统计表(待完善) 🍓🍇🍈🍉</span>
</div>
</template>
<script setup name="dictManage"></script>
<template>
<div class="card content-box">
<span class="text"> 风控审核报告(待完善) 🍓🍇🍈🍉</span>
</div>
</template>
<script setup name="dictManage"></script>
...@@ -9,7 +9,28 @@ ...@@ -9,7 +9,28 @@
esc-closable esc-closable
> >
<div class="allocation-wrap"> <div class="allocation-wrap">
<div class="top"> <div class="Content">
<div style="margin-top: 10px; margin-bottom: 10px">
<el-radio-group v-model="radio" @change="changeRadio">
<el-radio :value="0">分配到调解中心</el-radio>
<el-radio :value="1">分配到CPE</el-radio>
</el-radio-group>
</div>
<template v-if="radio === 0 || radio === 1">
<div class="mainContent">
<div class="tree-wrapper">
<el-tree :data="data" :props="defaultProps" @node-click="handleNodeClick" />
</div>
<!-- <el-transfer
v-model="value1"
:data="data1"
:titles="['CPE', '已选CPE']"
ref="mytransfer"
@left-check-change="leftChange"
/> -->
</div>
</template>
<div class="top" v-if="radio === 0 || (radio === 1 && currentTenant.id)">
<div class="number-box"> <div class="number-box">
<div class="number-left"> <div class="number-left">
<div class="icon-wrapper"> <div class="icon-wrapper">
...@@ -44,29 +65,8 @@ ...@@ -44,29 +65,8 @@
</div> </div>
</div> </div>
</div> </div>
<div class="Content"> <template v-if="radio === 1 && currentTenant.id">
<template v-if="!step"> <p class="my-2">分配方案</p>
<div style="margin-top: 10px; margin-bottom: 10px">
<el-radio-group v-model="radio" @change="changeRadio">
<el-radio :value="0">分配到调解中心</el-radio>
<el-radio :value="1">分配到CPE</el-radio>
</el-radio-group>
</div>
<div class="mainContent">
<div class="tree-wrapper">
<el-tree :data="data" :props="defaultProps" @node-click="handleNodeClick" />
</div>
<!-- <el-transfer
v-model="value1"
:data="data1"
:titles="['CPE', '已选CPE']"
ref="mytransfer"
@left-check-change="leftChange"
/> -->
</div>
</template>
<template v-else>
<p>分配方案</p>
<div class="idea-box"> <div class="idea-box">
<div class="left-idea"> <div class="left-idea">
<div class="idea-btn"> <div class="idea-btn">
...@@ -99,10 +99,10 @@ ...@@ -99,10 +99,10 @@
</div> </div>
</div> </div>
<template #footer> <template #footer>
<el-button @click="backform" v-if="step" style="float: left">上一步</el-button>
<el-button type="default" @click="showModal = false">取消</el-button> <el-button type="default" @click="showModal = false">取消</el-button>
<el-button type="primary" @click="submitForm" v-if="step || radio === 0">确认提交</el-button> <el-button type="primary" @click="submitForm" :disabled="!currentTenant.id"
<el-button type="primary" @click="submitForm" v-else>下一步</el-button> >确认提交</el-button
>
</template> </template>
</vxe-modal> </vxe-modal>
</template> </template>
...@@ -130,17 +130,21 @@ ...@@ -130,17 +130,21 @@
const currentInfo = ref({}); const currentInfo = ref({});
const currentTenant = ref({}); const currentTenant = ref({});
const statisis = ref({}); const statisis = ref({});
const currentAllBtn = ref('BORROWER'); const currentAllBtn = ref();
const editRowIndex = ref(-1); const editRowIndex = ref(-1);
const pageParams = ref({});
const radio = ref(0); const radio = ref(null);
const step = ref(0); const step = ref(0);
const onHide = () => { const onHide = () => {
currentInfo.value = {}; currentInfo.value = {};
}; };
const getStatisis = (params) => { const getStatisis = (params, id) => {
getLoanDistribute(params).then((res) => { const p = JSON.parse(JSON.stringify(params));
if (id) {
p['tenentId'] = id;
}
getLoanDistribute(p).then((res) => {
if (res.success) { if (res.success) {
statisis.value = res.result; statisis.value = res.result;
} }
...@@ -186,16 +190,17 @@ ...@@ -186,16 +190,17 @@
}); });
}; };
const changeRadio = () => { const changeRadio = () => {
// radio.value === 1 && chooseIdea('BORROWER') radio.value === 0 && getStatisis(pageParams.value);
currentTenant.value = {};
}; };
const openModal = (info, param) => { const openModal = (info, param) => {
showModal.value = true; showModal.value = true;
currentInfo.value = info; currentInfo.value = info;
console.log('currentInfo.value', currentInfo.value); console.log('currentInfo.value', currentInfo.value);
getStatisis(param); pageParams.value = param;
getTree(); getTree();
step.value = 0; step.value = 0;
radio.value = 0; currentTenant.value = {};
editRowIndex.value = -1; editRowIndex.value = -1;
}; };
const backform = () => { const backform = () => {
...@@ -222,7 +227,16 @@ ...@@ -222,7 +227,16 @@
changeDistributeCpe({ changeDistributeCpe({
records: tabledata.value, records: tabledata.value,
distributeType: currentAllBtn.value, distributeType: currentAllBtn.value,
}).then((res) => {}); }).then((res) => {
if (res.success) {
ElMessage.success({
message: '分配成功',
plain: true,
});
showModal.value = false;
emits('success');
}
});
} else { } else {
distributeLoan(currentTenant.value.id, { distributeLoan(currentTenant.value.id, {
caseId: currentInfo.value.caseId, caseId: currentInfo.value.caseId,
...@@ -255,13 +269,23 @@ ...@@ -255,13 +269,23 @@
}); });
} }
} else { } else {
chooseIdea('BORROWER'); // chooseIdea('BORROWER');
step.value = 1; step.value = 1;
} }
}; };
const handleNodeClick = (data) => { const handleNodeClick = (data) => {
console.log('data11111', data); console.log('data11111', data);
currentTenant.value = data; currentTenant.value = data;
if (radio.value === 0) {
} else {
getStatisis(pageParams.value, data.id);
tabledata.value = data.users.map((v) => ({
cpe: v,
borrowerNum: null,
caseNum: null,
amount: null,
}));
}
}; };
const resetAllocation = () => { const resetAllocation = () => {
...@@ -398,7 +422,8 @@ ...@@ -398,7 +422,8 @@
border: 1px solid #f1f1f1; border: 1px solid #f1f1f1;
height: 50px; height: 50px;
display: flex; display: flex;
margin-left: 10px; margin-right: 10px;
margin-top: 10px;
} }
.icon-wrapper { .icon-wrapper {
width: 40px; width: 40px;
......
...@@ -4,16 +4,16 @@ ...@@ -4,16 +4,16 @@
<ProTable :config="config" ref="caseLRef" :api="getLoanpage" :paramCallback="paramCallback"> <ProTable :config="config" ref="caseLRef" :api="getLoanpage" :paramCallback="paramCallback">
<template #table_top> <template #table_top>
<div class="flex"> <div class="flex">
<div class="mr-2" <div class="mr-4"
>未分配案件数:<span class="text-blue-500 mr-1">{{ statisis.caseNum }}</span >未分配案件数:<span class="text-blue-500">{{ statisis.caseNum }}</span
></div ></div
> >
<div class="mr-2" <div class="mr-4"
>未分配CPE数:<span class="text-blue-500 mr-1">{{ statisis.cpeNum }}</span >未分配CPE数:<span class="text-blue-500">{{ statisis.cpeNum }}</span
></div ></div
> >
<div class="mr-2" <div class="mr-4"
>未分配总金额数:<span class="text-blue-500 mr-1">{{ statisis.amount }}</span >未分配总金额数:<span class="text-blue-500">{{ statisis.amount }}</span
></div ></div
> >
</div> </div>
...@@ -89,6 +89,16 @@ ...@@ -89,6 +89,16 @@
obj['district'] = obj.arealist.length > 2 ? obj.arealist[2] : null; obj['district'] = obj.arealist.length > 2 ? obj.arealist[2] : null;
delete obj['arealist']; delete obj['arealist'];
} }
if (obj['cpeDate']) {
if (obj['cpeDate'][0]) obj['cpeDateBegin'] = obj['cpeDate'][0];
if (obj['cpeDate'][1]) obj['cpeDateEnd'] = obj['cpeDate'][1];
delete obj['cpeDate'];
}
if (obj['tenantTime']) {
if (obj['tenantTime'][0]) obj['tenantTimeBegin'] = obj['tenantTime'][0];
if (obj['tenantTime'][1]) obj['tenantTimeEnd'] = obj['tenantTime'][1];
delete obj['tenantTime'];
}
curParam.value = obj; curParam.value = obj;
getStatisis(obj); getStatisis(obj);
return obj; return obj;
...@@ -101,12 +111,13 @@ ...@@ -101,12 +111,13 @@
console.log('citydatacitydata', citydata); console.log('citydatacitydata', citydata);
const config = reactive({ const config = reactive({
columns: [ columns: [
{ type: 'checkbox', title: '', width: '40px' }, { type: 'checkbox', title: '', width: 40 },
{ field: 'caseId', title: '案件ID/案件号', search: { el: 'input' } }, { field: 'caseId', title: '案件ID', search: { el: 'input' }, width: 80 },
{ {
field: 'arealist', field: 'arealist',
enum: citydata, enum: citydata,
title: '所属区域', title: '所属区域',
width: 80,
fieldNames: { label: 'label', value: 'value' }, fieldNames: { label: 'label', value: 'value' },
search: { el: 'cascader', props: { clearable: true } }, search: { el: 'cascader', props: { clearable: true } },
slots: { slots: {
...@@ -124,11 +135,13 @@ ...@@ -124,11 +135,13 @@
{ {
field: 'payOrg', field: 'payOrg',
title: '借款机构', title: '借款机构',
width: 80,
search: { el: 'input', props: { clearable: true } }, search: { el: 'input', props: { clearable: true } },
}, },
{ {
field: 'distributeStatus', field: 'distributeStatus',
title: '分配状态', title: '分配状态',
width: 80,
enum: distributeStatusOpt, enum: distributeStatusOpt,
search: { el: 'select', props: { filterable: true }, span: 1 }, search: { el: 'select', props: { filterable: true }, span: 1 },
fieldNames: { label: 'label', value: 'value' }, fieldNames: { label: 'label', value: 'value' },
...@@ -147,65 +160,78 @@ ...@@ -147,65 +160,78 @@
{ {
field: 'tenant.name', field: 'tenant.name',
title: '调解中心', title: '调解中心',
width: 80,
search: { el: 'input', props: { clearable: true } }, search: { el: 'input', props: { clearable: true } },
}, },
{ {
field: 'manageOrg.orgName', field: 'manageOrg.orgName',
title: '资管公司', title: '资管公司',
width: 80,
search: { el: 'input', props: { clearable: true } }, search: { el: 'input', props: { clearable: true } },
}, },
{ {
field: 'cpe.name', field: 'cpe.name',
title: 'CPE', title: 'CPE',
width: 60,
search: { el: 'input', props: { clearable: true }, key: 'cpeName' }, search: { el: 'input', props: { clearable: true }, key: 'cpeName' },
}, },
{ {
field: 'tenantTime', field: 'tenantTime',
title: '分配中心日期', title: '分配中心日期',
width: 100,
search: { el: 'date-picker', props: { type: 'date', valueFormat: 'YYYY-MM-DD' } }, search: { el: 'date-picker', props: { type: 'date', valueFormat: 'YYYY-MM-DD' } },
}, },
{ {
field: 'commissionAmount', field: 'commissionAmount',
title: '债权总额', title: '债权总额',
width: 80,
search: { el: 'input', props: { clearable: true } }, search: { el: 'input', props: { clearable: true } },
}, },
{ {
field: 'cpeDate', field: 'cpeDate',
title: '分配CPE日期', title: '分配CPE日期',
width: 100,
search: { el: 'date-picker', props: { type: 'date', valueFormat: 'YYYY-MM-DD' } }, search: { el: 'date-picker', props: { type: 'date', valueFormat: 'YYYY-MM-DD' } },
}, },
{ {
field: 'borrower.name', field: 'borrower.name',
title: '借款人姓名', title: '借款人姓名',
width: 100,
search: { el: 'input', key: 'borrowerName', props: { clearable: true } }, search: { el: 'input', key: 'borrowerName', props: { clearable: true } },
}, },
{ {
field: 'sumRepayAmount', field: 'sumRepayAmount',
title: '已还总额', title: '已还总额',
width: 80,
search: { el: 'input', props: { clearable: true } }, search: { el: 'input', props: { clearable: true } },
}, },
{ {
field: 'borrower.idCard', field: 'borrower.idCard',
title: '身份证', title: '身份证',
width: 120,
search: { el: 'input', props: { clearable: true }, key: 'idCard' }, search: { el: 'input', props: { clearable: true }, key: 'idCard' },
}, },
{ {
field: 'borrower.phone', field: 'borrower.phone',
key: 'borrowerPhone', key: 'borrowerPhone',
title: '手机', title: '手机',
width: 100,
search: { el: 'input', props: { clearable: true } }, search: { el: 'input', props: { clearable: true } },
}, },
{ {
field: 'principalBalance', field: 'principalBalance',
title: '剩余本金', title: '剩余本金',
width: 80,
}, },
{ {
field: 'remaininginterest', field: 'remaininginterest',
title: '剩余利息', title: '剩余利息',
width: 80,
}, },
{ {
field: 'commission', field: 'commission',
title: '违约金', title: '违约金',
width: 80,
}, },
], ],
onCheckboxChange: onCheckboxChange, onCheckboxChange: onCheckboxChange,
......
...@@ -55,8 +55,8 @@ export default defineConfig(({ command, mode }) => { ...@@ -55,8 +55,8 @@ export default defineConfig(({ command, mode }) => {
port: VITE_PORT, port: VITE_PORT,
proxy: { proxy: {
'/api': { '/api': {
target: 'http://192.168.31.128:8080', // target: 'http://192.168.31.128:8080',
// target: 'http://8.152.205.9:8080', target: 'http://8.152.205.9:8080',
changeOrigin: true, changeOrigin: true,
rewrite: (path) => path.replace(/^\/api/, ''), rewrite: (path) => path.replace(/^\/api/, ''),
}, },
......
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