Browse Source

ss

shibei_master
dai 4 years ago
parent
commit
b42e29b3df
  1. 87
      src/views/modules/visual/basicinfo/cpts/people-more.vue

87
src/views/modules/visual/basicinfo/cpts/people-more.vue

@ -90,12 +90,54 @@
</div>
<div
class="list"
:key="'group' + index"
v-show="groupIndex % groupList.length == index"
v-for="(group, index) in groupList"
>
<div class="item" :key="field.itemId" v-for="field in group.itemList">
<div v-if="group.tableName == 'ic_resi_demand' && Array.isArray(allInfo.ic_resi_demand) && allInfo.ic_resi_demand.length>0">
<div
class="list"
:key="'ic_resi_demand' + infoIndex"
v-for="(infoItem, infoIndex) in allInfo.ic_resi_demand"
>
<div
class="item"
:key="field.itemId"
v-for="field in group.itemList"
>
<span class="item-field">{{ field.label }}</span>
<span
v-if="
field.itemType == 'select' ||
field.itemType == 'radio' ||
field.itemType == 'checkbox' ||
field.itemType == 'cascader'
"
>{{
infoItem[field.columnName] == null
? "--"
: getOptionLabel(
field.options,
infoItem[field.columnName],
field.itemType
)
}}</span
>
<span v-else>{{
infoItem[field.columnName] == null
? "--"
: infoItem[field.columnName]
}}</span>
</div>
</div>
</div>
<div class="list" v-else>
<div
class="item"
:key="field.itemId"
v-for="field in group.itemList"
>
<span class="item-field">{{ field.label }}</span>
<span
v-if="
@ -124,6 +166,7 @@
}}</span>
</div>
</div>
</div>
</cpt-card>
</div>
</div>
@ -277,33 +320,34 @@ export default {
getOptionLabel(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]);
console.log("----------------------- cascader", options);
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;
}
}
} else {
return valueArr
.map((val) => {
if (type != "cascader") {
let item = options.find((item) => item.value == val);
if (item && item.label) {
return item.label;
}
} else {
let idx, subIdx;
options.forEach((item, index) => {
if (item.children) {
item.children.forEach((subitem, subIndex) => {
if (subitem.value == val) {
idx = index;
subIdx = subIndex;
}
});
}
});
if (idx && subIdx) {
return options[idx].children[subIdx].label;
}
}
return "--";
})
.join("、");
}
}
return "--";
},
@ -377,9 +421,8 @@ export default {
this.groupList.forEach((subList, index) => {
subList.itemList.forEach(async (item, subIndex) => {
if (item.optionSourceType == "remote" && item.optionSourceValue) {
this.groupList[index].itemList.options = await this.getOptions(
item.optionSourceValue
);
this.groupList[index].itemList[subIndex].options =
await this.getOptions(item.optionSourceValue);
}
});
});

Loading…
Cancel
Save