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
0f9ac6ce
Commit
0f9ac6ce
authored
Feb 08, 2025
by
沈翠玲
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改问题清单的bug
parent
6c87dac0
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
209 additions
and
13 deletions
+209
-13
allcation.js
src/api/allcation.js
+2
-2
index.vue
src/views/business-approval/reduction-apply/index.vue
+1
-1
reduceDrawer.vue
src/views/property/case-detail/components/reduceDrawer.vue
+9
-0
splitDrawer.vue
src/views/property/case-detail/components/splitDrawer.vue
+10
-6
index.vue
src/views/property/case-detail/index.vue
+176
-3
index.vue
src/views/workplace/case/index.vue
+11
-1
No files found.
src/api/allcation.js
View file @
0f9ac6ce
...
...
@@ -44,7 +44,7 @@ export const fullBack = (params) => {
return
request
.
get
(
'/LoanDistribute/fullBack'
,
params
);
};
// 留案
export
const
stayLoan
=
(
id
s
)
=>
{
return
request
.
get
(
'/LoanDistribute/stay'
,
{
ids
}
);
export
const
stayLoan
=
(
param
s
)
=>
{
return
request
.
get
(
'/LoanDistribute/stay'
,
params
);
};
src/views/business-approval/reduction-apply/index.vue
View file @
0f9ac6ce
...
...
@@ -198,7 +198,7 @@
return
{
columns
:
[
{
type
:
'checkbox'
,
width
:
50
},
{
type
:
'expand'
,
width
:
8
0
,
slots
:
{
content
:
'expand_content'
}
},
{
type
:
'expand'
,
width
:
4
0
,
slots
:
{
content
:
'expand_content'
}
},
{
field
:
'caseId'
,
title
:
'案件ID'
,
...
...
src/views/property/case-detail/components/reduceDrawer.vue
View file @
0f9ac6ce
...
...
@@ -166,11 +166,13 @@
{
type
:
'checkbox'
,
title
:
''
,
width
:
'40px'
},
{
field
:
'loan.caseId'
,
width
:
100
,
showOverflow
:
'tooltip'
,
title
:
'案件ID'
,
},
{
field
:
'loan.product'
,
width
:
100
,
showOverflow
:
'tooltip'
,
title
:
'产品'
,
},
...
...
@@ -178,25 +180,30 @@
field
:
'loan.loanPlatform.name'
,
showOverflow
:
'tooltip'
,
title
:
'借款机构'
,
width
:
90
,
},
{
field
:
'loan.commissionAmount'
,
showOverflow
:
'tooltip'
,
width
:
90
,
title
:
'委案金额'
,
},
{
field
:
'loan.sumReductionAmount'
,
showOverflow
:
'tooltip'
,
width
:
100
,
title
:
'累计减免金额'
,
},
{
field
:
'loan.sumRepayAmount'
,
showOverflow
:
'tooltip'
,
width
:
100
,
title
:
'累计还款金额'
,
},
{
field
:
'reduceAmount'
,
showOverflow
:
'tooltip'
,
width
:
100
,
title
:
'减免金额'
,
slots
:
{
default
:
({
row
,
rowIndex
})
=>
{
...
...
@@ -211,11 +218,13 @@
{
field
:
'loan.remainingAmount'
,
showOverflow
:
'tooltip'
,
width
:
166
,
title
:
'剩余待还金额(减免前)'
,
},
{
field
:
'payAmount'
,
showOverflow
:
'tooltip'
,
width
:
140
,
title
:
'应还金额(减免后)'
,
},
],
...
...
src/views/property/case-detail/components/splitDrawer.vue
View file @
0f9ac6ce
...
...
@@ -318,11 +318,13 @@
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
(
Number
(
item
.
remainingAmount
)
||
0
)
Decimal
(
remainingAmount
)
);
form
.
remainingAmount
=
Decimal
(
form
.
remainingAmount
).
add
(
Decimal
(
Number
(
item
.
remainingAmount
)
||
0
)
Decimal
(
remainingAmount
)
);
});
if
(
selectdList
.
value
.
length
>
0
)
{
...
...
@@ -339,11 +341,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
(
Number
(
item
.
remainingAmount
)
||
0
)
Decimal
(
remainingAmount
)
);
form
.
remainingAmount
=
Decimal
(
form
.
remainingAmount
).
add
(
Decimal
(
Number
(
item
.
remainingAmount
)
||
0
)
Decimal
(
remainingAmount
)
);
});
if
(
selectdList
.
value
.
length
>
0
)
{
...
...
@@ -457,11 +460,12 @@
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
(
Number
(
item
.
remainingAmount
)
||
0
)
Decimal
(
remainingAmount
)
);
form
.
remainingAmount
=
Decimal
(
form
.
remainingAmount
).
add
(
Decimal
(
Number
(
item
.
remainingAmount
)
||
0
)
Decimal
(
remainingAmount
)
);
});
tabledata
.
value
=
caselist
;
...
...
src/views/property/case-detail/index.vue
View file @
0f9ac6ce
...
...
@@ -191,7 +191,9 @@
:data=
"recordData"
:showPagination=
"false"
:showToolBar=
"false"
/>
>
</ProTable>
</div>
</div>
</vxe-tab-pane>
...
...
@@ -204,7 +206,85 @@
:data=
"reduceData"
:showPagination=
"false"
:showToolBar=
"false"
/>
>
<
template
#
expand_content=
"{ row }"
>
<div
class=
"expand-box"
>
<div>
案件明细
</div>
<div
class=
"expand-table"
>
<div
v-for=
"(item, index) in row.reduceRecords"
:key=
"index"
>
<div
class=
"public-header"
>
{{
item
?.
loan
?.
caseId
}}
</div>
<table
><tbody>
<tr>
<td
class=
"label"
>
案件ID
</td>
<td>
{{
item
?.
loan
?.
caseId
}}
</td>
<td
class=
"label"
>
借款机构
</td>
<td>
{{
item
?.
loan
?.
loanPlatform
?.
name
}}
</td>
<td
class=
"label"
>
资管公司
</td>
<td>
{{
item
?.
loan
?.
manageOrg
.
orgName
}}
</td>
</tr>
<tr>
<td
class=
"label"
>
身份证
</td>
<td>
{{
item
?.
loan
?.
borrower
?.
idCard
}}
</td>
<td
class=
"label"
>
手机号
</td>
<td>
{{
item
?.
loan
?.
borrower
?.
phone
}}
</td>
<td
class=
"label"
>
折扣
</td>
<td>
{{
item
?.
loan
?.
discount
}}
</td>
<td
class=
"label"
>
委案金额
</td>
<td>
{{
item
?.
loan
?.
commissionAmount
}}
</td>
</tr>
<tr>
<td
class=
"label"
>
累计还款金额
</td>
<td>
{{
item
?.
loan
?.
sumRepayAmount
}}
</td>
<td
class=
"label"
>
累计减免金额
</td>
<td>
{{
item
?.
loan
?.
sumReductionAmount
}}
</td>
<td
class=
"label"
>
剩余待还金额
</td>
<td>
{{
item
?.
loan
?.
remainingAmount
}}
</td>
</tr>
<tr>
<td
class=
"label"
>
CPE
</td>
<td>
{{
item
?.
loan
?.
cpe
?.
username
}}
</td>
<td
class=
"label"
>
分派CPE日期
</td>
<td>
{{
item
?.
loan
?.
cpeDate
}}
</td>
<td
class=
"label"
>
本金余额
</td>
<td>
{{
item
?.
loan
?.
principalBalance
}}
</td>
<td
class=
"label"
>
案件状态
</td>
<td>
{{
item
?.
loan
?.
caseStatus
?
caseStatusOpt
.
find
((
v
)
=>
v
.
value
===
item
?.
loan
?.
caseStatus
).
label
:
''
}}
</td
>
</tr>
<tr>
<td
class=
"label"
>
欠息额
</td>
<td>
{{
item
?.
loan
?.
debitInterest
}}
</td>
<td
class=
"label"
>
手续费
</td>
<td>
{{
item
?.
loan
?.
commission
}}
</td>
<td
class=
"label"
>
跟进结果
</td>
<td>
{{
item
?.
loan
?.
followStatus
?
followStatusOpt
.
find
((
v
)
=>
v
.
value
===
item
?.
loan
?.
followStatus
).
label
:
''
}}
</td>
<td
class=
"label"
>
跟进状态
</td>
<td>
{{
item
?.
loan
?.
phoneResultStatus
?
phoneResultStatusOpt
.
find
((
v
)
=>
v
.
value
===
item
?.
loan
?.
phoneResultStatus
)
.
label
:
''
}}
</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</
template
>
</ProTable>
</div>
</div>
</vxe-tab-pane>
...
...
@@ -239,7 +319,97 @@
:data=
"splitData"
:showPagination=
"false"
:showToolBar=
"false"
/>
>
<
template
#
expand_content=
"{ row }"
>
<div
class=
"expand-box"
>
<div
class=
"flex"
>
<div
class=
"w-full pr-2"
>
<div>
案件明细
</div>
<div
class=
"expand-table"
>
<div
v-for=
"(item, index) in row.loans"
:key=
"index"
>
<div
class=
"public-header"
>
{{
item
?.
caseId
}}
</div>
<table
><tbody>
<tr>
<td
class=
"label"
>
案件ID
</td>
<td>
{{
item
?.
caseId
}}
</td>
<td
class=
"label"
>
借款机构
</td>
<td>
{{
item
?.
loanPlatform
?.
name
}}
</td>
</tr>
<tr>
<td
class=
"label"
>
资管公司
</td>
<td>
{{
item
?.
manageOrg
.
orgName
}}
</td>
<td
class=
"label"
>
身份证
</td>
<td>
{{
item
?.
borrower
?.
idCard
}}
</td>
</tr>
<tr>
<td
class=
"label"
>
手机号
</td>
<td>
{{
item
?.
borrower
?.
phone
}}
</td>
<td
class=
"label"
>
折扣
</td>
<td>
{{
item
?.
discount
}}
</td>
</tr>
<tr>
<td
class=
"label"
>
累计还款金额
</td>
<td>
{{
item
?.
sumRepayAmount
}}
</td>
<td
class=
"label"
>
累计减免金额
</td>
<td>
{{
item
?.
sumReductionAmount
}}
</td>
</tr>
<tr>
<td
class=
"label"
>
剩余待还金额
</td>
<td>
{{
item
?.
remainingAmount
}}
</td>
<td
class=
"label"
>
CPE
</td>
<td>
{{
item
?.
cpe
?.
username
}}
</td>
</tr>
<tr>
<td
class=
"label"
>
分派CPE日期
</td>
<td>
{{
item
?.
cpeDate
}}
</td>
<td
class=
"label"
>
本金余额
</td>
<td>
{{
item
?.
principalBalance
}}
</td>
</tr>
<tr>
<td
class=
"label"
>
欠息额
</td>
<td>
{{
item
?.
debitInterest
}}
</td>
<td
class=
"label"
>
手续费
</td>
<td>
{{
item
?.
commission
}}
</td>
</tr>
<tr>
<td
class=
"label"
>
委案金额
</td>
<td>
{{
item
?.
commissionAmount
}}
</td>
<td
class=
"label"
>
案件状态
</td>
<td>
{{
item
?.
caseStatus
?
caseStatusOpt
.
find
((
v
)
=>
v
.
value
===
item
?.
caseStatus
).
label
:
''
}}
</td
>
</tr>
<tr>
<td
class=
"label"
>
跟进结果
</td>
<td>
{{
item
?.
followStatus
?
followStatusOpt
.
find
((
v
)
=>
v
.
value
===
item
?.
followStatus
).
label
:
''
}}
</td>
<td
class=
"label"
>
跟进状态
</td>
<td>
{{
item
?.
phoneResultStatus
?
phoneResultStatusOpt
.
find
((
v
)
=>
v
.
value
===
item
?.
phoneResultStatus
)
.
label
:
''
}}
</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</
template
>
</ProTable>
</div>
<div
class=
"w-1/3 pl-3"
>
<ProTable
...
...
@@ -756,6 +926,7 @@
const
splitConfig
=
reactive
({
columns
:
[
{
type
:
'expand'
,
width
:
40
,
slots
:
{
content
:
'expand_content'
}
},
{
field
:
'caseId'
,
title
:
'案件ID'
,
...
...
@@ -904,6 +1075,7 @@
};
const
reduceConfig
=
reactive
({
columns
:
[
{
type
:
'expand'
,
width
:
40
,
slots
:
{
content
:
'expand_content'
}
},
{
field
:
'caseId'
,
title
:
'案件ID'
,
...
...
@@ -927,6 +1099,7 @@
{
field
:
'totalReduceAmount'
,
title
:
'减免金额(总计)'
,
width
:
110
,
showOverflow
:
'tooltip'
,
},
{
...
...
src/views/workplace/case/index.vue
View file @
0f9ac6ce
...
...
@@ -19,6 +19,7 @@
import
{
useRouter
}
from
'vue-router'
;
import
{
reactive
,
ref
}
from
'vue'
;
import
{
getCreditPage
}
from
'@/api/property'
;
import
{
ElMessageBox
,
ElMessage
}
from
'element-plus'
;
const
caseLRef
=
ref
();
import
{
stayLoan
}
from
'@/api/allcation'
;
import
{
onMounted
}
from
'vue'
;
...
...
@@ -26,6 +27,7 @@
const
{
userInfo
}
=
useUserStore
();
const
router
=
useRouter
();
const
selectdList
=
ref
([]);
const
curParam
=
ref
({});
const
onCheckboxChange
=
(
row
)
=>
{
selectdList
.
value
=
row
.
records
;
};
...
...
@@ -47,6 +49,7 @@
if
(
userInfo
.
id
)
{
obj
[
'cpe'
]
=
userInfo
.
id
}
curParam
.
value
=
obj
;
return
obj
;
};
const
stayCase
=
async
()
=>
{
...
...
@@ -57,7 +60,14 @@
});
const
ids
=
selectdList
.
value
.
map
((
v
)
=>
v
.
id
).
join
(
','
);
await
stayLoan
(
ids
);
let
param
=
{
}
if
(
ids
.
length
>
0
)
{
param
[
'loanIds'
]
=
ids
}
else
{
param
=
{...
curParam
.
value
}
}
await
stayLoan
(
param
);
ElMessage
({
type
:
'success'
,
...
...
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