Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
丽
丽人贷管理后台
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
百灵美选
丽人贷管理后台
Commits
61329c7d
Commit
61329c7d
authored
Feb 15, 2023
by
caimeng
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
金银豆的人审提交测试
parent
c7dd5573
Changes
11
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
761 additions
and
6 deletions
+761
-6
README.md
README.md
+3
-0
local-approval.vue
src/components/local-approval.vue
+179
-0
user-base-info.vue
src/components/user-base-info.vue
+9
-1
index.js
src/minix/index.js
+2
-0
index.js
src/router/index.js
+34
-0
api.js
src/server/api.js
+27
-5
reassignment.vue
src/views/local/components/reassignment.vue
+134
-0
detail.vue
src/views/local/detail.vue
+80
-0
index.scss
src/views/local/index.scss
+4
-0
list.vue
src/views/local/list.vue
+280
-0
修改日志.md
修改日志.md
+9
-0
No files found.
README.md
View file @
61329c7d
...
...
@@ -19,3 +19,6 @@
-
bucket:oss://lrd-manage-prod
-
接口地址:https://aphrodite-admin.rockstect.net
-
访问地址:https://manage.rockstect.net/#/index
### 如果配置新菜单
src/components/local-approval.vue
0 → 100644
View file @
61329c7d
<!-- 预授信申述 -->
<
template
>
<el-scrollbar
class=
'com-approval'
>
<block-header
title=
'审批'
></block-header>
<!--搜索-->
<el-form
ref=
'dForm'
label-suffix=
':'
label-width=
'120px'
:rules=
'rules'
:model=
'form'
class=
'form-inline'
>
<el-form-item
prop=
'creditResult'
label=
'审批意见'
>
<template
v-if=
'searchData!==null'
>
<el-radio-group
v-model=
'form.creditResult'
>
<el-radio
v-for=
'(a,index) in opinionEnum'
:key=
'index'
:label=
'a.creditResult'
>
{{
a
.
creditResultStr
}}
</el-radio>
</el-radio-group>
</
template
>
</el-form-item>
<el-row
v-if=
'form.creditResult==="CREDIT_PASS"'
>
<el-col
:span=
'10'
>
<el-form-item
prop=
'personAmount'
label=
'人审额度'
>
<el-input
v-model=
'form.personAmount'
style=
'width: 100%;'
clearable
placeholder=
'请输入人审额度'
/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
'10'
>
<el-form-item
label=
'审批备注'
>
<el-input
v-model=
'form.memo'
type=
'textarea'
clearable
placeholder=
'请输入审批备注'
/>
</el-form-item>
</el-col>
</el-row>
<el-form-item>
<
template
>
<el-button
type=
'primary'
@
click=
'onSubmit("dForm")'
>
确 定
</el-button>
</
template
>
<el-button
type=
'default'
@
click=
'onBack'
>
取 消
</el-button>
</el-form-item>
</el-form>
</el-scrollbar>
</template>
<
script
>
import
API
from
'@/server/api'
import
{
mapGetters
}
from
'vuex'
export
default
{
name
:
'Approval'
,
props
:
{
item
:
{
type
:
Object
,
require
:
true
}
},
data
()
{
return
{
rules
:
{
creditResult
:
[
{
required
:
true
,
trigger
:
'change'
,
message
:
'请选择审批意见'
}
],
personAmount
:
[
{
required
:
true
,
trigger
:
'blur'
,
message
:
'请输入人审额度'
},
{
validator
:
(
rule
,
value
,
callback
)
=>
{
const
reg
=
/^
\d
+$/
if
(
!
reg
.
test
(
value
))
{
callback
(
new
Error
(
'请输入合法的额度'
))
}
else
{
callback
()
}
},
trigger
:
'blur'
}
],
memo
:
[
{
required
:
true
,
trigger
:
'blur'
,
message
:
'请输入审批备注'
}
]
},
creditNo
:
''
,
opinionEnum
:
[],
form
:
{
personAmount
:
''
,
creditNo
:
''
,
creditResult
:
''
}
}
},
computed
:
{
...
mapGetters
([
'searchData'
,
'user'
])
},
async
mounted
()
{
console
.
log
(
this
.
item
,
'nash '
)
if
(
this
.
item
!==
null
)
{
const
{
clientDetail
,
projectInfoResponse
}
=
this
.
item
const
{
creditNo
}
=
clientDetail
if
(
projectInfoResponse
){
const
{
creditAmt
}
=
projectInfoResponse
this
.
form
.
personAmount
=
creditAmt
}
this
.
creditNo
=
creditNo
this
.
form
.
creditNo
=
creditNo
// 那啥
if
(
this
.
searchData
!==
null
)
{
this
.
opinionEnum
=
this
.
searchData
.
xdCredit
}
}
},
methods
:
{
onSubmit
(
formName
)
{
this
.
$refs
[
formName
].
validate
(
async
(
valid
)
=>
{
if
(
valid
)
{
this
.
$confirm
(
'是否确认提交?'
,
'提示'
,
{
confirmButtonText
:
'确定'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
}).
then
(
async
(
res
)
=>
{
const
form
=
this
.
form
;
const
result
=
await
API
.
localCreditSubmit
({
...
form
})
if
(
result
.
success
)
{
this
.
$message
({
type
:
'success'
,
message
:
'审批成功'
})
this
.
onBack
()
}
}).
catch
((
e
)
=>
{
console
.
log
(
e
,
'取消申述了'
)
})
}
})
},
onBack
()
{
this
.
$router
.
back
()
//window.close()
}
}
}
</
script
>
<
style
scoped
lang=
'scss'
>
.com-approval
{
//position: relative;
margin-top
:
15px
;
}
</
style
>
src/components/user-base-info.vue
View file @
61329c7d
...
...
@@ -5,8 +5,12 @@
<el-descriptions
style=
'margin-bottom: 20px;'
border
size=
'small'
:column=
'3'
>
<el-descriptions-item
label-class-name=
'labelCls'
label=
'申请时间'
>
{{
baseInfo
.
applyDate
}}
</el-descriptions-item>
<el-descriptions-item
label-class-name=
'labelCls'
label=
'授信类型'
>
{{
baseInfo
.
creditTypeStr
}}
</el-descriptions-item>
<el-descriptions-item
label-class-name=
'labelCls'
label=
'授信状态'
>
{{
baseInfo
.
creditStatusStr
}}
<el-descriptions-item
v-if=
'page'
label-class-name=
'labelCls'
label=
'人审结果'
>
{{
baseInfo
.
creditResultStr
}}
</el-descriptions-item>
<el-descriptions-item
v-else
label-class-name=
'labelCls'
label=
'授信状态'
>
{{
baseInfo
.
creditStatusStr
}}
</el-descriptions-item>
<el-descriptions-item
label-class-name=
'labelCls'
label=
'客户姓名'
>
{{
baseInfo
.
realName
}}
</el-descriptions-item>
<el-descriptions-item
label-class-name=
'labelCls'
label=
'手机号码'
>
{{
baseInfo
.
mobile
}}
</el-descriptions-item>
<el-descriptions-item
label-class-name=
'labelCls'
label=
'身份证号'
>
{{
baseInfo
.
idCard
}}
</el-descriptions-item>
...
...
@@ -69,6 +73,10 @@
type
:
Object
,
require
:
true
},
page
:
{
type
:
String
,
require
:
false
},
isLoan
:
{
type
:
Boolean
,
require
:
false
...
...
src/minix/index.js
View file @
61329c7d
...
...
@@ -5,6 +5,7 @@ import PrePlead from '@/components/pre-plead'
import
LoanAudit
from
'@/components/loan-audit'
import
Plead
from
'@/components/plead'
import
Approval
from
'@/components/approval'
import
LocalApproval
from
'@/components/local-approval'
import
UserOtherInfo
from
'@/components/user-other-info'
import
ApprovalResult
from
'@/components/approval-result'
import
MchReport
from
'@/components/mch-report'
...
...
@@ -32,6 +33,7 @@ export default {
UserProjectInfo
,
Approval
,
LoanAudit
,
LocalApproval
,
NoData
,
...
...
src/router/index.js
View file @
61329c7d
...
...
@@ -299,6 +299,40 @@ export const asyncRoutes = [
}
]
},
{
path
:
'/local'
,
name
:
'local'
,
component
:
Layout
,
redirect
:
'/local/list'
,
alwaysShow
:
true
,
meta
:
{
noKeepAlive
:
true
,
title
:
'本地小贷'
,
remixIcon
:
'home-4-line'
},
children
:
[
{
path
:
'list'
,
name
:
'merchantList'
,
component
:
()
=>
import
(
'@/views/local/list'
),
meta
:
{
noKeepAlive
:
true
,
title
:
'人工审核'
}
},
{
path
:
'detail'
,
name
:
'merchantDetail'
,
component
:
()
=>
import
(
'@/views/local/detail'
),
hidden
:
true
,
meta
:
{
noKeepAlive
:
true
,
title
:
'人审详情'
,
tagHidden
:
true
}
}
]
},
{
path
:
'/admin'
,
name
:
'admin'
,
...
...
src/server/api.js
View file @
61329c7d
...
...
@@ -385,7 +385,7 @@ export default {
return
request
({
url
:
'/partner/selectPartnerDetail'
,
method
:
'get'
,
params
:
data
params
:
data
})
},
// 上下架(修改状态)
...
...
@@ -401,7 +401,7 @@ export default {
return
request
({
url
:
'/partner/selectAccountByPartnerNo'
,
method
:
'get'
,
params
:
data
params
:
data
})
},
// 商户银行卡更新
...
...
@@ -432,13 +432,12 @@ export default {
},
// 商户产品配置列表
merchantProductList
(
data
)
{
return
request
({
url
:
'/partner/getLrdConfigList'
,
method
:
'get'
,
params
:
data
params
:
data
})
},
// 商户产品配置更新
...
...
@@ -450,5 +449,28 @@ export default {
})
},
// 本地小贷授信列表
localCreditList
(
data
)
{
return
request
({
url
:
'/xdCredit/creditList'
,
method
:
'post'
,
data
})
},
// 本地小贷授信详情
localCreditDetail
(
data
)
{
return
request
({
url
:
'/xdCredit/creditPersonDetail'
,
method
:
'get'
,
params
:
data
})
},
// 本地小贷人审提交
localCreditSubmit
(
data
)
{
return
request
({
url
:
'/xdCredit/creditPassOrRefused'
,
method
:
'post'
,
data
})
}
}
src/views/local/components/reassignment.vue
0 → 100644
View file @
61329c7d
<!-- 用户基础信息 -->
<
template
>
<el-dialog
v-drag
title=
'转派'
:visible
.
sync=
'visible'
:destroy-on-close=
'true'
:close-on-click-modal=
'false'
:append-to-body=
'false'
width=
'30%'
:before-close=
'handleClose'
>
<el-form
ref=
'form'
label-suffix=
':'
label-width=
'120'
:rules=
'rules'
:model=
'form'
>
<el-form-item
prop=
'user'
label=
'转派人员'
>
<template
v-if=
'list.length'
>
<el-select
v-model=
'form.user'
:popper-append-to-body=
'false'
clearable
placeholder=
'请选择'
>
<el-option
v-for=
'(u,index) in list'
:key=
'index'
:label=
'u.userName'
:value=
'u.userId'
></el-option>
</el-select>
</
template
>
</el-form-item>
</el-form>
<div
slot=
'footer'
class=
'dialog-footer'
>
<el-button
type=
'default'
@
click=
'handleClose'
>
取 消
</el-button>
<el-button
type=
'primary'
@
click=
'onSubmit("form")'
>
确 定
</el-button>
</div>
</el-dialog>
</template>
<
script
>
import
API
from
'@/server/api'
import
_
from
'lodash'
import
{
mapGetters
}
from
'vuex'
export
default
{
name
:
'Reassignment'
,
props
:
{
visible
:
{
type
:
Boolean
,
required
:
true
},
//eslint-disable-next-line vue/require-default-prop
item
:
{
type
:
Object
,
require
:
true
}
},
data
()
{
return
{
data
:
null
,
list
:
[],
rules
:
{
user
:
[
{
required
:
true
,
trigger
:
'change'
,
message
:
'请选择转派人员'
}
]
},
form
:
{
user
:
''
}
}
},
computed
:
{
...
mapGetters
([
'user'
])
},
async
created
()
{
if
(
this
.
item
!==
null
)
{
this
.
data
=
this
.
item
await
this
.
initUser
()
}
},
methods
:
{
// 初始化用户列表
async
initUser
()
{
const
result
=
await
API
.
initReassignmentUser
({})
console
.
log
(
result
,
'返回结果'
)
if
(
result
.
success
)
{
this
.
list
=
result
.
result
}
},
async
onSubmit
(
formName
)
{
this
.
$refs
[
formName
].
validate
(
async
(
valid
)
=>
{
if
(
valid
)
{
console
.
log
(
this
.
data
,
'数据'
)
const
{
creditNo
}
=
this
.
data
const
oldAllotId
=
this
.
user
.
userId
;
const
curAllotId
=
this
.
form
.
user
;
const
result
=
await
API
.
approveReassignment
({
creditNo
,
curAllotId
,
oldAllotId
});
if
(
result
.
success
){
this
.
$message
({
type
:
'success'
,
message
:
'转派成功'
})
this
.
$emit
(
'callback'
)
this
.
$emit
(
'handleClose'
)
}
}
})
},
handleClose
()
{
this
.
$emit
(
'handleClose'
)
}
}
}
</
script
>
<
style
lang=
'scss'
>
.custom-table-checkbox
{
.el-checkbox
{
display
:
block
!
important
;
margin
:
0
0
$base-padding
/
4
0
;
}
}
.action-bar
{
margin-bottom
:
15px
;
}
</
style
>
src/views/local/detail.vue
0 → 100644
View file @
61329c7d
<
template
>
<div
v-if=
'detail!==null'
class=
'page'
>
<!--用户基础信息-->
<template
v-if=
'detail.clientDetail!==null'
>
<user-base-info
:contacts=
'detail.linkPhoneList'
page=
'local'
:base-info=
'detail.clientDetail'
/>
</
template
>
<!--用户项目信息-->
<
template
v-if=
'detail.projectInfoResponse!==null'
>
<user-project-info
:project-info=
'detail.projectInfoResponse'
/>
</
template
>
<!--其它信息-->
<user-other-info
:info=
'detail'
/>
<!--操作日志-->
<
template
v-if=
'detail.operationLogResponse!==null'
>
<block-header
title=
'操作日志'
/>
<operation-log
:log=
'detail.operationLogResponse'
/>
</
template
>
<!-- 审批操作 -->
<
template
v-if=
'visible'
>
<LocalApproval
:item=
'detail'
/>
</
template
>
</div>
</template>
<
script
>
import
API
from
'@/server/api'
export
default
{
name
:
'ApprovalDetail'
,
data
()
{
return
{
visible
:
false
,
creditNo
:
''
,
detail
:
null
}
},
async
created
()
{
const
{
query
}
=
this
.
$route
if
(
query
&&
query
.
creditNo
)
{
this
.
creditNo
=
query
.
creditNo
await
this
.
init
()
await
this
.
initSearchData
()
}
},
async
mounted
()
{
console
.
log
(
'沃日'
)
await
this
.
initSearchData
()
},
methods
:
{
async
initSearchData
()
{
await
this
.
$store
.
dispatch
(
'common/GetSearchData'
)
},
async
init
()
{
const
creditNo
=
this
.
creditNo
const
result
=
await
API
.
localCreditDetail
({
creditNo
})
this
.
detail
=
result
.
result
const
{
clientDetail
}
=
result
.
result
this
.
visible
=
!!
(
clientDetail
.
creditResult
&&
clientDetail
.
creditResult
===
'CREDIT_RETRIAL'
);
console
.
log
(
'审批详情'
,
this
.
detail
)
}
}
}
</
script
>
<
style
lang=
'scss'
src=
'./index.scss'
></
style
>
src/views/local/index.scss
0 → 100644
View file @
61329c7d
.merchant-new
{
box-sizing
:
border-box
;
padding
:
20px
;
}
src/views/local/list.vue
0 → 100644
View file @
61329c7d
<
template
>
<div
class=
'page-fence'
>
<!--搜索-->
<block-header
title=
'搜索'
/>
<div
class=
'search'
>
<el-form
label-suffix=
':'
:inline=
'true'
ref=
'form'
:model=
'queryForm'
class=
'form-inline'
>
<el-form-item
prop=
'creditNo'
label=
'授信编号'
>
<el-input
v-model=
'queryForm.creditNo'
clearable
placeholder=
'请输入授信编号'
/>
</el-form-item>
<el-form-item
prop=
'realName'
label=
'客户姓名'
>
<el-input
v-model=
'queryForm.clientName'
clearable
placeholder=
'请输入客户姓名'
/>
</el-form-item>
<el-form-item
prop=
'mobile'
label=
'手机号码'
>
<el-input
v-model=
'queryForm.mobile'
clearable
placeholder=
'请输入手机号码'
/>
</el-form-item>
<template
v-if=
'searchData!==null'
>
<el-form-item
prop=
'creditType'
label=
'人审结果'
>
<el-select
:popper-append-to-body=
'false'
v-model=
'queryForm.creditResult'
clearable
placeholder=
'请选择授信类型'
>
<el-option
v-for=
'(item,index) in searchData.xdCreditResult'
:key=
'index'
:label=
'item.creditResultStr'
:value=
'item.creditResult'
></el-option>
</el-select>
</el-form-item>
</
template
>
<el-form-item
prop=
'time'
label=
'申请时间'
>
<el-date-picker
v-model=
'queryForm.time'
type=
'datetimerange'
:picker-options=
'pickerConfig'
:default-time=
"['00:00:00', '23:59:59']"
value-format=
'yyyy-MM-dd HH:mm:ss'
range-separator=
'至'
start-placeholder=
'开始时间'
end-placeholder=
'结束时间'
>
</el-date-picker>
</el-form-item>
<el-form-item>
<el-button
icon=
'el-icon-search'
type=
'primary'
@
click=
'onSearch'
>
搜 索
</el-button>
<el-button
icon=
'el-icon-delete'
type=
'default'
@
click=
"onReset('form')"
>
重置
</el-button>
</el-form-item>
</el-form>
</div>
<!--操作菜单栏-->
<block-header
title=
'授信列表'
/>
<!--表格-->
<el-table
ref=
'tableSort'
v-loading=
'listLoading'
border
size=
'small'
:data=
'list'
style=
'width: 100%'
>
<el-table-column
v-for=
'(item, index) in finallyColumns'
:key=
'index'
align=
'center'
:label=
'item.label'
:sortable=
'item.sortable'
:width=
'item.width'
:fixed=
'!!item.fixed'
:show-overflow-tooltip=
'!!item.overflow'
>
<
template
#
default=
'{ row }'
>
<span
v-if=
'item.label==="授信金额(元)"'
>
{{
money
(
row
[
item
.
prop
])
}}
</span>
<span
v-else-if=
'item.label==="人审结果"'
>
<el-tag
v-if=
'row.creditResult==="CREDIT_RETRIAL"'
size=
'mini'
>
{{
row
.
creditResultStr
}}
</el-tag>
<el-tag
v-if=
'row.creditResult==="PERSON_REFUSE"'
type=
'warning'
size=
'mini'
>
{{
row
.
creditResultStr
}}
</el-tag>
<el-tag
v-if=
'row.creditResult==="CREDIT_PASS"'
type=
'success'
size=
'mini'
>
{{
row
.
creditResultStr
}}
</el-tag>
</span>
<span
v-else
>
{{
row
[
item
.
prop
]
}}
</span>
</
template
>
</el-table-column>
<
template
>
<el-table-column
fixed=
'right'
align=
'center'
label=
'操作'
>
<template
#
default=
'
{ row }'>
<el-button
size=
'mini'
type=
'text'
@
click=
'handleView(row)'
>
详情
</el-button>
</
template
>
</el-table-column>
</template>
</el-table>
<!--分页-->
<el-pagination
:current-page=
'queryForm.current'
layout=
'total,sizes, prev, pager, next'
:page-sizes=
'[10,20,30,40,50,100]'
:page-size=
'queryForm.size'
:total=
'total'
background
@
size-change=
'handleSizeChange'
@
current-change=
'handleCurrentChange'
/>
</div>
</template>
<
script
>
import
_
from
'lodash'
import
API
from
'@/server/api'
import
{
mapGetters
}
from
'vuex'
export
default
{
name
:
'LocalCreditList'
,
data
()
{
return
{
checkList
:
[
'授信编号'
,
'客户姓名'
,
'手机号码'
,
'授信金额(元)'
,
'人审结果'
,
'申请时间'
],
columns
:
[
{
order
:
1
,
label
:
'授信编号'
,
prop
:
'creditNo'
},
{
order
:
2
,
label
:
'客户姓名'
,
prop
:
'realName'
},
{
order
:
3
,
label
:
'手机号码'
,
prop
:
'mobile'
},
{
order
:
4
,
label
:
'授信金额(元)'
,
prop
:
'creditAmount'
},
{
order
:
5
,
label
:
'人审结果'
,
prop
:
'creditResultStr'
},
{
order
:
6
,
label
:
'申请时间'
,
prop
:
'gmtCreated'
}
],
list
:
[],
listLoading
:
true
,
total
:
0
,
pickerConfig
:
this
.
datePickerOptions
,
queryForm
:
{
current
:
1
,
size
:
10
,
creditNo
:
''
,
clientName
:
''
,
creditStatus
:
''
,
creditResult
:
''
,
time
:
''
,
startTime
:
''
,
endTime
:
''
}
}
},
computed
:
{
finallyColumns
()
{
let
finallyArray
=
[]
this
.
checkList
.
forEach
((
checkItem
)
=>
{
finallyArray
.
push
(
this
.
columns
.
filter
((
item
)
=>
item
.
label
===
checkItem
)[
0
]
)
})
//return _.sortBy(finallyArray, (item) => item.creditNo)
return
finallyArray
},
...
mapGetters
([
'searchData'
,
'user'
])
},
async
mounted
()
{
await
this
.
fetchData
()
},
methods
:
{
onSearch
()
{
const
{
time
}
=
this
.
queryForm
this
.
queryForm
.
current
=
1
if
(
time
)
{
this
.
queryForm
.
startTime
=
time
[
0
]
this
.
queryForm
.
endTime
=
time
[
1
]
}
else
{
this
.
queryForm
.
startTime
=
''
this
.
queryForm
.
endTime
=
''
}
this
.
fetchData
()
},
handleView
(
row
)
{
const
{
creditNo
}
=
row
const
route
=
{
path
:
'/local/detail'
,
query
:
{
creditNo
}
}
this
.
$router
.
push
(
route
)
},
// 页码变更
handleSizeChange
(
val
)
{
this
.
queryForm
.
size
=
val
this
.
queryForm
.
current
=
1
this
.
fetchData
()
},
handleCurrentChange
(
val
)
{
this
.
queryForm
.
current
=
val
this
.
fetchData
()
},
// 初始化列表数据
async
fetchData
()
{
try
{
this
.
listLoading
=
true
const
form
=
this
.
queryForm
const
params
=
Object
.
assign
({},
form
)
delete
params
.
time
const
res
=
await
API
.
localCreditList
({
...
params
})
if
(
res
.
success
){
const
result
=
res
.
result
const
{
records
,
total
}
=
result
this
.
list
=
records
this
.
total
=
total
this
.
listLoading
=
false
}
}
catch
(
err
)
{
console
.
log
(
'初始化人工审核授信列表报错'
)
}
}
}
}
</
script
>
<
style
lang=
'scss'
scoped
>
.page-fence
{
::v-deep
{
i
{
cursor
:
pointer
;
}
}
box-sizing
:
border-box
;
padding
:
20px
;
}
</
style
>
<
style
lang=
'scss'
>
.custom-table-checkbox
{
.el-checkbox
{
display
:
block
!
important
;
margin
:
0
0
$base-padding
/
4
0
;
}
}
.action-bar
{
margin-bottom
:
15px
;
}
</
style
>
修改日志.md
View file @
61329c7d
...
...
@@ -4,3 +4,12 @@
-
新增商户产品配置
-
新增商户账户管理
-
2.修改approval.vue,根据当前用户所在地区获取statusList里面的放款资金渠道列表
## 2023年2月15日
需求文档 https://ermo.yuque.com/cxq03k/tl02zi/uadubyieupueyrla
需求列表:
1.
添加人工审核的列表
2.
详情页面修改字段
3.
去掉一些必填项
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