Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
loan-manager-customer
Project
Project
Details
Activity
Releases
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
zhanhai
loan-manager-customer
Commits
1c58eaf6
Commit
1c58eaf6
authored
Jun 09, 2020
by
feifei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
测试部署
parent
2cdef49a
Changes
5
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
460 additions
and
455 deletions
+460
-455
index.html
index.html
+1
-1
ByhService.vue
src/components/byh/ByhService.vue
+25
-46
ByhServiceDetail.vue
src/components/byh/ByhServiceDetail.vue
+406
-399
ServiceProblem.vue
src/components/byh/ServiceProblem.vue
+20
-2
enumOpt.js
src/utils/enumOpt.js
+8
-7
No files found.
index.html
View file @
1c58eaf6
...
...
@@ -18,7 +18,7 @@
<!--接口配置-->
<script>
//本地测试
//window.APIHOST = "http://192.168.0.50:8
1
02";
//window.APIHOST = "http://192.168.0.50:8
2
02";
//测试
window
.
APIHOST
=
"http://47.99.245.36:8202"
;
...
...
src/components/byh/ByhService.vue
View file @
1c58eaf6
...
...
@@ -34,34 +34,23 @@
<!-- 列表 -->
<div
v-show=
"isShow"
>
<el-table
:data=
"loanApplyList"
stripe
style=
"width: 100%;"
row-key=
"clientNo"
:lazy =
true
:load=
"load"
:tree-props=
"
{children: 'children', hasChildren: 'hasChildren'}">
<el-table
:data=
"loanApplyList"
stripe
style=
"width: 100%;"
>
<el-table-column
prop=
"clientNo"
label=
"客户编号"
></el-table-column>
<el-table-column
prop=
"clientName"
label=
"姓名"
></el-table-column>
<el-table-column
prop=
"clientCell"
label=
"手机号"
></el-table-column>
<el-table-column
prop=
"certNo"
label=
"身份证号"
></el-table-column>
<el-table-column
prop=
"level"
label=
"授信级别"
></el-table-column>
<el-table-column
prop=
"productName"
label=
"产品名称"
></el-table-column>
<el-table-column
prop=
"productName"
label=
"产品名称"
:formatter=
"productNameFormat"
></el-table-column>
<el-table-column
prop=
"memo"
label=
"备注"
></el-table-column>
<el-table-column
label=
"
操作
"
>
<el-table-column
label=
"
查看详情
"
>
<template
scope=
"scope"
>
<el-button
type=
"text"
size=
"small"
@
click=
"loanDetail(scope.row)"
>
详情
</el-button>
<el-button
type=
"text"
size=
"small"
@
click=
"loanDetail(scope.row)"
>
查看
详情
</el-button>
</
template
>
</el-table-column>
</el-table>
<br/>
<!--
<div class="page">
<el-pagination
@current-change="handleCurrentChange"
@size-change="handleSizeChange"
:current-page.sync="page.current"
:page-sizes="[10, 20, 50, 100]"
:page-size="page.size"
layout="total, sizes, prev, pager, next, jumper"
:total="page.total">
</el-pagination>
</div> -->
</div>
...
...
@@ -121,9 +110,10 @@
this
.
backedData
()
}
},
methods
:
{
readDetail
(
record
)
{
//console.log(record)
this
.
ui
.
readDetail
=
{
visible
:
true
,
phone
:
record
.
phone
,
...
...
@@ -141,8 +131,8 @@
/** 加载数据 */
backedData
()
{
if
(
this
.
searchInfo
.
clientCell
==
''
&&
this
.
searchInfo
.
clientNo
==
''
&&
this
.
searchInfo
.
productName
==
''
&&
this
.
searchInfo
.
certNo
==
''
){
this
.
$message
({
message
:
'
参数
不能为空'
,
type
:
'error'
});
if
(
this
.
searchInfo
.
clientCell
==
''
&&
this
.
searchInfo
.
clientNo
==
''
&&
this
.
searchInfo
.
certNo
==
''
){
this
.
$message
({
message
:
'
手机号或客户编号或身份证号
不能为空'
,
type
:
'error'
});
return
;
}
this
.
loanList
()
...
...
@@ -161,13 +151,11 @@
}
this
.
isShow
=
true
;
this
.
loanApplyList
=
res
.
data
.
result
;
console
.
log
(
this
.
loanApplyList
)
//this.page.total = res.data.result.total;
}).
catch
(
error
=>
{
this
.
$Message
.
error
(
error
||
'系统异常'
);
});
},
loanDetail
(
record
){
...
...
@@ -176,8 +164,9 @@
query
:
{
clientNo
:
record
.
clientNo
,
clientName
:
record
.
clientName
,
clientCell
:
record
.
clientCell
,
certNo
:
record
.
certNo
,
clientCell
:
this
.
searchInfo
.
clientCell
,
certNo
:
this
.
searchInfo
.
certNo
,
productName
:
this
.
searchInfo
.
productName
,
loanNo
:
record
.
loanNo
,
orderNo
:
record
.
orderNo
,
current
:
this
.
page
.
current
,
...
...
@@ -190,24 +179,6 @@
this
.
backedData
();
},
load
(
tree
,
treeNode
,
resolve
)
{
setTimeout
(()
=>
{
resolve
([
{
id
:
31
,
date
:
'2016-05-01'
,
name
:
'王小虎'
,
address
:
'上海市普陀区金沙江路 1519 弄'
},
{
id
:
32
,
date
:
'2016-05-01'
,
name
:
'王小虎'
,
address
:
'上海市普陀区金沙江路 1519 弄'
}
])
},
1000
)
},
/** 处理分页操作*/
handleCurrentChange
()
{
this
.
loanApplyList
=
this
.
backedData
()
...
...
@@ -243,11 +214,16 @@
return
moment
(
date
).
format
(
"YYYY-MM-DD"
)
},
//产品名称
productNameFormat
:
function
(
row
,
column
)
{
var
status
=
row
[
'productName'
];
return
this
.
$enumUtils
.
toMsg
(
'BusinessType'
,
status
);
},
//
客服
状态
service
Format
:
function
(
row
,
column
)
{
var
status
=
row
[
'
pointS
tatus'
];
return
this
.
$enumUtils
.
toMsg
(
'
ServiceStatus
'
,
status
);
//
借款单
状态
loanStatus
Format
:
function
(
row
,
column
)
{
var
status
=
row
[
'
s
tatus'
];
return
this
.
$enumUtils
.
toMsg
(
'
LoanStatusEnum
'
,
status
);
},
//参数
...
...
@@ -271,6 +247,9 @@
if
(
this
.
searchInfo
.
loanNo
!=
''
)
{
return_hash
[
'loanNo'
]
=
this
.
searchInfo
.
loanNo
}
if
(
this
.
searchInfo
.
productName
!=
''
)
{
return_hash
[
'productName'
]
=
this
.
searchInfo
.
productName
}
return
return_hash
;
...
...
src/components/byh/ByhServiceDetail.vue
View file @
1c58eaf6
<
template
>
<div>
<el-button
type=
"text"
@
click=
"goBack"
>
返回
</el-button>
<div
>
<div>
<el-collapse
v-model=
"activeNames"
>
<el-collapse-item
title=
"基本信息"
name=
"1"
>
...
...
@@ -30,9 +30,15 @@
<br/>
<el-row
:gutter=
"20"
style=
"margin-left:50px"
>
<el-col
:span=
"8"
><div
class=
"grid-content bg-purple"
>
实名认证:
{{
basicInfo
.
isIdentity
}}
</div></el-col>
<el-col
:span=
"8"
><div
class=
"grid-content bg-purple"
>
基础信息认证:
{{
basicInfo
.
isBasicInfo
}}
</div></el-col>
<el-col
:span=
"8"
><div
class=
"grid-content bg-purple"
>
活体认证:
{{
basicInfo
.
isFace
}}
</div></el-col>
<el-col
:span=
"8"
>
<div
class=
"grid-content bg-purple"
>
实名认证:
{{
basicInfo
.
isIdentity
}}
</div>
</el-col>
<el-col
:span=
"8"
>
<div
class=
"grid-content bg-purple"
>
基础信息认证:
{{
basicInfo
.
isBasicInfo
}}
</div>
</el-col>
<el-col
:span=
"8"
>
<div
class=
"grid-content bg-purple"
>
活体认证:
{{
basicInfo
.
isFace
}}
</div>
</el-col>
</el-row>
<br/>
...
...
@@ -43,7 +49,7 @@
<div
class=
"grid-content bg-purple"
>
客户单位名称:
{{
basicInfo
.
companyName
}}
</div>
</el-col>
<el-col
:span=
"8"
>
<div
class=
"grid-content bg-purple"
>
客户单位地址:
{{
basicInfo
.
companyAddress
}}
</div>
<div
class=
"grid-content bg-purple"
>
客户单位地址:
{{
basicInfo
.
companyAddress
}}
</div>
</el-col>
<el-col
:span=
"8"
>
<div
class=
"grid-content bg-purple"
>
住宅地址:
{{
basicInfo
.
houseAddress
}}
</div>
...
...
@@ -63,11 +69,11 @@
</el-row>
<!-- 当前用户认证的银行卡列表 -->
<el-table
:data=
"ownerBank"
stripe
style=
"width: 100%;"
>
<el-table-column
prop=
"bankAccount"
label=
"银行卡号"
></el-table-column>
<el-table-column
prop=
"bankAccount"
label=
"银行卡号"
></el-table-column>
<el-table-column
prop=
"openBankName"
label=
"银行名称"
></el-table-column>
<el-table-column
prop=
"ownerName"
label=
"姓名"
></el-table-column>
<el-table-column
prop=
"payChannelApi"
label=
"渠道名称"
></el-table-column>
<el-table-column
prop=
"gmtCreated"
label=
"绑定时间"
:formatter=
"dateFormat"
></el-table-column>
<el-table-column
prop=
"gmtCreated"
label=
"绑定时间"
:formatter=
"dateFormat"
></el-table-column>
<el-table-column
label=
"操作"
>
<template
scope=
"scope"
>
...
...
@@ -79,7 +85,25 @@
</el-collapse-item>
<el-collapse-item
title=
"申请信息"
name=
"2"
>
<el-collapse-item
title=
"借款信息"
name=
"2"
>
<el-table
:data=
"loanResultLists"
stripe
style=
"width: 100%;"
>
<el-table-column
prop=
"loanNo"
label=
"借款编号"
></el-table-column>
<el-table-column
prop=
"gmtCreated"
label=
"申请日期"
:formatter=
"dateFormats"
></el-table-column>
<el-table-column
prop=
"startDate"
label=
"放款日期"
:formatter=
"dateFormats"
></el-table-column>
<el-table-column
prop=
"raiseAmt"
label=
"放款本金"
></el-table-column>
<el-table-column
prop=
"status"
label=
"借款单状态"
:formatter=
"loanStatusFormat"
></el-table-column>
<!--<el-table-column prop="memo" label="备注"></el-table-column>-->
<el-table-column
label=
"查看详情"
>
<
template
scope=
"scope"
>
<el-button
type=
"text"
size=
"small"
@
click=
"addLoanDetail(scope.row)"
>
详情
</el-button>
</
template
>
</el-table-column>
</el-table>
</el-collapse-item>
<el-collapse-item
title=
"申请信息"
name=
"3"
>
<p
style=
"margin-left:50px"
><strong>
当前借款
</strong></p>
<br/>
...
...
@@ -108,8 +132,10 @@
</el-col>
<el-col
:span=
"6"
>
<div
class=
"grid-content bg-purple"
v-if=
"loanModel.cardBankAccount"
>
放款银行卡(所属银行):{{loanModel.cardBankAccount}}({{loanModel.cardBankCodeStr}})
</div>
<div
class=
"grid-content bg-purple"
v-else
>
放款银行卡(所属银行):{{loanModel.bankAccount}}
</div>
<div
class=
"grid-content bg-purple"
v-if=
"loanModel.cardBankAccount"
>
放款银行卡(所属银行):{{loanModel.cardBankAccount}}({{loanModel.cardBankCodeStr}})
</div>
<div
class=
"grid-content bg-purple"
v-else
>
放款银行卡(所属银行):{{loanModel.bankAccount}}
</div>
</el-col>
</el-row>
<br/>
...
...
@@ -130,14 +156,14 @@
</el-collapse-item>
<el-collapse-item
title=
"账单详情"
name=
"3
"
>
<el-collapse-item
title=
"账单详情"
name=
"4
"
>
<br/>
<div
style=
"margin-left:10px"
>
<strong>
<el-row
:gutter=
"20"
:data=
"loanModel"
style=
"margin-left:20px"
>
<el-col
:span=
"6"
>
<div
class=
"grid-content bg-purple"
>
借款编号:{{
this.$route.query
.loanNo }}
</div>
<div
class=
"grid-content bg-purple"
>
借款编号:{{
this.advanceLoanAmt
.loanNo }}
</div>
</el-col>
<el-col
:span=
"6"
>
<div
class=
"grid-content bg-purple"
>
账单剩余应还:{{ this.loanVo.surAmt }}
</div>
...
...
@@ -147,7 +173,7 @@
</el-col>
<el-col
:span=
"6"
>
<!-- <el-button type="primary" size="small" @click="advanceLoanAmt()" v-if="this.loanModel.status=='BACKING'">提前结清</el-button> -->
<el-button
type=
"primary"
size=
"small"
@
click=
"advanceLoanAmt()"
>
提前结清
</el-button>
<el-button
type=
"primary"
size=
"small"
@
click=
"advanceLoanAmt()"
v-if=
"isNeedAudit"
>
提前结清
</el-button>
</el-col>
</el-row>
</strong>
...
...
@@ -165,11 +191,13 @@
<el-table-column
prop=
"backedAmt"
label=
"已还金额"
:formatter=
"planMoneyFormat"
></el-table-column>
<el-table-column
prop=
"derateAmt"
label=
"减免金额"
></el-table-column>
<el-table-column
prop=
"remainAmt"
label=
"待还金额"
></el-table-column>
<el-table-column
prop=
"statusStr"
label=
"还款状态"
></el-table-column>
<el-table-column
prop=
"statusStr"
label=
"还款状态"
></el-table-column>
<el-table-column
label=
"操作"
>
<
template
scope=
"scope"
>
<el-button
type=
"text"
size=
"small"
v-if=
" scope.row.status=='SETTLED' "
disabled
@
click=
"offineTransfer(scope.row)"
>
线下转账
</el-button>
<el-button
type=
"text"
size=
"small"
v-if=
" scope.row.status=='SETTLED' "
disabled
@
click=
"offineTransfer(scope.row)"
>
线下转账
</el-button>
<el-button
type=
"text"
size=
"small"
v-else
@
click=
"offineTransfer(scope.row)"
>
线下转账
</el-button>
</
template
>
</el-table-column>
...
...
@@ -178,7 +206,7 @@
</el-collapse-item>
<el-collapse-item
title=
"还款情况"
name=
"4
"
>
<el-collapse-item
title=
"还款情况"
name=
"5
"
>
<el-table
:data=
"loanBackedList"
stripe
style=
"width: 100%;"
>
<el-table-column
prop=
"backedNo"
label=
"还款编号"
></el-table-column>
...
...
@@ -189,18 +217,18 @@
<el-table-column
prop=
"statusStr"
label=
"还款单状态"
></el-table-column>
<el-table-column
prop=
"cardOwnerName"
label=
"银行账号户主名称"
></el-table-column>
<el-table-column
prop=
"cardOwnerMobile"
label=
"银行账号户主电话号码"
></el-table-column>
<el-table-column
prop=
"cardBankAccount"
label=
"银行账号"
:formatter=
"cardBankFormat"
></el-table-column>
<el-table-column
prop=
"cardBankAccount"
label=
"银行账号"
:formatter=
"cardBankFormat"
></el-table-column>
<el-table-column
prop=
"bankAccount"
label=
"还款银行账号"
></el-table-column>
<el-table-column
prop=
"bankOwner"
label=
"还款银行账户"
></el-table-column>
<el-table-column
prop=
"backedDate"
label=
"还款时间"
:formatter=
"dateCompare"
></el-table-column>
<el-table-column
prop=
"resultStr"
label=
"还款结果"
:formatter=
"resultBankFormat"
></el-table-column>
<el-table-column
prop=
"resultStr"
label=
"还款结果"
:formatter=
"resultBankFormat"
></el-table-column>
<el-table-column
prop=
"creator"
label=
"创建人"
></el-table-column>
<el-table-column
prop=
"memo"
label=
"备注"
></el-table-column>
</el-table>
</el-collapse-item>
<el-collapse-item
title=
"反馈问题记录"
name=
"5
"
>
<el-collapse-item
title=
"反馈问题记录"
name=
"6
"
>
<el-table
:data=
"loanQuestionList"
stripe
style=
"width: 100%;"
>
<el-table-column
prop=
"id"
label=
"问题编号"
></el-table-column>
...
...
@@ -219,7 +247,7 @@
</el-table>
</el-collapse-item>
<el-collapse-item
title=
"操作日志"
name=
"6
"
>
<el-collapse-item
title=
"操作日志"
name=
"7
"
>
<el-table
:data=
"loanLogCustom"
stripe
style=
"width: 100%;"
>
<!-- <el-table-column prop="id" label="操作人员"></el-table-column> -->
...
...
@@ -336,11 +364,12 @@
offineTransfer
,
ownerBankBind
,
},
data
()
{
data
()
{
return
{
flag
:
false
,
isShow
:
true
,
activeNames
:[
'1'
],
isNeedAudit
:
true
,
activeNames
:
[
'1'
,
'2'
],
page
:
{
current
:
1
,
size
:
10
,
...
...
@@ -349,6 +378,7 @@
loanBackedList
:
[],
loanQuestionList
:
[],
loanLogCustom
:
[],
loanResultLists
:
[],
ownerBank
:
[{
bankAccount
:
''
,
clientNo
:
''
,
...
...
@@ -364,7 +394,7 @@
houseAddress
:
''
,
firstName
:
''
,
firstPhone
:
''
,
clientNo
:
''
,
clientNo
:
''
,
name
:
''
,
idCard
:
''
,
phone
:
''
,
...
...
@@ -400,10 +430,10 @@
serviceAmt
:
''
,
rateAmt
:
''
,
loanLife
:
''
,
contractAmt
:
''
,
cardBankAccount
:
''
,
cardBankCodeStr
:
''
,
status
:
''
contractAmt
:
''
,
cardBankAccount
:
''
,
cardBankCodeStr
:
''
,
status
:
''
,
}],
loanVo
:
[{
alrAmt
:
''
,
...
...
@@ -414,7 +444,7 @@
},
ui
:
{
addQuestion
:
{
clientNo
:
''
,
clientNo
:
''
,
visible
:
false
},
updateQueDialog
:
{
...
...
@@ -427,7 +457,7 @@
creator
:
''
,
pointStatus
:
''
},
ownerBankBind
:{
ownerBankBind
:
{
visible
:
false
,
cardLogList
:
[],
},
...
...
@@ -447,7 +477,7 @@
offineTransfer
:
{
visible
:
false
,
orderNo
:
''
,
loanNo
:
''
,
loanNo
:
''
,
periodNo
:
''
,
planAmt
:
''
,
planFu
:
''
,
...
...
@@ -457,7 +487,7 @@
},
advanceLoanAmt
:
{
visible
:
false
,
loanNo
:
''
,
loanNo
:
''
,
},
},
}
...
...
@@ -467,7 +497,7 @@
dateFilter
:
function
(
row
)
{
var
exp
=
row
if
(
!
exp
||
typeof
(
exp
)
===
undefined
||
typeof
(
exp
)
===
null
)
{
if
(
!
exp
||
typeof
(
exp
)
===
undefined
||
typeof
(
exp
)
===
null
)
{
return
''
}
return
moment
(
exp
).
format
(
"YYYY-MM-DD"
)
...
...
@@ -476,17 +506,17 @@
},
created
()
{
this
.
backedData
(
this
.
$route
.
query
.
loanNo
,
this
.
$route
.
query
.
clientNo
)
this
.
backedData
(
this
.
$route
.
query
.
loanNo
,
this
.
$route
.
query
.
clientNo
)
},
methods
:
{
// 反馈弹窗
addQuestion
()
{
addQuestion
()
{
this
.
ui
.
addQuestion
=
{
clientNo
:
this
.
$route
.
query
.
clientNo
,
clientNo
:
this
.
$route
.
query
.
clientNo
,
visible
:
true
,
};
},
readDetail
(
record
)
{
readDetail
(
record
)
{
this
.
ui
.
readDetail
=
{
visible
:
true
,
planNo
:
record
.
planNo
,
...
...
@@ -501,7 +531,7 @@
backedXi
:
record
.
backedXi
,
};
},
offineTransfer
(
record
)
{
offineTransfer
(
record
)
{
// 取当前用户的信息
record
.
loanNo
=
this
.
$route
.
query
.
loanNo
record
.
orderNo
=
this
.
$route
.
query
.
orderNo
...
...
@@ -518,8 +548,8 @@
};
},
// 提前结清
advanceLoanAmt
()
{
var
loanNo
=
this
.
$route
.
query
.
loanNo
advanceLoanAmt
()
{
var
loanNo
=
this
.
advanceLoanAmt
.
loanNo
;
this
.
ui
.
advanceLoanAmt
=
{
visible
:
true
,
loanNo
:
loanNo
,
...
...
@@ -533,6 +563,7 @@
clientNo
:
this
.
$route
.
query
.
clientNo
,
clientName
:
this
.
$route
.
query
.
clientName
,
clientCell
:
this
.
$route
.
query
.
clientCell
,
productName
:
this
.
$route
.
query
.
productName
,
certNo
:
this
.
$route
.
query
.
certNo
,
loanNo
:
this
.
$route
.
query
.
loanNo
,
orderNo
:
this
.
$route
.
query
.
orderNo
,
...
...
@@ -540,87 +571,69 @@
}
})
},
// toggle: function () {
// this.isShow = !this.isShow;
// },
/** 加载数据 */
backedData
(
loanNo
,
clientNo
)
{
this
.
loanDetail
(
loanNo
,
clientNo
)
backedData
(
loanNo
,
clientNo
)
{
this
.
loanDetail
(
loanNo
,
clientNo
)
},
loanDetail
(
loanNo
,
clientNo
){
if
(
loanNo
){
this
.
$$get
(
'/detail/customer/'
+
loanNo
).
then
(
res
=>
{
if
(
res
.
data
.
code
!=
200
)
{
// this.isShow = false;
this
.
$message
.
error
(
res
.
data
.
message
);
return
}
else
{
this
.
loanApplyList
=
res
.
data
.
result
.
planVo
?
res
.
data
.
result
.
planVo
:
''
;
this
.
loanVo
=
res
.
data
.
result
.
loanVo
?
res
.
data
.
result
.
loanVo
:
''
;
this
.
loanModel
=
res
.
data
.
result
.
applyVo
?
res
.
data
.
result
.
applyVo
:
''
;
if
(
res
.
data
.
result
.
backedVo
!=
null
){
this
.
loanBackedList
=
res
.
data
.
result
.
backedVo
?
res
.
data
.
result
.
backedVo
:
''
;
}
// this.isShow = true;
}
}).
catch
(
error
=>
{
this
.
$Message
.
error
(
error
||
'网络异常,请稍后。。。'
);
});
}
loanDetail
(
loanNo
,
clientNo
)
{
// 个人信息
this
.
$$get
(
'/detail/client/'
+
clientNo
).
then
(
res
=>
{
if
(
res
.
data
.
code
!=
200
)
{
this
.
$$get
(
'/detail/client/'
+
clientNo
).
then
(
res
=>
{
if
(
res
.
data
.
code
!=
200
)
{
this
.
$message
.
error
(
res
.
data
.
message
);
return
}
else
{
if
(
res
.
data
.
result
!=
null
)
{
if
(
res
.
data
.
result
!=
null
)
{
this
.
basicInfo
=
res
.
data
.
result
?
res
.
data
.
result
:
''
;
// 多个用户银行卡信息
if
(
res
.
data
.
result
.
cardList
!=
null
)
{
if
(
res
.
data
.
result
.
cardList
!=
null
)
{
this
.
ownerBank
=
res
.
data
.
result
.
cardList
?
res
.
data
.
result
.
cardList
:
''
;
}
}
}
})
});
// 请求当前日志
this
.
$$post
(
'/detail/getDaily'
,
this
.
buildParam
(
clientNo
)).
then
(
res
=>
{
if
(
res
.
data
.
code
!=
200
)
{
this
.
$message
.
error
(
res
.
data
.
message
);
return
}
if
(
res
.
data
.
result
.
data
!=
null
)
{
if
(
res
.
data
.
result
.
data
!=
null
)
{
this
.
loanLogCustom
=
res
.
data
.
result
.
data
?
res
.
data
.
result
.
data
:
''
;
}
// this.isShow = true;
}).
catch
(
error
=>
{
this
.
$Message
.
error
(
error
||
'系统异常'
);
});
// 请求当前的反馈问题/customer/getQuestionList/
this
.
$$get
(
'/customer/getQuestionList/'
+
clientNo
).
then
(
res
=>
{
if
(
res
.
data
.
code
!=
200
)
{
this
.
$$get
(
'/customer/getQuestionList/'
+
clientNo
).
then
(
res
=>
{
if
(
res
.
data
.
code
!=
200
)
{
// this.isShow = false;
this
.
$message
.
error
(
res
.
data
.
message
);
return
}
else
{
if
(
res
.
data
.
result
!=
null
)
{
if
(
res
.
data
.
result
!=
null
)
{
this
.
loanQuestionList
=
res
.
data
.
result
?
res
.
data
.
result
:
''
;
}
}
}).
catch
(
error
=>
{
this
.
$Message
.
error
(
error
||
'网络异常,请稍后。。。'
);
});
// 请求当前的反馈问题/customer/getQuestionList/
this
.
$$post
(
'/loan/getLoanListByClientNo/'
+
clientNo
).
then
(
res
=>
{
if
(
res
.
data
.
code
!=
200
)
{
// this.isShow = false;
this
.
$message
.
error
(
res
.
data
.
message
);
return
}
else
{
if
(
res
.
data
.
result
!=
null
)
{
this
.
loanResultLists
=
res
.
data
.
result
?
res
.
data
.
result
:
''
;
}
}
}).
catch
(
error
=>
{
this
.
$Message
.
error
(
error
||
'网络异常,请稍后。。。'
);
});
...
...
@@ -628,41 +641,52 @@
},
/*查看详情*/
getBackedDetails
(
record
)
{
record
.
clientName
=
this
.
loanUserBasicList
.
clientName
;
record
.
clientCell
=
localStorage
.
getItem
(
"clientNo"
);
// 手机号替换为客户编号
let
messageName
=
record
.
clientName
+
' '
+
record
.
clientCell
;
//let operateName = '功能点:'+record.pointName+' '+'问题标题:'+record.title+' '+'问题描述:'+record.problemDescription+'';
let
operateName
=
'问题描述:'
+
record
.
problemDescription
+
''
;
//1.我们要将后台返回的数据转存成数组,格式为: data=['错误提示一!!!','错误提示二!!!','错误提示三!!!'];
let
data
=
[
messageName
,
operateName
];
//2.新建newDatas数组
let
newDatas
=
[];
const
h
=
this
.
$createElement
;
//3.通过循环data数组,调用h方法,将每项值传给h,h('标签名',样式,具体内容)
for
(
let
i
in
data
)
{
//4.将data数据push进newDatas数组中
newDatas
.
push
(
h
(
'p'
,
null
,
data
[
i
]));
//根据借款信息查借款所有信息
addLoanDetail
(
record
){
var
loanNo
=
record
.
loanNo
this
.
$$get
(
'/detail/customer/'
+
loanNo
).
then
(
res
=>
{
if
(
res
.
data
.
code
!=
200
)
{
// this.isShow = false;
this
.
$message
.
error
(
res
.
data
.
message
);
return
}
else
{
//打开借款的面板
this
.
activeNames
=
[
'1'
,
'2'
,
'3'
,
'4'
,
'5'
];
//还款计划
if
(
res
.
data
.
result
.
planVo
==
null
){
this
.
loanApplyList
=
[];
this
.
isNeedAudit
=
false
;
}
else
{
this
.
loanApplyList
=
res
.
data
.
result
.
planVo
?
res
.
data
.
result
.
planVo
:
''
;
this
.
advanceLoanAmt
.
loanNo
=
res
.
data
.
result
.
applyVo
.
loanNo
;
}
;
this
.
$msgbox
({
title
:
'选中后复制内容'
,
message
:
h
(
'div'
,
null
,
newDatas
),
showCancelButton
:
true
,
confirmButtonText
:
'确定'
,
cancelButtonText
:
'取消'
,
}).
then
(
action
=>
{
this
.
$message
({
type
:
'success'
,
message
:
'请发送给技术人员解决相关问题'
});
}).
catch
(()
=>
{
//借款信息
if
(
res
.
data
.
result
.
loanVo
==
null
){
this
.
loanVo
=
[];
}
else
{
this
.
loanVo
=
res
.
data
.
result
.
loanVo
?
res
.
data
.
result
.
loanVo
:
''
;
}
//借款信息放款信息
this
.
loanModel
=
res
.
data
.
result
.
applyVo
?
res
.
data
.
result
.
applyVo
:
''
;
//还款信息
if
(
res
.
data
.
result
.
backedVo
==
null
){
this
.
loanBackedList
=
[];
}
else
{
this
.
loanBackedList
=
res
.
data
.
result
.
backedVo
?
res
.
data
.
result
.
backedVo
:
''
;
}
}
}).
catch
(
error
=>
{
this
.
$Message
.
error
(
error
||
'网络异常,请稍后。。。'
);
});
},
// 绑卡记录
ownerBankBind
(
record
)
{
// console.log(record.cardLogList,2222);
this
.
ui
.
ownerBankBind
=
{
visible
:
true
,
cardLogList
:
record
.
cardLogList
,
...
...
@@ -670,7 +694,7 @@
},
// 修改用户的反馈问题
updateQueDialog
(
record
)
{
updateQueDialog
(
record
)
{
this
.
ui
.
updateQueDialog
=
{
visible
:
true
,
...
...
@@ -685,27 +709,37 @@
},
/*搜索条件*/
onSubmit
()
{
onSubmit
()
{
this
.
backedData
();
},
/** 处理分页操作*/
handleCurrentChange
()
{
this
.
loanBackedList
=
this
.
backedData
()
},
dateFormatText
:
function
(
param
)
{
return
moment
(
param
).
format
(
"YYYY-MM-DD"
);
},
getDate
(
param
,
num
)
{
getDate
(
param
,
num
)
{
if
(
param
&&
param
[
num
]
!==
''
)
{
return
moment
(
param
[
num
]).
format
(
"YYYY-MM-DD"
)
}
return
""
},
mergeDate
(
param1
,
param2
)
{
//借款单状态
loanStatusFormat
:
function
(
row
,
column
)
{
var
status
=
row
[
'status'
];
return
this
.
$enumUtils
.
toMsg
(
'LoanStatusEnum'
,
status
);
},
/*日期*/
dateFormats
:
function
(
row
,
column
)
{
var
date
=
row
[
column
.
property
]
if
(
date
==
undefined
)
{
return
''
}
return
moment
(
date
).
format
(
"YYYY-MM-DD"
)
},
mergeDate
(
param1
,
param2
)
{
if
(
param1
==
""
)
{
return
""
}
...
...
@@ -715,7 +749,7 @@
return
array
;
},
//参数
buildParam
(
clientNo
)
{
buildParam
(
clientNo
)
{
var
return_hash
=
{
size
:
this
.
page
.
size
,
current
:
this
.
page
.
current
,
...
...
@@ -733,7 +767,7 @@
if
(
date
==
undefined
)
{
return
''
}
return
moment
(
date
).
format
(
"YYYY-MM-DD "
)
+
row
.
backedTime
return
moment
(
date
).
format
(
"YYYY-MM-DD "
)
+
row
.
backedTime
},
/*日期*/
...
...
@@ -746,30 +780,33 @@
},
// 计算已还金额
planMoneyFormat
:
function
(
row
,
column
)
{
return
this
.
accAdd
(
this
.
accAdd
(
row
.
backedBen
,
row
.
backedFu
),
row
.
backedXi
)
return
this
.
accAdd
(
this
.
accAdd
(
row
.
backedBen
,
row
.
backedFu
),
row
.
backedXi
)
},
// 银行信息拼接
cardBankFormat
:
function
(
row
,
column
)
{
return
row
.
cardBankAccount
+
"("
+
row
.
cardBankCodeStr
+
")"
;
return
row
.
cardBankAccount
+
"("
+
row
.
cardBankCodeStr
+
")"
;
},
// 还款结果
resultBankFormat
:
function
(
row
,
column
)
{
return
row
.
resultStr
+
"("
+
row
.
confirmDesc
+
")"
;
return
row
.
resultStr
+
"("
+
row
.
confirmDesc
+
")"
;
},
// 合同金额
// 计算小数
accAdd
(
arg1
,
arg2
){
var
r1
,
r2
,
m
;
try
{
r1
=
arg1
.
toString
().
split
(
"."
)[
1
].
length
}
catch
(
e
){
r1
=
0
}
try
{
r2
=
arg2
.
toString
().
split
(
"."
)[
1
].
length
}
catch
(
e
){
r2
=
0
}
m
=
Math
.
pow
(
10
,
Math
.
max
(
r1
,
r2
))
return
(
arg1
*
m
+
arg2
*
m
)
/
m
},
loanChannelStatus
:
function
(
row
)
{
var
status
=
row
;
this
.
loanUserBasicList
.
channelSign
=
this
.
$enumUtils
.
toMsg
(
'loanChannel'
,
status
);
accAdd
(
arg1
,
arg2
)
{
var
r1
,
r2
,
m
;
try
{
r1
=
arg1
.
toString
().
split
(
"."
)[
1
].
length
}
catch
(
e
)
{
r1
=
0
}
try
{
r2
=
arg2
.
toString
().
split
(
"."
)[
1
].
length
}
catch
(
e
)
{
r2
=
0
}
m
=
Math
.
pow
(
10
,
Math
.
max
(
r1
,
r2
))
return
(
arg1
*
m
+
arg2
*
m
)
/
m
},
//客服状态
...
...
@@ -777,16 +814,7 @@
var
status
=
row
[
'pointStatus'
];
return
this
.
$enumUtils
.
toMsg
(
'ServiceStatus'
,
status
);
},
//还款单状态
statusFormat
:
function
(
row
,
column
)
{
var
status
=
row
[
'status'
];
return
this
.
$enumUtils
.
toMsg
(
'LoanStatusEnum'
,
status
);
},
//订单状态是否挂起
hangUpFormat
:
function
(
row
,
column
)
{
var
status
=
row
[
'hangUp'
];
return
this
.
$enumUtils
.
toMsg
(
'LoanHangupEnum'
,
status
);
},
//结果状态
resultFormat
:
function
(
row
,
column
)
{
var
result
=
row
[
'result'
];
...
...
@@ -799,33 +827,12 @@
},
/** 处理分页操作*/
handleCurrentChange
()
{
handleCurrentChange
()
{
this
.
loanBackedList
=
this
.
backedData
()
},
// 拨打
MakeCallUser
(
clientNo
)
{
this
.
$$get
(
'/client/getClientCell/'
+
clientNo
)
.
then
(
res
=>
{
if
(
res
.
data
.
code
==
1
){
if
(
window
.
CallServer
)
{
window
.
CallServer
.
MakeCall
(
res
.
data
.
data
)
}
else
{
this
.
$message
.
error
(
"请先签入话机"
);
}
}
else
{
this
.
$message
({
message
:
res
.
data
.
msg
,
type
:
'error'
});
}
})
.
catch
(
err
=>
this
.
$$msg
.
err
(
err
))
}
}
}
</
script
>
...
...
src/components/byh/ServiceProblem.vue
View file @
1c58eaf6
...
...
@@ -32,6 +32,13 @@
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
:clearable=
"false"
></el-date-picker>
</el-form-item>
<el-form-item
label=
"产品名称"
>
<el-select
clearable
v-model=
"searchInfo.productName"
>
<el-option
v-for=
"item in this.$enumUtils.toValue('BusinessType')"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
></el-option>
</el-select>
</el-form-item>
<div
class=
"btn"
>
<el-button
@
click=
"reset"
type=
"primary"
>
重置
</el-button>
<el-button
@
click=
"querySearchRemind"
type=
"primary"
>
查询
</el-button>
...
...
@@ -59,6 +66,7 @@
<el-table-column
prop=
"clientCell"
label=
"手机号"
></el-table-column>
<el-table-column
prop=
"gmtCreated"
label=
"反馈时间"
:formatter=
"dateFormat"
></el-table-column>
<el-table-column
prop=
"feedType"
label=
"反馈类型"
></el-table-column>
<el-table-column
prop=
"productName"
label=
"产品名称"
:formatter=
"productNameFormat"
></el-table-column>
<el-table-column
prop=
"feedStatus"
label=
"解决状态"
></el-table-column>
<el-table-column
label=
"操作"
>
<
template
slot-scope=
"scope"
>
...
...
@@ -113,6 +121,7 @@
clientCell
:
''
,
feedType
:
''
,
feedStatus
:
''
,
productName
:
''
,
},
tablePlanRemindData
:
[],
record
:
''
,
...
...
@@ -128,7 +137,6 @@
filters
:
{
filterFun
:
function
(
value
)
{
console
.
log
(
value
,
666
)
if
(
value
.
length
>
20
)
{
value
=
value
.
substring
(
0
,
10
)
+
'...'
;
}
...
...
@@ -217,6 +225,12 @@
},
//产品名称
productNameFormat
:
function
(
row
,
column
)
{
var
status
=
row
[
'productName'
];
return
this
.
$enumUtils
.
toMsg
(
'BusinessType'
,
status
);
},
//参数
buildParam
()
{
var
return_hash
=
{
...
...
@@ -240,6 +254,9 @@
if
(
this
.
searchInfo
.
feedStatus
!=
''
)
{
return_hash
[
'feedStatus'
]
=
this
.
searchInfo
.
feedStatus
}
if
(
this
.
searchInfo
.
productName
!=
''
)
{
return_hash
[
'productName'
]
=
this
.
searchInfo
.
productName
}
if
(
this
.
searchInfo
.
gmtCreated
!=
null
&&
this
.
searchInfo
.
gmtCreated
.
length
>
0
)
{
var
end
=
new
Date
(
this
.
searchInfo
.
gmtCreated
[
1
])
...
...
@@ -247,7 +264,7 @@
end
=
end
.
setDate
(
end
.
getDate
()
+
1
);
end
=
new
Date
(
end
);
return_hash
[
'gmt
TimeStart
'
]
=
this
.
searchInfo
.
gmtCreated
[
0
];
return_hash
[
'gmt
Created
'
]
=
this
.
searchInfo
.
gmtCreated
[
0
];
return_hash
[
'gmtTimeEnd'
]
=
end
}
...
...
@@ -286,6 +303,7 @@
this
.
searchInfo
.
feedType
=
''
;
this
.
searchInfo
.
feedStatus
=
''
;
this
.
searchInfo
.
gmtCreated
=
''
;
this
.
searchInfo
.
productName
=
''
;
},
/** 处理分页操作*/
...
...
src/utils/enumOpt.js
View file @
1c58eaf6
...
...
@@ -296,9 +296,13 @@ const enumUtils = {
]
};
// 产品名称
enumOpts
[
31
]
=
{
enumName
:
'BusinessType'
,
values
:
[
{
code
:
'GXD'
,
message
:
'工薪贷'
},
{
code
:
'FO_GJJ'
,
message
:
'51公积金'
},
]
};
for
(
var
enumOptNum
in
enumOpts
)
{
if
(
enumOpts
[
enumOptNum
].
enumName
==
enumName
)
{
...
...
@@ -498,7 +502,7 @@ const enumUtils = {
]
};
//
解决状态
//
产品名称
enumOpts
[
18
]
=
{
enumName
:
'BusinessType'
,
values
:
[
{
value
:
'GXD'
,
label
:
'工薪贷'
},
...
...
@@ -506,9 +510,6 @@ const enumUtils = {
]
};
for
(
var
enumOptNum
in
enumOpts
)
{
if
(
enumOpts
[
enumOptNum
].
enumName
==
enumName
)
{
return
enumOpts
[
enumOptNum
].
values
;
...
...
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