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
9dc6b9f9
Commit
9dc6b9f9
authored
Feb 05, 2025
by
沈翠玲
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
调整布局
parent
fc669198
Hide whitespace changes
Inline
Side-by-side
Showing
17 changed files
with
397 additions
and
247 deletions
+397
-247
bootstrap.js
src/bootstrap.js
+0
-1
vxe-table.js
src/plugins/vxe-table.js
+4
-0
element-variables.scss
src/styles/element-variables.scss
+0
-5
element.scss
src/styles/element.scss
+1
-1
index.vue
src/views/business-approval/by-stages-apply/index.vue
+24
-9
index.vue
src/views/business-approval/reduction-apply/index.vue
+20
-8
index.vue
src/views/business-approval/repayment-approve/index.vue
+18
-8
index.vue
src/views/property/audit-manage/index.vue
+17
-4
index.vue
src/views/property/case-allocation/index.vue
+12
-5
index.vue
src/views/property/case-detail/index.vue
+245
-190
index.vue
src/views/property/import/index.vue
+15
-3
index.vue
src/views/system/ManageOrg/index.vue
+17
-6
index.vue
src/views/system/accountManage/index.vue
+1
-0
index.vue
src/views/system/platformManage/index.vue
+1
-0
index.vue
src/views/system/roleManage/index.vue
+1
-0
index.vue
src/views/system/tenantManage/index.vue
+1
-0
index.vue
src/views/workplace/todo/index.vue
+20
-7
No files found.
src/bootstrap.js
View file @
9dc6b9f9
...
...
@@ -8,7 +8,6 @@ import { setupDirectives } from '@/plugins/directives';
import
{
setupVxeTabele
}
from
'./plugins/vxe-table'
;
import
ProTable
from
'@/components/ProTable/index.vue'
;
import
{
download
}
from
'@/utils/http/index'
;
import
'./styles/element-variables.scss'
;
export
async
function
bootstrapInstall
()
{
const
app
=
createApp
(
App
);
...
...
src/plugins/vxe-table.js
View file @
9dc6b9f9
...
...
@@ -13,6 +13,8 @@ import {
VxePrint
,
VxeTooltip
,
VxeUpload
,
VxeTabPane
,
VxeTabs
,
VxeCheckbox
,
VxeNumberInput
,
VxeRadioGroup
,
...
...
@@ -48,6 +50,8 @@ function lazyVxeUI(app) {
app
.
use
(
VxeTooltip
);
app
.
use
(
VxeUpload
);
app
.
use
(
VxeCheckbox
);
app
.
use
(
VxeTabPane
);
app
.
use
(
VxeTabs
);
app
.
use
(
VxeNumberInput
);
app
.
use
(
VxeRadioGroup
);
}
...
...
src/styles/element-variables.scss
deleted
100644 → 0
View file @
fc669198
// element-variables.scss
@import
'element-plus/theme-chalk/src/index.scss'
;
$--font-size
:
13px
;
src/styles/element.scss
View file @
9dc6b9f9
...
...
@@ -103,7 +103,7 @@
display
:
flex
;
align-items
:
center
;
justify-content
:
flex-end
;
margin-bottom
:
18
px
;
// margin-bottom: 10
px;
}
}
...
...
src/views/business-approval/by-stages-apply/index.vue
View file @
9dc6b9f9
...
...
@@ -243,7 +243,8 @@
{
field
:
'caseId'
,
title
:
'案件ID'
,
search
:
{
el
:
'input'
},
showOverflow
:
'tooltip'
,
search
:
{
el
:
'input'
,
labelWidth
:
80
},
slots
:
{
default
:
({
row
})
=>
{
return
<>
{
row
.
loans
.
map
((
v
)
=>
v
.
caseId
).
join
(
','
)}
<
/>
;
...
...
@@ -253,71 +254,85 @@
},
{
field
:
'loanPlatform.name'
,
showOverflow
:
'tooltip'
,
title
:
'借款机构'
,
slots
:
{
default
:
({
row
})
=>
{
return
<>
{
row
.
loans
.
map
((
v
)
=>
v
.
loanPlatform
.
name
).
join
(
','
)}
<
/>
;
},
},
search
:
{
el
:
'input'
},
search
:
{
el
:
'input'
,
labelWidth
:
80
},
},
{
field
:
'borrower.name'
,
showOverflow
:
'tooltip'
,
title
:
'借款人名字'
,
search
:
{
el
:
'input'
,
key
:
'borrower'
},
search
:
{
el
:
'input'
,
key
:
'borrower'
,
labelWidth
:
80
},
width
:
90
,
},
{
field
:
'totalRepayAmount'
,
showOverflow
:
'tooltip'
,
title
:
'还款总额'
,
search
:
{
el
:
'input'
},
search
:
{
el
:
'input'
,
labelWidth
:
80
},
width
:
80
,
},
{
field
:
'applyDate'
,
title
:
'分期申请时间'
,
showOverflow
:
'tooltip'
,
search
:
{
el
:
'date-picker'
,
labelWidth
:
80
,
props
:
{
type
:
'datetime'
,
valueFormat
:
'YYYY-MM-DD HH:mm:ss'
},
},
width
:
115
,
},
{
field
:
'effectiveTime'
,
showOverflow
:
'tooltip'
,
title
:
'分期生效时间'
,
search
:
{
el
:
'date-picker'
,
labelWidth
:
80
,
props
:
{
type
:
'datetime'
,
valueFormat
:
'YYYY-MM-DD HH:mm:ss'
},
},
width
:
115
,
},
{
field
:
'totalPeriod'
,
showOverflow
:
'tooltip'
,
title
:
'还款期数'
,
enum
:
options
,
search
:
{
el
:
'select'
,
props
:
{
filterable
:
true
},
span
:
1
},
search
:
{
el
:
'select'
,
props
:
{
filterable
:
true
},
span
:
1
,
labelWidth
:
80
},
fieldNames
:
{
label
:
'label'
,
value
:
'value'
},
width
:
80
,
},
{
field
:
'firstApplyDate'
,
showOverflow
:
'tooltip'
,
title
:
'首期还款日'
,
search
:
{
el
:
'input'
},
search
:
{
el
:
'date-picker'
,
props
:
{
type
:
'date'
,
valueFormat
:
'YYYY-MM-DD'
}
},
search
:
{
el
:
'date-picker'
,
props
:
{
type
:
'date'
,
valueFormat
:
'YYYY-MM-DD'
},
labelWidth
:
80
,
},
width
:
100
,
},
{
field
:
'remainingAmount'
,
showOverflow
:
'tooltip'
,
title
:
'剩余待还金额'
,
search
:
{
el
:
'input'
},
search
:
{
el
:
'input'
,
labelWidth
:
80
},
width
:
110
,
},
{
field
:
'flowStatus'
,
title
:
'审核状态'
,
showOverflow
:
'tooltip'
,
width
:
80
,
enum
:
flowStatusOpt
,
search
:
{
el
:
'select'
,
props
:
{
filterable
:
true
},
span
:
1
},
search
:
{
el
:
'select'
,
props
:
{
filterable
:
true
},
span
:
1
,
labelWidth
:
80
},
fieldNames
:
{
label
:
'label'
,
value
:
'value'
},
slots
:
{
default
:
({
row
})
=>
{
...
...
src/views/business-approval/reduction-apply/index.vue
View file @
9dc6b9f9
...
...
@@ -190,7 +190,8 @@
{
field
:
'caseId'
,
title
:
'案件ID'
,
search
:
{
el
:
'input'
},
showOverflow
:
'tooltip'
,
search
:
{
el
:
'input'
,
labelWidth
:
80
},
slots
:
{
default
:
({
row
})
=>
{
return
<>
{
row
.
reduceRecords
.
map
((
v
)
=>
v
.
loan
.
caseId
).
join
(
','
)}
<
/>
;
...
...
@@ -201,39 +202,45 @@
{
field
:
'borrower.name'
,
title
:
'借款人名字'
,
search
:
{
el
:
'input'
,
key
:
'borrower'
},
showOverflow
:
'tooltip'
,
search
:
{
el
:
'input'
,
key
:
'borrower'
,
labelWidth
:
80
},
width
:
90
,
},
{
field
:
'totalReduceAmount'
,
showOverflow
:
'tooltip'
,
title
:
'减免金额'
,
search
:
{
el
:
'input'
},
search
:
{
el
:
'input'
,
labelWidth
:
80
},
width
:
120
,
},
{
field
:
'totalNumber'
,
showOverflow
:
'tooltip'
,
title
:
'减免案件数'
,
search
:
{
el
:
'input'
},
search
:
{
el
:
'input'
,
labelWidth
:
80
},
width
:
120
,
},
{
field
:
'remainingAmount'
,
showOverflow
:
'tooltip'
,
title
:
'剩余待还金额'
,
search
:
{
el
:
'input'
},
search
:
{
el
:
'input'
,
labelWidth
:
80
},
width
:
120
,
},
{
field
:
'totalPayAmount'
,
showOverflow
:
'tooltip'
,
title
:
'累计还款金额'
,
search
:
{
el
:
'input'
},
search
:
{
el
:
'input'
,
labelWidth
:
80
},
width
:
120
,
},
{
field
:
'reduceType'
,
title
:
'减免类型'
,
showOverflow
:
'tooltip'
,
width
:
80
,
enum
:
reduceTypeOpt
,
search
:
{
el
:
'select'
,
props
:
{
filterable
:
true
},
span
:
1
},
search
:
{
el
:
'select'
,
props
:
{
filterable
:
true
},
span
:
1
,
labelWidth
:
80
},
fieldNames
:
{
label
:
'label'
,
value
:
'value'
},
slots
:
{
default
:
({
row
})
=>
{
...
...
@@ -250,9 +257,10 @@
{
field
:
'flowStatus'
,
title
:
'审核状态'
,
showOverflow
:
'tooltip'
,
width
:
80
,
enum
:
flowStatusOpt
,
search
:
{
el
:
'select'
,
props
:
{
filterable
:
true
},
span
:
1
},
search
:
{
el
:
'select'
,
props
:
{
filterable
:
true
},
span
:
1
,
labelWidth
:
80
},
fieldNames
:
{
label
:
'label'
,
value
:
'value'
},
slots
:
{
default
:
({
row
})
=>
{
...
...
@@ -269,16 +277,20 @@
{
field
:
'applyDate'
,
title
:
'减免截止时间'
,
showOverflow
:
'tooltip'
,
search
:
{
el
:
'date-picker'
,
labelWidth
:
80
,
props
:
{
type
:
'datetime'
,
valueFormat
:
'YYYY-MM-DD HH:mm:ss'
},
},
},
{
field
:
'inEffectDate'
,
title
:
'减免生效时间'
,
showOverflow
:
'tooltip'
,
search
:
{
el
:
'date-picker'
,
labelWidth
:
80
,
props
:
{
type
:
'datetime'
,
valueFormat
:
'YYYY-MM-DD HH:mm:ss'
},
},
},
...
...
src/views/business-approval/repayment-approve/index.vue
View file @
9dc6b9f9
...
...
@@ -90,61 +90,71 @@
{
type
:
'checkbox'
,
width
:
50
},
{
field
:
'caseId'
,
showOverflow
:
'tooltip'
,
title
:
'案件ID'
,
search
:
{
el
:
'input'
},
search
:
{
el
:
'input'
,
labelWidth
:
80
},
width
:
80
,
},
{
field
:
'borrower.name'
,
title
:
'借款人名字'
,
search
:
{
el
:
'input'
,
key
:
'borrower'
},
showOverflow
:
'tooltip'
,
search
:
{
el
:
'input'
,
key
:
'borrower'
,
labelWidth
:
80
},
width
:
90
,
},
{
field
:
'id'
,
title
:
'还款记录ID'
,
search
:
{
el
:
'input'
},
showOverflow
:
'tooltip'
,
search
:
{
el
:
'input'
,
labelWidth
:
80
},
},
{
field
:
'realRepayAmount'
,
title
:
'实际还款金额'
,
search
:
{
el
:
'input'
},
showOverflow
:
'tooltip'
,
search
:
{
el
:
'input'
,
labelWidth
:
80
},
},
{
field
:
'realRepayTime'
,
showOverflow
:
'tooltip'
,
title
:
'实际还款时间'
,
search
:
{
el
:
'date-picker'
,
labelWidth
:
80
,
props
:
{
type
:
'datetime'
,
valueFormat
:
'YYYY-MM-DD HH:mm:ss'
},
},
width
:
115
,
},
{
field
:
'reduce.totalPayAmount'
,
showOverflow
:
'tooltip'
,
title
:
'应还金额'
,
search
:
{
el
:
'input'
,
key
:
'reduce.totalPayAmount'
},
search
:
{
el
:
'input'
,
key
:
'reduce.totalPayAmount'
,
labelWidth
:
80
},
width
:
115
,
},
{
field
:
'repayType'
,
showOverflow
:
'tooltip'
,
title
:
'还款方式'
,
enum
:
options
,
search
:
{
el
:
'select'
,
props
:
{
filterable
:
true
},
span
:
1
},
search
:
{
el
:
'select'
,
props
:
{
filterable
:
true
},
span
:
1
,
labelWidth
:
80
},
fieldNames
:
{
label
:
'label'
,
value
:
'value'
},
width
:
80
,
},
{
field
:
'stages.loans.loanPlatform.name'
,
title
:
'借款机构'
,
search
:
{
el
:
'input'
,
key
:
'payOrg'
},
showOverflow
:
'tooltip'
,
search
:
{
el
:
'input'
,
key
:
'payOrg'
,
labelWidth
:
80
},
width
:
100
,
},
{
field
:
'flowStatus'
,
title
:
'审核状态'
,
showOverflow
:
'tooltip'
,
width
:
80
,
enum
:
flowStatusOpt
,
search
:
{
el
:
'select'
,
props
:
{
filterable
:
true
},
span
:
1
},
search
:
{
el
:
'select'
,
props
:
{
filterable
:
true
},
span
:
1
,
labelWidth
:
80
},
fieldNames
:
{
label
:
'label'
,
value
:
'value'
},
slots
:
{
default
:
({
row
})
=>
{
...
...
src/views/property/audit-manage/index.vue
View file @
9dc6b9f9
...
...
@@ -131,10 +131,11 @@
return
{
columns
:
[
{
type
:
'checkbox'
,
title
:
''
,
width
:
40
},
{
field
:
'id'
,
title
:
'跟进记录ID'
,
width
:
90
},
{
field
:
'id'
,
title
:
'跟进记录ID'
,
showOverflow
:
'tooltip'
,
width
:
90
},
{
field
:
'caseId'
,
title
:
'案件ID'
,
showOverflow
:
'tooltip'
,
width
:
80
,
search
:
{
el
:
'input'
,
props
:
{
clearable
:
true
},
labelWidth
:
80
},
slots
:
{
...
...
@@ -146,6 +147,7 @@
{
field
:
'trackTime'
,
title
:
'跟进日期'
,
showOverflow
:
'tooltip'
,
width
:
100
,
search
:
{
el
:
'date-picker'
,
...
...
@@ -156,6 +158,7 @@
{
field
:
'nextTime'
,
title
:
'下次跟进时间'
,
showOverflow
:
'tooltip'
,
width
:
110
,
search
:
{
el
:
'date-picker'
,
...
...
@@ -166,12 +169,14 @@
{
field
:
'guarantor.name'
,
title
:
'联系人姓名'
,
showOverflow
:
'tooltip'
,
width
:
110
,
search
:
{
el
:
'input'
,
props
:
{
clearable
:
true
},
key
:
'guarantorName'
,
labelWidth
:
80
},
},
{
field
:
'guarantor.phone'
,
title
:
'联系人号码'
,
showOverflow
:
'tooltip'
,
width
:
110
,
search
:
{
el
:
'input'
,
...
...
@@ -184,6 +189,7 @@
{
field
:
'followStatus'
,
title
:
'拨打跟进结果'
,
showOverflow
:
'tooltip'
,
width
:
120
,
enum
:
followStatusOpt
,
search
:
{
...
...
@@ -214,6 +220,7 @@
{
field
:
'phoneResultStatus'
,
title
:
'拨打处置状态'
,
showOverflow
:
'tooltip'
,
width
:
120
,
enum
:
phoneResultStatusOpt
,
search
:
{
el
:
'select'
,
props
:
{
filterable
:
true
},
labelWidth
:
80
},
...
...
@@ -233,6 +240,7 @@
{
field
:
'trackRecord.auditStatus'
,
title
:
'稽核状态'
,
showOverflow
:
'tooltip'
,
width
:
80
,
slots
:
{
default
:
({
row
})
=>
{
...
...
@@ -249,12 +257,14 @@
{
field
:
'remark'
,
title
:
'备注'
,
showOverflow
:
'tooltip'
,
width
:
80
,
search
:
{
el
:
'input'
,
props
:
{
clearable
:
true
},
labelWidth
:
80
},
},
{
field
:
'voices'
,
title
:
'通话录音'
,
showOverflow
:
'tooltip'
,
width
:
80
,
slots
:
{
default
:
({
row
,
rowIndex
})
=>
{
...
...
@@ -275,7 +285,8 @@
{
field
:
'code'
,
title
:
'微信图片附件'
,
width
:
80
,
showOverflow
:
'tooltip'
,
width
:
100
,
slots
:
{
default
:
({
row
,
rowIndex
})
=>
{
if
(
row
.
images
&&
row
.
images
.
length
>
0
)
{
...
...
@@ -295,7 +306,8 @@
{
field
:
'code'
,
title
:
'短信图片附件'
,
width
:
80
,
showOverflow
:
'tooltip'
,
width
:
100
,
slots
:
{
default
:
({
row
,
rowIndex
})
=>
{
if
(
row
.
notes
&&
row
.
notes
.
length
>
0
)
{
...
...
@@ -315,7 +327,8 @@
{
field
:
'code'
,
title
:
'其他图片附件'
,
width
:
80
,
showOverflow
:
'tooltip'
,
width
:
100
,
slots
:
{
default
:
({
row
,
rowIndex
})
=>
{
if
(
row
.
others
&&
row
.
others
.
length
>
0
)
{
...
...
src/views/property/case-allocation/index.vue
View file @
9dc6b9f9
...
...
@@ -107,12 +107,19 @@
const
config
=
reactive
({
columns
:
[
{
type
:
'checkbox'
,
title
:
''
,
width
:
40
},
{
field
:
'caseId'
,
title
:
'案件ID'
,
search
:
{
el
:
'input'
,
labelWidth
:
78
},
width
:
80
},
{
field
:
'caseId'
,
title
:
'案件ID'
,
showOverflow
:
'tooltip'
,
search
:
{
el
:
'input'
,
labelWidth
:
78
},
width
:
100
,
},
{
field
:
'arealist'
,
enum
:
citydata
,
title
:
'所属区域'
,
width
:
80
,
showOverflow
:
'tooltip'
,
width
:
100
,
fieldNames
:
{
label
:
'label'
,
value
:
'value'
},
search
:
{
el
:
'cascader'
,
props
:
{
clearable
:
true
,
checkStrictly
:
true
},
labelWidth
:
78
},
slots
:
{
...
...
@@ -178,7 +185,7 @@
{
field
:
'tenantTime'
,
title
:
'分配中心日期'
,
width
:
1
0
0
,
width
:
1
3
0
,
search
:
{
el
:
'date-picker'
,
props
:
{
type
:
'daterange'
,
valueFormat
:
'YYYY-MM-DD'
},
...
...
@@ -194,7 +201,7 @@
{
field
:
'cpeDate'
,
title
:
'分配CPE日期'
,
width
:
1
0
0
,
width
:
1
3
0
,
search
:
{
el
:
'date-picker'
,
props
:
{
type
:
'daterange'
,
valueFormat
:
'YYYY-MM-DD'
},
...
...
@@ -216,7 +223,7 @@
{
field
:
'borrower.idCard'
,
title
:
'身份证'
,
width
:
1
2
0
,
width
:
1
4
0
,
search
:
{
el
:
'input'
,
props
:
{
clearable
:
true
},
key
:
'idCard'
,
labelWidth
:
78
},
},
{
...
...
src/views/property/case-detail/index.vue
View file @
9dc6b9f9
<
template
>
<div
class=
"card table-box"
>
<div
class=
"navigation-box absolute z-10 right-8 w-32 rounded-md pl-10 bg-white text-xs"
>
<el-affix
:offset=
"80"
style=
"width: 100% !important"
>
<div
@
click=
"anchor('baseinfo')"
class=
"anchor-item"
>
案人基本信息
</div>
<div
@
click=
"anchor('caserelation')"
class=
"anchor-item"
>
案件联系人
</div>
<div
@
click=
"anchor('casedetail')"
class=
"anchor-item"
>
案件明细
</div>
<div
@
click=
"anchor('callrecord')"
class=
"anchor-item"
>
跟进记录
</div>
<div
@
click=
"anchor('reducerecord')"
class=
"anchor-item"
>
减免记录
</div>
<div
@
click=
"anchor('splitrecord')"
class=
"anchor-item"
>
分期记录
</div>
<div
@
click=
"anchor('returnrecord')"
class=
"anchor-item"
>
还款记录
</div>
</el-affix>
</div>
<div
class=
"h-full w-full"
>
<div
class=
"pl-8"
>
<div
class=
"h-full w-full flex flex-col"
>
<div
class=
"mt-2"
>
<el-button
type=
"primary"
@
click=
"repair"
>
修复申请
</el-button>
<el-button
type=
"primary"
@
click=
"reduce"
>
减免申请
</el-button>
<el-button
type=
"primary"
@
click=
"split"
>
分期申请
</el-button>
...
...
@@ -28,181 +17,197 @@
/>
</el-steps>
</div>
<div
id=
"baseinfo"
>
<div
class=
"box-title"
>
案人基本信息
</div>
<div
class=
"box-content"
>
<table>
<tbody>
<tr>
<td
class=
"label"
>
姓名
</td>
<td>
{{
detail
?.
borrower
?.
name
}}
</td>
<td
class=
"label"
>
电话
</td>
<td>
{{
detail
?.
borrower
?.
phone
}}
</td>
<td
class=
"label"
>
户籍区域
</td>
<td>
{{
detail
?.
borrower
?.
domicileCity
+
','
+
detail
?.
borrower
?.
domicileProvince
}}
</td>
</tr>
<tr>
<td
class=
"label"
>
证件号
</td>
<td>
{{
detail
?.
borrower
?.
idCard
}}
</td>
<td
class=
"label"
>
户籍地址
</td>
<td
colspan=
"3"
>
{{
detail
?.
borrower
?.
address
}}
</td>
</tr>
</tbody>
<!-- Add more rows as needed -->
</table>
</div>
</div>
<div
id=
"caserelation"
>
<div
class=
"box-title"
>
案件联系人
</div>
<div
class=
"box-content"
>
<ProTable
:config=
"relationConfig"
:data=
"guarantorData"
:showPagination=
"false"
:showToolBar=
"false"
/>
</div>
</div>
<div
id=
"casedetail"
>
<div
class=
"box-title"
>
案件明细
<el-button
type=
"primary"
@
click=
"foldCaseTree"
>
展开/折叠
</el-button>
</div>
<div
class=
"box-content"
>
<vxe-grid
v-bind=
"caseDetailConfig"
:show-footer=
"true"
:footer-method=
"footerMethod"
ref=
"caseDetailRef"
@
cell-click=
"onCellCase"
>
<template
#
expand_content=
"
{ row }">
<div
class=
"expand-box"
>
<div>
User Info
</div>
<div
class=
"expand-table"
>
<table
><tbody>
<tr>
<td>
<span
class=
"label"
>
User Name:
</span>
<span>
{{
row
?.
borrower
?.
name
}}
</span>
</td>
<td>
<span
class=
"label"
>
Telephone:
</span>
<span>
{{
row
?.
borrower
?.
phone
}}
</span>
</td>
<td>
<span
class=
"label"
>
Live:
</span>
<span>
{{
row
?.
borrower
?.
domicileCity
+
','
+
row
?.
borrower
?.
domicileProvince
}}
</span>
</td>
</tr>
<tr>
<td>
<span
class=
"label"
>
Remark:
</span>
<span>
{{
row
?.
remark
}}
</span>
</td>
<td
colspan=
"2"
>
<span
class=
"label"
>
Address:
</span>
<span>
{{
row
?.
borrower
?.
address
}}
</span>
</td>
</tr>
</tbody>
</table>
</div>
<vxe-tabs
v-model=
"selectTab"
type=
"round-card"
:height=
"140"
class=
"flex-1 mt-3"
>
<vxe-tab-pane
title=
"案人基本信息"
name=
"1"
>
<div
id=
"baseinfo"
>
<div
class=
"box-title"
>
案人基本信息
</div>
<div
class=
"box-content"
>
<table>
<tbody>
<tr>
<td
class=
"label"
>
姓名
</td>
<td>
{{
detail
?.
borrower
?.
name
}}
</td>
<td
class=
"label"
>
电话
</td>
<td>
{{
detail
?.
borrower
?.
phone
}}
</td>
<td
class=
"label"
>
户籍区域
</td>
<td>
{{
detail
?.
borrower
?.
domicileCity
+
','
+
detail
?.
borrower
?.
domicileProvince
}}
</td>
</tr>
<tr>
<td
class=
"label"
>
证件号
</td>
<td>
{{
detail
?.
borrower
?.
idCard
}}
</td>
<td
class=
"label"
>
户籍地址
</td>
<td
colspan=
"3"
>
{{
detail
?.
borrower
?.
address
}}
</td>
</tr>
</tbody>
<!-- Add more rows as needed -->
</table>
</div>
</div>
</vxe-tab-pane>
<vxe-tab-pane
title=
"案件联系人"
name=
"2"
>
<div
id=
"caserelation"
>
<div
class=
"box-title"
>
案件联系人
</div>
<div
class=
"box-content"
>
<ProTable
:config=
"relationConfig"
:data=
"guarantorData"
:showPagination=
"false"
:showToolBar=
"false"
/>
</div>
</div>
</vxe-tab-pane>
<vxe-tab-pane
title=
"案件明细"
name=
"3"
>
<div
id=
"casedetail"
>
<div
class=
"box-title"
>
案件明细
<el-button
type=
"primary"
@
click=
"foldCaseTree"
>
展开/折叠
</el-button>
</div>
<div
class=
"box-content"
>
<vxe-grid
v-bind=
"caseDetailConfig"
:show-footer=
"true"
:footer-method=
"footerMethod"
ref=
"caseDetailRef"
@
cell-click=
"onCellCase"
>
<template
#
expand_content=
"
{ row }">
<div
class=
"expand-box"
>
<div>
User Info
</div>
<div
class=
"expand-table"
>
<table
><tbody>
<tr>
<td>
<span
class=
"label"
>
User Name:
</span>
<span>
{{
row
?.
borrower
?.
name
}}
</span>
</td>
<td>
<span
class=
"label"
>
Telephone:
</span>
<span>
{{
row
?.
borrower
?.
phone
}}
</span>
</td>
<td>
<span
class=
"label"
>
Live:
</span>
<span>
{{
row
?.
borrower
?.
domicileCity
+
','
+
row
?.
borrower
?.
domicileProvince
}}
</span>
</td>
</tr>
<tr>
<td>
<span
class=
"label"
>
Remark:
</span>
<span>
{{
row
?.
remark
}}
</span>
</td>
<td
colspan=
"2"
>
<span
class=
"label"
>
Address:
</span>
<span>
{{
row
?.
borrower
?.
address
}}
</span>
</td>
</tr>
</tbody>
</table>
</div>
</div>
</
template
>
</vxe-grid>
</div>
</div>
</vxe-tab-pane>
<vxe-tab-pane
title=
"跟进记录"
name=
"4"
>
<div
id=
"callrecord"
>
<div
class=
"box-title"
>
跟进记录
<!-- <el-select v-model="form.relation" placeholder="请选择">
<el-option
v-for="item in caseDetailConfig.data"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select> -->
</div>
<div
class=
"box-content"
>
<ProTable
:config=
"recordConfig"
:data=
"recordData"
:showPagination=
"false"
:showToolBar=
"false"
/>
</div>
</div>
</vxe-tab-pane>
<vxe-tab-pane
title=
"减免记录"
name=
"5"
>
<div
id=
"reducerecord"
>
<div
class=
"box-title"
>
减免记录
</div>
<div
class=
"box-content"
>
<ProTable
:config=
"reduceConfig"
:data=
"reduceData"
:showPagination=
"false"
:showToolBar=
"false"
/>
</div>
</div>
</vxe-tab-pane>
<vxe-tab-pane
title=
"分期记录"
name=
"6"
>
<div
id=
"splitrecord"
>
<div
class=
"box-title"
>
分期记录
</div>
<div
class=
"box-content flex"
>
<!-- <table style="margin-bottom: 10px">
<tbody>
<tr>
<td class="label">分期申请ID</td>
<td>John Doe</td>
<td class="label">还款总额</td>
<td>30</td>
<td class="label">分期申请时间</td>
<td>30</td>
</tr>
<tr>
<td class="label">还款期数</td>
<td>johndoe@example.com</td>
<td class="label">首期还款日</td>
<td>johndoe@example.com</td>
<td class="label">分期生效时间</td>
<td>johndoe@example.com</td>
</tr>
</tbody>
</table> -->
<div
class=
"w-2/3"
>
<ProTable
:config=
"splitConfig"
ref=
"splitRef"
:data=
"splitData"
:showPagination=
"false"
:showToolBar=
"false"
/>
</div>
</
template
>
</vxe-grid>
</div>
</div>
<div
id=
"callrecord"
>
<div
class=
"box-title"
>
跟进记录
<!-- <el-select v-model="form.relation" placeholder="请选择">
<el-option
v-for="item in caseDetailConfig.data"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select> -->
</div>
<div
class=
"box-content"
>
<ProTable
:config=
"recordConfig"
:data=
"recordData"
:showPagination=
"false"
:showToolBar=
"false"
/>
</div>
</div>
<div
id=
"reducerecord"
>
<div
class=
"box-title"
>
减免记录
</div>
<div
class=
"box-content"
>
<ProTable
:config=
"reduceConfig"
:data=
"reduceData"
:showPagination=
"false"
:showToolBar=
"false"
/>
</div>
</div>
<div
id=
"splitrecord"
>
<div
class=
"box-title"
>
分期记录
</div>
<div
class=
"box-content flex"
>
<!-- <table style="margin-bottom: 10px">
<tbody>
<tr>
<td class="label">分期申请ID</td>
<td>John Doe</td>
<td class="label">还款总额</td>
<td>30</td>
<td class="label">分期申请时间</td>
<td>30</td>
</tr>
<tr>
<td class="label">还款期数</td>
<td>johndoe@example.com</td>
<td class="label">首期还款日</td>
<td>johndoe@example.com</td>
<td class="label">分期生效时间</td>
<td>johndoe@example.com</td>
</tr>
</tbody>
</table> -->
<div
class=
"w-2/3"
>
<ProTable
:config=
"splitConfig"
ref=
"splitRef"
:data=
"splitData"
:showPagination=
"false"
:showToolBar=
"false"
/>
<div
class=
"w-1/3 pl-3"
>
<ProTable
:config=
"splitDeConfig"
:data=
"splitDeData"
:showPagination=
"false"
:showToolBar=
"false"
/>
</div>
</div>
</div>
<div
class=
"w-1/3 pl-3"
>
<ProTable
:config=
"splitDeConfig"
:data=
"splitDeData"
:showPagination=
"false"
:showToolBar=
"false"
/>
</vxe-tab-pane>
<vxe-tab-pane
title=
"还款记录"
name=
"7"
>
<div
id=
"returnrecord"
>
<div
class=
"box-title"
>
还款记录
</div>
<div
class=
"box-content"
>
<ProTable
:config=
"returnConfig"
:data=
"returnData"
:showPagination=
"false"
:showToolBar=
"false"
/>
</div>
</div>
</div>
</div>
<div
id=
"returnrecord"
>
<div
class=
"box-title"
>
还款记录
</div>
<div
class=
"box-content"
>
<ProTable
:config=
"returnConfig"
:data=
"returnData"
:showPagination=
"false"
:showToolBar=
"false"
/>
</div>
</div>
</vxe-tab-pane>
</vxe-tabs>
</div>
<repairModal
ref=
"repairModalRef"
></repairModal>
<returnModal
ref=
"returnModalRef"
@
success=
"query('还款')"
></returnModal>
...
...
@@ -236,6 +241,7 @@
import
{
saveAudit
}
from
'@/api/audit'
;
import
{
inject
}
from
'vue'
;
const
envs
=
getAppEnvConfig
();
const
selectTab
=
ref
(
'1'
);
const
returnData
=
ref
([]);
const
recordData
=
ref
([]);
const
guarantorData
=
ref
([]);
...
...
@@ -323,34 +329,42 @@
{
field
:
'id'
,
title
:
'还款记录ID'
,
showOverflow
:
'tooltip'
,
},
{
field
:
'realRepayAmount'
,
title
:
'实际还款金额'
,
showOverflow
:
'tooltip'
,
},
{
field
:
'realRepayTime'
,
title
:
'实际还款时间'
,
showOverflow
:
'tooltip'
,
},
{
field
:
'reduce.id'
,
title
:
'关联减免ID'
,
showOverflow
:
'tooltip'
,
},
{
field
:
'stages.id'
,
title
:
'关联分期ID'
,
showOverflow
:
'tooltip'
,
},
{
field
:
'stages.totalPeriod'
,
title
:
'关联分期期次'
,
showOverflow
:
'tooltip'
,
},
{
field
:
'reduce.totalPayAmount'
,
title
:
'应还金额'
,
showOverflow
:
'tooltip'
,
},
{
field
:
'stages.loans.loanPlatform.name'
,
title
:
'借款机构'
,
showOverflow
:
'tooltip'
,
},
],
toolbarConfig
:
{
enabled
:
false
},
...
...
@@ -361,26 +375,32 @@
{
field
:
'id'
,
title
:
'跟进记录ID'
,
showOverflow
:
'tooltip'
,
},
{
field
:
'trackTime'
,
title
:
'跟进日期'
,
showOverflow
:
'tooltip'
,
},
{
field
:
'nextTime'
,
title
:
'下次跟进时间'
,
showOverflow
:
'tooltip'
,
},
{
field
:
'guarantor.name'
,
title
:
'联系人姓名'
,
showOverflow
:
'tooltip'
,
},
{
field
:
'guarantor.phone'
,
title
:
'联系人号码'
,
showOverflow
:
'tooltip'
,
},
{
field
:
'followStatus'
,
title
:
'拨打跟进结果'
,
showOverflow
:
'tooltip'
,
slots
:
{
default
:
({
row
})
=>
{
return
(
...
...
@@ -396,6 +416,7 @@
{
field
:
'phoneResultStatus'
,
title
:
'拨打处置状态'
,
showOverflow
:
'tooltip'
,
slots
:
{
default
:
({
row
})
=>
{
return
(
...
...
@@ -411,10 +432,12 @@
{
field
:
'remark'
,
title
:
'备注'
,
showOverflow
:
'tooltip'
,
},
{
field
:
'voices'
,
title
:
'通话录音'
,
showOverflow
:
'tooltip'
,
slots
:
{
default
:
({
row
,
rowIndex
})
=>
{
if
(
row
.
voices
&&
row
.
voices
.
length
>
0
)
{
...
...
@@ -497,18 +520,17 @@
{
field
:
'name'
,
title
:
'联系人姓名'
,
showOverflow
:
'tooltip'
,
},
{
field
:
'kinship'
,
title
:
'与债权人关系'
,
},
{
field
:
'code'
,
title
:
'号码类型'
,
showOverflow
:
'tooltip'
,
},
{
field
:
'phone'
,
title
:
'号码'
,
showOverflow
:
'tooltip'
,
slots
:
{
default
:
({
row
})
=>
{
return
<>
{
row
.
phone
+
' '
+
(
row
.
status
===
'Y'
?
'有效'
:
'无效'
)}
<
/>
;
...
...
@@ -518,6 +540,7 @@
{
field
:
'code'
,
title
:
''
,
fixed
:
'right'
,
slots
:
{
default
:
({
row
,
rowIndex
})
=>
{
return
(
...
...
@@ -576,33 +599,41 @@
{
field
:
'caseId'
,
title
:
'案件ID'
,
showOverflow
:
'tooltip'
,
},
{
field
:
'product'
,
title
:
'产品'
,
showOverflow
:
'tooltip'
,
},
{
field
:
'loanPlatform.name'
,
title
:
'借款机构'
,
showOverflow
:
'tooltip'
,
},
{
field
:
'commissionAmount'
,
title
:
'委案金额'
,
showOverflow
:
'tooltip'
,
},
{
field
:
'sumReductionAmount'
,
title
:
'累计减免金额'
,
showOverflow
:
'tooltip'
,
},
{
field
:
'sumRepayAmount'
,
title
:
'累计还款金额'
,
showOverflow
:
'tooltip'
,
},
{
field
:
'remainingAmount'
,
title
:
'剩余待还金额'
,
showOverflow
:
'tooltip'
,
},
{
field
:
'code'
,
fixed
:
'right'
,
title
:
''
,
slots
:
{
default
:
({
row
,
rowIndex
})
=>
{
...
...
@@ -657,40 +688,48 @@
{
field
:
'caseId'
,
title
:
'案件ID'
,
showOverflow
:
'tooltip'
,
width
:
80
,
},
{
field
:
'loans.loanPlatform.name'
,
showOverflow
:
'tooltip'
,
title
:
'借款机构'
,
},
{
field
:
'totalRepayAmount'
,
showOverflow
:
'tooltip'
,
title
:
'还款总额'
,
width
:
80
,
},
{
field
:
'applyDate'
,
title
:
'分期申请时间'
,
showOverflow
:
'tooltip'
,
width
:
115
,
},
{
field
:
'effectiveTime'
,
title
:
'分期生效时间'
,
showOverflow
:
'tooltip'
,
width
:
115
,
},
{
field
:
'totalPeriod'
,
showOverflow
:
'tooltip'
,
title
:
'还款期数'
,
width
:
80
,
},
{
field
:
'firstApplyDate'
,
title
:
'首期还款日'
,
showOverflow
:
'tooltip'
,
width
:
100
,
},
{
field
:
'remainingAmount'
,
title
:
'剩余待还金额'
,
showOverflow
:
'tooltip'
,
width
:
110
,
},
],
...
...
@@ -702,14 +741,17 @@
{
field
:
'period'
,
title
:
'期次'
,
showOverflow
:
'tooltip'
,
},
{
field
:
'playApplyDate'
,
title
:
'到期日'
,
showOverflow
:
'tooltip'
,
},
{
field
:
'repayStatus'
,
title
:
'状态'
,
showOverflow
:
'tooltip'
,
slots
:
{
default
:
({
row
})
=>
{
return
<>
{
row
.
repayStatus
?
(
row
.
repayStatus
===
'over'
?
'已还款'
:
'待还款'
)
:
''
}
<
/>
;
...
...
@@ -719,10 +761,12 @@
{
field
:
'applyAmount'
,
title
:
'金额'
,
showOverflow
:
'tooltip'
,
},
{
field
:
'code'
,
title
:
'操作'
,
fixed
:
'right'
,
slots
:
{
default
:
({
row
,
rowIndex
})
=>
{
return
(
...
...
@@ -783,30 +827,37 @@
{
field
:
'caseId'
,
title
:
'案件ID'
,
showOverflow
:
'tooltip'
,
},
{
field
:
'reduceAmount'
,
title
:
'减免金额'
,
showOverflow
:
'tooltip'
,
},
{
field
:
'totalReduceAmount'
,
title
:
'减免金额(总计)'
,
showOverflow
:
'tooltip'
,
},
{
field
:
'totalNumber'
,
title
:
'减免案件数'
,
showOverflow
:
'tooltip'
,
},
{
field
:
'remainingAmount'
,
title
:
'剩余待还金额'
,
showOverflow
:
'tooltip'
,
},
{
field
:
'totalPayAmount'
,
title
:
'累计还款金额'
,
showOverflow
:
'tooltip'
,
},
{
field
:
'reduceType'
,
title
:
'减免类型'
,
showOverflow
:
'tooltip'
,
slots
:
{
default
:
({
row
})
=>
{
return
(
...
...
@@ -817,19 +868,23 @@
},
{
field
:
'id'
,
showOverflow
:
'tooltip'
,
title
:
'减免申请ID'
,
},
{
field
:
'applyDate'
,
showOverflow
:
'tooltip'
,
title
:
'减免截止时间'
,
},
{
field
:
'inEffectDate'
,
showOverflow
:
'tooltip'
,
title
:
'减免生效时间'
,
},
{
field
:
'code'
,
title
:
'操作'
,
fixed
:
'right'
,
slots
:
{
default
:
({
row
,
rowIndex
})
=>
{
return
(
...
...
@@ -1016,7 +1071,7 @@
line-height
:
43px
;
border-bottom
:
1px
solid
rgba
(
0
,
0
,
0
,
0
.06
);
margin-bottom
:
10px
;
margin-
top
:
10px
;
margin-
left
:
10px
;
}
.box-content
{
padding-right
:
40px
;
...
...
src/views/property/import/index.vue
View file @
9dc6b9f9
...
...
@@ -31,9 +31,9 @@
<div>
<div
class=
"flex items-center"
>
<el-button
type=
"danger"
@
click=
"checkData"
:disabled=
"!form.path"
>
检查
</el-button>
<span
class=
"ml-2"
v-if=
"checkObj.check"
>
<span
class=
"mr-2 text-gray-400"
>
通过
{{
checkObj
.
result
.
success
}}
条
</span>
<span
class=
"text-gray-400"
>
失败
{{
checkObj
.
result
.
error
}}
条
</span>
<span
class=
"ml-2"
>
<span
class=
"mr-2 text-gray-400"
>
通过
{{
checkObj
?.
result
?.
success
||
0
}}
条
</span>
<span
class=
"text-gray-400"
>
失败
{{
checkObj
?.
result
?.
error
||
0
}}
条
</span>
</span>
</div>
<!-- 进度条 -->
...
...
@@ -44,6 +44,7 @@
@
click=
"openError"
>
下载检查结果
</div
>
<div
v-else
class=
"mt-2 text-xs text-red-500"
>
*检查文件后才可以提交
</div>
</div>
</div>
<div
class=
"flex-1 importwrapper"
>
...
...
@@ -136,40 +137,48 @@
{
field
:
'code'
,
title
:
'导入编号'
,
showOverflow
:
'tooltip'
,
search
:
{
el
:
'input'
,
props
:
{
clearable
:
true
}
},
},
{
field
:
'contractNo'
,
title
:
'委案合同'
,
showOverflow
:
'tooltip'
,
search
:
{
el
:
'input'
,
props
:
{
clearable
:
true
}
},
},
{
field
:
'code'
,
title
:
'资产类型'
,
enum
:
options
,
showOverflow
:
'tooltip'
,
search
:
{
el
:
'select'
,
props
:
{
filterable
:
true
}
},
fieldNames
:
{
label
:
'genderLabel'
,
value
:
'genderValue'
},
},
{
field
:
'totalCaseNum'
,
showOverflow
:
'tooltip'
,
title
:
'案件总数'
,
},
{
field
:
'totalAmount'
,
showOverflow
:
'tooltip'
,
title
:
'案件总金额'
,
},
{
field
:
'totalBorrowerNum'
,
showOverflow
:
'tooltip'
,
title
:
'客户总数'
,
},
{
field
:
'discount'
,
title
:
'折扣'
,
showOverflow
:
'tooltip'
,
width
:
80
,
},
{
field
:
'totalPengNum'
,
title
:
'撞库次数'
,
showOverflow
:
'tooltip'
,
width
:
100
,
slots
:
{
default
:
({
row
})
=>
{
...
...
@@ -186,6 +195,7 @@
{
field
:
'action'
,
title
:
'文件地址'
,
showOverflow
:
'tooltip'
,
width
:
200
,
slots
:
{
default
:
({
row
})
=>
{
...
...
@@ -201,6 +211,8 @@
},
{
field
:
'createTime'
,
width
:
140
,
showOverflow
:
'tooltip'
,
title
:
'创建日期'
,
search
:
{
el
:
'date-picker'
,
...
...
src/views/system/ManageOrg/index.vue
View file @
9dc6b9f9
...
...
@@ -34,13 +34,16 @@
const
config
=
reactive
({
columns
:
[
{
type
:
'checkbox'
,
width
:
50
},
{
field
:
'id'
,
title
:
'资管公司ID'
},
{
field
:
'orgName'
,
title
:
'公司名称'
,
search
:
{
el
:
'input'
}
},
{
field
:
'id'
,
title
:
'资管公司ID'
,
showOverflow
:
'tooltip'
},
{
field
:
'orgName'
,
title
:
'公司名称'
,
s
howOverflow
:
'tooltip'
,
s
earch
:
{
el
:
'input'
}
},
{
field
:
'arealist'
,
enum
:
citydata
,
showOverflow
:
'tooltip'
,
title
:
'所属区域'
,
fieldNames
:
{
label
:
'label'
,
value
:
'value'
},
showOverflow
:
'tooltip'
,
search
:
{
el
:
'cascader'
,
props
:
{
clearable
:
true
,
checkStrictly
:
true
}
},
slots
:
{
default
:
({
row
})
=>
{
...
...
@@ -57,17 +60,24 @@
{
field
:
'maxStagesNum'
,
title
:
'是否共案处理'
,
showOverflow
:
'tooltip'
,
slots
:
{
default
:
({
row
})
=>
{
return
<
ElTag
>
{
row
.
mergerCase
==
'Y'
?
'是'
:
'否'
}
<
/ElTag>
;
},
},
},
{
field
:
'offender'
,
title
:
'负责人'
,
search
:
{
el
:
'input'
}
},
{
field
:
'offenderPhone'
,
title
:
'负责人手机'
,
search
:
{
el
:
'input'
}
},
{
field
:
'offender'
,
showOverflow
:
'tooltip'
,
title
:
'负责人'
,
search
:
{
el
:
'input'
}
},
{
field
:
'offenderPhone'
,
showOverflow
:
'tooltip'
,
title
:
'负责人手机'
,
search
:
{
el
:
'input'
},
},
{
field
:
'status'
,
title
:
'状态'
,
showOverflow
:
'tooltip'
,
width
:
80
,
slots
:
{
default
:
({
row
})
=>
{
...
...
@@ -79,11 +89,12 @@
},
},
},
{
field
:
'createBy'
,
title
:
'创建人'
},
{
field
:
'createTime'
,
title
:
'创建时间'
},
{
field
:
'createBy'
,
showOverflow
:
'tooltip'
,
title
:
'创建人'
},
{
field
:
'createTime'
,
showOverflow
:
'tooltip'
,
title
:
'创建时间'
,
width
:
140
},
{
width
:
200
,
title
:
'操作'
,
fixed
:
'right'
,
slots
:
{
default
:
({
row
})
=>
(
<>
...
...
src/views/system/accountManage/index.vue
View file @
9dc6b9f9
...
...
@@ -75,6 +75,7 @@
field
:
'action'
,
title
:
'操作'
,
width
:
200
,
fixed
:
'right'
,
slots
:
{
default
:
({
row
})
=>
{
return
(
...
...
src/views/system/platformManage/index.vue
View file @
9dc6b9f9
...
...
@@ -49,6 +49,7 @@
{
width
:
200
,
title
:
'操作'
,
fixed
:
'right'
,
slots
:
{
default
:
({
row
})
=>
(
<>
...
...
src/views/system/roleManage/index.vue
View file @
9dc6b9f9
...
...
@@ -35,6 +35,7 @@
{
width
:
280
,
title
:
'操作'
,
fixed
:
'right'
,
slots
:
{
default
:
({
row
})
=>
(
<>
...
...
src/views/system/tenantManage/index.vue
View file @
9dc6b9f9
...
...
@@ -57,6 +57,7 @@
{
width
:
200
,
title
:
'操作'
,
fixed
:
'right'
,
slots
:
{
default
:
({
row
})
=>
(
<>
...
...
src/views/workplace/todo/index.vue
View file @
9dc6b9f9
...
...
@@ -32,25 +32,34 @@
const
socketStore
=
useSocketStore
();
const
config
=
reactive
({
columns
:
[
{
field
:
'title'
,
minWidth
:
200
,
title
:
'消息标题'
,
search
:
{
el
:
'input'
}
},
{
field
:
'title'
,
minWidth
:
200
,
showOverflow
:
'tooltip'
,
title
:
'消息标题'
,
search
:
{
el
:
'input'
,
labelWidth
:
65
},
},
{
field
:
'content'
,
title
:
'消息内容'
,
showOverflow
:
'tooltip'
,
width
:
160
,
search
:
{
el
:
'input'
,
props
:
{
clearable
:
true
}
},
search
:
{
el
:
'input'
,
props
:
{
clearable
:
true
}
,
labelWidth
:
65
},
},
{
field
:
'sender.username'
,
title
:
'发送人名称'
,
showOverflow
:
'tooltip'
,
width
:
160
,
search
:
{
el
:
'input'
,
props
:
{
clearable
:
true
},
key
:
'senderName'
},
search
:
{
el
:
'input'
,
props
:
{
clearable
:
true
},
key
:
'senderName'
,
labelWidth
:
65
},
},
{
field
:
'status'
,
title
:
'状态'
,
showOverflow
:
'tooltip'
,
width
:
100
,
enum
:
statusOpt
,
search
:
{
el
:
'select'
,
props
:
{
filterable
:
true
},
span
:
1
},
search
:
{
el
:
'select'
,
props
:
{
filterable
:
true
},
span
:
1
,
labelWidth
:
65
},
fieldNames
:
{
label
:
'label'
,
value
:
'value'
},
slots
:
{
default
:
({
row
})
=>
{
...
...
@@ -64,15 +73,17 @@
},
{
field
:
'sendTime'
,
showOverflow
:
'tooltip'
,
title
:
'发送时间'
,
width
:
170
,
},
{
field
:
'messageType'
,
width
:
100
,
showOverflow
:
'tooltip'
,
title
:
'消息类型'
,
enum
:
messageTypeOpt
,
search
:
{
el
:
'select'
,
props
:
{
filterable
:
true
},
span
:
1
},
search
:
{
el
:
'select'
,
props
:
{
filterable
:
true
},
span
:
1
,
labelWidth
:
65
},
fieldNames
:
{
label
:
'label'
,
value
:
'value'
},
slots
:
{
default
:
({
row
})
=>
{
...
...
@@ -90,8 +101,9 @@
field
:
'sendType'
,
width
:
100
,
title
:
'发送方式'
,
showOverflow
:
'tooltip'
,
enum
:
sendTypeOpt
,
search
:
{
el
:
'select'
,
props
:
{
filterable
:
true
},
span
:
1
},
search
:
{
el
:
'select'
,
props
:
{
filterable
:
true
},
span
:
1
,
labelWidth
:
65
},
fieldNames
:
{
label
:
'label'
,
value
:
'value'
},
slots
:
{
default
:
({
row
})
=>
{
...
...
@@ -105,8 +117,9 @@
field
:
'serviceType'
,
width
:
100
,
title
:
'业务类型'
,
showOverflow
:
'tooltip'
,
enum
:
serviceTypeOpt
,
search
:
{
el
:
'select'
,
props
:
{
filterable
:
true
},
span
:
1
},
search
:
{
el
:
'select'
,
props
:
{
filterable
:
true
},
span
:
1
,
labelWidth
:
65
},
fieldNames
:
{
label
:
'label'
,
value
:
'value'
},
slots
:
{
default
:
({
row
})
=>
{
...
...
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