|  |  | @ -90,38 +90,81 @@ | 
			
		
	
		
			
				
					|  |  |  |         </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"> | 
			
		
	
		
			
				
					|  |  |  |             <span class="item-field">{{ field.label }}:</span> | 
			
		
	
		
			
				
					|  |  |  |             <span | 
			
		
	
		
			
				
					|  |  |  |               v-if=" | 
			
		
	
		
			
				
					|  |  |  |                 field.itemType == 'select' || | 
			
		
	
		
			
				
					|  |  |  |                 field.itemType == 'radio' || | 
			
		
	
		
			
				
					|  |  |  |                 field.itemType == 'checkbox' || | 
			
		
	
		
			
				
					|  |  |  |                 field.itemType == 'cascader' | 
			
		
	
		
			
				
					|  |  |  |               " | 
			
		
	
		
			
				
					|  |  |  |               >{{ | 
			
		
	
		
			
				
					|  |  |  |           <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=" | 
			
		
	
		
			
				
					|  |  |  |                   field.itemType == 'select' || | 
			
		
	
		
			
				
					|  |  |  |                   field.itemType == 'radio' || | 
			
		
	
		
			
				
					|  |  |  |                   field.itemType == 'checkbox' || | 
			
		
	
		
			
				
					|  |  |  |                   field.itemType == 'cascader' | 
			
		
	
		
			
				
					|  |  |  |                 " | 
			
		
	
		
			
				
					|  |  |  |                 >{{ | 
			
		
	
		
			
				
					|  |  |  |                   !allInfo[group.tableName] || | 
			
		
	
		
			
				
					|  |  |  |                   allInfo[group.tableName][0][field.columnName] == null | 
			
		
	
		
			
				
					|  |  |  |                     ? "--" | 
			
		
	
		
			
				
					|  |  |  |                     : getOptionLabel( | 
			
		
	
		
			
				
					|  |  |  |                         field.options, | 
			
		
	
		
			
				
					|  |  |  |                         allInfo[group.tableName][0][field.columnName], | 
			
		
	
		
			
				
					|  |  |  |                         field.itemType | 
			
		
	
		
			
				
					|  |  |  |                       ) | 
			
		
	
		
			
				
					|  |  |  |                 }}</span | 
			
		
	
		
			
				
					|  |  |  |               > | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |               <span v-else>{{ | 
			
		
	
		
			
				
					|  |  |  |                 !allInfo[group.tableName] || | 
			
		
	
		
			
				
					|  |  |  |                 allInfo[group.tableName][0][field.columnName] == null | 
			
		
	
		
			
				
					|  |  |  |                   ? "--" | 
			
		
	
		
			
				
					|  |  |  |                   : getOptionLabel( | 
			
		
	
		
			
				
					|  |  |  |                       field.options, | 
			
		
	
		
			
				
					|  |  |  |                       allInfo[group.tableName][0][field.columnName], | 
			
		
	
		
			
				
					|  |  |  |                       field.itemType | 
			
		
	
		
			
				
					|  |  |  |                     ) | 
			
		
	
		
			
				
					|  |  |  |               }}</span | 
			
		
	
		
			
				
					|  |  |  |             > | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |             <span v-else>{{ | 
			
		
	
		
			
				
					|  |  |  |               !allInfo[group.tableName] || | 
			
		
	
		
			
				
					|  |  |  |               allInfo[group.tableName][0][field.columnName] == null | 
			
		
	
		
			
				
					|  |  |  |                 ? "--" | 
			
		
	
		
			
				
					|  |  |  |                 : allInfo[group.tableName][0][field.columnName] | 
			
		
	
		
			
				
					|  |  |  |             }}</span> | 
			
		
	
		
			
				
					|  |  |  |                   : allInfo[group.tableName][0][field.columnName] | 
			
		
	
		
			
				
					|  |  |  |               }}</span> | 
			
		
	
		
			
				
					|  |  |  |             </div> | 
			
		
	
		
			
				
					|  |  |  |           </div> | 
			
		
	
		
			
				
					|  |  |  |         </div> | 
			
		
	
		
			
				
					|  |  |  |       </cpt-card> | 
			
		
	
	
		
			
				
					|  |  | @ -277,32 +320,33 @@ export default { | 
			
		
	
		
			
				
					|  |  |  |     getOptionLabel(options, value, type = "") { | 
			
		
	
		
			
				
					|  |  |  |       if (Array.isArray(options)) { | 
			
		
	
		
			
				
					|  |  |  |         let valueArr = value.split(","); | 
			
		
	
		
			
				
					|  |  |  |         return valueArr | 
			
		
	
		
			
				
					|  |  |  |           .map((val) => { | 
			
		
	
		
			
				
					|  |  |  |             if (type != "cascader") { | 
			
		
	
		
			
				
					|  |  |  |         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) => { | 
			
		
	
		
			
				
					|  |  |  |               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 "--"; | 
			
		
	
		
			
				
					|  |  |  |             }) | 
			
		
	
		
			
				
					|  |  |  |             .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); | 
			
		
	
		
			
				
					|  |  |  |             } | 
			
		
	
		
			
				
					|  |  |  |           }); | 
			
		
	
		
			
				
					|  |  |  |         }); | 
			
		
	
	
		
			
				
					|  |  | 
 |