diff --git a/src/views/modules/visual/basicinfo/cpts/people-more.vue b/src/views/modules/visual/basicinfo/cpts/people-more.vue index 0e8239d8e..c5f80fa8b 100644 --- a/src/views/modules/visual/basicinfo/cpts/people-more.vue +++ b/src/views/modules/visual/basicinfo/cpts/people-more.vue @@ -7,43 +7,45 @@ 更多信息 -
+
-
+
所属网格: {{ gridName }}
-
+
所属小区: {{ xiaoquName }}
-
+
所属楼栋: {{ louName }}-{{ danyuanName }}
-
+
所属家庭: {{ homeName }}
-
+
{{ field.label }}: - {{ + ">{{ info[field.columnName] == null ? "--" : getOptionLabel( @@ -51,8 +53,7 @@ info[field.columnName], field.itemType ) - }} + }} {{ info[field.columnName] == null ? "--" : info[field.columnName] @@ -64,63 +65,47 @@
-
+
-
+
{{ item.label }}
-
+
-
-
+
-
-
+ "> +
+
{{ field.label }}: - {{ + ">{{ infoItem[field.columnName] == null ? "--" : getOptionLabel( @@ -128,8 +113,7 @@ infoItem[field.columnName], field.itemType ) - }} + }} {{ infoItem[field.columnName] == null @@ -139,60 +123,45 @@
-
+
- +
-
+
- +
-
+
- +
-
-
+
+
{{ field.label }}: - {{ + ">{{ !allInfo[group.tableName] || allInfo[group.tableName][0][field.columnName] == null ? "--" @@ -201,8 +170,7 @@ allInfo[group.tableName][0][field.columnName], field.itemType ) - }} + }} {{ !allInfo[group.tableName] || @@ -241,7 +209,7 @@ export default { cptTb, }, - data() { + data () { return { fieldList: [], groupList: [], @@ -349,7 +317,7 @@ export default { }, computed: { - xiaoquName() { + xiaoquName () { const { xiaoquList, info: { VILLAGE_ID }, @@ -362,7 +330,7 @@ export default { } return ""; }, - louName() { + louName () { const { louList, info: { BUILD_ID }, @@ -375,7 +343,7 @@ export default { } return ""; }, - danyuanName() { + danyuanName () { const { danyuanList, info: { UNIT_ID }, @@ -388,7 +356,7 @@ export default { } return ""; }, - danyuanName() { + danyuanName () { const { danyuanList, info: { UNIT_ID }, @@ -401,7 +369,7 @@ export default { } return ""; }, - homeName() { + homeName () { const { homeList, info: { HOME_ID }, @@ -417,17 +385,17 @@ export default { }, watch: { - userId() { + userId () { this.getApiData(); }, }, - mounted() { + mounted () { this.getApiData(); }, methods: { - addStartGroupIndex() { + addStartGroupIndex () { const { startGroupIndex, groupList } = this; if (startGroupIndex < groupList.length - 9) { this.startGroupIndex = startGroupIndex + 1; @@ -435,7 +403,7 @@ export default { this.startGroupIndex = groupList.length - 9; } }, - subStartGroupIndex() { + subStartGroupIndex () { const { startGroupIndex, groupList } = this; if (startGroupIndex > 0) { this.startGroupIndex = startGroupIndex - 1; @@ -443,11 +411,11 @@ export default { this.startGroupIndex = 0; } }, - handleClose() { + handleClose () { this.$emit("close"); }, - async getApiData() { + async getApiData () { await this.getField(); await this.getInfo(); this.getDetailList(); @@ -457,24 +425,14 @@ export default { this.getHomeList(); }, - getOptionLabel(options, value, type = "") { + getOptionLabel (options, value, type = "") { + console.log(options, value, type) if (Array.isArray(options)) { let valueArr = value.split(","); if (type == "cascader") { - if (valueArr.length > 0) { - let level1 = options.find((item) => item.value == valueArr[0]); - if (level1) { - if (valueArr.length > 1 && level1.children) { - let level2 = level1.children.find( - (item) => item.value == valueArr[1] - ); - if (level2) { - return level1.label + "-" + level2.label; - } - } - return level1.label; - } - } + let finalValue = []; + this.getNodePath(options, value, finalValue); + return finalValue.join("-"); } else { return valueArr .map((val) => { @@ -490,8 +448,28 @@ export default { return "--"; }, + getNodePath (node, val, path) { + // node:所有数据,val:后台返回的id, path:要渲染的数组id + for (let i = 0; i < node.length; i++) { + const ele = node[i]; + if (ele.value === val) { + path.push(ele.label); + return path; + } else if (ele.children && ele.children.length > 0) { + if (ele.children.some((row) => row.value === val)) { + path.unshift(ele.label); + this.getNodePath(ele.children, val, path); + } else { + this.getNodePath(ele.children, val, path); + } + } + } + return path; + }, + //加载组织数据 - async getField() { + async getField () { + const url = "/oper/customize/icform/getcustomerform"; const { data, code, msg } = await requestPost(url, { @@ -531,7 +509,7 @@ export default { }, //加载组织数据 - async getInfo() { + async getInfo () { const url = "/epmetuser/icresiuser/detail"; const { data, code, msg } = await requestPost(url, { @@ -560,11 +538,16 @@ export default { this.groupList.forEach((subList, index) => { subList.itemList.forEach(async (item, subIndex) => { if (item.optionSourceType == "remote" && item.optionSourceValue) { + console.log(item.optionSourceValue) + console.log(this.getOptions(item.optionSourceValue)) this.groupList[index].itemList[subIndex].options = await this.getOptions(item.optionSourceValue); + } }); }); + + const arr = [ { groupId: "hs123", @@ -597,7 +580,7 @@ export default { } }, - async getDetailList() { + async getDetailList () { const url = "/epmetuser/epidemicPrevention/info"; let params = { id: this.userId, @@ -643,7 +626,7 @@ export default { }, //加载组织数据 - async getOptions(url) { + async getOptions (url) { if (!url) return []; const { data, code, msg } = await requestPost(url, {}); @@ -655,7 +638,7 @@ export default { } }, - async getXiaoquList() { + async getXiaoquList () { const url = "/gov/org/icneighborhood/neighborhoodoption"; const { data, code, msg } = await requestPost(url, { @@ -669,7 +652,7 @@ export default { this.$message.error(msg); } }, - async getLouList() { + async getLouList () { const url = "/gov/org/icbuilding/buildingoption"; const { data, code, msg } = await requestPost(url, { @@ -682,7 +665,7 @@ export default { this.$message.error(msg); } }, - async getDanyuanList() { + async getDanyuanList () { const url = "/gov/org/icbuildingunit/unitoption"; const { data, code, msg } = await requestPost(url, { @@ -695,7 +678,7 @@ export default { this.$message.error(msg); } }, - async getHomeList() { + async getHomeList () { const url = "/gov/org/ichouse/houseoption"; const { data, code, msg } = await requestPost(url, {