diff --git a/src/assets/js/utils/getAreaNameForSale.js b/src/assets/js/utils/getAreaNameForSale.js index 9d9ab8e63..9f2d29d99 100644 --- a/src/assets/js/utils/getAreaNameForSale.js +++ b/src/assets/js/utils/getAreaNameForSale.js @@ -4,19 +4,38 @@ 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) } + } + if (names.length === 3) { + return names.join('-') } else { - return area.province_list[data[0].code] + '-' + area.city_list[data[1].code] + return '' + } +} + +/** + * 根据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] + } + } } } diff --git a/src/assets/js/utils/validator.js b/src/assets/js/utils/validator.js index 030222b8a..2ebe7eb6b 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/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', 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..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 /> @@ -332,7 +334,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 +1300,7 @@ export default { }, //区域选择 sureArea(area, type) { + console.log('area :>> ', area) switch (type) { // case '1': //单位地址 // this.areaName = getAreaName(area) @@ -1304,7 +1308,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..e5c3e0f98 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" /> @@ -375,7 +377,7 @@ required right-icon="arrow" placeholder="请选择" - v-validate="'required'" + v-validate="'required|contactAdderss'" @click="areaChoose('2')" />