Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
Toggle navigation
Y
yishuju-ui
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
何远江
yishuju-ui
Commits
d93d2ff5
Commit
d93d2ff5
authored
Jan 08, 2025
by
沈翠玲
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
资产分配
parent
d1f4abc8
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
443 additions
and
68 deletions
+443
-68
Credit.vue
src/views/infoGather/customerGather/components/Credit.vue
+215
-0
Creditcard.vue
...views/infoGather/customerGather/components/Creditcard.vue
+7
-0
index.vue
src/views/infoGather/customerGather/index.vue
+88
-0
index.vue
src/views/infoGather/customerStatisis/index.vue
+7
-0
index.vue
src/views/infoGather/dangerReport/index.vue
+7
-0
allocationModal.vue
...s/property/case-allocation/components/allocationModal.vue
+83
-58
index.vue
src/views/property/case-allocation/index.vue
+34
-8
vite.config.js
vite.config.js
+2
-2
No files found.
src/views/infoGather/customerGather/components/Credit.vue
0 → 100644
View file @
d93d2ff5
<
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
>
src/views/infoGather/customerGather/components/Creditcard.vue
0 → 100644
View file @
d93d2ff5
<
template
>
<div
class=
"card content-box"
>
<span
class=
"text"
>
客户信息统计表(待完善) 🍓🍇🍈🍉
</span>
</div>
</
template
>
<
script
setup
name=
"dictManage"
></
script
>
src/views/infoGather/customerGather/index.vue
0 → 100644
View file @
d93d2ff5
<
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
>
src/views/infoGather/customerStatisis/index.vue
0 → 100644
View file @
d93d2ff5
<
template
>
<div
class=
"card content-box"
>
<span
class=
"text"
>
客户信息统计表(待完善) 🍓🍇🍈🍉
</span>
</div>
</
template
>
<
script
setup
name=
"dictManage"
></
script
>
src/views/infoGather/dangerReport/index.vue
0 → 100644
View file @
d93d2ff5
<
template
>
<div
class=
"card content-box"
>
<span
class=
"text"
>
风控审核报告(待完善) 🍓🍇🍈🍉
</span>
</div>
</
template
>
<
script
setup
name=
"dictManage"
></
script
>
src/views/property/case-allocation/components/allocationModal.vue
View file @
d93d2ff5
...
...
@@ -9,49 +9,14 @@
esc-closable
>
<div
class=
"allocation-wrap"
>
<div
class=
"top"
>
<div
class=
"number-box"
>
<div
class=
"number-left"
>
<div
class=
"icon-wrapper"
>
<el-icon><UserFilled
size=
"850"
/></el-icon>
</div>
</div>
<div
class=
"number-right"
>
<p>
待分配客户数量
</p>
<p>
{{
statisis
.
unCustomerNum
}}
</p>
</div>
</div>
<div
class=
"number-box"
>
<div
class=
"number-left"
>
<div
class=
"icon-wrapper"
>
<el-icon><List
/></el-icon>
</div>
</div>
<div
class=
"number-right"
>
<p>
待分配案件数量
</p>
<p>
{{
statisis
.
unCaseNum
}}
</p>
</div>
</div>
<div
class=
"number-box"
>
<div
class=
"number-left"
>
<div
class=
"icon-wrapper"
>
<el-icon><UserFilled
size=
"850"
/></el-icon>
</div>
</div>
<div
class=
"number-right"
>
<p>
待分配金额
</p>
<p>
{{
statisis
.
unAmount
}}
</p>
</div>
</div>
</div>
<div
class=
"Content"
>
<
template
v-if=
"!step
"
>
<
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
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"
/>
...
...
@@ -65,8 +30,43 @@
/>
-->
</div>
</
template
>
<
template
v-else
>
<p>
分配方案
</p>
<div
class=
"top"
v-if=
"radio === 0 || (radio === 1 && currentTenant.id)"
>
<div
class=
"number-box"
>
<div
class=
"number-left"
>
<div
class=
"icon-wrapper"
>
<el-icon><UserFilled
size=
"850"
/></el-icon>
</div>
</div>
<div
class=
"number-right"
>
<p>
待分配客户数量
</p>
<p>
{{ statisis.unCustomerNum }}
</p>
</div>
</div>
<div
class=
"number-box"
>
<div
class=
"number-left"
>
<div
class=
"icon-wrapper"
>
<el-icon><List
/></el-icon>
</div>
</div>
<div
class=
"number-right"
>
<p>
待分配案件数量
</p>
<p>
{{ statisis.unCaseNum }}
</p>
</div>
</div>
<div
class=
"number-box"
>
<div
class=
"number-left"
>
<div
class=
"icon-wrapper"
>
<el-icon><UserFilled
size=
"850"
/></el-icon>
</div>
</div>
<div
class=
"number-right"
>
<p>
待分配金额
</p>
<p>
{{ statisis.unAmount }}
</p>
</div>
</div>
</div>
<
template
v-if=
"radio === 1 && currentTenant.id"
>
<p
class=
"my-2"
>
分配方案
</p>
<div
class=
"idea-box"
>
<div
class=
"left-idea"
>
<div
class=
"idea-btn"
>
...
...
@@ -99,10 +99,10 @@
</div>
</div>
<
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=
"primary"
@
click=
"submitForm"
v-if=
"step || radio === 0"
>
确认提交
</el-button>
<el-button
type=
"primary"
@
click=
"submitForm"
v-else
>
下一步
</el-button>
<el-button
type=
"primary"
@
click=
"submitForm"
:disabled=
"!currentTenant.id"
>
确认提交
</el-button
>
</
template
>
</vxe-modal>
</template>
...
...
@@ -130,17 +130,21 @@
const
currentInfo
=
ref
({});
const
currentTenant
=
ref
({});
const
statisis
=
ref
({});
const
currentAllBtn
=
ref
(
'BORROWER'
);
const
currentAllBtn
=
ref
();
const
editRowIndex
=
ref
(
-
1
);
const
radio
=
ref
(
0
);
const
pageParams
=
ref
({});
const
radio
=
ref
(
null
);
const
step
=
ref
(
0
);
const
onHide
=
()
=>
{
currentInfo
.
value
=
{};
};
const
getStatisis
=
(
params
)
=>
{
getLoanDistribute
(
params
).
then
((
res
)
=>
{
const
getStatisis
=
(
params
,
id
)
=>
{
const
p
=
JSON
.
parse
(
JSON
.
stringify
(
params
));
if
(
id
)
{
p
[
'tenentId'
]
=
id
;
}
getLoanDistribute
(
p
).
then
((
res
)
=>
{
if
(
res
.
success
)
{
statisis
.
value
=
res
.
result
;
}
...
...
@@ -186,16 +190,17 @@
});
};
const
changeRadio
=
()
=>
{
// radio.value === 1 && chooseIdea('BORROWER')
radio
.
value
===
0
&&
getStatisis
(
pageParams
.
value
);
currentTenant
.
value
=
{};
};
const
openModal
=
(
info
,
param
)
=>
{
showModal
.
value
=
true
;
currentInfo
.
value
=
info
;
console
.
log
(
'currentInfo.value'
,
currentInfo
.
value
);
getStatisis
(
param
)
;
pageParams
.
value
=
param
;
getTree
();
step
.
value
=
0
;
radio
.
value
=
0
;
currentTenant
.
value
=
{}
;
editRowIndex
.
value
=
-
1
;
};
const
backform
=
()
=>
{
...
...
@@ -222,7 +227,16 @@
changeDistributeCpe
({
records
:
tabledata
.
value
,
distributeType
:
currentAllBtn
.
value
,
}).
then
((
res
)
=>
{});
}).
then
((
res
)
=>
{
if
(
res
.
success
)
{
ElMessage
.
success
({
message
:
'分配成功'
,
plain
:
true
,
});
showModal
.
value
=
false
;
emits
(
'success'
);
}
});
}
else
{
distributeLoan
(
currentTenant
.
value
.
id
,
{
caseId
:
currentInfo
.
value
.
caseId
,
...
...
@@ -255,13 +269,23 @@
});
}
}
else
{
chooseIdea
(
'BORROWER'
);
//
chooseIdea('BORROWER');
step
.
value
=
1
;
}
};
const
handleNodeClick
=
(
data
)
=>
{
console
.
log
(
'data11111'
,
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
=
()
=>
{
...
...
@@ -398,7 +422,8 @@
border
:
1px
solid
#f1f1f1
;
height
:
50px
;
display
:
flex
;
margin-left
:
10px
;
margin-right
:
10px
;
margin-top
:
10px
;
}
.icon-wrapper
{
width
:
40px
;
...
...
src/views/property/case-allocation/index.vue
View file @
d93d2ff5
...
...
@@ -4,16 +4,16 @@
<ProTable
:config=
"config"
ref=
"caseLRef"
:api=
"getLoanpage"
:paramCallback=
"paramCallback"
>
<template
#
table_top
>
<div
class=
"flex"
>
<div
class=
"mr-
2
"
>
未分配案件数:
<span
class=
"text-blue-500
mr-1
"
>
{{
statisis
.
caseNum
}}
</span
<div
class=
"mr-
4
"
>
未分配案件数:
<span
class=
"text-blue-500"
>
{{
statisis
.
caseNum
}}
</span
>
件
</div
>
<div
class=
"mr-
2
"
>
未分配CPE数:
<span
class=
"text-blue-500
mr-1
"
>
{{
statisis
.
cpeNum
}}
</span
<div
class=
"mr-
4
"
>
未分配CPE数:
<span
class=
"text-blue-500"
>
{{
statisis
.
cpeNum
}}
</span
>
件
</div
>
<div
class=
"mr-
2
"
>
未分配总金额数:
<span
class=
"text-blue-500
mr-1
"
>
{{
statisis
.
amount
}}
</span
<div
class=
"mr-
4
"
>
未分配总金额数:
<span
class=
"text-blue-500"
>
{{
statisis
.
amount
}}
</span
>
元
</div
>
</div>
...
...
@@ -89,6 +89,16 @@
obj
[
'district'
]
=
obj
.
arealist
.
length
>
2
?
obj
.
arealist
[
2
]
:
null
;
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
;
getStatisis
(
obj
);
return
obj
;
...
...
@@ -101,12 +111,13 @@
console
.
log
(
'citydatacitydata'
,
citydata
);
const
config
=
reactive
({
columns
:
[
{
type
:
'checkbox'
,
title
:
''
,
width
:
'40px'
},
{
field
:
'caseId'
,
title
:
'案件ID
/案件号'
,
search
:
{
el
:
'input'
}
},
{
type
:
'checkbox'
,
title
:
''
,
width
:
40
},
{
field
:
'caseId'
,
title
:
'案件ID
'
,
search
:
{
el
:
'input'
},
width
:
80
},
{
field
:
'arealist'
,
enum
:
citydata
,
title
:
'所属区域'
,
width
:
80
,
fieldNames
:
{
label
:
'label'
,
value
:
'value'
},
search
:
{
el
:
'cascader'
,
props
:
{
clearable
:
true
}
},
slots
:
{
...
...
@@ -124,11 +135,13 @@
{
field
:
'payOrg'
,
title
:
'借款机构'
,
width
:
80
,
search
:
{
el
:
'input'
,
props
:
{
clearable
:
true
}
},
},
{
field
:
'distributeStatus'
,
title
:
'分配状态'
,
width
:
80
,
enum
:
distributeStatusOpt
,
search
:
{
el
:
'select'
,
props
:
{
filterable
:
true
},
span
:
1
},
fieldNames
:
{
label
:
'label'
,
value
:
'value'
},
...
...
@@ -147,65 +160,78 @@
{
field
:
'tenant.name'
,
title
:
'调解中心'
,
width
:
80
,
search
:
{
el
:
'input'
,
props
:
{
clearable
:
true
}
},
},
{
field
:
'manageOrg.orgName'
,
title
:
'资管公司'
,
width
:
80
,
search
:
{
el
:
'input'
,
props
:
{
clearable
:
true
}
},
},
{
field
:
'cpe.name'
,
title
:
'CPE'
,
width
:
60
,
search
:
{
el
:
'input'
,
props
:
{
clearable
:
true
},
key
:
'cpeName'
},
},
{
field
:
'tenantTime'
,
title
:
'分配中心日期'
,
width
:
100
,
search
:
{
el
:
'date-picker'
,
props
:
{
type
:
'date'
,
valueFormat
:
'YYYY-MM-DD'
}
},
},
{
field
:
'commissionAmount'
,
title
:
'债权总额'
,
width
:
80
,
search
:
{
el
:
'input'
,
props
:
{
clearable
:
true
}
},
},
{
field
:
'cpeDate'
,
title
:
'分配CPE日期'
,
width
:
100
,
search
:
{
el
:
'date-picker'
,
props
:
{
type
:
'date'
,
valueFormat
:
'YYYY-MM-DD'
}
},
},
{
field
:
'borrower.name'
,
title
:
'借款人姓名'
,
width
:
100
,
search
:
{
el
:
'input'
,
key
:
'borrowerName'
,
props
:
{
clearable
:
true
}
},
},
{
field
:
'sumRepayAmount'
,
title
:
'已还总额'
,
width
:
80
,
search
:
{
el
:
'input'
,
props
:
{
clearable
:
true
}
},
},
{
field
:
'borrower.idCard'
,
title
:
'身份证'
,
width
:
120
,
search
:
{
el
:
'input'
,
props
:
{
clearable
:
true
},
key
:
'idCard'
},
},
{
field
:
'borrower.phone'
,
key
:
'borrowerPhone'
,
title
:
'手机'
,
width
:
100
,
search
:
{
el
:
'input'
,
props
:
{
clearable
:
true
}
},
},
{
field
:
'principalBalance'
,
title
:
'剩余本金'
,
width
:
80
,
},
{
field
:
'remaininginterest'
,
title
:
'剩余利息'
,
width
:
80
,
},
{
field
:
'commission'
,
title
:
'违约金'
,
width
:
80
,
},
],
onCheckboxChange
:
onCheckboxChange
,
...
...
vite.config.js
View file @
d93d2ff5
...
...
@@ -55,8 +55,8 @@ export default defineConfig(({ command, mode }) => {
port
:
VITE_PORT
,
proxy
:
{
'/api'
:
{
target
:
'http://192.168.31.128:8080'
,
//
target: 'http://8.152.205.9:8080',
//
target: 'http://192.168.31.128:8080',
target
:
'http://8.152.205.9:8080'
,
changeOrigin
:
true
,
rewrite
:
(
path
)
=>
path
.
replace
(
/^
\/
api/
,
''
),
},
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment