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
ea82dbc6
Commit
ea82dbc6
authored
Feb 26, 2025
by
沈翠玲
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
业务审批
parent
dcf0ca7f
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
937 additions
and
397 deletions
+937
-397
splitDrawer.vue
...iness-approval/by-stages-apply/components/splitDrawer.vue
+270
-153
index.vue
src/views/business-approval/by-stages-apply/index.vue
+24
-122
reduceDrawer.vue
...ness-approval/reduction-apply/components/reduceDrawer.vue
+517
-0
index.vue
src/views/business-approval/reduction-apply/index.vue
+34
-97
index.vue
src/views/business-approval/repayment-approve/index.vue
+30
-6
index.vue
src/views/property/audit-manage/index.vue
+1
-0
callDrawer.vue
src/views/property/case-detail/components/callDrawer.vue
+15
-4
reduceDrawer.vue
src/views/property/case-detail/components/reduceDrawer.vue
+15
-4
returnModal.vue
src/views/property/case-detail/components/returnModal.vue
+4
-3
splitDrawer.vue
src/views/property/case-detail/components/splitDrawer.vue
+15
-4
index.vue
src/views/property/case-manage/index.vue
+1
-1
index.vue
src/views/property/import/index.vue
+10
-3
index.vue
src/views/workplace/audit/index.vue
+1
-0
No files found.
src/views/business-approval/by-stages-apply/components/splitDrawer.vue
View file @
ea82dbc6
<
template
>
<
template
>
<el-drawer
<el-drawer
v-model=
"showModal"
v-model=
"showModal"
title=
"分期申请"
:size=
"950"
:size=
"850"
direction=
"rtl"
direction=
"rtl"
@
close=
"showModal = false"
@
close=
"showModal = false"
:before-close=
"onHide"
:before-close=
"onHide"
>
>
<div
class=
"h-full flex-col flex mydrawer pb-2"
>
<template
#
header=
"
{ titleId, titleClass }">
<div>
<h4
:id=
"titleId"
:class=
"titleClass"
>
分期审批
<el-tag
:type=
"currentDetail.flowStatus === 'pass' ? 'success' : currentDetail.flowStatus === 'fail' ? 'danger' : 'warning'"
>
{{
currentDetail
.
flowStatus
?
FlowStatus
?.
find
((
v
)
=>
v
.
value
===
currentDetail
.
flowStatus
)?.
label
:
''
}}
</el-tag>
</h4>
</
template
>
<div
class=
"flex"
>
<div
class=
" w-1/4 flex-shrink-0"
>
<p
class=
" font-bold mb-3"
>
审批进程
</p>
<div
:class=
"{nopending: currentDetail.flowStatus !== 'pending'}"
>
<el-timeline
style=
"max-width: 600px"
>
<el-timeline-item
:timestamp=
"currentDetail?.applyDate"
color=
"#234ca3"
>
<p
class=
" font-bold text-sm"
>
发起人
</p>
<span
class=
"text-xs bg-gray-200 rounded-sm text-slate-900 px-2"
>
{{currentDetail?.cpe?.username}}
</span>
</el-timeline-item>
<el-timeline-item
:timestamp=
"currentDetail?.createTime"
:color=
"currentDetail.flowStatus !== 'pending' ? '#234ca3' : null"
>
<p
class=
" font-bold text-sm"
>
平台审批环节
</p>
<span
class=
"text-xs bg-gray-200 rounded-sm text-slate-900 px-2"
>
{{currentDetail?.createBy}}
</span>
</el-timeline-item>
</el-timeline>
</div>
</div>
<div
class=
"h-full w-3/4 flex-shrink-0 flex-col flex mydrawer pb-2"
>
<div
class=
"w-full"
>
<table>
<tbody>
<tr>
<td
class=
"label"
>
债务人
</td>
<td>
{{ currentDetail?.borrower?.name }}
</td>
<td
class=
"label"
>
身份证号
</td>
<td>
{{ currentDetail?.borrower?.idCard }}
</td>
</tr>
<tr>
<td
class=
"label"
>
产品
</td>
<td>
<VxeTooltip
:content=
"Array.from(new Set(currentDetail?.loans.map((v) => v.loanPlatform.name))).join(',')"
>
<VxeTextEllipsis
:content=
"Array.from(new Set(currentDetail?.loans.map((v) => v.loanPlatform.name))).join(',')"
></VxeTextEllipsis>
</VxeTooltip>
</td>
<td
class=
"label"
>
调解中心
</td>
<td><VxeTooltip
:content=
"currentDetail?.tenant?.name"
>
<VxeTextEllipsis
:content=
"currentDetail?.tenant?.name"
></VxeTextEllipsis>
</VxeTooltip></td>
</tr>
<tr>
<td
class=
"label"
>
申请CPE
</td>
<td>
{{ currentDetail?.cpe?.username }}
</td>
<td
class=
"label"
>
剩余待还金额
</td>
<td>
{{ currentDetail?.remainingAmount }}
</td>
</tr>
</tbody>
<!-- Add more rows as needed -->
</table>
<ProTable
<ProTable
:config=
"config"
:config=
"config"
ref=
"ProTableRef"
ref=
"ProTableRef"
...
@@ -17,10 +82,13 @@
...
@@ -17,10 +82,13 @@
:showToolBar=
"false"
:showToolBar=
"false"
>
>
<
template
#
table_top
>
<
template
#
table_top
>
<p
class=
"font-bold
"
>
关联案件:
</p>
<p
class=
"font-bold my-2
"
>
关联案件:
</p>
</
template
>
</
template
>
</ProTable>
</ProTable>
</div>
</div>
</div>
</div>
<div
class=
"flex"
>
<div
class=
"flex"
>
<div
class=
"mt-3 pr-8 w-2/5"
>
<div
class=
"mt-3 pr-8 w-2/5"
>
<el-form
<el-form
...
@@ -41,6 +109,7 @@
...
@@ -41,6 +109,7 @@
<el-form-item
class=
"w-full"
label=
"还款总额:"
prop=
"code"
>
<el-form-item
class=
"w-full"
label=
"还款总额:"
prop=
"code"
>
<el-input
<el-input
v-model=
"form.totalRepayAmount"
v-model=
"form.totalRepayAmount"
:disabled=
"currentDetail.flowStatus !== 'pending'"
placeholder=
"请输入"
placeholder=
"请输入"
@
change=
"changePeriod"
@
change=
"changePeriod"
/>
/>
...
@@ -101,6 +170,7 @@
...
@@ -101,6 +170,7 @@
<el-upload
<el-upload
:action=
"url"
:action=
"url"
:headers=
"{timeout:180000}"
:headers=
"{timeout:180000}"
v-if=
"showModal"
v-model:file-list=
"form.images"
v-model:file-list=
"form.images"
disabled
disabled
list-type=
"picture-card"
list-type=
"picture-card"
...
@@ -155,7 +225,7 @@
...
@@ -155,7 +225,7 @@
>
>
<
template
#
table_top
>
<
template
#
table_top
>
<div
class=
"flex justify-end"
>
<div
class=
"flex justify-end"
>
<el-button
type=
"primary"
@
click=
"editOrConfirm"
class=
"mr-1 my-2
"
>
{{
<el-button
type=
"primary"
@
click=
"editOrConfirm"
class=
"mr-1 my-2"
v-if=
"currentDetail.flowStatus === 'pending'
"
>
{{
editFirst
?
'确定'
:
'修改'
editFirst
?
'确定'
:
'修改'
}}
</el-button>
}}
</el-button>
</div>
</div>
...
@@ -166,12 +236,11 @@
...
@@ -166,12 +236,11 @@
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<
template
#
footer
>
<
template
#
footer
>
<div
style=
"flex: auto"
>
<div
style=
"flex: auto"
>
<el-button
@
click=
"showModal = false"
>
取消
</el-button>
<el-button
@
click=
"showModal = false"
>
取消
</el-button>
<el-button
type=
"primary"
@
click=
"submitForm('fail')"
>
不通过
</el-button>
<el-button
type=
"primary"
@
click=
"submitForm('fail')"
v-if=
"currentDetail.flowStatus === 'pending'"
>
不通过
</el-button>
<el-button
type=
"primary"
@
click=
"submitForm('pass')"
>
通过
</el-button>
<el-button
type=
"primary"
@
click=
"submitForm('pass')"
v-if=
"currentDetail.flowStatus === 'pending'"
>
通过
</el-button>
</div>
</div>
</
template
>
</
template
>
<el-dialog
v-model=
"dialogVisible"
>
<el-dialog
v-model=
"dialogVisible"
>
...
@@ -183,6 +252,10 @@
...
@@ -183,6 +252,10 @@
import
dayjs
from
'dayjs'
;
import
dayjs
from
'dayjs'
;
import
{
computed
}
from
'vue'
;
import
{
computed
}
from
'vue'
;
import
{
reactive
,
ref
}
from
'vue'
;
import
{
reactive
,
ref
}
from
'vue'
;
import
{
Close
}
from
'@element-plus/icons-vue'
;
import
{
VxeTextEllipsis
,
VxeTooltip
}
from
'vxe-pc-ui'
;
import
{
ElInputNumber
,
ElMessage
}
from
'element-plus'
;
import
{
ElInputNumber
,
ElMessage
}
from
'element-plus'
;
import
{
changeAmount
}
from
'@/api/property'
;
import
{
changeAmount
}
from
'@/api/property'
;
import
{
getByIdPlatforms
}
from
'@/api/platform'
;
import
{
getByIdPlatforms
}
from
'@/api/platform'
;
...
@@ -401,36 +474,43 @@
...
@@ -401,36 +474,43 @@
{
{
field
:
'caseId'
,
field
:
'caseId'
,
title
:
'案件ID'
,
title
:
'案件ID'
,
width
:
120
,
showOverflow
:
'tooltip'
,
showOverflow
:
'tooltip'
,
},
},
{
{
field
:
'product'
,
field
:
'product'
,
title
:
'产品'
,
title
:
'产品'
,
width
:
120
,
showOverflow
:
'tooltip'
,
showOverflow
:
'tooltip'
,
},
},
{
{
field
:
'loanPlatform.name'
,
field
:
'loanPlatform.name'
,
title
:
'借款平台'
,
title
:
'借款平台'
,
width
:
120
,
showOverflow
:
'tooltip'
,
showOverflow
:
'tooltip'
,
},
},
{
{
field
:
'commissionAmount'
,
field
:
'commissionAmount'
,
title
:
'委案金额'
,
title
:
'委案金额'
,
width
:
120
,
showOverflow
:
'tooltip'
,
showOverflow
:
'tooltip'
,
},
},
{
{
field
:
'sumReductionAmount'
,
field
:
'sumReductionAmount'
,
title
:
'累计减免金额'
,
title
:
'累计减免金额'
,
width
:
120
,
showOverflow
:
'tooltip'
,
showOverflow
:
'tooltip'
,
},
},
{
{
field
:
'sumRepayAmount'
,
field
:
'sumRepayAmount'
,
title
:
'累计还款金额'
,
title
:
'累计还款金额'
,
width
:
120
,
showOverflow
:
'tooltip'
,
showOverflow
:
'tooltip'
,
},
},
{
{
field
:
'remainingAmount'
,
field
:
'remainingAmount'
,
title
:
'剩余待还金额'
,
title
:
'剩余待还金额'
,
width
:
120
,
showOverflow
:
'tooltip'
,
showOverflow
:
'tooltip'
,
},
},
],
],
...
@@ -496,7 +576,6 @@
...
@@ -496,7 +576,6 @@
currentDetail
.
value
=
detail
;
currentDetail
.
value
=
detail
;
console
.
log
(
'currentDetail'
,
currentDetail
.
value
,
caselist
);
console
.
log
(
'currentDetail'
,
currentDetail
.
value
,
caselist
);
form
.
totalRepayAmount
=
0
;
form
.
totalRepayAmount
=
0
;
form
.
images
=
[];
form
.
totalPeriod
=
detail
.
totalPeriod
form
.
totalPeriod
=
detail
.
totalPeriod
form
.
applyDate
=
detail
.
applyDate
form
.
applyDate
=
detail
.
applyDate
form
.
firstApplyDate
=
detail
.
firstApplyDate
form
.
firstApplyDate
=
detail
.
firstApplyDate
...
@@ -592,4 +671,42 @@
...
@@ -592,4 +671,42 @@
font-size
:
12px
;
font-size
:
12px
;
}
}
}
}
.nopending
{
:deep
(
.el-timeline-item__tail
)
{
border-color
:
#234ca3
;
}
}
table
{
width
:
100%
;
margin-top
:
10px
;
border-collapse
:
collapse
;
}
td
{
border
:
1px
solid
rgba
(
5
,
5
,
5
,
0
.06
);
background
:
#fff
;
color
:
#606268
;
width
:
240px
;
line-height
:
11px
;
height
:
40px
;
font-size
:
14px
;
padding-left
:
5px
;
&
.label
{
text-align
:
center
;
background
:
#f6f8ff
;
font-weight
:
bold
;
color
:
#909399
;
}
}
</
style
>
<
style
lang=
"scss"
>
.el-drawer
.el-drawer__header
.el-tag--warning
.el-tag__content
{
color
:
var
(
--
el-color-warning
)
!
important
;
}
.el-drawer
.el-drawer__header
.el-tag--success
.el-tag__content
{
color
:
var
(
--
el-color-success
)
!
important
;
}
.el-drawer
.el-drawer__header
.el-tag--danger
.el-tag__content
{
color
:
var
(
--
el-color-danger
)
!
important
;
}
</
style
>
</
style
>
src/views/business-approval/by-stages-apply/index.vue
View file @
ea82dbc6
...
@@ -17,116 +17,7 @@
...
@@ -17,116 +17,7 @@
</el-tab-pane>
</el-tab-pane>
</el-tabs>
</el-tabs>
</div>
</div>
<ProTable
:config=
"config"
ref=
"ProTableRef"
:api=
"getByStagesPage"
:selectdList=
"selectdList"
:paramCallback=
"paramCallback"
>
<ProTable
:config=
"config"
ref=
"ProTableRef"
:api=
"getByStagesPage"
:paramCallback=
"paramCallback"
>
<
template
#
left_buttons
>
<!--
<el-button
type=
"primary"
>
下载申请
</el-button>
-->
<el-button
type=
"primary"
@
click=
"changeStatus"
:disabled=
"!selectdList || !selectdList.length"
>
审批
</el-button>
<!--
<el-button
type=
"primary"
>
下载
</el-button>
<el-button
type=
"primary"
>
批量修复上传
</el-button>
-->
</
template
>
<
template
#
expand_content=
"{ row }"
>
<div
class=
"expand-box"
>
<div
class=
"flex"
>
<div
class=
"w-2/3 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
?.
commission
}}
</td>
</tr>
<tr>
<td
class=
"label"
>
委案金额
</td>
<td>
{{
item
?.
commissionAmount
}}
</td>
<td
class=
"label"
>
案件状态
</td>
<td>
{{
item
?.
caseStatus
?
CaseStatus
.
find
((
v
)
=>
v
.
value
===
item
?.
caseStatus
)?.
label
:
''
}}
</td
>
</tr>
<tr>
<td
class=
"label"
>
跟进结果
</td>
<td>
{{
item
?.
followStatus
?
FollowStatus
.
find
((
v
)
=>
v
.
value
===
item
?.
followStatus
)?.
label
:
''
}}
</td>
<td
class=
"label"
>
跟进状态
</td>
<td>
{{
item
?.
phoneResultStatus
?
PhoneResultStatus
.
find
((
v
)
=>
v
.
value
===
item
?.
phoneResultStatus
)
.
label
:
''
}}
</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div
class=
"flex-1"
>
<div>
分期明细
</div>
<div
class=
"expand-table"
>
<ProTable
:config=
"splitDeConfig"
:data=
"row.byStagesRecords"
:showPagination=
"false"
:showToolBar=
"false"
/>
</div>
</div>
</div>
</div>
</
template
>
</ProTable>
</ProTable>
<vxe-modal
<vxe-modal
resize
resize
...
@@ -263,15 +154,10 @@
...
@@ -263,15 +154,10 @@
],
],
toolbarConfig
:
{
enabled
:
false
},
toolbarConfig
:
{
enabled
:
false
},
});
});
const
changeStatus
=
async
()
=>
{
const
changeStatus
=
async
(
row
)
=>
{
if
(
selectdList
.
value
.
length
>
1
)
{
showModal
.
value
=
true
;
}
else
{
splitDrawerRef
.
value
.
openModal
(
splitDrawerRef
.
value
.
openModal
(
JSON
.
parse
(
JSON
.
stringify
(
selectdList
.
value
[
0
]
))
JSON
.
parse
(
JSON
.
stringify
(
row
))
);
);
}
};
};
const
submitForm
=
async
(
type
)
=>
{
const
submitForm
=
async
(
type
)
=>
{
const
ids
=
selectdList
.
value
.
map
((
v
)
=>
v
.
id
).
join
(
','
);
const
ids
=
selectdList
.
value
.
map
((
v
)
=>
v
.
id
).
join
(
','
);
...
@@ -299,8 +185,8 @@
...
@@ -299,8 +185,8 @@
const
config
=
computed
(()
=>
{
const
config
=
computed
(()
=>
{
return
{
return
{
columns
:
[
columns
:
[
{
type
:
'checkbox'
,
width
:
60
,
fixed
:
'left'
},
//
{ type: 'checkbox', width: 60, fixed: 'left' },
{
type
:
'expand'
,
width
:
80
,
slots
:
{
content
:
'expand_content'
}
},
//
{ type: 'expand', width: 80, slots: { content: 'expand_content' } },
{
{
field
:
'caseId'
,
field
:
'caseId'
,
title
:
'案件ID'
,
title
:
'案件ID'
,
...
@@ -334,7 +220,7 @@
...
@@ -334,7 +220,7 @@
width
:
90
,
width
:
90
,
},
},
{
{
title
:
'
CPE
'
,
title
:
'
发起人
'
,
showOverflow
:
'tooltip'
,
showOverflow
:
'tooltip'
,
width
:
60
,
width
:
60
,
slots
:
{
slots
:
{
...
@@ -469,6 +355,22 @@
...
@@ -469,6 +355,22 @@
},
},
},
},
},
},
{
field
:
'code'
,
title
:
'操作'
,
width
:
120
,
slots
:
{
default
:
({
row
,
rowIndex
})
=>
{
return
(
<>
<
ElButton
type
=
"primary"
onClick
=
{()
=>
changeStatus
(
row
)}
>
{
row
.
flowStatus
===
'pending'
?
'查看并审核'
:
'查看'
}
<
/ElButton
>
<
/
>
);
},
},
}
],
],
onCheckboxChange
:
onCheckboxChange
,
onCheckboxChange
:
onCheckboxChange
,
onCheckboxAll
:
onCheckboxAll
,
onCheckboxAll
:
onCheckboxAll
,
...
...
src/views/business-approval/reduction-apply/components/reduceDrawer.vue
0 → 100644
View file @
ea82dbc6
This diff is collapsed.
Click to expand it.
src/views/business-approval/reduction-apply/index.vue
View file @
ea82dbc6
...
@@ -17,96 +17,7 @@
...
@@ -17,96 +17,7 @@
</el-tab-pane>
</el-tab-pane>
</el-tabs>
</el-tabs>
</div>
</div>
<ProTable
:config=
"config"
ref=
"ProTableRef"
:api=
"getReducePage"
:selectdList=
"selectdList"
:paramCallback=
"paramCallback"
>
<ProTable
:config=
"config"
ref=
"ProTableRef"
:api=
"getReducePage"
:paramCallback=
"paramCallback"
>
<
template
#
left_buttons
>
<!--
<el-button
type=
"primary"
>
下载申请
</el-button>
-->
<el-button
type=
"primary"
@
click=
"changeStatus"
:disabled=
"!selectdList || !selectdList.length"
>
审批
</el-button>
<!--
<el-button
type=
"primary"
>
下载
</el-button>
<el-button
type=
"primary"
>
批量修复上传
</el-button>
-->
</
template
>
<
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
?.
reduceAmount
}}
</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
?
CaseStatus
?.
find
((
v
)
=>
v
.
value
===
item
?.
loan
?.
caseStatus
)?.
label
:
''
}}
</td
>
</tr>
<tr>
<td
class=
"label"
>
手续费
</td>
<td>
{{
item
?.
loan
?.
commission
}}
</td>
<td
class=
"label"
>
跟进结果
</td>
<td>
{{
item
?.
loan
?.
followStatus
?
FollowStatus
?.
find
((
v
)
=>
v
.
value
===
item
?.
loan
?.
followStatus
)?.
label
:
''
}}
</td>
<td
class=
"label"
>
跟进状态
</td>
<td>
{{
item
?.
loan
?.
phoneResultStatus
?
PhoneResultStatus
?.
find
(
(
v
)
=>
v
.
value
===
item
?.
loan
?.
phoneResultStatus
)?.
label
:
''
}}
</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</
template
>
</ProTable>
</ProTable>
<vxe-modal
<vxe-modal
resize
resize
...
@@ -126,12 +37,17 @@
...
@@ -126,12 +37,17 @@
<el-button
type=
"primary"
@
click=
"submitForm('pass')"
>
通过
</el-button>
<el-button
type=
"primary"
@
click=
"submitForm('pass')"
>
通过
</el-button>
</
template
>
</
template
>
</vxe-modal>
</vxe-modal>
<reduceDrawer
ref=
"reduceDrawerRef"
@
success=
"query"
></reduceDrawer>
<el-image-viewer
:url-list=
"srcList"
v-if=
"RefImage"
@
close=
"RefImage = false"
/>
<el-image-viewer
:url-list=
"srcList"
v-if=
"RefImage"
@
close=
"RefImage = false"
/>
</div>
</div>
</template>
</template>
<
script
setup
name=
"systemLog"
lang=
"jsx"
>
<
script
setup
name=
"systemLog"
lang=
"jsx"
>
import
{
computed
}
from
'vue'
;
import
{
computed
}
from
'vue'
;
import
reduceDrawer
from
'./components/reduceDrawer.vue'
;
import
{
reactive
,
ref
}
from
'vue'
;
import
{
reactive
,
ref
}
from
'vue'
;
import
{
getReducePage
,
getReduceTotal
,
flowStatusByIds
}
from
'@/api/property'
;
import
{
getReducePage
,
getReduceTotal
,
flowStatusByIds
}
from
'@/api/property'
;
import
{
onMounted
}
from
'vue'
;
import
{
onMounted
}
from
'vue'
;
...
@@ -142,6 +58,7 @@
...
@@ -142,6 +58,7 @@
import
{
Download
}
from
'@element-plus/icons-vue'
;
import
{
Download
}
from
'@element-plus/icons-vue'
;
import
{
getAppEnvConfig
}
from
'@/utils/env'
;
import
{
getAppEnvConfig
}
from
'@/utils/env'
;
const
envs
=
getAppEnvConfig
();
const
envs
=
getAppEnvConfig
();
const
reduceDrawerRef
=
ref
();
const
{
PhoneResultStatus
,
ReduceType
,
FlowStatus
,
FollowStatus
,
CaseStatus
}
=
useDict
(
"PhoneResultStatus"
,
"ReduceType"
,
"FlowStatus"
,
"FollowStatus"
,
"CaseStatus"
);
const
{
PhoneResultStatus
,
ReduceType
,
FlowStatus
,
FollowStatus
,
CaseStatus
}
=
useDict
(
"PhoneResultStatus"
,
"ReduceType"
,
"FlowStatus"
,
"FollowStatus"
,
"CaseStatus"
);
const
downloadfile
=
inject
(
'download'
);
const
downloadfile
=
inject
(
'download'
);
...
@@ -159,6 +76,11 @@
...
@@ -159,6 +76,11 @@
const
name
=
item
.
slice
(
item
.
lastIndexOf
(
'/'
)
+
1
,
item
.
length
);
const
name
=
item
.
slice
(
item
.
lastIndexOf
(
'/'
)
+
1
,
item
.
length
);
downloadfile
(
'/sys/static/'
+
item
,
{},
name
);
downloadfile
(
'/sys/static/'
+
item
,
{},
name
);
};
};
const
changeStatus
=
async
(
row
)
=>
{
reduceDrawerRef
.
value
.
openModal
(
JSON
.
parse
(
JSON
.
stringify
(
row
))
);
};
const
paramCallback
=
(
param
)
=>
{
const
paramCallback
=
(
param
)
=>
{
const
obj
=
JSON
.
parse
(
JSON
.
stringify
(
param
));
const
obj
=
JSON
.
parse
(
JSON
.
stringify
(
param
));
obj
[
'flowStatus'
]
=
activeName
.
value
;
obj
[
'flowStatus'
]
=
activeName
.
value
;
...
@@ -201,9 +123,6 @@
...
@@ -201,9 +123,6 @@
selectdList
.
value
=
[];
selectdList
.
value
=
[];
}
}
};
};
const
changeStatus
=
async
()
=>
{
showModal
.
value
=
true
;
};
const
handleClick
=
()
=>
{
const
handleClick
=
()
=>
{
setTimeout
(()
=>
{
setTimeout
(()
=>
{
query
();
query
();
...
@@ -235,8 +154,8 @@
...
@@ -235,8 +154,8 @@
const
config
=
computed
(()
=>
{
const
config
=
computed
(()
=>
{
return
{
return
{
columns
:
[
columns
:
[
{
type
:
'checkbox'
,
width
:
60
,
fixed
:
'left'
},
//
{ type: 'checkbox', width: 60, fixed: 'left' },
{
type
:
'expand'
,
width
:
40
,
slots
:
{
content
:
'expand_content'
}
},
//
{ type: 'expand', width: 40, slots: { content: 'expand_content' } },
{
{
field
:
'caseId'
,
field
:
'caseId'
,
title
:
'案件ID'
,
title
:
'案件ID'
,
...
@@ -287,9 +206,9 @@
...
@@ -287,9 +206,9 @@
width
:
120
,
width
:
120
,
},
},
{
{
title
:
'
CPE
'
,
title
:
'
发起人
'
,
showOverflow
:
'tooltip'
,
showOverflow
:
'tooltip'
,
width
:
6
0
,
width
:
7
0
,
slots
:
{
slots
:
{
default
:
({
row
})
=>
{
default
:
({
row
})
=>
{
if
(
row
.
cpe
?.
username
)
{
if
(
row
.
cpe
?.
username
)
{
...
@@ -372,6 +291,7 @@
...
@@ -372,6 +291,7 @@
field
:
'applyDate'
,
field
:
'applyDate'
,
title
:
'减免截止时间'
,
title
:
'减免截止时间'
,
showOverflow
:
'tooltip'
,
showOverflow
:
'tooltip'
,
width
:
120
,
search
:
{
search
:
{
el
:
'date-picker'
,
el
:
'date-picker'
,
labelWidth
:
90
,
labelWidth
:
90
,
...
@@ -381,6 +301,7 @@
...
@@ -381,6 +301,7 @@
{
{
field
:
'inEffectDate'
,
field
:
'inEffectDate'
,
title
:
'减免生效时间'
,
title
:
'减免生效时间'
,
width
:
120
,
showOverflow
:
'tooltip'
,
showOverflow
:
'tooltip'
,
search
:
{
search
:
{
el
:
'date-picker'
,
el
:
'date-picker'
,
...
@@ -388,6 +309,22 @@
...
@@ -388,6 +309,22 @@
props
:
{
type
:
'datetime'
,
valueFormat
:
'YYYY-MM-DD HH:mm:ss'
},
props
:
{
type
:
'datetime'
,
valueFormat
:
'YYYY-MM-DD HH:mm:ss'
},
},
},
},
},
{
field
:
'code'
,
title
:
'操作'
,
width
:
120
,
slots
:
{
default
:
({
row
,
rowIndex
})
=>
{
return
(
<>
<
ElButton
type
=
"primary"
onClick
=
{()
=>
changeStatus
(
row
)}
>
{
row
.
flowStatus
===
'pending'
?
'查看并审核'
:
'查看'
}
<
/ElButton
>
<
/
>
);
},
},
}
],
],
onCheckboxChange
:
onCheckboxChange
,
onCheckboxChange
:
onCheckboxChange
,
onCheckboxAll
:
onCheckboxAll
,
onCheckboxAll
:
onCheckboxAll
,
...
...
src/views/business-approval/repayment-approve/index.vue
View file @
ea82dbc6
...
@@ -40,7 +40,7 @@
...
@@ -40,7 +40,7 @@
esc-closable
esc-closable
>
>
<div
class=
"w-full px-3 h-full overflow-auto flex-col flex mytable"
>
<div
class=
"w-full px-3 h-full overflow-auto flex-col flex mytable"
>
是否审批通过
选中
的数据?
是否审批通过
{{currentRow ? `借款人${currentRow?.borrower?.name}, 还款金额${currentRow?.realRepayAmount}`: '选中'}}
的数据?
</div>
</div>
<
template
#
footer
>
<
template
#
footer
>
<el-button
type=
"default"
@
click=
"showModal = false"
>
取消
</el-button>
<el-button
type=
"default"
@
click=
"showModal = false"
>
取消
</el-button>
...
@@ -62,6 +62,7 @@
...
@@ -62,6 +62,7 @@
const
{
RepayType
,
FlowStatus
}
=
useDict
(
"RepayType"
,
"FlowStatus"
);
const
{
RepayType
,
FlowStatus
}
=
useDict
(
"RepayType"
,
"FlowStatus"
);
const
ProTableRef
=
ref
();
const
ProTableRef
=
ref
();
const
showModal
=
ref
(
false
);
const
showModal
=
ref
(
false
);
const
currentRow
=
ref
(
null
);
const
activeName
=
ref
(
'pending'
);
const
activeName
=
ref
(
'pending'
);
const
tabs
=
ref
([]);
const
tabs
=
ref
([]);
const
selectdList
=
ref
([]);
const
selectdList
=
ref
([]);
...
@@ -116,7 +117,12 @@
...
@@ -116,7 +117,12 @@
},
500
)
},
500
)
return
obj
;
return
obj
;
};
};
const
changeStatus
=
async
()
=>
{
const
changeStatus
=
async
(
row
)
=>
{
if
(
row
.
id
)
{
currentRow
.
value
=
row
}
else
{
currentRow
.
value
=
null
}
showModal
.
value
=
true
;
showModal
.
value
=
true
;
};
};
const
submitForm
=
async
(
type
)
=>
{
const
submitForm
=
async
(
type
)
=>
{
...
@@ -160,7 +166,7 @@
...
@@ -160,7 +166,7 @@
}
}
},
},
},
},
width
:
80
,
width
:
1
80
,
},
},
{
{
field
:
'borrower.name'
,
field
:
'borrower.name'
,
...
@@ -172,7 +178,7 @@
...
@@ -172,7 +178,7 @@
{
{
title
:
'CPE'
,
title
:
'CPE'
,
showOverflow
:
'tooltip'
,
showOverflow
:
'tooltip'
,
width
:
6
0
,
width
:
8
0
,
slots
:
{
slots
:
{
default
:
({
row
})
=>
{
default
:
({
row
})
=>
{
if
(
row
.
reduce
&&
row
.
reduce
.
reduceRecords
)
{
if
(
row
.
reduce
&&
row
.
reduce
.
reduceRecords
)
{
...
@@ -220,6 +226,7 @@
...
@@ -220,6 +226,7 @@
{
{
field
:
'realRepayAmount'
,
field
:
'realRepayAmount'
,
title
:
'实际还款金额'
,
title
:
'实际还款金额'
,
width
:
140
,
showOverflow
:
'tooltip'
,
showOverflow
:
'tooltip'
,
search
:
{
el
:
'input'
,
labelWidth
:
90
},
search
:
{
el
:
'input'
,
labelWidth
:
90
},
},
},
...
@@ -232,7 +239,7 @@
...
@@ -232,7 +239,7 @@
labelWidth
:
90
,
labelWidth
:
90
,
props
:
{
type
:
'datetime'
,
valueFormat
:
'YYYY-MM-DD HH:mm:ss'
},
props
:
{
type
:
'datetime'
,
valueFormat
:
'YYYY-MM-DD HH:mm:ss'
},
},
},
width
:
1
15
,
width
:
1
40
,
},
},
{
{
field
:
'reduce.totalPayAmount'
,
field
:
'reduce.totalPayAmount'
,
...
@@ -255,7 +262,7 @@
...
@@ -255,7 +262,7 @@
);
);
},
},
},
},
width
:
8
0
,
width
:
10
0
,
},
},
{
{
field
:
'loanPlatform'
,
field
:
'loanPlatform'
,
...
@@ -284,6 +291,23 @@
...
@@ -284,6 +291,23 @@
},
},
},
},
},
},
{
field
:
'code'
,
title
:
'操作'
,
width
:
120
,
visible
:
activeName
.
value
===
'pending'
?
true
:
false
,
slots
:
{
default
:
({
row
,
rowIndex
})
=>
{
return
(
<>
<
ElButton
type
=
"primary"
onClick
=
{()
=>
changeStatus
(
row
)}
>
审批
<
/ElButton
>
<
/
>
);
},
},
}
],
],
onCheckboxChange
:
onCheckboxChange
,
onCheckboxChange
:
onCheckboxChange
,
onCheckboxAll
:
onCheckboxAll
,
onCheckboxAll
:
onCheckboxAll
,
...
...
src/views/property/audit-manage/index.vue
View file @
ea82dbc6
...
@@ -29,6 +29,7 @@
...
@@ -29,6 +29,7 @@
<
template
#
left_buttons
>
<
template
#
left_buttons
>
<el-button
<el-button
type=
"primary"
type=
"primary"
v-if=
"activeName === 'un_audit'"
@
click=
"audit"
@
click=
"audit"
v-permission=
"'send_audio'"
v-permission=
"'send_audio'"
:disabled=
"!selectdList || selectdList.length === 0"
:disabled=
"!selectdList || selectdList.length === 0"
...
...
src/views/property/case-detail/components/callDrawer.vue
View file @
ea82dbc6
...
@@ -238,7 +238,7 @@
...
@@ -238,7 +238,7 @@
import
dayjs
from
'dayjs'
;
import
dayjs
from
'dayjs'
;
import
{
computed
}
from
'vue'
;
import
{
computed
}
from
'vue'
;
import
{
reactive
,
ref
}
from
'vue'
;
import
{
reactive
,
ref
}
from
'vue'
;
import
{
ElInputNumber
,
ElMessage
}
from
'element-plus'
;
import
{
ElInputNumber
,
ElMessage
,
ElTag
}
from
'element-plus'
;
import
{
Upload
}
from
'@element-plus/icons-vue'
;
import
{
Upload
}
from
'@element-plus/icons-vue'
;
import
{
getAppEnvConfig
}
from
'@/utils/env'
;
import
{
getAppEnvConfig
}
from
'@/utils/env'
;
import
{
saveTrackRecord
}
from
'@/api/property'
;
import
{
saveTrackRecord
}
from
'@/api/property'
;
...
@@ -397,9 +397,9 @@
...
@@ -397,9 +397,9 @@
const
config
=
reactive
({
const
config
=
reactive
({
minHeight
:
200
,
minHeight
:
200
,
checkboxConfig
:
{
checkboxConfig
:
{
checkMethod
:
({
row
})
=>
{
//
checkMethod: ({ row }) => {
return
props
.
mergerCase
!==
'Y'
;
//
return props.mergerCase !== 'Y';
},
//
},
},
},
columns
:
[
columns
:
[
{
type
:
'checkbox'
,
width
:
60
,
fixed
:
'left'
},
{
type
:
'checkbox'
,
width
:
60
,
fixed
:
'left'
},
...
@@ -408,6 +408,17 @@
...
@@ -408,6 +408,17 @@
title
:
'案件ID'
,
title
:
'案件ID'
,
showOverflow
:
'tooltip'
,
showOverflow
:
'tooltip'
,
},
},
{
field
:
'mergerCase'
,
title
:
'是否共案处理'
,
showOverflow
:
'tooltip'
,
width
:
100
,
slots
:
{
default
:
({
row
})
=>
{
return
<
ElTag
>
{
row
.
mergerCase
==
'Y'
?
'是'
:
'否'
}
<
/ElTag>
;
},
},
},
{
{
field
:
'product'
,
field
:
'product'
,
title
:
'产品'
,
title
:
'产品'
,
...
...
src/views/property/case-detail/components/reduceDrawer.vue
View file @
ea82dbc6
...
@@ -125,7 +125,7 @@
...
@@ -125,7 +125,7 @@
import
{
computed
}
from
'vue'
;
import
{
computed
}
from
'vue'
;
import
{
reactive
,
ref
}
from
'vue'
;
import
{
reactive
,
ref
}
from
'vue'
;
import
{
saveReduce
}
from
'@/api/property'
;
import
{
saveReduce
}
from
'@/api/property'
;
import
{
ElMessage
}
from
'element-plus'
;
import
{
ElMessage
,
ElTag
}
from
'element-plus'
;
import
{
Download
,
ZoomIn
}
from
'@element-plus/icons-vue'
;
import
{
Download
,
ZoomIn
}
from
'@element-plus/icons-vue'
;
import
{
onMounted
}
from
'vue'
;
import
{
onMounted
}
from
'vue'
;
import
{
watch
}
from
'vue'
;
import
{
watch
}
from
'vue'
;
...
@@ -233,9 +233,9 @@
...
@@ -233,9 +233,9 @@
};
};
const
config
=
reactive
({
const
config
=
reactive
({
checkboxConfig
:
{
checkboxConfig
:
{
checkMethod
:
({
row
})
=>
{
//
checkMethod: ({ row }) => {
return
props
.
mergerCase
!==
'Y'
;
//
return props.mergerCase !== 'Y';
},
//
},
},
},
minHeight
:
200
,
minHeight
:
200
,
columns
:
[
columns
:
[
...
@@ -246,6 +246,17 @@
...
@@ -246,6 +246,17 @@
showOverflow
:
'tooltip'
,
showOverflow
:
'tooltip'
,
title
:
'案件ID'
,
title
:
'案件ID'
,
},
},
{
field
:
'mergerCase'
,
title
:
'是否共案处理'
,
showOverflow
:
'tooltip'
,
width
:
100
,
slots
:
{
default
:
({
row
})
=>
{
return
<
ElTag
>
{
row
.
loan
.
mergerCase
==
'Y'
?
'是'
:
'否'
}
<
/ElTag>
;
},
},
},
{
{
field
:
'loan.product'
,
field
:
'loan.product'
,
width
:
100
,
width
:
100
,
...
...
src/views/property/case-detail/components/returnModal.vue
View file @
ea82dbc6
...
@@ -26,7 +26,7 @@
...
@@ -26,7 +26,7 @@
<td
class=
"label"
>
减免生效时间
</td>
<td
class=
"label"
>
减免生效时间
</td>
<td>
{{
currentInfo
.
inEffectDate
}}
</td>
<td>
{{
currentInfo
.
inEffectDate
}}
</td>
<td
class=
"label"
>
应还金额
</td>
<td
class=
"label"
>
应还金额
</td>
<td
colspan=
"5"
>
{{
currentInfo
.
totalPayAmount
}}
</td>
<td
colspan=
"5"
>
{{
Decimal
(
currentInfo
.
remainingAmount
).
sub
(
currentInfo
.
totalReduceAmount
)
}}
</td>
</tr>
</tr>
<!-- Add more rows as needed -->
<!-- Add more rows as needed -->
</table>
</table>
...
@@ -188,9 +188,10 @@
...
@@ -188,9 +188,10 @@
<
script
setup
lang=
"jsx"
name=
"allocationModal"
>
<
script
setup
lang=
"jsx"
name=
"allocationModal"
>
import
{
computed
}
from
'vue'
;
import
{
computed
}
from
'vue'
;
import
dayjs
from
'dayjs'
;
import
dayjs
from
'dayjs'
;
import
Decimal
from
'decimal.js'
;
import
{
reactive
,
ref
}
from
'vue'
;
import
{
reactive
,
ref
}
from
'vue'
;
import
{
getAppEnvConfig
}
from
'@/utils/env'
;
import
{
getAppEnvConfig
}
from
'@/utils/env'
;
import
{
ElMessage
}
from
'element-plus'
;
import
{
ElMessage
,
ElTag
}
from
'element-plus'
;
import
{
useDict
}
from
'@/hooks/useDict'
;
import
{
useDict
}
from
'@/hooks/useDict'
;
const
{
PhoneResultStatus
,
RepayType
,
FlowStatus
,
FollowStatus
,
AuditStatus
,
CaseStatus
}
=
useDict
(
"PhoneResultStatus"
,
"RepayType"
,
"FlowStatus"
,
"FollowStatus"
,
"AuditStatus"
,
"CaseStatus"
);
const
{
PhoneResultStatus
,
RepayType
,
FlowStatus
,
FollowStatus
,
AuditStatus
,
CaseStatus
}
=
useDict
(
"PhoneResultStatus"
,
"RepayType"
,
"FlowStatus"
,
"FollowStatus"
,
"AuditStatus"
,
"CaseStatus"
);
import
{
saveRepayRecord
}
from
'@/api/property'
;
import
{
saveRepayRecord
}
from
'@/api/property'
;
...
@@ -216,7 +217,7 @@
...
@@ -216,7 +217,7 @@
const
radio
=
ref
(
0
);
const
radio
=
ref
(
0
);
const
validaterealRepayAmount
=
(
rule
,
value
,
callback
)
=>
{
const
validaterealRepayAmount
=
(
rule
,
value
,
callback
)
=>
{
if
(
if
(
Number
(
value
)
!==
Number
(
currentInfo
.
value
.
totalPayAmount
)
&&
Number
(
value
)
!==
Number
(
Decimal
(
currentInfo
.
value
.
remainingAmount
).
sub
(
currentInfo
.
value
.
totalReduceAmount
)
)
&&
currentType
.
value
===
'结清减免还款'
currentType
.
value
===
'结清减免还款'
)
{
)
{
callback
(
new
Error
(
'*金额必须等于应还金额'
));
callback
(
new
Error
(
'*金额必须等于应还金额'
));
...
...
src/views/property/case-detail/components/splitDrawer.vue
View file @
ea82dbc6
...
@@ -178,7 +178,7 @@
...
@@ -178,7 +178,7 @@
import
dayjs
from
'dayjs'
;
import
dayjs
from
'dayjs'
;
import
{
computed
}
from
'vue'
;
import
{
computed
}
from
'vue'
;
import
{
reactive
,
ref
}
from
'vue'
;
import
{
reactive
,
ref
}
from
'vue'
;
import
{
ElInputNumber
,
ElMessage
}
from
'element-plus'
;
import
{
ElInputNumber
,
ElMessage
,
ElTag
}
from
'element-plus'
;
import
{
savebyStages
}
from
'@/api/property'
;
import
{
savebyStages
}
from
'@/api/property'
;
import
{
getByIdPlatforms
}
from
'@/api/platform'
;
import
{
getByIdPlatforms
}
from
'@/api/platform'
;
import
{
getAppEnvConfig
}
from
'@/utils/env'
;
import
{
getAppEnvConfig
}
from
'@/utils/env'
;
...
@@ -373,9 +373,9 @@
...
@@ -373,9 +373,9 @@
};
};
const
config
=
reactive
({
const
config
=
reactive
({
checkboxConfig
:
{
checkboxConfig
:
{
checkMethod
:
({
row
})
=>
{
//
checkMethod: ({ row }) => {
return
props
.
mergerCase
!==
'Y'
;
//
return props.mergerCase !== 'Y';
},
//
},
},
},
minHeight
:
200
,
minHeight
:
200
,
columns
:
[
columns
:
[
...
@@ -385,6 +385,17 @@
...
@@ -385,6 +385,17 @@
title
:
'案件ID'
,
title
:
'案件ID'
,
showOverflow
:
'tooltip'
,
showOverflow
:
'tooltip'
,
},
},
{
field
:
'mergerCase'
,
title
:
'是否共案处理'
,
showOverflow
:
'tooltip'
,
width
:
100
,
slots
:
{
default
:
({
row
})
=>
{
return
<
ElTag
>
{
row
.
mergerCase
==
'Y'
?
'是'
:
'否'
}
<
/ElTag>
;
},
},
},
{
{
field
:
'product'
,
field
:
'product'
,
title
:
'产品'
,
title
:
'产品'
,
...
...
src/views/property/case-manage/index.vue
View file @
ea82dbc6
...
@@ -378,7 +378,7 @@
...
@@ -378,7 +378,7 @@
},
},
},
},
enum
:
()
=>
getTenantPage
({
current
:
1
,
size
:
999999999
,
status
:
'enable'
}),
enum
:
()
=>
getTenantPage
({
current
:
1
,
size
:
999999999
,
status
:
'enable'
}),
search
:
authButtonListGet
.
includes
(
'allcation_for_tenant'
)
?
{
el
:
'select'
,
props
:
{
filterable
:
true
},
key
:
'tenant'
,
labelWidth
:
105
}
:
null
,
search
:
authButtonListGet
.
includes
(
'allcation_for_tenant'
)
?
{
el
:
'select'
,
props
:
{
filterable
:
true
},
key
:
'tenant'
,
labelWidth
:
90
}
:
null
,
fieldNames
:
{
label
:
'name'
,
value
:
'id'
},
fieldNames
:
{
label
:
'name'
,
value
:
'id'
},
title
:
'调解中心'
,
title
:
'调解中心'
,
width
:
100
,
width
:
100
,
...
...
src/views/property/import/index.vue
View file @
ea82dbc6
...
@@ -211,18 +211,21 @@
...
@@ -211,18 +211,21 @@
{
{
field
:
'code'
,
field
:
'code'
,
title
:
'导入批次'
,
title
:
'导入批次'
,
width
:
100
,
showOverflow
:
'tooltip'
,
showOverflow
:
'tooltip'
,
search
:
{
el
:
'input'
,
props
:
{
clearable
:
true
}
},
search
:
{
el
:
'input'
,
props
:
{
clearable
:
true
}
},
},
},
{
{
field
:
'maxStagesNum'
,
field
:
'maxStagesNum'
,
title
:
'分期最大期数'
,
title
:
'分期最大期数'
,
width
:
120
,
showOverflow
:
'tooltip'
,
showOverflow
:
'tooltip'
,
search
:
{
el
:
'input'
,
props
:
{
clearable
:
true
}
},
search
:
{
el
:
'input'
,
props
:
{
clearable
:
true
}
},
},
},
{
{
field
:
'minAmount'
,
field
:
'minAmount'
,
title
:
'最低分期金额'
,
title
:
'最低分期金额'
,
width
:
120
,
showOverflow
:
'tooltip'
,
showOverflow
:
'tooltip'
,
search
:
{
el
:
'input'
,
props
:
{
clearable
:
true
}
},
search
:
{
el
:
'input'
,
props
:
{
clearable
:
true
}
},
},
},
...
@@ -230,7 +233,7 @@
...
@@ -230,7 +233,7 @@
field
:
'mergerCase'
,
field
:
'mergerCase'
,
title
:
'是否共案处理'
,
title
:
'是否共案处理'
,
showOverflow
:
'tooltip'
,
showOverflow
:
'tooltip'
,
width
:
1
0
0
,
width
:
1
1
0
,
slots
:
{
slots
:
{
default
:
({
row
})
=>
{
default
:
({
row
})
=>
{
return
<
ElTag
>
{
row
.
mergerCase
==
'Y'
?
'是'
:
'否'
}
<
/ElTag>
;
return
<
ElTag
>
{
row
.
mergerCase
==
'Y'
?
'是'
:
'否'
}
<
/ElTag>
;
...
@@ -241,6 +244,7 @@
...
@@ -241,6 +244,7 @@
field
:
'code'
,
field
:
'code'
,
title
:
'资产类型'
,
title
:
'资产类型'
,
enum
:
options
,
enum
:
options
,
width
:
100
,
showOverflow
:
'tooltip'
,
showOverflow
:
'tooltip'
,
search
:
{
el
:
'select'
,
props
:
{
filterable
:
true
}
},
search
:
{
el
:
'select'
,
props
:
{
filterable
:
true
}
},
fieldNames
:
{
label
:
'genderLabel'
,
value
:
'genderValue'
},
fieldNames
:
{
label
:
'genderLabel'
,
value
:
'genderValue'
},
...
@@ -248,16 +252,19 @@
...
@@ -248,16 +252,19 @@
{
{
field
:
'totalCaseNum'
,
field
:
'totalCaseNum'
,
showOverflow
:
'tooltip'
,
showOverflow
:
'tooltip'
,
width
:
100
,
title
:
'案件总数'
,
title
:
'案件总数'
,
},
},
{
{
field
:
'totalAmount'
,
field
:
'totalAmount'
,
showOverflow
:
'tooltip'
,
showOverflow
:
'tooltip'
,
width
:
120
,
title
:
'案件总金额'
,
title
:
'案件总金额'
,
},
},
{
{
field
:
'totalBorrowerNum'
,
field
:
'totalBorrowerNum'
,
showOverflow
:
'tooltip'
,
showOverflow
:
'tooltip'
,
width
:
100
,
title
:
'客户总数'
,
title
:
'客户总数'
,
},
},
{
{
...
@@ -287,7 +294,7 @@
...
@@ -287,7 +294,7 @@
field
:
'action'
,
field
:
'action'
,
title
:
'文件地址'
,
title
:
'文件地址'
,
showOverflow
:
'tooltip'
,
showOverflow
:
'tooltip'
,
width
:
20
0
,
width
:
8
0
,
slots
:
{
slots
:
{
default
:
({
row
})
=>
{
default
:
({
row
})
=>
{
return
(
return
(
...
@@ -317,7 +324,7 @@
...
@@ -317,7 +324,7 @@
code
:
''
,
code
:
''
,
maxStagesNum
:
''
,
maxStagesNum
:
''
,
minAmount
:
''
,
minAmount
:
''
,
mergerCase
:
'
N
'
,
mergerCase
:
'
Y
'
,
discount
:
''
,
discount
:
''
,
});
});
const
upload
=
reactive
({
const
upload
=
reactive
({
...
...
src/views/workplace/audit/index.vue
View file @
ea82dbc6
...
@@ -29,6 +29,7 @@
...
@@ -29,6 +29,7 @@
<
template
#
left_buttons
>
<
template
#
left_buttons
>
<el-button
<el-button
type=
"primary"
type=
"primary"
v-if=
"activeName === 'un_audit'"
@
click=
"audit"
@
click=
"audit"
v-permission=
"'send_audio'"
v-permission=
"'send_audio'"
:disabled=
"!selectdList || selectdList.length === 0"
:disabled=
"!selectdList || selectdList.length === 0"
...
...
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