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
7666d690
Commit
7666d690
authored
Feb 06, 2025
by
沈翠玲
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
案件回收
parent
07c39038
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
907 additions
and
2 deletions
+907
-2
allcation.js
src/api/allcation.js
+10
-2
allocationModal.vue
...s/property/case-allocation/components/allocationModal.vue
+2
-0
index.vue
src/views/property/case-allocation/index.vue
+6
-0
allocationModal.vue
src/views/property/case-back/components/allocationModal.vue
+612
-0
index.vue
src/views/property/case-back/index.vue
+277
-0
No files found.
src/api/allcation.js
View file @
7666d690
...
@@ -28,6 +28,14 @@ export const changeDistributeCpe = (data) => {
...
@@ -28,6 +28,14 @@ export const changeDistributeCpe = (data) => {
return
request
.
post
(
`/LoanDistribute/changeDistributeCpe`
,
data
);
return
request
.
post
(
`/LoanDistribute/changeDistributeCpe`
,
data
);
};
};
// 撤回案件
// 撤回案件
export
const
backDistribute
=
(
ids
)
=>
{
// export const backDistribute = (ids) => {
return
request
.
get
(
'/LoanDistribute/back'
,
{
ids
});
// return request.get('/LoanDistribute/back', { ids });
// };
// 撤案
export
const
withdraw
=
(
ids
)
=>
{
return
request
.
get
(
'/LoanDistribute/withdraw'
,
{
ids
});
};
// 撤回案件
export
const
fullWithdraw
=
(
ids
)
=>
{
return
request
.
get
(
'/LoanDistribute/fullWithdraw'
,
{
ids
});
};
};
src/views/property/case-allocation/components/allocationModal.vue
View file @
7666d690
...
@@ -244,6 +244,7 @@
...
@@ -244,6 +244,7 @@
param
[
'loanIds'
]
=
lonsArr
.
value
.
map
(
v
=>
v
.
id
)
param
[
'loanIds'
]
=
lonsArr
.
value
.
map
(
v
=>
v
.
id
)
}
else
{
}
else
{
param
[
'borrowerName'
]
=
pageParams
.
value
.
borrowerName
param
[
'borrowerName'
]
=
pageParams
.
value
.
borrowerName
param
[
'batchCode'
]
=
pageParams
.
value
.
batchCode
param
[
'borrowerIdCard'
]
=
pageParams
.
value
.
idCard
param
[
'borrowerIdCard'
]
=
pageParams
.
value
.
idCard
param
[
'borrowerPhone'
]
=
pageParams
.
value
.
borrowerPhone
param
[
'borrowerPhone'
]
=
pageParams
.
value
.
borrowerPhone
param
[
'commissionAmount'
]
=
pageParams
.
value
.
commissionAmount
param
[
'commissionAmount'
]
=
pageParams
.
value
.
commissionAmount
...
@@ -344,6 +345,7 @@
...
@@ -344,6 +345,7 @@
// chooseIdea('BORROWER');
// chooseIdea('BORROWER');
distributeLoan
(
currentTenant
.
value
,
{
distributeLoan
(
currentTenant
.
value
,
{
borrowerName
:
pageParams
.
value
.
borrowerName
,
borrowerName
:
pageParams
.
value
.
borrowerName
,
batchCode
:
pageParams
.
value
.
batchCode
,
borrowerIdCard
:
pageParams
.
value
.
idCard
,
borrowerIdCard
:
pageParams
.
value
.
idCard
,
borrowerPhone
:
pageParams
.
value
.
borrowerPhone
,
borrowerPhone
:
pageParams
.
value
.
borrowerPhone
,
commissionAmount
:
pageParams
.
value
.
commissionAmount
,
commissionAmount
:
pageParams
.
value
.
commissionAmount
,
...
...
src/views/property/case-allocation/index.vue
View file @
7666d690
...
@@ -153,6 +153,12 @@
...
@@ -153,6 +153,12 @@
width
:
100
,
width
:
100
,
search
:
{
el
:
'input'
,
props
:
{
clearable
:
true
},
key
:
'manageOrg'
,
labelWidth
:
78
},
search
:
{
el
:
'input'
,
props
:
{
clearable
:
true
},
key
:
'manageOrg'
,
labelWidth
:
78
},
},
},
{
field
:
'batchCode'
,
title
:
'导入批次'
,
width
:
100
,
search
:
{
el
:
'input'
,
props
:
{
clearable
:
true
},
key
:
'batchCode'
,
labelWidth
:
78
},
},
{
{
field
:
'distributeStatus'
,
field
:
'distributeStatus'
,
title
:
'分派状态'
,
title
:
'分派状态'
,
...
...
src/views/property/case-back/components/allocationModal.vue
0 → 100644
View file @
7666d690
This diff is collapsed.
Click to expand it.
src/views/property/case-back/index.vue
0 → 100644
View file @
7666d690
<
template
>
<div
class=
"table-box"
>
<div>
<ProTable
:config=
"config"
ref=
"caseLRef"
:api=
"getLoanpage"
:paramCallback=
"paramCallback"
>
<!-- 表格 header 按钮 -->
<template
#
left_buttons
>
<el-button
type=
"primary"
:disabled=
"!selectdList || selectdList.length
<
1
"
@
click=
"backCase"
>
撤回
</el-button>
<el-button
type=
"primary"
:disabled=
"!selectdList || selectdList.length
<
1
"
@
click=
"fullBackCase"
>
撤案
</el-button>
</
template
>
</ProTable>
</div>
<allocationModal
ref=
"allocationModalRef"
@
success=
"query"
/>
</div>
</template>
<
script
setup
name=
"case-allocation"
lang=
"jsx"
>
import
allocationModal
from
'./components/allocationModal.vue'
;
import
{
getLoantotal
,
getLoanpage
,
withdraw
,
fullWithdraw
}
from
'@/api/allcation'
;
import
{
reactive
,
ref
}
from
'vue'
;
import
{
ElMessageBox
,
ElMessage
}
from
'element-plus'
;
import
citydata
from
'../../../assets/citydata'
;
import
{
onMounted
}
from
'vue'
;
const
allocationModalRef
=
ref
();
const
caseLRef
=
ref
();
const
selectdList
=
ref
([]);
const
curParam
=
ref
({});
const
onCheckboxChange
=
(
row
)
=>
{
selectdList
.
value
=
row
.
records
;
};
const
statisis
=
ref
({});
const
getStatisis
=
(
params
)
=>
{
getLoantotal
(
params
).
then
((
res
)
=>
{
if
(
res
.
success
)
{
statisis
.
value
=
res
.
result
;
}
});
};
const
backCase
=
async
()
=>
{
await
ElMessageBox
.
confirm
(
'是否确认撤回选中案件?'
,
'提示'
,
{
confirmButtonText
:
'确认'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
,
});
const
ids
=
selectdList
.
value
.
map
((
v
)
=>
v
.
id
).
join
(
','
);
await
withdraw
(
ids
);
ElMessage
({
type
:
'success'
,
message
:
'撤回成功!'
,
plain
:
true
,
});
query
();
};
const
fullBackCase
=
async
()
=>
{
await
ElMessageBox
.
confirm
(
'是否确认撤案?'
,
'提示'
,
{
confirmButtonText
:
'确认'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
,
});
const
ids
=
selectdList
.
value
.
map
((
v
)
=>
v
.
id
).
join
(
','
);
await
fullWithdraw
(
ids
);
ElMessage
({
type
:
'success'
,
message
:
'撤案成功!'
,
plain
:
true
,
});
query
();
}
const
paramCallback
=
(
param
)
=>
{
const
obj
=
JSON
.
parse
(
JSON
.
stringify
(
param
));
if
(
obj
.
arealist
&&
obj
.
arealist
.
length
>
0
)
{
obj
[
'province'
]
=
obj
.
arealist
[
0
];
obj
[
'city'
]
=
obj
.
arealist
.
length
>
1
?
obj
.
arealist
[
1
]
:
null
;
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
;
};
const
distributeStatusOpt
=
[
{
label
:
'未分派'
,
value
:
'undistributed'
},
{
label
:
'分派到调解中心'
,
value
:
'tenant'
},
{
label
:
'分派到CPE'
,
value
:
'CPE'
},
];
const
onCheckboxAll
=
(
flag
)
=>
{
if
(
flag
.
checked
)
{
selectdList
.
value
=
flag
.
records
;
}
else
{
selectdList
.
value
=
[];
}
}
console
.
log
(
'citydatacitydata'
,
citydata
);
const
config
=
reactive
({
columns
:
[
{
type
:
'checkbox'
,
title
:
''
,
width
:
40
},
{
field
:
'caseId'
,
title
:
'案件ID'
,
showOverflow
:
'tooltip'
,
search
:
{
el
:
'input'
,
labelWidth
:
78
},
width
:
100
,
},
{
field
:
'arealist'
,
enum
:
citydata
,
title
:
'所属区域'
,
showOverflow
:
'tooltip'
,
width
:
100
,
fieldNames
:
{
label
:
'label'
,
value
:
'value'
},
search
:
{
el
:
'cascader'
,
props
:
{
clearable
:
true
,
checkStrictly
:
true
},
labelWidth
:
78
},
slots
:
{
default
:
({
row
})
=>
{
return
(
<
div
>
{
row
.
manageOrg
.
province
}
{
row
.
manageOrg
.
city
?
'-'
+
row
.
manageOrg
.
city
:
''
}
{
row
.
manageOrg
.
district
?
'-'
+
row
.
manageOrg
.
district
:
''
}
<
/div
>
);
},
},
},
{
field
:
'loanPlatform.name'
,
title
:
'借款机构'
,
width
:
100
,
search
:
{
el
:
'input'
,
props
:
{
clearable
:
true
},
key
:
'payOrg'
,
labelWidth
:
78
},
},
{
field
:
'manageOrg.orgName'
,
title
:
'资管公司'
,
width
:
100
,
search
:
{
el
:
'input'
,
props
:
{
clearable
:
true
},
key
:
'manageOrg'
,
labelWidth
:
78
},
},
{
field
:
'batchCode'
,
title
:
'导入批次'
,
width
:
100
,
search
:
{
el
:
'input'
,
props
:
{
clearable
:
true
},
key
:
'batchCode'
,
labelWidth
:
78
},
},
{
field
:
'distributeStatus'
,
title
:
'分派状态'
,
width
:
80
,
enum
:
distributeStatusOpt
,
search
:
{
el
:
'select'
,
props
:
{
filterable
:
true
},
labelWidth
:
78
},
fieldNames
:
{
label
:
'label'
,
value
:
'value'
},
slots
:
{
default
:
({
row
})
=>
{
return
(
<>
{
row
.
distributeStatus
?
distributeStatusOpt
.
find
((
v
)
=>
v
.
value
===
row
.
distributeStatus
).
label
:
''
}
<
/
>
);
},
},
},
{
field
:
'tenant.name'
,
title
:
'调解中心'
,
width
:
80
,
search
:
{
el
:
'input'
,
props
:
{
clearable
:
true
},
labelWidth
:
78
},
},
{
field
:
'discount'
,
title
:
'折扣'
,
width
:
80
,
},
{
field
:
'cpe.name'
,
title
:
'CPE'
,
width
:
60
,
search
:
{
el
:
'input'
,
props
:
{
clearable
:
true
},
key
:
'cpeName'
,
labelWidth
:
78
},
},
{
field
:
'tenantTime'
,
title
:
'分派中心日期'
,
width
:
130
,
search
:
{
el
:
'date-picker'
,
props
:
{
type
:
'daterange'
,
valueFormat
:
'YYYY-MM-DD'
},
labelWidth
:
78
,
},
},
{
field
:
'commissionAmount'
,
title
:
'债权总额'
,
width
:
80
,
search
:
{
el
:
'input'
,
props
:
{
clearable
:
true
},
labelWidth
:
78
},
},
{
field
:
'cpeDate'
,
title
:
'分派CPE日期'
,
width
:
130
,
search
:
{
el
:
'date-picker'
,
props
:
{
type
:
'daterange'
,
valueFormat
:
'YYYY-MM-DD'
},
labelWidth
:
78
,
},
},
{
field
:
'borrower.name'
,
title
:
'借款人姓名'
,
width
:
100
,
search
:
{
el
:
'input'
,
key
:
'borrowerName'
,
props
:
{
clearable
:
true
},
labelWidth
:
78
},
},
{
field
:
'sumRepayAmount'
,
title
:
'已还总额'
,
width
:
80
,
search
:
{
el
:
'input'
,
props
:
{
clearable
:
true
},
labelWidth
:
78
},
},
{
field
:
'borrower.idCard'
,
title
:
'身份证'
,
width
:
140
,
search
:
{
el
:
'input'
,
props
:
{
clearable
:
true
},
key
:
'idCard'
,
labelWidth
:
78
},
},
{
field
:
'borrower.phone'
,
key
:
'borrowerPhone'
,
title
:
'手机'
,
width
:
100
,
search
:
{
el
:
'input'
,
props
:
{
clearable
:
true
},
labelWidth
:
78
},
},
{
field
:
'principalBalance'
,
title
:
'剩余本金'
,
width
:
80
,
},
{
field
:
'remaininginterest'
,
title
:
'剩余利息'
,
width
:
80
,
},
{
field
:
'commission'
,
title
:
'违约金'
,
width
:
80
,
},
],
onCheckboxChange
:
onCheckboxChange
,
onCheckboxAll
:
onCheckboxAll
});
const
allocation
=
(
row
)
=>
{
allocationModalRef
.
value
.
openModal
(
JSON
.
parse
(
JSON
.
stringify
(
curParam
.
value
)),
JSON
.
parse
(
JSON
.
stringify
(
selectdList
.
value
)));
};
const
query
=
()
=>
caseLRef
.
value
?.
search
();
onMounted
(()
=>
{
query
();
});
</
script
>
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