1
Showing
24 changed files
with
456 additions
and
81 deletions
| ... | @@ -5,3 +5,5 @@ VUE_APP_BASE_URL= 'https://ow.go.qudone.com' | ... | @@ -5,3 +5,5 @@ VUE_APP_BASE_URL= 'https://ow.go.qudone.com' |
| 5 | 5 | ||
| 6 | VUE_APP_CONTENT_ENCRYPT_KEY = 'MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDA1SNj4qiOEmvTkZfp+Gt0UOLTCdxuEqRE+k0fROhgZdN2GmtDg6jcZV/CXKdwQGGdwOYdxEngRQb2K/SXd5Rnu4MkuAoHopDNrBRVqoJNQi6VOv6fvAEzeYivtS9aMM7IvdZuN1QlASCz2vxfUKJ3BaijMQqQE9m0pVm+0BDEfwIDAQAB' | 6 | VUE_APP_CONTENT_ENCRYPT_KEY = 'MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDA1SNj4qiOEmvTkZfp+Gt0UOLTCdxuEqRE+k0fROhgZdN2GmtDg6jcZV/CXKdwQGGdwOYdxEngRQb2K/SXd5Rnu4MkuAoHopDNrBRVqoJNQi6VOv6fvAEzeYivtS9aMM7IvdZuN1QlASCz2vxfUKJ3BaijMQqQE9m0pVm+0BDEfwIDAQAB' |
| 7 | VUE_APP_CONTENT_ENCRYPT_SWITCH = true | 7 | VUE_APP_CONTENT_ENCRYPT_SWITCH = true |
| 8 | |||
| 9 | VUE_APP_ONE_ACCOUNT_CENTER_OFF = true | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
| ... | @@ -5,3 +5,5 @@ VUE_APP_BASE_URL= 'https://ow.go.qudone.com' | ... | @@ -5,3 +5,5 @@ VUE_APP_BASE_URL= 'https://ow.go.qudone.com' |
| 5 | 5 | ||
| 6 | VUE_APP_CONTENT_ENCRYPT_KEY = 'MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDA1SNj4qiOEmvTkZfp+Gt0UOLTCdxuEqRE+k0fROhgZdN2GmtDg6jcZV/CXKdwQGGdwOYdxEngRQb2K/SXd5Rnu4MkuAoHopDNrBRVqoJNQi6VOv6fvAEzeYivtS9aMM7IvdZuN1QlASCz2vxfUKJ3BaijMQqQE9m0pVm+0BDEfwIDAQAB' | 6 | VUE_APP_CONTENT_ENCRYPT_KEY = 'MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDA1SNj4qiOEmvTkZfp+Gt0UOLTCdxuEqRE+k0fROhgZdN2GmtDg6jcZV/CXKdwQGGdwOYdxEngRQb2K/SXd5Rnu4MkuAoHopDNrBRVqoJNQi6VOv6fvAEzeYivtS9aMM7IvdZuN1QlASCz2vxfUKJ3BaijMQqQE9m0pVm+0BDEfwIDAQAB' |
| 7 | VUE_APP_CONTENT_ENCRYPT_SWITCH = true | 7 | VUE_APP_CONTENT_ENCRYPT_SWITCH = true |
| 8 | |||
| 9 | VUE_APP_ONE_ACCOUNT_CENTER_OFF = true | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
| ... | @@ -4,3 +4,5 @@ VUE_APP_BASE_URL= '' | ... | @@ -4,3 +4,5 @@ VUE_APP_BASE_URL= '' |
| 4 | 4 | ||
| 5 | VUE_APP_CONTENT_ENCRYPT_KEY = 'MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDA1SNj4qiOEmvTkZfp+Gt0UOLTCdxuEqRE+k0fROhgZdN2GmtDg6jcZV/CXKdwQGGdwOYdxEngRQb2K/SXd5Rnu4MkuAoHopDNrBRVqoJNQi6VOv6fvAEzeYivtS9aMM7IvdZuN1QlASCz2vxfUKJ3BaijMQqQE9m0pVm+0BDEfwIDAQAB' | 5 | VUE_APP_CONTENT_ENCRYPT_KEY = 'MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDA1SNj4qiOEmvTkZfp+Gt0UOLTCdxuEqRE+k0fROhgZdN2GmtDg6jcZV/CXKdwQGGdwOYdxEngRQb2K/SXd5Rnu4MkuAoHopDNrBRVqoJNQi6VOv6fvAEzeYivtS9aMM7IvdZuN1QlASCz2vxfUKJ3BaijMQqQE9m0pVm+0BDEfwIDAQAB' |
| 6 | VUE_APP_CONTENT_ENCRYPT_SWITCH = true | 6 | VUE_APP_CONTENT_ENCRYPT_SWITCH = true |
| 7 | |||
| 8 | VUE_APP_ONE_ACCOUNT_CENTER_OFF = true | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
This diff is collapsed.
Click to expand it.
| ... | @@ -21,6 +21,7 @@ module.exports = { | ... | @@ -21,6 +21,7 @@ module.exports = { |
| 21 | stdRegister: "/pingan_hklife_webapi/auth/stdRegister", | 21 | stdRegister: "/pingan_hklife_webapi/auth/stdRegister", |
| 22 | // 修改密码 | 22 | // 修改密码 |
| 23 | changePassword: "/pingan_hklife_webapi/user/password/change", | 23 | changePassword: "/pingan_hklife_webapi/user/password/change", |
| 24 | changePasswordV2: "/pingan_hklife_webapi/user/password/changeV2", | ||
| 24 | // 短信验证码登录 | 25 | // 短信验证码登录 |
| 25 | otpLogin: "/pingan_hklife_webapi/user/otpLogin", | 26 | otpLogin: "/pingan_hklife_webapi/user/otpLogin", |
| 26 | // 短信验证码登录 | 27 | // 短信验证码登录 |
| ... | @@ -54,8 +55,10 @@ module.exports = { | ... | @@ -54,8 +55,10 @@ module.exports = { |
| 54 | updatePolicyContanct : "/pingan_hklife_webapi/policy/updateContacts", | 55 | updatePolicyContanct : "/pingan_hklife_webapi/policy/updateContacts", |
| 55 | // 保单客戶資料變更 | 56 | // 保单客戶資料變更 |
| 56 | updatePolicyInfo : "/pingan_hklife_webapi/policy/updateInfo", | 57 | updatePolicyInfo : "/pingan_hklife_webapi/policy/updateInfo", |
| 58 | updatePolicyInfoV2 : "/pingan_hklife_webapi/policy/updatePolicyInfo", | ||
| 57 | // 证件上传 | 59 | // 证件上传 |
| 58 | idPicUpload : "/pingan_hklife_webapi/policy/idPicUpload", | 60 | idPicUpload : "/pingan_hklife_webapi/policy/idPicUpload", |
| 61 | updateIdFileV2 : "/pingan_hklife_webapi/policy/updateIdFileV2", | ||
| 59 | // 回销回执 | 62 | // 回销回执 |
| 60 | policyReceipt : "/pingan_hklife_webapi/policy/policyReceipt", | 63 | policyReceipt : "/pingan_hklife_webapi/policy/policyReceipt", |
| 61 | // 获取电子保单下载code | 64 | // 获取电子保单下载code |
| ... | @@ -82,5 +85,9 @@ module.exports = { | ... | @@ -82,5 +85,9 @@ module.exports = { |
| 82 | companyOutline : "/pingan_hklife_webapi/cms/company/outline", | 85 | companyOutline : "/pingan_hklife_webapi/cms/company/outline", |
| 83 | productInfo : "/pingan_hklife_webapi/cms/product", | 86 | productInfo : "/pingan_hklife_webapi/cms/product", |
| 84 | 87 | ||
| 85 | config : "/pingan_hklife_webapi/config" | 88 | config : "/pingan_hklife_webapi/config", |
| 89 | |||
| 90 | // 为了香港上线而增加的身份自行管理接口 | ||
| 91 | doLoginV2 : "/pingan_hklife_webapi/user/loginv2", | ||
| 92 | doRegisterV2 : "/pingan_hklife_webapi/user/registerv2" | ||
| 86 | } | 93 | } |
| ... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
| 1 | import axiosIns from 'axios'; | 1 | import axiosIns from 'axios'; |
| 2 | import state from '@/store/state.js'; | 2 | import state from '@/store/state.js'; |
| 3 | import { SET_USER_INFO } from '@/store/mutations.js'; | ||
| 3 | import CryptoJS from "crypto-js"; | 4 | import CryptoJS from "crypto-js"; |
| 4 | import JsEncrypt from "jsencrypt"; | 5 | import JsEncrypt from "jsencrypt"; |
| 5 | 6 | ||
| ... | @@ -51,7 +52,7 @@ function Toast(msg) { | ... | @@ -51,7 +52,7 @@ function Toast(msg) { |
| 51 | // let base = COM.baseUrl; | 52 | // let base = COM.baseUrl; |
| 52 | // console.log(process.env); | 53 | // console.log(process.env); |
| 53 | let baseURL = process.env.VUE_APP_BASE_URL; | 54 | let baseURL = process.env.VUE_APP_BASE_URL; |
| 54 | // let baseURL = "http://localhost:9101"; | 55 | // baseURL = "http://localhost:9101"; |
| 55 | if (window.location.href.indexOf("192.168") != -1) { | 56 | if (window.location.href.indexOf("192.168") != -1) { |
| 56 | baseURL = "https://ow.go.qudone.com"; | 57 | baseURL = "https://ow.go.qudone.com"; |
| 57 | } | 58 | } |
| ... | @@ -71,6 +72,7 @@ let encryptPattern = [ | ... | @@ -71,6 +72,7 @@ let encryptPattern = [ |
| 71 | 72 | ||
| 72 | let encryptWhileList = [ | 73 | let encryptWhileList = [ |
| 73 | "/pingan_hklife_webapi/policy/idPicUpload", | 74 | "/pingan_hklife_webapi/policy/idPicUpload", |
| 75 | "/pingan_hklife_webapi/policy/updateIdFileV2", | ||
| 74 | "/pingan_hklife_webapi/policy/clarmsUpload" | 76 | "/pingan_hklife_webapi/policy/clarmsUpload" |
| 75 | ] | 77 | ] |
| 76 | 78 | ||
| ... | @@ -107,6 +109,9 @@ axios.interceptors.response.use( | ... | @@ -107,6 +109,9 @@ axios.interceptors.response.use( |
| 107 | if (response.data.code === 200) { | 109 | if (response.data.code === 200) { |
| 108 | return Promise.resolve(response); | 110 | return Promise.resolve(response); |
| 109 | } else { | 111 | } else { |
| 112 | if (response.data.code === 404) { | ||
| 113 | SET_USER_INFO(state, null); | ||
| 114 | } | ||
| 110 | // Toast(response.data.bizMsg); | 115 | // Toast(response.data.bizMsg); |
| 111 | return Promise.reject(response.data); | 116 | return Promise.reject(response.data); |
| 112 | } | 117 | } |
| ... | @@ -248,6 +253,7 @@ export const formdata = params => { | ... | @@ -248,6 +253,7 @@ export const formdata = params => { |
| 248 | let { | 253 | let { |
| 249 | url, | 254 | url, |
| 250 | data, | 255 | data, |
| 256 | myFormData, | ||
| 251 | sid, | 257 | sid, |
| 252 | } = params; | 258 | } = params; |
| 253 | let headers = { | 259 | let headers = { |
| ... | @@ -255,15 +261,20 @@ export const formdata = params => { | ... | @@ -255,15 +261,20 @@ export const formdata = params => { |
| 255 | "Content-Type": "multipart/form-data" | 261 | "Content-Type": "multipart/form-data" |
| 256 | } | 262 | } |
| 257 | } | 263 | } |
| 258 | let formData = new FormData(); //使用formData对象 | 264 | let lastFormData = null |
| 265 | if (data) { | ||
| 266 | lastFormData = new FormData(); //使用formData对象 | ||
| 259 | for (let key in data) { | 267 | for (let key in data) { |
| 260 | formData.append(key, data[key]); | 268 | lastFormData.append(key, data[key]); |
| 269 | } | ||
| 270 | } else { | ||
| 271 | lastFormData = myFormData; | ||
| 261 | } | 272 | } |
| 262 | if (sid) { | 273 | if (sid) { |
| 263 | let sessionId = state.userInfo && state.userInfo.sid ? state.userInfo.sid : ""; | 274 | let sessionId = state.userInfo && state.userInfo.sid ? state.userInfo.sid : ""; |
| 264 | headers.headers.sid = sessionId; | 275 | headers.headers.sid = sessionId; |
| 265 | } | 276 | } |
| 266 | return axios.post(`${url}`, formData, headers).then(res => res.data); | 277 | return axios.post(`${url}`, lastFormData, headers).then(res => res.data); |
| 267 | } | 278 | } |
| 268 | 279 | ||
| 269 | export const requestDomain = () => { | 280 | export const requestDomain = () => { | ... | ... |
| ... | @@ -198,6 +198,8 @@ module.exports = { | ... | @@ -198,6 +198,8 @@ module.exports = { |
| 198 | e3: "Please enter the picture verification code", | 198 | e3: "Please enter the picture verification code", |
| 199 | e4: "Agree with PingAn Member Service Agreement", | 199 | e4: "Agree with PingAn Member Service Agreement", |
| 200 | e5: "Invalidate account or password, please re-enter", | 200 | e5: "Invalidate account or password, please re-enter", |
| 201 | e6: "Your password has been mistyped 4 times. Your account will be locked soon. Please retrieve your password!", | ||
| 202 | e7: "Your password has been mistyped 5 times. You can't log in again in 24 hours!", | ||
| 201 | oe0: "Invalidate mobile no. , please re-enter", | 203 | oe0: "Invalidate mobile no. , please re-enter", |
| 202 | oe1: "Please get SMS verification code first", | 204 | oe1: "Please get SMS verification code first", |
| 203 | oe2: "Please enter the picture verification code", | 205 | oe2: "Please enter the picture verification code", | ... | ... |
| ... | @@ -198,6 +198,8 @@ module.exports = { | ... | @@ -198,6 +198,8 @@ module.exports = { |
| 198 | e3: "請輸入圖像驗證碼", | 198 | e3: "請輸入圖像驗證碼", |
| 199 | e4: "請同意《平安賬戶會員服務協議》", | 199 | e4: "請同意《平安賬戶會員服務協議》", |
| 200 | e5: "賬號或密碼不正確", | 200 | e5: "賬號或密碼不正確", |
| 201 | e6: "您的密碼已輸錯4次,帳戶即將被鎖定,請找回密碼!", | ||
| 202 | e7: "您的密碼已輸錯5次,24小時內無法再登入!", | ||
| 201 | oe0: "請輸入正確的手機號", | 203 | oe0: "請輸入正確的手機號", |
| 202 | oe1: "請先獲取短信驗證碼", | 204 | oe1: "請先獲取短信驗證碼", |
| 203 | oe2: "請輸入圖片驗證碼", | 205 | oe2: "請輸入圖片驗證碼", | ... | ... |
| ... | @@ -198,6 +198,8 @@ module.exports = { | ... | @@ -198,6 +198,8 @@ module.exports = { |
| 198 | e3: "请输入图像验证码", | 198 | e3: "请输入图像验证码", |
| 199 | e4: "请同意《平安账户会员服务协议》", | 199 | e4: "请同意《平安账户会员服务协议》", |
| 200 | e5: "账号或密码不正确", | 200 | e5: "账号或密码不正确", |
| 201 | e6: "您的密码已输错4次,账户即将被锁定,请找回密码!", | ||
| 202 | e7: "您的密码已输错5次, 24小时内无法再登录!", | ||
| 201 | oe0: "请输入正确的手机号", | 203 | oe0: "请输入正确的手机号", |
| 202 | oe1: "请先获取短信验证码", | 204 | oe1: "请先获取短信验证码", |
| 203 | oe2: "请输入图片验证码", | 205 | oe2: "请输入图片验证码", | ... | ... |
| ... | @@ -25,10 +25,10 @@ export default { | ... | @@ -25,10 +25,10 @@ export default { |
| 25 | loading: false, | 25 | loading: false, |
| 26 | showTips: false, | 26 | showTips: false, |
| 27 | data: { | 27 | data: { |
| 28 | // firstName: "玛丽", | 28 | // firstName: "珊珊", |
| 29 | // lastName: "何", | 29 | // lastName: "王", |
| 30 | // birthDate: "15-07-1999", | 30 | // birthDate: "01-01-2000", |
| 31 | // idNo: "H4099030", | 31 | // idNo: "84555455", |
| 32 | // idType: "40" | 32 | // idType: "40" |
| 33 | 33 | ||
| 34 | firstName: "", | 34 | firstName: "", | ... | ... |
| ... | @@ -73,23 +73,43 @@ export default { | ... | @@ -73,23 +73,43 @@ export default { |
| 73 | overlay: { | 73 | overlay: { |
| 74 | type: Function, | 74 | type: Function, |
| 75 | default: null | 75 | default: null |
| 76 | }, | ||
| 77 | showType: { | ||
| 78 | type: String, | ||
| 79 | default: "owner" | ||
| 76 | } | 80 | } |
| 77 | }, | 81 | }, |
| 78 | data() { | 82 | data() { |
| 79 | return { | 83 | return { |
| 80 | key: 'value', | 84 | key: 'value', |
| 81 | frontPicSrc: null, | 85 | ownerFrontPicSrc: null, |
| 82 | backPicSrc: null, | 86 | ownerBackPicSrc: null, |
| 83 | frontPicFile: null, | 87 | ownerFrontPicFile: null, |
| 84 | backPicFile: null | 88 | ownerBackPicFile: null, |
| 89 | |||
| 90 | insuredFrontPicSrc: null, | ||
| 91 | insuredBackPicSrc: null, | ||
| 92 | insuredFrontPicFile: null, | ||
| 93 | insuredBackPicFile: null | ||
| 85 | } | 94 | } |
| 86 | }, | 95 | }, |
| 87 | components: {}, | 96 | components: {}, |
| 88 | computed: { | 97 | computed: { |
| 89 | submitBtnDisabled() { | 98 | submitBtnDisabled() { |
| 90 | let b1 = this.frontPicFile ? false : true; | 99 | let b = false; |
| 91 | let b2 = this.backPicFile ? false : true; | 100 | if (this.showType == "owner" || this.showType == "both") { |
| 92 | return b1 || b2; | 101 | let b1 = this.ownerFrontPicSrc ? false : true; |
| 102 | let b2 = this.ownerBackPicSrc ? false : true; | ||
| 103 | b = b1 || b2; | ||
| 104 | } | ||
| 105 | |||
| 106 | if (this.showType == "insured" || this.showType == "both") { | ||
| 107 | let b3 = this.insuredFrontPicSrc ? false : true; | ||
| 108 | let b4 = this.insuredBackPicSrc ? false : true; | ||
| 109 | |||
| 110 | b = b || b3 || b4; | ||
| 111 | } | ||
| 112 | return b; | ||
| 93 | } | 113 | } |
| 94 | }, | 114 | }, |
| 95 | methods: { | 115 | methods: { |
| ... | @@ -98,7 +118,13 @@ export default { | ... | @@ -98,7 +118,13 @@ export default { |
| 98 | if (this.submitBtnDisabled) { | 118 | if (this.submitBtnDisabled) { |
| 99 | return; | 119 | return; |
| 100 | } | 120 | } |
| 101 | this.$emit("onSubmit", { front: this.frontPicFile, back: this.backPicFile }); | 121 | |
| 122 | this.$emit("onSubmit", { | ||
| 123 | ownerFrontPicFile: this.ownerFrontPicFile, | ||
| 124 | ownerBackPicFile: this.ownerBackPicFile, | ||
| 125 | insuredFrontPicFile: this.insuredFrontPicFile, | ||
| 126 | insuredBackPicFile: this.insuredBackPicFile | ||
| 127 | }); | ||
| 102 | }, | 128 | }, |
| 103 | handlePicSelect(type) { | 129 | handlePicSelect(type) { |
| 104 | let _this = this; | 130 | let _this = this; |
| ... | @@ -108,17 +134,35 @@ export default { | ... | @@ -108,17 +134,35 @@ export default { |
| 108 | input.onchange = function (val) { | 134 | input.onchange = function (val) { |
| 109 | var reader = new FileReader(); | 135 | var reader = new FileReader(); |
| 110 | reader.onload = function (e) { | 136 | reader.onload = function (e) { |
| 111 | if (type == 'front') { | 137 | switch (type) { |
| 112 | _this.$set(_this, 'frontPicSrc', reader.result); | 138 | case "ownerFront": |
| 113 | } else { | 139 | _this.$set(_this, 'ownerFrontPicSrc', reader.result); |
| 114 | _this.$set(_this, 'backPicSrc', reader.result); | 140 | break; |
| 141 | case "ownerBack": | ||
| 142 | _this.$set(_this, 'ownerBackPicSrc', reader.result); | ||
| 143 | break; | ||
| 144 | case "insuredFront": | ||
| 145 | _this.$set(_this, 'insuredFrontPicSrc', reader.result); | ||
| 146 | break; | ||
| 147 | case "insuredBack": | ||
| 148 | _this.$set(_this, 'insuredBackPicSrc', reader.result); | ||
| 149 | break; | ||
| 115 | } | 150 | } |
| 116 | } | 151 | } |
| 117 | let file = input.files[0]; | 152 | let file = input.files[0]; |
| 118 | if (type == 'front') { | 153 | switch (type) { |
| 119 | _this.$set(_this, 'frontPicFile', file); | 154 | case "ownerFront": |
| 120 | } else { | 155 | _this.$set(_this, 'ownerFrontPicFile', file); |
| 121 | _this.$set(_this, 'backPicFile', file); | 156 | break; |
| 157 | case "ownerBack": | ||
| 158 | _this.$set(_this, 'ownerBackPicFile', file); | ||
| 159 | break; | ||
| 160 | case "insuredFront": | ||
| 161 | _this.$set(_this, 'insuredFrontPicFile', file); | ||
| 162 | break; | ||
| 163 | case "insuredBack": | ||
| 164 | _this.$set(_this, 'insuredBackPicFile', file); | ||
| 165 | break; | ||
| 122 | } | 166 | } |
| 123 | reader.readAsDataURL(file); | 167 | reader.readAsDataURL(file); |
| 124 | }; | 168 | }; |
| ... | @@ -144,5 +188,6 @@ export default { | ... | @@ -144,5 +188,6 @@ export default { |
| 144 | } | 188 | } |
| 145 | }, | 189 | }, |
| 146 | mounted() { }, | 190 | mounted() { }, |
| 147 | created() { } | 191 | created() { |
| 192 | } | ||
| 148 | } | 193 | } | ... | ... |
| ... | @@ -7,15 +7,28 @@ | ... | @@ -7,15 +7,28 @@ |
| 7 | {{$t('form.modalUploadCard.tit')}} | 7 | {{$t('form.modalUploadCard.tit')}} |
| 8 | <img @click="onCloseHandler()" class="close-btn pointer" :src="require('@assets/images/common/icon-modal-simple-close.png')"> | 8 | <img @click="onCloseHandler()" class="close-btn pointer" :src="require('@assets/images/common/icon-modal-simple-close.png')"> |
| 9 | </div> | 9 | </div> |
| 10 | <div class="modal-content"> | 10 | |
| 11 | <div class="modal-content" v-if="showType == 'owner' || showType == 'both'"> | ||
| 12 | <div class="gird-g upload"> | ||
| 13 | <div class="pure-u-1 pure-u-md-1-2 upload-item"> | ||
| 14 | <div class="tit"> {{$t('policyChangeInformation.owner')}} {{$t('form.modalUploadCard.front')}}</div> | ||
| 15 | <img class="poster pointer" :src="ownerFrontPicSrc || require('@assets/images/common/card-front.png')" alt="" @click="handlePicSelect('ownerFront')"> | ||
| 16 | </div> | ||
| 17 | <div class="pure-u-1 pure-u-md-1-2 upload-item"> | ||
| 18 | <div class="tit"> {{$t('policyChangeInformation.owner')}} {{$t('form.modalUploadCard.back')}}</div> | ||
| 19 | <img class="poster pointer" :src="ownerBackPicSrc || require('@assets/images/common/card-back.png')" alt="" @click="handlePicSelect('ownerBack')"> | ||
| 20 | </div> | ||
| 21 | </div> | ||
| 22 | </div> | ||
| 23 | <div class="modal-content" v-if="showType == 'insured' || showType == 'both'"> | ||
| 11 | <div class="gird-g upload"> | 24 | <div class="gird-g upload"> |
| 12 | <div class="pure-u-1 pure-u-md-1-2 upload-item"> | 25 | <div class="pure-u-1 pure-u-md-1-2 upload-item"> |
| 13 | <div class="tit"> {{$t('form.modalUploadCard.front')}}</div> | 26 | <div class="tit"> {{$t('policyChangeInformation.insured')}} {{$t('form.modalUploadCard.front')}}</div> |
| 14 | <img class="poster pointer" :src="frontPicSrc || require('@assets/images/common/card-front.png')" alt="" @click="handlePicSelect('front')"> | 27 | <img class="poster pointer" :src="insuredFrontPicSrc || require('@assets/images/common/card-front.png')" alt="" @click="handlePicSelect('insuredFront')"> |
| 15 | </div> | 28 | </div> |
| 16 | <div class="pure-u-1 pure-u-md-1-2 upload-item"> | 29 | <div class="pure-u-1 pure-u-md-1-2 upload-item"> |
| 17 | <div class="tit"> {{$t('form.modalUploadCard.back')}}</div> | 30 | <div class="tit"> {{$t('policyChangeInformation.insured')}} {{$t('form.modalUploadCard.back')}}</div> |
| 18 | <img class="poster pointer" :src="backPicSrc || require('@assets/images/common/card-back.png')" alt="" @click="handlePicSelect('back')"> | 31 | <img class="poster pointer" :src="insuredBackPicSrc || require('@assets/images/common/card-back.png')" alt="" @click="handlePicSelect('insuredBack')"> |
| 19 | </div> | 32 | </div> |
| 20 | </div> | 33 | </div> |
| 21 | </div> | 34 | </div> | ... | ... |
| 1 | 1 | ||
| 2 | <template> | 2 | <template> |
| 3 | <div> | ||
| 3 | <div class="comp" v-if="policyDetail && showPolicy"> | 4 | <div class="comp" v-if="policyDetail && showPolicy"> |
| 4 | <modal2-comp :visible="showSuccessTip" :close="()=>{showSuccessTip = false}" :content="$t('vhis.tip6')" :target="$t('vhis.tip7')" @targetCallbak="toTarget"></modal2-comp> | ||
| 5 | <modal2-comp :visible="showDownloadError" :close="()=>{showDownloadError = false}" :content="$t('glbalTips.sysError')" ></modal2-comp> | ||
| 6 | <div @click="handleIgnorePolicy" class="overlay"></div> | 5 | <div @click="handleIgnorePolicy" class="overlay"></div> |
| 7 | <div class="border"> | 6 | <div class="border"> |
| 8 | <div class="close" @click="onOverLayHandler()"><img src="@/assets/images/vhis/close.png"></div> | 7 | <div class="close" @click="onOverLayHandler()"><img src="@/assets/images/vhis/close.png"></div> |
| ... | @@ -111,6 +110,10 @@ | ... | @@ -111,6 +110,10 @@ |
| 111 | </div> | 110 | </div> |
| 112 | 111 | ||
| 113 | </div> | 112 | </div> |
| 113 | |||
| 114 | <modal2-comp :visible="showSuccessTip" :close="()=>{showSuccessTip = false}" :content="$t('vhis.tip6')" :target="$t('vhis.tip7')" @targetCallbak="toTarget"></modal2-comp> | ||
| 115 | <modal2-comp :visible="showDownloadError" :close="()=>{showDownloadError = false}" :content="$t('glbalTips.sysError')" ></modal2-comp> | ||
| 116 | </div> | ||
| 114 | </template> | 117 | </template> |
| 115 | 118 | ||
| 116 | <script src="./vhis-modal.js"></script> | 119 | <script src="./vhis-modal.js"></script> | ... | ... |
| ... | @@ -99,7 +99,8 @@ function initQueryConfig() { | ... | @@ -99,7 +99,8 @@ function initQueryConfig() { |
| 99 | PK: rsaKey1, | 99 | PK: rsaKey1, |
| 100 | E: rsaKeyIndex1, | 100 | E: rsaKeyIndex1, |
| 101 | vhis: vhis1, | 101 | vhis: vhis1, |
| 102 | policies: policies | 102 | policies: policies, |
| 103 | oneAccountCenterOff: process.env.VUE_APP_ONE_ACCOUNT_CENTER_OFF == "true" ? true : false | ||
| 103 | }; | 104 | }; |
| 104 | 105 | ||
| 105 | httpGet({ | 106 | httpGet({ | ... | ... |
| ... | @@ -15,7 +15,7 @@ import DatePicker from '@/components/date-picker/date-picker.vue' | ... | @@ -15,7 +15,7 @@ import DatePicker from '@/components/date-picker/date-picker.vue' |
| 15 | import modalComp from '@/components/modal-comp/modal-comp.vue'; | 15 | import modalComp from '@/components/modal-comp/modal-comp.vue'; |
| 16 | import modalUploadCardComp from '@/components/modal-upload-card-comp/modal-upload-card-comp.vue'; | 16 | import modalUploadCardComp from '@/components/modal-upload-card-comp/modal-upload-card-comp.vue'; |
| 17 | import Vue from 'vue'; | 17 | import Vue from 'vue'; |
| 18 | import { Loading } from 'vant'; | 18 | import { Loading, Field } from 'vant'; |
| 19 | Vue.use(Loading); | 19 | Vue.use(Loading); |
| 20 | 20 | ||
| 21 | export default { | 21 | export default { |
| ... | @@ -30,6 +30,7 @@ export default { | ... | @@ -30,6 +30,7 @@ export default { |
| 30 | selectedPolicies: [], | 30 | selectedPolicies: [], |
| 31 | data: null, | 31 | data: null, |
| 32 | // 保单信息 | 32 | // 保单信息 |
| 33 | policyOld: null, | ||
| 33 | policy: null, | 34 | policy: null, |
| 34 | // ID证件照引用 | 35 | // ID证件照引用 |
| 35 | idFront: null, | 36 | idFront: null, |
| ... | @@ -42,6 +43,8 @@ export default { | ... | @@ -42,6 +43,8 @@ export default { |
| 42 | modalIcon: "succ", | 43 | modalIcon: "succ", |
| 43 | modalContent: "", | 44 | modalContent: "", |
| 44 | showIdNumber: false, | 45 | showIdNumber: false, |
| 46 | |||
| 47 | showType: "" | ||
| 45 | } | 48 | } |
| 46 | }, | 49 | }, |
| 47 | components: { | 50 | components: { |
| ... | @@ -111,24 +114,28 @@ export default { | ... | @@ -111,24 +114,28 @@ export default { |
| 111 | }).then(res => { | 114 | }).then(res => { |
| 112 | this.loading = false; | 115 | this.loading = false; |
| 113 | if (res) { | 116 | if (res) { |
| 114 | this.policy = res; | 117 | if (res != null) { |
| 115 | 118 | this.policy = JSON.parse(JSON.stringify(res)); | |
| 119 | this.policyOld = JSON.parse(JSON.stringify(res)); | ||
| 116 | this.policy.clientBirthday = this.policy.clientBirthday ? this.policy.clientBirthday.split(" ")[0] : ""; | 120 | this.policy.clientBirthday = this.policy.clientBirthday ? this.policy.clientBirthday.split(" ")[0] : ""; |
| 117 | this.policy.insuredBirthday = this.policy.insuredBirthday ? this.policy.insuredBirthday.split(" ")[0] : ""; | 121 | this.policy.insuredBirthday = this.policy.insuredBirthday ? this.policy.insuredBirthday.split(" ")[0] : ""; |
| 122 | this.policyOld.clientBirthday = this.policyOld.clientBirthday ? this.policyOld.clientBirthday.split(" ")[0] : ""; | ||
| 123 | this.policyOld.insuredBirthday = this.policyOld.insuredBirthday ? this.policyOld.insuredBirthday.split(" ")[0] : ""; | ||
| 124 | this.initData(); | ||
| 125 | } | ||
| 118 | 126 | ||
| 119 | let clientNameCn = res.clientNameCn ? res.clientNameCn : res.clientNameEn; | 127 | // let clientNameCn = res.clientNameCn ? res.clientNameCn : res.clientNameEn; |
| 120 | let clientNameEn = res.clientNameEn ? res.clientNameEn : res.clientNameCn; | 128 | // let clientNameEn = res.clientNameEn ? res.clientNameEn : res.clientNameCn; |
| 121 | let insuredNameCn = res.insuredNameCn ? res.insuredNameCn : res.insuredNameEn; | 129 | // let insuredNameCn = res.insuredNameCn ? res.insuredNameCn : res.insuredNameEn; |
| 122 | let insuredNameEn = res.insuredNameEn ? res.insuredNameEn : res.insuredNameCn; | 130 | // let insuredNameEn = res.insuredNameEn ? res.insuredNameEn : res.insuredNameCn; |
| 123 | this.policy.clientName = this.locale == 'en' ? clientNameEn : clientNameCn; | 131 | // this.policy.clientName = this.locale == 'en' ? clientNameEn : clientNameCn; |
| 124 | this.policy.insuredName = this.locale == 'en' ? insuredNameEn : insuredNameCn; | 132 | // this.policy.insuredName = this.locale == 'en' ? insuredNameEn : insuredNameCn; |
| 125 | // 证件类型、证件号要备份,用于比较 | 133 | // // 证件类型、证件号要备份,用于比较 |
| 126 | this.policy.clientIdTypeBak = this.policy.clientIdType; | 134 | // this.policy.clientIdTypeBak = this.policy.clientIdType; |
| 127 | this.policy.clientIdNumberBak = this.policy.clientIdNumber; | 135 | // this.policy.clientIdNumberBak = this.policy.clientIdNumber; |
| 128 | 136 | ||
| 129 | this.policy.insuredIdTypeBak = this.policy.insuredIdType; | 137 | // this.policy.insuredIdTypeBak = this.policy.insuredIdType; |
| 130 | this.policy.insuredIdNumberBak = this.policy.insuredIdNumber; | 138 | // this.policy.insuredIdNumberBak = this.policy.insuredIdNumber; |
| 131 | this.initData(); | ||
| 132 | } | 139 | } |
| 133 | }).catch(err => { | 140 | }).catch(err => { |
| 134 | this.loading = false; | 141 | this.loading = false; |
| ... | @@ -141,8 +148,10 @@ export default { | ... | @@ -141,8 +148,10 @@ export default { |
| 141 | let res = this.policy; | 148 | let res = this.policy; |
| 142 | if (res) { | 149 | if (res) { |
| 143 | let isOwner = this.isOwner; | 150 | let isOwner = this.isOwner; |
| 151 | |||
| 144 | let data = { | 152 | let data = { |
| 145 | name: isOwner ? res.clientName : res.insuredName, | 153 | nameCn: isOwner ? res.clientNameCn : res.insuredNameCn, |
| 154 | nameEn: isOwner ? res.clientNameEn : res.insuredNameEn, | ||
| 146 | idType: isOwner ? res.clientIdType : res.insuredIdType, | 155 | idType: isOwner ? res.clientIdType : res.insuredIdType, |
| 147 | idNumber: isOwner ? res.clientIdNumber : res.insuredIdNumber, | 156 | idNumber: isOwner ? res.clientIdNumber : res.insuredIdNumber, |
| 148 | idExpireAt: isOwner ? res.clientExpireAt : res.insuredExpireAt, | 157 | idExpireAt: isOwner ? res.clientExpireAt : res.insuredExpireAt, |
| ... | @@ -160,7 +169,57 @@ export default { | ... | @@ -160,7 +169,57 @@ export default { |
| 160 | this.selectedPolicies = data; | 169 | this.selectedPolicies = data; |
| 161 | this.loadData(); | 170 | this.loadData(); |
| 162 | }, | 171 | }, |
| 172 | |||
| 163 | handleUpdatePolicy() { | 173 | handleUpdatePolicy() { |
| 174 | if (this.loading) { | ||
| 175 | return; | ||
| 176 | } | ||
| 177 | this.showType = null; | ||
| 178 | let showUploadPicDialog = false; | ||
| 179 | this.replaceData(); | ||
| 180 | let showOwner = this.policy.clientIdType != this.policyOld.clientIdType || this.policy.clientIdNumber != this.policyOld.clientIdNumber; | ||
| 181 | let showInsured = this.policy.insuredIdType != this.policyOld.insuredIdType || this.policy.insuredIdNumber != this.policyOld.insuredIdNumber; | ||
| 182 | let showType = showOwner ? "owner" : null; | ||
| 183 | if (showInsured) { | ||
| 184 | showType = showType ? "both" : "insured"; | ||
| 185 | } | ||
| 186 | showUploadPicDialog = showType ? true : false; | ||
| 187 | this.showType = showType; | ||
| 188 | |||
| 189 | if (showUploadPicDialog) { | ||
| 190 | this.modalUploadCardVisiable = true; | ||
| 191 | } else { | ||
| 192 | this.loading = true; | ||
| 193 | this.updatePolicyInfoV2(); | ||
| 194 | } | ||
| 195 | }, | ||
| 196 | handleUpdatePolicyWithFile(data) { | ||
| 197 | this.modalUploadCardVisiable = false; | ||
| 198 | if (this.loading) { | ||
| 199 | return; | ||
| 200 | } | ||
| 201 | this.loading = true; | ||
| 202 | let nameCache = []; | ||
| 203 | let myFormData = new FormData(); | ||
| 204 | (data.ownerFrontPicFile) && (myFormData.append("files", data.ownerFrontPicFile), nameCache.push("clientIdFrontStoragePath")); | ||
| 205 | (data.ownerBackPicFile) && (myFormData.append("files", data.ownerBackPicFile), nameCache.push("clientIdBackStoragePath")); | ||
| 206 | (data.insuredFrontPicFile) && (myFormData.append("files", data.insuredFrontPicFile), nameCache.push("insuredIdFrontStoragePath")); | ||
| 207 | (data.insuredBackPicFile) && (myFormData.append("files", data.insuredBackPicFile), nameCache.push("insuredIdBackStoragePath")); | ||
| 208 | formdata({ "url": api.updateIdFileV2, "myFormData": myFormData, "sid": true }).then(res => { | ||
| 209 | let list = res.content; | ||
| 210 | let fileIds = {}; | ||
| 211 | for (let index = 0; index < list.length; index++) { | ||
| 212 | fileIds[nameCache[index]] = list[index]; | ||
| 213 | } | ||
| 214 | this.updatePolicyInfoV2(fileIds); | ||
| 215 | }).catch(err => { | ||
| 216 | this.loading = false; | ||
| 217 | this.handleErrResponse(err); | ||
| 218 | }); | ||
| 219 | |||
| 220 | }, | ||
| 221 | // 旧接口备份 | ||
| 222 | handleUpdatePolicyBak() { | ||
| 164 | let showUploadPicDialog = false; | 223 | let showUploadPicDialog = false; |
| 165 | if (this.isOwner) { | 224 | if (this.isOwner) { |
| 166 | showUploadPicDialog = (this.policy.clientIdType != this.data.idType || this.policy.clientIdNumber != this.data.idNumber); | 225 | showUploadPicDialog = (this.policy.clientIdType != this.data.idType || this.policy.clientIdNumber != this.data.idNumber); |
| ... | @@ -173,7 +232,56 @@ export default { | ... | @@ -173,7 +232,56 @@ export default { |
| 173 | this.updatePolicyInfo(); | 232 | this.updatePolicyInfo(); |
| 174 | } | 233 | } |
| 175 | }, | 234 | }, |
| 176 | handleUpdatePolicyWithFile(data) { | 235 | updatePolicyInfoV2(idFiles) { |
| 236 | let data = { | ||
| 237 | policyId: this.policy.policyId, | ||
| 238 | policyCode: this.policy.policyCode, | ||
| 239 | insuredNameEn: this.policy.insuredNameEn, | ||
| 240 | insuredNameCn: this.policy.insuredNameCn, | ||
| 241 | insuredIdType: this.policy.insuredIdType, | ||
| 242 | insuredIdNumber: this.policy.insuredIdNumber, | ||
| 243 | insuredExpireAt: this.policy.insuredExpireAt, | ||
| 244 | insuredNationality: this.policy.insuredNationality, | ||
| 245 | insuredCompany: this.policy.insuredCompany, | ||
| 246 | insuredMarriage: this.policy.insuredMarriage, | ||
| 247 | insuredSex: this.policy.insuredSex, | ||
| 248 | insuredBirthday: this.policy.insuredBirthday, | ||
| 249 | clientNameEn: this.policy.clientNameEn, | ||
| 250 | clientNameCn: this.policy.clientNameCn, | ||
| 251 | clientIdType: this.policy.clientIdType, | ||
| 252 | clientIdNumber: this.policy.clientIdNumber, | ||
| 253 | clientExpireAt: this.policy.clientExpireAt, | ||
| 254 | clientNationality: this.policy.clientNationality, | ||
| 255 | clientCompany: this.policy.clientCompany, | ||
| 256 | clientMarriage: this.policy.clientMarriage, | ||
| 257 | clientSex: this.policy.clientSex, | ||
| 258 | clientBirthday: this.policy.clientBirthday | ||
| 259 | }; | ||
| 260 | if (idFiles) { | ||
| 261 | for (let k in idFiles) { | ||
| 262 | data[k] = idFiles[k]; | ||
| 263 | } | ||
| 264 | } | ||
| 265 | |||
| 266 | httpPost({ url: api.updatePolicyInfoV2, data: data, sid: true }).then(res => { | ||
| 267 | if (this.isOwner) { | ||
| 268 | let userInfo = JSON.parse(JSON.stringify(this.userInfo)); | ||
| 269 | userInfo.name = data.clientNameCn ? data.clientNameCn : data.clientNameEn; | ||
| 270 | if (userInfo.name) { | ||
| 271 | this.$store.commit("SET_USER_INFO", userInfo); | ||
| 272 | } | ||
| 273 | } | ||
| 274 | this.loading = false; | ||
| 275 | this.showModal(this.i18n.policyChangeInformation.success); | ||
| 276 | }).catch(err => { | ||
| 277 | this.loading = false; | ||
| 278 | this.handleErrResponse(err); | ||
| 279 | }); | ||
| 280 | |||
| 281 | }, | ||
| 282 | |||
| 283 | // 旧接口备份 | ||
| 284 | handleUpdatePolicyWithFileBak(data) { | ||
| 177 | this.idFront = data.front; | 285 | this.idFront = data.front; |
| 178 | this.idBack = data.back; | 286 | this.idBack = data.back; |
| 179 | this.updatePolicyIdPic().then(() => { | 287 | this.updatePolicyIdPic().then(() => { |
| ... | @@ -232,17 +340,11 @@ export default { | ... | @@ -232,17 +340,11 @@ export default { |
| 232 | }); | 340 | }); |
| 233 | }); | 341 | }); |
| 234 | }, | 342 | }, |
| 235 | switchPolicyRole(role) { | 343 | replaceData() { |
| 236 | if (this.isOwner && role == 1) { | 344 | if (!this.isOwner) { |
| 237 | return; | ||
| 238 | } | ||
| 239 | if (!this.isOwner && role == 2) { | ||
| 240 | return; | ||
| 241 | } | ||
| 242 | if (this.policy) { | ||
| 243 | if (role == 1) { | ||
| 244 | // 需要缓存结果,注意取反,此处存在受保人信息 | 345 | // 需要缓存结果,注意取反,此处存在受保人信息 |
| 245 | this.policy.insuredName = this.data.name; | 346 | this.policy.insuredNameEn = this.data.nameEn; |
| 347 | this.policy.insuredNameCn = this.data.nameCn; | ||
| 246 | this.policy.insuredIdType = this.data.idType; | 348 | this.policy.insuredIdType = this.data.idType; |
| 247 | this.policy.insuredIdNumber = this.data.idNumber; | 349 | this.policy.insuredIdNumber = this.data.idNumber; |
| 248 | this.policy.insuredExpireAt = this.data.idExpireAt; | 350 | this.policy.insuredExpireAt = this.data.idExpireAt; |
| ... | @@ -253,7 +355,8 @@ export default { | ... | @@ -253,7 +355,8 @@ export default { |
| 253 | this.policy.insuredBirthday = this.data.birthday; | 355 | this.policy.insuredBirthday = this.data.birthday; |
| 254 | } else { | 356 | } else { |
| 255 | // 需要缓存结果,注意取反,此处存在投保人信息 | 357 | // 需要缓存结果,注意取反,此处存在投保人信息 |
| 256 | this.policy.clientName = this.data.name; | 358 | this.policy.clientNameEn = this.data.nameEn; |
| 359 | this.policy.clientNameCn = this.data.nameCn; | ||
| 257 | this.policy.clientIdType = this.data.idType; | 360 | this.policy.clientIdType = this.data.idType; |
| 258 | this.policy.clientIdNumber = this.data.idNumber; | 361 | this.policy.clientIdNumber = this.data.idNumber; |
| 259 | this.policy.clientExpireAt = this.data.idExpireAt; | 362 | this.policy.clientExpireAt = this.data.idExpireAt; |
| ... | @@ -263,7 +366,15 @@ export default { | ... | @@ -263,7 +366,15 @@ export default { |
| 263 | this.policy.clientSex = this.data.sex; | 366 | this.policy.clientSex = this.data.sex; |
| 264 | this.policy.clientBirthday = this.data.birthday; | 367 | this.policy.clientBirthday = this.data.birthday; |
| 265 | } | 368 | } |
| 369 | }, | ||
| 370 | switchPolicyRole(role) { | ||
| 371 | if (this.isOwner && role == 1) { | ||
| 372 | return; | ||
| 373 | } | ||
| 374 | if (!this.isOwner && role == 2) { | ||
| 375 | return; | ||
| 266 | } | 376 | } |
| 377 | this.replaceData(); | ||
| 267 | this.isOwner = role == 1 ? true : false; | 378 | this.isOwner = role == 1 ? true : false; |
| 268 | this.initData(); | 379 | this.initData(); |
| 269 | }, | 380 | }, | ... | ... |
| ... | @@ -2,7 +2,7 @@ | ... | @@ -2,7 +2,7 @@ |
| 2 | <template> | 2 | <template> |
| 3 | <div> | 3 | <div> |
| 4 | <auth @onLogin="userLogin" @onLogout="userLogout" :checkProfile="true" ref="auth" :tipModel="'m2'"></auth> | 4 | <auth @onLogin="userLogin" @onLogout="userLogout" :checkProfile="true" ref="auth" :tipModel="'m2'"></auth> |
| 5 | <modal-upload-card-comp :visible="modalUploadCardVisiable" :show-confirm="true" @close="modalUploadCardVisiable=false" @onSubmit="handleUpdatePolicyWithFile"></modal-upload-card-comp> | 5 | <modal-upload-card-comp v-if="modalUploadCardVisiable" :visible="modalUploadCardVisiable" :showType="showType" :show-confirm="true" @close="modalUploadCardVisiable=false" @onSubmit="handleUpdatePolicyWithFile"></modal-upload-card-comp> |
| 6 | <modal-comp :visible="modalVisiable" :show-confirm="false" :icon="modalIcon" :content="modalContent" :confirm="modalCallback" :overlay="modalCallback"></modal-comp> | 6 | <modal-comp :visible="modalVisiable" :show-confirm="false" :icon="modalIcon" :content="modalContent" :confirm="modalCallback" :overlay="modalCallback"></modal-comp> |
| 7 | <template v-if="showForm"> | 7 | <template v-if="showForm"> |
| 8 | 8 | ||
| ... | @@ -29,7 +29,8 @@ | ... | @@ -29,7 +29,8 @@ |
| 29 | <div class="icon"><img src="@/assets/images/policy-change-information/icon-pci-info.png"></div> {{$t('policyChangeInformation.name')}} | 29 | <div class="icon"><img src="@/assets/images/policy-change-information/icon-pci-info.png"></div> {{$t('policyChangeInformation.name')}} |
| 30 | </div> | 30 | </div> |
| 31 | <div class="ipt-wrap"> | 31 | <div class="ipt-wrap"> |
| 32 | <input class="ipt" type="text" v-model="data.name"> | 32 | <input v-if="locale == 'en'" class="ipt" type="text" v-model="data.nameEn"> |
| 33 | <input v-else class="ipt" type="text" v-model="data.nameCn"> | ||
| 33 | </div> | 34 | </div> |
| 34 | </div> | 35 | </div> |
| 35 | 36 | ... | ... |
| ... | @@ -226,7 +226,7 @@ export default { | ... | @@ -226,7 +226,7 @@ export default { |
| 226 | this.initData(); | 226 | this.initData(); |
| 227 | 227 | ||
| 228 | setTimeout(() => { | 228 | setTimeout(() => { |
| 229 | console.log("queryConfigData:", this.$root.queryConfigData); | 229 | // console.log("queryConfigData:", this.$root.queryConfigData); |
| 230 | // console.log("queryConfigData:", window.vueInstance.queryConfigData); // 挂载到windows的访问方法 | 230 | // console.log("queryConfigData:", window.vueInstance.queryConfigData); // 挂载到windows的访问方法 |
| 231 | // 放localStorage直接是localStorage.getItem("queryConfig"); | 231 | // 放localStorage直接是localStorage.getItem("queryConfig"); |
| 232 | }, 3000) | 232 | }, 3000) | ... | ... |
| ... | @@ -128,6 +128,9 @@ export default { | ... | @@ -128,6 +128,9 @@ export default { |
| 128 | let b1 = !this.values.password || this.checkPassword(this.values.password) ? true : false; | 128 | let b1 = !this.values.password || this.checkPassword(this.values.password) ? true : false; |
| 129 | let b2 = this.values.passwordRepeat != this.values.password ? true : false; | 129 | let b2 = this.values.passwordRepeat != this.values.password ? true : false; |
| 130 | return b1 || b2; | 130 | return b1 || b2; |
| 131 | }, | ||
| 132 | oneAccountCenterOff() { | ||
| 133 | return window.global.oneAccountCenterOff; | ||
| 131 | } | 134 | } |
| 132 | }, | 135 | }, |
| 133 | methods: { | 136 | methods: { |
| ... | @@ -181,7 +184,6 @@ export default { | ... | @@ -181,7 +184,6 @@ export default { |
| 181 | let mobileOptions = JSON.parse(JSON.stringify(this.i18n.register.mobileOptions)); | 184 | let mobileOptions = JSON.parse(JSON.stringify(this.i18n.register.mobileOptions)); |
| 182 | this.mobileOptions = mobileOptions; | 185 | this.mobileOptions = mobileOptions; |
| 183 | this.mobileTip = this.mobileOptions[0]; | 186 | this.mobileTip = this.mobileOptions[0]; |
| 184 | console.log(this.mobileOptions) | ||
| 185 | }, | 187 | }, |
| 186 | handlerIsShowImageVcode() { | 188 | handlerIsShowImageVcode() { |
| 187 | return new Promise((resolve, reject) => { | 189 | return new Promise((resolve, reject) => { |
| ... | @@ -217,6 +219,9 @@ export default { | ... | @@ -217,6 +219,9 @@ export default { |
| 217 | // 刷新图形二维码 | 219 | // 刷新图形二维码 |
| 218 | }, | 220 | }, |
| 219 | handlerLogin() { | 221 | handlerLogin() { |
| 222 | if (this.oneAccountCenterOff) { | ||
| 223 | this.selfLogin(); | ||
| 224 | } else { | ||
| 220 | if ((this.type == 1 && this.pwdLoginDisabled) || (this.type == 2 && this.otpLoginDisabled)) { | 225 | if ((this.type == 1 && this.pwdLoginDisabled) || (this.type == 2 && this.otpLoginDisabled)) { |
| 221 | return; | 226 | return; |
| 222 | } | 227 | } |
| ... | @@ -230,6 +235,39 @@ export default { | ... | @@ -230,6 +235,39 @@ export default { |
| 230 | } else { | 235 | } else { |
| 231 | this._otpLogin(); | 236 | this._otpLogin(); |
| 232 | } | 237 | } |
| 238 | } | ||
| 239 | }, | ||
| 240 | selfLogin() { | ||
| 241 | if (this.loading) { | ||
| 242 | return; | ||
| 243 | } | ||
| 244 | this.loading = true; | ||
| 245 | let data = { | ||
| 246 | account: this.loginForm.userId, | ||
| 247 | password: this.loginForm.password | ||
| 248 | }; | ||
| 249 | httpPost({ | ||
| 250 | url: api.doLoginV2, | ||
| 251 | data: data | ||
| 252 | }).then(res => { | ||
| 253 | this.loading = false; | ||
| 254 | this.$store.commit("SET_USER_INFO", res); | ||
| 255 | this._redirectTo(); | ||
| 256 | }).catch(e => { | ||
| 257 | this.loading = false; | ||
| 258 | switch (e.code) { | ||
| 259 | case 404: | ||
| 260 | this.errorTips.e2 = this.i18n.login.tips.e5; | ||
| 261 | break; | ||
| 262 | case 1102: | ||
| 263 | this.errorTips.e2 = this.i18n.login.tips.e6; | ||
| 264 | break; | ||
| 265 | case 1101: | ||
| 266 | this.errorTips.e2 = this.i18n.login.tips.e7; | ||
| 267 | break; | ||
| 268 | } | ||
| 269 | }) | ||
| 270 | |||
| 233 | }, | 271 | }, |
| 234 | _passwordLogin() { | 272 | _passwordLogin() { |
| 235 | // 刷新图形二维码 | 273 | // 刷新图形二维码 | ... | ... |
| ... | @@ -13,7 +13,8 @@ | ... | @@ -13,7 +13,8 @@ |
| 13 | <div class="box"> | 13 | <div class="box"> |
| 14 | <!-- 帐密登陆 --> | 14 | <!-- 帐密登陆 --> |
| 15 | <div v-if="type == 1" class="login"> | 15 | <div v-if="type == 1" class="login"> |
| 16 | <!-- <div class="login-tit"> | 16 | <template v-if="!oneAccountCenterOff"> |
| 17 | <div class="login-tit"> | ||
| 17 | <img v-if="locale == 'zh'" src="@/assets/images/login/login-tit-zh.png"> | 18 | <img v-if="locale == 'zh'" src="@/assets/images/login/login-tit-zh.png"> |
| 18 | <img v-if="locale == 'tc'" src="@/assets/images/login/login-tit-tc.png"> | 19 | <img v-if="locale == 'tc'" src="@/assets/images/login/login-tit-tc.png"> |
| 19 | <img v-if="locale == 'en'" class="img-en" src="@/assets/images/login/login-tit-en.png"> | 20 | <img v-if="locale == 'en'" class="img-en" src="@/assets/images/login/login-tit-en.png"> |
| ... | @@ -22,7 +23,8 @@ | ... | @@ -22,7 +23,8 @@ |
| 22 | <div @click="onLoginTypeHandler(1)" class="login-nav-tit text-r pointer active">{{$t('login.loginType1')}}</div> | 23 | <div @click="onLoginTypeHandler(1)" class="login-nav-tit text-r pointer active">{{$t('login.loginType1')}}</div> |
| 23 | <div class="login-nav-v-line"></div> | 24 | <div class="login-nav-v-line"></div> |
| 24 | <div @click="onLoginTypeHandler(2)" class="login-nav-tit pointer">{{$t('login.loginType2')}}</div> | 25 | <div @click="onLoginTypeHandler(2)" class="login-nav-tit pointer">{{$t('login.loginType2')}}</div> |
| 25 | </div> --> | 26 | </div> |
| 27 | </template> | ||
| 26 | <div class="gird-g form"> | 28 | <div class="gird-g form"> |
| 27 | <div class="pure-u-1 form-item"> | 29 | <div class="pure-u-1 form-item"> |
| 28 | <div class="label"> | 30 | <div class="label"> |
| ... | @@ -69,7 +71,7 @@ | ... | @@ -69,7 +71,7 @@ |
| 69 | </div> | 71 | </div> |
| 70 | <div class="login-func"> | 72 | <div class="login-func"> |
| 71 | <div @click="toRegisterPage()" class="login-func-btn pointer">{{$t('login.register')}}</div> | 73 | <div @click="toRegisterPage()" class="login-func-btn pointer">{{$t('login.register')}}</div> |
| 72 | <!-- <div @click="onForgetHandler()" class="login-func-btn pointer">{{$t('login.forget')}}</div> --> | 74 | <div v-if="!oneAccountCenterOff" @click="onForgetHandler()" class="login-func-btn pointer">{{$t('login.forget')}}</div> |
| 73 | </div> | 75 | </div> |
| 74 | </div> | 76 | </div> |
| 75 | 77 | ... | ... |
| ... | @@ -10,6 +10,7 @@ import { | ... | @@ -10,6 +10,7 @@ import { |
| 10 | import Auth from '@components/auth/auth.vue'; | 10 | import Auth from '@components/auth/auth.vue'; |
| 11 | import modalComp from '@/components/modal-comp/modal-comp.vue'; | 11 | import modalComp from '@/components/modal-comp/modal-comp.vue'; |
| 12 | import modalSimpleComp from '@/components/modal-simple-comp/modal-simple-comp.vue'; | 12 | import modalSimpleComp from '@/components/modal-simple-comp/modal-simple-comp.vue'; |
| 13 | import Modal2Comp from '@/components/modal2-comp/modal2-comp.vue'; | ||
| 13 | import { passwordEncrypt } from '@/utils/encrypt.js'; | 14 | import { passwordEncrypt } from '@/utils/encrypt.js'; |
| 14 | import Vue from 'vue'; | 15 | import Vue from 'vue'; |
| 15 | import { Loading } from 'vant'; | 16 | import { Loading } from 'vant'; |
| ... | @@ -20,6 +21,7 @@ export default { | ... | @@ -20,6 +21,7 @@ export default { |
| 20 | return { | 21 | return { |
| 21 | loading: false, | 22 | loading: false, |
| 22 | showForm: false, | 23 | showForm: false, |
| 24 | showError: false, | ||
| 23 | key: 'value', | 25 | key: 'value', |
| 24 | type: 1, // 1:输入用户信息 2:找回密码 3:核对信息 4.重置密码 | 26 | type: 1, // 1:输入用户信息 2:找回密码 3:核对信息 4.重置密码 |
| 25 | values: { | 27 | values: { |
| ... | @@ -65,6 +67,9 @@ export default { | ... | @@ -65,6 +67,9 @@ export default { |
| 65 | this.modalVisiable = false; | 67 | this.modalVisiable = false; |
| 66 | this.modalSimpleVisiable = false; | 68 | this.modalSimpleVisiable = false; |
| 67 | }, | 69 | }, |
| 70 | oneAccountCenterOff() { | ||
| 71 | return window.global.oneAccountCenterOff; | ||
| 72 | }, | ||
| 68 | resetPwd() { | 73 | resetPwd() { |
| 69 | if (this.submitBtnDisabled) { | 74 | if (this.submitBtnDisabled) { |
| 70 | return; | 75 | return; |
| ... | @@ -94,8 +99,15 @@ export default { | ... | @@ -94,8 +99,15 @@ export default { |
| 94 | } | 99 | } |
| 95 | this.loading = true; | 100 | this.loading = true; |
| 96 | 101 | ||
| 102 | let url = api.changePassword; | ||
| 103 | if (this.oneAccountCenterOff) { | ||
| 104 | url = api.changePasswordV2; | ||
| 105 | newPwd = this.values.pwd; | ||
| 106 | oldPwd = this.values.oldPwd; | ||
| 107 | } | ||
| 108 | |||
| 97 | httpPost({ | 109 | httpPost({ |
| 98 | url: api.changePassword, | 110 | url: url, |
| 99 | data: { | 111 | data: { |
| 100 | oldPwd: oldPwd, | 112 | oldPwd: oldPwd, |
| 101 | newPwd: newPwd | 113 | newPwd: newPwd |
| ... | @@ -111,8 +123,8 @@ export default { | ... | @@ -111,8 +123,8 @@ export default { |
| 111 | this.showModal(message, "succ"); | 123 | this.showModal(message, "succ"); |
| 112 | break | 124 | break |
| 113 | case "COMMON_ERROR_E0": | 125 | case "COMMON_ERROR_E0": |
| 114 | message = this.i18n().session.sidExpire; | ||
| 115 | this.targetPath = "/login?callback=/password/reset"; | 126 | this.targetPath = "/login?callback=/password/reset"; |
| 127 | message = this.i18n().session.sidExpire; | ||
| 116 | this.step.error2 = message; | 128 | this.step.error2 = message; |
| 117 | // this.showModal(message, "info"); | 129 | // this.showModal(message, "info"); |
| 118 | break; | 130 | break; |
| ... | @@ -123,10 +135,15 @@ export default { | ... | @@ -123,10 +135,15 @@ export default { |
| 123 | 135 | ||
| 124 | }).catch(err => { | 136 | }).catch(err => { |
| 125 | this.loading = false; | 137 | this.loading = false; |
| 126 | let message = this.i18n().session.sidExpire; | 138 | if (err.code == 404) { |
| 139 | this.showError = true; | ||
| 140 | } | ||
| 141 | }); | ||
| 142 | }, | ||
| 143 | sessionLostModalClose() { | ||
| 127 | this.targetPath = "/login?callback=/password/reset"; | 144 | this.targetPath = "/login?callback=/password/reset"; |
| 128 | this.step.error2 = message; | 145 | this.$router.push({ |
| 129 | // this.showModal(message, "info"); | 146 | path: this.targetPath |
| 130 | }); | 147 | }); |
| 131 | }, | 148 | }, |
| 132 | checkPassword(password) { | 149 | checkPassword(password) { |
| ... | @@ -162,9 +179,9 @@ export default { | ... | @@ -162,9 +179,9 @@ export default { |
| 162 | } | 179 | } |
| 163 | }, | 180 | }, |
| 164 | userLogout() { | 181 | userLogout() { |
| 165 | this.$router.push({ | 182 | // this.$router.push({ |
| 166 | path: "/" | 183 | // path: "/" |
| 167 | }); | 184 | // }); |
| 168 | this.showForm = false; | 185 | this.showForm = false; |
| 169 | }, | 186 | }, |
| 170 | userLogin(data) { | 187 | userLogin(data) { |
| ... | @@ -222,6 +239,7 @@ export default { | ... | @@ -222,6 +239,7 @@ export default { |
| 222 | components: { | 239 | components: { |
| 223 | modalComp, | 240 | modalComp, |
| 224 | modalSimpleComp, | 241 | modalSimpleComp, |
| 225 | Auth | 242 | Auth, |
| 243 | Modal2Comp | ||
| 226 | } | 244 | } |
| 227 | } | 245 | } | ... | ... |
| ... | @@ -3,6 +3,7 @@ | ... | @@ -3,6 +3,7 @@ |
| 3 | <div> | 3 | <div> |
| 4 | <modal-simple-comp :visible="modalSimpleVisiable" :show-confirm="false" :icon="modalIcon" :content="modalContent" :confirm="closeModal" :overlay="closeModal" :close="closeModal"></modal-simple-comp> | 4 | <modal-simple-comp :visible="modalSimpleVisiable" :show-confirm="false" :icon="modalIcon" :content="modalContent" :confirm="closeModal" :overlay="closeModal" :close="closeModal"></modal-simple-comp> |
| 5 | <modal-comp :visible="modalVisiable" :show-confirm="false" :icon="modalIcon" :content="modalContent" :confirm="modalCallback" :overlay="modalCallback"></modal-comp> | 5 | <modal-comp :visible="modalVisiable" :show-confirm="false" :icon="modalIcon" :content="modalContent" :confirm="modalCallback" :overlay="modalCallback"></modal-comp> |
| 6 | <modal2-comp :visible="showError" :close="sessionLostModalClose" :content="$t('glbalTips.sessionLost')" ></modal2-comp> | ||
| 6 | <div class="ebg"></div> | 7 | <div class="ebg"></div> |
| 7 | <div class="content"> | 8 | <div class="content"> |
| 8 | <div class="top-space"></div> | 9 | <div class="top-space"></div> | ... | ... |
| ... | @@ -87,10 +87,21 @@ export default { | ... | @@ -87,10 +87,21 @@ export default { |
| 87 | let b4 = !checkVerifyCode(this.registerForm.opt); | 87 | let b4 = !checkVerifyCode(this.registerForm.opt); |
| 88 | return b1 || b2 || b3 || b4; | 88 | return b1 || b2 || b3 || b4; |
| 89 | }, | 89 | }, |
| 90 | registerDisabledV2() { | ||
| 91 | let b1 = !this.values.password || this.checkPassword(this.values.password) ? true : false; | ||
| 92 | let b2 = this.values.passwordRepeat != this.values.password ? true : false; | ||
| 93 | let b3 = !this.registerCheck.agreeProtocol; | ||
| 94 | let b4 = !this.registerForm.mobileNo ? true : false; | ||
| 95 | return b1 || b2 || b3 || b4; | ||
| 96 | |||
| 97 | }, | ||
| 90 | submitDisabled() { | 98 | submitDisabled() { |
| 91 | let b1 = !this.values.password || this.checkPassword(this.values.password) ? true : false; | 99 | let b1 = !this.values.password || this.checkPassword(this.values.password) ? true : false; |
| 92 | let b2 = this.values.passwordRepeat != this.values.password ? true : false; | 100 | let b2 = this.values.passwordRepeat != this.values.password ? true : false; |
| 93 | return b1 || b2; | 101 | return b1 || b2; |
| 102 | }, | ||
| 103 | oneAccountCenterOff() { | ||
| 104 | return window.global.oneAccountCenterOff; | ||
| 94 | } | 105 | } |
| 95 | }, | 106 | }, |
| 96 | methods: { | 107 | methods: { |
| ... | @@ -255,6 +266,37 @@ export default { | ... | @@ -255,6 +266,37 @@ export default { |
| 255 | }); | 266 | }); |
| 256 | }); | 267 | }); |
| 257 | }, | 268 | }, |
| 269 | registerV2Handler() { | ||
| 270 | if (this.registerDisabledV2) { | ||
| 271 | return; | ||
| 272 | } | ||
| 273 | if (this.loading) { | ||
| 274 | return; | ||
| 275 | } | ||
| 276 | this._checkMobileLegal().then(() => { | ||
| 277 | let data = { | ||
| 278 | account: this.registerForm.mobileNo, | ||
| 279 | password: this.values.password | ||
| 280 | } | ||
| 281 | this.loading = true; | ||
| 282 | httpPost({ | ||
| 283 | url: api.doRegisterV2, | ||
| 284 | data: data | ||
| 285 | }).then(res => { | ||
| 286 | this.loading = false; | ||
| 287 | this.$store.commit("SET_USER_INFO", res); | ||
| 288 | this._showSuccessMessage(); | ||
| 289 | }).catch(e => { | ||
| 290 | this.loading = false; | ||
| 291 | switch (e.code) { | ||
| 292 | case 1103: | ||
| 293 | let message = this.i18n.register.tips.e5; | ||
| 294 | this.errorTips.p1 = message; | ||
| 295 | break; | ||
| 296 | } | ||
| 297 | }) | ||
| 298 | }); | ||
| 299 | }, | ||
| 258 | _validateOTPandRepeat() { | 300 | _validateOTPandRepeat() { |
| 259 | return new Promise((resolve, reject) => { | 301 | return new Promise((resolve, reject) => { |
| 260 | let data = { | 302 | let data = { | ... | ... |
| ... | @@ -6,7 +6,7 @@ | ... | @@ -6,7 +6,7 @@ |
| 6 | <!-- 会员协议 --> | 6 | <!-- 会员协议 --> |
| 7 | <modal-protocol-comp :visible="modalProtocolVisiable" :overlay="closeModal" :close="closeModal"></modal-protocol-comp> | 7 | <modal-protocol-comp :visible="modalProtocolVisiable" :overlay="closeModal" :close="closeModal"></modal-protocol-comp> |
| 8 | <div class="ebg"></div> | 8 | <div class="ebg"></div> |
| 9 | <div class="content"> | 9 | <div class="content" v-if="!oneAccountCenterOff"> |
| 10 | <div class="top-space"></div> | 10 | <div class="top-space"></div> |
| 11 | <div class="step"> | 11 | <div class="step"> |
| 12 | <img v-if="type == 1" src="@/assets/images/register/register-step-1.png"> | 12 | <img v-if="type == 1" src="@/assets/images/register/register-step-1.png"> |
| ... | @@ -16,11 +16,11 @@ | ... | @@ -16,11 +16,11 @@ |
| 16 | <!-- 手机验证 --> | 16 | <!-- 手机验证 --> |
| 17 | <div v-if="type == 1" class="login"> | 17 | <div v-if="type == 1" class="login"> |
| 18 | 18 | ||
| 19 | <!-- <div class="login-tit"> | 19 | <div class="login-tit"> |
| 20 | <img v-if="locale == 'zh'" src="@/assets/images/login/login-tit-zh.png"> | 20 | <img v-if="locale == 'zh'" src="@/assets/images/login/login-tit-zh.png"> |
| 21 | <img v-if="locale == 'tc'" src="@/assets/images/login/login-tit-tc.png"> | 21 | <img v-if="locale == 'tc'" src="@/assets/images/login/login-tit-tc.png"> |
| 22 | <img v-if="locale == 'en'" class="img-en" src="@/assets/images/login/login-tit-en.png"> | 22 | <img v-if="locale == 'en'" class="img-en" src="@/assets/images/login/login-tit-en.png"> |
| 23 | </div> --> | 23 | </div> |
| 24 | <div class="login-tit2">{{$t('register.title')}}</div> | 24 | <div class="login-tit2">{{$t('register.title')}}</div> |
| 25 | <div class="gird-g form"> | 25 | <div class="gird-g form"> |
| 26 | <!-- <div class="pure-u-1 form-item"> | 26 | <!-- <div class="pure-u-1 form-item"> |
| ... | @@ -124,6 +124,74 @@ | ... | @@ -124,6 +124,74 @@ |
| 124 | </div> | 124 | </div> |
| 125 | </div> | 125 | </div> |
| 126 | </div> | 126 | </div> |
| 127 | |||
| 128 | <div class="content" v-else> | ||
| 129 | <div class="top-space"></div> | ||
| 130 | <div class="box"> | ||
| 131 | <!-- 手机验证 --> | ||
| 132 | <div class="login"> | ||
| 133 | |||
| 134 | <div class="gird-g form"> | ||
| 135 | <div class="pure-u-1 form-item"> | ||
| 136 | |||
| 137 | <div class="label"> | ||
| 138 | <img src="@/assets/images/register/icon-register-phone.png"> {{mobileTip.name}} | ||
| 139 | </div> | ||
| 140 | <div class="ipt-wrap"> | ||
| 141 | <div class="region-tel ipt-wrap"> | ||
| 142 | <img class="down-arrow" src="@/assets/images/reservation/re-down-arrow.png" alt=""> | ||
| 143 | <el-select class="ipt" v-model="mobileNoType"> | ||
| 144 | <el-option v-for="(item,index) in mobileOptions" :key="index" :value="item.type" :label="item.areaCode">{{item.areaCode}}</el-option> | ||
| 145 | </el-select> | ||
| 146 | </div> | ||
| 147 | |||
| 148 | <div class="ipt ipt2" :class="{err : errorTips.p1.length > 0}"> | ||
| 149 | <input :placeholder="mobileTip.placeHolder" class="ipt-tel" type="text" v-model="registerForm.mobileNo"> | ||
| 150 | </div> | ||
| 151 | </div> | ||
| 152 | <div class="validator" v-if="errorTips.p1.length > 0 "> | ||
| 153 | <img src="@/assets/images/common/icon-notice.png" alt="">{{errorTips.p1}} | ||
| 154 | </div> | ||
| 155 | </div> | ||
| 156 | |||
| 157 | <div class="pure-u-1 form-item"> | ||
| 158 | <div class="label"> | ||
| 159 | <img src="@/assets/images/register/icon-register-lock.png"> {{$t('register.newPassword')}} | ||
| 160 | </div> | ||
| 161 | <div class="ipt-wrap"> | ||
| 162 | <input :placeholder="$t('register.newPasswordPlaceholder')" class="ipt" :class="{err : errorTips.p4.length > 0}" type="password" v-model="values.password"> | ||
| 163 | </div> | ||
| 164 | <div class="validator" v-if="errorTips.p4.length > 0 "> | ||
| 165 | <img src="@/assets/images/common/icon-notice.png" alt="">{{errorTips.p4}} | ||
| 166 | </div> | ||
| 167 | </div> | ||
| 168 | <div class="pure-u-1 form-item"> | ||
| 169 | <div class="label"> | ||
| 170 | <img src="@/assets/images/register/icon-register-lock.png"> {{$t('register.newPasswordSure')}} | ||
| 171 | </div> | ||
| 172 | <div class="ipt-wrap"> | ||
| 173 | <input :placeholder="$t('register.newPasswordSurePlaceholder')" class="ipt" :class="{err : errorTips.p5.length > 0}" type="password" v-model="values.passwordRepeat"> | ||
| 174 | </div> | ||
| 175 | <div class="validator" v-if="errorTips.p5.length > 0 "> | ||
| 176 | <img src="@/assets/images/common/icon-notice.png" alt="">{{errorTips.p5}} | ||
| 177 | </div> | ||
| 178 | </div> | ||
| 179 | |||
| 180 | </div> | ||
| 181 | |||
| 182 | <div class="login-protocol pointer" @click="registerCheck.agreeProtocol = !registerCheck.agreeProtocol"> | ||
| 183 | <img v-if="!registerCheck.agreeProtocol" class="check" src="@/assets/images/login/uncheck.png"> | ||
| 184 | <img v-if="registerCheck.agreeProtocol" class="check" src="@/assets/images/login/check.png"> {{$t('login.agree')}} | ||
| 185 | <span @click="onProtocolHandler()" class="protocol pointer">{{$t('login.protocol')}}</span> | ||
| 186 | </div> | ||
| 187 | <div @click="registerV2Handler()" class="login-submit pointer flex-center" :class="{disabled: registerDisabledV2}"> | ||
| 188 | <van-loading v-if="loading" /> | ||
| 189 | <span>{{$t('register.register')}}</span> | ||
| 190 | </div> | ||
| 191 | </div> | ||
| 192 | |||
| 193 | </div> | ||
| 194 | </div> | ||
| 127 | </div> | 195 | </div> |
| 128 | </template> | 196 | </template> |
| 129 | 197 | ... | ... |
-
Please register or sign in to post a comment