Commit a2784565 by liuguorong93

根据6位行政区划code和行政区划原始数组,获取el组件选中状态的数组

parent 182301a3
......@@ -43,36 +43,52 @@ export const setXzqhOptions = (xzqhOptions) => {
return arr
}
// 根据6位行政区划code,获取el组件选中状态的数组
export const getSelectXzqhArr = (xzqhCode) => {
// 根据6位行政区划code和行政区划原始数组,获取el组件选中状态的数组
export const getSelectXzqhArr = (xzqhCode, xzqhOptions) => {
let xzqhArr = []
if (!xzqhCode) return xzqhArr
if (!xzqhCode || !xzqhOptions || xzqhOptions.length === 0) return xzqhArr
// 国外情况
if (xzqhCode.substr(0, 3) === '999') {
if (xzqhCode === '999000') {
xzqhArr.push('999000')
} else {
xzqhArr.push('999000')
xzqhArr.push(xzqhCode)
let tempObj = {}
xzqhOptions.forEach(xzqhItem => {
if (xzqhItem.id.substr(0, 2) === xzqhCode.substr(0, 2)) {
tempObj = xzqhItem
return true
}
} else {
})
// 国内情况
if (xzqhCode.substr(2, 4) === '0000') {
// 省
xzqhArr.push(xzqhCode)
} else if (xzqhCode.substr(4, 2) === '00') {
// 市
xzqhArr.push(xzqhCode.substr(0, 2) + '0000')
xzqhArr.push(xzqhCode)
} else {
// 县
xzqhArr.push(xzqhCode.substr(0, 2) + '0000')
xzqhArr.push(xzqhCode.substr(0, 4) + '00')
xzqhArr.push(xzqhCode)
if (xzqhCode === tempObj.id) {
// 选择的是第一层
xzqhArr.push(tempObj.id)
} else {
if (tempObj.children?.length) {
let findSecondFlag = false
tempObj.children.some(chXzqhItem => {
if (chXzqhItem.id === xzqhCode) {
xzqhArr.push(tempObj.id)
xzqhArr.push(chXzqhItem.id)
findSecondFlag = true
return true
}
})
if (!findSecondFlag) {
// 如果在第二级别没有找到,那么就是第三级别了
tempObj.children.some(chXzqhItem => {
if (chXzqhItem.id.substr(0, 4) === xzqhCode.substr(0, 4)) {
if (chXzqhItem.children?.length) {
chXzqhItem.children.some(chXzqhItem2 => {
if (chXzqhItem2.id === xzqhCode) {
xzqhArr.push(tempObj.id)
xzqhArr.push(chXzqhItem.id)
xzqhArr.push(chXzqhItem2.id)
return true
}
})
}
return true
}
})
}
}
}
return xzqhArr
......
......@@ -378,7 +378,11 @@ export default {
let datas = res.data.data[0];
// 处理行政区划,获取选中的数组
if (datas.dwbm) datas.selectXzqh = getSelectXzqhArr(datas.dwbm);
if (datas.dwbm && this.xzqhOptions && this.xzqhOptions.length) {
datas.selectXzqh = getSelectXzqhArr(datas.dwbm, this.xzqhOptions);
} else {
datas.selectXzqh = [];
}
this.detailInfo = datas;
this.loading = false;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment