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
631b106e
Commit
631b106e
authored
Oct 12, 2019
by
786817560
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'develop' of
https://hel.hand-china.com/xugong/hls-xcmg-vue-app
into develop
parents
8352e033
707411db
Changes
12
Show whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
2935 additions
and
31 deletions
+2935
-31
refund.vue
src/pages/intoApproval/intoApproval/refund.vue
+4
-3
bankInfoWrite.vue
src/pages/personalCenter/npReadWrite/bankInfoWrite.vue
+240
-0
invoiceInfoWrite.vue
src/pages/personalCenter/npReadWrite/invoiceInfoWrite.vue
+158
-0
naturePersonWrite.vue
src/pages/personalCenter/npReadWrite/naturePersonWrite.vue
+910
-0
bankInfoWrite.vue
src/pages/personalCenter/orgWrite/bankInfoWrite.vue
+240
-0
enterpriseWrite.vue
src/pages/personalCenter/orgWrite/enterpriseWrite.vue
+1100
-0
invoiceInfoWrite.vue
src/pages/personalCenter/orgWrite/invoiceInfoWrite.vue
+186
-0
personList.vue
src/pages/personalCenter/personList.vue
+86
-15
tab.vue
src/pages/tab.vue
+1
-3
invoiceInfo.vue
src/pages/userBind/np/invoiceInfo.vue
+0
-6
naturePerson.vue
src/pages/userBind/np/naturePerson.vue
+4
-4
index.js
src/router/index.js
+6
-0
No files found.
src/pages/intoApproval/intoApproval/refund.vue
View file @
631b106e
...
...
@@ -35,8 +35,8 @@
<span>
¥
{{
info
.
lease_charge
|
NumFormat
}}
</span>
</div>
<div
class=
"right"
>
<span
class=
"line"
>
合同期数
</span>
<span>
{{
info
.
lease_times
}}
</span>
<span
class=
"line
date-sum
"
>
合同期数
</span>
<span>
{{
info
.
lease_times
}}
</span>
</div>
</div>
</div>
...
...
@@ -204,6 +204,7 @@ export default {
height: 12px;
color: rgba(255, 255, 255, 0.6);
}
.line::before {
content: "";
display: inline-block;
...
...
@@ -226,7 +227,7 @@ export default {
}
}
.right {
float: right
;
padding-left:180px
;
span:last-child {
display: block;
font-family: PingFangSC-Semibold;
...
...
src/pages/personalCenter/npReadWrite/bankInfoWrite.vue
0 → 100644
View file @
631b106e
<
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"
>
(共
{{
getBankList
.
length
}}
张)
</span>
</span>
</div>
<img
src=
"@/assets/userBind/add.png"
class=
"icon-right"
@
click=
"sendFlag"
>
</div>
<div
class=
"clear"
/>
<div
class=
"card-content"
>
<ul>
<li
v-for=
"(item,index) in getBankList"
:key=
"index"
>
<item-option
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
slot=
"buttons"
class=
"button"
>
<option-button
text
@
click
.
native=
"deleteFun(item.bank_account_num)"
/>
</div>
</item-option>
</li>
</ul>
</div>
</div>
</div>
</
template
>
<
script
>
import
backImg1
from
'@/assets/userBind/nong.png'
import
backImg2
from
'@/assets/userBind/unNong.png'
export
default
{
props
:
{
'getBankList'
:
{
default
:
[],
type
:
Array
,
},
},
data
()
{
return
{
backImg
:
null
,
showModalValue
:
true
,
}
},
methods
:
{
sendFlag
()
{
this
.
showModalValue
=
true
this
.
$emit
(
'getInfo'
,
this
.
showModalValue
)
},
changeBgImg
(
item
)
{
if
(
item
.
bank_full_name
===
'中国农业银行'
)
{
return
backImg1
}
else
{
return
backImg2
}
},
selectLast
(
item
)
{
let
num
=
item
.
bank_account_num
return
num
.
substring
(
num
.
length
-
4
)
},
deleteFun
(
e
)
{
let
index
=
this
.
getBankList
.
findIndex
(
item
=>
{
if
(
item
.
bank_account_num
===
e
)
{
return
true
}
})
this
.
getBankList
.
splice
(
index
,
1
)
let
vm
=
this
let
url
=
process
.
env
.
basePath
+
'bp_bank_delete'
let
param
=
{
'master'
:
{
'bp_id'
:
window
.
localStorage
.
user_id
,
'bank_account_num'
:
e
,
},
}
vm
.
hlsPopup
.
showLoading
(
'请稍候'
)
vm
.
hlsHttp
.
post
(
url
,
param
).
then
(
function
(
res
)
{
vm
.
hlsPopup
.
hideLoading
()
if
(
res
.
result
===
'S'
)
{
console
.
log
(
res
)
}
})
},
},
}
</
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/personalCenter/npReadWrite/invoiceInfoWrite.vue
0 → 100644
View file @
631b106e
<
template
>
<list-item
:item-height=
"44"
>
<item
:showArrow=
"true"
>
<div
slot=
"name"
>
纳税人类型
</div>
<input
slot=
"content"
v-model=
"invoiceInfo.taxpayer_type_n"
type=
"text"
readonly
placeholder=
"请选择"
onfocus=
"this.blur()"
@
click=
"selectTaxpayer"
>
</item>
<item
:showArrow=
"true"
>
<div
slot=
"name"
>
发票类型
</div>
<input
slot=
"content"
v-model=
"invoiceInfo.invoice_kind_n"
type=
"text"
readonly
placeholder=
"请选择"
onfocus=
"this.blur()"
@
click=
"selectInvoiceType"
>
</item>
<item>
<div
slot=
"name"
>
发票抬头
</div>
<input
slot=
"content"
v-model=
"invoiceInfo.invoice_title"
type=
"text"
placeholder=
"请输入发票抬头"
>
</item>
<item>
<div
slot=
"name"
>
发票地址及电话
</div>
<input
slot=
"content"
v-model=
"invoiceInfo.invoice_bp_address_phone_num"
type=
"text"
placeholder=
"请输入发票地址及电话"
>
</item>
<item>
<div
slot=
"name"
>
发票开户行及账号
</div>
<input
slot=
"content"
v-model=
"invoiceInfo.invoice_bp_bank_account"
type=
"text"
placeholder=
"请输入发票开户行及账号"
>
</item>
</list-item>
</
template
>
<
script
>
export
default
{
props
:
{
'baseInfo'
:
{
type
:
Object
,
default
:
{},
},
'tabNum'
:
{
type
:
Number
,
default
:
0
,
},
},
data
()
{
return
{
invoicList
:
[],
taxpayerList
:
[],
invoiceInfo
:
{
invoice_kind_n
:
''
,
taxpayer_type_n
:
''
,
taxpayer_type
:
''
,
invoice_kind
:
''
,
invoice_title
:
''
,
invoice_bp_address_phone_num
:
''
,
invoice_bp_bank_account
:
''
,
},
}
},
watch
:
{
tabNum
(
newVal
,
oldVal
)
{
if
(
newVal
===
2
)
{
Object
.
assign
(
this
.
invoiceInfo
,
this
.
baseInfo
)
}
},
},
created
()
{
this
.
getInvoiceType
()
this
.
getTaxpayer
()
},
mounted
()
{
},
updated
()
{
this
.
sendList
()
},
methods
:
{
getInvoiceType
()
{
let
vm
=
this
let
url
=
process
.
env
.
basePath
+
'bp_invoice_kind_query'
let
param
=
{}
vm
.
hlsPopup
.
showLoading
(
'请稍候'
)
vm
.
hlsHttp
.
post
(
url
,
param
).
then
(
function
(
res
)
{
vm
.
hlsPopup
.
hideLoading
()
if
(
res
.
result
===
'S'
)
{
vm
.
invoicList
=
res
.
lists
.
map
(
item
=>
{
return
{
code
:
item
.
invoice_kind
,
code_name
:
item
.
invoice_kind_n
,
}
})
}
})
},
getTaxpayer
()
{
let
vm
=
this
let
url
=
process
.
env
.
basePath
+
'bp_taxpayer_type_query'
let
param
=
{}
vm
.
hlsPopup
.
showLoading
(
'请稍候'
)
vm
.
hlsHttp
.
post
(
url
,
param
).
then
(
function
(
res
)
{
vm
.
hlsPopup
.
hideLoading
()
if
(
res
.
result
===
'S'
)
{
vm
.
taxpayerList
=
res
.
lists
.
map
(
item
=>
{
return
{
code
:
item
.
taxpayer_type
,
code_name
:
item
.
taxpayer_type_n
,
}
})
}
})
},
selectInvoiceType
(
e
)
{
let
vm
=
this
vm
.
hlsPopup
.
selectList
({
list
:
vm
.
invoicList
,
code
:
'bp_type'
,
object
:
{},
returnItem
:
function
(
index
,
obj
)
{
vm
.
invoiceInfo
.
invoice_kind
=
obj
.
bp_type
vm
.
invoiceInfo
.
invoice_kind_n
=
obj
.
bp_type_n
},
})
},
selectTaxpayer
(
e
)
{
let
vm
=
this
vm
.
hlsPopup
.
selectList
({
list
:
vm
.
taxpayerList
,
code
:
'bp_type'
,
object
:
{},
returnItem
:
function
(
index
,
obj
)
{
vm
.
invoiceInfo
.
taxpayer_type
=
obj
.
bp_type
vm
.
invoiceInfo
.
taxpayer_type_n
=
obj
.
bp_type_n
},
})
},
sendList
()
{
this
.
$emit
(
'getinvoiceList'
,
this
.
invoiceInfo
)
},
},
}
</
script
>
<
style
scoped
>
input
::placeholder
{
color
:
#B4B4B5
;
}
</
style
>
src/pages/personalCenter/npReadWrite/naturePersonWrite.vue
0 → 100644
View file @
631b106e
<!--
* @Description: In User Settings Edit
* @Author: your name
* @Date: 2019-09-30 15:18:52
* @LastEditTime: 2019-10-09 16:41:11
* @LastEditors: Please set LastEditors
-->
<
template
>
<h-view
id=
"base-info1-write"
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>
<input
slot=
"content"
v-model=
"baseInfo.bp_type_n"
placeholder=
"请选择"
type=
"text"
readonly
onfocus=
"this.blur()"
@
click=
"selectIdType()"
>
</item>
<item
v-if=
"isPaople"
>
<div
slot=
"name"
class=
"required"
>
业务经办人
</div>
<input
slot=
"content"
v-model=
"baseInfo.agent_username"
placeholder=
"请输入业务经办员工代码"
>
</item>
<item
v-if=
"!isPaople"
>
<div
slot=
"name"
class=
"required"
>
营业执照
</div>
<input
slot=
"content"
v-model=
"baseInfo.business_license_num"
placeholder=
"请输入营业执照号"
>
</item>
</list-item>
<div
class=
"userInfo"
>
客户信息
</div>
<div
class=
"upload-id-card"
>
<span>
身份证照片上传
</span>
<div
class=
"upload-box"
>
<div
@
click=
"show()"
>
<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"
class=
"required"
>
姓名
</div>
<input
slot=
"content"
v-model=
"baseInfo.bp_name"
placeholder=
"上传身份证自动填充"
class=
"auto"
>
</item>
<item>
<div
slot=
"name"
class=
"required"
>
身份证号码
</div>
<input
slot=
"content"
v-model=
"baseInfo.id_card_no"
placeholder=
"上传身份证自动填充"
class=
"auto"
>
</item>
<item>
<div
slot=
"name"
class=
"required"
>
手机号码
</div>
<input
slot=
"content"
v-model=
"baseInfo.cell_phone"
placeholder=
"请输入手机号码"
>
</item>
<item>
<div
slot=
"name"
class=
"required"
>
居住地址
</div>
<input
slot=
"content"
v-model=
"baseInfo.living_address"
placeholder=
"请输入居住地址"
>
</item>
<item>
<div
slot=
"name"
class=
"required"
>
户籍地址
</div>
<input
slot=
"content"
v-model=
"baseInfo.address_on_resident_booklit"
placeholder=
"请输入户籍地址"
>
</item>
<item
:showArrow=
"true"
>
<div
slot=
"name"
class=
"required"
>
学历
</div>
<input
slot=
"content"
v-model=
"baseInfo.academic_background_n"
placeholder=
"请选择学历"
readonly
onfocus=
"this.blur()"
@
click=
"selectBackType"
>
</item>
<item
:showArrow=
"true"
>
<div
slot=
"name"
class=
"required"
>
婚姻状况
</div>
<input
slot=
"content"
v-model=
"baseInfo.marital_status_n"
placeholder=
"请选择"
readonly
onfocus=
"this.blur()"
@
click=
"selectMarital"
>
</item>
</list-item>
<div
v-if=
"hasSP"
>
<div
class=
"userInfo"
>
配偶信息
</div>
<list-item
:item-height=
"44"
>
<item>
<div
slot=
"name"
class=
"required"
>
姓名
</div>
<input
slot=
"content"
v-model=
"baseInfo.bp_name_sp"
placeholder=
"请输入姓名"
>
</item>
<item>
<div
slot=
"name"
class=
"required"
>
手机号码
</div>
<input
slot=
"content"
v-model=
"baseInfo.spouse_phone"
placeholder=
"请输入手机号码"
>
</item>
<item>
<div
slot=
"name"
class=
"required"
>
工作单位
</div>
<input
slot=
"content"
v-model=
"baseInfo.working_place_sp"
placeholder=
"请输入工作单位"
>
</item>
<item>
<div
slot=
"name"
class=
"required"
>
居住地址
</div>
<input
slot=
"content"
v-model=
"baseInfo.address_sp"
placeholder=
"请输入居住地址"
>
</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"
:getBankList=
"getBankList"
@
getInfo=
"getInfo"
/>
<InvoiceInfo
v-show=
"tabNum==2"
:baseInfo=
"baseInfo"
:tabNum=
"tabNum"
@
getinvoiceList=
"getinvoiceList"
/>
</h-content>
<bottom-tab
class=
"footer-button"
>
<tab-button
class=
"put"
@
click
.
native=
"putData"
>
提交
</tab-button>
<tab-button
class=
"save"
@
click
.
native=
"verified"
>
保存
</tab-button>
</bottom-tab>
<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>
<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>
<bottom-tab
class=
"add-box"
>
<tab-button
class=
"add-card"
@
click
.
native=
"addBankInfo"
>
添加
</tab-button>
</bottom-tab>
</h-modal>
</h-view>
</
template
>
<
script
>
import
Tab
from
'@/components/tab'
import
InvoiceInfo
from
'@/pages/personalCenter/npReadWrite/invoiceInfoWrite'
import
BankInfo
from
'@/pages/personalCenter/npReadWrite/bankInfoWrite'
export
default
{
components
:
{
Tab
,
InvoiceInfo
,
BankInfo
,
},
data
()
{
return
{
list
:
{},
hasSP
:
false
,
isPaople
:
false
,
isEnter
:
false
,
showModalValue
:
false
,
isSave
:
false
,
tabNum
:
0
,
upload_list
:
[],
bp_type_n
:
''
,
typeList
:
[],
backList
:
[],
bankList
:
[],
maritalList
:
[],
getBankList
:
[],
bank
:
{
bank_account_num
:
''
,
bank_account_name
:
''
,
bank_card_type
:
'信用卡'
,
bank_full_name
:
''
,
bank_branch_name
:
''
,
},
img_url
:
{},
baseInfo
:
{
bp_type
:
''
,
marital_status_n
:
''
,
bp_class
:
this
.
$route
.
params
.
bp_class
,
bp_name
:
''
,
id_card_no
:
''
,
cell_phone
:
''
,
living_address
:
''
,
address_on_resident_booklit
:
''
,
marital_status
:
''
,
academic_background_n
:
''
,
academic_background
:
''
,
bp_name_sp
:
''
,
spouse_phone
:
''
,
working_place_sp
:
''
,
address_sp
:
''
,
invoice_bp_bank_account
:
''
,
taxpayer_type
:
''
,
invoice_title
:
''
,
invoice_bp_address_phone_num
:
''
,
invoice_kind
:
''
,
user_phone
:
window
.
localStorage
.
user_phone
,
},
}
},
watch
:
{
'baseInfo.bp_type_n'
(
newVal
,
oldVal
)
{
let
vm
=
this
if
(
vm
.
baseInfo
.
bp_type
===
'TENANT'
||
vm
.
baseInfo
.
bp_type
===
'GUTA'
)
{
vm
.
isPaople
=
true
vm
.
isEnter
=
false
}
else
if
(
vm
.
baseInfo
.
bp_type
===
'AGENT'
||
vm
.
baseInfo
.
bp_type
===
'OFFICE'
||
vm
.
baseInfo
.
bp_type
===
'FACTORY'
)
{
vm
.
isEnter
=
true
vm
.
isPaople
=
false
}
},
'baseInfo.marital_status_n'
:
function
(
newVal
,
oldVal
)
{
if
(
newVal
===
'已婚'
)
{
this
.
hasSP
=
true
}
else
{
this
.
hasSP
=
false
this
.
baseInfo
.
bp_name_sp
=
''
this
.
baseInfo
.
spouse_phone
=
''
this
.
baseInfo
.
working_place_sp
=
''
this
.
baseInfo
.
address_sp
=
''
}
},
},
created
()
{
this
.
getBpType
()
this
.
getEducationBackground
()
this
.
getMarital
()
this
.
getBankInfo
()
},
beforeRouteEnter
(
to
,
from
,
next
)
{
next
(
vm
=>
{
vm
.
basicInfoQuery
()
})
},
updated
()
{
this
.
getinvoiceList
()
},
methods
:
{
async
verified
()
{
let
bpId
=
await
this
.
saveWord
()
this
.
getBankInfo
()
},
async
saveProtocol
()
{
let
vm
=
this
let
url
=
process
.
env
.
basePath
+
'bp_np_bind_save'
delete
this
.
baseInfo
.
bp_id
let
param
=
{
master
:
this
.
baseInfo
,
}
vm
.
hlsPopup
.
showLoading
(
'保存中!'
)
let
res
=
await
vm
.
hlsHttp
.
post
(
url
,
param
)
if
(
res
.
result
===
'S'
)
{
vm
.
hlsPopup
.
showSuccess
(
'保存成功'
)
vm
.
isSave
=
true
window
.
localStorage
.
setItem
(
'user_id'
,
res
.
bp_id
)
window
.
sessionStorage
.
setItem
(
'user_id'
,
res
.
bp_id
)
window
.
sessionStorage
.
setItem
(
'bp_name'
,
vm
.
baseInfo
.
bp_name
)
window
.
localStorage
.
setItem
(
'bp_name'
,
vm
.
baseInfo
.
bp_name
)
return
res
.
bp_id
}
/* vm.hlsHttp.post(url, param).then(function (res) {
vm.hlsPopup.hideLoading()
if (res.result === 'S') {
vm.hlsPopup.showSuccess('保存成功')
vm.isSave = true
return res.bp_id
window.localStorage.setItem('user_id', res.bp_id)
window.sessionStorage.setItem('user_id', res.bp_id)
window.sessionStorage.setItem('bp_name', vm.baseInfo.bp_name)
window.localStorage.setItem('bp_name', vm.baseInfo.bp_name)
vm.getBankInfo()
}
}) */
},
async
saveWord
()
{
let
vm
=
this
if
(
!
vm
.
baseInfo
.
bp_type
)
{
vm
.
hlsPopup
.
showLongCenter
(
'客户类型不能为空!'
)
}
else
if
(
vm
.
isPaople
&&
!
vm
.
baseInfo
.
agent_username
)
{
vm
.
hlsPopup
.
showLongCenter
(
'业务经办员工代码不能为空!'
)
}
else
if
(
!
vm
.
isPaople
&&
!
vm
.
baseInfo
.
business_license_num
)
{
vm
.
hlsPopup
.
showLongCenter
(
'营业执照号不能为空!'
)
}
else
if
(
!
vm
.
baseInfo
.
bp_name
)
{
vm
.
hlsPopup
.
showLongCenter
(
'客户姓名不能为空!'
)
}
else
if
(
!
vm
.
baseInfo
.
id_card_no
)
{
vm
.
hlsPopup
.
showLongCenter
(
'身份证号不能为空!'
)
}
else
if
(
!
vm
.
baseInfo
.
cell_phone
)
{
vm
.
hlsPopup
.
showLongCenter
(
'手机号不能为空!'
)
debugger
}
else
if
(
!
vm
.
baseInfo
.
living_address
)
{
vm
.
hlsPopup
.
showLongCenter
(
'居住地址不能为空!'
)
}
else
if
(
!
vm
.
baseInfo
.
address_on_resident_booklit
)
{
vm
.
hlsPopup
.
showLongCenter
(
'户籍地址不能为空!'
)
}
else
if
(
!
vm
.
baseInfo
.
academic_background
)
{
vm
.
hlsPopup
.
showLongCenter
(
'学历不能为空!'
)
}
else
if
(
!
vm
.
baseInfo
.
marital_status
)
{
vm
.
hlsPopup
.
showLongCenter
(
'婚姻状况不能为空!'
)
}
else
if
((
vm
.
marital_status_n
===
'已婚'
)
&&
!
vm
.
baseInfo
.
bp_name_sp
)
{
vm
.
hlsPopup
.
showLongCenter
(
'配偶姓名不能为空!'
)
}
else
if
((
vm
.
marital_status_n
===
'已婚'
)
&&
!
vm
.
baseInfo
.
spouse_phone
)
{
vm
.
hlsPopup
.
showLongCenter
(
'配偶手机号不能为空!'
)
}
else
if
((
vm
.
marital_status_n
===
'已婚'
)
&&
!
vm
.
baseInfo
.
working_place_sp
)
{
vm
.
hlsPopup
.
showLongCenter
(
'配偶工作单位不能为空!'
)
}
else
if
((
vm
.
marital_status_n
===
'已婚'
)
&&
!
vm
.
baseInfo
.
address_sp
)
{
vm
.
hlsPopup
.
showLongCenter
(
'配偶居住地址不能为空!'
)
}
else
if
(
!
vm
.
hlsUtil
.
phoneNumber
(
vm
.
baseInfo
.
cell_phone
))
{
vm
.
hlsPopup
.
showLongCenter
(
'手机号码有误!'
)
}
else
{
let
bpId
=
await
vm
.
saveProtocol
()
return
bpId
}
},
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'
)
{
Object
.
assign
(
vm
.
baseInfo
,
res
.
info
)
}
else
{
hlsPopup
.
showLongCenter
(
res
.
message
)
}
})
},
uploadIdCardFront
()
{
let
vm
=
this
let
url
=
process
.
env
.
basePath
+
'attachment_upload'
let
param
=
{
file_path
:
this
.
upload_list
[
0
].
filePath
,
source_type
:
''
,
pkvalue
:
window
.
localStorage
.
getItem
(
'user_id'
),
user_id
:
window
.
localStorage
.
getItem
(
'user_id'
),
}
vm
.
hlsHttp
.
post
(
url
,
param
).
then
(
function
(
res
)
{
vm
.
hlsPopup
.
hideLoading
()
if
(
res
.
result
===
'S'
)
{
console
.
log
(
res
.
response
.
attachment_id
)
}
})
},
show
()
{
let
vm
=
this
hlsPopup
.
showActionSheet
({
titleText
:
'请选择照片'
,
buttonArray
:
[
'拍照'
,
'从相册取'
],
callback
:
index
=>
{
if
(
index
===
0
)
{
vm
.
openCamera
()
}
else
{
vm
.
takePicture
()
}
},
})
},
openCamera
()
{
let
vm
=
this
let
obj
=
{
// 'table_pk_value': check_id,
table_name
:
'PRJ_CDD_ITEM_CHECK'
,
// 'check_id': check_id,
picture
:
''
,
filePath
:
''
,
attachment_id
:
''
,
timestamp
:
new
Date
().
getTime
(),
}
let
cameraoptions
=
{
quality
:
100
,
}
let
success
=
function
(
imgdata
)
{
obj
.
picture
=
imgdata
obj
.
filePath
=
imgdata
vm
.
upload_list
.
push
(
obj
)
}
let
error
=
function
()
{
console
.
log
(
'出现错误'
)
}
hlsUtil
.
openCamera
(
cameraoptions
,
success
,
error
)
},
takePicture
()
{
let
vm
=
this
let
cameraoptions
=
{
quality
:
100
,
}
let
success
=
function
(
imgUrl
)
{
// for (let i = 0; i
<
imgUrl
.
length
;
i
++
)
{
let
obj
=
{
// 'table_pk_value': check_id,
table_name
:
'PRJ_CDD_ITEM_CHECK'
,
// 'check_id': check_id,
picture
:
''
,
filePath
:
''
,
attachment_id
:
''
,
timestamp
:
new
Date
().
getTime
(),
sequence
:
''
,
}
obj
.
picture
=
imgUrl
obj
.
filePath
=
imgUrl
// obj.picture = imgUrl[i]
// obj.filePath = imgUrl[i]
// obj.sequence = i + 1
// push到上传列表中 通知前台数据发生改变
vm
.
upload_list
.
push
(
obj
)
}
// }
let
error
=
function
()
{
console
.
log
(
'出现错误'
)
}
vm
.
hlsUtil
.
takePicture
(
cameraoptions
,
success
,
error
)
},
successCall
()
{
this
.
hideModal
()
this
.
getBankInfo
()
this
.
bank
.
bank_account_num
=
''
this
.
bank
.
bank_account_name
=
''
this
.
bank
.
bank_full_name
=
''
this
.
bank
.
bank_branch_name
=
''
},
addBankInfo
()
{
this
.
hlsPopup
.
showConfirm
({
title
:
'提示'
,
content
:
'您确认添加吗?'
,
onConfirm
:
(
data
)
=>
{
console
.
log
(
data
)
if
(
data
)
{
let
bpName
=
window
.
localStorage
.
getItem
(
'bp_name'
)
if
(
this
.
bank
.
bank_account_num
===
''
||
this
.
bank
.
bank_account_name
===
''
||
this
.
bank
.
bank_full_name
===
''
||
this
.
bank
.
bank_branch_name
===
''
)
{
this
.
hlsPopup
.
showLongCenter
(
'请输入完整字段'
)
}
else
if
(
this
.
hlsUtil
.
isBankAccount
(
this
.
bank
.
bank_account_num
))
{
this
.
hlsPopup
.
showLongCenter
(
'银行卡号有误'
)
}
else
if
(
this
.
bank
.
bank_account_name
!==
bpName
)
{
this
.
hlsPopup
.
showLongCenter
(
'请输入本人银行卡'
)
}
else
{
let
list
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
bank
))
this
.
bankList
.
push
(
list
)
let
vm
=
this
let
url
=
process
.
env
.
basePath
+
'bp_bank_save'
let
param
=
{
master
:
{
bp_id
:
window
.
localStorage
.
getItem
(
'user_id'
),
bank_lists
:
this
.
bankList
,
},
}
vm
.
hlsPopup
.
showLoading
(
'请稍候'
)
vm
.
hlsHttp
.
post
(
url
,
param
).
then
(
function
(
res
)
{
vm
.
hlsPopup
.
hideLoading
()
if
(
res
.
result
===
'S'
)
{
vm
.
successCall
()
vm
.
hlsPopup
.
showLongCenter
(
'保存成功'
)
setTimeout
(
vm
.
successCall
,
2000
)
}
})
}
}
},
})
},
putData
()
{
if
(
window
.
localStorage
.
getItem
(
'user_id'
)
&&
window
.
localStorage
.
getItem
(
'user_id'
)
!==
'undefined'
)
{
this
.
hlsPopup
.
showConfirm
({
title
:
'提示'
,
content
:
'您确认提交吗?'
,
onConfirm
:
(
data
)
=>
{
console
.
log
(
data
)
if
(
data
)
{
let
vm
=
this
let
url
=
process
.
env
.
basePath
+
'bp_bind_submit'
let
param
=
{
master
:
{
bp_id
:
window
.
localStorage
.
getItem
(
'user_id'
),
company_id
:
'2145'
,
},
}
vm
.
hlsPopup
.
showLoading
(
'请稍候'
)
vm
.
hlsHttp
.
post
(
url
,
param
).
then
(
function
(
res
)
{
vm
.
hlsPopup
.
hideLoading
()
if
(
res
.
result
===
'S'
)
{
vm
.
hlsPopup
.
showSuccess
(
'提交成功'
)
vm
.
$router
.
push
({
name
:
'Home'
,
})
}
})
}
},
})
}
else
{
this
.
hlsPopup
.
showLongCenter
(
'基本信息还未保存'
)
}
},
hideModal
()
{
this
.
showModalValue
=
false
},
getInfo
(
i
)
{
this
.
showModalValue
=
i
},
showModal
()
{
this
.
showModalValue
=
true
},
selectIdType
(
e
)
{
let
vm
=
this
vm
.
hlsPopup
.
selectList
({
list
:
vm
.
typeList
,
code
:
'bp_type'
,
object
:
{},
returnItem
:
function
(
index
,
obj
)
{
vm
.
baseInfo
.
bp_type
=
obj
.
bp_type
vm
.
baseInfo
.
bp_type_n
=
obj
.
bp_type_n
},
})
},
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
.
getBankList
=
res
.
lists
}
}).
catch
(()
=>
{
this
.
hlsPopup
.
showLongCenter
(
'传入参数异常'
)
})
},
getinvoiceList
(
i
)
{
Object
.
assign
(
this
.
baseInfo
,
i
)
},
selectBackType
(
e
)
{
let
vm
=
this
vm
.
hlsPopup
.
selectList
({
list
:
vm
.
backList
,
code
:
'bp_type'
,
object
:
{},
returnItem
:
function
(
index
,
obj
)
{
vm
.
baseInfo
.
academic_background
=
obj
.
bp_type
vm
.
baseInfo
.
academic_background_n
=
obj
.
bp_type_n
},
})
},
selectMarital
(
e
)
{
let
vm
=
this
vm
.
hlsPopup
.
selectList
({
list
:
vm
.
maritalList
,
code
:
'bp_type'
,
object
:
{},
returnItem
:
function
(
index
,
obj
)
{
vm
.
baseInfo
.
marital_status
=
obj
.
bp_type
vm
.
baseInfo
.
marital_status_n
=
obj
.
bp_type_n
},
})
},
getMarital
()
{
let
vm
=
this
let
url
=
process
.
env
.
basePath
+
'bp_marital_status_query'
let
param
=
{}
vm
.
hlsPopup
.
showLoading
(
'请稍候'
)
vm
.
hlsHttp
.
post
(
url
,
param
).
then
(
function
(
res
)
{
vm
.
hlsPopup
.
hideLoading
()
if
(
res
.
result
===
'S'
)
{
vm
.
maritalList
=
res
.
lists
.
map
(
item
=>
{
return
{
code
:
item
.
marital_status
,
code_name
:
item
.
marital_status_n
,
}
})
}
})
},
getEducationBackground
()
{
let
vm
=
this
let
url
=
process
.
env
.
basePath
+
'bp_academic_bg_query'
let
param
=
{}
vm
.
hlsPopup
.
showLoading
(
'请稍候'
)
vm
.
hlsHttp
.
post
(
url
,
param
).
then
(
function
(
res
)
{
vm
.
hlsPopup
.
hideLoading
()
if
(
res
.
result
===
'S'
)
{
vm
.
backList
=
res
.
lists
.
map
(
item
=>
{
return
{
code
:
item
.
academic_bg
,
code_name
:
item
.
academic_bg_n
,
}
})
}
})
},
getTabNum
(
i
)
{
this
.
tabNum
=
i
},
fileSuccess
(
fileList
,
result
)
{
this
.
fileList
=
fileList
this
.
fileList
.
forEach
((
itemFile
,
index
)
=>
{
if
(
result
.
response
&&
itemFile
.
file
&&
!
itemFile
.
attachment_id
&&
result
.
response
.
fileName
===
itemFile
.
file
.
name
)
{
itemFile
.
attachment_id
=
result
.
response
.
attachment_id
}
})
},
getBpType
()
{
let
vm
=
this
let
url
=
process
.
env
.
basePath
+
'bp_type_select'
let
param
=
{}
vm
.
hlsPopup
.
showLoading
(
'请稍候'
)
vm
.
hlsHttp
.
post
(
url
,
param
).
then
(
function
(
res
)
{
vm
.
hlsPopup
.
hideLoading
()
if
(
res
.
result
===
'S'
)
{
vm
.
typeList
=
res
.
lists
.
map
(
item
=>
{
return
{
code
:
item
.
bp_type
,
code_name
:
item
.
bp_type_n
,
}
})
}
})
},
},
}
</
script
>
<
style
lang=
"less"
>
#base-info1-write {
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;
}
.put1 {
width: 100%;
height: 45px;
color: #fff;
border-radius: 4px;
// border: 1px solid #00469c;
background-color: #00469c;
}
.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/personalCenter/orgWrite/bankInfoWrite.vue
0 → 100644
View file @
631b106e
<
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"
>
(共
{{
getBankList
.
length
}}
张)
</span>
</span>
</div>
<img
src=
"@/assets/userBind/add.png"
class=
"icon-right"
@
click=
"sendFlag"
>
</div>
<div
class=
"clear"
/>
<div
class=
"card-content"
>
<ul>
<li
v-for=
"(item,index) in getBankList"
:key=
"index"
>
<item-option
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
slot=
"buttons"
class=
"button"
>
<option-button
text
@
click
.
native=
"deleteFun(item.bank_account_num)"
/>
</div>
</item-option>
</li>
</ul>
</div>
</div>
</div>
</
template
>
<
script
>
import
backImg1
from
'@/assets/userBind/nong.png'
import
backImg2
from
'@/assets/userBind/unNong.png'
export
default
{
props
:
{
'getBankList'
:
{
default
:
[],
type
:
Array
,
},
},
data
()
{
return
{
backImg
:
null
,
showModalValue
:
true
,
}
},
methods
:
{
sendFlag
()
{
this
.
showModalValue
=
true
this
.
$emit
(
'getInfo'
,
this
.
showModalValue
)
},
changeBgImg
(
item
)
{
if
(
item
.
bank_full_name
===
'中国农业银行'
)
{
return
backImg1
}
else
{
return
backImg2
}
},
selectLast
(
item
)
{
let
num
=
item
.
bank_account_num
return
num
.
substring
(
num
.
length
-
4
)
},
deleteFun
(
e
)
{
let
index
=
this
.
getBankList
.
findIndex
(
item
=>
{
if
(
item
.
bank_account_num
===
e
)
{
return
true
}
})
this
.
getBankList
.
splice
(
index
,
1
)
let
vm
=
this
let
url
=
process
.
env
.
basePath
+
'bp_bank_delete'
let
param
=
{
'master'
:
{
'bp_id'
:
vm
.
$route
.
params
.
bp_id
,
'bank_account_num'
:
e
,
},
}
vm
.
hlsPopup
.
showLoading
(
'请稍候'
)
vm
.
hlsHttp
.
post
(
url
,
param
).
then
(
function
(
res
)
{
vm
.
hlsPopup
.
hideLoading
()
if
(
res
.
result
===
'S'
)
{
console
.
log
(
res
)
}
})
},
},
}
</
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/personalCenter/orgWrite/enterpriseWrite.vue
0 → 100644
View file @
631b106e
<!--
* @Description: In User Settings Edit
* @Author: your name
* @Date: 2019-09-30 15:18:52
* @LastEditTime: 2019-10-08 15:26:23
* @LastEditors: Please set LastEditors
-->
<
template
>
<h-view
id=
"base-info1"
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>
<input
slot=
"content"
v-model=
"baseInfo.bp_type_n"
placeholder=
"请选择"
type=
"text"
readonly
@
click=
"selectIdType()"
>
</item>
<item
v-if=
"bp_type_flag"
>
<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>
<input
slot=
"content"
v-model=
"baseInfo.bp_name"
placeholder=
"上传营业执照自动填充"
class=
"auto"
>
</item>
<item>
<div
slot=
"name"
class=
"font-color required"
>
企业类型
</div>
<input
slot=
"content"
v-model=
"baseInfo.enterprise_type"
placeholder=
"上传营业执照自动填充"
class=
"auto"
>
</item>
<item>
<div
slot=
"name"
class=
"font-color"
>
统一社会信用代码
</div>
<input
slot=
"content"
v-model=
"baseInfo.organization_code"
placeholder=
"上传营业执照自动填充"
class=
"auto"
>
</item>
<item>
<div
slot=
"name"
class=
"font-color"
>
注册资本
</div>
<input
slot=
"content"
v-model=
"baseInfo.registered_capital"
type=
"number"
placeholder=
"上传营业执照自动填充"
class=
"auto"
>
</item>
<item>
<div
slot=
"name"
class=
"font-color"
>
法定代表人
</div>
<input
slot=
"content"
v-model=
"baseInfo.legal_person"
placeholder=
"上传营业执照自动填充"
class=
"auto"
>
</item>
<item>
<div
slot=
"name"
class=
"font-color required"
>
注册地址
</div>
<input
slot=
"content"
v-model=
"baseInfo.registered_place"
placeholder=
"请输入注册地址"
>
</item>
<item>
<div
slot=
"name"
class=
"font-color required"
>
经营地址
</div>
<input
slot=
"content"
v-model=
"baseInfo.business_address"
placeholder=
"请输入经营地址"
>
</item>
<item>
<div
slot=
"name"
class=
"font-color required"
>
固定电话
</div>
<input
slot=
"content"
v-model=
"baseInfo.phone"
placeholder=
"请输入固定电话"
>
</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>
<input
slot=
"content"
v-model=
"authMsg.auth_person_name"
placeholder=
"上传身份证自动填充"
class=
"auto"
>
</item>
<item>
<div
slot=
"name"
class=
"font-color required"
>
身份证号
</div>
<input
slot=
"content"
v-model=
"authMsg.auth_person_id_card"
placeholder=
"上传身份证自动填充"
class=
"auto"
>
</item>
<item>
<div
slot=
"name"
class=
"font-color required"
>
公司职务
</div>
<input
slot=
"content"
v-model=
"authMsg.auth_person_position"
placeholder=
"请输入公司职务"
>
</item>
<item>
<div
slot=
"name"
class=
"font-color required"
>
授权事项
</div>
<input
slot=
"content"
v-model=
"authMsg.auth_person_matter"
placeholder=
"请输入授权事项"
>
</item>
</list-item>
<!-- 未授权 -->
<list-item
v-if=
"flag "
:item-height=
"44"
class=
"second-part"
>
<item>
<div
slot=
"name"
class=
"font-color"
>
姓名
</div>
<input
slot=
"content"
v-model=
"legal_personMsg.id_card_name"
placeholder=
"上传身份证自动填充"
class=
"auto"
>
</item>
<item>
<div
slot=
"name"
class=
"font-color"
>
身份证号
</div>
<input
slot=
"content"
v-model=
"legal_personMsg.id_card_no"
placeholder=
"上传身份证自动填充"
class=
"auto"
>
</item>
<item>
<div
slot=
"name"
class=
"font-color required"
>
手机号
</div>
<input
slot=
"content"
v-model=
"legal_personMsg.cell_phone"
placeholder=
"请输入手机号"
>
</item>
<item>
<div
slot=
"name"
class=
"font-color required"
>
居住地址
</div>
<input
slot=
"content"
v-model=
"legal_personMsg.living_address"
placeholder=
"请输入居住地址"
>
</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"
:getBankList=
"getBankList"
@
getInfo=
"getInfo"
/>
<InvoiceInfo
v-show=
"tabNum==2"
:tabNum=
"tabNum"
:baseInfo=
"baseInfo"
:orgCode=
"baseInfo.organization_code"
@
getinvoiceList=
"getinvoiceList"
/>
</h-content>
<bottom-tab
class=
"footer-button"
>
<tab-button
class=
"put"
@
click
.
native=
"handSubmit"
>
提交
</tab-button>
<tab-button
class=
"save"
@
click
.
native=
"verified"
>
保存
</tab-button>
</bottom-tab>
<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_lists.bank_account_num"
placeholder=
"银行卡卡号自动填充"
>
</item>
<item>
<div
slot=
"name"
>
账户姓名
</div>
<input
slot=
"content"
v-model=
"bank_lists.bank_account_name"
placeholder=
"请输入账户名称"
>
</item>
<item>
<div
slot=
"name"
>
银行名称
</div>
<input
slot=
"content"
v-model=
"bank_lists.bank_full_name"
placeholder=
"请输入银行名称"
>
</item>
<item>
<div
slot=
"name"
>
支行名称
</div>
<input
slot=
"content"
v-model=
"bank_lists.bank_branch_name"
placeholder=
"请输入支行名称"
>
</item>
</list-item>
</div>
</h-view>
<bottom-tab
class=
"add-box"
>
<tab-button
class=
"add-card"
@
click
.
native=
"addBankInfo"
>
添加
</tab-button>
</bottom-tab>
</h-modal>
</h-view>
</
template
>
<
script
>
import
Tab
from
'@/components/tab'
import
InvoiceInfo
from
'./invoiceInfoWrite'
import
BankInfo
from
'./bankInfoWrite'
export
default
{
components
:
{
Tab
,
BankInfo
,
InvoiceInfo
,
},
data
()
{
return
{
tabNum
:
0
,
bp_id
:
''
,
flag
:
true
,
bpClass
:
''
,
show
:
true
,
img_url
:
{},
typeList
:
[],
backList
:
[],
saveInfo
:
{},
lastInfo
:
{},
msg_flag
:
false
,
invoiceInfo
:
{},
maritalList
:
[],
getBankList
:
[],
academic_bg_n
:
''
,
bpClass_flag
:
false
,
text
:
'法人代表信息'
,
bp_type_flag
:
false
,
typeName
:
''
,
marital_status_n
:
''
,
bank_card_flag
:
false
,
showModalValue
:
false
,
type
:
'请输入业务经办姓名'
,
legal_personMsg
:
{
id_card_no
:
null
,
id_card_name
:
''
,
cell_phone
:
null
,
living_address
:
''
,
},
baseInfo
:
{
bp_type
:
''
,
bp_type_n
:
''
,
bp_name
:
''
,
phone
:
null
,
auth_flag
:
''
,
user_phone
:
window
.
localStorage
.
user_phone
,
legal_person
:
''
,
agent_username
:
''
,
enterprise_type
:
''
,
business_address
:
''
,
registered_place
:
''
,
organization_code
:
''
,
registered_capital
:
null
,
business_license_num
:
''
,
bp_class
:
this
.
$route
.
params
.
bp_class
,
},
bank_lists
:
{
bank_account_num
:
''
,
bank_account_name
:
''
,
bank_card_type
:
'储蓄卡'
,
bank_full_name
:
''
,
bank_branch_name
:
''
,
},
authMsg
:
{
auth_person_name
:
''
,
auth_person_matter
:
''
,
auth_person_id_card
:
''
,
auth_person_position
:
''
,
},
}
},
computed
:
{},
watch
:
{
'baseInfo.auth_flag'
(
newVal
,
oldVal
)
{
if
(
newVal
===
'是'
)
{
this
.
flag
=
false
}
else
{
this
.
flag
=
true
}
},
// 监听客户类型
'baseInfo.bp_type_n'
()
{
let
vm
=
this
if
(
vm
.
baseInfo
.
bp_type
===
'TENANT'
||
vm
.
baseInfo
.
bp_type
===
'GUTA'
)
{
vm
.
type
=
'请输入业务经办员工代码'
vm
.
typeName
=
'业务经办人'
vm
.
baseInfo
.
agent_username
=
'BP003020'
}
else
if
(
vm
.
baseInfo
.
bp_type
===
'AGENT'
||
vm
.
baseInfo
.
bp_type
===
'OFFICE'
||
vm
.
baseInfo
.
bp_type
===
'FACTORY'
)
{
vm
.
typeName
=
'营业执照'
vm
.
type
=
'请输入营业执照号'
vm
.
baseInfo
.
agent_username
=
''
}
},
flag
()
{
if
(
this
.
flag
)
{
this
.
text
=
'法人代表信息'
}
else
{
this
.
text
=
'授权信息'
}
},
typeName
()
{
if
(
this
.
typeName
===
'业务经办人'
)
{
this
.
bpClass
=
this
.
baseInfo
.
agent_username
this
.
bpClass_flag
=
true
}
else
{
this
.
bpClass
=
this
.
baseInfo
.
business_license_num
this
.
bpClass_flag
=
false
}
},
},
created
()
{
this
.
getBpType
()
// this.getBankInfo()
// this.getbaseInfo()
},
beforeRouteEnter
(
to
,
from
,
next
)
{
next
(
vm
=>
{
vm
.
getbaseInfo
()
vm
.
getBankInfo
()
})
},
methods
:
{
getBankInfo
()
{
let
vm
=
this
// let bpId = window.localStorage.getItem('user_id')
let
bpId
=
vm
.
bp_id
let
url
=
process
.
env
.
basePath
+
'bp_bank_query'
let
param
=
{
// bp_id: bpId,
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
.
getBankList
=
res
.
lists
}
})
},
handSubmit
()
{
if
(
this
.
bp_id
)
{
this
.
hlsPopup
.
showConfirm
({
title
:
'提示'
,
content
:
'您确认提交吗?'
,
onConfirm
:
(
data
)
=>
{
console
.
log
(
data
)
if
(
data
)
{
let
url
=
$config
.
basePath
+
'bp_bind_submit'
let
param
=
{
master
:
{
// bp_id: window.localStorage.getItem('user_id'),
bp_id
:
this
.
bp_id
,
company_id
:
'2145'
,
},
}
let
vm
=
this
this
.
hlsHttp
.
post
(
url
,
param
).
then
(
function
(
res
)
{
console
.
log
(
'企业信息提交'
,
res
)
if
(
res
.
result
===
'S'
)
{
vm
.
hlsPopup
.
showSuccess
(
'提交成功'
)
vm
.
$router
.
push
({
name
:
'Home'
,
})
}
})
}
},
})
}
else
{
this
.
hlsPopup
.
showLongCenter
(
'基本信息未保存!'
)
}
},
addBankInfo
()
{
this
.
hlsPopup
.
showConfirm
({
title
:
'提示'
,
content
:
'您确认添加吗?'
,
onConfirm
:
(
data
)
=>
{
console
.
log
(
data
)
if
(
data
)
{
for
(
var
key
in
this
.
bank_lists
)
{
if
(
!
this
.
bank_lists
[
key
])
{
this
.
bank_card_flag
=
false
this
.
hlsPopup
.
showLongCenter
(
'银行信息不完整!'
)
return
}
else
{
this
.
bank_card_flag
=
true
}
}
// 银行卡验证this.hlsUtil.isBankAccount(this.bank.bank_account_num)
if
(
this
.
hlsUtil
.
isBankAccount
(
this
.
bank_lists
.
bank_account_num
))
{
this
.
bank_card_flag
=
false
this
.
hlsPopup
.
showLongCenter
(
'请输入正确银行卡号!'
)
}
// 验证账户名称与承租人名称一致
if
(
this
.
bank_lists
.
bank_account_name
!==
this
.
saveInfo
.
bp_name
)
{
this
.
bank_card_flag
=
false
this
.
hlsPopup
.
showLongCenter
(
'企业名称与账户名称不一致'
)
}
if
(
this
.
bank_card_flag
)
{
this
.
hlsPopup
.
showLoading
(
'请稍后'
)
let
url
=
$config
.
basePath
+
'bp_bank_save'
let
param
=
{
'master'
:
{
'bp_id'
:
this
.
$route
.
params
.
bp_id
,
'bank_lists'
:
[
this
.
bank_lists
],
},
}
let
vm
=
this
vm
.
hlsHttp
.
post
(
url
,
param
).
then
(
function
(
res
)
{
console
.
log
(
res
)
if
(
res
.
result
===
'S'
)
{
vm
.
hlsPopup
.
hideLoading
()
vm
.
showModalValue
=
false
vm
.
hlsPopup
.
showSuccess
(
'添加成功'
)
let
url
=
$config
.
basePath
+
'bp_bank_query'
let
param
=
{
bp_id
:
this
.
$route
.
params
.
bp_id
,
}
vm
.
hlsHttp
.
post
(
url
,
param
).
then
(
function
(
res
)
{
console
.
log
(
'银行卡查询'
,
res
)
vm
.
getBankList
=
[...
vm
.
getBankList
,
...
res
.
lists
]
})
}
})
}
}
},
})
},
verified
()
{
// debugger
if
(
this
.
flag
)
{
// this.baseInfo.auth_flag = 'N'
this
.
lastInfo
=
{...
this
.
baseInfo
,
...
this
.
legal_personMsg
}
this
.
saveInfo
=
{...
this
.
lastInfo
,
...
this
.
authMsg
,
...
this
.
invoiceInfo
}
this
.
saveInfo
.
auth_flag
=
'N'
}
else
{
// this.baseInfo.auth_flag = 'Y'
this
.
lastInfo
=
{...
this
.
baseInfo
,
...
this
.
authMsg
}
this
.
saveInfo
=
{...
this
.
lastInfo
,
...
this
.
legal_personMsg
,
...
this
.
invoiceInfo
}
this
.
saveInfo
.
auth_flag
=
'Y'
}
console
.
log
(
'last'
,
this
.
lastInfo
,
this
.
invoiceInfo
)
let
vm
=
this
// 校验基本信息
if
(
this
.
bpClass_flag
)
{
delete
this
.
lastInfo
.
business_license_num
delete
this
.
lastInfo
.
id_card_name
for
(
var
key
in
vm
.
lastInfo
)
{
if
(
!
vm
.
lastInfo
[
key
])
{
console
.
log
(
'key'
,
key
,
vm
.
bpClass
)
switch
(
key
)
{
case
'bp_type'
:
vm
.
hlsPopup
.
showLongCenter
(
'客户类型未填写'
)
break
case
'bp_name'
:
vm
.
hlsPopup
.
showLongCenter
(
'公司名称未填写'
)
break
case
'enterprise_type'
:
vm
.
hlsPopup
.
showLongCenter
(
'企业类型未填写'
)
break
case
'organization_code'
:
vm
.
hlsPopup
.
showLongCenter
(
'统一社会信用代码未填写'
)
break
case
'registered_capital'
:
vm
.
hlsPopup
.
showLongCenter
(
'注册资本未填写'
)
break
case
'legal_person'
:
vm
.
hlsPopup
.
showLongCenter
(
'法定代表人未填写'
)
break
case
'registered_place'
:
vm
.
hlsPopup
.
showLongCenter
(
'注册地址未填写'
)
break
case
'business_address'
:
vm
.
hlsPopup
.
showLongCenter
(
'经营地址未填写'
)
break
case
'phone'
:
vm
.
hlsPopup
.
showLongCenter
(
'固定电话未填写'
)
break
case
'id_card_no'
:
vm
.
hlsPopup
.
showLongCenter
(
'身份证未填写'
)
break
case
'cell_phone'
:
vm
.
hlsPopup
.
showLongCenter
(
'手机号未填写'
)
break
case
'living_address'
:
vm
.
hlsPopup
.
showLongCenter
(
'居住地址未填写'
)
break
case
'auth_person_name'
:
vm
.
hlsPopup
.
showLongCenter
(
'授权人姓名未填写'
)
break
case
'auth_person_id_card'
:
vm
.
hlsPopup
.
showLongCenter
(
'身份证号未填写'
)
break
case
'user_phone'
:
vm
.
hlsPopup
.
showLongCenter
(
'您还未登录'
)
break
case
'auth_person_position'
:
vm
.
hlsPopup
.
showLongCenter
(
'公司职务未填写'
)
break
case
'auth_person_matter'
:
vm
.
hlsPopup
.
showLongCenter
(
'授权事项未填写'
)
break
}
// vm.hlsPopup.showLongCenter('基本信息不完整!')
vm
.
msg_flag
=
false
return
}
else
{
vm
.
msg_flag
=
true
}
}
this
.
lastInfo
.
business_license_num
=
''
this
.
lastInfo
.
id_card_name
=
''
}
else
{
delete
this
.
lastInfo
.
agent_username
delete
this
.
lastInfo
.
id_card_name
for
(
var
key1
in
vm
.
lastInfo
)
{
if
(
!
vm
.
lastInfo
[
key1
])
{
console
.
log
(
'key'
,
key1
)
switch
(
key1
)
{
case
'bp_type'
:
vm
.
hlsPopup
.
showLongCenter
(
'客户类型未填写'
)
break
case
'bp_name'
:
vm
.
hlsPopup
.
showLongCenter
(
'公司名称未填写'
)
break
case
'enterprise_type'
:
vm
.
hlsPopup
.
showLongCenter
(
'企业类型未填写'
)
break
case
'organization_code'
:
vm
.
hlsPopup
.
showLongCenter
(
'统一社会信用代码未填写'
)
break
case
'registered_capital'
:
vm
.
hlsPopup
.
showLongCenter
(
'注册资本未填写'
)
break
case
'legal_person'
:
vm
.
hlsPopup
.
showLongCenter
(
'法定代表人未填写'
)
break
case
'registered_place'
:
vm
.
hlsPopup
.
showLongCenter
(
'注册地址未填写'
)
break
case
'business_address'
:
vm
.
hlsPopup
.
showLongCenter
(
'经营地址未填写'
)
break
case
'phone'
:
vm
.
hlsPopup
.
showLongCenter
(
'固定电话未填写'
)
break
case
'id_card_no'
:
vm
.
hlsPopup
.
showLongCenter
(
'身份证未填写'
)
break
case
'cell_phone'
:
vm
.
hlsPopup
.
showLongCenter
(
'手机号未填写'
)
break
case
'living_address'
:
vm
.
hlsPopup
.
showLongCenter
(
'居住地址未填写'
)
break
case
'auth_person_name'
:
vm
.
hlsPopup
.
showLongCenter
(
'授权人姓名未填写'
)
break
case
'auth_person_id_card'
:
vm
.
hlsPopup
.
showLongCenter
(
'身份证号未填写'
)
break
case
'user_phone'
:
vm
.
hlsPopup
.
showLongCenter
(
'您还未登录'
)
break
case
'auth_person_position'
:
vm
.
hlsPopup
.
showLongCenter
(
'公司职务未填写'
)
break
case
'auth_person_matter'
:
vm
.
hlsPopup
.
showLongCenter
(
'授权事项未填写'
)
break
}
// vm.hlsPopup.showLongCenter('基本信息不完整!')
vm
.
msg_flag
=
false
return
}
else
{
vm
.
msg_flag
=
true
}
}
this
.
lastInfo
.
agent_username
=
''
this
.
lastInfo
.
id_card_name
=
''
}
// if (!vm.bp_type_flag) {
// vm.baseInfo.agent_username = ''
// vm.saveInfo.agent_username = ''
// }
// 校验电话号
let
re
=
this
.
hlsUtil
.
phoneNumber
(
this
.
saveInfo
.
cell_phone
)
if
(
!
re
&&
this
.
baseInfo
.
auth_flag
===
'N'
)
{
vm
.
msg_flag
=
false
vm
.
hlsPopup
.
showLongCenter
(
'请输入正确手机号'
)
}
// 校验身份证号vm.hlsUtil.isCardID(vm.baseInfo.id_card_no)
if
(
vm
.
flag
)
{
if
(
vm
.
hlsUtil
.
isCardID
(
vm
.
saveInfo
.
id_card_no
))
{
vm
.
msg_flag
=
false
vm
.
hlsPopup
.
showLongCenter
(
'身份证不正确'
)
}
}
else
{
if
(
vm
.
hlsUtil
.
isCardID
(
vm
.
saveInfo
.
auth_person_id_card
))
{
vm
.
msg_flag
=
false
vm
.
hlsPopup
.
showLongCenter
(
'身份证不正确'
)
}
}
if
(
vm
.
msg_flag
)
{
vm
.
hlsPopup
.
showLoading
(
'请稍后'
)
let
url
=
$config
.
basePath
+
'bp_org_bind_save'
let
param
=
{
'master'
:
vm
.
saveInfo
,
}
vm
.
hlsHttp
.
post
(
url
,
param
).
then
(
function
(
res
)
{
console
.
log
(
res
)
if
(
res
.
result
===
'S'
)
{
vm
.
hlsPopup
.
hideLoading
()
vm
.
hlsPopup
.
showSuccess
(
'保存成功'
)
// window.localStorage.setItem('user_id', res.bp_id)
// window.sessionStorage.setItem('user_id', res.bp_id)
vm
.
bp_id
=
res
.
bp_id
vm
.
getBankInfo
()
}
})
}
},
hideModal
()
{
this
.
showModalValue
=
false
},
getInfo
(
i
)
{
this
.
showModalValue
=
i
},
getinvoiceList
(
val
)
{
console
.
log
(
val
)
this
.
invoiceInfo
=
val
this
.
baseInfo
.
organization_code
=
val
.
organization_code
},
authorizeChange
()
{
this
.
flag
=
!
this
.
flag
if
(
this
.
flag
)
{
this
.
auth_flag
=
'未授权'
}
else
{
this
.
auth_flag
=
'已授权'
}
},
// 客户类型下拉框
selectIdType
(
e
)
{
let
vm
=
this
vm
.
hlsPopup
.
selectList
({
list
:
vm
.
typeList
,
code
:
'bp_type'
,
object
:
{},
returnItem
:
function
(
index
,
obj
)
{
vm
.
baseInfo
.
bp_type
=
obj
.
bp_type
vm
.
baseInfo
.
bp_type_n
=
obj
.
bp_type_n
vm
.
bp_type_flag
=
true
},
})
},
getTabNum
(
i
)
{
this
.
tabNum
=
i
},
fileSuccess
(
fileList
,
result
)
{
this
.
fileList
=
fileList
this
.
fileList
.
forEach
((
itemFile
,
index
)
=>
{
if
(
result
.
response
&&
itemFile
.
file
&&
!
itemFile
.
attachment_id
&&
result
.
response
.
fileName
===
itemFile
.
file
.
name
)
{
itemFile
.
attachment_id
=
result
.
response
.
attachment_id
}
})
},
// 客户类型请求
getBpType
()
{
let
vm
=
this
let
url
=
process
.
env
.
basePath
+
'bp_type_select'
let
param
=
{}
vm
.
hlsPopup
.
showLoading
(
'请稍候'
)
vm
.
hlsHttp
.
post
(
url
,
param
).
then
(
function
(
res
)
{
vm
.
hlsPopup
.
hideLoading
()
if
(
res
.
result
===
'S'
)
{
vm
.
typeList
=
res
.
lists
.
map
(
item
=>
{
return
{
code
:
item
.
bp_type
,
code_name
:
item
.
bp_type_n
,
}
})
}
})
},
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'
)
{
delete
res
.
info
.
bp_id
vm
.
baseInfo
=
{...
res
.
info
}
vm
.
authMsg
=
{...
res
.
info
}
vm
.
legal_personMsg
=
{...
res
.
info
}
Object
.
assign
(
vm
.
saveInfo
,
res
.
info
)
}
else
{
hlsPopup
.
showLongCenter
(
res
.
message
)
}
})
},
},
}
</
script
>
<
style
lang=
'less'
scoped
>
#base-info1 {
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;
}
}
}
}
.put1 {
width: 100%;
height: 45px;
color: #fff;
border-radius: 4px;
// border: 1px solid #00469c;
background-color: #00469c;
}
.save1 {
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/personalCenter/orgWrite/invoiceInfoWrite.vue
0 → 100644
View file @
631b106e
<!--
* @Description: In User Settings Edit
* @Author: your name
* @Date: 2019-09-20 09:35:11
* @LastEditTime: 2019-09-29 11:25:28
* @LastEditors: Please set LastEditors
-->
<
template
>
<list-item
:item-height=
"44"
>
<item
:showArrow=
"true"
>
<div
slot=
"name"
class=
"font-color"
>
纳税人类型
</div>
<input
slot=
"content"
v-model=
"invoiceInfo.taxpayer_type_n"
type=
"text"
readonly
placeholder=
"请选择"
@
click=
"selectTaxpayer"
>
</item>
<item
:showArrow=
"true"
>
<div
slot=
"name"
class=
"font-color"
>
发票类型
</div>
<input
slot=
"content"
v-model=
"invoice_kind_n"
type=
"text"
readonly
placeholder=
"请选择"
@
click=
"selectInvoiceType"
>
</item>
<item>
<div
slot=
"name"
class=
"font-color"
>
发票抬头
</div>
<input
slot=
"content"
v-model=
"invoiceInfo.invoice_title"
type=
"text"
placeholder=
"请输入发票抬头"
>
</item>
<item>
<div
slot=
"name"
class=
"font-color"
>
发票地址及电话
</div>
<input
slot=
"content"
v-model=
"invoiceInfo.invoice_bp_address_phone_num"
type=
"text"
placeholder=
"请输入发票地址及电话"
>
</item>
<item>
<div
slot=
"name"
class=
"font-color"
>
发票开户行及账号
</div>
<input
slot=
"content"
v-model=
"invoiceInfo.invoice_bp_bank_account"
type=
"text"
placeholder=
"请输入发票开户行及账号"
>
</item>
<item>
<div
slot=
"name"
class=
"font-color"
>
纳税人识别号
</div>
<input
slot=
"content"
v-model=
"invoiceInfo.organization_code"
:placeholder=
"orgCode"
type=
"text"
readonly
>
</item>
<!--
<p>
{{
organization_code
}}
</p>
-->
</list-item>
</
template
>
<
script
>
export
default
{
name
:
'InvoiceInfo'
,
props
:
{
'orgCode'
:
{
type
:
String
,
default
:
''
,
},
'baseInfo'
:
{
type
:
Object
,
default
:
{},
},
'tabNum'
:
{
type
:
Number
,
default
:
0
,
},
},
data
()
{
return
{
invoice_kind_n
:
''
,
invoicList
:
[],
taxpayerList
:
[],
invoiceInfo
:
{
invoice_kind
:
''
,
taxpayer_type_n
:
''
,
taxpayer_type
:
''
,
invoice_title
:
''
,
organization_code
:
this
.
orgCode
,
invoice_bp_bank_account
:
''
,
invoice_bp_address_phone_num
:
''
,
},
}
},
watch
:
{
orgCode
()
{
this
.
invoiceInfo
.
organization_code
=
this
.
orgCode
},
'tabNum'
(
newVal
,
oulVal
)
{
if
(
newVal
===
2
)
{
Object
.
assign
(
this
.
invoiceInfo
,
this
.
baseInfo
)
if
(
this
.
invoiceInfo
.
invoice_kind
==
0
)
{
this
.
invoice_kind_n
=
'增值税专用发票'
}
else
if
(
this
.
invoiceInfo
.
invoice_kind
==
2
)
{
this
.
invoice_kind_n
=
'增值税普通发票'
}
}
},
},
created
()
{
this
.
getInvoiceType
()
this
.
getTaxpayer
()
},
updated
()
{
this
.
sendList
()
},
methods
:
{
getInvoiceType
()
{
let
vm
=
this
let
url
=
process
.
env
.
basePath
+
'bp_invoice_kind_query'
let
param
=
{}
vm
.
hlsPopup
.
showLoading
(
'请稍候'
)
vm
.
hlsHttp
.
post
(
url
,
param
).
then
(
function
(
res
)
{
vm
.
hlsPopup
.
hideLoading
()
if
(
res
.
result
===
'S'
)
{
vm
.
invoicList
=
res
.
lists
.
map
(
item
=>
{
return
{
code
:
item
.
invoice_kind
,
code_name
:
item
.
invoice_kind_n
,
}
})
}
})
},
getTaxpayer
()
{
let
vm
=
this
let
url
=
process
.
env
.
basePath
+
'bp_taxpayer_type_query'
let
param
=
{}
vm
.
hlsPopup
.
showLoading
(
'请稍候'
)
vm
.
hlsHttp
.
post
(
url
,
param
).
then
(
function
(
res
)
{
vm
.
hlsPopup
.
hideLoading
()
if
(
res
.
result
===
'S'
)
{
vm
.
taxpayerList
=
res
.
lists
.
map
(
item
=>
{
return
{
code
:
item
.
taxpayer_type
,
code_name
:
item
.
taxpayer_type_n
,
}
})
}
})
},
selectInvoiceType
(
e
)
{
let
vm
=
this
vm
.
hlsPopup
.
selectList
({
list
:
vm
.
invoicList
,
code
:
'bp_type'
,
object
:
{},
returnItem
:
function
(
index
,
obj
)
{
vm
.
invoiceInfo
.
invoice_kind
=
obj
.
bp_type
vm
.
invoice_kind_n
=
obj
.
bp_type_n
},
})
},
selectTaxpayer
(
e
)
{
let
vm
=
this
vm
.
hlsPopup
.
selectList
({
list
:
vm
.
taxpayerList
,
code
:
'bp_type'
,
object
:
{},
returnItem
:
function
(
index
,
obj
)
{
vm
.
invoiceInfo
.
taxpayer_type
=
obj
.
bp_type
vm
.
invoiceInfo
.
taxpayer_type_n
=
obj
.
bp_type_n
},
})
},
sendList
()
{
this
.
$emit
(
'getinvoiceList'
,
this
.
invoiceInfo
)
},
},
}
</
script
>
<
style
scoped
>
input
::placeholder
{
color
:
#B4B4B5
;
}
.font-color
{
color
:
#656464
;
}
</
style
>
src/pages/personalCenter/personList.vue
View file @
631b106e
<
template
>
<div>
<div
class=
"head"
>
头像
</div>
<button
>
用户绑定
</button>
<div
id=
"personCenter"
>
<div
class=
"head"
@
click=
"changePageHead"
>
头像
</div>
<button
@
click=
" user_bp_status === 'APPROVED'?'':changePageHead"
>
{{
user_bp_status
===
'APPROVED'
?
'解除绑定'
:
'用户绑定'
}}
</button>
</div>
</
template
>
<
script
>
export
default
{
data
()
{
return
{
user_bp_status
:
''
,
user_bp_class
:
''
,
bp_id
:
''
,
}
},
beforeRouteEnter
(
to
,
from
,
next
)
{
next
(
vm
=>
{
vm
.
userQuery
()
})
},
methods
:
{
changePageHead
()
{
let
vm
=
this
if
(
vm
.
bp_id
)
{
if
(
vm
.
user_bp_status
===
'NEW'
||
vm
.
user_bp_status
===
'REJECT'
)
{
if
(
vm
.
user_bp_class
===
'NP'
)
{
vm
.
$router
.
push
({
name
:
'NaturePersonWrite'
,
params
:
{
'bp_id'
:
this
.
bp_id
,
},
})
}
else
{
this
.
$router
.
push
({
name
:
' EnterpriseWrite'
,
params
:
{
'bp_id'
:
this
.
bp_id
,
},
})
}
}
else
if
(
vm
.
user_bp_status
===
'APPROVED'
)
{
if
(
vm
.
user_bp_class
===
'NP'
)
{
vm
.
$router
.
push
({
name
:
'NaturePersonReadOnly'
,
params
:
{
'bp_id'
:
this
.
bp_id
,
},
})
}
else
{
this
.
$router
.
push
({
name
:
'EnterpriseReadOnly'
,
params
:
{
'bp_id'
:
this
.
bp_id
,
},
})
}
}
else
if
(
vm
.
user_bp_status
===
'APPROVING'
)
{
this
.
hlsPopup
.
showLongCenter
(
'您的绑定申请还在流程中'
)
}
}
else
{
this
.
hlsPopup
.
showLongCenter
(
'请先进行用户绑定'
)
}
},
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
}
})
},
},
}
</
script
>
<
style
scoped
>
.head
{
width
:
100px
;
height
:
100px
;
border
:
1px
solid
#000
;
}
button
{
margin-top
:
80%
;
width
:
150px
;
height
:
50px
;
border
:
1px
solid
#000
;
<
style
lang=
"less"
scoped
>
#personCenter {
.head {
width: 100px;
height: 100px;
border: 1px solid #000;
}
button {
margin-top: 80%;
width: 150px;
height: 50px;
border: 1px solid #000;
}
}
</
style
>
src/pages/tab.vue
View file @
631b106e
...
...
@@ -36,7 +36,6 @@ export default {
return
{
pathList
:
[],
transitionName
:
''
,
}
},
watch
:
{
// 监听路由变化
...
...
@@ -64,12 +63,11 @@ export default {
this
.
$router
.
isBack
=
false
},
},
mounted
()
{
},
methods
:
{
tabClick
()
{
// console.log('click');
},
},
}
...
...
src/pages/userBind/np/invoiceInfo.vue
View file @
631b106e
...
...
@@ -41,12 +41,6 @@
placeholder=
"请输入发票开户行及账号"
>
</item>
<item>
<div
slot=
"name"
>
纳税人识别号
</div>
<input
slot=
"content"
v-model=
"invoiceInfo.organization_code"
type=
"text"
placeholder=
"请输入纳税人识别号"
>
</item>
</list-item>
</
template
>
<
script
>
...
...
src/pages/userBind/np/naturePerson.vue
View file @
631b106e
...
...
@@ -68,7 +68,7 @@
</item>
<item>
<div
slot=
"name"
class=
"required"
>
手机号码
</div>
<input
slot=
"content"
v-model=
"baseInfo.phone"
placeholder=
"请输入手机号码"
>
<input
slot=
"content"
v-model=
"baseInfo.
cell_
phone"
placeholder=
"请输入手机号码"
>
</item>
<item>
<div
slot=
"name"
class=
"required"
>
居住地址
</div>
...
...
@@ -235,7 +235,7 @@ export default {
bp_class
:
this
.
$route
.
params
.
bp_class
,
bp_name
:
''
,
id_card_no
:
null
,
phone
:
null
,
cell_
phone
:
null
,
living_address
:
''
,
address_on_resident_booklit
:
''
,
marital_status
:
''
,
...
...
@@ -346,7 +346,7 @@ export default {
vm
.
hlsPopup
.
showLongCenter
(
'客户姓名不能为空!'
)
}
else
if
(
!
vm
.
baseInfo
.
id_card_no
)
{
vm
.
hlsPopup
.
showLongCenter
(
'身份证号不能为空!'
)
}
else
if
(
!
vm
.
baseInfo
.
phone
)
{
}
else
if
(
!
vm
.
baseInfo
.
cell_
phone
)
{
vm
.
hlsPopup
.
showLongCenter
(
'手机号不能为空!'
)
}
else
if
(
!
vm
.
baseInfo
.
living_address
)
{
vm
.
hlsPopup
.
showLongCenter
(
'居住地址不能为空!'
)
...
...
@@ -364,7 +364,7 @@ export default {
vm
.
hlsPopup
.
showLongCenter
(
'配偶工作单位不能为空!'
)
}
else
if
((
vm
.
marital_status_n
===
'已婚'
)
&&
!
vm
.
baseInfo
.
address_sp
)
{
vm
.
hlsPopup
.
showLongCenter
(
'配偶居住地址不能为空!'
)
}
else
if
(
!
vm
.
hlsUtil
.
phoneNumber
(
vm
.
baseInfo
.
phone
))
{
}
else
if
(
!
vm
.
hlsUtil
.
phoneNumber
(
vm
.
baseInfo
.
cell_
phone
))
{
vm
.
hlsPopup
.
showLongCenter
(
'手机号码有误!'
)
}
else
{
let
bpId
=
await
vm
.
saveProtocol
()
...
...
src/router/index.js
View file @
631b106e
...
...
@@ -50,6 +50,9 @@ import ContractContent from '@/pages/ContractSigning/contract-content'
import
EntryInfo
from
'@/pages/ContractSigning/entry-info'
// 个人中心
import
PersonList
from
'@/pages/personalCenter/personList'
import
NaturePersonWrite
from
'@/pages/personalCenter/npReadWrite/naturePersonWrite'
import
EnterpriseWrite
from
'@/pages/personalCenter/orgWrite/enterpriseWrite'
Vue
.
use
(
Router
)
export
default
new
Router
({
...
...
@@ -147,6 +150,9 @@ export default new Router({
{
path
:
'/entry-info'
,
component
:
EntryInfo
,
name
:
'EntryInfo'
,
meta
:
{
keepAlive
:
true
}},
// 个人中心
{
path
:
'/naturePerson-write'
,
component
:
NaturePersonWrite
,
name
:
'NaturePersonWrite'
,
meta
:
{
keepAlive
:
true
}},
{
path
:
'/ enterprise-write'
,
component
:
EnterpriseWrite
,
name
:
' EnterpriseWrite'
,
meta
:
{
keepAlive
:
true
}},
],
scrollBehavior
(
to
,
from
,
savedPosition
)
{
if
(
to
.
hash
)
{
...
...
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