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
9e668103
Commit
9e668103
authored
Jul 13, 2022
by
刘雅文
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
需求
parent
06527d13
Changes
29
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
29 changed files
with
2144 additions
and
15825 deletions
+2144
-15825
.env.production
.env.production
+1
-1
README.md
README.md
+1
-1
package-lock.json
package-lock.json
+490
-15215
ByhService.vue
src/components/byh/ByhService.vue
+0
-2
ByhServiceDetail.vue
src/components/byh/ByhServiceDetail.vue
+3
-2
CreateRefund.vue
src/components/byh/CreateRefund.vue
+130
-0
RiskLevelList.vue
src/components/byh/RiskLevelList.vue
+4
-0
ServiceProblem.vue
src/components/byh/ServiceProblem.vue
+4
-1
AddQuestion.vue
src/components/byh/componments/AddQuestion.vue
+7
-2
AdvanceLoanAmt.vue
src/components/byh/componments/AdvanceLoanAmt.vue
+3
-3
ApplyInfo.vue
src/components/byh/componments/ApplyInfo.vue
+0
-1
BaseInfo.vue
src/components/byh/componments/BaseInfo.vue
+204
-47
BillList.vue
src/components/byh/componments/BillList.vue
+319
-175
DevicePayment.vue
src/components/byh/componments/DevicePayment.vue
+341
-0
FeedList.vue
src/components/byh/componments/FeedList.vue
+7
-4
LoanDetail copy.vue
src/components/byh/componments/LoanDetail copy.vue
+0
-165
LoanDetail.vue
src/components/byh/componments/LoanDetail.vue
+99
-38
LoanInfo.vue
src/components/byh/componments/LoanInfo.vue
+7
-7
Messages.vue
src/components/byh/componments/Messages.vue
+147
-0
OffineTransfer.vue
src/components/byh/componments/OffineTransfer.vue
+1
-1
OperateLog.vue
src/components/byh/componments/OperateLog.vue
+2
-0
ProtocolSettled.vue
src/components/byh/componments/ProtocolSettled.vue
+7
-1
ProtocolSettledOne.vue
src/components/byh/componments/ProtocolSettledOne.vue
+35
-8
RePayList.vue
src/components/byh/componments/RePayList.vue
+4
-3
ReliefList.vue
src/components/byh/componments/ReliefList.vue
+2
-2
ServiceRefund.vue
src/components/byh/componments/ServiceRefund.vue
+168
-0
index.js
src/router/index.js
+149
-141
routes.js
src/router/routes.js
+5
-1
ajax.js
src/utils/ajax.js
+4
-4
No files found.
.env.production
View file @
9e668103
README.md
View file @
9e668103
...
...
@@ -30,7 +30,7 @@
-
访问域名:https://customer.dingrongxd.com/
-
API接口地址:https://drwater.dingrongxd.com
**测试部署**
**测试部署
(放到金钱下面)
**
-
bucket:customer-vue-test
-
访问域名:http://customertest.jqtianxia.cn/
-
API接口地址:http://47.99.245.36:8202
...
...
package-lock.json
View file @
9e668103
This diff is collapsed.
Click to expand it.
src/components/byh/ByhService.vue
View file @
9e668103
...
...
@@ -313,8 +313,6 @@ export default {
if
(
this
.
searchInfo
.
productName
!=
''
)
{
return_hash
[
'productName'
]
=
this
.
searchInfo
.
productName
}
return
return_hash
;
},
...
...
src/components/byh/ByhServiceDetail.vue
View file @
9e668103
...
...
@@ -11,6 +11,7 @@
<el-tab-pane
name=
"FeedList"
label=
"反馈记录"
></el-tab-pane>
<el-tab-pane
name=
"UrgeList"
label=
"催收记录"
></el-tab-pane>
<el-tab-pane
name=
"OperateLog"
label=
"操作日志"
></el-tab-pane>
<el-tab-pane
name=
"Messages"
label=
"短信信息"
></el-tab-pane>
</el-tabs>
<div
class=
"box-right"
>
...
...
@@ -65,6 +66,7 @@ import OperateLog from "./componments/OperateLog";
import
AddQuestion
from
"./componments/AddQuestion"
;
import
updateQueDialog
from
"./componments/UpdateQueDialog"
;
import
Messages
from
"./componments/Messages"
;
export
default
{
...
...
@@ -76,7 +78,7 @@ export default {
FeedList
,
UrgeList
,
OperateLog
,
Messages
,
AddQuestion
,
updateQueDialog
},
...
...
@@ -89,7 +91,6 @@ export default {
firstLoanNo
:
''
,
loan
:
{},
query
:
{},
basicInfo
:
{},
clientNos
:
""
,
clientProducts
:
""
,
...
...
src/components/byh/CreateRefund.vue
0 → 100644
View file @
9e668103
<
template
>
<div
class=
"box"
>
<h3>
创建退款单:
</h3>
<el-form
:inline=
"false"
:model=
"loanInfo"
:rules=
"rules"
ref=
"loanInfo"
label-width=
"200px"
>
<el-form-item
label=
"借款编号:"
prop=
"loanNo"
>
<el-input
placeholder=
"请输入客户编号"
v-model=
"loanInfo.loanNo"
></el-input>
</el-form-item>
<el-form-item
label=
"退款金额:"
prop=
"refundAmt"
>
<el-input
placeholder=
"请输入退款金额"
v-model=
"loanInfo.refundAmt"
></el-input>
</el-form-item>
<el-form-item
label=
"备注信息:"
prop=
"memo"
>
<el-input
placeholder=
"请输入备注信息"
v-model=
"loanInfo.memo"
></el-input>
</el-form-item>
</el-form>
<el-button
class=
"btn"
type=
"primary"
@
click=
"trueSet('loanInfo')"
>
确定创建
</el-button
>
</div>
</
template
>
<
script
>
export
default
{
name
:
"CreateRefund"
,
data
()
{
return
{
loanInfo
:
{
loanNo
:
""
,
//借款编号
refundAmt
:
""
,
//退款金额
memo
:
""
,
//备注
creator
:
""
,
//创建人
},
creators
:
""
,
//创建人
rules
:
{
loanNo
:
[
{
required
:
true
,
message
:
"请输入借款编号"
,
trigger
:
"blur"
},
],
refundAmt
:
[
{
required
:
true
,
message
:
"请输入退款金额"
,
trigger
:
"blur"
},
],
memo
:
[
{
required
:
true
,
message
:
"填输入备注信息"
,
trigger
:
"blur"
},
],
},
};
},
mounted
()
{
//获取登录名
this
.
creators
=
localStorage
.
getItem
(
"loginName"
);
// console.log(this.creators,'445')
},
methods
:
{
open
()
{
this
.
$confirm
(
"此操作将为您创建退款单,是否继续?"
,
"提示"
,
{
confirmButtonText
:
"确定"
,
cancelButtonText
:
"取消"
,
type
:
"warning"
,
})
.
then
(()
=>
{
// console.log(this.creators,this.loanInfo,'zhegeshi canshu')
if
(
this
.
creators
){
this
.
loanInfo
.
creator
=
this
.
creators
}
this
.
$$post
(
`/refund/createRefund`
,
this
.
loanInfo
).
then
((
res
)
=>
{
if
(
res
.
data
.
code
!=
200
)
{
this
.
$message
.
error
(
res
.
data
.
message
);
return
;
}
else
{
this
.
loanInfo
=
{};
this
.
$message
({
type
:
"success"
,
message
:
"创建成功!"
,
});
}
});
})
.
catch
(()
=>
{
this
.
$message
({
type
:
"info"
,
message
:
"已取消创建"
,
});
this
.
loanInfo
=
{};
});
},
//点击确定提交信息
trueSet
(
loanInfo
)
{
this
.
$refs
[
loanInfo
].
validate
((
valid
)
=>
{
if
(
valid
)
{
this
.
open
();
}
else
{
console
.
log
(
"提交失败!!!"
);
return
false
;
}
});
},
},
};
</
script
>
<
style
>
.box
{
padding
:
30px
;
}
h3
{
margin-left
:
50px
;
margin-bottom
:
30px
;
}
.el-input__inner
{
width
:
250px
;
}
.btn
{
margin-left
:
120px
;
}
</
style
>
\ No newline at end of file
src/components/byh/RiskLevelList.vue
View file @
9e668103
...
...
@@ -83,6 +83,10 @@ export default {
data
()
{
return
{
options
:
[
{
value
:
'R0'
,
label
:
'R0'
},
{
value
:
'R1'
,
label
:
'R1'
...
...
src/components/byh/ServiceProblem.vue
View file @
9e668103
...
...
@@ -77,8 +77,9 @@
<el-table-column
align=
"center"
prop=
"clientCell"
label=
"手机号"
></el-table-column>
<el-table-column
align=
"center"
prop=
"gmtCreated"
label=
"反馈时间"
:formatter=
"dateFormat"
></el-table-column>
<el-table-column
align=
"center"
prop=
"feedType"
label=
"反馈类型"
></el-table-column>
<!--
<el-table-column prop="feedProduct" label="产品名称" :formatter="productNameFormat" ></el-table-column>
-->
<!--
<el-table-column align="center" prop="feedProduct" label="产品名称" :formatter="productNameFormat" ></el-table-column>
-->
<el-table-column
align=
"center"
prop=
"feedSource"
label=
"来源"
:formatter=
"feedSourceFormat"
></el-table-column>
<el-table-column
align=
"center"
prop=
"feedProductStr"
label=
"渠道来源"
></el-table-column>
<el-table-column
align=
"center"
prop=
"feedStatus"
label=
"解决状态"
></el-table-column>
<el-table-column
align=
"center"
label=
"操作"
>
<
template
slot-scope=
"scope"
>
...
...
@@ -175,8 +176,10 @@ export default {
this
.
$message
.
error
(
res
.
data
.
message
);
return
}
// console.log(res.data.result);
listsData
=
res
.
data
.
result
.
records
;
this
.
tablePlanRemindData
=
listsData
;
// console.log(this.tablePlanRemindData);
this
.
page
.
total
=
res
.
data
.
result
.
total
;
}).
catch
(
error
=>
{
...
...
src/components/byh/componments/AddQuestion.vue
View file @
9e668103
...
...
@@ -101,6 +101,7 @@ export default {
feedContent
:
''
,
clientNo
:
''
,
creater
:
''
,
loanNo
:
''
,
productName
:
''
,
feedVoucher
:
[]
},
...
...
@@ -158,7 +159,8 @@ export default {
}
},
created
()
{
const
{
clientNo
,
feedNo
,
feedType
,
feedStatus
,
feedContent
,
feedVoucher
,
feedProduct
}
=
this
.
params
;
console
.
log
(
this
.
params
,
'888888888888'
);
const
{
clientNo
,
feedNo
,
feedType
,
feedStatus
,
feedContent
,
feedVoucher
,
feedProduct
,
loanNo
}
=
this
.
params
;
const
list
=
[];
feedVoucher
.
forEach
(
item
=>
{
const
o
=
{};
...
...
@@ -168,7 +170,7 @@ export default {
});
this
.
fileList
=
list
;
console
.
log
(
this
.
params
,
'内容'
);
//
console.log(this.params,'内容');
this
.
ruleForm
=
{
feedNo
,
...
...
@@ -176,6 +178,7 @@ export default {
feedStatus
,
feedContent
,
feedVoucher
,
loanNo
,
clientNo
,
productName
:
feedProduct
,
creater
:
localStorage
.
getItem
(
"userName"
),
...
...
@@ -249,6 +252,7 @@ export default {
feedType
:
this
.
ruleForm
.
feedType
,
feedSource
:
'CUSTOMER'
,
feedStatus
:
this
.
ruleForm
.
feedStatus
,
loanNo
:
this
.
ruleForm
.
loanNo
,
feedContent
:
this
.
ruleForm
.
feedContent
,
clientNo
:
this
.
ruleForm
.
clientNo
,
productName
:
this
.
ruleForm
.
productName
,
...
...
@@ -276,6 +280,7 @@ export default {
feedStatus
:
this
.
ruleForm
.
feedStatus
,
feedContent
:
this
.
ruleForm
.
feedContent
,
clientNo
:
this
.
ruleForm
.
clientNo
,
loanNo
:
this
.
ruleForm
.
loanNo
,
productName
:
this
.
ruleForm
.
productName
,
feedVoucher
:
feedVoucher
})
...
...
src/components/byh/componments/AdvanceLoanAmt.vue
View file @
9e668103
...
...
@@ -10,7 +10,7 @@
<div
style=
"margin-left:50px"
>
<el-row
:gutter=
"20"
>
<el-col
:span=
"8"
>
<div
class=
"grid-content bg-purple"
>
本金:
{{
this
.
ruleForm
.
principl
eAmt
}}
</div>
<div
class=
"grid-content bg-purple"
>
本金:
{{
this
.
ruleForm
.
rais
eAmt
}}
</div>
</el-col>
<el-col
:span=
"8"
>
<div
class=
"grid-content bg-purple"
>
起息日:
{{
this
.
ruleForm
.
startDate
|
dateFilter
}}
</div>
...
...
@@ -76,7 +76,7 @@
</el-form-item>
<el-form-item
label=
"减免金额"
prop=
"derateAmt"
>
<el-col
:span=
"20"
>
<el-input
v-model=
"ruleForm.derateAmt"
placeholder=
"请输入
转账
金额"
disabled
></el-input>
<el-input
v-model=
"ruleForm.derateAmt"
placeholder=
"请输入
减免
金额"
disabled
></el-input>
</el-col>
</el-form-item>
<el-form-item
label=
"还款凭证"
prop=
"attach"
>
...
...
@@ -109,7 +109,6 @@
<
script
>
import
*
as
moment
from
"moment"
;
export
default
{
name
:
"advanceLoanAmt"
,
props
:
{
...
...
@@ -152,6 +151,7 @@ export default {
attach
:
''
,
bankAccount
:
''
,
bankOwner
:
''
,
raiseAmt
:
''
},
rules
:
{
bankAccount
:
[{
required
:
true
,
message
:
'请输入还款银行账号'
,
trigger
:
'blur'
}],
...
...
src/components/byh/componments/ApplyInfo.vue
View file @
9e668103
...
...
@@ -74,7 +74,6 @@ export default {
},
async
created
()
{
if
(
this
.
params
){
console
.
log
(
this
.
params
,
'哈哈'
);
const
{
applyVo
}
=
this
.
params
;
this
.
loanModel
=
applyVo
;
this
.
productNameFormat
(
this
.
loanModel
.
productName
);
...
...
src/components/byh/componments/BaseInfo.vue
View file @
9e668103
<
template
>
<div
class=
"tabs-content"
>
<block-header
title=
"基本信息"
>
</block-header>
<block-header
title=
"基本信息"
>
</block-header>
<div
class=
"block-box"
>
<table
class=
"table"
>
<tr>
...
...
@@ -16,18 +14,42 @@
<tr>
<td>
实名认证:
</td>
<td>
<el-tag
size=
"mini"
type=
"danger"
v-if=
"basicInfo.isIdentity==='未认证'"
>
{{
basicInfo
.
isIdentity
}}
</el-tag>
<el-tag
size=
"mini"
type=
"success"
v-else
>
{{
basicInfo
.
isIdentity
}}
</el-tag>
<el-tag
size=
"mini"
type=
"danger"
v-if=
"basicInfo.isIdentity === '未认证'"
>
{{
basicInfo
.
isIdentity
}}
</el-tag
>
<el-tag
size=
"mini"
type=
"success"
v-else
>
{{
basicInfo
.
isIdentity
}}
</el-tag
>
</td>
<td>
基础信息认证:
</td>
<td>
<el-tag
size=
"mini"
type=
"danger"
v-if=
"basicInfo.isIdentity==='未认证'"
>
{{
basicInfo
.
isBasicInfo
}}
</el-tag>
<el-tag
size=
"mini"
type=
"success"
v-else
>
{{
basicInfo
.
isBasicInfo
}}
</el-tag>
<el-tag
size=
"mini"
type=
"danger"
v-if=
"basicInfo.isIdentity === '未认证'"
>
{{
basicInfo
.
isBasicInfo
}}
</el-tag
>
<el-tag
size=
"mini"
type=
"success"
v-else
>
{{
basicInfo
.
isBasicInfo
}}
</el-tag
>
</td>
<td>
活体认证:
</td>
<td>
<el-tag
size=
"mini"
type=
"danger"
v-if=
"basicInfo.isIdentity==='未认证'"
>
{{
basicInfo
.
isFace
}}
</el-tag>
<el-tag
size=
"mini"
type=
"success"
v-else
>
{{
basicInfo
.
isFace
}}
</el-tag>
<el-tag
size=
"mini"
type=
"danger"
v-if=
"basicInfo.isIdentity === '未认证'"
>
{{
basicInfo
.
isFace
}}
</el-tag
>
<el-tag
size=
"mini"
type=
"success"
v-else
>
{{
basicInfo
.
isFace
}}
</el-tag
>
</td>
</tr>
<tr>
...
...
@@ -46,7 +68,7 @@
</tr>
</table>
</div>
<block-header
title=
"银行卡列表"
/>
<block-header
title=
"银行卡列表"
/>
<div
class=
"block-box"
>
<el-table
:header-row-class-name=
"headerStyle"
...
...
@@ -54,15 +76,46 @@
border
size=
"small"
:data=
"ownerBank"
stripe
style=
"width: 100%;"
>
<el-table-column
align=
"center"
prop=
"bankAccount"
label=
"银行卡号"
></el-table-column>
<el-table-column
align=
"center"
prop=
"openBankName"
label=
"银行名称"
></el-table-column>
<el-table-column
align=
"center"
prop=
"ownerName"
label=
"姓名"
></el-table-column>
<el-table-column
align=
"center"
prop=
"payChannelApi"
label=
"渠道名称"
></el-table-column>
<el-table-column
align=
"center"
prop=
"gmtCreated"
label=
"绑定时间"
:formatter=
"dateFormat"
></el-table-column>
stripe
style=
"width: 100%"
>
<el-table-column
align=
"center"
prop=
"bankAccount"
label=
"银行卡号"
></el-table-column>
<el-table-column
align=
"center"
prop=
"openBankName"
label=
"银行名称"
></el-table-column>
<el-table-column
align=
"center"
prop=
"ownerName"
label=
"姓名"
></el-table-column>
<el-table-column
align=
"center"
prop=
"payChannelApi"
label=
"渠道名称"
></el-table-column>
<el-table-column
align=
"center"
prop=
"gmtCreated"
label=
"绑定时间"
:formatter=
"dateFormat"
></el-table-column>
<el-table-column
align=
"center"
label=
"操作"
>
<template
slot-scope=
"scope"
>
<el-button
type=
"text"
size=
"small"
@
click=
"ownerBankBind(scope.row,'BindCardRecord','绑卡记录')"
>
绑卡记录
</el-button>
<el-button
type=
"text"
size=
"small"
@
click=
"ownerBankBind(scope.row, 'BindCardRecord', '绑卡记录')"
>
绑卡记录
</el-button
>
<el-button
type=
"text"
size=
"small"
@
click=
"unSign(scope.row)"
>
解绑
</el-button
>
</
template
>
</el-table-column>
</el-table>
...
...
@@ -75,21 +128,44 @@
:is=
"activeComponents"
:dialogVisible=
"visible"
:params=
"dParams"
:title=
"dTitle"
/>
:title=
"dTitle"
/>
</
template
>
<!-- 解绑 -->
<
template
v-if=
"dialogTableVisible"
>
<el-dialog
title=
"请输入手机号"
center
width=
"30%"
:visible
.
sync=
"dialogTableVisible"
>
<el-form
:model=
"tellphone"
>
<el-form-item
label=
"旧手机号:"
label-width=
"100"
>
<el-input
v-model=
"tellphone.ownerMobile"
></el-input>
</el-form-item>
<el-form-item
label=
"新手机号:"
label-width=
"100"
>
<el-input
v-model=
"tellphone.newOwnerMobile"
></el-input>
</el-form-item>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"cancel"
>
取 消
</el-button>
<el-button
type=
"primary"
@
click=
"submittel"
>
确 定
</el-button>
</div>
</el-dialog>
</
template
>
</div>
</template>
<
script
>
import
BlockHeader
from
"@/components/byh/componments/blockHeader"
;
import
BindCardRecord
from
'./OwnerBankBind'
import
BindCardRecord
from
"./OwnerBankBind"
;
import
*
as
moment
from
"moment"
;
export
default
{
name
:
'AddUserServiceDialog'
,
name
:
"AddUserServiceDialog"
,
components
:
{
BlockHeader
,
BindCardRecord
BindCardRecord
,
},
props
:
{
dialogVisible
:
{
...
...
@@ -102,7 +178,7 @@ export default {
},
params
:
{
type
:
Object
,
required
:
true
required
:
true
,
},
},
data
()
{
...
...
@@ -111,29 +187,43 @@ export default {
activeComponents
:
""
,
dTitle
:
""
,
dParams
:
{},
dialogTableVisible
:
false
,
basicInfo
:
{},
ownerBank
:
[]
}
ownerBank
:
[],
// 手机号
tellphone
:
{
newOwnerMobile
:
""
,
ownerMobile
:
""
,
},
dataInfo
:
{
bankAccount
:
""
,
bizType
:
""
,
clientNo
:
""
,
productName
:
""
,
},
};
},
filters
:
{
dateFilter
:
function
(
row
)
{
const
exp
=
row
;
if
(
!
exp
||
typeof
(
exp
)
===
undefined
||
typeof
(
exp
)
===
null
)
{
return
''
if
(
!
exp
||
typeof
exp
===
undefined
||
typeof
exp
===
null
)
{
return
""
;
}
return
moment
(
exp
).
format
(
"YYYY-MM-DD"
)
return
moment
(
exp
).
format
(
"YYYY-MM-DD"
)
;
},
},
async
created
()
{
if
(
this
.
params
)
{
const
params
=
this
.
params
;
console
.
log
(
params
,
'是什么'
);
const
{
basicInfo
}
=
params
;
// console.log(params, "是什么"
);
const
{
basicInfo
}
=
params
;
this
.
basicInfo
=
basicInfo
;
if
(
basicInfo
.
cardList
)
this
.
ownerBank
=
basicInfo
.
cardList
;
}
// console.log(this.$route.query.clientProductName)
this
.
dataInfo
.
productName
=
this
.
$route
.
query
.
clientProductName
this
.
dataInfo
.
clientNo
=
this
.
$route
.
query
.
clientNo
},
methods
:
{
headerStyle
()
{
...
...
@@ -141,23 +231,90 @@ export default {
},
/*日期*/
dateFormat
:
function
(
row
,
column
)
{
let
date
=
row
[
column
.
property
]
let
date
=
row
[
column
.
property
]
;
if
(
date
===
undefined
)
{
return
''
return
""
;
}
return
moment
(
date
).
format
(
"YYYY-MM-DD HH:mm:ss"
)
return
moment
(
date
).
format
(
"YYYY-MM-DD HH:mm:ss"
)
;
},
// 查看绑卡记录
ownerBankBind
(
row
,
com
,
title
)
{
ownerBankBind
(
row
,
com
,
title
)
{
this
.
activeComponents
=
com
;
this
.
visible
=
true
;
this
.
dTitle
=
title
;
this
.
dParams
=
row
;
},
//解绑
unSign
(
n
)
{
console
.
log
(
n
);
// console.log(this.params);
this
.
$confirm
(
"确定要解绑吗?"
,
"提示"
,
{
confirmButtonText
:
"确定"
,
cancelButtonText
:
"取消"
,
type
:
"warning"
,
})
.
then
(()
=>
{
this
.
dialogTableVisible
=
true
;
// this.dataInfo.clientNo = n.clientNo;
this
.
dataInfo
.
bizType
=
n
.
bizType
;
this
.
dataInfo
.
bankAccount
=
n
.
bankAccount
;
})
.
catch
(()
=>
{
this
.
$message
({
type
:
"info"
,
message
:
"已取消解绑"
,
});
});
},
//点击取消
cancel
()
{
this
.
dialogTableVisible
=
false
;
this
.
tellphone
=
""
;
this
.
$message
({
type
:
"info"
,
message
:
"已取消解绑"
,
});
},
//点击确定提交数据
submittel
()
{
//验证电话号码
if
(
!
/^1
[
3-9
][
0-9
]\d{8}
$/
.
test
(
this
.
tellphone
.
newOwnerMobile
))
{
this
.
$message
({
message
:
"新号码填写有误"
,
type
:
"error"
,
});
this
.
tellphone
.
newOwnerMobile
=
""
;
}
if
(
!
/^1
[
3-9
][
0-9
]\d{8}
$/
.
test
(
this
.
tellphone
.
ownerMobile
))
{
this
.
$message
({
message
:
"旧号码填写有误"
,
type
:
"error"
,
});
this
.
tellphone
.
ownerMobile
=
""
;
}
else
{
let
postData
=
{
...
this
.
dataInfo
,
...
this
.
tellphone
};
console
.
log
(
postData
);
//调接口
this
.
$$post
(
`/detail/unSign`
,
postData
).
then
((
res
)
=>
{
if
(
res
.
data
.
code
!=
200
)
{
this
.
dialogTableVisible
=
false
;
this
.
$message
.
error
(
res
.
data
.
message
);
this
.
tellphone
=
{};
return
}
}
this
.
$message
({
type
:
'success'
,
message
:
'解绑成功!'
});
this
.
dialogTableVisible
=
false
;
this
.
tellphone
=
{};
window
.
location
.
reload
();
})
}
},
},
};
</
script
>
<
style
>
</
style
>
src/components/byh/componments/BillList.vue
View file @
9e668103
This diff is collapsed.
Click to expand it.
src/components/byh/componments/DevicePayment.vue
0 → 100644
View file @
9e668103
<
template
>
<el-dialog
:append-to-body=
"true"
class=
"client-data-dialog"
title=
"分笔结清扣款"
width=
"40%"
:visible
.
sync=
"visible"
:before-close=
"handleClose"
>
<div>
<div
style=
"margin-left: 50px"
>
<el-row
:gutter=
"20"
>
<el-col
:span=
"8"
>
<div
class=
"grid-content bg-purple"
>
本金:
{{
this
.
ruleForm
.
raiseAmt
}}
</div>
</el-col>
<el-col
:span=
"8"
>
<div
class=
"grid-content bg-purple"
>
起息日:
{{
this
.
ruleForm
.
startDate
|
dateFilter
}}
</div>
</el-col>
<!--
<el-col
:span=
"6"
>
<div
class=
"grid-content bg-purple"
>
还款日:
{{
this
.
ruleForm
.
planAmt
}}
</div>
</el-col>
-->
</el-row>
<br
/>
<el-row
:gutter=
"20"
:center=
"true"
>
<el-col
:span=
"8"
>
<div
class=
"grid-content bg-purple"
>
占用天数:
{{
this
.
ruleForm
.
userDay
}}
</div>
</el-col>
<el-col
:span=
"8"
>
<div
class=
"grid-content bg-purple"
>
占用期数:
{{
this
.
ruleForm
.
userMonth
}}
</div>
</el-col>
</el-row>
<br
/>
<el-row
:gutter=
"20"
>
<el-col
:span=
"8"
>
<div
class=
"grid-content bg-purple"
>
还款本金:
{{
this
.
ruleForm
.
principleAmt
}}
</div>
</el-col>
<el-col
:span=
"8"
>
<div
class=
"grid-content bg-purple"
>
利息:
{{
this
.
ruleForm
.
interestAmt
}}
</div>
</el-col>
<el-col
:span=
"8"
>
<div
class=
"grid-content bg-purple"
>
服务费:
{{
this
.
ruleForm
.
serviceAmt
}}
</div>
</el-col>
</el-row>
<br
/>
<el-row
:gutter=
"20"
>
<el-col
:span=
"8"
>
<div
class=
"grid-content bg-purple"
>
违约金:
{{
this
.
ruleForm
.
breakAmt
}}
</div>
</el-col>
<el-col
:span=
"8"
>
<div
class=
"grid-content bg-purple"
>
退款金额:
{{
this
.
ruleForm
.
refundAmt
}}
</div>
</el-col>
<el-col
:span=
"8"
>
<div
class=
"grid-content bg-purple"
>
罚息:
{{
this
.
ruleForm
.
overdueAmt
}}
</div>
</el-col>
</el-row>
<br
/>
<el-row
:gutter=
"20"
>
<el-col
:span=
"16"
>
<div
class=
"grid-content bg-purple"
>
总应还金额:
{{
this
.
ruleForm
.
settleAmt
}}
</div>
</el-col>
</el-row>
</div>
<br
/>
<el-form
:model=
"ruleForm"
:rules=
"rules"
ref=
"ruleForm"
label-width=
"140px"
class=
"demo-ruleForm"
>
<el-form-item
label=
"选择银行卡"
prop=
"bankAccount"
>
<el-select
clearable
v-model=
"ruleForm.bankAccount"
class=
"select-bank-card"
>
<el-option
v-for=
"item in this.cardList"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"自定义扣款金额"
prop=
"selfMoney"
>
<el-col
:span=
"12"
>
<el-input
v-model=
"selfMoney"
placeholder=
"请输入自定义金额"
clearable
></el-input>
</el-col>
</el-form-item>
</el-form>
</div>
<div
slot=
"footer"
align=
"center"
>
<el-button
@
click=
"handleClose"
>
取 消
</el-button>
<el-button
type=
"primary"
@
click=
"backedTransfer('ruleForm')"
>
确 定
</el-button
>
</div>
</el-dialog>
</
template
>
<
script
>
import
*
as
moment
from
"moment"
;
export
default
{
name
:
"devicePayment"
,
props
:
{
dialogVisible
:
{
type
:
Boolean
,
required
:
true
,
},
loanNo
:
{
type
:
String
,
},
clientNo
:
{
type
:
String
,
},
bizType
:
{
type
:
String
,
},
},
data
()
{
return
{
cardList
:
[],
visible
:
this
.
$props
.
dialogVisible
,
ruleForm
:
{
allAmt
:
""
,
backedAmt
:
""
,
loanNo
:
""
,
bizType
:
""
,
breakAmt
:
""
,
orderNO
:
""
,
clientNo
:
""
,
derateAmt
:
""
,
interestAmt
:
""
,
loanAmt
:
""
,
overdueAmt
:
""
,
principleAmt
:
""
,
serviceAmt
:
""
,
settleAmt
:
""
,
startDate
:
""
,
userDay
:
""
,
userMonth
:
""
,
memo
:
""
,
attach
:
""
,
bankAccount
:
""
,
bankOwner
:
""
,
backAmt
:
""
,
raiseAmt
:
''
//自定义金额
},
selfMoney
:
""
,
rules
:
{
bankAccount
:
[
{
required
:
true
,
message
:
"请选择银行卡"
,
trigger
:
"change"
,
},
],
// selfMoney: [
// {
// required: true,
// message: "请输入扣款金额",
// trigger: "blur",
// },
// ],
},
loginName
:
""
,
backedNo
:
""
,
};
},
filters
:
{
dateFilter
:
function
(
row
)
{
const
date
=
row
;
if
(
typeof
date
===
undefined
||
typeof
date
==
null
)
return
""
;
return
moment
(
date
).
format
(
"YYYY-MM-DD"
);
},
},
created
()
{
this
.
getMoney
();
// this.selfMoney=localStorage.getItem('selfMoney');
// console.log(this.selfMoney,'1');
// localStorage.removeItem('selfMoney');
// console.log(this.selfMoney,'2');
this
.
getData
();
this
.
getBankList
();
this
.
ruleForm
=
{
loanNo
:
this
.
loanNo
,
bizType
:
this
.
bizType
,
clientNo
:
this
.
clientNo
,
selfMoney
:
this
.
selfMoney
};
this
.
bizTypeStr
=
this
.
bizType
;
},
mounted
()
{
this
.
loginName
=
localStorage
.
getItem
(
"loginName"
);
},
methods
:
{
getData
()
{
// 查询当前的基础数据
this
.
$$get
(
"/back/countSettle?loanNo="
+
this
.
loanNo
)
.
then
((
res
)
=>
{
if
(
res
.
data
.
code
!=
200
)
{
this
.
$message
.
error
(
res
.
data
.
message
);
this
.
handleClose
();
}
else
{
this
.
ruleForm
=
res
.
data
.
result
;
}
})
.
catch
((
error
)
=>
{
this
.
$message
.
error
(
error
||
"网络异常,请稍后。。。"
);
});
},
getMoney
()
{
//获取挂账金额
this
.
$$get
(
`/back/getRestingOrderAmt?loanNo=`
+
this
.
loanNo
).
then
((
res
)
=>
{
if
(
res
.
data
.
code
!=
200
)
{
this
.
$message
.
error
(
res
.
data
.
message
);
this
.
handleClose
();
}
else
{
this
.
selfMoney
=
res
.
data
.
result
;
}
});
},
getBankList
()
{
//获取银行卡列表
this
.
$$post
(
`/back/bankCardList`
,
{
clientNo
:
this
.
clientNo
,
bizType
:
this
.
bizType
,
loanNo
:
this
.
loanNo
,
})
.
then
((
res
)
=>
{
this
.
cardList
=
res
.
data
.
result
;
})
.
catch
((
error
)
=>
{
this
.
$message
.
error
(
error
||
"网络异常,请稍后。。。"
);
});
},
/** 提交点击 */
backedTransfer
()
{
// if (this.ruleForm.backAmt > this.selfMoney) {
// this.$message.error(
// "操作失败扣款金额已超出剩余应还款金额,请重新确认!"
// );
// this.selfMoney = "";
// return false;
// }
if
(
this
.
selfMoney
==
''
){
this
.
$message
.
error
(
'请输入扣款金额'
);
return
false
;
}
this
.
ruleForm
.
backAmt
=
this
.
selfMoney
;
this
.
$confirm
(
"是否确认分笔扣款?"
,
"提示"
,
{
confirmButtonText
:
"确定"
,
cancelButtonText
:
"取消"
,
type
:
"primary"
,
})
.
then
(()
=>
{
this
.
$$post
(
`/back/createBackedSettle`
,
this
.
buildParam
())
.
then
((
res
)
=>
{
// console.log(res, "确定按钮");
if
(
res
.
data
.
code
!=
200
)
{
this
.
$message
.
error
(
res
.
data
.
message
);
return
;
}
this
.
$message
({
message
:
"操作成功"
,
type
:
"success"
});
this
.
handleClose
();
this
.
$emit
(
"callback"
);
})
.
catch
((
err
)
=>
{
alert
(
"error!"
);
});
})
.
catch
(()
=>
{
this
.
$message
({
type
:
"info"
,
message
:
"已取消"
,
});
});
},
//参数
buildParam
()
{
return
{
loanNo
:
this
.
ruleForm
.
loanNo
,
bizType
:
this
.
bizTypeStr
,
backAmt
:
this
.
selfMoney
,
creator
:
this
.
loginName
,
bankAccount
:
this
.
ruleForm
.
bankAccount
,
periodNo
:
this
.
ruleForm
.
userMonth
,
rePayType
:
"BYSTEP"
,
restingOrderEnum
:
"YES"
,
};
},
/** 关闭处理 */
handleClose
()
{
this
.
visible
=
false
;
setTimeout
(()
=>
{
this
.
$emit
(
"update:dialogVisible"
,
false
);
},
300
);
},
},
};
</
script
>
<
style
scoped
>
</
style
>
src/components/byh/componments/FeedList.vue
View file @
9e668103
...
...
@@ -14,8 +14,9 @@
stripe
style=
"width: 100%;"
>
<el-table-column
prop=
"feedNo"
width=
"180"
align=
"center"
label=
"客服反馈编号"
></el-table-column>
<el-table-column
prop=
"clientName"
align=
"center"
label=
"客户姓名"
></el-table-column>
<el-table-column
prop=
"clientCell"
align=
"center"
label=
"客户手机号"
></el-table-column>
<el-table-column
prop=
"feedProductStr"
align=
"center"
label=
"产品名称"
></el-table-column>
<!--
<el-table-column
prop=
"clientName"
align=
"center"
label=
"客户姓名"
></el-table-column>
-->
<!--
<el-table-column
prop=
"clientCell"
align=
"center"
label=
"客户手机号"
></el-table-column>
-->
<el-table-column
prop=
"feedType"
align=
"center"
label=
"反馈类型"
></el-table-column>
<el-table-column
prop=
"feedContent"
align=
"center"
label=
"反馈内容"
></el-table-column>
<el-table-column
prop=
"feedVoucher"
width=
"180"
align=
"center"
label=
"相关凭证"
>
...
...
@@ -121,10 +122,11 @@ export default {
},
async
created
()
{
const
params
=
this
.
params
;
console
.
log
(
this
.
params
,
'909090'
);
this
.
dialogTitle
=
'意见反馈'
this
.
form
.
clientCell
=
params
.
phoneNo
;
this
.
form
.
loanNo
=
params
.
loanNo
;
this
.
form
.
feedProduct
=
params
.
clientProductName
;
this
.
form
.
feedSource
=
'CUSTOMER'
;
this
.
form
.
sort
=
'id desc'
;
...
...
@@ -140,13 +142,14 @@ export default {
handleTabClick
()
{
this
.
dialogTitle
=
'意见反馈'
;
this
.
visible
=
true
;
const
{
clientProductName
,
clientNo
}
=
this
.
params
;
const
{
clientProductName
,
clientNo
,
loanNo
}
=
this
.
params
;
this
.
dialogParams
=
{
feedType
:
''
,
feedStatus
:
''
,
feedContent
:
''
,
feedVoucher
:[],
clientNo
,
loanNo
,
feedProduct
:
clientProductName
}
...
...
src/components/byh/componments/LoanDetail copy.vue
deleted
100644 → 0
View file @
06527d13
<
template
>
<el-drawer
:title=
"title"
size=
"70%"
:wrapperClosable=
"false"
:visible
.
sync=
"dialogVisible"
direction=
"rtl"
:before-close=
"handleClose"
>
<div
class=
"page"
>
<div
class=
"loan-detail"
>
<el-tabs
class=
"loan-tabs"
tab-position=
"left"
v-model=
"activeComponents"
@
tab-click=
"handleTabClick"
>
<el-tab-pane
name=
"ApplyInfo"
label=
"申请信息"
></el-tab-pane>
<el-tab-pane
v-if=
"$permissionUtils.rolePermission('customBoss')"
name=
"ContractList"
label=
"借款合同"
></el-tab-pane>
<el-tab-pane
name=
"BillList"
label=
"账单详情"
></el-tab-pane>
<el-tab-pane
name=
"RePayList"
label=
"还款情况"
></el-tab-pane>
<el-tab-pane
name=
"ReliefList"
label=
"减免记录"
></el-tab-pane>
</el-tabs>
<div
class=
"loan-detail-content"
>
<template
v-if=
"visible"
>
<component
@
handleClose=
"visible = false"
:is=
"activeComponents"
:params=
"items"
:title=
"dTitle"
/>
</
template
>
</div>
</div>
</div>
</el-drawer>
</template>
<
script
>
import
BlockHeader
from
"@/components/byh/componments/blockHeader"
;
import
ApplyInfo
from
"./ApplyInfo"
;
import
ContractList
from
"./ContractList"
;
import
RePayList
from
"./RePayList"
;
import
BillList
from
"./BillList"
;
import
ReliefList
from
"./ReliefList"
;
import
*
as
moment
from
"moment"
;
export
default
{
name
:
"AddUserServiceDialog"
,
components
:
{
BlockHeader
,
ApplyInfo
,
ContractList
,
RePayList
,
BillList
,
ReliefList
,
},
props
:
{
dialogVisible
:
{
type
:
Boolean
,
required
:
true
,
},
title
:
{
type
:
String
,
required
:
true
,
},
params
:
{
type
:
Object
,
required
:
true
,
},
},
data
()
{
return
{
visible
:
false
,
activeComponents
:
""
,
dTitle
:
""
,
active
:
""
,
items
:
{},
loan
:
{},
};
},
async
created
()
{
if
(
this
.
params
)
{
const
{
loanNo
}
=
this
.
params
;
this
.
items
=
this
.
params
;
await
this
.
initLoanInfo
(
loanNo
);
}
},
methods
:
{
headerStyle
()
{
return
"tableHeaderStyle"
;
},
//根据借款信息查借款所有信息
async
initLoanInfo
(
loanNo
)
{
const
res
=
await
this
.
$$get
(
"/detail/customer/"
+
loanNo
);
const
{
success
,
result
}
=
res
.
data
;
if
(
success
&&
result
!=
null
)
{
this
.
loan
=
result
;
this
.
handleTabClick
({
name
:
"ApplyInfo"
,
label
:
"申请信息"
,
});
}
},
/*日期*/
dateFormats
:
function
(
row
,
column
)
{
let
date
=
row
[
column
.
property
];
if
(
date
===
undefined
)
return
""
;
return
moment
(
date
).
format
(
"YYYY-MM-DD"
);
},
handleClose
()
{
this
.
$emit
(
"handleClose"
);
},
// 切换选项卡
handleTabClick
(
tab
)
{
this
.
activeComponents
=
tab
.
name
;
this
.
visible
=
true
;
this
.
dTitle
=
tab
.
label
;
this
.
items
=
{
...
this
.
loan
,
...
this
.
params
,
};
},
},
};
</
script
>
<
style
scoped
lang=
"less"
>
.page,
.loan-detail {
height: 100%;
overflow: auto;
}
.page {
padding-right: 0;
}
.loan-detail {
display: flex;
position: relative;
.loan-tabs {
position: sticky;
top: 0;
right: 0;
width: 100px;
}
.loan-detail-content {
width: calc(100% - 100px);
box-sizing: border-box;
padding-left: 20px;
} .loan-detail-content {
width: calc(100% - 100px);
box-sizing: border-box;
padding-left: 20px;
}
}
</
style
>
src/components/byh/componments/LoanDetail.vue
View file @
9e668103
...
...
@@ -2,7 +2,7 @@
<!-- 修改内容 -->
<el-drawer
:title=
"title"
size=
"
7
0%"
size=
"
8
0%"
:wrapperClosable=
"false"
:visible
.
sync=
"dialogVisible"
direction=
"rtl"
...
...
@@ -12,21 +12,72 @@
<div
class=
"loan-detail"
>
<el-collapse
v-model=
"activeNames"
@
change=
"handleChange"
>
<el-collapse-item
title=
"申请信息"
name=
"1"
>
<ApplyInfo
:params=
"items"
></ApplyInfo>
<!--
<ApplyInfo
:params=
"applyInfo"
></ApplyInfo>
-->
<div
class=
"page-com"
>
<!--
<block-header
:title=
"title"
></block-header>
-->
<table
class=
"table"
>
<tr>
<td>
申请日期:
</td>
<td>
{{
loanModel
.
gmtCreated
|
dateFilter
}}
</td>
<td>
放款日期:
</td>
<td>
{{
loanModel
.
raiseDate
|
dateFilter
}}
</td>
<td>
项目名称:
</td>
<td>
{{
loanModel
.
productNameStr
}}
</td>
<!--
<el-table-column
align=
"center"
prop=
"productName"
label=
"产品名称"
:formatter=
"productNameFormat"
></el-table-column>
-->
</tr>
<tr>
<td>
总应还金额:
</td>
<td>
{{
loanModel
.
loanAmt
}}
</td>
<td>
申请期数:
</td>
<td>
{{
loanModel
.
loanLimit
}}
</td>
<td>
<span
v-if=
"loanModel.cardBankAccount"
>
放款银行卡(所属银行):
</span
>
<span
v-else
>
放款银行卡(所属银行)
</span>
</td>
<td>
<span
v-if=
"loanModel.cardBankAccount"
>
{{
loanModel
.
cardBankAccount
}}
(
{{
loanModel
.
cardBankCodeStr
}}
)
</span
>
<span
v-else
>
{{
loanModel
.
bankAccount
}}
</span>
</td>
</tr>
<tr>
<td>
本金:
</td>
<td>
{{
loanModel
.
raiseAmt
}}
</td>
<td>
总服务费:
</td>
<td>
{{
loanModel
.
serviceAmt
}}
</td>
<td>
总利息:
</td>
<td>
{{
loanModel
.
rateAmt
}}
</td>
</tr>
<tr>
<td>
总手续费:
</td>
<td
colspan=
"5"
>
{{
loanModel
.
accountAmt
}}
</td>
</tr>
</table>
</div>
</el-collapse-item>
<!-- 组件 -->
<el-collapse-item
title=
"借款合同"
name=
"2"
>
<ContractList
:params=
"items"
<ContractList
:params=
"applyInfo"
v-if=
"$permissionUtils.rolePermission('customBoss')"
></ContractList>
</el-collapse-item>
<el-collapse-item
title=
"账单详情"
name=
"3"
>
<BillList
:params=
"items
"
></BillList>
<BillList
:params=
"applyInfo
"
></BillList>
</el-collapse-item>
<el-collapse-item
title=
"还款情况"
name=
"4"
>
<RePayList
:params=
"items
"
></RePayList>
<RePayList
:params=
"applyInfo
"
></RePayList>
</el-collapse-item>
<el-collapse-item
title=
"减免记录"
name=
"5"
>
<ReliefList
:params=
"items"
></ReliefList>
<ReliefList
:params=
"applyInfo"
></ReliefList>
</el-collapse-item>
<el-collapse-item
title=
"服务费退款记录"
name=
"6"
>
<ServiceRefund
:params=
"applyInfo"
></ServiceRefund>
</el-collapse-item>
</el-collapse>
</div>
...
...
@@ -41,6 +92,7 @@ import ContractList from "./ContractList";
import
RePayList
from
"./RePayList"
;
import
BillList
from
"./BillList"
;
import
ReliefList
from
"./ReliefList"
;
import
ServiceRefund
from
"./ServiceRefund"
;
import
*
as
moment
from
"moment"
;
export
default
{
...
...
@@ -52,15 +104,16 @@ export default {
RePayList
,
BillList
,
ReliefList
,
ServiceRefund
},
props
:
{
dialogVisible
:
{
type
:
Boolean
,
required
:
true
,
},
title
:{
type
:
String
,
required
:
true
,
title
:
{
type
:
String
,
required
:
true
,
},
params
:
{
type
:
Object
,
...
...
@@ -72,19 +125,30 @@ export default {
visible
:
false
,
active
:
""
,
items
:
{},
loanModel
:
{},
applyInfo
:
{},
loan
:
{},
activeNames
:
[
"1"
],
activeNames
:
[
"1"
,
'2'
,
'3'
,
'4'
,
'5'
,
'6'
],
};
},
filters
:
{
dateFilter
:
function
(
row
)
{
const
exp
=
row
;
if
(
!
exp
||
typeof
exp
===
undefined
||
typeof
exp
===
null
)
{
return
""
;
}
return
moment
(
exp
).
format
(
"YYYY-MM-DD"
);
},
},
async
created
()
{
if
(
this
.
params
)
{
// console.log(this.params,'自营');
const
{
loanNo
}
=
this
.
params
;
this
.
items
=
this
.
params
;
console
.
log
(
this
.
items
,
'111'
);
this
.
applyInfo
=
this
.
params
;
await
this
.
initLoanInfo
(
loanNo
);
}
},
methods
:
{
headerStyle
()
{
return
"tableHeaderStyle"
;
...
...
@@ -93,13 +157,10 @@ export default {
async
initLoanInfo
(
loanNo
)
{
const
res
=
await
this
.
$$get
(
"/detail/customer/"
+
loanNo
);
const
{
success
,
result
}
=
res
.
data
;
console
.
log
(
res
.
data
,
'222'
);
console
.
log
(
res
ult
,
"222"
);
if
(
success
&&
result
!=
null
)
{
this
.
loan
=
result
;
this
.
handleChange
({
name
:
"ApplyInfo"
,
label
:
"申请信息"
,
});
this
.
loanModel
=
result
.
applyVo
;
}
},
/*日期*/
...
...
@@ -113,8 +174,8 @@ export default {
},
// 切换选项卡
handleChange
(
val
)
{
console
.
log
(
val
,
'333'
);
this
.
items
=
{
console
.
log
(
val
);
this
.
applyInfo
=
{
...
this
.
loan
,
...
this
.
params
,
};
...
...
@@ -140,7 +201,7 @@ export default {
position: relative;
.el-collapse-item {
width:100%;
width:
100%;
box-sizing: border-box;
padding-left: 20px;
}
...
...
src/components/byh/componments/LoanInfo.vue
View file @
9e668103
...
...
@@ -12,8 +12,8 @@
<el-table-column
align=
"center"
prop=
"gmtCreated"
label=
"申请日期"
:formatter=
"dateFormats"
></el-table-column>
<el-table-column
align=
"center"
prop=
"startDate"
label=
"放款日期"
:formatter=
"dateFormats"
></el-table-column>
<el-table-column
align=
"center"
prop=
"raiseAmt"
label=
"放款本金"
></el-table-column>
<el-table-column
align=
"center"
prop=
"capitalCode"
label=
"放款资方"
:formatter=
"capitalCodeFormat"
></el-table-column>
<el-table-column
align=
"center"
prop=
"capitalCode
Str
"
label=
"放款资方"
></el-table-column>
<el-table-column
align=
"center"
prop=
"status"
label=
"借款单状态"
>
<template
slot-scope=
"scope"
>
<el-tag
type=
"success"
v-if=
"scope.row.status==='AUDITED'"
size=
"small"
>
{{
loanStatusFormat
(
scope
.
row
)
}}
...
...
@@ -25,7 +25,7 @@
<el-tag
type=
"warning"
v-else-if=
"scope.row.status==='SUBMITED'"
size=
"small"
>
{{
loanStatusFormat
(
scope
.
row
)
}}
</el-tag>
<el-tag
effect
=
"warning"
v-else-if=
"scope.row.status==='BACKING'"
size=
"small"
>
<el-tag
type
=
"warning"
v-else-if=
"scope.row.status==='BACKING'"
size=
"small"
>
{{
loanStatusFormat
(
scope
.
row
)
}}
</el-tag>
<el-tag
type=
"info"
v-else
size=
"small"
>
{{
loanStatusFormat
(
scope
.
row
)
}}
</el-tag>
...
...
@@ -100,7 +100,7 @@ export default {
}
},
async
created
()
{
console
.
log
(
this
.
params
,
999
);
//
console.log(this.params, 999);
const
{
clientNo
,
clientProductName
}
=
this
.
params
;
const
res
=
await
this
.
$$post
(
'/loan/getLoanListByClientNo/'
,
{
productName
:
clientProductName
,
clientNo
:
clientNo
});
const
{
success
,
result
}
=
res
.
data
;
...
...
@@ -124,12 +124,12 @@ export default {
return
this
.
$enumUtils
.
toMsg
(
'LoanStatuEnums'
,
status
);
},
capitalCodeFormat
:
function
(
row
,
column
)
{
let
capitalCode
=
row
[
'capitalCode
'
];
return
this
.
$enumUtils
.
toMsg
(
'CapitalEnums'
,
capitalCode
);
let
capitalCode
Str
=
row
[
'capitalCodeStr
'
];
return
this
.
$enumUtils
.
toMsg
(
'CapitalEnums'
,
capitalCode
Str
);
},
// 切换选项卡
handleClick
(
row
)
{
console
.
log
(
row
,
'一行信息'
);
//
console.log(row, '一行信息');
this
.
visible
=
true
;
this
.
title
=
'借款详情'
;
this
.
items
=
{
...
...
src/components/byh/componments/Messages.vue
0 → 100644
View file @
9e668103
<
template
>
<div
class=
"page-dialog"
>
<div
class=
"tables"
>
<block-header
:title=
"title"
></block-header>
<el-table
border
size=
"mini"
:highlight-current-row=
"true"
:header-row-class-name=
"headerStyle"
:data=
"data"
stripe
style=
"width: 100%"
:default-sort=
"
{ prop: 'sendTime', order: 'descending' }"
>
<el-table-column
align=
"center"
prop=
"bizNo"
width=
"160"
label=
"ID/编号"
></el-table-column>
<el-table-column
align=
"center"
prop=
"smsType"
label=
"短信类型"
></el-table-column>
<el-table-column
align=
"center"
prop=
"content"
width=
"350"
label=
"短信内容"
></el-table-column>
<el-table-column
align=
"center"
prop=
"sendStateStr"
label=
"发送结果"
></el-table-column>
<el-table-column
align=
"center"
prop=
"memo"
label=
"备注"
></el-table-column>
<el-table-column
align=
"center"
prop=
"sendTime"
width=
"150"
:formatter=
"dateFormat"
label=
"发送时间"
></el-table-column>
</el-table>
</div>
<div
class=
"pages"
>
<el-pagination
background
@
current-change=
"handleCurrentChange"
@
size-change=
"handleSizeChange"
:current-page
.
sync=
"form.current"
:page-sizes=
"[10, 20, 50, 100]"
:page-size=
"form.size"
layout=
"total, sizes, prev, pager, next, jumper"
:total=
"form.total"
>
</el-pagination>
</div>
</div>
</
template
>
<
script
>
import
*
as
moment
from
"moment"
;
export
default
{
props
:
{
dialogVisible
:
{
type
:
Boolean
,
required
:
true
,
},
title
:
{
type
:
String
,
required
:
true
,
},
params
:
{
type
:
Object
,
required
:
true
,
},
},
data
()
{
return
{
form
:
{
current
:
1
,
size
:
10
,
total
:
1
,
cell
:
""
,
productName
:
""
},
data
:
[],
};
},
async
created
()
{
const
params
=
this
.
params
;
// console.log(params,'手机号');
this
.
form
.
cell
=
params
.
clientCell
;
this
.
form
.
productName
=
params
.
clientProductName
;
await
this
.
init
();
},
methods
:
{
headerStyle
()
{
return
"tableHeaderStyle"
;
},
async
init
()
{
const
res
=
await
this
.
$$post
(
"/detail/getSmsInfo"
,
this
.
form
);
const
{
success
,
result
}
=
res
.
data
;
if
(
success
&&
result
!==
null
)
{
this
.
data
=
result
.
data
;
this
.
form
.
total
=
result
.
total
;
}
},
/*日期*/
dateFormat
:
function
(
row
,
column
)
{
let
date
=
row
[
column
.
property
]
if
(
date
===
undefined
)
{
return
''
}
return
moment
(
date
).
format
(
"YYYY-MM-DD HH:mm:ss"
)
},
handleClose
()
{
this
.
$emit
(
"handleClose"
);
},
handleCurrentChange
(
e
)
{
this
.
form
.
current
=
e
;
this
.
init
();
},
handleSizeChange
(
e
)
{
this
.
form
.
size
=
e
this
.
form
.
current
=
1
;
this
.
init
();
},
},
};
</
script
>
<
style
>
.tables
{
margin-bottom
:
20px
;
}
.pages
{
display
:
flex
;
align-items
:
center
;
justify-content
:
center
;
}
</
style
>
\ No newline at end of file
src/components/byh/componments/OffineTransfer.vue
View file @
9e668103
...
...
@@ -3,7 +3,7 @@
:append-to-body=
"true"
class=
"client-data-dialog"
title=
"创建转账还款单"
width=
"
4
0%"
width=
"
6
0%"
:visible
.
sync=
"visible"
:before-close=
"handleClose"
>
...
...
src/components/byh/componments/OperateLog.vue
View file @
9e668103
...
...
@@ -65,7 +65,9 @@ export default {
},
async
created
()
{
const
params
=
this
.
params
;
// console.log(params,'params');
this
.
form
.
clientNo
=
params
.
clientNo
;
this
.
form
.
productName
=
params
.
clientProductName
;
await
this
.
init
()
},
methods
:
{
...
...
src/components/byh/componments/ProtocolSettled.vue
View file @
9e668103
...
...
@@ -9,7 +9,7 @@
<div
style=
"margin-left:50px"
>
<el-row
:gutter=
"20"
>
<el-col
:span=
"8"
>
<div
class=
"grid-content bg-purple"
>
本金:
{{
this
.
ruleForm
.
principl
eAmt
}}
</div>
<div
class=
"grid-content bg-purple"
>
本金:
{{
this
.
ruleForm
.
rais
eAmt
}}
</div>
</el-col>
<el-col
:span=
"8"
>
<div
class=
"grid-content bg-purple"
>
起息日:
{{
this
.
ruleForm
.
startDate
|
dateFilter
}}
</div>
...
...
@@ -126,6 +126,7 @@ export default {
attach
:
''
,
bankAccount
:
''
,
bankOwner
:
''
,
raiseAmt
:
''
,
},
bizTypeStr
:
''
,
rules
:
{
...
...
@@ -157,6 +158,8 @@ export default {
loanNo
:
this
.
loanNo
,
bizType
:
this
.
bizType
,
clientNo
:
this
.
clientNo
,
periodNo
:
this
.
periodNo
,
};
this
.
bizTypeStr
=
this
.
bizType
;
...
...
@@ -167,6 +170,7 @@ export default {
this
.
handleClose
();
}
else
{
this
.
ruleForm
=
res
.
data
.
result
;
console
.
log
(
this
.
ruleForm
,
'哈哈哈'
);
}
}).
catch
(
error
=>
{
...
...
@@ -220,7 +224,9 @@ export default {
backAmt
:
this
.
ruleForm
.
settleAmt
,
creator
:
localStorage
.
getItem
(
"userName"
),
bankAccount
:
this
.
ruleForm
.
bankAccount
,
periodNo
:
this
.
ruleForm
.
periodNo
,
rePayType
:
'BYALL'
,
restingOrderEnum
:
'NO'
};
},
...
...
src/components/byh/componments/ProtocolSettledOne.vue
View file @
9e668103
...
...
@@ -25,12 +25,24 @@
<el-input
v-model=
"ruleForm.remainAmt"
placeholder=
"请输入转账金额"
disabled
></el-input>
</el-form-item>
<el-form-item
label=
"选择银行卡"
prop=
"bankAccount"
>
<el-select
clearable
v-model=
"ruleForm.bankAccount"
class=
"select-bank-card"
>
<el-select
clearable
v-model=
"ruleForm.bankAccount"
class=
"select-bank-card"
>
<el-option
v-for=
"item in this.cardList"
:key=
"item.value"
@
click
.
native=
"changeCard(item)"
:label=
"item.label"
:value=
"item.value"
></el-option>
:value=
"item.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"选择支付渠道"
prop=
"paymentChannel"
>
<el-select
clearable
v-model=
"ruleForm.paymentChannel"
class=
"select-bank-card"
>
<el-option
v-for=
"item in this.channelList"
:key=
"item.payChannelApi"
:label=
"item.message"
:value=
"item.payChannelApi"
></el-option>
</el-select>
</el-form-item>
</el-form>
...
...
@@ -67,6 +79,9 @@ export default {
planAmt
:
{
type
:
Number
},
loanSign
:{
type
:
String
}
},
data
()
{
...
...
@@ -75,7 +90,6 @@ export default {
submitLoading
:
false
},
visible
:
this
.
$props
.
dialogVisible
,
ruleForm
:
{
periodNo
:
''
,
orderNo
:
''
,
...
...
@@ -89,16 +103,20 @@ export default {
attach
:
''
,
planNo
:
''
,
bankAccount
:
''
,
paymentChannel
:
''
,
bankOwner
:
''
,
backedAmt
:
''
,
memo
:
''
,
loanSign
:
""
,
},
rules
:
{
bankAccount
:
[{
required
:
true
,
message
:
'支付银行卡不能为空'
,
trigger
:
'blur'
}],
// paymentChannel: [{required: true, message: '支付渠道不能为空', trigger: 'blur'}],
backAmt
:
[{
required
:
true
,
message
:
"扣款金额不能为空"
,
trigger
:
'blur'
}],
},
loginName
:
''
,
cardList
:
[],
channelList
:[]
}
},
...
...
@@ -111,12 +129,14 @@ export default {
periodNo
:
this
.
periodNo
,
remainAmt
:
this
.
remainAmt
,
planAmt
:
this
.
planAmt
,
loanSign
:
this
.
loanSign
};
// console.log(this.$props,'hhhhhhhhhhh');
//获取银行卡列表
this
.
$$post
(
`/back/bankCardList`
,
{
...
this
.
ruleForm
}).
then
(
res
=>
{
console
.
log
(
res
,
'银行卡'
);
this
.
cardList
=
res
.
data
.
result
;
}).
catch
(
error
=>
{
this
.
$message
.
error
(
error
||
'网络异常,请稍后。。。'
);
...
...
@@ -146,10 +166,15 @@ export default {
}
})
},
refresh
(){
//银行卡对应的支付渠道
changeCard
(
val
){
console
.
log
(
val
.
payChannelApiVOS
,
'12131232132'
);
this
.
channelList
=
val
.
payChannelApiVOS
;
if
(
val
.
payChannelApiVOS
.
length
==
0
){
this
.
ruleForm
.
paymentChannel
=
""
;
}
},
//参数
buildParam
()
{
return
{
...
...
@@ -158,8 +183,10 @@ export default {
creator
:
localStorage
.
getItem
(
"userName"
),
bankAccount
:
this
.
ruleForm
.
bankAccount
,
backAmt
:
this
.
ruleForm
.
remainAmt
,
periodNo
:
this
.
ruleForm
.
periodNo
,
rePayType
:
'BYONE'
,
periodNo
:
this
.
ruleForm
.
periodNo
,
restingOrderEnum
:
'NO'
,
payChannelApi
:
this
.
ruleForm
.
paymentChannel
};
},
...
...
src/components/byh/componments/RePayList.vue
View file @
9e668103
...
...
@@ -28,7 +28,7 @@
>
</el-table-column>
<el-table-column
align=
"center"
prop=
"creator"
label=
"创建人"
></el-table-column>
<el-table-column
align=
"center"
prop=
"memo"
label=
"备注"
></el-table-column>
<el-table-column
:show-overflow-tooltip=
"true"
align=
"center"
prop=
"memo"
label=
"备注"
></el-table-column>
</el-table>
</div>
<div
class=
"pages"
>
...
...
@@ -91,7 +91,7 @@ export default {
async
created
()
{
if
(
this
.
params
){
const
params
=
this
.
params
;
console
.
log
(
params
,
'哈哈3'
)
//
console.log(params,'哈哈3')
this
.
form
.
bizNo
=
params
.
loanNo
;
await
this
.
init
()
}
...
...
@@ -112,8 +112,9 @@ export default {
const
res
=
await
this
.
$$post
(
'/back/detailPageList'
,
parB
);
const
{
success
,
result
}
=
res
.
data
;
if
(
success
&&
result
!==
null
)
{
const
{
data
,
total
}
=
result
const
{
data
,
total
}
=
result
;
this
.
data
=
data
;
// console.log(this.data[0].backedNo,'data');
this
.
form
.
total
=
total
;
}
},
...
...
src/components/byh/componments/ReliefList.vue
View file @
9e668103
...
...
@@ -23,7 +23,7 @@
>
</el-table-column>
<el-table-column
align=
"center"
prop=
"creator"
label=
"创建人"
></el-table-column>
<el-table-column
align=
"center"
prop=
"memo"
label=
"备注"
></el-table-column>
<el-table-column
:show-overflow-tooltip=
"true"
align=
"center"
prop=
"memo"
label=
"备注"
></el-table-column>
</el-table>
</div>
<div
class=
"pages"
>
...
...
@@ -88,9 +88,9 @@ export default {
}
},
async
created
()
{
// console.log(this.params,'哈哈3')
if
(
this
.
params
){
const
params
=
this
.
params
;
console
.
log
(
params
,
'哈哈3'
)
this
.
form
.
bizNo
=
params
.
loanNo
;
await
this
.
init
()
}
...
...
src/components/byh/componments/ServiceRefund.vue
0 → 100644
View file @
9e668103
<
template
>
<div
class=
"page-com"
>
<div
class=
"tables"
>
<!--
<block-header
:title=
"title"
></block-header>
-->
<el-table
border
size=
"mini"
:highlight-current-row=
"true"
:header-row-class-name=
"headerStyle"
:data=
"data"
stripe
style=
"width: 100%;"
>
<el-table-column
align=
"center"
prop=
"loanNo"
label=
"借款编号"
></el-table-column>
<el-table-column
align=
"center"
prop=
"refundAmt"
label=
"退款金额"
></el-table-column>
<el-table-column
align=
"center"
prop=
"refundStatusDesc"
label=
"退款单状态"
></el-table-column>
<el-table-column
align=
"center"
prop=
"creator"
label=
"创建人"
></el-table-column>
<el-table-column
align=
"center"
prop=
"gmtCreated"
label=
"创建时间"
:formatter=
"dateFormat"
></el-table-column>
<el-table-column
align=
"center"
prop=
"gmtModified"
label=
"更新时间"
:formatter=
"dateFormat"
></el-table-column>
<el-table-column
:show-overflow-tooltip=
"true"
align=
"center"
prop=
"memo"
label=
"备注"
></el-table-column>
</el-table>
</div>
<div
class=
"pages"
>
<el-pagination
background
@
current-change=
"handleCurrentChange"
@
size-change=
"handleSizeChange"
:current-page
.
sync=
"form.current"
:page-sizes=
"[10, 20, 50, 100]"
:page-size=
"form.size"
layout=
"total, sizes, prev, pager, next, jumper"
:total=
"form.total"
>
</el-pagination>
</div>
</div>
</
template
>
<
script
>
import
BlockHeader
from
"@/components/byh/componments/blockHeader"
;
import
*
as
moment
from
"moment"
;
export
default
{
name
:
'RiskInfo'
,
components
:
{
BlockHeader
},
props
:
{
title
:
{
type
:
String
,
required
:
false
,
},
params
:
{
type
:
Object
,
required
:
true
},
},
data
()
{
return
{
tableStatus
:
[
{
text
:
'成功'
,
value
:
"SUCCESS"
},
{
text
:
'审核中'
,
value
:
"SUBMITED"
},
{
text
:
'失败'
,
value
:
"FAIL"
}
],
form
:
{
total
:
1
,
current
:
1
,
size
:
10
,
// result:''
},
updateQueDialog
:
{
visible
:
false
,
feedNo
:
''
,
feedType
:
''
,
feedStatus
:
''
,
feedContent
:
''
,
clientNo
:
''
,
creater
:
''
,
finishContent
:
''
,
},
data
:
[],
backValue
:
null
}
},
async
created
()
{
if
(
this
.
params
){
const
params
=
this
.
params
;
// console.log(params,'params');
this
.
form
.
loanNo
=
params
.
loanNo
;
this
.
form
.
clientNo
=
params
.
clientNo
;
await
this
.
init
()
}
},
methods
:
{
headerStyle
()
{
return
"tableHeaderStyle"
;
},
async
init
()
{
const
parB
=
{
loanNo
:
this
.
form
.
loanNo
,
current
:
this
.
form
.
current
,
size
:
this
.
form
.
size
,
total
:
this
.
form
.
total
,
clientNo
:
this
.
form
.
clientNo
}
const
res
=
await
this
.
$$post
(
'/refund/selectRefund'
,
parB
);
const
{
success
,
result
}
=
res
.
data
;
// console.log(res.data,'返回的结果');
if
(
success
&&
result
!==
null
)
{
this
.
data
=
result
.
records
;
this
.
form
.
total
=
result
.
total
;
}
},
// 合并日期
dateCompare
:
function
(
row
,
column
)
{
let
date
=
row
[
column
.
property
]
if
(
date
===
undefined
)
{
return
''
}
return
moment
(
date
).
format
(
"YYYY-MM-DD "
)
+
row
.
backedTime
},
/*日期*/
dateFormat
:
function
(
row
,
column
)
{
let
date
=
row
[
column
.
property
]
if
(
date
===
undefined
)
{
return
''
}
return
moment
(
date
).
format
(
"YYYY-MM-DD HH:mm:ss"
)
},
/*日期*/
dateFormats
:
function
(
row
,
column
)
{
let
date
=
row
[
column
.
property
]
if
(
date
===
undefined
)
{
return
''
}
return
moment
(
date
).
format
(
"YYYY-MM-DD"
)
},
handleClose
()
{
this
.
$emit
(
"handleClose"
);
},
//客服状态
serviceFormat
:
function
(
row
,
column
)
{
let
status
=
row
[
'feedStatus'
];
return
this
.
$enumUtils
.
toMsg
(
'FeedStatus'
,
status
);
},
handleCurrentChange
(
e
)
{
this
.
form
.
current
=
e
;
this
.
init
();
},
handleSizeChange
(
e
)
{
this
.
form
.
size
=
e
this
.
form
.
current
=
1
;
this
.
init
();
},
}
}
</
script
>
<
style
>
.tables
{
margin-bottom
:
20px
;
}
.pages
{
display
:
flex
;
align-items
:
center
;
justify-content
:
center
;
}
</
style
>
src/router/index.js
View file @
9e668103
...
...
@@ -18,7 +18,10 @@ import {
ByhLoanBackedDetails
,
ByhLoanSnapList
,
ServiceProblem
,
ClientManagerment
,
DerateCreate
ClientManagerment
,
DerateCreate
,
CreateRefund
}
from
'./routes'
Vue
.
use
(
Router
)
...
...
@@ -26,91 +29,90 @@ export default new Router({
mode
:
'hash'
,
// mode: 'history',
routes
:
[
{
path
:
'/'
,
redirect
:
'/login'
},
{
path
:
'/login'
,
name
:
'Login'
,
meta
:
{
title
:
'登录'
,
filter
:
false
},
component
:
Login
},
{
path
:
'/'
,
redirect
:
'/login'
},
{
path
:
'/login'
,
name
:
'Login'
,
meta
:
{
title
:
'登录'
,
filter
:
false
},
component
:
Login
},
{
path
:
'/index'
,
name
:
'Index'
,
component
:
Index
,
meta
:
{
title
:
'首页'
},
children
:
[
{
meta
:
{
title
:
'首页'
},
children
:
[{
path
:
'/system/bankCardMaintenance'
,
name
:
'BankCardMaintenance'
,
component
:
BankCardMaintenance
,
meta
:
{
title
:
'银行卡维护'
,
filter
:
true
}
meta
:
{
title
:
'银行卡维护'
,
filter
:
true
}
},
{
path
:
'/system/UserManagement'
,
name
:
'UserManagement'
,
component
:
UserManagement
,
meta
:
{
title
:
'用户管理'
,
filter
:
true
}
meta
:
{
title
:
'用户管理'
,
filter
:
true
}
},
{
path
:
'/system/CustomerDistribution'
,
name
:
'CustomerDistribution'
,
component
:
CustomerDistribution
,
meta
:
{
title
:
'批次分配'
,
filter
:
true
}
meta
:
{
title
:
'批次分配'
,
filter
:
true
}
},
{
path
:
'/system/DistributionBatchDialog'
,
name
:
'DistributionBatchDialog'
,
component
:
DistributionBatchDialog
,
meta
:
{
title
:
'分配批次'
,
filter
:
true
}
meta
:
{
title
:
'分配批次'
,
filter
:
true
}
},
{
path
:
'/system/LendBankCardList'
,
name
:
'LendBankCardList'
,
component
:
LendBankCardList
,
meta
:
{
title
:
'出借人管理'
,
filter
:
true
}
meta
:
{
title
:
'出借人管理'
,
filter
:
true
}
},
{
path
:
'/system/DutyBizGroupsListDialog'
,
name
:
'DutyBizGroupsListDialog'
,
component
:
DutyBizGroupsListDialog
,
meta
:
{
title
:
'业务组列表'
,
filter
:
true
}
meta
:
{
title
:
'业务组列表'
,
filter
:
true
}
},
{
path
:
'/byh/ByhPlanRemindDetails'
,
name
:
'ByhPlanRemindDetails'
,
component
:
ByhPlanRemindDetails
,
meta
:
{
title
:
'还款计划详情'
,
filter
:
true
}
meta
:
{
title
:
'还款计划详情'
,
filter
:
true
}
},
{
path
:
'/byh/ByhPlanRemindDetailNew'
,
name
:
'ByhPlanRemindDetailNew'
,
component
:
ByhPlanRemindDetailNew
,
meta
:
{
title
:
'还款详情'
,
filter
:
true
}
meta
:
{
title
:
'还款详情'
,
filter
:
true
}
},
{
path
:
'/byh/ByhLoanBackedDetails'
,
name
:
'ByhLoanBackedDetails'
,
component
:
ByhLoanBackedDetails
,
meta
:
{
title
:
'还款详情'
,
filter
:
true
}
meta
:
{
title
:
'还款详情'
,
filter
:
true
}
},
{
path
:
'/byh/ByhService'
,
name
:
'ByhService'
,
component
:
ByhService
,
meta
:
{
title
:
'客服管理'
,
filter
:
true
}
meta
:
{
title
:
'客服管理'
,
filter
:
true
}
},
{
path
:
'/byh/Controlswitch'
,
name
:
'Controlswitch'
,
component
:
Controlswitch
,
meta
:
{
title
:
'亲家管理'
,
filter
:
true
}
meta
:
{
title
:
'亲家管理'
,
filter
:
true
}
},
{
path
:
'/byh/ByhServiceDetail'
,
name
:
'ByhServiceDetail'
,
component
:
ByhServiceDetail
,
meta
:
{
title
:
'客服详情'
,
filter
:
true
}
meta
:
{
title
:
'客服详情'
,
filter
:
true
}
},
{
path
:
'/byh/ServiceProblem'
,
name
:
'ServiceProblem'
,
component
:
ServiceProblem
,
meta
:
{
title
:
'意见反馈'
,
filter
:
true
}
meta
:
{
title
:
'意见反馈'
,
filter
:
true
}
},
{
...
...
@@ -136,13 +138,19 @@ export default new Router({
path
:
'/byh/DerateCreate'
,
name
:
'DerateCreate'
,
component
:
DerateCreate
,
meta
:
{
title
:
'减免单管理'
,
filter
:
true
}
meta
:
{
title
:
'减免单管理'
,
filter
:
true
}
},
{
path
:
'/byh/RiskLevelList'
,
name
:
'RiskLevelList'
,
component
:
resolve
=>
require
([
'../components/byh/RiskLevelList.vue'
],
resolve
),
meta
:
{
title
:
'风险客户'
,
filter
:
true
}
meta
:
{
title
:
'风险客户'
,
filter
:
true
}
},
{
path
:
'/byh/CreateRefund'
,
name
:
'CreateRefund'
,
component
:
resolve
=>
require
([
'../components/byh/CreateRefund.vue'
],
resolve
),
meta
:
{
title
:
'创建退款单'
,
filter
:
true
}
},
]
}
...
...
src/router/routes.js
View file @
9e668103
...
...
@@ -27,6 +27,8 @@ export const ByhLoanBackedDetails = resolve => require(['../components/byh/ByhLo
export
const
ByhLoanSnapList
=
resolve
=>
require
([
'../components/byh/ByhLoanSnapList.vue'
],
resolve
)
export
const
Controlswitch
=
resolve
=>
require
([
'../components/byh/Controlswitch.vue'
],
resolve
)
export
const
DerateCreate
=
resolve
=>
require
([
'../components/byh/DerateCreate.vue'
],
resolve
)
//创建退款单
export
const
CreateRefund
=
resolve
=>
require
([
'../components/byh/CreateRefund.vue'
],
resolve
)
export
default
{
Login
,
// 登录
...
...
@@ -52,5 +54,7 @@ export default {
//客户管理
ClientManagerment
,
Controlswitch
,
DerateCreate
DerateCreate
,
// 创建退款单
CreateRefund
}
src/utils/ajax.js
View file @
9e668103
...
...
@@ -8,7 +8,7 @@ import Cookies from 'js-cookie'
/** 测试环境 */
axios
.
defaults
.
baseURL
=
process
.
env
.
VUE_APP_API
;
/* 所有ajax请求拦截 */
axios
.
interceptors
.
request
.
use
(
function
(
req
)
{
axios
.
interceptors
.
request
.
use
(
function
(
req
)
{
const
token
=
Cookies
.
get
(
'x-auth-token'
)
if
(
token
)
{
req
.
headers
[
'X-Auth-Token'
]
=
token
...
...
@@ -16,7 +16,7 @@ axios.interceptors.request.use(function (req) {
}
// 在发送请求之前做些什么
return
req
},
function
(
error
)
{
},
function
(
error
)
{
// 对请求错误做些什么
return
Promise
.
reject
(
error
)
})
...
...
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