Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
H
hls-xcmg-vue-app
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
xugong
hls-xcmg-vue-app
Commits
af284f89
Commit
af284f89
authored
Sep 30, 2019
by
李晓兵
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
'绑定查询功能'
parent
376e8077
Changes
9
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
1666 additions
and
7 deletions
+1666
-7
home.vue
src/pages/home.vue
+56
-4
pwd-forgotten.vue
src/pages/pwd-forgotten.vue
+2
-2
bankInfoReadOnly.vue
src/pages/userBind/npReadOnly/bankInfoReadOnly.vue
+215
-0
invoiceInfoReadOnly.vue
src/pages/userBind/npReadOnly/invoiceInfoReadOnly.vue
+52
-0
naturePersonReadOnly.vue
src/pages/userBind/npReadOnly/naturePersonReadOnly.vue
+444
-0
bankInfoReadOnly.vue
src/pages/userBind/orgReadOnly/bankInfoReadOnly.vue
+210
-0
enterpriseReadOnly.vue
src/pages/userBind/orgReadOnly/enterpriseReadOnly.vue
+623
-0
invoiceInfoReadOnly.vue
src/pages/userBind/orgReadOnly/invoiceInfoReadOnly.vue
+58
-0
index.js
src/router/index.js
+6
-1
No files found.
src/pages/home.vue
View file @
af284f89
...
...
@@ -54,6 +54,11 @@ export default {
functionName
:
'用户绑定'
,
functionState
:
'UserBind'
,
},
{
functionIcon
:
require
(
'@/assets/intoApproval/introduce.png'
),
functionName
:
'绑定查询'
,
functionState
:
'NaturePersonReadOnly'
,
},
{
functionIcon
:
require
(
'@/assets/intoApproval/introduce.png'
),
functionName
:
'进件审批'
,
...
...
@@ -81,14 +86,26 @@ export default {
area
:
{},
box1
:
{},
box2
:
{},
searchInput
:
''
,
user_bp_status
:
''
,
user_bp_class
:
''
,
bp_id
:
''
,
}
},
beforeCreate
:
function
()
{
},
created
:
function
()
{
this
.
imgList
=
[...
functionState
.
bannerList
]
/*
this.imgList = [...functionState.bannerList]
this.moduleSeparateList = [...functionState.moduleSeparateList]
this.userQuery() */
},
beforeRouteEnter
(
to
,
from
,
next
)
{
next
(
vm
=>
{
if
(
from
.
name
===
'Login'
)
{
vm
.
imgList
=
[...
functionState
.
bannerList
]
vm
.
moduleSeparateList
=
[...
functionState
.
moduleSeparateList
]
vm
.
userQuery
()
}
})
},
updated
:
function
()
{
},
...
...
@@ -102,8 +119,43 @@ export default {
})
},
goFunctionHome
(
data
)
{
this
.
$router
.
push
({
name
:
data
.
functionState
,
if
(
data
.
functionState
===
'NaturePersonReadOnly'
)
{
if
(
this
.
user_bp_status
===
'APPROVED'
&&
this
.
user_bp_class
===
'NP'
)
{
this
.
$router
.
push
({
name
:
'NaturePersonReadOnly'
,
params
:
{
'bp_id'
:
this
.
bp_id
,
},
})
}
else
if
(
this
.
user_bp_status
===
'APPROVED'
&&
this
.
user_bp_class
===
'ORG'
)
{
this
.
$router
.
push
({
name
:
'EnterpriseReadOnly'
,
params
:
{
'bp_id'
:
this
.
bp_id
,
},
})
}
else
{
this
.
hlsPopup
.
showLongCenter
(
'您的绑定申请还在流程中'
)
}
}
else
{
this
.
$router
.
push
({
name
:
data
.
functionState
,
})
}
},
// 用户信息查询
userQuery
()
{
let
vm
=
this
let
url
=
$config
.
basePath
+
'user_query'
let
param
=
{
'phone'
:
window
.
localStorage
.
getItem
(
'user_phone'
),
}
vm
.
$post
(
url
,
param
).
then
(
function
(
res
)
{
if
(
res
.
result
===
'S'
)
{
vm
.
user_bp_status
=
res
.
info
.
user_bp_status
vm
.
user_bp_class
=
res
.
info
.
user_bp_class
vm
.
bp_id
=
res
.
info
.
user_bp_id
}
})
},
},
...
...
src/pages/pwd-forgotten.vue
View file @
af284f89
...
...
@@ -12,7 +12,7 @@
<item>
<img
slot=
"left-icon"
src=
"../assets/login/phone.png"
class=
"left-icon"
>
<div
slot=
"name"
class=
"required"
>
手机号码
</div>
<
div
slot=
"content"
>
{{
phone_number
}}
</div
>
<
input
slot=
"content"
v-model=
"phone_number"
placeholder=
"请输入手机号码"
>
</item>
<item>
<img
slot=
"left-icon"
src=
"../assets/login/phone_code.png"
class=
"left-icon"
>
...
...
@@ -50,7 +50,7 @@
export
default
{
data
()
{
return
{
phone_number
:
window
.
localStorage
.
getItem
(
'user_phone'
)
,
phone_number
:
''
,
verifiedCode
:
''
,
username
:
''
,
...
...
src/pages/userBind/npReadOnly/bankInfoReadOnly.vue
0 → 100644
View file @
af284f89
<
template
>
<div
id=
"bank-card-read"
>
<div
class=
"info"
>
<div
class=
"info-icon"
>
<img
src=
"@/assets/userBind/info.png"
>
<span>
温馨提示
</span>
</div>
<p>
推荐使用农行卡,农行卡支付免收手续费!
</p>
</div>
<div
class=
"my-card"
>
<div
class=
"top"
>
<div
class=
"left"
>
<img
src=
"@/assets/userBind/bankIcon.png"
class=
"icon"
>
<span
class=
"top-word"
>
我的卡
<span
class=
"sum"
>
(共
{{
bankList
.
length
}}
张)
</span>
</span>
</div>
</div>
<div
class=
"clear"
/>
<div
class=
"card-content"
>
<ul>
<li
v-for=
"(item,index) in bankList"
:key=
"index"
@
click=
"sendFlag(item)"
>
<div
class=
"slider"
>
<div
:style=
"'background-image: url('+ changeBgImg (item) +')'"
class=
"my-bank-card"
>
<div
class=
"card-info"
>
<span
class=
"name"
>
{{
item
.
bank_full_name
}}
</span>
<span
class=
"card-type"
>
{{
item
.
bank_card_type
}}
</span>
<span
class=
"number"
>
卡号
</span>
<span
class=
"card-number"
>
**** **** ****
{{
selectLast
(
item
)
}}
</span>
</div>
</div>
</div>
</li>
</ul>
</div>
</div>
</div>
</
template
>
<
script
>
import
backImg1
from
'@/assets/userBind/nong.png'
import
backImg2
from
'@/assets/userBind/unNong.png'
export
default
{
props
:
{
'bankList'
:
{
default
:
[],
type
:
Array
,
},
},
data
()
{
return
{
backImg
:
null
,
showModalValue
:
true
,
}
},
created
()
{
},
methods
:
{
sendFlag
(
bank
)
{
this
.
showModalValue
=
true
this
.
$emit
(
'getInfo'
,
this
.
showModalValue
,
bank
)
},
selectLast
(
item
)
{
let
num
=
item
.
bank_account_num
return
num
.
substring
(
num
.
length
-
4
)
},
changeBgImg
(
item
)
{
if
(
item
.
bank_full_name
===
'中国农业银行'
)
{
return
backImg1
}
else
{
return
backImg2
}
},
},
}
</
script
>
<
style
lang=
"less"
scoped
>
#bank-card-read {
.info {
height: 70px;
background-color: rgba(142, 195, 30, 0.1);
.info-icon {
height: 20px;
padding-top: 20px;
display: flex;
align-items: center;
img {
width: 15.8px;
height: 15.8px;
margin-left: 17.1px;
}
span {
font-family: PingFangSC-Semibold;
font-size: 14px;
color: #8ec31e;
margin-left: 9px;
letter-spacing: 0.5px;
line-height: 20px;
}
}
p {
font-family: PingFangSC-Regular;
font-size: 13px;
color: #656464;
width: 310px;
margin-left: 42px;
letter-spacing: 0.4px;
line-height: 18px;
margin-top: 8px;
}
}
.my-card {
.top {
width: 320px;
margin: 0 auto;
margin-top: 13px;
.left {
height: 32px;
display: flex;
align-items: center;
float: left;
.icon {
width: 18px;
height: 20px;
margin-right: 4px;
}
.top-word {
font-family: PingFangSC-Semibold;
font-size: 15px;
color: #00469c;
letter-spacing: 0.46px;
.sum {
font-family: PingFangSC-Semibold;
font-size: 15px;
color: #4d5d6c;
letter-spacing: 0.46px;
}
}
}
.icon-right {
width: 34px;
height: 34px;
float: right;
}
}
.clear {
clear: both;
}
.card-content {
width: 350px;
padding-left: 28px;
overflow: hidden;
margin-top: 16px;
li {
margin-bottom: 10px;
.slider {
height: 100%;
//margin-left: -14px;
}
}
.my-bank-card {
width: 320px;
height: 190px;
box-shadow: 0 5px 20px 0 rgba(101, 101, 101, 0.25);
border-radius: 6px;
background-size: 320px 190px;
.card-info {
font-family: PingFangSC-Medium;
color: #ffffff;
margin-left: 18px;
padding-top: 15px;
.name,
.card-type {
font-size: 16px;
letter-spacing: 5.5px;
line-height: 24px;
}
.card-type {
display: block;
margin-top: 9px;
}
.number {
font-size: 12px;
letter-spacing: 0;
line-height: 16px;
margin-top: 33px;
display: block;
margin-top: 33px;
}
.card-number {
display: block;
font-family: Avenir-Heavy;
font-size: 16px;
color: #ffffff;
letter-spacing: 6px;
line-height: 24px;
}
}
}
}
}
.swipeout-list .item .function {
left: 330px;
border-radius: 6px;
width: 54px;
height: 190px;
background: url("../../../assets/userBind/delete.png") 16px 84.9px #fde5e8
no-repeat;
background-size: 20px 20px;
}
}
</
style
>
src/pages/userBind/npReadOnly/invoiceInfoReadOnly.vue
0 → 100644
View file @
af284f89
<
template
>
<list-item
:item-height=
"44"
>
<item
:showArrow=
"true"
>
<div
slot=
"name"
>
纳税人类型
</div>
<div
slot=
"content"
>
{{
baseInfo
.
taxpayer_type
}}
</div>
</item>
<item
:showArrow=
"true"
>
<div
slot=
"name"
>
发票类型
</div>
<div
slot=
"content"
>
{{
baseInfo
.
invoice_kind
}}
</div>
</item>
<item>
<div
slot=
"name"
>
发票抬头
</div>
<div
slot=
"content"
>
{{
baseInfo
.
invoice_title
}}
</div>
</item>
<item>
<div
slot=
"name"
>
发票地址及电话
</div>
<div
slot=
"content"
>
{{
baseInfo
.
invoice_bp_address_phone_num
}}
</div>
</item>
<item>
<div
slot=
"name"
>
发票开户行及账号
</div>
<div
slot=
"content"
>
{{
baseInfo
.
invoice_bp_bank_account
}}
</div>
</item>
<item>
<div
slot=
"name"
>
纳税人识别号
</div>
<div
slot=
"content"
>
{{
baseInfo
.
organization_code
}}
</div>
</item>
</list-item>
</
template
>
<
script
>
export
default
{
props
:[
'baseInfo'
],
data
()
{
return
{
}
},
created
()
{
},
updated
()
{
},
methods
:
{
},
}
</
script
>
<
style
scoped
>
input
::placeholder
{
color
:
#B4B4B5
;
}
</
style
>
src/pages/userBind/npReadOnly/naturePersonReadOnly.vue
0 → 100644
View file @
af284f89
<
template
>
<h-view
id=
"base-info1-read"
class=
"public-style"
title=
"基本信息"
>
<h-header
:proportion=
"[5,1,1]"
class=
"header"
>
<div
slot=
"left"
class=
"h-header-btn"
@
click=
"$routeGo()"
>
<img
src=
"@/assets/userBind/arrow.png"
>
<span>
用户绑定
</span>
</div>
</h-header>
<Tab
:tabNum=
"tabNum"
@
getTabNum=
"getTabNum"
/>
<h-content
class=
"content"
>
<div
v-show=
"tabNum==0"
>
<list-item
:item-height=
"44"
>
<item
:showArrow=
"true"
>
<div
slot=
"name"
class=
"required"
>
客户类型
</div>
<div
slot=
"content"
>
{{
baseInfo
.
bp_type
}}
</div>
</item>
<!--
<item>
<div
slot=
"name"
>
业务经办人
</div>
<div
slot=
"content"
>
{{
baseInfo
.
agent_username
}}
</div>
</item>
<item>
<div
slot=
"name"
>
营业执照
</div>
<div
slot=
"content"
>
{{
baseInfo
.
business_license_num
}}
</div>
</item>
-->
</list-item>
<div
class=
"userInfo"
>
客户信息
</div>
<div
class=
"upload-id-card"
>
<span>
身份证照片上传
</span>
<div
class=
"upload-box"
>
<div>
<img
src=
"@/assets/userBind/front.png"
>
<p>
正面
</p>
</div>
<div>
<img
src=
"@/assets/userBind/back.png"
>
<p>
反面
</p>
</div>
</div>
</div>
<list-item
:item-height=
"44"
class=
"second-part"
>
<item>
<div
slot=
"name"
>
姓名
</div>
<div
slot=
"content"
class=
"auto"
>
{{
baseInfo
.
bp_name
}}
</div>
</item>
<item>
<div
slot=
"name"
>
身份证号码
</div>
<div
slot=
"content"
class=
"auto"
>
{{
baseInfo
.
id_card_no
}}
</div>
</item>
<item>
<div
slot=
"name"
>
手机号码
</div>
<div
slot=
"content"
>
{{
baseInfo
.
phone
}}
</div>
</item>
<item>
<div
slot=
"name"
>
居住地址
</div>
<div
slot=
"content"
>
{{
baseInfo
.
living_address
}}
</div>
</item>
<item>
<div
slot=
"name"
>
户籍地址
</div>
<div
slot=
"content"
>
{{
baseInfo
.
address_on_resident_booklit
}}
</div>
</item>
<item>
<div
slot=
"name"
>
学历
</div>
<div
slot=
"content"
>
{{
baseInfo
.
academic_bg
}}
</div>
</item>
<item
:showArrow=
"true"
>
<div
slot=
"name"
>
婚姻状况
</div>
<div
slot=
"content"
>
{{
baseInfo
.
marital_status
}}
</div>
</item>
</list-item>
<div
v-if=
"hasSP"
>
<div
class=
"userInfo"
>
配偶信息
</div>
<list-item
:item-height=
"44"
>
<item>
<div
slot=
"name"
>
姓名
</div>
<div
slot=
"content"
>
{{
baseInfo
.
bp_name_sp
}}
</div>
</item>
<item>
<div
slot=
"name"
>
手机号码
</div>
<div
slot=
"content"
>
{{
baseInfo
.
spouse_phone
}}
</div>
</item>
<item>
<div
slot=
"name"
>
工作单位
</div>
<div
slot=
"content"
>
{{
baseInfo
.
working_place_sp
}}
</div>
</item>
<item>
<div
slot=
"name"
>
居住地址
</div>
<div
slot=
"content"
>
{{
baseInfo
.
address_sp
}}
</div>
</item>
</list-item>
</div>
<div
class=
"userInfo"
>
资产信息
</div>
<div
class=
"card"
>
<span>
房产证件
</span>
<div
class=
"img-content"
>
<div
class=
"card-upload"
>
<img
src=
"@/assets/userBind/camera.png"
>
</div>
</div>
</div>
<div
class=
"card"
>
<span>
车辆证件
</span>
<div
class=
"img-content"
>
<div
class=
"card-upload"
>
<img
src=
"@/assets/userBind/camera.png"
>
</div>
</div>
</div>
<div
class=
"card"
>
<span>
其他资产证件
</span>
<div
class=
"img-content"
>
<div
class=
"card-upload"
>
<img
src=
"@/assets/userBind/camera.png"
>
</div>
</div>
</div>
</div>
<BankInfo
v-show=
"tabNum==1"
:bankList=
"bankList"
@
getInfo=
"getInfo"
/>
<InvoiceInfo
v-show=
"tabNum==2"
:baseInfo=
"baseInfo"
/>
</h-content>
<h-modal
ref=
"modal"
v-model=
"showModalValue"
position=
"bottom"
cus-class=
"sign-modal"
>
<h-view>
<div
class=
"modal-content"
>
<div
class=
"modal-content-add-top"
>
<span>
添加银行卡
</span>
<img
src=
"@/assets/userBind/close.png"
@
click=
"hideModal"
>
</div>
<img
src=
"@/assets/userBind/addBack.png"
class=
"addBack"
>
<list-item
:item-height=
"44"
class=
"card-Info"
>
<item>
<div
slot=
"name"
>
银行卡卡号
</div>
<div
slot=
"content"
>
{{
bank
.
bank_account_num
}}
</div>
</item>
<item>
<div
slot=
"name"
>
账户姓名
</div>
<div
slot=
"content"
>
{{
bank
.
bank_account_name
}}
</div>
</item>
<item>
<div
slot=
"name"
>
银行名称
</div>
<div
slot=
"content"
>
{{
bank
.
bank_full_name
}}
</div>
</item>
<item>
<div
slot=
"name"
>
支行名称
</div>
<div
slot=
"content"
>
{{
bank
.
bank_branch_name
}}
</div>
</item>
</list-item>
</div>
</h-view>
</h-modal>
</h-view>
</
template
>
<
script
>
import
Tab
from
'@/components/tab'
import
InvoiceInfo
from
'@/pages/userBind/npReadOnly/invoiceInfoReadOnly'
import
BankInfo
from
'@/pages/userBind/npReadOnly/bankInfoReadOnly'
export
default
{
components
:
{
Tab
,
InvoiceInfo
,
BankInfo
,
},
data
()
{
return
{
list
:
{},
hasSP
:
false
,
showModalValue
:
false
,
tabNum
:
0
,
upload_list
:
[],
bankList
:
[],
baseInfo
:
{},
bank
:
{},
}
},
watch
:
{
tabNum
:
function
(
newVal
,
oldVal
)
{
},
},
created
()
{
this
.
basicInfoQuery
()
this
.
getBankInfo
()
},
updated
()
{
},
methods
:
{
basicInfoQuery
()
{
let
vm
=
this
let
url
=
process
.
env
.
basePath
+
'bp_np_info_query'
let
param
=
{
bp_id
:
vm
.
$route
.
params
.
bp_id
,
}
hlsPopup
.
showLoading
(
'请稍候'
)
vm
.
$post
(
url
,
param
).
then
(
function
(
res
)
{
vm
.
hlsPopup
.
hideLoading
()
if
(
res
.
result
===
'S'
)
{
vm
.
baseInfo
=
res
.
info
}
else
{
hlsPopup
.
showLongCenter
(
res
.
message
)
}
})
},
hideModal
()
{
this
.
showModalValue
=
false
},
getInfo
(
i
,
bank
)
{
this
.
showModalValue
=
i
this
.
bank
=
bank
},
showModal
()
{
this
.
showModalValue
=
true
},
getBankInfo
()
{
let
vm
=
this
let
url
=
process
.
env
.
basePath
+
'bp_bank_query'
let
param
=
{
bp_id
:
vm
.
$route
.
params
.
bp_id
,
}
vm
.
hlsPopup
.
showLoading
(
'请稍候'
)
vm
.
hlsHttp
.
post
(
url
,
param
).
then
(
function
(
res
)
{
vm
.
hlsPopup
.
hideLoading
()
if
(
res
.
result
===
'S'
)
{
vm
.
bankList
=
[...
res
.
lists
]
}
else
{
hlsPopup
.
showLongCenter
(
res
.
message
)
}
})
},
getTabNum
(
i
)
{
this
.
tabNum
=
i
},
},
}
</
script
>
<
style
lang=
"less"
>
#base-info1-read {
font-family: PingFangSC-Regular;
input::placeholder {
color: #b4b4b5;
}
.header {
background-color: #00469c;
color: #fff;
.h-header-btn {
img {
width: 16px;
height: 16px;
margin-left: 4px;
}
span {
color: #fff;
font-family: PingFangSC-Semibold;
margin-left: 16px;
font-size: 17px;
letter-spacing: 0.6px;
line-height: 24px;
}
}
}
.content {
height: 76%;
.userInfo {
height: 45px;
line-height: 45px;
color: #00469c;
margin-top: -10px;
font-size: 15px;
margin-left: 16px;
position: relative;
}
.userInfo::before {
content: "";
display: block;
width: 4px;
height: 20px;
background-color: #00469c;
position: absolute;
left: -15px;
top: 12px;
}
.upload-id-card {
height: 176px;
background-color: #fff;
span {
display: block;
color: #656464;
margin-left: 16px;
padding-top: 16px;
font-size: 13px;
}
.upload-box {
display: flex;
justify-content: center;
margin-top: 15px;
div {
width: 172px;
height: 120px;
border: 1px dashed #dcdcdd;
text-align: center;
font-size: 14px;
color: #b4b4b5;
.front,
.back {
width: 172px;
height: 120px;
}
}
div:nth-of-type(2) {
margin-left: 7px;
}
img {
margin-top: 32px;
width: 58px;
height: 45px;
}
p {
margin-top: 12px;
font-size: 13px;
}
}
}
.second-part {
margin-top: 9px;
.auto {
color: #b4b4b5;
}
}
.card {
padding-bottom: 8px;
height: auto;
background-color: #fff;
margin-bottom: 15px;
span {
color: #656464;
font-size: 13px;
line-height: 18px;
padding-top: 8px;
display: block;
margin-left: 16px;
}
.img-content {
display: flex;
flex-flow: row wrap;
justify-content: flex-start;
align-items: center;
}
.card-upload {
width: 88px;
height: 88px;
border: 1px dashed #dcdcdd;
display: flex;
justify-content: center;
align-items: center;
margin-top: 12px;
margin-left: 12px;
// float: left;
img {
width: 24px;
height: 24px;
}
}
}
}
.put {
width: 175px;
height: 45px;
color: #00469c;
border-radius: 4px;
border: 1px solid #00469c;
background-color: #fafafa;
}
.save {
width: 175px;
height: 45px;
color: #fff;
border-radius: 4px;
background-color: #00469c;
}
.footer-button {
padding-top: 15px;
margin-bottom: 15px;
}
.front,
.photo,
.backphoto,
.back {
display: none;
}
.modal-content {
width: 100%;
//height: 75%;
position: absolute;
top: 33%;
background-color: #fff;
overflow-y: scroll;
.modal-content-add-top {
width: 320px;
height: 34px;
line-height: 34px;
padding-top: 10px;
background-color: #fff;
padding-bottom: 40px;
position: fixed;
left: 28px;
span {
font-family: PingFangSC-Semibold;
font-size: 15px;
color: #00469c;
letter-spacing: 0.47px;
}
img {
width: 34px;
height: 34px;
float: right;
}
}
.addBack {
display: block;
width: 320px;
margin: 0 auto;
margin-top: 50px;
border-radius: 6px;
margin-bottom: 17px;
}
.card-Info {
margin-bottom: 220px;
}
}
.add-card {
width: 358px;
height: 40px;
background: #00469c;
border-radius: 4px;
color: #fff;
}
}
.modal {
background-color: rgba(0, 0, 0, 0) !important;
}
.hls-notify-wrap {
height: 50px;
line-height: 34px !important;
}
</
style
>
src/pages/userBind/orgReadOnly/bankInfoReadOnly.vue
0 → 100644
View file @
af284f89
<
template
>
<div
id=
"bank-card"
>
<div
class=
"info"
>
<div
class=
"info-icon"
>
<img
src=
"@/assets/userBind/info.png"
>
<span>
温馨提示
</span>
</div>
<p>
推荐使用农行卡,农行卡支付免收手续费!
</p>
</div>
<div
class=
"my-card"
>
<div
class=
"top"
>
<div
class=
"left"
>
<img
src=
"@/assets/userBind/bankIcon.png"
class=
"icon"
>
<span
class=
"top-word"
>
我的卡
<span
class=
"sum"
>
(共
{{
bankList
.
length
}}
张)
</span>
</span>
</div>
</div>
<div
class=
"clear"
/>
<div
class=
"card-content"
>
<ul>
<li
v-for=
"(item,index) in bankList"
:key=
"index"
@
click=
"sendFlag(item)"
>
<div
class=
"slider"
>
<div
:style=
"'background-image: url('+ changeBgImg (item) +')'"
class=
"my-bank-card"
>
<div
class=
"card-info"
>
<span
class=
"name"
>
{{
item
.
bank_full_name
}}
</span>
<span
class=
"card-type"
>
{{
item
.
bank_card_type
}}
</span>
<span
class=
"number"
>
卡号
</span>
<span
class=
"card-number"
>
**** **** ****
{{
selectLast
(
item
)
}}
</span>
</div>
</div>
</div>
</li>
</ul>
</div>
</div>
</div>
</
template
>
<
script
>
import
backImg1
from
'@/assets/userBind/nong.png'
import
backImg2
from
'@/assets/userBind/unNong.png'
export
default
{
props
:
{
'bankList'
:
{
default
:
[],
type
:
Array
,
},
},
data
()
{
return
{
backImg
:
null
,
showModalValue
:
true
,
}
},
methods
:
{
sendFlag
(
bank
)
{
this
.
showModalValue
=
true
this
.
$emit
(
'getInfo'
,
this
.
showModalValue
,
bank
)
},
changeBgImg
(
item
)
{
if
(
item
.
bank_full_name
===
'中国农业银行'
)
{
return
backImg1
}
else
{
return
backImg2
}
},
},
}
</
script
>
<
style
lang=
"less"
scoped
>
#bank-card {
.info {
height: 70px;
background-color: rgba(142, 195, 30, 0.1);
.info-icon {
height: 20px;
padding-top: 20px;
display: flex;
align-items: center;
img {
width: 15.8px;
height: 15.8px;
margin-left: 17.1px;
}
span {
font-family: PingFangSC-Semibold;
font-size: 14px;
color: #8ec31e;
margin-left: 9px;
letter-spacing: 0.5px;
line-height: 20px;
}
}
p {
font-family: PingFangSC-Regular;
font-size: 13px;
color: #656464;
width: 310px;
margin-left: 42px;
letter-spacing: 0.4px;
line-height: 18px;
margin-top: 8px;
}
}
.my-card {
.top {
width: 320px;
margin: 0 auto;
margin-top: 13px;
.left {
height: 32px;
display: flex;
align-items: center;
float: left;
.icon {
width: 18px;
height: 20px;
margin-right: 4px;
}
.top-word {
font-family: PingFangSC-Semibold;
font-size: 15px;
color: #00469c;
letter-spacing: 0.46px;
.sum {
font-family: PingFangSC-Semibold;
font-size: 15px;
color: #4d5d6c;
letter-spacing: 0.46px;
}
}
}
.icon-right {
width: 34px;
height: 34px;
float: right;
}
}
.clear {
clear: both;
}
.card-content {
width: 350px;
padding-left: 28px;
overflow: hidden;
margin-top: 16px;
li {
margin-bottom: 10px;
.slider {
height: 100%;
//margin-left: -14px;
}
}
.my-bank-card {
width: 320px;
height: 190px;
box-shadow: 0 5px 20px 0 rgba(101, 101, 101, 0.25);
border-radius: 6px;
background-size: 320px 190px;
.card-info {
font-family: PingFangSC-Medium;
color: #ffffff;
margin-left: 18px;
padding-top: 15px;
.name,
.card-type {
font-size: 16px;
letter-spacing: 5.5px;
line-height: 24px;
}
.card-type {
display: block;
margin-top: 9px;
}
.number {
font-size: 12px;
letter-spacing: 0;
line-height: 16px;
margin-top: 33px;
display: block;
margin-top: 33px;
}
.card-number {
display: block;
font-family: Avenir-Heavy;
font-size: 16px;
color: #ffffff;
letter-spacing: 6px;
line-height: 24px;
}
}
}
}
}
.swipeout-list .item .function {
left: 330px;
border-radius: 6px;
width: 54px;
height: 190px;
background: url("../../../assets/userBind/delete.png") 16px 84.9px #fde5e8
no-repeat;
background-size: 20px 20px;
}
}
</
style
>
src/pages/userBind/orgReadOnly/enterpriseReadOnly.vue
0 → 100644
View file @
af284f89
<
template
>
<h-view
id=
"base-info"
class=
"public-style"
title=
"基本信息"
>
<h-header
:proportion=
"[5,1,1]"
class=
"header"
>
<div
slot=
"left"
class=
"h-header-btn"
@
click=
"$routeGo()"
>
<img
src=
"@/assets/userBind/arrow.png"
>
<span>
用户绑定
</span>
</div>
</h-header>
<Tab
:tabNum=
"tabNum"
@
getTabNum=
"getTabNum"
/>
<h-content
class=
"content"
>
<div
v-show=
"tabNum==0"
>
<list-item
:item-height=
"44"
>
<item
:showArrow=
"true"
>
<div
slot=
"name"
class=
"font-color required"
>
客户类型
</div>
<div
slot=
"content"
>
{{
baseInfo
.
bp_type
}}
</div>
</item>
<!--
<item>
<div
slot=
"name"
>
{{
typeName
}}
</div>
<input
v-if=
"bpClass_flag"
slot=
"content"
:placeholder=
"type"
v-model=
"baseInfo.agent_username"
>
<input
v-if=
"!bpClass_flag"
slot=
"content"
:placeholder=
"type"
v-model=
"baseInfo.business_license_num"
>
</item>
-->
</list-item>
<div
class=
"userInfo martop"
>
企业信息
</div>
<div
class=
"upload-id-card"
>
<span
class=
"font-color"
>
营业执照照片上传
</span>
<div
class=
"upload-box1"
>
<!--
<div>
-->
<img
src=
"@/assets/userBind/camera.png"
>
<!--
</div>
-->
</div>
</div>
<!-- 营业执照识别信息 -->
<list-item
:item-height=
"44"
class=
"second-part"
>
<item>
<div
slot=
"name"
class=
"font-color required"
>
公司名称
</div>
<div
slot=
"content"
>
{{
baseInfo
.
bp_name
}}
</div>
</item>
<item>
<div
slot=
"name"
class=
"font-color required"
>
企业类型
</div>
<div
slot=
"content"
>
{{
baseInfo
.
enterprise_type
}}
</div>
</item>
<item>
<div
slot=
"name"
class=
"font-color"
>
统一社会信用代码
</div>
<div
slot=
"content"
>
{{
baseInfo
.
organization_code
}}
</div>
</item>
<item>
<div
slot=
"name"
class=
"font-color"
>
注册资本
</div>
<div
slot=
"content"
>
{{
baseInfo
.
registered_capital
}}
</div>
</item>
<item>
<div
slot=
"name"
class=
"font-color"
>
法定代表人
</div>
<div
slot=
"content"
>
{{
baseInfo
.
legal_person
}}
</div>
</item>
<item>
<div
slot=
"name"
class=
"font-color required"
>
注册地址
</div>
<div
slot=
"content"
>
{{
baseInfo
.
registered_place
}}
</div>
</item>
<item>
<div
slot=
"name"
class=
"font-color required"
>
经营地址
</div>
<div
slot=
"content"
>
{{
baseInfo
.
business_address
}}
</div>
</item>
<item>
<div
slot=
"name"
class=
"font-color required"
>
固定电话
</div>
<div
slot=
"content"
>
{{
baseInfo
.
phone
}}
</div>
</item>
</list-item>
<!-- 授权切换 -->
<!--
<div
class=
"authorize"
>
<p
class=
"authorize-select font-color"
>
是否授权
</p>
<div
class=
"authorize-checklist"
@
click=
"authorizeChange"
>
<div
v-if=
"flag"
/>
<img
v-if=
"!flag"
src=
"@/assets/userBind/org/checklist.png"
alt
>
</div>
</div>
-->
<div
class=
"userInfo types"
>
{{
text
}}
</div>
<div
class=
"upload-id-cards"
>
<span>
身份证照片上传
</span>
<div
class=
"upload-box"
>
<div>
<img
src=
"@/assets/userBind/org/front.png"
>
<p>
正面
</p>
</div>
<div>
<img
src=
"@/assets/userBind/org/back.png"
>
<p>
反面
</p>
</div>
</div>
</div>
<!-- 已授权 -->
<list-item
v-if=
"!flag"
:item-height=
"44"
class=
"second-part"
>
<item>
<div
slot=
"name"
class=
"font-color required"
>
姓名
</div>
<div
slot=
"content"
>
{{
baseInfo
.
auth_person_name
}}
</div>
</item>
<item>
<div
slot=
"name"
class=
"font-color required"
>
身份证号
</div>
<div
slot=
"content"
>
{{
baseInfo
.
auth_person_id_card
}}
</div>
</item>
<item>
<div
slot=
"name"
class=
"font-color required"
>
公司职务
</div>
<div
slot=
"content"
>
{{
baseInfo
.
auth_person_position
}}
</div>
</item>
<item>
<div
slot=
"name"
class=
"font-color required"
>
授权事项
</div>
<div
slot=
"content"
>
{{
baseInfo
.
auth_person_matter
}}
</div>
</item>
</list-item>
<!-- 未授权 -->
<list-item
v-if=
"flag"
:item-height=
"44"
class=
"second-part"
>
<item>
<div
slot=
"name"
class=
"font-color"
>
姓名
</div>
<div
slot=
"content"
>
{{
baseInfo
.
id_card_name
}}
</div>
</item>
<item>
<div
slot=
"name"
class=
"font-color"
>
身份证号
</div>
<div
slot=
"content"
>
{{
baseInfo
.
id_card_no
}}
</div>
</item>
<item>
<div
slot=
"name"
class=
"font-color required"
>
手机号
</div>
<div
slot=
"content"
>
{{
baseInfo
.
cell_phone
}}
</div>
</item>
<item>
<div
slot=
"name"
class=
"font-color required"
>
居住地址
</div>
<div
slot=
"content"
>
{{
baseInfo
.
living_address
}}
</div>
</item>
</list-item>
<div
v-if=
"!flag"
class=
"upload-id-card"
>
<span>
授权书证件上传
</span>
<div
class=
"upload-box1"
>
<!--
<div>
-->
<img
src=
"@/assets/userBind/camera.png"
>
<!--
</div>
-->
</div>
</div>
<!-- 资产信息 -->
<div
:class=
"
{martop: flag,types:!flag}" class="userInfo">资产信息
</div>
<div
class=
"card2"
>
<span>
房产证件
</span>
<div
class=
"img-content"
>
<div
class=
"card-upload"
>
<img
src=
"@/assets/userBind/camera.png"
>
</div>
</div>
</div>
<div
class=
"card2"
>
<span>
车辆证件
</span>
<div
class=
"img-content"
>
<div
class=
"card-upload"
>
<img
src=
"@/assets/userBind/camera.png"
>
</div>
</div>
</div>
<div
class=
"card2"
>
<span>
其他资产证件
</span>
<div
class=
"img-content"
>
<div
class=
"card-upload"
>
<img
src=
"@/assets/userBind/camera.png"
>
</div>
</div>
</div>
</div>
<BankInfo
v-show=
"tabNum==1"
:bankList=
"bankList"
@
getInfo=
"getInfo"
/>
<InvoiceInfo
v-show=
"tabNum==2"
:baseInfo=
"baseInfo"
/>
</h-content>
<h-modal
ref=
"modal"
v-model=
"showModalValue"
position=
"bottom"
>
<h-view>
<div
class=
"modal-content"
>
<div
class=
"modal-content-add-top"
>
<span>
添加银行卡
</span>
<img
src=
"@/assets/userBind/close.png"
@
click=
"hideModal"
>
</div>
<img
src=
"@/assets/userBind/addBack.png"
class=
"addBack"
>
<list-item
:item-height=
"44"
class=
"card-Info"
>
<item>
<div
slot=
"name"
>
银行卡卡号
</div>
<input
slot=
"content"
v-model=
"bank.bank_account_num"
placeholder=
"银行卡卡号自动填充"
>
</item>
<item>
<div
slot=
"name"
>
账户姓名
</div>
<input
slot=
"content"
v-model=
"bank.bank_account_name"
placeholder=
"请输入账户名称"
>
</item>
<item>
<div
slot=
"name"
>
银行名称
</div>
<input
slot=
"content"
v-model=
"bank.bank_full_name"
placeholder=
"请输入银行名称"
>
</item>
<item>
<div
slot=
"name"
>
支行名称
</div>
<input
slot=
"content"
v-model=
"bank.bank_branch_name"
placeholder=
"请输入支行名称"
>
</item>
</list-item>
</div>
</h-view>
</h-modal>
</h-view>
</
template
>
<
script
>
import
Tab
from
'@/components/tab'
import
InvoiceInfo
from
'./invoiceInfoReadOnly'
import
BankInfo
from
'./bankInfoReadOnly'
export
default
{
name
:
'Enterprise'
,
components
:
{
Tab
,
BankInfo
,
InvoiceInfo
,
},
data
()
{
return
{
tabNum
:
0
,
flag
:
true
,
bankList
:
[],
baseInfo
:
{},
bank
:
{},
showModalValue
:
false
,
text
:
''
,
}
},
computed
:
{},
watch
:
{
flag
()
{
if
(
this
.
flag
)
{
this
.
text
=
'法人代表信息'
}
else
{
this
.
text
=
'授权信息'
}
},
},
created
()
{
this
.
getbaseInfo
()
this
.
getBankInfo
()
},
methods
:
{
getbaseInfo
()
{
let
vm
=
this
let
url
=
process
.
env
.
basePath
+
'bp_org_info_query'
let
param
=
{
bp_id
:
vm
.
$route
.
params
.
bp_id
,
}
hlsPopup
.
showLoading
(
'请稍候'
)
vm
.
$post
(
url
,
param
).
then
(
function
(
res
)
{
vm
.
hlsPopup
.
hideLoading
()
if
(
res
.
result
===
'S'
)
{
vm
.
baseInfo
=
res
.
info
}
else
{
hlsPopup
.
showLongCenter
(
res
.
message
)
}
})
},
getBankInfo
()
{
let
vm
=
this
let
url
=
process
.
env
.
basePath
+
'bp_bank_query'
let
param
=
{
bp_id
:
vm
.
$route
.
params
.
bp_id
,
}
vm
.
hlsPopup
.
showLoading
(
'请稍候'
)
vm
.
hlsHttp
.
post
(
url
,
param
).
then
(
function
(
res
)
{
vm
.
hlsPopup
.
hideLoading
()
if
(
res
.
result
===
'S'
)
{
vm
.
bankList
=
[...
res
.
lists
]
}
})
},
hideModal
()
{
this
.
showModalValue
=
false
},
getInfo
(
i
,
bank
)
{
this
.
showModalValue
=
i
this
.
bank
=
bank
},
authorizeChange
()
{
this
.
flag
=
!
this
.
flag
if
(
this
.
flag
)
{
this
.
auth_flag
=
'未授权'
}
else
{
this
.
auth_flag
=
'已授权'
}
},
getTabNum
(
i
)
{
this
.
tabNum
=
i
},
},
}
</
script
>
<
style
lang=
'less'
>
#base-info {
font-family: PingFangSC-Regular;
input::placeholder {
color: #b4b4b5;
}
.header {
background-color: #00469c;
color: #fff;
.h-header-btn {
img {
width: 16px;
height: 16px;
margin-left: 4px;
}
span {
font-family: PingFangSC-Semibold;
color: #fff;
margin-left: 16px;
font-size: 17px;
letter-spacing: 0.6px;
line-height: 24px;
}
}
}
.content {
margin-top: 3px;
height: 76%;
.font-color {
color: #656464;
}
.martop {
margin-top: -10px;
}
.userInfo {
height: 40px;
line-height: 40px;
background-color: #fafafa;
color: #00469c;
font-size: 15px;
margin-left: 16px;
position: relative;
}
.userInfo::before {
content: "";
display: block;
width: 4px;
height: 20px;
background-color: #00469c;
position: absolute;
left: -15px;
top: 10px;
}
.types {
margin-top: 0;
}
.authorize {
width: 100%;
height: 32px;
display: flex;
flex-direction: row;
align-items: center;
background: rgba(0, 70, 156, 0.03);
.authorize-select {
// width: 48px;
height: 20px;
font-family: PingFangSC-Regular;
font-size: 12px;
color: #656464;
line-height: 20px;
margin-left: 16px;
}
.authorize-checklist {
width: 16px;
height: 16px;
margin-left: 8px;
div {
width: 100%;
height: 100%;
border: 1px solid #00469c;
border-radius: 3px;
}
}
}
.upload-id-cards {
height: 176px;
background-color: #fff;
span {
display: block;
color: #656464;
margin-left: 16px;
padding-top: 16px;
font-size: 13px;
}
.upload-box {
display: flex;
justify-content: center;
margin-top: 15px;
div {
width: 172px;
height: 120px;
border: 1px dashed #dcdcdd;
text-align: center;
font-size: 14px;
color: #b4b4b5;
.front,
.back {
width: 172px;
height: 120px;
}
}
div:nth-of-type(2) {
margin-left: 7px;
}
img {
margin-top: 32px;
width: 58px;
height: 45px;
}
p {
margin-top: 12px;
font-size: 13px;
}
}
}
.upload-id-card {
height: 122px;
background-color: #fff;
span {
display: block;
color: #656464;
margin-left: 16px;
padding-top: 16px;
font-size: 13px;
}
.upload-box1 {
width: 80px;
height: 80px;
border: 1px dashed #dcdcdd;
text-align: center;
margin-top: 8px;
margin-left: 16px;
img {
margin-top: 30px;
width: 25px;
height: 25px;
}
}
}
.second-part {
margin-top: 9px;
.auto {
color: #b4b4b5;
}
}
.card2 {
padding-bottom: 8px;
height: auto;
background-color: #fff;
margin-bottom: 10px;
span {
color: #656464;
font-size: 13px;
line-height: 18px;
padding-top: 8px;
display: block;
margin-left: 16px;
}
.img-content {
display: flex;
flex-flow: row wrap;
justify-content: flex-start;
align-items: center;
}
.card-upload {
width: 80px;
height: 80px;
border: 1px dashed #dcdcdd;
display: flex;
justify-content: center;
align-items: center;
margin-top: 12px;
margin-left: 16px;
// float: left;
img {
width: 24px;
height: 24px;
}
}
}
}
.put {
width: 175px;
height: 45px;
color: #00469c;
border-radius: 4px;
border: 1px solid #00469c;
background-color: #fafafa;
}
.save {
width: 175px;
height: 45px;
color: #fff;
border-radius: 4px;
background-color: #00469c;
}
.footer-button {
//height: 88px;
padding-top: 15px;
padding-bottom: 15px;
}
.front,
.photo,
.backphoto,
.back {
display: none;
}
.modal-content {
width: 100%;
height: 75%;
position: absolute;
top: 25%;
background-color: #fff;
overflow-y: scroll;
.modal-content-add-top {
width: 320px;
height: 34px;
line-height: 34px;
padding-top: 10px;
background-color: #fff;
padding-bottom: 40px;
position: fixed;
left: 28px;
span {
font-family: PingFangSC-Semibold;
font-size: 15px;
color: #00469c;
letter-spacing: 0.47px;
}
img {
width: 34px;
height: 34px;
float: right;
}
}
.addBack {
display: block;
width: 320px;
margin: 0 auto;
margin-top: 50px;
border-radius: 6px;
margin-bottom: 17px;
}
.card-Info {
margin-bottom: 220px;
}
}
.add-card {
width: 358px;
height: 40px;
background: #00469c;
border-radius: 4px;
color: #fff;
}
.modal {
background-color: rgba(0, 0, 0, 0) !important;
}
}
</
style
>
src/pages/userBind/orgReadOnly/invoiceInfoReadOnly.vue
0 → 100644
View file @
af284f89
<
template
>
<list-item
:item-height=
"44"
>
<item
:showArrow=
"true"
>
<div
slot=
"name"
class=
"font-color"
>
纳税人类型
</div>
<div
slot=
"content"
>
{{
baseInfo
.
taxpayer_type
}}
</div>
</item>
<item
:showArrow=
"true"
>
<div
slot=
"name"
class=
"font-color"
>
发票类型
</div>
<div
slot=
"content"
>
{{
baseInfo
.
invoice_kind_n
}}
</div>
</item>
<item>
<div
slot=
"name"
class=
"font-color"
>
发票抬头
</div>
<div
slot=
"content"
>
{{
baseInfo
.
invoice_title
}}
</div>
</item>
<item>
<div
slot=
"name"
class=
"font-color"
>
发票地址及电话
</div>
<div
slot=
"content"
>
{{
baseInfo
.
invoice_bp_address_phone_num
}}
</div>
</item>
<item>
<div
slot=
"name"
class=
"font-color"
>
发票开户行及账号
</div>
<div
slot=
"content"
>
{{
baseInfo
.
invoice_bp_bank_account
}}
</div>
</item>
<item>
<div
slot=
"name"
class=
"font-color"
>
纳税人识别号
</div>
<div
slot=
"content"
>
{{
baseInfo
.
organization_code
}}
</div>
</item>
</list-item>
</
template
>
<
script
>
export
default
{
name
:
'InvoiceInfo'
,
props
:
[
'baseInfo'
],
data
()
{
return
{}
},
watch
:
{
},
created
()
{
},
updated
()
{
},
methods
:
{
},
}
</
script
>
<
style
scoped
>
input
::placeholder
{
color
:
#B4B4B5
;
}
.font-color
{
color
:
#656464
;
}
</
style
>
src/router/index.js
View file @
af284f89
...
...
@@ -26,7 +26,9 @@ import HlsPopup from '@/pages/hlsPopup'
import
UserBind
from
'@/pages/userBind/userBind'
import
NaturePerson
from
'@/pages/userBind/np/naturePerson'
import
Enterprise
from
'@/pages/userBind/org/enterprise'
// 用户绑定查询
import
NaturePersonReadOnly
from
'@/pages/userBind/npReadOnly/naturePersonReadOnly'
import
EnterpriseReadOnly
from
'@/pages/userBind/orgReadOnly/enterpriseReadOnly'
// 进件审批
import
Base
from
'@/pages/intoApproval/intoApproval/base'
import
IntoList
from
'@/pages/intoApproval/intoList'
...
...
@@ -108,6 +110,9 @@ export default new Router({
{
path
:
'/user-bind'
,
component
:
UserBind
,
name
:
'UserBind'
,
meta
:
{
keepAlive
:
false
}},
{
path
:
'/nature-person'
,
component
:
NaturePerson
,
name
:
'NaturePerson'
,
meta
:
{
keepAlive
:
false
}},
{
path
:
'/enterprise'
,
component
:
Enterprise
,
name
:
'Enterprise'
,
meta
:
{
keepAlive
:
false
}},
// 用户绑定查询
{
path
:
'/nature-person-readonly'
,
component
:
NaturePersonReadOnly
,
name
:
'NaturePersonReadOnly'
,
meta
:
{
keepAlive
:
false
}},
{
path
:
'/enterprise-readonly'
,
component
:
EnterpriseReadOnly
,
name
:
'EnterpriseReadOnly'
,
meta
:
{
keepAlive
:
false
}},
// 进件审批
{
path
:
'/base'
,
component
:
Base
,
name
:
'Base'
,
meta
:
{
keepAlive
:
false
}},
{
path
:
'/refund'
,
component
:
Refund
,
name
:
'Refund'
,
meta
:
{
keepAlive
:
false
}},
...
...
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