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
bd0ad21c
Commit
bd0ad21c
authored
Aug 31, 2023
by
caimeng
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
删除不相关的接口
parent
d5688ade
Changes
25
Show whitespace changes
Inline
Side-by-side
Showing
25 changed files
with
9 additions
and
5464 deletions
+9
-5464
.env.development
.env.development
+1
-1
.env.staging
.env.staging
+1
-1
bg4.jpg
src/assets/login_images/bg4.jpg
+0
-0
user-base-info.vue
src/components/user-base-info.vue
+3
-0
setting.config.js
src/config/default/setting.config.js
+1
-1
theme.config.js
src/config/default/theme.config.js
+1
-1
index.js
src/router/index.js
+0
-600
local-back.vue
src/views/approval/components/local-back.vue
+0
-127
local-plead.vue
src/views/approval/components/local-plead.vue
+0
-234
localDetail.vue
src/views/approval/localDetail.vue
+0
-720
localFirstList.vue
src/views/approval/localFirstList.vue
+0
-329
localPreDetail.vue
src/views/approval/localPreDetail.vue
+0
-168
localPreList.vue
src/views/approval/localPreList.vue
+0
-287
localSecondList.vue
src/views/approval/localSecondList.vue
+0
-329
clientDetail.vue
src/views/customer/clientDetail.vue
+0
-495
clientList.vue
src/views/customer/clientList.vue
+0
-232
clientMine.vue
src/views/customer/clientMine.vue
+0
-236
localAudit.vue
src/views/loan/localAudit.vue
+0
-322
localDetail.vue
src/views/loan/localDetail.vue
+0
-700
localList.vue
src/views/loan/localList.vue
+0
-332
detail.vue
src/views/local/detail.vue
+0
-67
index.scss
src/views/local/index.scss
+0
-4
list.vue
src/views/local/list.vue
+0
-276
index.vue
src/views/login/index.vue
+1
-1
vue.config.js
vue.config.js
+1
-1
No files found.
.env.development
View file @
bd0ad21c
BASE_URL=''
VUE_APP_API_PATH=http://
47.99.245.36
:8785
VUE_APP_API_PATH=http://
114.55.246.69
:8785
NODE_ENV=development
.env.staging
View file @
bd0ad21c
BASE_URL=''
VUE_APP_API_PATH=http://
47.99.245.36
:8785
VUE_APP_API_PATH=http://
114.55.246.69
:8785
NODE_ENV=production
src/assets/login_images/bg4.jpg
0 → 100644
View file @
bd0ad21c
700 KB
src/components/user-base-info.vue
View file @
bd0ad21c
...
...
@@ -11,6 +11,9 @@
<el-descriptions-item
v-else
label-class-name=
'labelCls'
label=
'授信状态'
>
{{
baseInfo
.
creditStatusStr
}}
</el-descriptions-item>
<el-descriptions-item
v-if=
'page'
label-class-name=
'labelCls'
label=
'申请金额'
>
{{
baseInfo
.
applyAmount
}}
</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>
...
...
src/config/default/setting.config.js
View file @
bd0ad21c
...
...
@@ -16,7 +16,7 @@ const setting = {
baseURL
:
process
.
env
.
NODE_ENV
===
'development'
?
'api'
:
''
,
//baseURL:process.env.NODE_ENV === 'development' ? 'mock-server' : '',
//标题 (包括初次加载雪花屏的标题 页面的标题 浏览器的标题)
title
:
'
百灵美选
管理后台'
,
title
:
'
飞逸
管理后台'
,
//标题分隔符
titleSeparator
:
' - '
,
//标题是否反转 如果为false:"page - title",如果为ture:"title - page"
...
...
src/config/default/theme.config.js
View file @
bd0ad21c
...
...
@@ -5,7 +5,7 @@ const theme = {
//布局种类 horizontal vertical gallery comprehensive common
layout
:
'vertical'
,
//主题名称 default ocean green glory white
themeName
:
'
white
'
,
themeName
:
'
green
'
,
//是否固定头部
fixedHeader
:
true
,
//是否显示顶部进度条
...
...
src/router/index.js
View file @
bd0ad21c
...
...
@@ -211,54 +211,6 @@ export const asyncRoutes = [
noKeepAlive
:
true
,
title
:
'我的订单'
}
},
// 小商户
{
path
:
'pre'
,
name
:
'LocalPreList'
,
component
:
()
=>
import
(
'@/views/approval/localPreList'
),
meta
:
{
noKeepAlive
:
true
,
title
:
'预授信列表(小商户)'
}
},
{
path
:
'first'
,
name
:
'LocalFirstList'
,
component
:
()
=>
import
(
'@/views/approval/localFirstList'
),
meta
:
{
noKeepAlive
:
true
,
title
:
'初审授信(小商户)'
}
},
{
path
:
'second'
,
name
:
'LocalSecondList'
,
component
:
()
=>
import
(
'@/views/approval/localSecondList'
),
meta
:
{
noKeepAlive
:
true
,
title
:
'复审授信(小商户)'
}
},
{
path
:
'localPreDetail'
,
name
:
'LocalPreDetail'
,
component
:
()
=>
import
(
'@/views/approval/localPreDetail'
),
hidden
:
true
,
meta
:
{
noKeepAlive
:
true
,
title
:
'预授信详情'
}
},
{
path
:
'localDetail'
,
name
:
'LocalDetail'
,
component
:
()
=>
import
(
'@/views/approval/localDetail'
),
hidden
:
true
,
meta
:
{
noKeepAlive
:
true
,
title
:
'授信详情'
}
}
]
},
...
...
@@ -301,35 +253,6 @@ export const asyncRoutes = [
noKeepAlive
:
true
,
title
:
'放款确认'
}
},
// 小商户相关
{
path
:
'localLoanDetail'
,
name
:
'LocalLoanDetail'
,
component
:
()
=>
import
(
'@/views/loan/localDetail'
),
meta
:
{
noKeepAlive
:
true
,
title
:
'稽核详情(小商户)'
},
hidden
:
true
},
{
path
:
'localLoanAudit'
,
name
:
'LocalLoanAudit'
,
component
:
()
=>
import
(
'@/views/loan/localAudit'
),
meta
:
{
noKeepAlive
:
true
,
title
:
'稽核审批(小商户)'
}
},
{
path
:
'localLoanList'
,
name
:
'LocalLoanList'
,
component
:
()
=>
import
(
'@/views/loan/localList'
),
meta
:
{
noKeepAlive
:
true
,
title
:
'放款确认(小商户)'
}
}
]
},
...
...
@@ -381,104 +304,7 @@ export const asyncRoutes = [
]
},
// 小商户相关
{
path
:
'/client'
,
name
:
'client'
,
component
:
Layout
,
redirect
:
'/client/list'
,
alwaysShow
:
true
,
meta
:
{
noKeepAlive
:
true
,
title
:
'客户管理'
,
remixIcon
:
'home-4-line'
},
children
:
[
{
path
:
'list'
,
name
:
'ClientList'
,
component
:
()
=>
import
(
'@/views/customer/clientList'
),
meta
:
{
noKeepAlive
:
true
,
title
:
'客户列表(小商户)'
}
},
{
path
:
'mine'
,
name
:
'ClientMine'
,
component
:
()
=>
import
(
'@/views/customer/clientMine'
),
meta
:
{
noKeepAlive
:
true
,
title
:
'我的客户(小商户)'
}
},
{
path
:
'detail'
,
name
:
'ClientDetail'
,
component
:
()
=>
import
(
'@/views/customer/clientDetail'
),
hidden
:
true
,
meta
:
{
noKeepAlive
:
true
,
title
:
'客户详情'
}
}
]
},
{
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
:
'channel'
,
name
:
'Channel'
,
component
:
()
=>
import
(
'@/views/customer/channel'
),
meta
:
{
noKeepAlive
:
true
,
title
:
'渠道流量'
}
},
{
path
:
'credit_detail'
,
name
:
'CreditDetailXinHu'
,
component
:
()
=>
import
(
'@/views/customer/detail'
),
hidden
:
true
,
meta
:
{
noKeepAlive
:
true
,
title
:
'授信详情'
,
// tagHidden: true
}
}
]
},
{
path
:
'/customer'
,
name
:
'customer'
,
...
...
@@ -557,432 +383,6 @@ export const asyncRoutes = [
}
]
},
{
path
:
'/vab'
,
name
:
'Vab'
,
component
:
Layout
,
redirect
:
'/vab/icon/remixIcon'
,
alwaysShow
:
true
,
hidden
:
true
,
meta
:
{
title
:
'组件参考'
,
remixIcon
:
'code-box-line'
},
children
:
[
{
path
:
'roles'
,
name
:
'Role'
,
component
:
()
=>
import
(
'@/views/vab/roles'
),
meta
:
{
title
:
'角色权限控制'
,
remixIcon
:
'user-3-line'
,
badge
:
'New'
}
},
{
path
:
'icon'
,
name
:
'Icon'
,
component
:
()
=>
import
(
'@/views/vab/icon'
),
redirect
:
'/vab/icon/remixIcon'
,
meta
:
{
title
:
'图标'
,
remixIcon
:
'remixicon-line'
},
children
:
[
{
path
:
'remixIcon'
,
name
:
'RemixIcon'
,
component
:
()
=>
import
(
'@/views/vab/icon/remixIcon'
),
meta
:
{
title
:
'小清新图标'
}
},
{
path
:
'colorfulIcon'
,
name
:
'ColorfulIcon'
,
component
:
()
=>
import
(
'@/views/vab/icon/colorfulIcon'
),
meta
:
{
title
:
'多彩图标'
}
},
{
path
:
'iconSelector'
,
name
:
'IconSelector'
,
component
:
()
=>
import
(
'@/views/vab/icon/iconSelector'
),
meta
:
{
title
:
'图标选择器'
}
}
]
},
{
path
:
'table'
,
name
:
'Table'
,
component
:
()
=>
import
(
'@/views/vab/table'
),
redirect
:
'/vab/table/comprehensiveTable'
,
meta
:
{
title
:
'表格'
,
//非editor角色的用户可见
roles
:
{
role
:
[
'editor'
],
mode
:
'except'
},
remixIcon
:
'table-2'
},
children
:
[
{
path
:
'comprehensiveTable'
,
name
:
'ComprehensiveTable'
,
component
:
()
=>
import
(
'@/views/vab/table/comprehensiveTable'
),
meta
:
{
title
:
'综合表格'
}
},
{
path
:
'detail'
,
name
:
'Detail'
,
component
:
()
=>
import
(
'@/views/vab/table/detail'
),
hidden
:
true
,
meta
:
{
title
:
'详情页'
,
activeMenu
:
'/vab/table/comprehensiveTable'
}
},
{
path
:
'inlineEditTable'
,
name
:
'InlineEditTable'
,
component
:
()
=>
import
(
'@/views/vab/table/inlineEditTable'
),
meta
:
{
title
:
'行内编辑表格'
,
noKeepAlive
:
true
}
},
{
path
:
'customTable'
,
name
:
'CustomTable'
,
component
:
()
=>
import
(
'@/views/vab/table/customTable'
),
meta
:
{
title
:
'自定义表格'
,
badge
:
'New'
}
}
]
},
{
path
:
'form'
,
component
:
()
=>
import
(
'@/views/vab/form'
),
name
:
'Form'
,
meta
:
{
title
:
'表单'
,
roles
:
[
'admin'
],
remixIcon
:
'file-list-2-line'
},
children
:
[
{
path
:
'comprehensiveForm'
,
name
:
'ComprehensiveForm'
,
component
:
()
=>
import
(
'@/views/vab/form/comprehensiveForm'
),
meta
:
{
title
:
'综合表单'
}
},
{
path
:
'stepForm'
,
name
:
'StepForm'
,
component
:
()
=>
import
(
'@/views/vab/form/stepForm'
),
meta
:
{
title
:
'分步表单'
}
}
]
},
{
path
:
'dynamicTitle'
,
component
:
()
=>
import
(
'@/views/vab/dynamicTitle'
),
name
:
'DynamicTitle'
,
meta
:
{
title
:
'动态标题'
,
roles
:
[
'admin'
],
remixIcon
:
'function-line'
}
},
{
path
:
'dynamicSegment'
,
component
:
()
=>
import
(
'@/views/vab/dynamicSegment'
),
redirect
:
'/vab/dynamicSegment/test'
,
name
:
'DynamicSegment'
,
meta
:
{
title
:
'动态路径参数'
,
roles
:
[
'admin'
],
remixIcon
:
'arrow-left-right-line'
},
children
:
[
{
path
:
'test'
,
name
:
'Test'
,
component
:
()
=>
import
(
'@/views/vab/dynamicSegment/test'
),
meta
:
{
title
:
'动态路径参数'
,
roles
:
[
'admin'
],
remixIcon
:
'arrow-left-right-line'
}
},
{
path
:
'test1/:id'
,
name
:
'Test1'
,
component
:
()
=>
import
(
'@/views/vab/dynamicSegment/test1'
),
meta
:
{
title
:
'动态路径参数-test1'
},
hidden
:
true
},
{
path
:
'test2'
,
name
:
'Test2'
,
component
:
()
=>
import
(
'@/views/vab/dynamicSegment/test2'
),
meta
:
{
title
:
'动态路径参数-test2'
},
hidden
:
true
}
]
},
{
path
:
'drag'
,
name
:
'Drag'
,
component
:
()
=>
import
(
'@/views/vab/drag'
),
redirect
:
'/vab/drag/dialogDrag'
,
meta
:
{
title
:
'拖拽'
,
roles
:
[
'admin'
],
remixIcon
:
'drag-drop-line'
},
children
:
[
{
path
:
'dialogDrag'
,
name
:
'DialogDrag'
,
component
:
()
=>
import
(
'@/views/vab/drag/dialogDrag'
),
meta
:
{
title
:
'弹窗拖拽'
}
},
{
path
:
'cardDrag'
,
name
:
'CardDrag'
,
component
:
()
=>
import
(
'@/views/vab/drag/cardDrag'
),
meta
:
{
title
:
'卡片拖拽'
}
},
{
path
:
'flowsheetDrag'
,
name
:
'FlowsheetDrag'
,
component
:
()
=>
import
(
'@/views/vab/drag/flowsheetDrag'
),
meta
:
{
title
:
'流程图拖拽'
}
}
]
},
{
path
:
'contextmenu'
,
name
:
'Contextmenu'
,
component
:
()
=>
import
(
'@/views/vab/contextmenu'
),
meta
:
{
title
:
'右键菜单'
,
roles
:
[
'admin'
],
remixIcon
:
'menu-2-fill'
,
badge
:
'New'
}
},
{
path
:
'card'
,
name
:
'Card'
,
component
:
()
=>
import
(
'@/views/vab/card'
),
meta
:
{
title
:
'卡片'
,
roles
:
[
'admin'
],
remixIcon
:
'inbox-line'
,
badge
:
'New'
}
},
{
path
:
'editor'
,
name
:
'Editor'
,
component
:
()
=>
import
(
'@/views/vab/editor'
),
meta
:
{
title
:
'编辑器'
,
roles
:
[
'admin'
],
remixIcon
:
'edit-2-line'
},
children
:
[
{
path
:
'richTextEditor'
,
name
:
'RichTextEditor'
,
component
:
()
=>
import
(
'@/views/vab/editor/richTextEditor'
),
meta
:
{
title
:
'富文本编辑器'
,
roles
:
[
'admin'
]
}
},
{
path
:
'markdownEditor'
,
name
:
'MarkdownEditor'
,
component
:
()
=>
import
(
'@/views/vab/editor/markdownEditor'
),
meta
:
{
title
:
'Markdown编辑器'
,
roles
:
[
'admin'
]
}
}
]
},
{
path
:
'menu1'
,
name
:
'Menu1'
,
component
:
()
=>
import
(
'@/views/vab/nested/menu1'
),
redirect
:
'/vab/menu1/menu1-1/menu1-1-1'
,
alwaysShow
:
true
,
meta
:
{
title
:
'嵌套路由1'
,
roles
:
[
'admin'
],
remixIcon
:
'route-line'
},
children
:
[
{
path
:
'menu1-1'
,
name
:
'Menu1-1'
,
alwaysShow
:
true
,
component
:
()
=>
import
(
'@/views/vab/nested/menu1/menu1-1'
),
redirect
:
'/vab/menu1/menu1-1/menu1-1-1'
,
meta
:
{
title
:
'嵌套路由1-1'
},
children
:
[
{
path
:
'menu1-1-1'
,
name
:
'Menu1-1-1'
,
meta
:
{
title
:
'嵌套路由1-1-1'
},
component
:
()
=>
import
(
'@/views/vab/nested/menu1/menu1-1/menu1-1-1'
)
}
]
}
]
},
{
path
:
'loading'
,
name
:
'Loading'
,
component
:
()
=>
import
(
'@/views/vab/loading'
),
meta
:
{
title
:
'加载'
,
roles
:
[
'admin'
],
remixIcon
:
'loader-line'
}
},
{
path
:
'player'
,
name
:
'Player'
,
component
:
()
=>
import
(
'@/views/vab/player'
),
meta
:
{
title
:
'视频播放器'
,
roles
:
[
'admin'
],
remixIcon
:
'video-line'
}
},
{
path
:
'upload'
,
name
:
'Upload'
,
component
:
()
=>
import
(
'@/views/vab/upload'
),
meta
:
{
title
:
'上传'
,
roles
:
[
'admin'
],
remixIcon
:
'chat-upload-line'
}
},
{
path
:
'log'
,
name
:
'Log'
,
component
:
()
=>
import
(
'@/views/vab/errorLog'
),
meta
:
{
title
:
'错误日志模拟'
,
roles
:
[
'admin'
],
remixIcon
:
'error-warning-line'
}
},
{
path
:
'cssfx'
,
name
:
'Cssfx'
,
component
:
()
=>
import
(
'@/views/vab/cssfx'
),
meta
:
{
title
:
'Css动画'
,
roles
:
[
'admin'
],
remixIcon
:
'css3-line'
,
badge
:
'New'
}
},
{
path
:
'social'
,
name
:
'Social'
,
component
:
()
=>
import
(
'@/views/vab/social'
),
meta
:
{
title
:
'第三方登录'
,
roles
:
[
'admin'
],
remixIcon
:
'github-fill'
,
badge
:
'New'
}
},
{
path
:
'https://github.com/chuzhixin/vue-admin-beautiful?utm_source=gold_browser_extension'
,
name
:
'ExternalLink'
,
meta
:
{
title
:
'外链'
,
target
:
'_blank'
,
//等价roles: ["admin", "editor"],
roles
:
{
role
:
[
'admin'
,
'editor'
],
mode
:
'oneOf'
},
remixIcon
:
'external-link-line'
}
},
{
path
:
'excel'
,
name
:
'Excel'
,
component
:
()
=>
import
(
'@/views/vab/excel'
),
redirect
:
'/vab/excel/exportExcel'
,
meta
:
{
title
:
'Excel'
,
roles
:
[
'admin'
],
remixIcon
:
'file-excel-2-line'
},
children
:
[
{
path
:
'exportExcel'
,
name
:
'ExportExcel'
,
component
:
()
=>
import
(
'@/views/vab/excel/exportExcel'
),
meta
:
{
title
:
'导出Excel'
}
},
{
path
:
'exportSelectedExcel'
,
name
:
'SelectExcel'
,
component
:
()
=>
import
(
'@/views/vab/excel/exportSelectExcel'
),
meta
:
{
title
:
'导出选中行Excel'
}
},
{
path
:
'exportMergeHeaderExcel'
,
name
:
'MergeHeaderExcel'
,
component
:
()
=>
import
(
'@/views/vab/excel/exportMergeHeaderExcel'
),
meta
:
{
title
:
'导出合并Excel'
}
}
]
}
]
},
{
path
:
'*'
,
redirect
:
'/404'
,
...
...
src/views/approval/components/local-back.vue
deleted
100644 → 0
View file @
d5688ade
<!-- 预授信申述 -->
<
template
>
<el-dialog
:visible
.
sync=
'dialogVisible'
:before-close=
'handleClose'
:destroy-on-close=
'true'
width=
'38%'
title=
'捞回'
>
<div
class=
'page'
>
<!--搜索-->
<el-form
ref=
'dForm'
label-suffix=
':'
label-width=
'90px'
:rules=
'rules'
:model=
'form'
class=
'form-inline'
>
<el-form-item
label=
'捞回结果'
>
<el-radio
v-model=
"form.radio"
label=
"1"
>
预授信通过
</el-radio>
</el-form-item>
<el-form-item
prop=
'memo'
label=
'捞回备注'
>
<el-input
v-model=
'form.memo'
type=
'textarea'
clearable
placeholder=
'请输入备注'
/>
</el-form-item>
</el-form>
</div>
<span
slot=
'footer'
class=
'dialog-footer'
>
<el-button
type=
'primary'
@
click=
'onSubmit("dForm")'
>
确 定
</el-button>
<el-button
@
click=
'handleClose'
>
取 消
</el-button>
</span>
</el-dialog>
</
template
>
<
script
>
import
API
from
'@/server/api'
import
_
from
'lodash'
import
{
mapGetters
}
from
'vuex'
export
default
{
name
:
'PrePlead'
,
props
:
{
dialogVisible
:
{
type
:
Boolean
,
require
:
true
},
//eslint-disable-next-line vue/require-default-prop
item
:
{
type
:
Object
,
require
:
true
}
},
data
()
{
return
{
rules
:
{
memo
:
[
{
required
:
true
,
trigger
:
'blur'
,
message
:
'请输入捞回备注'
}
]
},
form
:
{
radio
:
'1'
,
memo
:
''
,
preCreditNo
:
''
}
}
},
created
()
{
console
.
log
(
this
.
item
,
'nash '
)
if
(
this
.
item
!==
null
)
{
this
.
form
.
preCreditNo
=
this
.
item
.
creditNo
console
.
log
(
this
.
form
,
'沃日'
)
}
},
methods
:
{
onSubmit
(
formName
)
{
console
.
log
(
this
.
item
,
this
.
form
,
'数据呢'
);
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
.
LocalPreCreditRescue
({...
form
})
if
(
result
.
success
)
{
this
.
$message
({
type
:
'success'
,
message
:
'捞回成功!'
})
this
.
$emit
(
'handleClose'
)
this
.
$emit
(
'callback'
)
}
}).
catch
((
e
)
=>
{
console
.
log
(
e
,
'取消申述了'
)
})
}
})
},
handleClose
()
{
this
.
$emit
(
'handleClose'
)
}
}
}
</
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
>
src/views/approval/components/local-plead.vue
deleted
100644 → 0
View file @
d5688ade
<!-- 预授信申述 -->
<
template
>
<div
class=
'page'
>
<!--搜索-->
<el-form
ref=
'dForm'
label-suffix=
':'
label-width=
'90px'
:rules=
'rules'
:model=
'form'
class=
'form-inline'
>
<el-row>
<el-col
:span=
"12"
>
<el-form-item
prop=
'state'
label=
'审批意见'
>
<template
v-if=
'searchData!==null'
>
<el-radio-group
v-model=
'form.state'
>
<el-radio
v-for=
'(item,index) in searchData.approvalTypeResponses'
:key=
'index'
:label=
'item.approvalResult'
>
{{
item
.
approvalResultStr
}}
</el-radio>
</el-radio-group>
</
template
>
</el-form-item>
<
template
v-if=
"form.state==='PASS'"
>
<el-form-item
prop=
'limitList'
label=
'期数(期)'
>
<template
v-if=
'searchData!==null'
>
<el-select
v-model=
'form.limitList'
:popper-append-to-body=
'false'
style=
'width: 100%;'
clearable
>
<el-option
v-for=
'(f,index) in searchData.loanLimitResponses'
:key=
'index'
:value=
'f.code'
:label=
'f.codeStr'
>
</el-option>
</el-select>
</
template
>
</el-form-item>
<el-form-item
prop=
'amount'
label=
'额度(元)'
>
<el-input
v-model=
'form.amount'
clearable
placeholder=
'请输入'
/>
</el-form-item>
<
template
v-if=
'searchData!==null'
>
<el-form-item
prop=
'capitalCode'
label=
'选择资方'
>
<el-select
v-model=
'form.capitalCode'
:popper-append-to-body=
'false'
style=
'width: 100%;'
clearable
>
<el-option
v-for=
'(f,index) in searchData.loanSignResponses'
:key=
'index'
:value=
'f.code'
:label=
'f.codeStr'
>
</el-option>
</el-select>
</el-form-item>
</
template
>
</template>
<el-form-item
prop=
'memo'
label=
'审批备注'
>
<el-input
v-model=
'form.memo'
type=
'textarea'
clearable
placeholder=
'请输入'
/>
</el-form-item>
<el-form-item>
<el-button
type=
'primary'
@
click=
'onSubmit("dForm")'
>
确 定
</el-button>
<el-button
@
click=
'handleClose'
>
取 消
</el-button>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
</template>
<
script
>
import
API
from
'@/server/api'
import
_
from
'lodash'
import
{
mapGetters
}
from
'vuex'
export
default
{
name
:
'LocalPlead'
,
props
:
{
dialogVisible
:
{
type
:
Boolean
,
require
:
true
},
//eslint-disable-next-line vue/require-default-prop
data
:
{
type
:
Object
,
require
:
true
},
step
:
{
type
:
String
,
require
:
false
}
},
data
()
{
return
{
rules
:
{
amount
:
[
{
required
:
true
,
trigger
:
'blur'
,
message
:
'请输入审批额度'
}
],
limitList
:
[
{
required
:
true
,
trigger
:
'blur'
,
message
:
'请输入期数'
}
],
capitalCode
:
[
{
required
:
true
,
trigger
:
'change'
,
message
:
'请选择资方'
}
],
memo
:
[
{
required
:
true
,
trigger
:
'blur'
,
message
:
'请输入申述原因'
}
],
state
:
[
{
required
:
true
,
trigger
:
'change'
,
message
:
'请选择审批意见'
}
]
},
form
:
{
actionNo
:
''
,
stepsNo
:
''
,
amount
:
''
,
capitalCode
:
''
,
limitList
:
''
,
memo
:
''
,
state
:
''
,
}
}
},
computed
:
{
...
mapGetters
([
'searchData'
])
},
created
()
{
if
(
this
.
data
!==
null
)
{
console
.
log
(
this
.
data
,
'hh'
)
const
{
actionNo
,
stepsNo
,
manualAmount
,
manualNum
,
loanSign
}
=
this
.
data
;
this
.
form
.
actionNo
=
actionNo
;
this
.
form
.
stepsNo
=
stepsNo
;
this
.
form
.
amount
=
manualAmount
this
.
form
.
limitList
=
manualNum
this
.
form
.
capitalCode
=
loanSign
}
},
methods
:
{
onSubmit
(
formName
)
{
console
.
log
(
this
.
item
,
this
.
form
,
'数据呢'
);
this
.
$refs
[
formName
].
validate
(
async
(
valid
)
=>
{
if
(
valid
)
{
this
.
$confirm
(
'是否确认提交?'
,
'提示'
,
{
confirmButtonText
:
'确定'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
}).
then
(
async
(
res
)
=>
{
const
form
=
this
.
form
;
let
result
;
if
(
this
.
step
===
'first'
)
{
// 初审提交审批
result
=
await
API
.
LocalFirstCreditSubmit
({
...
form
})
}
else
{
// 复审提交审批
result
=
await
API
.
LocalSecondCreditSubmit
({
...
form
})
}
if
(
result
.
success
)
{
this
.
$message
({
type
:
'success'
,
message
:
'审批成功!'
})
this
.
$router
.
back
();
// this.$emit('handleClose')
// this.$emit('callback')
}
}).
catch
((
e
)
=>
{
console
.
log
(
e
,
'取消申述了'
)
})
}
})
},
handleClose
()
{
this
.
$router
.
back
();
// this.$emit('handleClose')
}
}
}
</
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
>
src/views/approval/localDetail.vue
deleted
100644 → 0
View file @
d5688ade
<
template
>
<!-- v-if='detail!==null'-->
<div
v-if=
"detail!==null "
class=
'page'
>
<template
v-if=
"project"
>
<block-header
title=
"基本信息"
/>
<el-descriptions
style=
'margin-bottom: 20px;'
border
size=
'small'
:column=
'3'
>
<el-descriptions-item
label-class-name=
'labelCls'
label=
'客户姓名'
>
{{
project
.
clientName
}}
</el-descriptions-item>
<el-descriptions-item
label-class-name=
'labelCls'
label=
'手机号码'
>
{{
project
.
mobile
}}
</el-descriptions-item>
<el-descriptions-item
label-class-name=
'labelCls'
label=
'身份证号'
>
{{
project
.
certNo
}}
</el-descriptions-item>
<el-descriptions-item
label-class-name=
'labelCls'
label=
'户籍地址'
>
{{
project
.
address
}}
</el-descriptions-item>
<el-descriptions-item
label-class-name=
'labelCls'
label=
'年龄'
>
{{
project
.
age
}}
</el-descriptions-item>
<el-descriptions-item
label-class-name=
'labelCls'
label=
'申请时间'
>
{{
project
.
loanTime
}}
</el-descriptions-item>
<el-descriptions-item
label-class-name=
'labelCls'
label=
'授信类型'
>
{{
project
.
type
}}
</el-descriptions-item>
<el-descriptions-item
label-class-name=
'labelCls'
label=
'授信状态'
>
<span>
{{
project
.
state
}}
</span>
<template
v-if=
'project.back'
>
<el-button
@
click=
'handlePlead'
size=
'mini'
style=
'margin-left: 10px'
type=
'primary'
>
捞回
</el-button>
</
template
>
</el-descriptions-item>
<el-descriptions-item
label-class-name=
'labelCls'
label=
'学历'
>
{{ project.educationCode }}
</el-descriptions-item>
<el-descriptions-item
label-class-name=
'labelCls'
label=
'婚姻状况'
>
{{ project.marriage }}
</el-descriptions-item>
<el-descriptions-item
label-class-name=
'labelCls'
label=
'现居地址'
>
{{
project.liveDetailAddress
}}
</el-descriptions-item>
<el-descriptions-item
label-class-name=
'labelCls'
label=
'紧急联系人1'
>
<span>
{{ project.firstName }}
</span>
<el-button
@
click=
'handleContact'
size=
'mini'
style=
'margin-left: 10px'
type=
'text'
>
查看更多
</el-button>
</el-descriptions-item>
<el-descriptions-item
label-class-name=
'labelCls'
label=
'紧急联系人关系'
>
{{
project.firstRelation
}}
</el-descriptions-item>
<el-descriptions-item
label-class-name=
'labelCls'
label=
'紧急联系人电话'
>
{{
project.firstPhone
}}
</el-descriptions-item>
<el-descriptions-item
label-class-name=
'labelCls'
label=
'工作行业'
>
{{
project.workIndustry
}}
</el-descriptions-item>
<el-descriptions-item
label-class-name=
'labelCls'
label=
'公司全称'
>
{{
project.companyName
}}
</el-descriptions-item>
<el-descriptions-item
label-class-name=
'labelCls'
label=
'工作地址'
>
{{ project.companyAddressDetail }}
</el-descriptions-item>
<el-descriptions-item
label-class-name=
'labelCls'
label=
'月收入'
>
{{
project.selfMonthIncome
}}
</el-descriptions-item>
<el-descriptions-item
label-class-name=
'labelCls'
label=
'申请金额'
>
{{ project.loanAmt }}
</el-descriptions-item>
<el-descriptions-item
label-class-name=
'labelCls'
label=
'申请期数'
>
{{ project.loanLimit }}
</el-descriptions-item>
<el-descriptions-item
label-class-name=
'labelCls'
label=
'贷款用途'
>
{{ project.loanUse }}
</el-descriptions-item>
</el-descriptions>
</template>
<!--操作日志-->
<
template
v-if=
"clientNo"
>
<local-log
:userId=
"userId"
:clientNo=
"clientNo"
/>
</
template
>
<
template
v-if=
"project"
>
<block-header
title=
"项目情况"
/>
<el-descriptions
class=
"table"
:column=
"3"
size=
"small"
border
>
<el-descriptions-item
label-class-name=
"labelCls"
label=
"借款人"
>
<span>
{{
project
.
clientName
}}
</span>
</el-descriptions-item>
<el-descriptions-item
label-class-name=
"labelCls"
label=
"申请金额"
>
<span>
{{
project
.
loanAmt
}}
</span>
</el-descriptions-item>
<el-descriptions-item
label-class-name=
"labelCls"
label=
"借款期限"
>
<span>
{{
project
.
loanLimit
}}
</span>
</el-descriptions-item>
<el-descriptions-item
label-class-name=
"labelCls"
label=
"借款利率"
>
<span>
{{
project
.
loanRate
}}
</span>
</el-descriptions-item>
<el-descriptions-item
label-class-name=
"labelCls"
label=
"服务费率"
>
<span>
{{
project
.
fuRate
}}
</span>
</el-descriptions-item>
<el-descriptions-item
label-class-name=
"labelCls"
label=
"还款方式"
>
<span>
{{
project
.
backedWay
}}
</span>
</el-descriptions-item>
<el-descriptions-item
label-class-name=
"labelCls"
label=
"担保方式"
>
<span>
{{
project
.
warrantWay
}}
</span>
</el-descriptions-item>
<el-descriptions-item
label-class-name=
"labelCls"
label=
"客户来源"
>
<span>
{{
project
.
clientSource
}}
</span>
</el-descriptions-item>
<el-descriptions-item
label-class-name=
"labelCls"
label=
"是否续贷"
>
<span>
{{
project
.
continuous
}}
</span>
</el-descriptions-item>
<el-descriptions-item
label-class-name=
"labelCls"
label=
"尽调人员"
>
<span>
{{
project
.
personnel
}}
</span>
</el-descriptions-item>
</el-descriptions>
</
template
>
<!--家庭情况-->
<family
:credit-no=
"creditNo"
:client-no=
"clientNo"
:view=
"true"
:data=
"familyData"
@
callback=
"handleCallback"
></family>
<!--资产情况-->
<assets
:credit-no=
"creditNo"
:client-no=
"clientNo"
:view=
"true"
:data=
"assetsData"
@
callback=
"handleCallback"
></assets>
<!-- <block-header title="负债情况"/>-->
<!--银行借贷-->
<borrow
:credit-no=
"creditNo"
:client-no=
"clientNo"
:view=
"true"
:data=
"borrowData"
@
callback=
"handleCallback"
></borrow>
<!--信用卡-->
<credit-card
:credit-no=
"creditNo"
:client-no=
"clientNo"
:view=
"true"
:data=
"creditCardData"
@
callback=
"handleCallback"
></credit-card>
<!--担保-->
<warrant
:credit-no=
"creditNo"
:client-no=
"clientNo"
:view=
"true"
:data=
"warrantData"
@
callback=
"handleCallback"
></warrant>
<!--法律诉讼-->
<lawsuit
:credit-no=
"creditNo"
:client-no=
"clientNo"
:view=
"true"
:data=
"lawsuitData"
@
callback=
"handleCallback"
></lawsuit>
<!--负债表-->
<block-header
title=
"资产负债表"
/>
<el-form
ref=
'form'
label-suffix=
':'
label-width=
"160px"
>
<el-row
:gutter=
"20"
>
<el-col
:span=
"12"
>
<el-form-item
prop=
'yvFu'
label=
'预付账款'
>
<span>
{{ debtData.yvFu }}
</span>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
prop=
'yingFu'
label=
'应付账款'
>
<span>
{{ debtData.yingFu }}
</span>
</el-form-item>
</el-col>
</el-row>
<el-row
:gutter=
"20"
>
<el-col
:span=
"12"
>
<el-form-item
prop=
'yingShou'
label=
'应收账款'
>
<span>
{{ debtData.yingShou }}
</span>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
prop=
'yvShou'
label=
'预收账款'
>
<span>
{{ debtData.yvShou }}
</span>
</el-form-item>
</el-col>
</el-row>
<el-row
:gutter=
"20"
>
<el-col
:span=
"12"
>
<el-form-item
prop=
'amountCount'
label=
'现金及银行存款合计'
>
<span>
{{ debtData.amountCount }}
</span>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
prop=
'shortLoan'
label=
'短期贷款'
>
<span>
{{ debtData.shortLoan }}
</span>
</el-form-item>
</el-col>
</el-row>
<el-row
:gutter=
"20"
>
<el-col
:span=
"12"
>
<el-form-item
prop=
'cash'
label=
'现金'
>
<span>
{{ debtData.cash }}
</span>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
prop=
'xinAmount'
label=
'信用卡使用总额'
>
<span>
{{ debtData.xinAmount }}
</span>
</el-form-item>
</el-col>
</el-row>
<el-row
:gutter=
"20"
>
<el-col
:span=
"12"
>
<el-form-item
prop=
'yinAmount'
label=
'银行存款'
>
<span>
{{ debtData.yinAmount }}
</span>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
prop=
'shangDi'
label=
'商铺抵押'
>
<span>
{{ debtData.shangDi }}
</span>
</el-form-item>
</el-col>
</el-row>
<el-row
:gutter=
"20"
>
<el-col
:span=
"12"
>
<el-form-item
prop=
'cunHuo'
label=
'存货'
>
<span>
{{ debtData.cunHuo }}
</span>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
prop=
'fangDi'
label=
'住房抵押'
>
<span>
{{ debtData.fangDi }}
</span>
</el-form-item>
</el-col>
</el-row>
<el-row
:gutter=
"20"
>
<el-col
:span=
"12"
>
<el-form-item
prop=
'liuCount'
label=
'流动资产合计'
>
<span>
{{ debtData.liuCount }}
</span>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
prop=
'cheDi'
label=
'汽车抵押'
>
<span>
{{ debtData.cheDi }}
</span>
</el-form-item>
</el-col>
</el-row>
<el-row
:gutter=
"20"
>
<el-col
:span=
"12"
>
<el-form-item
prop=
'guCount'
label=
'固定资产合计'
>
<span>
{{ debtData.guCount }}
</span>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
prop=
'shortCount'
label=
'短期负债合计'
>
<span>
{{ debtData.shortCount }}
</span>
</el-form-item>
</el-col>
</el-row>
<el-row
:gutter=
"20"
>
<el-col
:span=
"12"
>
<el-form-item
prop=
'shangPu'
label=
'商铺'
>
<span>
{{ debtData.shangPu }}
</span>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
prop=
'longLoan'
label=
'长期贷款'
>
<span>
{{ debtData.longLoan }}
</span>
</el-form-item>
</el-col>
</el-row>
<el-row
:gutter=
"20"
>
<el-col
:span=
"12"
>
<el-form-item
prop=
'zhuFang'
label=
'住房'
>
<span>
{{ debtData.zhuFang }}
</span>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
prop=
'longCount'
label=
'长期负债合计'
>
<span>
{{ debtData.longCount }}
</span>
</el-form-item>
</el-col>
</el-row>
<el-row
:gutter=
"20"
>
<el-col
:span=
"12"
>
<el-form-item
prop=
'qiChe'
label=
'汽车'
>
<span>
{{ debtData.qiChe }}
</span>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
prop=
'otherLoan'
label=
'其他负债'
>
<span>
{{ debtData.otherLoan }}
</span>
</el-form-item>
</el-col>
</el-row>
<el-row
:gutter=
"20"
>
<el-col
:span=
"12"
>
<el-form-item
prop=
'guOther'
label=
'其他'
>
<span>
{{ debtData.guOther }}
</span>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
</el-col>
</el-row>
<el-row
:gutter=
"20"
>
<el-col
:span=
"12"
>
<el-form-item
prop=
'qiCount'
label=
'其他经营资产合计'
>
<span>
{{ debtData.qiCount }}
</span>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
</el-col>
</el-row>
<el-row
:gutter=
"20"
>
<el-col
:span=
"12"
>
<el-form-item
prop=
'jiQi'
label=
'机器设备'
>
<span>
{{ debtData.jiQi }}
</span>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
</el-col>
</el-row>
<el-row
:gutter=
"20"
>
<el-col
:span=
"12"
>
<el-form-item
prop=
'ziCount'
label=
'总资产合计'
>
<span>
{{ debtData.ziCount }}
</span>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
prop=
'zaiCount'
label=
'总负债合计'
>
<span>
{{ debtData.zaiCount }}
</span>
</el-form-item>
</el-col>
</el-row>
<el-row
:gutter=
"20"
>
<el-col
:span=
"12"
>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
prop=
'quanCount'
label=
'所有者权益合计'
>
<span>
{{ debtData.quanCount }}
</span>
</el-form-item>
</el-col>
</el-row>
<el-row
:gutter=
"20"
>
<el-col
:span=
"12"
>
<el-form-item
prop=
'liuRate'
label=
'流动比率'
>
<span>
{{ debtData.liuRate }}
</span>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
prop=
'ziRate'
label=
'资产负债比率'
>
<span>
{{ debtData.ziRate }}
</span>
</el-form-item>
</el-col>
</el-row>
<el-row
:gutter=
"20"
>
<el-col
:span=
"24"
>
<el-form-item
prop=
'memo'
label=
'资产负债表备注'
>
<span>
{{ debtData.memo }}
</span>
</el-form-item>
</el-col>
</el-row>
</el-form>
<block-header
title=
"总体情况文字说明"
/>
<div
style=
"margin-bottom: 20px;"
>
<span>
{{ explain }}
</span>
</div>
<
template
v-if=
"enterpriseResponse"
>
<block-header
title=
"企业基本情况"
/>
<el-descriptions
class=
"table"
:column=
"1"
size=
"small"
border
>
<el-descriptions-item
label-class-name=
"labelCls"
label=
"企业历史沿革"
>
<span>
{{
enterpriseResponse
.
history
}}
</span>
</el-descriptions-item>
<el-descriptions-item
label-class-name=
"labelCls"
label=
"具体经营情况"
>
<span>
{{
enterpriseResponse
.
business
}}
</span>
</el-descriptions-item>
</el-descriptions>
</
template
>
<
template
v-if=
"riskConclusionResponse"
>
<block-header
title=
"风险点以及最终审批结论"
/>
<el-descriptions
class=
"table"
:column=
"1"
size=
"small"
border
>
<el-descriptions-item
label-class-name=
"labelClsLong"
label=
"风险点以及贷后预防措施"
>
<span>
{{
riskConclusionResponse
.
riskMeasures
}}
</span>
</el-descriptions-item>
<el-descriptions-item
label-class-name=
"labelClsLong"
label=
"最终审批结果(时间利率还款方式)"
>
<span>
{{
riskConclusionResponse
.
finalResult
}}
</span>
</el-descriptions-item>
</el-descriptions>
</
template
>
<block-header
title=
"资料附件"
/>
<el-row
:gutter=
'20'
>
<el-col
v-for=
'(o, index) in temp'
:key=
'index'
:span=
'4'
>
<el-card
:body-style=
"{ padding: '10px' }"
>
<div
@
click=
"handleShow(o)"
class=
'el-card-intro'
>
<span>
{{ o.title }}
</span>
</div>
</el-card>
</el-col>
</el-row>
<!--上传-->
<
template
v-if=
"visible"
>
<data-upload
:view=
"true"
:credit-no=
"creditNo"
:visible=
"visible"
:item=
"item"
@
handleClose=
'visible = false'
></data-upload>
</
template
>
<!--第三方报告-->
<
template
v-if=
"project && project.preCreditNo"
>
<report
:credit-no=
"project.preCreditNo"
></report>
</
template
>
<
template
v-if=
"project && project.preCreditNo"
>
<local-pre-report
:credit-no=
"project.preCreditNo"
></local-pre-report>
</
template
>
<block-header
title=
'审批'
/>
<local-plead
:data=
"project"
:step=
"step"
@
callback=
"init"
></local-plead>
<!--捞回-->
<
template
v-if=
'pleadVisible'
>
<pre-plead
:dialog-visible=
'pleadVisible'
:item=
'pleadData'
:step=
"step==='first'?'first':'second'"
@
handleClose=
'pleadVisible = false'
@
callback=
'init'
/>
</
template
>
<!--通讯录-->
<
template
v-if=
'contactVisible'
>
<contact
:CreditNo=
"creditNo"
:contact-visible=
'contactVisible'
@
handleClose=
'contactVisible = false'
/>
</
template
>
</div>
</template>
<
script
>
import
API
from
'@/server/api'
import
{
mapGetters
}
from
'vuex'
import
Family
from
"@/views/customer/components/Family"
;
import
Assets
from
"@/views/customer/components/Assets"
;
import
Borrow
from
"@/views/customer/components/Borrow"
;
import
CreditCard
from
"@/views/customer/components/CreditCard"
;
import
Lawsuit
from
"@/views/customer/components/Lawsuit"
;
import
Warrant
from
"@/views/customer/components/Warrant"
;
import
DataUpload
from
"@/views/customer/components/DataUpload"
;
import
LocalPlead
from
"./components/local-plead"
;
import
Report
from
"@/components/report"
;
import
PrePlead
from
'./components/pre-plead'
import
Contact
from
'./components/contacts'
import
LocalPreReport
from
'@/components/local-pre-report'
export
default
{
name
:
'ClientDetail'
,
components
:
{
Family
,
Assets
,
Borrow
,
CreditCard
,
Lawsuit
,
Warrant
,
DataUpload
,
LocalPlead
,
Report
,
PrePlead
,
Contact
,
LocalPreReport
},
data
()
{
return
{
contactVisible
:
false
,
preCreditNo
:
''
,
clientNo
:
''
,
creditNo
:
''
,
step
:
''
,
total
:
1
,
list
:
[],
params
:
{
clientNo
:
''
,
userId
:
''
,
current
:
1
,
size
:
10
},
// 捞回数据
pleadVisible
:
false
,
pleadData
:
null
,
detail
:
null
,
temp
:
[],
// 资料上传相关
item
:
null
,
visible
:
false
,
// 整体表单
form
:
null
,
explain
:
''
,
// 数据列表
familyData
:
[],
assetsData
:
[],
borrowData
:
[],
creditCardData
:
[],
warrantData
:
[],
lawsuitData
:
[],
enterprise
:
null
,
riskConclusion
:
null
,
debtData
:
{},
project
:
null
,
userId
:
''
}
},
async
created
()
{
const
{
query
}
=
this
.
$route
if
(
query
&&
query
.
creditNo
&&
query
.
step
&&
query
.
clientNo
&&
query
.
userId
)
{
this
.
creditNo
=
query
.
creditNo
this
.
clientNo
=
query
.
clientNo
;
this
.
step
=
query
.
step
;
this
.
userId
=
query
.
userId
;
await
this
.
init
()
}
},
computed
:
{
...
mapGetters
([
'searchData'
,
'user'
])
},
methods
:
{
// 初始化详情信息
async
init
()
{
try
{
const
creditNo
=
this
.
creditNo
const
clientNo
=
this
.
clientNo
const
result
=
await
API
.
LocalClientDetail
({
type
:
this
.
step
===
'first'
?
"TWO"
:
'FOUR'
,
creditNo
,
clientNo
})
this
.
detail
=
result
.
result
;
const
{
explain
,
appendix
,
debtUrlList
,
riskConclusionResponse
,
familyDackgroundResponse
,
enterpriseResponse
,
propertyCssResponse
,
debtCssResponse
,
creditCardResponse
,
warrantResponse
,
badInformationResponse
,
projectSituationResponse
}
=
result
.
result
;
// 家庭情况
this
.
familyData
=
familyDackgroundResponse
;
// 资产情况
this
.
assetsData
=
propertyCssResponse
;
this
.
project
=
projectSituationResponse
;
this
.
borrowData
=
debtCssResponse
;
// 银行借贷
this
.
creditCardData
=
creditCardResponse
;
// 信用卡
this
.
warrantData
=
warrantResponse
;
// 担保
this
.
lawsuitData
=
badInformationResponse
;
// 诉讼
this
.
enterpriseResponse
=
enterpriseResponse
;
// 诉讼
this
.
riskConclusionResponse
=
riskConclusionResponse
;
// 诉讼
this
.
debtData
=
debtUrlList
this
.
explain
=
explain
;
// 资料上传初始化
const
temp
=
[]
for
(
let
[
key
,
value
]
of
Object
.
entries
(
appendix
))
{
const
o
=
{};
o
.
type
=
key
;
o
.
data
=
value
;
switch
(
key
)
{
case
'account'
:
o
.
title
=
'银行流水'
break
;
case
'businessImgs'
:
o
.
title
=
'经营信息'
break
;
case
'cardImgs'
:
o
.
title
=
'放款银行卡'
break
;
case
'certImgs'
:
o
.
title
=
'身份信息'
break
;
case
'investigations'
:
o
.
title
=
'征信报告'
break
;
case
'otherImgs'
:
o
.
title
=
'其他资料凭证'
break
;
case
'propertyImgs'
:
o
.
title
=
'资产凭证'
break
;
}
temp
.
push
(
o
)
}
this
.
temp
=
temp
;
}
catch
(
err
)
{
this
.
$message
({
message
:
'初始化授信详情失败'
,
type
:
'error'
})
}
},
// 家庭情况的回调喊上
async
handleCallback
()
{
await
this
.
init
();
},
// 资料附件点击文件夹
handleShow
(
o
)
{
this
.
item
=
o
;
this
.
visible
=
true
;
},
// 捞回
handlePlead
()
{
this
.
pleadData
=
this
.
project
this
.
pleadData
.
creditNo
=
this
.
creditNo
;
this
.
pleadVisible
=
true
},
// 保存信息
onSave
(
formName
)
{
this
.
$refs
[
formName
].
validate
(
async
(
valid
)
=>
{
if
(
valid
)
{
try
{
const
form
=
this
.
form
;
console
.
log
(
form
,
'沃日'
)
const
{
projectSituationResponse
,
enterpriseResponse
,
riskConclusionResponse
,
explain
}
=
form
;
const
data
=
{
creditNo
:
this
.
creditNo
,
clientNo
:
this
.
clientNo
,
projectSituationResponse
,
enterpriseResponse
,
riskConclusionResponse
,
explain
,
}
const
res
=
await
API
.
LocalClientProjectSave
({...
data
})
console
.
log
(
res
,
'保存的结果'
)
if
(
res
.
success
)
{
this
.
$message
({
type
:
'success'
,
message
:
'保存成功'
})
await
this
.
init
()
}
}
catch
(
err
)
{
}
}
})
}
,
// 提交信息
async
onSubmit
()
{
try
{
const
{}
=
this
.
form
;
const
params
=
{
actionNo
,
stepsNo
}
const
res
=
await
API
.
LocalClientSubmit
({...
params
})
if
(
res
.
success
)
{
this
.
$message
({
type
:
'success'
,
message
:
'提交成功'
})
const
that
=
this
;
setTimeout
(
function
()
{
that
.
$router
.
back
()
},
2000
)
}
}
catch
(
err
)
{
}
},
// 通讯录
async
handleContact
()
{
this
.
contactVisible
=
true
;
}
}
}
</
script
>
<
style
lang=
'scss'
scoped
>
.table
{
margin-bottom
:
20px
;
}
.form-btn
{
position
:
fixed
;
bottom
:
80px
;
right
:
0
;
width
:
100%
;
height
:
80px
;
display
:
flex
;
align-items
:
center
;
justify-content
:
center
;
}
</
style
>
src/views/approval/localFirstList.vue
deleted
100644 → 0
View file @
d5688ade
<
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=
'clientName'
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.creditType'
clearable
placeholder=
'请选择授信类型'
>
<el-option
v-for=
'(item,index) in searchData.xshcreditStatusResponseList'
:key=
'index'
:label=
'item.creditStatusStr'
:value=
'item.creditStatus'
></el-option>
</el-select>
</el-form-item>
</
template
>
<el-form-item
v-if=
"false"
prop=
'certNo'
label=
'身份证号'
>
<el-input
v-model=
'queryForm.certNo'
clearable
placeholder=
'请输入'
/>
</el-form-item>
<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.creditTypeStr==="提额授信"'
effect=
'plain'
size=
'mini'
>
{{
row
.
creditTypeStr
}}
</el-tag>
<el-tag
v-else
size=
'mini'
>
{{
row
.
creditTypeStr
}}
</el-tag>
</span>
<span
v-else-if=
'item.label==="授信状态"'
>
<el-tag
v-if=
'row.creditState==="CREATED"'
size=
'mini'
>
{{
row
.
creditStatusStr
}}
</el-tag>
<el-tag
v-if=
'row.creditState==="授信中"'
type=
'warning'
size=
'mini'
>
{{
row
.
creditStatusStr
}}
</el-tag>
<el-tag
v-if=
'row.creditState==="授信通过"'
type=
'success'
size=
'mini'
>
{{
row
.
creditStatusStr
}}
</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
Reassignment
from
'./components/reassignment'
import
{
mapGetters
}
from
'vuex'
import
Vue
from
'vue'
export
default
{
name
:
'LocalFirstList'
,
data
()
{
return
{
checkList
:
[
'授信编号'
,
'客户姓名'
,
'手机号码'
,
'对应BD'
,
'申请时间'
,
'初审授信结果'
,
'授信额度'
],
columns
:
[
{
order
:
1
,
width
:
260
,
label
:
'授信编号'
,
prop
:
'creditNo'
},
{
order
:
2
,
label
:
'客户姓名'
,
prop
:
'clientName'
},
{
order
:
2
,
label
:
'手机号码'
,
prop
:
'mobile'
},
{
order
:
3
,
label
:
'对应BD'
,
prop
:
'bd'
},
{
order
:
4
,
label
:
'申请时间'
,
prop
:
'applyTime'
},
{
order
:
5
,
label
:
'初审授信结果'
,
prop
:
'creditState'
},
{
order
:
6
,
label
:
'授信额度'
,
prop
:
'creditLimit'
}
],
list
:
[],
listLoading
:
true
,
total
:
0
,
pickerConfig
:
this
.
datePickerOptions
,
queryForm
:
{
current
:
1
,
size
:
10
,
certNo
:
''
,
creditNo
:
''
,
clientName
:
''
,
mobile
:
''
,
state
:
''
,
creditResult
:
''
,
creditType
:
''
,
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
.
order
)
},
...
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
,
userId
,
clientNo
,
orderNo
}
=
row
this
.
$router
.
push
({
path
:
'/approval/localDetail'
,
query
:
{
step
:
"first"
,
creditNo
,
clientNo
,
userId
}
})
},
// 页码变更
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
params
.
userId
=
this
.
user
.
userId
const
result
=
await
API
.
LocalFirstCreditList
({
...
params
})
const
{
records
,
total
}
=
result
.
result
this
.
list
=
records
this
.
total
=
total
this
.
listLoading
=
false
}
catch
(
err
){
console
.
log
(
'初始化初审列表'
)
}
},
// 修改上下线状态
async
handleChangeOnLineStatus
(
e
)
{
const
userId
=
this
.
user
.
userId
const
userDutyState
=
e
?
'ONLINE'
:
'OFFLINE'
const
result
=
await
API
.
approveOnOff
({
userId
,
userDutyState
})
if
(
result
.
success
)
{
const
msg
=
userDutyState
===
'ONLINE'
?
'已上线'
:
'已下线'
Vue
.
prototype
.
$baseMessage
(
msg
,
'success'
)
}
},
// 审批
handleApproval
(
row
)
{
const
{
creditNo
}
=
row
let
routeUrl
=
this
.
$router
.
resolve
({
path
:
'/approvalDetail'
,
query
:
{
creditNo
,
approval
:
'approval'
}
})
window
.
open
(
routeUrl
.
href
,
'_blank'
)
},
// 转派
handleReassignment
(
row
)
{
this
.
visible
=
true
this
.
item
=
row
}
}
}
</
script
>
<
style
lang=
'scss'
scoped
>
.page-fence
{
::v-deep
{
i
{
cursor
:
pointer
;
}
}
box-sizing
:
border-box
;
padding
:
20px
;
}
</
style
>
<
style
lang=
'scss'
>
.action-bar
{
margin-bottom
:
15px
;
}
</
style
>
src/views/approval/localPreDetail.vue
deleted
100644 → 0
View file @
d5688ade
<
template
>
<div
v-if=
'detail!==null'
class=
'page'
>
<block-header
title=
'基本信息'
/>
<el-descriptions
style=
'margin-bottom: 20px;'
border
size=
'small'
:column=
'3'
>
<el-descriptions-item
label-class-name=
'labelCls'
label=
'客户姓名'
>
{{
detail
.
clientName
}}
</el-descriptions-item>
<el-descriptions-item
label-class-name=
'labelCls'
label=
'手机号码'
>
{{
detail
.
mobile
}}
</el-descriptions-item>
<el-descriptions-item
label-class-name=
'labelCls'
label=
'身份证号'
>
{{
detail
.
certNo
}}
</el-descriptions-item>
<el-descriptions-item
label-class-name=
'labelCls'
label=
'户籍地址'
>
{{
detail
.
address
}}
</el-descriptions-item>
<el-descriptions-item
label-class-name=
'labelCls'
label=
'年龄'
>
{{
detail
.
age
}}
</el-descriptions-item>
<el-descriptions-item
label-class-name=
'labelCls'
label=
'申请时间'
>
{{
detail
.
loanTime
}}
</el-descriptions-item>
<el-descriptions-item
label-class-name=
'labelCls'
label=
'授信类型'
>
{{
detail
.
type
}}
</el-descriptions-item>
<el-descriptions-item
label-class-name=
'labelCls'
label=
'授信状态'
>
<span>
{{
detail
.
state
}}
</span>
<template
v-if=
'detail.back'
>
<el-button
@
click=
'handlePlead'
size=
'mini'
style=
'margin-left: 10px'
type=
'primary'
>
捞回
</el-button>
</
template
>
</el-descriptions-item>
<el-descriptions-item
label-class-name=
'labelCls'
label=
'学历'
>
{{ detail.educationCode }}
</el-descriptions-item>
<el-descriptions-item
label-class-name=
'labelCls'
label=
'婚姻状况'
>
{{ detail.marriage }}
</el-descriptions-item>
<el-descriptions-item
label-class-name=
'labelCls'
label=
'现居地址'
>
{{
detail.liveDetailAddress
}}
</el-descriptions-item>
<el-descriptions-item
label-class-name=
'labelCls'
label=
'紧急联系人1'
>
<span>
{{ detail.firstName }}
</span>
<el-button
@
click=
'handleContact'
size=
'mini'
style=
'margin-left: 10px'
type=
'text'
>
查看更多
</el-button>
</el-descriptions-item>
<el-descriptions-item
label-class-name=
'labelCls'
label=
'紧急联系人关系'
>
{{
detail.firstRelation
}}
</el-descriptions-item>
<el-descriptions-item
label-class-name=
'labelCls'
label=
'紧急联系人电话'
>
{{ detail.firstPhone }}
</el-descriptions-item>
<el-descriptions-item
label-class-name=
'labelCls'
label=
'工作行业'
>
{{ detail.workIndustry }}
</el-descriptions-item>
<el-descriptions-item
label-class-name=
'labelCls'
label=
'公司全称'
>
{{ detail.companyName }}
</el-descriptions-item>
<el-descriptions-item
label-class-name=
'labelCls'
label=
'工作地址'
>
{{ detail.companyAddressDetail }}
</el-descriptions-item>
<el-descriptions-item
label-class-name=
'labelCls'
label=
'月收入'
>
{{ detail.selfMonthIncome }}
</el-descriptions-item>
<el-descriptions-item
label-class-name=
'labelCls'
label=
'申请金额'
>
{{ detail.loanAmt }}
</el-descriptions-item>
<el-descriptions-item
label-class-name=
'labelCls'
label=
'申请期数'
>
{{ detail.loanLimit }}
</el-descriptions-item>
<el-descriptions-item
label-class-name=
'labelCls'
label=
'贷款用途'
>
{{ detail.loanUse }}
</el-descriptions-item>
</el-descriptions>
<!--第三方报告-->
<
template
v-if=
"preCreditNo"
>
<report
:credit-no=
"preCreditNo"
></report>
</
template
>
<
template
v-if=
"preCreditNo"
>
<local-pre-report
:credit-no=
"preCreditNo"
></local-pre-report>
</
template
>
<!--捞回-->
<
template
v-if=
'visible'
>
<pre-plead
:dialog-visible=
'visible'
:item=
'item'
step=
"pre"
@
handleClose=
'visible = false'
@
callback=
'init'
/>
</
template
>
<!--通讯录-->
<
template
v-if=
'contactVisible'
>
<contact
:CreditNo=
"creditNo"
:contact-visible=
'contactVisible'
@
handleClose=
'contactVisible = false'
/>
</
template
>
</div>
</template>
<
script
>
import
API
from
'@/server/api'
import
PrePlead
from
'./components/pre-plead'
import
LocalPreReport
from
'@/components/local-pre-report'
import
Contact
from
'./components/contacts'
export
default
{
name
:
'PreDetail'
,
components
:
{
PrePlead
,
LocalPreReport
,
Contact
},
data
()
{
return
{
visible
:
false
,
item
:
null
,
creditNo
:
''
,
clientNo
:
''
,
preCreditNo
:
''
,
preCreditState
:
''
,
detail
:
null
,
reportResponse
:
[],
operationLogResponse
:
[],
contactVisible
:
false
}
},
async
created
()
{
const
{
query
}
=
this
.
$route
if
(
query
&&
query
.
clientNo
)
{
if
(
query
.
creditNo
)
this
.
creditNo
=
query
.
creditNo
if
(
query
.
preCreditNo
)
this
.
preCreditNo
=
query
.
preCreditNo
this
.
clientNo
=
query
.
clientNo
;
await
this
.
init
()
}
},
methods
:
{
async
init
()
{
try
{
const
creditNo
=
this
.
creditNo
const
preCreditNo
=
this
.
preCreditNo
const
clientNo
=
this
.
clientNo
const
result
=
await
API
.
LocalClientDetail
({
type
:
"ONE"
,
preCreditNo
,
creditNo
,
clientNo
})
const
data
=
result
.
result
const
{
projectSituationResponse
}
=
data
;
this
.
detail
=
projectSituationResponse
console
.
log
(
data
,
'返回数据'
)
}
catch
(
err
)
{
console
.
log
(
"初始化预授信详情异常"
)
}
},
// 捞回
handlePlead
()
{
this
.
item
=
this
.
detail
this
.
item
.
preCreditNo
=
this
.
preCreditState
this
.
item
.
creditNo
=
this
.
creditNo
this
.
visible
=
true
},
// 第三方数据报告
async
initDataReport
()
{
try
{
const
creditNo
=
this
.
creditNo
const
clientNo
=
this
.
clientNo
const
result
=
await
API
.
LocalPreDataReport
({
creditNo
,
clientNo
})
const
data
=
result
.
result
const
{
projectSituationResponse
}
=
data
;
this
.
detail
=
projectSituationResponse
console
.
log
(
data
,
'返回数据'
)
}
catch
(
err
)
{
console
.
log
(
"初始化预授信详情异常"
)
}
},
// 通讯录
async
handleContact
()
{
this
.
contactVisible
=
true
;
}
}
}
</
script
>
<
style
lang=
'scss'
src=
'./index.scss'
></
style
>
src/views/approval/localPreList.vue
deleted
100644 → 0
View file @
d5688ade
<
template
>
<div
class=
'page-fence'
>
<!--搜索-->
<block-header
title=
'搜索'
/>
<div
class=
'search'
>
<el-form
ref=
'form'
label-suffix=
':'
:inline=
'true'
:model=
'queryForm'
class=
'form-inline'
>
<el-form-item
prop=
'mobile'
label=
'手机号码'
>
<el-input
v-model=
'queryForm.mobile'
clearable
placeholder=
'请输入'
/>
</el-form-item>
<el-form-item
prop=
'clientName'
label=
'客户姓名'
>
<el-input
v-model=
'queryForm.clientName'
clearable
placeholder=
'请输入'
/>
</el-form-item>
<el-form-item
prop=
'preCreditNo'
label=
'授信编号'
>
<el-input
v-model=
'queryForm.preCreditNo'
clearable
placeholder=
'请输入'
/>
</el-form-item>
<el-form-item
v-if=
'searchData!==null'
prop=
'preStatus'
label=
'授信状态'
>
<el-select
v-model=
'queryForm.preStatus'
:popper-append-to-body=
'false'
clearable
placeholder=
'请选择授信状态'
>
<el-option
v-for=
'(item,index) in searchData.xshPreStatusList'
:key=
'index'
:label=
'item.preStatusStr'
:value=
'item.preStatus'
></el-option>
</el-select>
</el-form-item>
<!--
<el-form-item
prop=
'certNo'
label=
'身份证号'
>
-->
<!--
<el-input
v-model=
'queryForm.certNo'
clearable
placeholder=
'请输入'
/>
-->
<!--
</el-form-item>
-->
<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=
'onSubmit'
>
搜 索
</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
: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 }'>
<div
v-if=
"item.prop==='preCreditState'"
>
<el-tag
v-if=
'row[item.prop]==="审核中"'
type=
'warning'
>
{{
row
[
item
.
prop
]
}}
</el-tag>
<el-tag
v-else-if=
'row[item.prop]==="审核通过"'
type=
'success'
>
{{
row
[
item
.
prop
]
}}
</el-tag>
<el-tag
v-else-if=
'row[item.prop]==="审核拒绝"'
type=
'danger'
>
{{
row
[
item
.
prop
]
}}
</el-tag>
<el-tag
v-else
size=
'mini'
>
{{
row
[
item
.
prop
]
}}
</el-tag>
</div>
<span
v-else
>
{{
row
[
item
.
prop
]
}}
</span>
</
template
>
</el-table-column>
<el-table-column
fixed=
'right'
align=
'center'
label=
'操作'
>
<
template
#
default=
'{ row }'
>
<el-button
type=
'text'
@
click=
'handleDetail(row)'
>
详情
</el-button>
</
template
>
</el-table-column>
</el-table>
<!-- 分页 -->
<el-pagination
:current-page=
'queryForm.current'
layout=
'total,sizes, prev, pager, next'
:page-sizes=
'[10,20,30,40,50,100]'
background
:page-size=
'queryForm.size'
:total=
'total'
@
size-change=
'handleSizeChange'
@
current-change=
'handleCurrentChange'
/>
<!-- 申述 -->
<!--申述弹框-->
<
template
v-if=
'visible'
>
<pre-plead
:dialog-visible=
'visible'
:item=
'item'
@
handleClose=
'visible = false'
@
callback=
'fetchData'
/>
</
template
>
</div>
</template>
<
script
>
import
_
from
'lodash'
import
API
from
'@/server/api'
import
moment
from
'moment'
import
{
mapGetters
}
from
'vuex'
export
default
{
name
:
'CreditPre'
,
data
()
{
return
{
visible
:
false
,
item
:
null
,
checkList
:
[
'授信编号'
,
'客户姓名'
,
'手机号码'
,
'对应BD'
,
'申请时间'
,
'授信状态'
],
columns
:
[
{
order
:
1
,
width
:
250
,
label
:
'授信编号'
,
prop
:
'preCreditNo'
},
{
order
:
2
,
label
:
'客户姓名'
,
prop
:
'clientName'
},
{
order
:
3
,
label
:
'手机号码'
,
prop
:
'mobile'
},
{
order
:
4
,
label
:
'对应BD'
,
prop
:
'bd'
},
{
order
:
7
,
label
:
'申请时间'
,
prop
:
'applyTime'
},
{
order
:
8
,
label
:
'授信状态'
,
prop
:
'preCreditState'
}
],
list
:
[],
listLoading
:
true
,
pickerConfig
:
this
.
datePickerOptions
,
total
:
1
,
queryForm
:
{
current
:
1
,
size
:
10
,
mobile
:
''
,
clientName
:
''
,
preCreditNo
:
''
,
certNo
:
''
,
// 身份证号码
preStatus
:
''
,
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
.
order
)
},
...
mapGetters
([
'searchData'
])
},
mounted
()
{
this
.
fetchData
()
},
methods
:
{
// 申诉弹框
handlePlead
(
row
)
{
this
.
item
=
row
console
.
log
(
row
,
'当前行信息'
)
this
.
visible
=
true
},
// 搜索
onSubmit
()
{
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
()
},
// 预授信详情
handleDetail
(
row
)
{
const
{
preCreditNo
,
creditNo
,
clientNo
}
=
row
this
.
$router
.
push
({
path
:
'/approval/localPreDetail'
,
query
:
{
creditNo
:
creditNo
,
preCreditNo
:
preCreditNo
,
clientNo
}
})
},
handleCurrentChange
(
val
)
{
this
.
queryForm
.
current
=
val
this
.
fetchData
()
},
// 页码变更
handleSizeChange
(
val
)
{
this
.
queryForm
.
size
=
val
this
.
queryForm
.
current
=
1
this
.
fetchData
()
},
async
fetchData
()
{
try
{
this
.
listLoading
=
true
const
form
=
this
.
queryForm
const
params
=
Object
.
assign
({},
form
)
delete
params
.
time
const
res
=
await
API
.
LocalPreCreditList
({
...
params
})
console
.
log
(
res
,
'试试水'
)
const
{
records
,
total
}
=
res
.
result
this
.
list
=
records
this
.
total
=
total
}
catch
(
err
){
console
.
log
(
'初始化预授信列表报错'
,
err
);
}
this
.
listLoading
=
false
}
}
}
</
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
>
src/views/approval/localSecondList.vue
deleted
100644 → 0
View file @
d5688ade
<
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=
'clientName'
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=
'state'
label=
'复审授信结果'
>
<el-select
:popper-append-to-body=
'false'
v-model=
'queryForm.state'
clearable
placeholder=
'请选择授信类型'
>
<el-option
v-for=
'(item,index) in searchData.xshcreditStatusResponseList'
:key=
'index'
:label=
'item.creditStatusStr'
:value=
'item.creditStatus'
></el-option>
</el-select>
</el-form-item>
</
template
>
<el-form-item
v-if=
"false"
prop=
'certNo'
label=
'身份证号'
>
<el-input
v-model=
'queryForm.certNo'
clearable
placeholder=
'请输入'
/>
</el-form-item>
<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==="客户信息"'
>
{{
row
.
realName
}}
<br
/>
{{
row
.
mobile
}}
</span>
<span
v-else-if=
'item.label==="授信类型"'
>
<el-tag
v-if=
'row.creditTypeStr==="提额授信"'
effect=
'plain'
size=
'mini'
>
{{
row
.
creditTypeStr
}}
</el-tag>
<el-tag
v-else
size=
'mini'
>
{{
row
.
creditTypeStr
}}
</el-tag>
</span>
<span
v-else-if=
'item.label==="授信状态"'
>
<el-tag
v-if=
'row.creditStatus==="CREATED"'
size=
'mini'
>
{{
row
.
creditStatusStr
}}
</el-tag>
<el-tag
v-if=
'row.creditStatus==="CREDIT_ING"'
type=
'warning'
size=
'mini'
>
{{
row
.
creditStatusStr
}}
</el-tag>
<el-tag
v-if=
'row.creditStatus==="FINISHED"'
type=
'success'
size=
'mini'
>
{{
row
.
creditStatusStr
}}
</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
Reassignment
from
'./components/reassignment'
import
{
mapGetters
}
from
'vuex'
import
Vue
from
'vue'
export
default
{
name
:
'LocalFirstList'
,
data
()
{
return
{
checkList
:
[
'授信编号'
,
'客户姓名'
,
'手机号码'
,
'对应BD'
,
'申请时间'
,
'复审授信结果'
,
'授信额度'
],
columns
:
[
{
order
:
1
,
width
:
260
,
label
:
'授信编号'
,
prop
:
'creditNo'
},
{
order
:
2
,
label
:
'客户姓名'
,
prop
:
'clientName'
},
{
order
:
2
,
label
:
'手机号码'
,
prop
:
'mobile'
},
{
order
:
3
,
label
:
'对应BD'
,
prop
:
'bd'
},
{
order
:
4
,
label
:
'申请时间'
,
prop
:
'applyTime'
},
{
order
:
5
,
label
:
'复审授信结果'
,
prop
:
'creditState'
},
{
order
:
6
,
label
:
'授信额度'
,
prop
:
'creditLimit'
}
],
list
:
[],
listLoading
:
true
,
total
:
0
,
pickerConfig
:
this
.
datePickerOptions
,
queryForm
:
{
current
:
1
,
size
:
10
,
certNo
:
''
,
creditNo
:
''
,
clientName
:
''
,
mobile
:
''
,
state
:
''
,
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
.
order
)
},
...
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
,
userId
,
clientNo
}
=
row
this
.
$router
.
push
({
path
:
'/approval/localDetail'
,
query
:
{
step
:
"second"
,
creditNo
,
clientNo
,
userId
}
})
},
// 页码变更
handleSizeChange
(
val
)
{
this
.
queryForm
.
size
=
val
this
.
queryForm
.
current
=
1
this
.
fetchData
()
},
handleCurrentChange
(
val
)
{
this
.
queryForm
.
current
=
val
this
.
fetchData
()
},
// 初始化列表数据
async
fetchData
()
{
this
.
listLoading
=
true
const
form
=
this
.
queryForm
const
params
=
Object
.
assign
({},
form
)
delete
params
.
time
params
.
userId
=
this
.
user
.
userId
const
result
=
await
API
.
LocalSecondCreditList
({
...
params
})
const
{
records
,
total
}
=
result
.
result
this
.
list
=
records
this
.
total
=
total
this
.
listLoading
=
false
},
// 修改上下线状态
async
handleChangeOnLineStatus
(
e
)
{
const
userId
=
this
.
user
.
userId
const
userDutyState
=
e
?
'ONLINE'
:
'OFFLINE'
const
result
=
await
API
.
approveOnOff
({
userId
,
userDutyState
})
if
(
result
.
success
)
{
const
msg
=
userDutyState
===
'ONLINE'
?
'已上线'
:
'已下线'
Vue
.
prototype
.
$baseMessage
(
msg
,
'success'
)
}
},
// 审批
handleApproval
(
row
)
{
const
{
creditNo
}
=
row
let
routeUrl
=
this
.
$router
.
resolve
({
path
:
'/approvalDetail'
,
query
:
{
creditNo
,
approval
:
'approval'
}
})
window
.
open
(
routeUrl
.
href
,
'_blank'
)
},
// 转派
handleReassignment
(
row
)
{
this
.
visible
=
true
this
.
item
=
row
}
}
}
</
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
>
src/views/customer/clientDetail.vue
deleted
100644 → 0
View file @
d5688ade
<
template
>
<!-- v-if='detail!==null'-->
<div
v-if=
"creditNo"
class=
'page'
>
<!--操作日志-->
<template
v-if=
"clientNo"
>
<local-log
:clientNo=
"clientNo"
/>
</
template
>
<el-form
ref=
'form'
:show-message=
"false"
label-width=
"0px"
:model=
'form'
class=
'form-inline'
>
<
template
v-if=
"project"
>
<block-header
title=
"基本信息"
/>
<el-descriptions
class=
"table"
:column=
"3"
size=
"small"
border
>
<el-descriptions-item
label-class-name=
"labelCls"
label=
"借款人"
>
<el-form-item
prop=
"projectSituationResponse.clientName"
>
<el-input
v-model=
'form.projectSituationResponse.clientName'
disabled
clearable
placeholder=
'请输入'
/>
</el-form-item>
</el-descriptions-item>
<el-descriptions-item
label-class-name=
"labelCls"
label=
"申请金额"
>
<el-form-item
prop=
"projectSituationResponse.loanAmt"
>
<el-input
v-model=
'form.projectSituationResponse.loanAmt'
disabled
clearable
placeholder=
'请输入'
/>
</el-form-item>
</el-descriptions-item>
<el-descriptions-item
label-class-name=
"labelCls"
label=
"借款期限"
>
<el-form-item
prop=
"projectSituationResponse.loanLimit"
>
<el-input
v-model=
'form.projectSituationResponse.loanLimit'
disabled
clearable
placeholder=
'请输入'
/>
</el-form-item>
</el-descriptions-item>
<el-descriptions-item
label-class-name=
"labelCls"
label=
"借款利率"
>
<el-form-item
prop=
"projectSituationResponse.loanRate"
>
<el-input
v-model=
'form.projectSituationResponse.loanRate'
clearable
placeholder=
'请输入'
/>
</el-form-item>
</el-descriptions-item>
<el-descriptions-item
label-class-name=
"labelCls"
label=
"服务费率"
>
<el-form-item
prop=
"projectSituationResponse.fuRate"
>
<el-input
v-model=
'form.projectSituationResponse.fuRate'
clearable
placeholder=
'请输入'
/>
</el-form-item>
</el-descriptions-item>
<el-descriptions-item
label-class-name=
"labelCls"
label=
"还款方式"
>
<el-form-item
prop=
"projectSituationResponse.backedWay"
>
<el-input
v-model=
'form.projectSituationResponse.backedWay'
clearable
placeholder=
'请输入'
/>
</el-form-item>
</el-descriptions-item>
<el-descriptions-item
label-class-name=
"labelCls"
label=
"担保方式"
>
<el-form-item
prop=
"projectSituationResponse.warrantWay"
>
<el-input
v-model=
'form.projectSituationResponse.warrantWay'
clearable
placeholder=
'请输入'
/>
</el-form-item>
</el-descriptions-item>
<el-descriptions-item
label-class-name=
"labelCls"
label=
"客户来源"
>
<el-form-item
prop=
"projectSituationResponse.clientSource"
>
<el-input
v-model=
'form.projectSituationResponse.clientSource'
clearable
placeholder=
'请输入'
/>
</el-form-item>
</el-descriptions-item>
<el-descriptions-item
label-class-name=
"labelCls"
label=
"是否续贷"
>
<el-input
disabled
v-model=
'form.projectSituationResponse.continuous'
clearable
placeholder=
'请输入'
/>
</el-descriptions-item>
<el-descriptions-item
label-class-name=
"labelCls"
label=
"尽调人员"
>
<el-form-item
prop=
"projectSituationResponse.personnel"
>
<el-input
v-model=
'form.projectSituationResponse.personnel'
clearable
placeholder=
'请输入'
/>
</el-form-item>
</el-descriptions-item>
</el-descriptions>
</
template
>
<!--家庭情况-->
<family
:credit-no=
"creditNo"
:client-no=
"clientNo"
:data=
"familyData"
@
callback=
"handleCallback"
></family>
<!--资产情况-->
<assets
:credit-no=
"creditNo"
:client-no=
"clientNo"
:data=
"assetsData"
@
callback=
"handleCallback"
></assets>
<!--银行借贷-->
<borrow
:credit-no=
"creditNo"
:client-no=
"clientNo"
:data=
"borrowData"
@
callback=
"handleCallback"
></borrow>
<!--信用卡-->
<credit-card
:credit-no=
"creditNo"
:client-no=
"clientNo"
:data=
"creditCardData"
@
callback=
"handleCallback"
></credit-card>
<!--担保-->
<warrant
:credit-no=
"creditNo"
:client-no=
"clientNo"
:data=
"warrantData"
@
callback=
"handleCallback"
></warrant>
<!--法律诉讼-->
<lawsuit
:credit-no=
"creditNo"
:client-no=
"clientNo"
:data=
"lawsuitData"
@
callback=
"handleCallback"
></lawsuit>
<!--负债表-->
<block-header
title=
"资产负债表"
/>
<el-button
style=
"margin-bottom: 20px"
type=
"primary"
@
click=
"handleCreate"
>
详情
</el-button>
<
template
v-if=
"DebtVisible"
>
<debt
:credit-no=
"creditNo"
:visible=
"DebtVisible"
@
handleClose=
"DebtVisible=false"
:client-no=
"clientNo"
:data=
"debtData"
@
callback=
"handleCallback"
></debt>
</
template
>
<block-header
title=
"总体情况文字说明"
/>
<el-form-item
prop=
"explain"
style=
"margin-bottom: 20px"
>
<el-input
v-model=
'form.explain'
type=
"textarea"
clearable
placeholder=
'请输入'
/>
</el-form-item>
<
template
v-if=
"enterprise"
>
<block-header
title=
"企业基本情况"
/>
<el-descriptions
class=
"table"
:column=
"1"
size=
"small"
border
>
<el-descriptions-item
label-class-name=
"labelCls"
label=
"企业历史沿革"
>
<el-form-item
prop=
"enterpriseResponse.history"
>
<el-input
v-model=
'form.enterpriseResponse.history'
clearable
placeholder=
'企业历史沿革'
/>
</el-form-item>
</el-descriptions-item>
<el-descriptions-item
label-class-name=
"labelCls"
label=
"具体经营情况"
>
<el-form-item
prop=
"enterpriseResponse.business"
>
<el-input
v-model=
'form.enterpriseResponse.business'
clearable
placeholder=
'具体经营情况'
/>
</el-form-item>
</el-descriptions-item>
</el-descriptions>
</
template
>
<
template
v-if=
"riskConclusion"
>
<block-header
title=
"风险点以及最终审批结论"
/>
<el-descriptions
class=
"table"
:column=
"1"
size=
"small"
border
>
<el-descriptions-item
label-class-name=
"labelClsLong"
label=
"风险点以及贷后预防措施"
>
<el-form-item
prop=
"riskConclusionResponse.riskMeasures"
>
<el-input
v-model=
'form.riskConclusionResponse.riskMeasures'
clearable
placeholder=
'风险点以及贷后预防措施'
/>
</el-form-item>
</el-descriptions-item>
<el-descriptions-item
label-class-name=
"labelClsLong"
label=
"最终审批结果(时间利率还款方式)"
>
<el-form-item
prop=
"riskConclusionResponse.finalResult"
>
<el-input
v-model=
'form.riskConclusionResponse.finalResult'
clearable
placeholder=
'最终审批结果'
/>
</el-form-item>
</el-descriptions-item>
</el-descriptions>
</
template
>
<block-header
title=
"资料附件"
/>
<el-row
:gutter=
'20'
>
<el-col
v-for=
'(o, index) in temp'
:key=
'index'
:span=
'4'
>
<el-card
shadow=
"always"
:body-style=
"{ padding: '10px' }"
>
<div
@
click=
"handleShow(o)"
class=
'el-card-intro'
>
<span>
{{ o.title }}
</span>
</div>
</el-card>
</el-col>
</el-row>
<div
class=
"form-btn"
>
<el-button
type=
'primary'
@
click=
'onSave("form")'
>
保存信息
</el-button>
<el-button
type=
'default'
@
click=
"onSubmit"
>
提交授信人审
</el-button>
</div>
</el-form>
<!--上传-->
<
template
v-if=
"visible"
>
<data-upload
:credit-no=
"creditNo"
:visible=
"visible"
:item=
"item"
@
callback=
"init"
@
handleClose=
'visible = false'
></data-upload>
</
template
>
</div>
</template>
<
script
>
import
API
from
'@/server/api'
import
{
mapGetters
}
from
'vuex'
import
Family
from
"@/views/customer/components/Family"
;
import
Assets
from
"@/views/customer/components/Assets"
;
import
Borrow
from
"@/views/customer/components/Borrow"
;
import
CreditCard
from
"@/views/customer/components/CreditCard"
;
import
Lawsuit
from
"@/views/customer/components/Lawsuit"
;
import
Warrant
from
"@/views/customer/components/Warrant"
;
import
Debt
from
"@/views/customer/components/Debt"
;
import
DataUpload
from
"@/views/customer/components/DataUpload"
;
import
LocalLog
from
"@/components/local-log"
;
export
default
{
name
:
'ClientDetail'
,
components
:
{
Family
,
Assets
,
Borrow
,
CreditCard
,
Lawsuit
,
Warrant
,
DataUpload
,
Debt
,
LocalLog
},
data
()
{
return
{
DebtVisible
:
false
,
clientNo
:
''
,
creditNo
:
''
,
preCreditNo
:
''
,
total
:
1
,
list
:
[],
params
:
{
clientNo
:
''
,
current
:
1
,
size
:
10
},
detail
:
{
name
:
1
},
temp
:
[
{
title
:
"身份信息"
,
type
:
""
,
img
:
'https://fuss10.elemecdn.com/1/8e/aeffeb4de74e2fde4bd74fc7b4486jpeg.jpeg'
,
data
:
[
'https://fuss10.elemecdn.com/8/27/f01c15bb73e1ef3793e64e6b7bbccjpeg.jpeg'
,
'https://fuss10.elemecdn.com/1/8e/aeffeb4de74e2fde4bd74fc7b4486jpeg.jpeg'
]
},
{
title
:
"放款银行卡"
,
type
:
""
,
img
:
''
,
data
:
[]
},
{
title
:
"征信报告"
,
type
:
""
,
img
:
''
,
data
:
[]
},
{
title
:
"经营信息"
,
type
:
""
,
data
:
[]
},
{
title
:
"资产凭证"
,
type
:
""
,
img
:
''
,
data
:
[]
},
{
title
:
"银行流水(PDF)"
,
type
:
""
,
img
:
''
,
data
:
[]
},
{
title
:
"其他资料凭证"
,
type
:
""
,
img
:
''
,
data
:
[]
}
],
// 资料上传相关
item
:
null
,
visible
:
false
,
// 整体表单
form
:
{
projectSituationResponse
:
{},
enterpriseResponse
:
{},
riskConclusionResponse
:
{},
explain
:
''
// 总体情况文字说明
},
// 数据列表
familyData
:
[],
assetsData
:
[],
borrowData
:
[],
creditCardData
:
[],
warrantData
:
[],
lawsuitData
:
[],
enterprise
:
null
,
riskConclusion
:
null
,
debtData
:
{},
project
:
null
}
},
async
created
()
{
const
{
query
}
=
this
.
$route
if
(
query
&&
query
.
clientNo
)
{
if
(
query
.
creditNo
)
this
.
creditNo
=
query
.
creditNo
if
(
query
.
preCreditNo
)
this
.
preCreditNo
=
query
.
preCreditNo
this
.
clientNo
=
query
.
clientNo
;
this
.
params
.
clientNo
=
query
.
clientNo
;
await
this
.
init
()
}
},
computed
:
{
...
mapGetters
([
'searchData'
,
'user'
])
},
methods
:
{
// 初始化详情信息
async
init
(
type
)
{
try
{
const
creditNo
=
this
.
creditNo
const
clientNo
=
this
.
clientNo
const
preCreditNo
=
this
.
preCreditNo
const
result
=
await
API
.
LocalClientDetail
({
creditNo
,
clientNo
,
preCreditNo
})
this
.
detail
=
result
.
result
;
const
{
appendix
,
debtUrlList
,
riskConclusionResponse
,
familyDackgroundResponse
,
enterpriseResponse
,
propertyCssResponse
,
debtCssResponse
,
creditCardResponse
,
warrantResponse
,
badInformationResponse
,
projectSituationResponse
}
=
result
.
result
;
// 家庭情况
this
.
familyData
=
familyDackgroundResponse
;
// 资产情况
this
.
assetsData
=
propertyCssResponse
;
this
.
project
=
projectSituationResponse
;
this
.
borrowData
=
debtCssResponse
;
// 银行借贷
this
.
creditCardData
=
creditCardResponse
;
// 信用卡
this
.
warrantData
=
warrantResponse
;
// 担保
this
.
lawsuitData
=
badInformationResponse
;
// 诉讼
this
.
enterprise
=
enterpriseResponse
;
// 诉讼
this
.
riskConclusion
=
riskConclusionResponse
;
// 诉讼
this
.
debtData
=
debtUrlList
const
temp
=
[]
const
that
=
this
;
for
(
let
[
key
,
value
]
of
Object
.
entries
(
appendix
))
{
const
o
=
{};
o
.
type
=
key
;
o
.
data
=
value
;
switch
(
key
)
{
case
'account'
:
o
.
title
=
'银行流水'
break
;
case
'businessImgs'
:
o
.
title
=
'经营信息'
break
;
case
'cardImgs'
:
o
.
title
=
'放款银行卡'
break
;
case
'certImgs'
:
o
.
title
=
'身份信息'
break
;
case
'investigations'
:
o
.
title
=
'征信报告'
break
;
case
'otherImgs'
:
o
.
title
=
'其他资料凭证'
break
;
case
'propertyImgs'
:
o
.
title
=
'资产凭证'
break
;
}
if
(
type
&&
type
===
key
)
{
that
.
item
=
o
}
temp
.
push
(
o
)
}
this
.
temp
=
temp
;
this
.
form
=
result
.
result
;
}
catch
(
err
)
{
this
.
$message
({
message
:
'初始化授信详情失败'
,
type
:
'error'
})
}
},
// 家庭情况的回调喊上
async
handleCallback
()
{
await
this
.
init
();
},
// 资料附件点击文件夹
handleShow
(
o
)
{
this
.
item
=
o
;
this
.
visible
=
true
;
},
// 保存信息
onSave
(
formName
)
{
this
.
$refs
[
formName
].
validate
(
async
(
valid
)
=>
{
if
(
valid
)
{
try
{
const
form
=
this
.
form
;
const
{
projectSituationResponse
,
enterpriseResponse
,
riskConclusionResponse
,
explain
}
=
form
;
const
data
=
{
creditNo
:
this
.
creditNo
,
clientNo
:
this
.
clientNo
,
projectSituationResponse
,
enterpriseResponse
,
riskConclusionResponse
,
explain
,
}
const
res
=
await
API
.
LocalClientProjectSave
({...
data
})
if
(
res
.
success
)
{
this
.
$message
({
type
:
'success'
,
message
:
'保存成功'
})
await
this
.
init
()
}
}
catch
(
err
)
{
}
}
else
{
this
.
$message
.
error
(
'请完善表单信息'
);
}
})
},
// 资产负债表
handleCreate
()
{
this
.
DebtVisible
=
true
;
},
// 提交信息
async
onSubmit
()
{
try
{
const
{
actionNo
,
stepsNo
}
=
this
.
project
;
const
creditNo
=
this
.
creditNo
;
const
params
=
{
actionNo
,
stepsNo
,
creditNo
}
const
res
=
await
API
.
LocalClientSubmit
({...
params
})
if
(
res
.
success
)
{
this
.
$message
({
type
:
'success'
,
message
:
'提交成功'
})
const
that
=
this
;
setTimeout
(
function
()
{
that
.
$router
.
back
()
},
2000
)
}
else
{
// await this.init()
}
}
catch
(
err
)
{
// console.log(err,'沃日')
this
.
$message
.
error
(
err
.
message
)
}
}
}
}
</
script
>
<
style
lang=
'scss'
scoped
>
.table
{
margin-bottom
:
20px
;
}
.form-btn
{
position
:
fixed
;
bottom
:
80px
;
right
:
0
;
width
:
100%
;
height
:
40px
;
display
:
flex
;
align-items
:
center
;
justify-content
:
center
;
z-index
:
200
;
}
.el-form-item
{
margin-bottom
:
0
;
}
</
style
>
src/views/customer/clientList.vue
deleted
100644 → 0
View file @
d5688ade
<
template
>
<div
class=
'page-list'
>
<!--搜索-->
<block-header
title=
'搜索'
/>
<div
class=
'search'
>
<el-form
ref=
'form'
label-suffix=
':'
:inline=
'true'
:model=
'queryForm'
class=
'form-inline'
>
<el-form-item
prop=
'mobile'
label=
'手机号码'
>
<el-input
v-model=
'queryForm.mobile'
clearable
placeholder=
'请输入'
/>
</el-form-item>
<el-form-item
prop=
'clientName'
label=
'客户姓名'
>
<el-input
v-model=
'queryForm.clientName'
clearable
placeholder=
'请输入'
/>
</el-form-item>
<el-form-item
prop=
'clientNo'
label=
'客户编号'
>
<el-input
v-model=
'queryForm.clientNo'
clearable
placeholder=
'请输入'
/>
</el-form-item>
<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=
'onSubmit'
>
搜 索
</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
: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>
{{
row
[
item
.
prop
]
}}
</span>
</
template
>
</el-table-column>
<el-table-column
fixed=
'right'
align=
'center'
label=
'操作'
v-if=
"false"
>
<
template
#
default=
'{ row }'
>
<el-button
type=
'text'
@
click=
'handleDetail(row)'
>
详情
</el-button>
</
template
>
</el-table-column>
</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
:
'LocalClientList'
,
data
()
{
return
{
checkList
:
[
'客户编号'
,
'客户姓名'
,
'手机号码'
,
'对应BD'
,
'申请时间'
,
'用户状态'
],
columns
:
[
{
order
:
1
,
label
:
'客户编号'
,
width
:
120
,
prop
:
'clientNo'
},
{
order
:
2
,
label
:
'客户姓名'
,
prop
:
'clientName'
},
{
order
:
3
,
label
:
'手机号码'
,
prop
:
'mobile'
},
{
order
:
4
,
label
:
'对应BD'
,
prop
:
'bd'
},
{
order
:
5
,
label
:
'申请时间'
,
prop
:
'applyTime'
},
{
order
:
6
,
label
:
'用户状态'
,
prop
:
'userState'
}
],
list
:
[],
listLoading
:
true
,
total
:
1
,
pickerConfig
:
this
.
datePickerOptions
,
queryForm
:
{
current
:
1
,
size
:
10
,
time
:
''
,
startTime
:
''
,
endTime
:
''
,
certNo
:
''
,
clientName
:
''
,
clientNo
:
''
,
mobile
:
''
}
}
},
computed
:
{
finallyColumns
()
{
let
finallyArray
=
[]
this
.
checkList
.
forEach
((
checkItem
)
=>
{
finallyArray
.
push
(
this
.
columns
.
filter
((
item
)
=>
item
.
label
===
checkItem
)[
0
]
)
})
return
_
.
sortBy
(
finallyArray
,
(
item
)
=>
item
.
order
)
},
...
mapGetters
([
'searchData'
,
'user'
])
},
mounted
()
{
this
.
fetchData
()
},
methods
:
{
onSubmit
()
{
this
.
queryForm
.
current
=
1
this
.
queryForm
.
startTime
=
''
this
.
queryForm
.
endTime
=
''
const
{
time
}
=
this
.
queryForm
this
.
queryForm
.
current
=
1
if
(
time
)
{
this
.
queryForm
.
startTime
=
time
[
0
]
this
.
queryForm
.
endTime
=
time
[
1
]
}
this
.
fetchData
()
},
// 页码变更
handleCurrentChange
(
val
)
{
this
.
queryForm
.
current
=
val
this
.
fetchData
()
},
// 页码变更
handleSizeChange
(
val
)
{
this
.
queryForm
.
current
=
1
this
.
queryForm
.
size
=
val
this
.
fetchData
()
},
async
fetchData
()
{
this
.
listLoading
=
true
try
{
const
form
=
this
.
queryForm
const
params
=
Object
.
assign
({},
form
)
delete
params
.
time
const
result
=
await
API
.
LocalClientList
({
...
params
})
const
{
records
,
total
}
=
result
.
result
this
.
list
=
records
this
.
total
=
total
}
catch
(
err
){
console
.
log
(
'初始化客户列表失败'
,
err
)
}
this
.
listLoading
=
false
},
// 详情
handleDetail
(
row
){
const
{
creditNo
,
clientNo
,
preCreditNo
}
=
row
const
route
=
{
path
:
'/client/detail'
,
query
:
{
creditNo
,
clientNo
,
preCreditNo
}
}
this
.
$router
.
push
(
route
)
}
}
}
</
script
>
<
style
lang=
'scss'
scoped
>
.page-list
{
box-sizing
:
border-box
;
padding
:
20px
;
}
</
style
>
src/views/customer/clientMine.vue
deleted
100644 → 0
View file @
d5688ade
<
template
>
<div
class=
'page-list'
>
<!--搜索-->
<block-header
title=
'搜索'
/>
<div
class=
'search'
>
<el-form
ref=
'form'
label-suffix=
':'
:inline=
'true'
:model=
'queryForm'
class=
'form-inline'
>
<el-form-item
prop=
'mobile'
label=
'手机号码'
>
<el-input
v-model=
'queryForm.mobile'
clearable
placeholder=
'请输入'
/>
</el-form-item>
<el-form-item
prop=
'clientName'
label=
'客户姓名'
>
<el-input
v-model=
'queryForm.clientName'
clearable
placeholder=
'请输入'
/>
</el-form-item>
<el-form-item
prop=
'clientNo'
label=
'客户编号'
>
<el-input
v-model=
'queryForm.clientNo'
clearable
placeholder=
'请输入'
/>
</el-form-item>
<el-form-item
prop=
'certNo'
label=
'身份证号'
>
<el-input
v-model=
'queryForm.certNo'
clearable
placeholder=
'请输入'
/>
</el-form-item>
<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=
'onSubmit'
>
搜 索
</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
: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 }'>
<div
v-if=
'item.label==="商户状态"'
>
<el-tag
v-if=
'row.isShelves!==0'
type=
'danger'
>
{{
row
.
isShelvesStr
}}
</el-tag>
<el-tag
v-else
type=
'success'
>
{{
row
.
isShelvesStr
}}
</el-tag>
</div>
<span
v-else
>
{{
row
[
item
.
prop
]
}}
</span>
</
template
>
</el-table-column>
<el-table-column
fixed=
'right'
align=
'center'
label=
'操作'
>
<
template
#
default=
'{ row }'
>
<el-button
type=
'text'
@
click=
'handleDetail(row)'
>
详情
</el-button>
</
template
>
</el-table-column>
</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
:
'MerchantList'
,
data
()
{
return
{
checkList
:
[
'客户编号'
,
'客户姓名'
,
'手机号码'
,
'对应BD'
,
'申请时间'
,
'用户状态'
],
columns
:
[
{
order
:
1
,
width
:
120
,
label
:
'客户编号'
,
prop
:
'clientNo'
},
{
order
:
2
,
label
:
'客户姓名'
,
prop
:
'clientName'
},
{
order
:
3
,
label
:
'手机号码'
,
prop
:
'mobile'
},
{
order
:
4
,
label
:
'对应BD'
,
prop
:
'bd'
},
{
order
:
5
,
label
:
'申请时间'
,
prop
:
'applyTime'
},
{
order
:
6
,
label
:
'用户状态'
,
prop
:
'userState'
}
],
list
:
[],
listLoading
:
true
,
total
:
1
,
pickerConfig
:
this
.
datePickerOptions
,
queryForm
:
{
current
:
1
,
size
:
10
,
time
:
''
,
startTime
:
''
,
endTime
:
''
,
certNo
:
''
,
clientName
:
''
,
clientNo
:
''
,
mobile
:
''
}
}
},
computed
:
{
finallyColumns
()
{
let
finallyArray
=
[]
this
.
checkList
.
forEach
((
checkItem
)
=>
{
finallyArray
.
push
(
this
.
columns
.
filter
((
item
)
=>
item
.
label
===
checkItem
)[
0
]
)
})
return
_
.
sortBy
(
finallyArray
,
(
item
)
=>
item
.
order
)
},
...
mapGetters
([
'searchData'
,
'user'
])
},
mounted
()
{
this
.
fetchData
()
},
methods
:
{
onSubmit
()
{
this
.
queryForm
.
current
=
1
this
.
queryForm
.
startTime
=
''
this
.
queryForm
.
endTime
=
''
const
{
time
}
=
this
.
queryForm
this
.
queryForm
.
current
=
1
if
(
time
)
{
this
.
queryForm
.
startTime
=
time
[
0
]
this
.
queryForm
.
endTime
=
time
[
1
]
}
this
.
fetchData
()
},
// 页码变更
handleCurrentChange
(
val
)
{
this
.
queryForm
.
current
=
val
this
.
fetchData
()
},
// 页码变更
handleSizeChange
(
val
)
{
this
.
queryForm
.
current
=
1
this
.
queryForm
.
size
=
val
this
.
fetchData
()
},
async
fetchData
()
{
this
.
listLoading
=
true
try
{
const
form
=
this
.
queryForm
const
params
=
Object
.
assign
({},
form
)
delete
params
.
time
const
result
=
await
API
.
LocalClientMine
({
...
params
})
const
{
records
,
total
}
=
result
.
result
this
.
list
=
records
this
.
total
=
total
}
catch
(
err
){
console
.
log
(
'初始化我的客户列表失败'
,
err
)
}
this
.
listLoading
=
false
},
// 详情
handleDetail
(
row
){
const
{
creditNo
,
clientNo
,
preCreditNo
}
=
row
const
route
=
{
path
:
'/client/detail'
,
query
:
{
creditNo
,
clientNo
,
preCreditNo
}
}
this
.
$router
.
push
(
route
)
}
}
}
</
script
>
<
style
lang=
'scss'
scoped
>
.page-list
{
box-sizing
:
border-box
;
padding
:
20px
;
}
</
style
>
src/views/loan/localAudit.vue
deleted
100644 → 0
View file @
d5688ade
<
template
>
<div
class=
'page-fence'
>
<!--搜索-->
<block-header
title=
'搜索'
/>
<div
class=
'search'
>
<el-form
ref=
'form'
label-suffix=
':'
:inline=
'true'
:model=
'queryForm'
class=
'form-inline'
>
<el-form-item
prop=
'orderNo'
label=
'订单编号'
>
<el-input
v-model=
'queryForm.orderNo'
clearable
placeholder=
'请输入订单编号'
/>
</el-form-item>
<el-form-item
prop=
'clientName'
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=
'state'
label=
'审批结果'
>
<el-select
v-model=
'queryForm.state'
:popper-append-to-body=
'false'
style=
'width: 100%;'
clearable
>
<el-option
v-for=
'(item,index) in searchData.xshApprovalResultResponseList'
:key=
'index'
:value=
'item.approvalResult'
:label=
'item.approvalResultStr'
>
</el-option>
</el-select>
</el-form-item>
</
template
>
<el-form-item
v-if=
"false"
prop=
'certNo'
label=
'身份证号'
>
<el-input
v-model=
'queryForm.certNo'
clearable
placeholder=
'请输入'
/>
</el-form-item>
<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
: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 }'
>
<div
v-if=
'item.label==="客户信息"'
>
{{
row
.
realName
}}
<br/>
{{
row
.
mobile
}}
</div>
<div
v-else-if=
'item.label==="借款金额"'
>
{{
money
(
row
[
item
.
prop
])
}}
</div>
<!--
<div
v-else-if=
'item.label==="借款状态"'
>
-->
<!--
<el-tag
v-if=
'row.loanStatus==="CANCELED"'
type=
'info'
>
{{
row
.
loanStatusStr
}}
</el-tag>
-->
<!--
<el-tag
v-else-if=
'row.loanStatus==="SETTLED"'
>
{{
row
.
loanStatusStr
}}
</el-tag>
-->
<!--
<el-tag
v-else-if=
'row.loanStatus==="SUBMITED"'
type=
'warning'
>
{{
row
.
loanStatusStr
}}
</el-tag>
-->
<!--
<el-tag
v-else
type=
'success'
>
{{
row
.
loanStatusStr
}}
</el-tag>
-->
<!--
</div>
-->
<span
v-else
>
{{
row
[
item
.
prop
]
}}
</span>
</
template
>
</el-table-column>
<el-table-column
fixed=
'right'
align=
'center'
label=
'操作'
>
<
template
#
default=
'{ row }'
>
<template
v-if=
'row.loanStatus==="SUBMITED" && row.stepsNo==="002"'
>
<el-button
size=
'mini'
type=
'text'
@
click=
'handleAudit(row)'
>
稽核审批
</el-button>
</
template
>
<el-button
size=
'mini'
type=
'text'
@
click=
'handleDetail(row)'
>
详情
</el-button>
</template>
</el-table-column>
</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'
/>
<!--稽核弹框-->
<
template
v-if=
'visible'
>
<loan-audit
:dialog-visible=
'visible'
:item=
'item'
@
handleClose=
'visible = false'
@
callback=
'fetchData'
/>
</
template
>
</div>
</template>
<
script
>
import
_
from
'lodash'
import
{
doDelete
,
getList
}
from
'@/api/table'
import
API
from
'@/server/api'
import
{
mapGetters
}
from
'vuex'
export
default
{
name
:
'Audit'
,
data
()
{
return
{
visible
:
false
,
item
:
null
,
checkList
:
[
'订单编号'
,
'客户姓名'
,
'手机号码'
,
'借款金额'
,
'BD姓名'
,
'借款时间'
,
'借款状态'
,
'资金渠道'
,
'审批结果'
],
columns
:
[
{
order
:
1
,
label
:
'订单编号'
,
prop
:
'orderNo'
},
{
order
:
3
,
label
:
'客户姓名'
,
prop
:
'clientName'
},
{
order
:
3
,
width
:
120
,
label
:
'手机号码'
,
prop
:
'mobile'
},
{
order
:
5
,
label
:
'借款金额'
,
prop
:
'loanAmt'
},
{
order
:
7
,
label
:
'BD姓名'
,
prop
:
'bd'
},
{
order
:
9
,
label
:
'借款时间'
,
width
:
110
,
prop
:
'applyTime'
},
{
order
:
10
,
label
:
'借款状态'
,
prop
:
'loanState'
},
{
order
:
11
,
label
:
'资金渠道'
,
prop
:
'capitalCode'
},
{
order
:
12
,
label
:
'审批结果'
,
prop
:
'auditState'
}
],
list
:
[],
listLoading
:
true
,
pickerConfig
:
this
.
datePickerOptions
,
total
:
1
,
queryForm
:
{
current
:
1
,
size
:
10
,
certNo
:
''
,
mobile
:
''
,
orderNo
:
''
,
clientName
:
''
,
state
:
''
,
clientNo
:
''
,
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
.
order
)
//return finallyArray
},
...
mapGetters
([
'searchData'
,
'user'
])
},
mounted
()
{
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
()
},
handleDetail
(
row
)
{
const
{
creditNo
,
clientNo
,
orderNo
}
=
row
this
.
$router
.
push
({
path
:
'/loan/localLoanDetail'
,
query
:
{
orderNo
,
creditNo
,
clientNo
}
})
},
// 页码变更
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
result
=
await
API
.
LocalLoanAuditList
({...
params
})
const
{
records
,
total
}
=
result
.
result
this
.
list
=
records
this
.
total
=
total
}
catch
(
err
)
{
console
.
log
(
err
,
'初始化稽核审批列表失败'
)
}
this
.
listLoading
=
false
},
// 稽核审批
handleAudit
(
row
)
{
const
{
orderNo
}
=
row
this
.
$router
.
push
({
path
:
'/loan/detail'
,
query
:
{
orderNo
,
type
:
"audit"
}
})
}
}
}
</
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
>
src/views/loan/localDetail.vue
deleted
100644 → 0
View file @
d5688ade
<
template
>
<!-- v-if='detail!==null'-->
<div
v-if=
"creditNo"
class=
'page'
>
<!--操作日志-->
<template
v-if=
"clientNo"
>
<local-log
:clientNo=
"clientNo"
/>
</
template
>
<el-form
ref=
'form'
:rules=
"rules"
label-width=
"0px"
label-position=
"left"
:model=
'form'
class=
'form-inline'
>
<
template
v-if=
"project"
>
<block-header
title=
"项目情况"
/>
<el-descriptions
style=
'margin-bottom: 20px;'
border
size=
'small'
:column=
'3'
>
<el-descriptions-item
label-class-name=
'labelCls'
label=
'客户姓名'
>
{{
project
.
clientName
}}
</el-descriptions-item>
<el-descriptions-item
label-class-name=
'labelCls'
label=
'手机号码'
>
{{
project
.
mobile
}}
</el-descriptions-item>
<el-descriptions-item
label-class-name=
'labelCls'
label=
'身份证号'
>
{{
project
.
certNo
}}
</el-descriptions-item>
<el-descriptions-item
label-class-name=
'labelCls'
label=
'户籍地址'
>
{{
project
.
address
}}
</el-descriptions-item>
<el-descriptions-item
label-class-name=
'labelCls'
label=
'年龄'
>
{{
project
.
age
}}
</el-descriptions-item>
<el-descriptions-item
label-class-name=
'labelCls'
label=
'申请时间'
>
{{
project
.
loanTime
}}
</el-descriptions-item>
<el-descriptions-item
label-class-name=
'labelCls'
label=
'授信类型'
>
{{
project
.
type
}}
</el-descriptions-item>
<el-descriptions-item
label-class-name=
'labelCls'
label=
'授信状态'
>
<span>
{{
project
.
state
}}
</span>
</el-descriptions-item>
<el-descriptions-item
label-class-name=
'labelCls'
label=
'学历'
>
{{
project
.
educationCode
}}
</el-descriptions-item>
<el-descriptions-item
label-class-name=
'labelCls'
label=
'婚姻状况'
>
{{
project
.
marriage
}}
</el-descriptions-item>
<el-descriptions-item
label-class-name=
'labelCls'
label=
'现居地址'
>
{{
project
.
liveDetailAddress
}}
</el-descriptions-item>
<el-descriptions-item
label-class-name=
'labelCls'
label=
'紧急联系人1'
>
<span>
{{
project
.
firstName
}}
</span>
<el-button
@
click=
'handleContact'
size=
'mini'
style=
'margin-left: 10px'
type=
'text'
>
查看更多
</el-button>
</el-descriptions-item>
<el-descriptions-item
label-class-name=
'labelCls'
label=
'紧急联系人关系'
>
{{
project
.
firstRelation
}}
</el-descriptions-item>
<el-descriptions-item
label-class-name=
'labelCls'
label=
'紧急联系人电话'
>
{{
project
.
firstPhone
}}
</el-descriptions-item>
<el-descriptions-item
label-class-name=
'labelCls'
label=
'工作行业'
>
{{
project
.
workIndustry
}}
</el-descriptions-item>
<el-descriptions-item
label-class-name=
'labelCls'
label=
'公司全称'
>
{{
project
.
companyName
}}
</el-descriptions-item>
<el-descriptions-item
label-class-name=
'labelCls'
label=
'工作地址'
>
{{
project
.
companyAddressDetail
}}
</el-descriptions-item>
<el-descriptions-item
label-class-name=
'labelCls'
label=
'月收入'
>
{{
project
.
selfMonthIncome
}}
</el-descriptions-item>
<el-descriptions-item
label-class-name=
'labelCls'
label=
'申请金额'
>
{{
project
.
loanAmt
}}
</el-descriptions-item>
<el-descriptions-item
label-class-name=
'labelCls'
label=
'申请期数'
>
{{
project
.
loanLimit
}}
</el-descriptions-item>
<el-descriptions-item
label-class-name=
'labelCls'
label=
'贷款用途'
>
{{
project
.
loanUse
}}
</el-descriptions-item>
</el-descriptions>
</
template
>
<!--家庭情况-->
<family
:credit-no=
"creditNo"
:client-no=
"clientNo"
:view=
"true"
:data=
"familyData"
@
callback=
"handleCallback"
></family>
<!--资产情况-->
<assets
:credit-no=
"creditNo"
:client-no=
"clientNo"
:view=
"true"
:data=
"assetsData"
@
callback=
"handleCallback"
></assets>
<!--银行借贷-->
<borrow
:credit-no=
"creditNo"
:client-no=
"clientNo"
:view=
"true"
:data=
"borrowData"
@
callback=
"handleCallback"
></borrow>
<!--信用卡-->
<credit-card
:credit-no=
"creditNo"
:client-no=
"clientNo"
:view=
"true"
:data=
"creditCardData"
@
callback=
"handleCallback"
></credit-card>
<!--担保-->
<warrant
:credit-no=
"creditNo"
:client-no=
"clientNo"
:view=
"true"
:data=
"warrantData"
@
callback=
"handleCallback"
></warrant>
<!--法律诉讼-->
<lawsuit
:credit-no=
"creditNo"
:client-no=
"clientNo"
:view=
"true"
:data=
"lawsuitData"
@
callback=
"handleCallback"
></lawsuit>
<!--负债表-->
<block-header
title=
"资产负债表"
/>
<el-form
ref=
'form'
label-suffix=
':'
label-width=
"160px"
>
<el-row
:gutter=
"20"
>
<el-col
:span=
"12"
>
<el-form-item
prop=
'yvFu'
label=
'预付账款'
>
<span>
{{ debtData.yvFu }}
</span>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
prop=
'yingFu'
label=
'应付账款'
>
<span>
{{ debtData.yingFu }}
</span>
</el-form-item>
</el-col>
</el-row>
<el-row
:gutter=
"20"
>
<el-col
:span=
"12"
>
<el-form-item
prop=
'yingShou'
label=
'应收账款'
>
<span>
{{ debtData.yingShou }}
</span>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
prop=
'yvShou'
label=
'预收账款'
>
<span>
{{ debtData.yvShou }}
</span>
</el-form-item>
</el-col>
</el-row>
<el-row
:gutter=
"20"
>
<el-col
:span=
"12"
>
<el-form-item
prop=
'amountCount'
label=
'现金及银行存款合计'
>
<span>
{{ debtData.amountCount }}
</span>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
prop=
'shortLoan'
label=
'短期贷款'
>
<span>
{{ debtData.shortLoan }}
</span>
</el-form-item>
</el-col>
</el-row>
<el-row
:gutter=
"20"
>
<el-col
:span=
"12"
>
<el-form-item
prop=
'cash'
label=
'现金'
>
<span>
{{ debtData.cash }}
</span>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
prop=
'xinAmount'
label=
'信用卡使用总额'
>
<span>
{{ debtData.xinAmount }}
</span>
</el-form-item>
</el-col>
</el-row>
<el-row
:gutter=
"20"
>
<el-col
:span=
"12"
>
<el-form-item
prop=
'yinAmount'
label=
'银行存款'
>
<span>
{{ debtData.yinAmount }}
</span>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
prop=
'shangDi'
label=
'商铺抵押'
>
<span>
{{ debtData.shangDi }}
</span>
</el-form-item>
</el-col>
</el-row>
<el-row
:gutter=
"20"
>
<el-col
:span=
"12"
>
<el-form-item
prop=
'cunHuo'
label=
'存货'
>
<span>
{{ debtData.cunHuo }}
</span>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
prop=
'fangDi'
label=
'住房抵押'
>
<span>
{{ debtData.fangDi }}
</span>
</el-form-item>
</el-col>
</el-row>
<el-row
:gutter=
"20"
>
<el-col
:span=
"12"
>
<el-form-item
prop=
'liuCount'
label=
'流动资产合计'
>
<span>
{{ debtData.liuCount }}
</span>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
prop=
'cheDi'
label=
'汽车抵押'
>
<span>
{{ debtData.cheDi }}
</span>
</el-form-item>
</el-col>
</el-row>
<el-row
:gutter=
"20"
>
<el-col
:span=
"12"
>
<el-form-item
prop=
'guCount'
label=
'固定资产合计'
>
<span>
{{ debtData.guCount }}
</span>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
prop=
'shortCount'
label=
'短期负债合计'
>
<span>
{{ debtData.shortCount }}
</span>
</el-form-item>
</el-col>
</el-row>
<el-row
:gutter=
"20"
>
<el-col
:span=
"12"
>
<el-form-item
prop=
'shangPu'
label=
'商铺'
>
<span>
{{ debtData.shangPu }}
</span>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
prop=
'longLoan'
label=
'长期贷款'
>
<span>
{{ debtData.longLoan }}
</span>
</el-form-item>
</el-col>
</el-row>
<el-row
:gutter=
"20"
>
<el-col
:span=
"12"
>
<el-form-item
prop=
'zhuFang'
label=
'住房'
>
<span>
{{ debtData.zhuFang }}
</span>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
prop=
'longCount'
label=
'长期负债合计'
>
<span>
{{ debtData.longCount }}
</span>
</el-form-item>
</el-col>
</el-row>
<el-row
:gutter=
"20"
>
<el-col
:span=
"12"
>
<el-form-item
prop=
'qiChe'
label=
'汽车'
>
<span>
{{ debtData.qiChe }}
</span>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
prop=
'otherLoan'
label=
'其他负债'
>
<span>
{{ debtData.otherLoan }}
</span>
</el-form-item>
</el-col>
</el-row>
<el-row
:gutter=
"20"
>
<el-col
:span=
"12"
>
<el-form-item
prop=
'guOther'
label=
'其他'
>
<span>
{{ debtData.guOther }}
</span>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
</el-col>
</el-row>
<el-row
:gutter=
"20"
>
<el-col
:span=
"12"
>
<el-form-item
prop=
'qiCount'
label=
'其他经营资产合计'
>
<span>
{{ debtData.qiCount }}
</span>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
</el-col>
</el-row>
<el-row
:gutter=
"20"
>
<el-col
:span=
"12"
>
<el-form-item
prop=
'jiQi'
label=
'机器设备'
>
<span>
{{ debtData.jiQi }}
</span>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
</el-col>
</el-row>
<el-row
:gutter=
"20"
>
<el-col
:span=
"12"
>
<el-form-item
prop=
'ziCount'
label=
'总资产合计'
>
<span>
{{ debtData.ziCount }}
</span>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
prop=
'zaiCount'
label=
'总负债合计'
>
<span>
{{ debtData.zaiCount }}
</span>
</el-form-item>
</el-col>
</el-row>
<el-row
:gutter=
"20"
>
<el-col
:span=
"12"
>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
prop=
'quanCount'
label=
'所有者权益合计'
>
<span>
{{ debtData.quanCount }}
</span>
</el-form-item>
</el-col>
</el-row>
<el-row
:gutter=
"20"
>
<el-col
:span=
"12"
>
<el-form-item
prop=
'liuRate'
label=
'流动比率'
>
<span>
{{ debtData.liuRate }}
</span>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
prop=
'ziRate'
label=
'资产负债比率'
>
<span>
{{ debtData.ziRate }}
</span>
</el-form-item>
</el-col>
</el-row>
<el-row
:gutter=
"20"
>
<el-col
:span=
"24"
>
<el-form-item
prop=
'memo'
label=
'资产负债表备注'
>
<span>
{{ debtData.memo }}
</span>
</el-form-item>
</el-col>
</el-row>
</el-form>
<block-header
title=
"总体情况文字说明"
/>
<el-row
:gutter=
"20"
>
<el-col
:span=
"24"
>
<el-form-item
label-width=
"0px"
prop=
'explain'
>
<span>
{{ form.explain }}
</span>
</el-form-item>
</el-col>
</el-row>
<
template
v-if=
"enterprise"
>
<block-header
title=
"企业基本情况"
/>
<el-descriptions
class=
"table"
:column=
"1"
size=
"small"
border
>
<el-descriptions-item
label-class-name=
"labelCls"
label=
"企业历史沿革"
>
<span>
{{
form
.
enterpriseResponse
.
history
}}
</span>
</el-descriptions-item>
<el-descriptions-item
label-class-name=
"labelCls"
label=
"具体经营情况"
>
<span>
{{
form
.
enterpriseResponse
.
business
}}
</span>
</el-descriptions-item>
</el-descriptions>
</
template
>
<
template
v-if=
"riskConclusion"
>
<block-header
title=
"风险点以及最终审批结论"
/>
<el-descriptions
class=
"table"
:column=
"1"
size=
"small"
border
>
<el-descriptions-item
label-class-name=
"labelClsLong"
label=
"风险点以及贷后预防措施"
>
<span>
{{
form
.
riskConclusionResponse
.
riskMeasures
}}
</span>
</el-descriptions-item>
<el-descriptions-item
label-class-name=
"labelClsLong"
label=
"最终审批结果(时间利率还款方式)"
>
<span>
{{
form
.
riskConclusionResponse
.
finalResult
}}
</span>
</el-descriptions-item>
</el-descriptions>
</
template
>
<block-header
title=
"资料附件"
/>
<el-row
:gutter=
'20'
>
<el-col
v-for=
'(o, index) in temp'
:key=
'index'
:span=
'4'
>
<el-card
:body-style=
"{ padding: '10px' }"
>
<div
@
click=
"handleShow(o)"
class=
'el-card-intro'
>
<span>
{{ o.title }}
</span>
</div>
</el-card>
</el-col>
</el-row>
</el-form>
<!--上传-->
<
template
v-if=
"item!==null"
>
<data-upload
:view=
"true"
:credit-no=
"creditNo"
:visible=
"visible"
:item=
"item"
@
handleClose=
'visible = false'
></data-upload>
</
template
>
<!--第三方报告-->
<
template
v-if=
"creditNo"
>
<report
:credit-no=
"creditNo"
></report>
</
template
>
<block-header
title=
'借款信息'
/>
<
template
v-if=
"detail.loanModel"
>
<el-descriptions
style=
'margin-bottom: 20px;'
border
size=
'small'
:column=
'3'
>
<el-descriptions-item
label-class-name=
'labelCls'
label=
'借款编号'
>
{{
detail
.
loanModel
.
loanNo
}}
</el-descriptions-item>
<el-descriptions-item
label-class-name=
'labelCls'
label=
'借款日期'
>
{{
detail
.
loanModel
.
loanDate
}}
</el-descriptions-item>
<el-descriptions-item
label-class-name=
'labelCls'
label=
'借款利率'
>
{{
detail
.
loanModel
.
yearRate
}}
</el-descriptions-item>
<el-descriptions-item
label-class-name=
'labelCls'
label=
'借款金额'
>
{{
detail
.
loanModel
.
loanAmt
}}
</el-descriptions-item>
<el-descriptions-item
label-class-name=
'labelCls'
label=
'借款期数'
>
{{
detail
.
loanModel
.
loanLimit
}}
</el-descriptions-item>
<el-descriptions-item
label-class-name=
'labelCls'
label=
'借款银行卡(所属银行)'
>
{{
detail
.
loanModel
.
bankAccount
}}
</el-descriptions-item>
</el-descriptions>
</
template
>
<no-data
v-else
></no-data>
<block-header
title=
'账单信息'
/>
<
template
v-if=
"detail.debtInfo"
>
<el-descriptions
style=
'margin-bottom: 20px;'
border
size=
'small'
:column=
'3'
>
<el-descriptions-item
label-class-name=
'labelCls'
label=
'总应还金额'
>
{{
detail
.
debtInfo
.
debtAmt
}}
</el-descriptions-item>
<el-descriptions-item
label-class-name=
'labelCls'
label=
'总应还本金'
>
{{
detail
.
debtInfo
.
principleAmt
}}
</el-descriptions-item>
<el-descriptions-item
label-class-name=
'labelCls'
label=
'总应还利息'
>
{{
detail
.
debtInfo
.
interestAmt
}}
</el-descriptions-item>
<el-descriptions-item
label-class-name=
'labelCls'
label=
'总应还服务费'
>
{{
detail
.
debtInfo
.
serviceAmt
}}
</el-descriptions-item>
</el-descriptions>
</
template
>
<no-data
v-else
></no-data>
<
template
v-if=
"detail.debtPlan && detail.debtPlan.length"
>
<el-table
border
:data=
'detail.debtPlan'
style=
'width: 100%;margin-bottom: 20px'
>
<el-table-column
align=
'center'
label=
'计划编号'
prop=
"planNo"
></el-table-column>
<el-table-column
align=
'center'
label=
'期数'
prop=
"planIndex"
></el-table-column>
<el-table-column
align=
'center'
label=
'应还总金额'
prop=
"planAmt"
></el-table-column>
<el-table-column
align=
'center'
label=
'本金'
prop=
"planBen"
></el-table-column>
<el-table-column
align=
'center'
label=
'利息'
prop=
"planXi"
></el-table-column>
<el-table-column
align=
'center'
label=
'服务费'
prop=
"planFu"
></el-table-column>
</el-table>
</
template
>
<
template
v-if=
"project"
>
<block-header
title=
'审批'
/>
<local-plead
:data=
"project"
@
callback=
"init"
></local-plead>
</
template
>
<!--通讯录-->
<
template
v-if=
'contactVisible'
>
<contact
:CreditNo=
"creditNo"
:contact-visible=
'contactVisible'
@
handleClose=
'contactVisible = false'
/>
</
template
>
</div>
</template>
<
script
>
import
API
from
'@/server/api'
import
{
mapGetters
}
from
'vuex'
import
Family
from
"@/views/customer/components/Family"
;
import
Assets
from
"@/views/customer/components/Assets"
;
import
Borrow
from
"@/views/customer/components/Borrow"
;
import
CreditCard
from
"@/views/customer/components/CreditCard"
;
import
Lawsuit
from
"@/views/customer/components/Lawsuit"
;
import
Warrant
from
"@/views/customer/components/Warrant"
;
import
DataUpload
from
"@/views/customer/components/DataUpload"
;
import
Contact
from
"@/views/approval/components/contacts"
;
import
LocalPlead
from
"@/components/local-plead"
;
import
Report
from
"@/components/report"
;
export
default
{
name
:
'ClientDetail'
,
components
:
{
Family
,
Assets
,
Borrow
,
CreditCard
,
Lawsuit
,
Warrant
,
DataUpload
,
LocalPlead
,
Report
,
Contact
},
data
()
{
return
{
contactVisible
:
false
,
clientNo
:
''
,
creditNo
:
''
,
orderNo
:
''
,
detail
:
{
name
:
1
},
rules
:
{},
temp
:
[],
// 资料上传相关
item
:
null
,
visible
:
false
,
// 整体表单
form
:
{
projectSituationResponse
:
{},
enterpriseResponse
:
{},
riskConclusionResponse
:
{},
explain
:
''
// 总体情况文字说明
},
// 数据列表
familyData
:
[],
assetsData
:
[],
borrowData
:
[],
creditCardData
:
[],
warrantData
:
[],
lawsuitData
:
[],
enterprise
:
null
,
riskConclusion
:
null
,
debtData
:
{},
project
:
null
}
},
async
created
()
{
const
{
query
}
=
this
.
$route
if
(
query
&&
query
.
creditNo
&&
query
.
clientNo
&&
query
.
orderNo
)
{
this
.
creditNo
=
query
.
creditNo
this
.
clientNo
=
query
.
clientNo
;
this
.
orderNo
=
query
.
orderNo
;
await
this
.
init
()
}
},
computed
:
{
...
mapGetters
([
'searchData'
,
'user'
])
},
methods
:
{
// 初始化详情信息
async
init
()
{
try
{
const
creditNo
=
this
.
creditNo
const
clientNo
=
this
.
clientNo
const
orderNo
=
this
.
orderNo
const
result
=
await
API
.
LocalClientDetail
({
type
:
"THREE"
,
orderNo
,
creditNo
,
clientNo
})
this
.
detail
=
result
.
result
;
const
{
appendix
,
debtUrlList
,
riskConclusionResponse
,
familyDackgroundResponse
,
enterpriseResponse
,
propertyCssResponse
,
debtCssResponse
,
creditCardResponse
,
warrantResponse
,
badInformationResponse
,
projectSituationResponse
}
=
result
.
result
;
// 家庭情况
this
.
familyData
=
familyDackgroundResponse
;
// 资产情况
this
.
assetsData
=
propertyCssResponse
;
this
.
project
=
projectSituationResponse
;
this
.
borrowData
=
debtCssResponse
;
// 银行借贷
this
.
creditCardData
=
creditCardResponse
;
// 信用卡
this
.
warrantData
=
warrantResponse
;
// 担保
this
.
lawsuitData
=
badInformationResponse
;
// 诉讼
this
.
enterprise
=
enterpriseResponse
;
// 诉讼
this
.
riskConclusion
=
riskConclusionResponse
;
// 诉讼
this
.
debtData
=
debtUrlList
const
temp
=
[]
for
(
let
[
key
,
value
]
of
Object
.
entries
(
appendix
))
{
const
o
=
{};
o
.
type
=
key
;
o
.
data
=
value
;
switch
(
key
)
{
case
'account'
:
o
.
title
=
'银行流水'
break
;
case
'businessImgs'
:
o
.
title
=
'经营信息'
break
;
case
'cardImgs'
:
o
.
title
=
'放款银行卡'
break
;
case
'certImgs'
:
o
.
title
=
'身份信息'
break
;
case
'investigations'
:
o
.
title
=
'征信报告'
break
;
case
'otherImgs'
:
o
.
title
=
'其他资料凭证'
break
;
case
'propertyImgs'
:
o
.
title
=
'资产凭证'
break
;
}
temp
.
push
(
o
)
}
this
.
temp
=
temp
;
this
.
form
=
result
.
result
;
}
catch
(
err
)
{
this
.
$message
({
message
:
'初始化授信详情失败'
,
type
:
'error'
})
}
},
// 家庭情况的回调喊上
async
handleCallback
()
{
await
this
.
init
();
},
// 资料附件点击文件夹
handleShow
(
o
)
{
this
.
item
=
o
;
this
.
visible
=
true
;
},
// 保存信息
onSave
(
formName
)
{
this
.
$refs
[
formName
].
validate
(
async
(
valid
)
=>
{
if
(
valid
)
{
try
{
const
form
=
this
.
form
;
console
.
log
(
form
,
'沃日'
)
const
{
projectSituationResponse
,
enterpriseResponse
,
riskConclusionResponse
,
explain
}
=
form
;
const
data
=
{
creditNo
:
this
.
creditNo
,
clientNo
:
this
.
clientNo
,
projectSituationResponse
,
enterpriseResponse
,
riskConclusionResponse
,
explain
,
}
const
res
=
await
API
.
LocalClientProjectSave
({...
data
})
console
.
log
(
res
,
'保存的结果'
)
if
(
res
.
success
)
{
this
.
$message
({
type
:
'success'
,
message
:
'保存成功'
})
await
this
.
init
()
}
}
catch
(
err
)
{
}
}
})
}
,
// 提交信息
async
onSubmit
()
{
try
{
const
{}
=
this
.
form
;
const
params
=
{
actionNo
,
stepsNo
}
const
res
=
await
API
.
LocalClientSubmit
({...
params
})
if
(
res
.
success
)
{
this
.
$message
({
type
:
'success'
,
message
:
'提交成功'
})
const
that
=
this
;
setTimeout
(
function
()
{
that
.
$router
.
back
()
},
2000
)
}
}
catch
(
err
)
{
}
},
// 通讯录
async
handleContact
()
{
this
.
contactVisible
=
true
;
}
}
}
</
script
>
<
style
lang=
'scss'
scoped
>
.table
{
margin-bottom
:
20px
;
}
.form-btn
{
position
:
fixed
;
bottom
:
80px
;
right
:
0
;
width
:
100%
;
height
:
80px
;
display
:
flex
;
align-items
:
center
;
justify-content
:
center
;
}
</
style
>
src/views/loan/localList.vue
deleted
100644 → 0
View file @
d5688ade
<
template
>
<div
class=
'page-fence'
>
<!--搜索-->
<block-header
title=
'搜索'
/>
<div
class=
'search'
>
<el-form
ref=
'form'
label-suffix=
':'
:inline=
'true'
:model=
'queryForm'
class=
'form-inline'
>
<el-form-item
prop=
'orderNo'
label=
'订单编号'
>
<el-input
v-model=
'queryForm.orderNo'
clearable
placeholder=
'请输入订单编号'
/>
</el-form-item>
<el-form-item
prop=
'clientName'
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=
'loanSign'
label=
'资金渠道'
>
<el-select
v-model=
'queryForm.loanSign'
:popper-append-to-body=
'false'
style=
'width: 100%;'
clearable
>
<el-option
v-for=
'(item,index) in searchData.loanSignResponses'
:key=
'index'
:value=
'item.code'
:label=
'item.codeStr'
>
</el-option>
</el-select>
</el-form-item>
</
template
>
<
template
v-if=
'searchData!==null'
>
<el-form-item
prop=
'state'
label=
'审批结果'
>
<el-select
v-model=
'queryForm.state'
:popper-append-to-body=
'false'
style=
'width: 100%;'
clearable
>
<el-option
v-for=
'(item,index) in searchData.xshLoanConfirmResultResponseList'
:key=
'index'
:value=
'item.loanConfirmResult'
:label=
'item.loanConfirmResultStr'
>
</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
: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 }'
>
<div
v-if=
'item.label==="借款金额"'
>
{{
money
(
row
.
loanAmt
)
}}
</div>
<span
v-else
>
{{
row
[
item
.
prop
]
}}
</span>
</
template
>
</el-table-column>
<el-table-column
fixed=
'right'
align=
'center'
label=
'操作'
>
<
template
#
default=
'{ row }'
>
<template
v-if=
"row.state"
>
<el-button
type=
'text'
@
click=
'handleDialog(row,"confirm")'
>
放款
</el-button>
<el-button
type=
'text'
@
click=
'handleDialog(row,"cancel")'
>
作废
</el-button>
</
template
>
</template>
</el-table-column>
</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'
/>
<!--放款确认,放款取消-->
<
template
v-if=
'DialogVisible'
>
<Confirm
:title=
'DialogTitle'
:visible=
'DialogVisible'
:item=
'item'
@
handleClose=
'DialogVisible = false'
@
callback=
'fetchData'
/>
</
template
>
</div>
</template>
<
script
>
import
API
from
'@/server/api'
import
{
mapGetters
}
from
'vuex'
import
Confirm
from
'./components/confirm'
export
default
{
name
:
'LoanAudit'
,
components
:
{
Confirm
},
data
()
{
return
{
DialogTitle
:
''
,
DialogVisible
:
false
,
dialogForm
:
{
loanAmount
:
''
,
clientName
:
''
,
currentAction
:
''
,
orderNo
:
''
,
memo
:
''
,
stepsNo
:
''
,
userId
:
''
,
payChannelApi
:
''
},
payChannelApiResponses
:
[],
checkList
:
[
'订单编号'
,
'客户姓名'
,
'手机号码'
,
'借款金额'
,
'BD姓名'
,
'创建时间'
,
'借款状态'
,
'资金渠道'
,
'放款确认'
],
columns
:
[
{
order
:
1
,
width
:
160
,
label
:
'订单编号'
,
prop
:
'orderNo'
},
{
order
:
2
,
label
:
'客户姓名'
,
prop
:
'clientName'
},
{
order
:
3
,
width
:
120
,
label
:
'手机号码'
,
prop
:
'mobile'
},
{
order
:
4
,
label
:
'借款金额'
,
prop
:
'loanAmt'
},
{
order
:
5
,
label
:
'BD姓名'
,
prop
:
'bd'
},
{
order
:
6
,
label
:
'创建时间'
,
width
:
110
,
prop
:
'applyTime'
},
{
order
:
7
,
label
:
'借款状态'
,
prop
:
'loanState'
},
{
order
:
8
,
label
:
'资金渠道'
,
prop
:
'capitalCode'
},
{
order
:
9
,
label
:
'放款确认'
,
prop
:
'raiseState'
}
],
list
:
[],
listLoading
:
true
,
pickerConfig
:
this
.
datePickerOptions
,
total
:
1
,
rules
:
{
memo
:
[
{
required
:
true
,
trigger
:
'blur'
,
message
:
'请输入备注'
}
]
},
queryForm
:
{
current
:
1
,
size
:
10
,
mobile
:
''
,
orderNo
:
''
,
clientNo
:
''
,
clientName
:
''
,
time
:
''
,
startTime
:
''
,
endTime
:
''
,
loanSign
:
''
,
state
:
''
}
}
},
computed
:
{
finallyColumns
()
{
let
finallyArray
=
[]
this
.
checkList
.
forEach
((
checkItem
)
=>
{
finallyArray
.
push
(
this
.
columns
.
filter
((
item
)
=>
item
.
label
===
checkItem
)[
0
]
)
})
return
_
.
sortBy
(
finallyArray
,
(
item
)
=>
item
.
order
)
},
...
mapGetters
([
'searchData'
,
'user'
])
},
mounted
()
{
this
.
fetchData
()
},
methods
:
{
handleClose
()
{
this
.
DialogVisible
=
false
this
.
$refs
[
'dialogForm'
].
resetFields
()
},
onReset
(
formName
)
{
if
(
formName
)
{
this
.
queryForm
.
capitalCode
=
''
this
.
queryForm
.
loanSign
=
''
this
.
$refs
[
formName
].
resetFields
()
}
},
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
()
},
handleDialog
(
row
,
type
)
{
if
(
type
)
row
.
type
=
type
this
.
item
=
row
this
.
DialogVisible
=
true
this
.
DialogTitle
=
type
===
'confirm'
?
'确认放款'
:
'取消放款'
},
// 页码变更
handleCurrentChange
(
val
)
{
this
.
queryForm
.
current
=
val
this
.
fetchData
()
},
// 页码变更
handleSizeChange
(
val
)
{
this
.
queryForm
.
current
=
1
this
.
queryForm
.
size
=
val
this
.
fetchData
()
},
async
fetchData
()
{
this
.
listLoading
=
true
const
form
=
this
.
queryForm
const
params
=
Object
.
assign
({},
form
)
delete
params
.
time
const
result
=
await
API
.
LocalLoanList
({
...
params
})
const
{
records
,
total
}
=
result
.
result
this
.
list
=
records
this
.
total
=
total
this
.
listLoading
=
false
}
}
}
</
script
>
<
style
lang=
'scss'
scoped
>
.page-fence
{
::v-deep
{
i
{
cursor
:
pointer
;
}
}
box-sizing
:
border-box
;
padding
:
20px
;
}
</
style
>
<
style
lang=
'scss'
>
</
style
>
src/views/local/detail.vue
deleted
100644 → 0
View file @
d5688ade
<
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
>
<!--其它信息-->
<user-local-info
:info=
'detail'
/>
<!-- 审批操作 -->
<
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
deleted
100644 → 0
View file @
d5688ade
.merchant-new
{
box-sizing
:
border-box
;
padding
:
20px
;
}
src/views/local/list.vue
deleted
100644 → 0
View file @
d5688ade
<
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.realName'
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=
'creditResult'
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
:
''
,
realName
:
''
,
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'
>
.action-bar
{
margin-bottom
:
15px
;
}
</
style
>
src/views/login/index.vue
View file @
bd0ad21c
...
...
@@ -305,7 +305,7 @@ export default {
<
style
lang=
"scss"
scoped
>
.login-container
{
height
:
100vh
;
background
:
url('~@/assets/login_images/b
ackground
.jpg')
center
center
fixed
no-repeat
;
background
:
url('~@/assets/login_images/b
g4
.jpg')
center
center
fixed
no-repeat
;
background-size
:
cover
;
}
...
...
vue.config.js
View file @
bd0ad21c
...
...
@@ -64,7 +64,7 @@ module.exports = {
"/api"
:
{
//target: "http://192.168.0.199:8221",
//target: "http://192.168.0.26:8785",
target
:
"http://
47.99.245.36
:8785"
,
target
:
"http://
114.55.246.69
:8785"
,
ws
:
true
,
changeOrigin
:
true
,
pathRewrite
:
{
...
...
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