客户列表选择客户的省市区编码问题

This commit is contained in:
mengxiaolong
2021-01-18 10:37:48 +08:00
parent 209e0b5f0f
commit 609b39f9b9
5 changed files with 46 additions and 18 deletions

View File

@@ -4,19 +4,34 @@ import areaNew from '@/assets/js/utils/areaNewForSale'
/** /**
* 获取省市区名称 * 获取省市区名称
* @param {String} provinceCode 省级编码 * @param {Array} data 省市区对象数组
* @param {String} cityCode 市级编码 * @param {boolean} isNew 是否使用areaNew对象
* @param {String} areaCode 区级编码
* @return {String} 省市区名称
*/ */
export default function getAreaName(data, from) { export default function getAreaName(data, isNew) {
if (data.length == 3) { let names = []
if (from == 'new') { for (let item of data) {
return areaNew.province_list[data[0].code] + '-' + areaNew.city_list[data[1].code] + '-' + areaNew.county_list[data[2].code] let code = item.code
} else { let name = getNameByCode(code, isNew)
return area.province_list[data[0].code] + '-' + area.city_list[data[1].code] + '-' + area.county_list[data[2].code] if (name) {
} names.push(name)
} else { }
return area.province_list[data[0].code] + '-' + area.city_list[data[1].code] }
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]
}
}
} }
} }

View File

@@ -209,3 +209,14 @@ Validator.extend('manpowerName', {
return /^[a-zA-Z\.\s\u4e00-\u9fa5]{2,120}$/.test(value) 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
}
})

View File

@@ -132,7 +132,7 @@
@click="isAreaListShow = true" @click="isAreaListShow = true"
readonly readonly
right-icon="arrow" right-icon="arrow"
v-validate="'required'" v-validate="'required|contactAdderss'"
data-vv-name="联系地址" data-vv-name="联系地址"
/> />
<van-field v-model="userInfo.village" label="" name="详细地址" placeholder="请输入详细地址" v-validate="'required'" clearable maxlength="30" /> <van-field v-model="userInfo.village" label="" name="详细地址" placeholder="请输入详细地址" v-validate="'required'" clearable maxlength="30" />
@@ -245,7 +245,7 @@ import CustomerPicker from '@/components/ebiz/customer/CustomerPicker'
import idNoCheck from '@/assets/js/utils/idNoCheck' import idNoCheck from '@/assets/js/utils/idNoCheck'
import { idToData } from './js/verification' import { idToData } from './js/verification'
import { selectComp } from './js/methods' import { selectComp } from './js/methods'
import getAreaName from '@/assets/js/utils/get-area-name' import getAreaName from '@/assets/js/utils/getAreaNameForSale'
let relationToInsured = [ let relationToInsured = [
{ id: 2, text: '配偶' }, { id: 2, text: '配偶' },
{ id: 3, text: '父母' }, { id: 3, text: '父母' },

View File

@@ -332,7 +332,7 @@
required required
right-icon="arrow" right-icon="arrow"
placeholder="请选择" placeholder="请选择"
v-validate="'required'" v-validate="'required|contactAdderss'"
@click="homeShow = true" @click="homeShow = true"
/> />
<van-field <van-field
@@ -885,6 +885,7 @@ export default {
}, },
//选择客户 //选择客户
chooseCustomer(data) { chooseCustomer(data) {
console.log('data :>> ', data)
this.customerShowPicker = false this.customerShowPicker = false
this.$jump({ this.$jump({
flag: 'navigation', flag: 'navigation',
@@ -1297,6 +1298,7 @@ export default {
}, },
//区域选择 //区域选择
sureArea(area, type) { sureArea(area, type) {
console.log('area :>> ', area)
switch (type) { switch (type) {
// case '1': //单位地址 // case '1': //单位地址
// this.areaName = getAreaName(area) // this.areaName = getAreaName(area)
@@ -1304,7 +1306,7 @@ export default {
// this.areaShow = false // this.areaShow = false
// break // break
case '2': //联系地址 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.userInfo.homeProvince, this.userInfo.homeCity, this.userInfo.homeArea] = [area[0].code, area[1].code, area[2].code]
this.homeShow = false this.homeShow = false
break break

View File

@@ -375,7 +375,7 @@
required required
right-icon="arrow" right-icon="arrow"
placeholder="请选择" placeholder="请选择"
v-validate="'required'" v-validate="'required|contactAdderss'"
@click="areaChoose('2')" @click="areaChoose('2')"
/> />
<van-field <van-field
@@ -1548,7 +1548,7 @@ export default {
// this.areaShow = false // this.areaShow = false
// break // break
case '2': //联系地址 case '2': //联系地址
this.homeName = getAreaName(area) 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.userInfo.homeProvince, this.userInfo.homeCity, this.userInfo.homeArea] = [area[0].code, area[1].code, area[2].code]
this.homeShow = false this.homeShow = false
break break