Skip to content
Toggle navigation
Toggle navigation
This project
Loading...
Sign in
dev
/
pingan-life-index-pro
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Issue Boards
Files
Commits
Network
Compare
Branches
Tags
6075dcf6
authored
2020-03-18 11:53:17 +0800
by
joe
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
1
1 parent
fe2f08ad
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
24 changed files
with
456 additions
and
81 deletions
.env.development
.env.production
.env.sandbox
package-lock.json
src/api/api.js
src/api/fetch-api.js
src/common/lang/en.js
src/common/lang/tc.js
src/common/lang/zh.js
src/components/clarms/clarms-plugins-verifyform.js
src/components/modal-upload-card-comp/modal-upload-card-comp.js
src/components/modal-upload-card-comp/modal-upload-card-comp.scss
src/components/modal-upload-card-comp/modal-upload-card-comp.vue
src/components/vhis-modal/vhis-modal.vue
src/main.js
src/pages/custom-service/components/policy-change-information.js
src/pages/custom-service/components/policy-change-information.vue
src/pages/index/index.js
src/pages/login/login.js
src/pages/login/login.vue
src/pages/password-reset/password-reset.js
src/pages/password-reset/password-reset.vue
src/pages/register/register.js
src/pages/register/register.vue
.env.development
View file @
6075dcf
...
...
@@ -5,3 +5,5 @@ VUE_APP_BASE_URL= 'https://ow.go.qudone.com'
VUE_APP_CONTENT_ENCRYPT_KEY = 'MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDA1SNj4qiOEmvTkZfp+Gt0UOLTCdxuEqRE+k0fROhgZdN2GmtDg6jcZV/CXKdwQGGdwOYdxEngRQb2K/SXd5Rnu4MkuAoHopDNrBRVqoJNQi6VOv6fvAEzeYivtS9aMM7IvdZuN1QlASCz2vxfUKJ3BaijMQqQE9m0pVm+0BDEfwIDAQAB'
VUE_APP_CONTENT_ENCRYPT_SWITCH = true
VUE_APP_ONE_ACCOUNT_CENTER_OFF = true
\ No newline at end of file
...
...
.env.production
View file @
6075dcf
...
...
@@ -5,3 +5,5 @@ VUE_APP_BASE_URL= 'https://ow.go.qudone.com'
VUE_APP_CONTENT_ENCRYPT_KEY = 'MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDA1SNj4qiOEmvTkZfp+Gt0UOLTCdxuEqRE+k0fROhgZdN2GmtDg6jcZV/CXKdwQGGdwOYdxEngRQb2K/SXd5Rnu4MkuAoHopDNrBRVqoJNQi6VOv6fvAEzeYivtS9aMM7IvdZuN1QlASCz2vxfUKJ3BaijMQqQE9m0pVm+0BDEfwIDAQAB'
VUE_APP_CONTENT_ENCRYPT_SWITCH = true
VUE_APP_ONE_ACCOUNT_CENTER_OFF = true
\ No newline at end of file
...
...
.env.sandbox
View file @
6075dcf
...
...
@@ -4,3 +4,5 @@ VUE_APP_BASE_URL= ''
VUE_APP_CONTENT_ENCRYPT_KEY = 'MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDA1SNj4qiOEmvTkZfp+Gt0UOLTCdxuEqRE+k0fROhgZdN2GmtDg6jcZV/CXKdwQGGdwOYdxEngRQb2K/SXd5Rnu4MkuAoHopDNrBRVqoJNQi6VOv6fvAEzeYivtS9aMM7IvdZuN1QlASCz2vxfUKJ3BaijMQqQE9m0pVm+0BDEfwIDAQAB'
VUE_APP_CONTENT_ENCRYPT_SWITCH = true
VUE_APP_ONE_ACCOUNT_CENTER_OFF = true
\ No newline at end of file
...
...
package-lock.json
View file @
6075dcf
This diff is collapsed.
Click to expand it.
src/api/api.js
View file @
6075dcf
...
...
@@ -21,6 +21,7 @@ module.exports = {
stdRegister
:
"/pingan_hklife_webapi/auth/stdRegister"
,
// 修改密码
changePassword
:
"/pingan_hklife_webapi/user/password/change"
,
changePasswordV2
:
"/pingan_hklife_webapi/user/password/changeV2"
,
// 短信验证码登录
otpLogin
:
"/pingan_hklife_webapi/user/otpLogin"
,
// 短信验证码登录
...
...
@@ -54,8 +55,10 @@ module.exports = {
updatePolicyContanct
:
"/pingan_hklife_webapi/policy/updateContacts"
,
// 保单客戶資料變更
updatePolicyInfo
:
"/pingan_hklife_webapi/policy/updateInfo"
,
updatePolicyInfoV2
:
"/pingan_hklife_webapi/policy/updatePolicyInfo"
,
// 证件上传
idPicUpload
:
"/pingan_hklife_webapi/policy/idPicUpload"
,
updateIdFileV2
:
"/pingan_hklife_webapi/policy/updateIdFileV2"
,
// 回销回执
policyReceipt
:
"/pingan_hklife_webapi/policy/policyReceipt"
,
// 获取电子保单下载code
...
...
@@ -82,5 +85,9 @@ module.exports = {
companyOutline
:
"/pingan_hklife_webapi/cms/company/outline"
,
productInfo
:
"/pingan_hklife_webapi/cms/product"
,
config
:
"/pingan_hklife_webapi/config"
config
:
"/pingan_hklife_webapi/config"
,
// 为了香港上线而增加的身份自行管理接口
doLoginV2
:
"/pingan_hklife_webapi/user/loginv2"
,
doRegisterV2
:
"/pingan_hklife_webapi/user/registerv2"
}
\ No newline at end of file
...
...
src/api/fetch-api.js
View file @
6075dcf
import
axiosIns
from
'axios'
;
import
state
from
'@/store/state.js'
;
import
{
SET_USER_INFO
}
from
'@/store/mutations.js'
;
import
CryptoJS
from
"crypto-js"
;
import
JsEncrypt
from
"jsencrypt"
;
...
...
@@ -51,7 +52,7 @@ function Toast(msg) {
// let base = COM.baseUrl;
// console.log(process.env);
let
baseURL
=
process
.
env
.
VUE_APP_BASE_URL
;
//
let
baseURL = "http://localhost:9101";
// baseURL = "http://localhost:9101";
if
(
window
.
location
.
href
.
indexOf
(
"192.168"
)
!=
-
1
)
{
baseURL
=
"https://ow.go.qudone.com"
;
}
...
...
@@ -71,6 +72,7 @@ let encryptPattern = [
let
encryptWhileList
=
[
"/pingan_hklife_webapi/policy/idPicUpload"
,
"/pingan_hklife_webapi/policy/updateIdFileV2"
,
"/pingan_hklife_webapi/policy/clarmsUpload"
]
...
...
@@ -107,6 +109,9 @@ axios.interceptors.response.use(
if
(
response
.
data
.
code
===
200
)
{
return
Promise
.
resolve
(
response
);
}
else
{
if
(
response
.
data
.
code
===
404
)
{
SET_USER_INFO
(
state
,
null
);
}
// Toast(response.data.bizMsg);
return
Promise
.
reject
(
response
.
data
);
}
...
...
@@ -248,6 +253,7 @@ export const formdata = params => {
let
{
url
,
data
,
myFormData
,
sid
,
}
=
params
;
let
headers
=
{
...
...
@@ -255,15 +261,20 @@ export const formdata = params => {
"Content-Type"
:
"multipart/form-data"
}
}
let
formData
=
new
FormData
();
//使用formData对象
let
lastFormData
=
null
if
(
data
)
{
lastFormData
=
new
FormData
();
//使用formData对象
for
(
let
key
in
data
)
{
formData
.
append
(
key
,
data
[
key
]);
lastFormData
.
append
(
key
,
data
[
key
]);
}
}
else
{
lastFormData
=
myFormData
;
}
if
(
sid
)
{
let
sessionId
=
state
.
userInfo
&&
state
.
userInfo
.
sid
?
state
.
userInfo
.
sid
:
""
;
headers
.
headers
.
sid
=
sessionId
;
}
return
axios
.
post
(
`
${
url
}
`
,
f
ormData
,
headers
).
then
(
res
=>
res
.
data
);
return
axios
.
post
(
`
${
url
}
`
,
lastF
ormData
,
headers
).
then
(
res
=>
res
.
data
);
}
export
const
requestDomain
=
()
=>
{
...
...
src/common/lang/en.js
View file @
6075dcf
...
...
@@ -198,6 +198,8 @@ module.exports = {
e3
:
"Please enter the picture verification code"
,
e4
:
"Agree with PingAn Member Service Agreement"
,
e5
:
"Invalidate account or password, please re-enter"
,
e6
:
"Your password has been mistyped 4 times. Your account will be locked soon. Please retrieve your password!"
,
e7
:
"Your password has been mistyped 5 times. You can't log in again in 24 hours!"
,
oe0
:
"Invalidate mobile no. , please re-enter"
,
oe1
:
"Please get SMS verification code first"
,
oe2
:
"Please enter the picture verification code"
,
...
...
src/common/lang/tc.js
View file @
6075dcf
...
...
@@ -198,6 +198,8 @@ module.exports = {
e3
:
"請輸入圖像驗證碼"
,
e4
:
"請同意《平安賬戶會員服務協議》"
,
e5
:
"賬號或密碼不正確"
,
e6
:
"您的密碼已輸錯4次,帳戶即將被鎖定,請找回密碼!"
,
e7
:
"您的密碼已輸錯5次,24小時內無法再登入!"
,
oe0
:
"請輸入正確的手機號"
,
oe1
:
"請先獲取短信驗證碼"
,
oe2
:
"請輸入圖片驗證碼"
,
...
...
src/common/lang/zh.js
View file @
6075dcf
...
...
@@ -198,6 +198,8 @@ module.exports = {
e3
:
"请输入图像验证码"
,
e4
:
"请同意《平安账户会员服务协议》"
,
e5
:
"账号或密码不正确"
,
e6
:
"您的密码已输错4次,账户即将被锁定,请找回密码!"
,
e7
:
"您的密码已输错5次, 24小时内无法再登录!"
,
oe0
:
"请输入正确的手机号"
,
oe1
:
"请先获取短信验证码"
,
oe2
:
"请输入图片验证码"
,
...
...
src/components/clarms/clarms-plugins-verifyform.js
View file @
6075dcf
...
...
@@ -25,10 +25,10 @@ export default {
loading
:
false
,
showTips
:
false
,
data
:
{
// firstName: "
玛丽
",
// lastName: "
何
",
// birthDate: "
15-07-1999
",
// idNo: "
H4099030
",
// firstName: "
珊珊
",
// lastName: "
王
",
// birthDate: "
01-01-2000
",
// idNo: "
84555455
",
// idType: "40"
firstName
:
""
,
...
...
src/components/modal-upload-card-comp/modal-upload-card-comp.js
View file @
6075dcf
...
...
@@ -73,23 +73,43 @@ export default {
overlay
:
{
type
:
Function
,
default
:
null
},
showType
:
{
type
:
String
,
default
:
"owner"
}
},
data
()
{
return
{
key
:
'value'
,
frontPicSrc
:
null
,
backPicSrc
:
null
,
frontPicFile
:
null
,
backPicFile
:
null
ownerFrontPicSrc
:
null
,
ownerBackPicSrc
:
null
,
ownerFrontPicFile
:
null
,
ownerBackPicFile
:
null
,
insuredFrontPicSrc
:
null
,
insuredBackPicSrc
:
null
,
insuredFrontPicFile
:
null
,
insuredBackPicFile
:
null
}
},
components
:
{},
computed
:
{
submitBtnDisabled
()
{
let
b1
=
this
.
frontPicFile
?
false
:
true
;
let
b2
=
this
.
backPicFile
?
false
:
true
;
return
b1
||
b2
;
let
b
=
false
;
if
(
this
.
showType
==
"owner"
||
this
.
showType
==
"both"
)
{
let
b1
=
this
.
ownerFrontPicSrc
?
false
:
true
;
let
b2
=
this
.
ownerBackPicSrc
?
false
:
true
;
b
=
b1
||
b2
;
}
if
(
this
.
showType
==
"insured"
||
this
.
showType
==
"both"
)
{
let
b3
=
this
.
insuredFrontPicSrc
?
false
:
true
;
let
b4
=
this
.
insuredBackPicSrc
?
false
:
true
;
b
=
b
||
b3
||
b4
;
}
return
b
;
}
},
methods
:
{
...
...
@@ -98,7 +118,13 @@ export default {
if
(
this
.
submitBtnDisabled
)
{
return
;
}
this
.
$emit
(
"onSubmit"
,
{
front
:
this
.
frontPicFile
,
back
:
this
.
backPicFile
});
this
.
$emit
(
"onSubmit"
,
{
ownerFrontPicFile
:
this
.
ownerFrontPicFile
,
ownerBackPicFile
:
this
.
ownerBackPicFile
,
insuredFrontPicFile
:
this
.
insuredFrontPicFile
,
insuredBackPicFile
:
this
.
insuredBackPicFile
});
},
handlePicSelect
(
type
)
{
let
_this
=
this
;
...
...
@@ -108,17 +134,35 @@ export default {
input
.
onchange
=
function
(
val
)
{
var
reader
=
new
FileReader
();
reader
.
onload
=
function
(
e
)
{
if
(
type
==
'front'
)
{
_this
.
$set
(
_this
,
'frontPicSrc'
,
reader
.
result
);
}
else
{
_this
.
$set
(
_this
,
'backPicSrc'
,
reader
.
result
);
switch
(
type
)
{
case
"ownerFront"
:
_this
.
$set
(
_this
,
'ownerFrontPicSrc'
,
reader
.
result
);
break
;
case
"ownerBack"
:
_this
.
$set
(
_this
,
'ownerBackPicSrc'
,
reader
.
result
);
break
;
case
"insuredFront"
:
_this
.
$set
(
_this
,
'insuredFrontPicSrc'
,
reader
.
result
);
break
;
case
"insuredBack"
:
_this
.
$set
(
_this
,
'insuredBackPicSrc'
,
reader
.
result
);
break
;
}
}
let
file
=
input
.
files
[
0
];
if
(
type
==
'front'
)
{
_this
.
$set
(
_this
,
'frontPicFile'
,
file
);
}
else
{
_this
.
$set
(
_this
,
'backPicFile'
,
file
);
switch
(
type
)
{
case
"ownerFront"
:
_this
.
$set
(
_this
,
'ownerFrontPicFile'
,
file
);
break
;
case
"ownerBack"
:
_this
.
$set
(
_this
,
'ownerBackPicFile'
,
file
);
break
;
case
"insuredFront"
:
_this
.
$set
(
_this
,
'insuredFrontPicFile'
,
file
);
break
;
case
"insuredBack"
:
_this
.
$set
(
_this
,
'insuredBackPicFile'
,
file
);
break
;
}
reader
.
readAsDataURL
(
file
);
};
...
...
@@ -144,5 +188,6 @@ export default {
}
},
mounted
()
{
},
created
()
{
}
created
()
{
}
}
...
...
src/components/modal-upload-card-comp/modal-upload-card-comp.scss
View file @
6075dcf
...
...
@@ -76,6 +76,8 @@
img
{
width
:
100%
;
max-width
:
14
.75rem
;
max-height
:
10rem
;
}
}
}
...
...
src/components/modal-upload-card-comp/modal-upload-card-comp.vue
View file @
6075dcf
...
...
@@ -7,15 +7,28 @@
{{
$t
(
'form.modalUploadCard.tit'
)
}}
<img
@
click=
"onCloseHandler()"
class=
"close-btn pointer"
:src=
"require('@assets/images/common/icon-modal-simple-close.png')"
>
</div>
<div
class=
"modal-content"
>
<div
class=
"modal-content"
v-if=
"showType == 'owner' || showType == 'both'"
>
<div
class=
"gird-g upload"
>
<div
class=
"pure-u-1 pure-u-md-1-2 upload-item"
>
<div
class=
"tit"
>
{{
$t
(
'policyChangeInformation.owner'
)
}}
{{
$t
(
'form.modalUploadCard.front'
)
}}
</div>
<img
class=
"poster pointer"
:src=
"ownerFrontPicSrc || require('@assets/images/common/card-front.png')"
alt=
""
@
click=
"handlePicSelect('ownerFront')"
>
</div>
<div
class=
"pure-u-1 pure-u-md-1-2 upload-item"
>
<div
class=
"tit"
>
{{
$t
(
'policyChangeInformation.owner'
)
}}
{{
$t
(
'form.modalUploadCard.back'
)
}}
</div>
<img
class=
"poster pointer"
:src=
"ownerBackPicSrc || require('@assets/images/common/card-back.png')"
alt=
""
@
click=
"handlePicSelect('ownerBack')"
>
</div>
</div>
</div>
<div
class=
"modal-content"
v-if=
"showType == 'insured' || showType == 'both'"
>
<div
class=
"gird-g upload"
>
<div
class=
"pure-u-1 pure-u-md-1-2 upload-item"
>
<div
class=
"tit"
>
{{
$t
(
'form.modalUploadCard.front'
)
}}
</div>
<img
class=
"poster pointer"
:src=
"
frontPicSrc || require('@assets/images/common/card-front.png')"
alt=
""
@
click=
"handlePicSelect('f
ront')"
>
<div
class=
"tit"
>
{{
$t
(
'
policyChangeInformation.insured'
)
}}
{{
$t
(
'
form.modalUploadCard.front'
)
}}
</div>
<img
class=
"poster pointer"
:src=
"
insuredFrontPicSrc || require('@assets/images/common/card-front.png')"
alt=
""
@
click=
"handlePicSelect('insuredF
ront')"
>
</div>
<div
class=
"pure-u-1 pure-u-md-1-2 upload-item"
>
<div
class=
"tit"
>
{{
$t
(
'form.modalUploadCard.back'
)
}}
</div>
<img
class=
"poster pointer"
:src=
"
backPicSrc || require('@assets/images/common/card-back.png')"
alt=
""
@
click=
"handlePicSelect('b
ack')"
>
<div
class=
"tit"
>
{{
$t
(
'
policyChangeInformation.insured'
)
}}
{{
$t
(
'
form.modalUploadCard.back'
)
}}
</div>
<img
class=
"poster pointer"
:src=
"
insuredBackPicSrc || require('@assets/images/common/card-back.png')"
alt=
""
@
click=
"handlePicSelect('insuredB
ack')"
>
</div>
</div>
</div>
...
...
src/components/vhis-modal/vhis-modal.vue
View file @
6075dcf
<
template
>
<div>
<div
class=
"comp"
v-if=
"policyDetail && showPolicy"
>
<modal2-comp
:visible=
"showSuccessTip"
:close=
"()=>
{showSuccessTip = false}" :content="$t('vhis.tip6')" :target="$t('vhis.tip7')" @targetCallbak="toTarget">
</modal2-comp>
<modal2-comp
:visible=
"showDownloadError"
:close=
"()=>
{showDownloadError = false}" :content="$t('glbalTips.sysError')" >
</modal2-comp>
<div
@
click=
"handleIgnorePolicy"
class=
"overlay"
></div>
<div
class=
"border"
>
<div
class=
"close"
@
click=
"onOverLayHandler()"
><img
src=
"@/assets/images/vhis/close.png"
></div>
...
...
@@ -111,6 +110,10 @@
</div>
</div>
<modal2-comp
:visible=
"showSuccessTip"
:close=
"()=>{showSuccessTip = false}"
:content=
"$t('vhis.tip6')"
:target=
"$t('vhis.tip7')"
@
targetCallbak=
"toTarget"
></modal2-comp>
<modal2-comp
:visible=
"showDownloadError"
:close=
"()=>{showDownloadError = false}"
:content=
"$t('glbalTips.sysError')"
></modal2-comp>
</div>
</template>
<
script
src=
"./vhis-modal.js"
></
script
>
...
...
src/main.js
View file @
6075dcf
...
...
@@ -99,7 +99,8 @@ function initQueryConfig() {
PK
:
rsaKey1
,
E
:
rsaKeyIndex1
,
vhis
:
vhis1
,
policies
:
policies
policies
:
policies
,
oneAccountCenterOff
:
process
.
env
.
VUE_APP_ONE_ACCOUNT_CENTER_OFF
==
"true"
?
true
:
false
};
httpGet
({
...
...
src/pages/custom-service/components/policy-change-information.js
View file @
6075dcf
...
...
@@ -15,7 +15,7 @@ import DatePicker from '@/components/date-picker/date-picker.vue'
import
modalComp
from
'@/components/modal-comp/modal-comp.vue'
;
import
modalUploadCardComp
from
'@/components/modal-upload-card-comp/modal-upload-card-comp.vue'
;
import
Vue
from
'vue'
;
import
{
Loading
}
from
'vant'
;
import
{
Loading
,
Field
}
from
'vant'
;
Vue
.
use
(
Loading
);
export
default
{
...
...
@@ -30,6 +30,7 @@ export default {
selectedPolicies
:
[],
data
:
null
,
// 保单信息
policyOld
:
null
,
policy
:
null
,
// ID证件照引用
idFront
:
null
,
...
...
@@ -42,6 +43,8 @@ export default {
modalIcon
:
"succ"
,
modalContent
:
""
,
showIdNumber
:
false
,
showType
:
""
}
},
components
:
{
...
...
@@ -111,24 +114,28 @@ export default {
}).
then
(
res
=>
{
this
.
loading
=
false
;
if
(
res
)
{
this
.
policy
=
res
;
if
(
res
!=
null
)
{
this
.
policy
=
JSON
.
parse
(
JSON
.
stringify
(
res
));
this
.
policyOld
=
JSON
.
parse
(
JSON
.
stringify
(
res
));
this
.
policy
.
clientBirthday
=
this
.
policy
.
clientBirthday
?
this
.
policy
.
clientBirthday
.
split
(
" "
)[
0
]
:
""
;
this
.
policy
.
insuredBirthday
=
this
.
policy
.
insuredBirthday
?
this
.
policy
.
insuredBirthday
.
split
(
" "
)[
0
]
:
""
;
this
.
policyOld
.
clientBirthday
=
this
.
policyOld
.
clientBirthday
?
this
.
policyOld
.
clientBirthday
.
split
(
" "
)[
0
]
:
""
;
this
.
policyOld
.
insuredBirthday
=
this
.
policyOld
.
insuredBirthday
?
this
.
policyOld
.
insuredBirthday
.
split
(
" "
)[
0
]
:
""
;
this
.
initData
();
}
let
clientNameCn
=
res
.
clientNameCn
?
res
.
clientNameCn
:
res
.
clientNameEn
;
let
clientNameEn
=
res
.
clientNameEn
?
res
.
clientNameEn
:
res
.
clientNameCn
;
let
insuredNameCn
=
res
.
insuredNameCn
?
res
.
insuredNameCn
:
res
.
insuredNameEn
;
let
insuredNameEn
=
res
.
insuredNameEn
?
res
.
insuredNameEn
:
res
.
insuredNameCn
;
this
.
policy
.
clientName
=
this
.
locale
==
'en'
?
clientNameEn
:
clientNameCn
;
this
.
policy
.
insuredName
=
this
.
locale
==
'en'
?
insuredNameEn
:
insuredNameCn
;
// 证件类型、证件号要备份,用于比较
this
.
policy
.
clientIdTypeBak
=
this
.
policy
.
clientIdType
;
this
.
policy
.
clientIdNumberBak
=
this
.
policy
.
clientIdNumber
;
//
let clientNameCn = res.clientNameCn ? res.clientNameCn : res.clientNameEn;
//
let clientNameEn = res.clientNameEn ? res.clientNameEn : res.clientNameCn;
//
let insuredNameCn = res.insuredNameCn ? res.insuredNameCn : res.insuredNameEn;
//
let insuredNameEn = res.insuredNameEn ? res.insuredNameEn : res.insuredNameCn;
//
this.policy.clientName = this.locale == 'en' ? clientNameEn : clientNameCn;
//
this.policy.insuredName = this.locale == 'en' ? insuredNameEn : insuredNameCn;
//
//
证件类型、证件号要备份,用于比较
//
this.policy.clientIdTypeBak = this.policy.clientIdType;
//
this.policy.clientIdNumberBak = this.policy.clientIdNumber;
this
.
policy
.
insuredIdTypeBak
=
this
.
policy
.
insuredIdType
;
this
.
policy
.
insuredIdNumberBak
=
this
.
policy
.
insuredIdNumber
;
this
.
initData
();
// this.policy.insuredIdTypeBak = this.policy.insuredIdType;
// this.policy.insuredIdNumberBak = this.policy.insuredIdNumber;
}
}).
catch
(
err
=>
{
this
.
loading
=
false
;
...
...
@@ -141,8 +148,10 @@ export default {
let
res
=
this
.
policy
;
if
(
res
)
{
let
isOwner
=
this
.
isOwner
;
let
data
=
{
name
:
isOwner
?
res
.
clientName
:
res
.
insuredName
,
nameCn
:
isOwner
?
res
.
clientNameCn
:
res
.
insuredNameCn
,
nameEn
:
isOwner
?
res
.
clientNameEn
:
res
.
insuredNameEn
,
idType
:
isOwner
?
res
.
clientIdType
:
res
.
insuredIdType
,
idNumber
:
isOwner
?
res
.
clientIdNumber
:
res
.
insuredIdNumber
,
idExpireAt
:
isOwner
?
res
.
clientExpireAt
:
res
.
insuredExpireAt
,
...
...
@@ -160,7 +169,57 @@ export default {
this
.
selectedPolicies
=
data
;
this
.
loadData
();
},
handleUpdatePolicy
()
{
if
(
this
.
loading
)
{
return
;
}
this
.
showType
=
null
;
let
showUploadPicDialog
=
false
;
this
.
replaceData
();
let
showOwner
=
this
.
policy
.
clientIdType
!=
this
.
policyOld
.
clientIdType
||
this
.
policy
.
clientIdNumber
!=
this
.
policyOld
.
clientIdNumber
;
let
showInsured
=
this
.
policy
.
insuredIdType
!=
this
.
policyOld
.
insuredIdType
||
this
.
policy
.
insuredIdNumber
!=
this
.
policyOld
.
insuredIdNumber
;
let
showType
=
showOwner
?
"owner"
:
null
;
if
(
showInsured
)
{
showType
=
showType
?
"both"
:
"insured"
;
}
showUploadPicDialog
=
showType
?
true
:
false
;
this
.
showType
=
showType
;
if
(
showUploadPicDialog
)
{
this
.
modalUploadCardVisiable
=
true
;
}
else
{
this
.
loading
=
true
;
this
.
updatePolicyInfoV2
();
}
},
handleUpdatePolicyWithFile
(
data
)
{
this
.
modalUploadCardVisiable
=
false
;
if
(
this
.
loading
)
{
return
;
}
this
.
loading
=
true
;
let
nameCache
=
[];
let
myFormData
=
new
FormData
();
(
data
.
ownerFrontPicFile
)
&&
(
myFormData
.
append
(
"files"
,
data
.
ownerFrontPicFile
),
nameCache
.
push
(
"clientIdFrontStoragePath"
));
(
data
.
ownerBackPicFile
)
&&
(
myFormData
.
append
(
"files"
,
data
.
ownerBackPicFile
),
nameCache
.
push
(
"clientIdBackStoragePath"
));
(
data
.
insuredFrontPicFile
)
&&
(
myFormData
.
append
(
"files"
,
data
.
insuredFrontPicFile
),
nameCache
.
push
(
"insuredIdFrontStoragePath"
));
(
data
.
insuredBackPicFile
)
&&
(
myFormData
.
append
(
"files"
,
data
.
insuredBackPicFile
),
nameCache
.
push
(
"insuredIdBackStoragePath"
));
formdata
({
"url"
:
api
.
updateIdFileV2
,
"myFormData"
:
myFormData
,
"sid"
:
true
}).
then
(
res
=>
{
let
list
=
res
.
content
;
let
fileIds
=
{};
for
(
let
index
=
0
;
index
<
list
.
length
;
index
++
)
{
fileIds
[
nameCache
[
index
]]
=
list
[
index
];
}
this
.
updatePolicyInfoV2
(
fileIds
);
}).
catch
(
err
=>
{
this
.
loading
=
false
;
this
.
handleErrResponse
(
err
);
});
},
// 旧接口备份
handleUpdatePolicyBak
()
{
let
showUploadPicDialog
=
false
;
if
(
this
.
isOwner
)
{
showUploadPicDialog
=
(
this
.
policy
.
clientIdType
!=
this
.
data
.
idType
||
this
.
policy
.
clientIdNumber
!=
this
.
data
.
idNumber
);
...
...
@@ -173,7 +232,56 @@ export default {
this
.
updatePolicyInfo
();
}
},
handleUpdatePolicyWithFile
(
data
)
{
updatePolicyInfoV2
(
idFiles
)
{
let
data
=
{
policyId
:
this
.
policy
.
policyId
,
policyCode
:
this
.
policy
.
policyCode
,
insuredNameEn
:
this
.
policy
.
insuredNameEn
,
insuredNameCn
:
this
.
policy
.
insuredNameCn
,
insuredIdType
:
this
.
policy
.
insuredIdType
,
insuredIdNumber
:
this
.
policy
.
insuredIdNumber
,
insuredExpireAt
:
this
.
policy
.
insuredExpireAt
,
insuredNationality
:
this
.
policy
.
insuredNationality
,
insuredCompany
:
this
.
policy
.
insuredCompany
,
insuredMarriage
:
this
.
policy
.
insuredMarriage
,
insuredSex
:
this
.
policy
.
insuredSex
,
insuredBirthday
:
this
.
policy
.
insuredBirthday
,
clientNameEn
:
this
.
policy
.
clientNameEn
,
clientNameCn
:
this
.
policy
.
clientNameCn
,
clientIdType
:
this
.
policy
.
clientIdType
,
clientIdNumber
:
this
.
policy
.
clientIdNumber
,
clientExpireAt
:
this
.
policy
.
clientExpireAt
,
clientNationality
:
this
.
policy
.
clientNationality
,
clientCompany
:
this
.
policy
.
clientCompany
,
clientMarriage
:
this
.
policy
.
clientMarriage
,
clientSex
:
this
.
policy
.
clientSex
,
clientBirthday
:
this
.
policy
.
clientBirthday
};
if
(
idFiles
)
{
for
(
let
k
in
idFiles
)
{
data
[
k
]
=
idFiles
[
k
];
}
}
httpPost
({
url
:
api
.
updatePolicyInfoV2
,
data
:
data
,
sid
:
true
}).
then
(
res
=>
{
if
(
this
.
isOwner
)
{
let
userInfo
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
userInfo
));
userInfo
.
name
=
data
.
clientNameCn
?
data
.
clientNameCn
:
data
.
clientNameEn
;
if
(
userInfo
.
name
)
{
this
.
$store
.
commit
(
"SET_USER_INFO"
,
userInfo
);
}
}
this
.
loading
=
false
;
this
.
showModal
(
this
.
i18n
.
policyChangeInformation
.
success
);
}).
catch
(
err
=>
{
this
.
loading
=
false
;
this
.
handleErrResponse
(
err
);
});
},
// 旧接口备份
handleUpdatePolicyWithFileBak
(
data
)
{
this
.
idFront
=
data
.
front
;
this
.
idBack
=
data
.
back
;
this
.
updatePolicyIdPic
().
then
(()
=>
{
...
...
@@ -232,17 +340,11 @@ export default {
});
});
},
switchPolicyRole
(
role
)
{
if
(
this
.
isOwner
&&
role
==
1
)
{
return
;
}
if
(
!
this
.
isOwner
&&
role
==
2
)
{
return
;
}
if
(
this
.
policy
)
{
if
(
role
==
1
)
{
replaceData
()
{
if
(
!
this
.
isOwner
)
{
// 需要缓存结果,注意取反,此处存在受保人信息
this
.
policy
.
insuredName
=
this
.
data
.
name
;
this
.
policy
.
insuredNameEn
=
this
.
data
.
nameEn
;
this
.
policy
.
insuredNameCn
=
this
.
data
.
nameCn
;
this
.
policy
.
insuredIdType
=
this
.
data
.
idType
;
this
.
policy
.
insuredIdNumber
=
this
.
data
.
idNumber
;
this
.
policy
.
insuredExpireAt
=
this
.
data
.
idExpireAt
;
...
...
@@ -253,7 +355,8 @@ export default {
this
.
policy
.
insuredBirthday
=
this
.
data
.
birthday
;
}
else
{
// 需要缓存结果,注意取反,此处存在投保人信息
this
.
policy
.
clientName
=
this
.
data
.
name
;
this
.
policy
.
clientNameEn
=
this
.
data
.
nameEn
;
this
.
policy
.
clientNameCn
=
this
.
data
.
nameCn
;
this
.
policy
.
clientIdType
=
this
.
data
.
idType
;
this
.
policy
.
clientIdNumber
=
this
.
data
.
idNumber
;
this
.
policy
.
clientExpireAt
=
this
.
data
.
idExpireAt
;
...
...
@@ -263,7 +366,15 @@ export default {
this
.
policy
.
clientSex
=
this
.
data
.
sex
;
this
.
policy
.
clientBirthday
=
this
.
data
.
birthday
;
}
},
switchPolicyRole
(
role
)
{
if
(
this
.
isOwner
&&
role
==
1
)
{
return
;
}
if
(
!
this
.
isOwner
&&
role
==
2
)
{
return
;
}
this
.
replaceData
();
this
.
isOwner
=
role
==
1
?
true
:
false
;
this
.
initData
();
},
...
...
src/pages/custom-service/components/policy-change-information.vue
View file @
6075dcf
...
...
@@ -2,7 +2,7 @@
<
template
>
<div>
<auth
@
onLogin=
"userLogin"
@
onLogout=
"userLogout"
:checkProfile=
"true"
ref=
"auth"
:tipModel=
"'m2'"
></auth>
<modal-upload-card-comp
:visible=
"modalUploadCardVisiabl
e"
:show-confirm=
"true"
@
close=
"modalUploadCardVisiable=false"
@
onSubmit=
"handleUpdatePolicyWithFile"
></modal-upload-card-comp>
<modal-upload-card-comp
v-if=
"modalUploadCardVisiable"
:visible=
"modalUploadCardVisiable"
:showType=
"showTyp
e"
:show-confirm=
"true"
@
close=
"modalUploadCardVisiable=false"
@
onSubmit=
"handleUpdatePolicyWithFile"
></modal-upload-card-comp>
<modal-comp
:visible=
"modalVisiable"
:show-confirm=
"false"
:icon=
"modalIcon"
:content=
"modalContent"
:confirm=
"modalCallback"
:overlay=
"modalCallback"
></modal-comp>
<template
v-if=
"showForm"
>
...
...
@@ -29,7 +29,8 @@
<div
class=
"icon"
><img
src=
"@/assets/images/policy-change-information/icon-pci-info.png"
></div>
{{
$t
(
'policyChangeInformation.name'
)
}}
</div>
<div
class=
"ipt-wrap"
>
<input
class=
"ipt"
type=
"text"
v-model=
"data.name"
>
<input
v-if=
"locale == 'en'"
class=
"ipt"
type=
"text"
v-model=
"data.nameEn"
>
<input
v-else
class=
"ipt"
type=
"text"
v-model=
"data.nameCn"
>
</div>
</div>
...
...
src/pages/index/index.js
View file @
6075dcf
...
...
@@ -226,7 +226,7 @@ export default {
this
.
initData
();
setTimeout
(()
=>
{
console
.
log
(
"queryConfigData:"
,
this
.
$root
.
queryConfigData
);
//
console.log("queryConfigData:", this.$root.queryConfigData);
// console.log("queryConfigData:", window.vueInstance.queryConfigData); // 挂载到windows的访问方法
// 放localStorage直接是localStorage.getItem("queryConfig");
},
3000
)
...
...
src/pages/login/login.js
View file @
6075dcf
...
...
@@ -128,6 +128,9 @@ export default {
let
b1
=
!
this
.
values
.
password
||
this
.
checkPassword
(
this
.
values
.
password
)
?
true
:
false
;
let
b2
=
this
.
values
.
passwordRepeat
!=
this
.
values
.
password
?
true
:
false
;
return
b1
||
b2
;
},
oneAccountCenterOff
()
{
return
window
.
global
.
oneAccountCenterOff
;
}
},
methods
:
{
...
...
@@ -181,7 +184,6 @@ export default {
let
mobileOptions
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
i18n
.
register
.
mobileOptions
));
this
.
mobileOptions
=
mobileOptions
;
this
.
mobileTip
=
this
.
mobileOptions
[
0
];
console
.
log
(
this
.
mobileOptions
)
},
handlerIsShowImageVcode
()
{
return
new
Promise
((
resolve
,
reject
)
=>
{
...
...
@@ -217,6 +219,9 @@ export default {
// 刷新图形二维码
},
handlerLogin
()
{
if
(
this
.
oneAccountCenterOff
)
{
this
.
selfLogin
();
}
else
{
if
((
this
.
type
==
1
&&
this
.
pwdLoginDisabled
)
||
(
this
.
type
==
2
&&
this
.
otpLoginDisabled
))
{
return
;
}
...
...
@@ -230,6 +235,39 @@ export default {
}
else
{
this
.
_otpLogin
();
}
}
},
selfLogin
()
{
if
(
this
.
loading
)
{
return
;
}
this
.
loading
=
true
;
let
data
=
{
account
:
this
.
loginForm
.
userId
,
password
:
this
.
loginForm
.
password
};
httpPost
({
url
:
api
.
doLoginV2
,
data
:
data
}).
then
(
res
=>
{
this
.
loading
=
false
;
this
.
$store
.
commit
(
"SET_USER_INFO"
,
res
);
this
.
_redirectTo
();
}).
catch
(
e
=>
{
this
.
loading
=
false
;
switch
(
e
.
code
)
{
case
404
:
this
.
errorTips
.
e2
=
this
.
i18n
.
login
.
tips
.
e5
;
break
;
case
1102
:
this
.
errorTips
.
e2
=
this
.
i18n
.
login
.
tips
.
e6
;
break
;
case
1101
:
this
.
errorTips
.
e2
=
this
.
i18n
.
login
.
tips
.
e7
;
break
;
}
})
},
_passwordLogin
()
{
// 刷新图形二维码
...
...
src/pages/login/login.vue
View file @
6075dcf
...
...
@@ -13,7 +13,8 @@
<div
class=
"box"
>
<!-- 帐密登陆 -->
<div
v-if=
"type == 1"
class=
"login"
>
<!--
<div
class=
"login-tit"
>
<template
v-if=
"!oneAccountCenterOff"
>
<div
class=
"login-tit"
>
<img
v-if=
"locale == 'zh'"
src=
"@/assets/images/login/login-tit-zh.png"
>
<img
v-if=
"locale == 'tc'"
src=
"@/assets/images/login/login-tit-tc.png"
>
<img
v-if=
"locale == 'en'"
class=
"img-en"
src=
"@/assets/images/login/login-tit-en.png"
>
...
...
@@ -22,7 +23,8 @@
<div
@
click=
"onLoginTypeHandler(1)"
class=
"login-nav-tit text-r pointer active"
>
{{
$t
(
'login.loginType1'
)
}}
</div>
<div
class=
"login-nav-v-line"
></div>
<div
@
click=
"onLoginTypeHandler(2)"
class=
"login-nav-tit pointer"
>
{{
$t
(
'login.loginType2'
)
}}
</div>
</div>
-->
</div>
</
template
>
<div
class=
"gird-g form"
>
<div
class=
"pure-u-1 form-item"
>
<div
class=
"label"
>
...
...
@@ -69,7 +71,7 @@
</div>
<div
class=
"login-func"
>
<div
@
click=
"toRegisterPage()"
class=
"login-func-btn pointer"
>
{{$t('login.register')}}
</div>
<
!--
<div
@
click=
"onForgetHandler()"
class=
"login-func-btn pointer"
>
{{
$t
(
'login.forget'
)
}}
</div>
--
>
<
div
v-if=
"!oneAccountCenterOff"
@
click=
"onForgetHandler()"
class=
"login-func-btn pointer"
>
{{$t('login.forget')}}
</div
>
</div>
</div>
...
...
src/pages/password-reset/password-reset.js
View file @
6075dcf
...
...
@@ -10,6 +10,7 @@ import {
import
Auth
from
'@components/auth/auth.vue'
;
import
modalComp
from
'@/components/modal-comp/modal-comp.vue'
;
import
modalSimpleComp
from
'@/components/modal-simple-comp/modal-simple-comp.vue'
;
import
Modal2Comp
from
'@/components/modal2-comp/modal2-comp.vue'
;
import
{
passwordEncrypt
}
from
'@/utils/encrypt.js'
;
import
Vue
from
'vue'
;
import
{
Loading
}
from
'vant'
;
...
...
@@ -20,6 +21,7 @@ export default {
return
{
loading
:
false
,
showForm
:
false
,
showError
:
false
,
key
:
'value'
,
type
:
1
,
// 1:输入用户信息 2:找回密码 3:核对信息 4.重置密码
values
:
{
...
...
@@ -65,6 +67,9 @@ export default {
this
.
modalVisiable
=
false
;
this
.
modalSimpleVisiable
=
false
;
},
oneAccountCenterOff
()
{
return
window
.
global
.
oneAccountCenterOff
;
},
resetPwd
()
{
if
(
this
.
submitBtnDisabled
)
{
return
;
...
...
@@ -94,8 +99,15 @@ export default {
}
this
.
loading
=
true
;
let
url
=
api
.
changePassword
;
if
(
this
.
oneAccountCenterOff
)
{
url
=
api
.
changePasswordV2
;
newPwd
=
this
.
values
.
pwd
;
oldPwd
=
this
.
values
.
oldPwd
;
}
httpPost
({
url
:
api
.
changePassword
,
url
:
url
,
data
:
{
oldPwd
:
oldPwd
,
newPwd
:
newPwd
...
...
@@ -111,8 +123,8 @@ export default {
this
.
showModal
(
message
,
"succ"
);
break
case
"COMMON_ERROR_E0"
:
message
=
this
.
i18n
().
session
.
sidExpire
;
this
.
targetPath
=
"/login?callback=/password/reset"
;
message
=
this
.
i18n
().
session
.
sidExpire
;
this
.
step
.
error2
=
message
;
// this.showModal(message, "info");
break
;
...
...
@@ -123,10 +135,15 @@ export default {
}).
catch
(
err
=>
{
this
.
loading
=
false
;
let
message
=
this
.
i18n
().
session
.
sidExpire
;
if
(
err
.
code
==
404
)
{
this
.
showError
=
true
;
}
});
},
sessionLostModalClose
()
{
this
.
targetPath
=
"/login?callback=/password/reset"
;
this
.
step
.
error2
=
message
;
// this.showModal(message, "info");
this
.
$router
.
push
({
path
:
this
.
targetPath
});
},
checkPassword
(
password
)
{
...
...
@@ -162,9 +179,9 @@ export default {
}
},
userLogout
()
{
this
.
$router
.
push
({
path
:
"/"
});
//
this.$router.push({
//
path: "/"
//
});
this
.
showForm
=
false
;
},
userLogin
(
data
)
{
...
...
@@ -222,6 +239,7 @@ export default {
components
:
{
modalComp
,
modalSimpleComp
,
Auth
Auth
,
Modal2Comp
}
}
...
...
src/pages/password-reset/password-reset.vue
View file @
6075dcf
...
...
@@ -3,6 +3,7 @@
<div>
<modal-simple-comp
:visible=
"modalSimpleVisiable"
:show-confirm=
"false"
:icon=
"modalIcon"
:content=
"modalContent"
:confirm=
"closeModal"
:overlay=
"closeModal"
:close=
"closeModal"
></modal-simple-comp>
<modal-comp
:visible=
"modalVisiable"
:show-confirm=
"false"
:icon=
"modalIcon"
:content=
"modalContent"
:confirm=
"modalCallback"
:overlay=
"modalCallback"
></modal-comp>
<modal2-comp
:visible=
"showError"
:close=
"sessionLostModalClose"
:content=
"$t('glbalTips.sessionLost')"
></modal2-comp>
<div
class=
"ebg"
></div>
<div
class=
"content"
>
<div
class=
"top-space"
></div>
...
...
src/pages/register/register.js
View file @
6075dcf
...
...
@@ -87,10 +87,21 @@ export default {
let
b4
=
!
checkVerifyCode
(
this
.
registerForm
.
opt
);
return
b1
||
b2
||
b3
||
b4
;
},
registerDisabledV2
()
{
let
b1
=
!
this
.
values
.
password
||
this
.
checkPassword
(
this
.
values
.
password
)
?
true
:
false
;
let
b2
=
this
.
values
.
passwordRepeat
!=
this
.
values
.
password
?
true
:
false
;
let
b3
=
!
this
.
registerCheck
.
agreeProtocol
;
let
b4
=
!
this
.
registerForm
.
mobileNo
?
true
:
false
;
return
b1
||
b2
||
b3
||
b4
;
},
submitDisabled
()
{
let
b1
=
!
this
.
values
.
password
||
this
.
checkPassword
(
this
.
values
.
password
)
?
true
:
false
;
let
b2
=
this
.
values
.
passwordRepeat
!=
this
.
values
.
password
?
true
:
false
;
return
b1
||
b2
;
},
oneAccountCenterOff
()
{
return
window
.
global
.
oneAccountCenterOff
;
}
},
methods
:
{
...
...
@@ -255,6 +266,37 @@ export default {
});
});
},
registerV2Handler
()
{
if
(
this
.
registerDisabledV2
)
{
return
;
}
if
(
this
.
loading
)
{
return
;
}
this
.
_checkMobileLegal
().
then
(()
=>
{
let
data
=
{
account
:
this
.
registerForm
.
mobileNo
,
password
:
this
.
values
.
password
}
this
.
loading
=
true
;
httpPost
({
url
:
api
.
doRegisterV2
,
data
:
data
}).
then
(
res
=>
{
this
.
loading
=
false
;
this
.
$store
.
commit
(
"SET_USER_INFO"
,
res
);
this
.
_showSuccessMessage
();
}).
catch
(
e
=>
{
this
.
loading
=
false
;
switch
(
e
.
code
)
{
case
1103
:
let
message
=
this
.
i18n
.
register
.
tips
.
e5
;
this
.
errorTips
.
p1
=
message
;
break
;
}
})
});
},
_validateOTPandRepeat
()
{
return
new
Promise
((
resolve
,
reject
)
=>
{
let
data
=
{
...
...
src/pages/register/register.vue
View file @
6075dcf
...
...
@@ -6,7 +6,7 @@
<!-- 会员协议 -->
<modal-protocol-comp
:visible=
"modalProtocolVisiable"
:overlay=
"closeModal"
:close=
"closeModal"
></modal-protocol-comp>
<div
class=
"ebg"
></div>
<div
class=
"content"
>
<div
class=
"content"
v-if=
"!oneAccountCenterOff"
>
<div
class=
"top-space"
></div>
<div
class=
"step"
>
<img
v-if=
"type == 1"
src=
"@/assets/images/register/register-step-1.png"
>
...
...
@@ -16,11 +16,11 @@
<!-- 手机验证 -->
<div
v-if=
"type == 1"
class=
"login"
>
<
!--
<
div
class=
"login-tit"
>
<div
class=
"login-tit"
>
<img
v-if=
"locale == 'zh'"
src=
"@/assets/images/login/login-tit-zh.png"
>
<img
v-if=
"locale == 'tc'"
src=
"@/assets/images/login/login-tit-tc.png"
>
<img
v-if=
"locale == 'en'"
class=
"img-en"
src=
"@/assets/images/login/login-tit-en.png"
>
</div>
-->
</div>
<div
class=
"login-tit2"
>
{{
$t
(
'register.title'
)
}}
</div>
<div
class=
"gird-g form"
>
<!--
<div
class=
"pure-u-1 form-item"
>
...
...
@@ -124,6 +124,74 @@
</div>
</div>
</div>
<div
class=
"content"
v-else
>
<div
class=
"top-space"
></div>
<div
class=
"box"
>
<!-- 手机验证 -->
<div
class=
"login"
>
<div
class=
"gird-g form"
>
<div
class=
"pure-u-1 form-item"
>
<div
class=
"label"
>
<img
src=
"@/assets/images/register/icon-register-phone.png"
>
{{
mobileTip
.
name
}}
</div>
<div
class=
"ipt-wrap"
>
<div
class=
"region-tel ipt-wrap"
>
<img
class=
"down-arrow"
src=
"@/assets/images/reservation/re-down-arrow.png"
alt=
""
>
<el-select
class=
"ipt"
v-model=
"mobileNoType"
>
<el-option
v-for=
"(item,index) in mobileOptions"
:key=
"index"
:value=
"item.type"
:label=
"item.areaCode"
>
{{
item
.
areaCode
}}
</el-option>
</el-select>
</div>
<div
class=
"ipt ipt2"
:class=
"
{err : errorTips.p1.length > 0}">
<input
:placeholder=
"mobileTip.placeHolder"
class=
"ipt-tel"
type=
"text"
v-model=
"registerForm.mobileNo"
>
</div>
</div>
<div
class=
"validator"
v-if=
"errorTips.p1.length > 0 "
>
<img
src=
"@/assets/images/common/icon-notice.png"
alt=
""
>
{{
errorTips
.
p1
}}
</div>
</div>
<div
class=
"pure-u-1 form-item"
>
<div
class=
"label"
>
<img
src=
"@/assets/images/register/icon-register-lock.png"
>
{{
$t
(
'register.newPassword'
)
}}
</div>
<div
class=
"ipt-wrap"
>
<input
:placeholder=
"$t('register.newPasswordPlaceholder')"
class=
"ipt"
:class=
"
{err : errorTips.p4.length > 0}" type="password" v-model="values.password">
</div>
<div
class=
"validator"
v-if=
"errorTips.p4.length > 0 "
>
<img
src=
"@/assets/images/common/icon-notice.png"
alt=
""
>
{{
errorTips
.
p4
}}
</div>
</div>
<div
class=
"pure-u-1 form-item"
>
<div
class=
"label"
>
<img
src=
"@/assets/images/register/icon-register-lock.png"
>
{{
$t
(
'register.newPasswordSure'
)
}}
</div>
<div
class=
"ipt-wrap"
>
<input
:placeholder=
"$t('register.newPasswordSurePlaceholder')"
class=
"ipt"
:class=
"
{err : errorTips.p5.length > 0}" type="password" v-model="values.passwordRepeat">
</div>
<div
class=
"validator"
v-if=
"errorTips.p5.length > 0 "
>
<img
src=
"@/assets/images/common/icon-notice.png"
alt=
""
>
{{
errorTips
.
p5
}}
</div>
</div>
</div>
<div
class=
"login-protocol pointer"
@
click=
"registerCheck.agreeProtocol = !registerCheck.agreeProtocol"
>
<img
v-if=
"!registerCheck.agreeProtocol"
class=
"check"
src=
"@/assets/images/login/uncheck.png"
>
<img
v-if=
"registerCheck.agreeProtocol"
class=
"check"
src=
"@/assets/images/login/check.png"
>
{{
$t
(
'login.agree'
)
}}
<span
@
click=
"onProtocolHandler()"
class=
"protocol pointer"
>
{{
$t
(
'login.protocol'
)
}}
</span>
</div>
<div
@
click=
"registerV2Handler()"
class=
"login-submit pointer flex-center"
:class=
"
{disabled: registerDisabledV2}">
<van-loading
v-if=
"loading"
/>
<span>
{{
$t
(
'register.register'
)
}}
</span>
</div>
</div>
</div>
</div>
</div>
</
template
>
...
...
Please
register
or
sign in
to post a comment