|  |  | @ -36,11 +36,20 @@ | 
			
		
	
		
			
				
					|  |  |  |               <span class="item-field">{{ field.label }}:</span> | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |               <span | 
			
		
	
		
			
				
					|  |  |  |                 v-if="field.itemType == 'select' || field.itemType == 'radio'" | 
			
		
	
		
			
				
					|  |  |  |                 v-if=" | 
			
		
	
		
			
				
					|  |  |  |                   field.itemType == 'select' || | 
			
		
	
		
			
				
					|  |  |  |                   field.itemType == 'radio' || | 
			
		
	
		
			
				
					|  |  |  |                   field.itemType == 'checkbox' || | 
			
		
	
		
			
				
					|  |  |  |                   field.itemType == 'cascader' | 
			
		
	
		
			
				
					|  |  |  |                 " | 
			
		
	
		
			
				
					|  |  |  |                 >{{ | 
			
		
	
		
			
				
					|  |  |  |                   info[field.columnName] == null | 
			
		
	
		
			
				
					|  |  |  |                     ? "--" | 
			
		
	
		
			
				
					|  |  |  |                     : getOptionLabel(field.options, info[field.columnName]) | 
			
		
	
		
			
				
					|  |  |  |                     : getOptionLabel( | 
			
		
	
		
			
				
					|  |  |  |                         field.options, | 
			
		
	
		
			
				
					|  |  |  |                         info[field.columnName], | 
			
		
	
		
			
				
					|  |  |  |                         field.itemType | 
			
		
	
		
			
				
					|  |  |  |                       ) | 
			
		
	
		
			
				
					|  |  |  |                 }}</span | 
			
		
	
		
			
				
					|  |  |  |               > | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
	
		
			
				
					|  |  | @ -81,25 +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'" | 
			
		
	
		
			
				
					|  |  |  |               >{{ | 
			
		
	
		
			
				
					|  |  |  |                 !allInfo[group.tableName] || allInfo[group.tableName][0][field.columnName] == null | 
			
		
	
		
			
				
					|  |  |  |                   ? "--" | 
			
		
	
		
			
				
					|  |  |  |                   : getOptionLabel(field.options, allInfo[group.tableName][0][field.columnName]) | 
			
		
	
		
			
				
					|  |  |  |               }}</span | 
			
		
	
		
			
				
					|  |  |  |           <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 ? "--" : allInfo[group.tableName][0][field.columnName] | 
			
		
	
		
			
				
					|  |  |  |             }}</span> | 
			
		
	
		
			
				
					|  |  |  |               <span v-else>{{ | 
			
		
	
		
			
				
					|  |  |  |                 !allInfo[group.tableName] || | 
			
		
	
		
			
				
					|  |  |  |                 allInfo[group.tableName][0][field.columnName] == null | 
			
		
	
		
			
				
					|  |  |  |                   ? "--" | 
			
		
	
		
			
				
					|  |  |  |                   : allInfo[group.tableName][0][field.columnName] | 
			
		
	
		
			
				
					|  |  |  |               }}</span> | 
			
		
	
		
			
				
					|  |  |  |             </div> | 
			
		
	
		
			
				
					|  |  |  |           </div> | 
			
		
	
		
			
				
					|  |  |  |         </div> | 
			
		
	
		
			
				
					|  |  |  |       </cpt-card> | 
			
		
	
	
		
			
				
					|  |  | @ -214,7 +279,7 @@ export default { | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |   watch: { | 
			
		
	
		
			
				
					|  |  |  |     userId() { | 
			
		
	
		
			
				
					|  |  |  |       this.getInfo(); | 
			
		
	
		
			
				
					|  |  |  |       this.getApiData(); | 
			
		
	
		
			
				
					|  |  |  |     }, | 
			
		
	
		
			
				
					|  |  |  |   }, | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
	
		
			
				
					|  |  | @ -252,11 +317,35 @@ export default { | 
			
		
	
		
			
				
					|  |  |  |       this.getHomeList(); | 
			
		
	
		
			
				
					|  |  |  |     }, | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |     getOptionLabel(options, value) { | 
			
		
	
		
			
				
					|  |  |  |     getOptionLabel(options, value, type = "") { | 
			
		
	
		
			
				
					|  |  |  |       if (Array.isArray(options)) { | 
			
		
	
		
			
				
					|  |  |  |         let item = options.find((item) => item.value == value); | 
			
		
	
		
			
				
					|  |  |  |         if (item && item.label) { | 
			
		
	
		
			
				
					|  |  |  |           return item.label; | 
			
		
	
		
			
				
					|  |  |  |         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) => { | 
			
		
	
		
			
				
					|  |  |  |               let item = options.find((item) => item.value == val); | 
			
		
	
		
			
				
					|  |  |  |               if (item && item.label) { | 
			
		
	
		
			
				
					|  |  |  |                 return item.label; | 
			
		
	
		
			
				
					|  |  |  |               } | 
			
		
	
		
			
				
					|  |  |  |               return "--"; | 
			
		
	
		
			
				
					|  |  |  |             }) | 
			
		
	
		
			
				
					|  |  |  |             .join("、"); | 
			
		
	
		
			
				
					|  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |       } | 
			
		
	
		
			
				
					|  |  |  |       return "--"; | 
			
		
	
	
		
			
				
					|  |  | @ -327,14 +416,13 @@ export default { | 
			
		
	
		
			
				
					|  |  |  |             } | 
			
		
	
		
			
				
					|  |  |  |           }); | 
			
		
	
		
			
				
					|  |  |  |         }); | 
			
		
	
		
			
				
					|  |  |  |               console.log('1111111111111111111111111',this.groupList); | 
			
		
	
		
			
				
					|  |  |  |         console.log("1111111111111111111111111", this.groupList); | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |         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); | 
			
		
	
		
			
				
					|  |  |  |             } | 
			
		
	
		
			
				
					|  |  |  |           }); | 
			
		
	
		
			
				
					|  |  |  |         }); | 
			
		
	
	
		
			
				
					|  |  | 
 |