From 609b39f9b992656916b426fba303285ce79d93e9 Mon Sep 17 00:00:00 2001 From: mengxiaolong Date: Mon, 18 Jan 2021 10:37:48 +0800 Subject: [PATCH 1/5] =?UTF-8?q?=E5=AE=A2=E6=88=B7=E5=88=97=E8=A1=A8?= =?UTF-8?q?=E9=80=89=E6=8B=A9=E5=AE=A2=E6=88=B7=E7=9A=84=E7=9C=81=E5=B8=82?= =?UTF-8?q?=E5=8C=BA=E7=BC=96=E7=A0=81=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/assets/js/utils/getAreaNameForSale.js | 39 +++++++++++++++------- src/assets/js/utils/validator.js | 11 ++++++ src/views/ebiz/sale/AddBeneficiaryInfo.vue | 4 +-- src/views/ebiz/sale/InsuredInfo.vue | 6 ++-- src/views/ebiz/sale/InsuredPerson.vue | 4 +-- 5 files changed, 46 insertions(+), 18 deletions(-) diff --git a/src/assets/js/utils/getAreaNameForSale.js b/src/assets/js/utils/getAreaNameForSale.js index 9d9ab8e63..8d7109daa 100644 --- a/src/assets/js/utils/getAreaNameForSale.js +++ b/src/assets/js/utils/getAreaNameForSale.js @@ -4,19 +4,34 @@ import areaNew from '@/assets/js/utils/areaNewForSale' /** * 获取省市区名称 - * @param {String} provinceCode 省级编码 - * @param {String} cityCode 市级编码 - * @param {String} areaCode 区级编码 - * @return {String} 省市区名称 + * @param {Array} data 省市区对象数组 + * @param {boolean} isNew 是否使用areaNew对象 */ -export default function getAreaName(data, from) { - if (data.length == 3) { - if (from == 'new') { - return areaNew.province_list[data[0].code] + '-' + areaNew.city_list[data[1].code] + '-' + areaNew.county_list[data[2].code] - } else { - return area.province_list[data[0].code] + '-' + area.city_list[data[1].code] + '-' + area.county_list[data[2].code] +export default function getAreaName(data, isNew) { + let names = [] + for (let item of data) { + let code = item.code + let name = getNameByCode(code, isNew) + if (name) { + names.push(name) + } + } + return names.join('-') +} + +/** + * 根据code获取省/市/区名称 + * @param {String} code + * @param {boolean} isNew + */ +function getNameByCode(code, isNew) { + let target = isNew ? areaNew : area + for (let key in target) { + let value = target[key] + for (let vk in value) { + if (vk == code) { + return value[vk] + } } - } else { - return area.province_list[data[0].code] + '-' + area.city_list[data[1].code] } } diff --git a/src/assets/js/utils/validator.js b/src/assets/js/utils/validator.js index 030222b8a..96ca0d21f 100644 --- a/src/assets/js/utils/validator.js +++ b/src/assets/js/utils/validator.js @@ -209,3 +209,14 @@ Validator.extend('manpowerName', { return /^[a-zA-Z\.\s\u4e00-\u9fa5]{2,120}$/.test(value) } }) + +//名字 +Validator.extend('contactAdderss', { + getMessage: () => '请输入正确的联系地址', + validate: value => { + if (!value) { + return false + } + return value.split('-').length === 3 + } +}) diff --git a/src/views/ebiz/sale/AddBeneficiaryInfo.vue b/src/views/ebiz/sale/AddBeneficiaryInfo.vue index 046934f6e..640ee259b 100644 --- a/src/views/ebiz/sale/AddBeneficiaryInfo.vue +++ b/src/views/ebiz/sale/AddBeneficiaryInfo.vue @@ -132,7 +132,7 @@ @click="isAreaListShow = true" readonly right-icon="arrow" - v-validate="'required'" + v-validate="'required|contactAdderss'" data-vv-name="联系地址" /> @@ -245,7 +245,7 @@ import CustomerPicker from '@/components/ebiz/customer/CustomerPicker' import idNoCheck from '@/assets/js/utils/idNoCheck' import { idToData } from './js/verification' import { selectComp } from './js/methods' -import getAreaName from '@/assets/js/utils/get-area-name' +import getAreaName from '@/assets/js/utils/getAreaNameForSale' let relationToInsured = [ { id: 2, text: '配偶' }, { id: 3, text: '父母' }, diff --git a/src/views/ebiz/sale/InsuredInfo.vue b/src/views/ebiz/sale/InsuredInfo.vue index 6d85e0262..dada2a9d4 100644 --- a/src/views/ebiz/sale/InsuredInfo.vue +++ b/src/views/ebiz/sale/InsuredInfo.vue @@ -332,7 +332,7 @@ required right-icon="arrow" placeholder="请选择" - v-validate="'required'" + v-validate="'required|contactAdderss'" @click="homeShow = true" /> > ', data) this.customerShowPicker = false this.$jump({ flag: 'navigation', @@ -1297,6 +1298,7 @@ export default { }, //区域选择 sureArea(area, type) { + console.log('area :>> ', area) switch (type) { // case '1': //单位地址 // this.areaName = getAreaName(area) @@ -1304,7 +1306,7 @@ export default { // this.areaShow = false // break case '2': //联系地址 - this.homeName = getAreaName(area, 'new') + this.homeName = `${area[0].name}-${area[1].name}-${area[2].name}` ;[this.userInfo.homeProvince, this.userInfo.homeCity, this.userInfo.homeArea] = [area[0].code, area[1].code, area[2].code] this.homeShow = false break diff --git a/src/views/ebiz/sale/InsuredPerson.vue b/src/views/ebiz/sale/InsuredPerson.vue index 2dda02ed9..d656ada24 100644 --- a/src/views/ebiz/sale/InsuredPerson.vue +++ b/src/views/ebiz/sale/InsuredPerson.vue @@ -375,7 +375,7 @@ required right-icon="arrow" placeholder="请选择" - v-validate="'required'" + v-validate="'required|contactAdderss'" @click="areaChoose('2')" /> Date: Mon, 18 Jan 2021 11:06:33 +0800 Subject: [PATCH 2/5] =?UTF-8?q?1.=20=E5=B7=A5=E4=BD=9C=E5=8D=95=E4=BD=8D?= =?UTF-8?q?=E4=B8=8D=E8=83=BD=E4=B8=BA=E7=A9=BA=202.=20=E5=AE=A2=E6=88=B7?= =?UTF-8?q?=E5=88=97=E8=A1=A8=E5=8F=8D=E6=98=BE=E8=81=94=E7=B3=BB=E5=9C=B0?= =?UTF-8?q?=E5=9D=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/assets/js/utils/getAreaNameForSale.js | 6 +++++- src/assets/js/utils/validator.js | 2 +- src/views/ebiz/sale/InsuredInfo.vue | 2 ++ 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/assets/js/utils/getAreaNameForSale.js b/src/assets/js/utils/getAreaNameForSale.js index 8d7109daa..9f2d29d99 100644 --- a/src/assets/js/utils/getAreaNameForSale.js +++ b/src/assets/js/utils/getAreaNameForSale.js @@ -16,7 +16,11 @@ export default function getAreaName(data, isNew) { names.push(name) } } - return names.join('-') + if (names.length === 3) { + return names.join('-') + } else { + return '' + } } /** diff --git a/src/assets/js/utils/validator.js b/src/assets/js/utils/validator.js index 96ca0d21f..2ebe7eb6b 100644 --- a/src/assets/js/utils/validator.js +++ b/src/assets/js/utils/validator.js @@ -212,7 +212,7 @@ Validator.extend('manpowerName', { //名字 Validator.extend('contactAdderss', { - getMessage: () => '请输入正确的联系地址', + getMessage: () => '请选择正确的联系地址', validate: value => { if (!value) { return false diff --git a/src/views/ebiz/sale/InsuredInfo.vue b/src/views/ebiz/sale/InsuredInfo.vue index dada2a9d4..64b4babc5 100644 --- a/src/views/ebiz/sale/InsuredInfo.vue +++ b/src/views/ebiz/sale/InsuredInfo.vue @@ -266,6 +266,8 @@ label="工作单位" name="工作单位" placeholder="无工作单位,请输入无" + required + v-validate="'required'" maxlength="50" clearable /> From d0dc03f2686422eba0e61575093dbc0c69350b54 Mon Sep 17 00:00:00 2001 From: mengxiaolong Date: Mon, 18 Jan 2021 11:10:11 +0800 Subject: [PATCH 3/5] =?UTF-8?q?=E5=B7=A5=E4=BD=9C=E5=8D=95=E4=BD=8D?= =?UTF-8?q?=E5=BF=85=E5=A1=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/ebiz/sale/InsuredPerson.vue | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/views/ebiz/sale/InsuredPerson.vue b/src/views/ebiz/sale/InsuredPerson.vue index d656ada24..d99e6e239 100644 --- a/src/views/ebiz/sale/InsuredPerson.vue +++ b/src/views/ebiz/sale/InsuredPerson.vue @@ -303,6 +303,8 @@ name="工作单位" placeholder="无工作单位,请输入无" maxlength="50" + required + v-validate="'required'" clearable :readonly="isAppnt" /> From 726a10708f2b5696ef5276195e568fcaeb18783b Mon Sep 17 00:00:00 2001 From: mengxiaolong Date: Mon, 18 Jan 2021 11:20:49 +0800 Subject: [PATCH 4/5] =?UTF-8?q?=E7=9C=81=E5=B8=82=E5=8C=BA=E5=8F=8D?= =?UTF-8?q?=E6=98=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/ebiz/sale/InsuredPerson.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/views/ebiz/sale/InsuredPerson.vue b/src/views/ebiz/sale/InsuredPerson.vue index d99e6e239..e5c3e0f98 100644 --- a/src/views/ebiz/sale/InsuredPerson.vue +++ b/src/views/ebiz/sale/InsuredPerson.vue @@ -1550,7 +1550,7 @@ export default { // this.areaShow = false // break case '2': //联系地址 - this.homeName = `${area[0].name}-${area[1].name}-${area[2].name}` + this.homeName = getAreaName(area) ;[this.userInfo.homeProvince, this.userInfo.homeCity, this.userInfo.homeArea] = [area[0].code, area[1].code, area[2].code] this.homeShow = false break From 955ab9f9c90a9d099483f7d62784ccab7d369bc0 Mon Sep 17 00:00:00 2001 From: mengxiaolong Date: Mon, 18 Jan 2021 13:14:48 +0800 Subject: [PATCH 5/5] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=AE=A2=E6=88=B7?= =?UTF-8?q?=E6=97=B6=E7=9C=81=E5=B8=82=E5=8C=BA=E7=BC=96=E7=A0=81=E5=8F=98?= =?UTF-8?q?=E6=9B=B4=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/ebiz/customer/formBlock.vue | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/src/components/ebiz/customer/formBlock.vue b/src/components/ebiz/customer/formBlock.vue index a802a510a..89b8e2a10 100644 --- a/src/components/ebiz/customer/formBlock.vue +++ b/src/components/ebiz/customer/formBlock.vue @@ -205,15 +205,13 @@ import SelectRadio from '@/components/ebiz/SelectRadio' import FieldDatePicter from '@/components/ebiz/FieldDatePicter' import DataDictionary from '@/assets/js/utils/data-dictionary' import OccupationPicker from '@/components/ebiz/occipation/OccupationPicker' -import areaList from '@/assets/js/utils/area' -import areaLists from '@/assets/js/utils/areaNew' +import areaList from '@/assets/js/utils/areaForSale' +import areaLists from '@/assets/js/utils/areaNewForSale' import utilsAge from '@/assets/js/utils/age' -import getAreaName from '@/assets/js/utils/get-area-name' +import getAreaName from '@/assets/js/utils/getAreaNameForSale' import idNoCheck from '@/assets/js/utils/idNoCheck' import { idToData } from '@/views/ebiz/customer/js/verification' import filter from '@/filters/index' -import { constants } from 'crypto' -import { userInfo } from 'os' export default { name: 'formBlock',