| 
					
				 | 
			
			
				@@ -43,6 +43,7 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         </el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       </el-form> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       <el-table 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ref="treeTable" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         :data="dataList" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         row-key="productId" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         border 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -50,6 +51,9 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         lazy 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         :load="loadingData" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         v-loading="dataListLoading" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        @expand-change="handleExpandChange" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        :expand-row-keys="expandedRowKeys" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        @row-click="openDetail" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         style="width: 100%;"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         <el-table-column 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           label="序号" 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -382,7 +386,9 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         optionsCompose: optionsCompose, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         importForm: {}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         importLoading: false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        fileList: [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        fileList: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        expandedRowKeys: [], // 展开行的key数组 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        treeMap: new Map() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     created () { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -738,6 +744,11 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         location.href = this.$http.adornUrl(`/biz-service/product/template/download?_token=${Vue.cookie.get('token')}`) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       loadingData (row, treeNode, resolve) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (!this.treeMap.has(row.productId)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          this.treeMap.set(row.productId, {row, treeNode, resolve}) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        console.log(row, treeNode, resolve) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         getChildren(row.productId).then(({data}) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           if (data && data.code === '200') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             data.data.forEach(item => { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -747,11 +758,35 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 item.simplePic = '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            row.children = data.data 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             resolve(data.data) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             this.$message.error(data.msg) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      handleExpandChange (row, expanded) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        console.log(row, expanded) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (expanded) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          this.expandedRowKeys.push(row.productId) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          const index = this.expandedRowKeys.indexOf(row.productId) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          if (index !== -1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            this.expandedRowKeys.splice(index, 1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      openDetail (row, column, event) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        const index = this.expandedRowKeys.indexOf(row.productId) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (index !== -1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          this.expandedRowKeys.splice(index, 1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          this.expandedRowKeys.push(row.productId) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (event.currentTarget.querySelector('.el-table__expand-icon')) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          event.currentTarget.querySelector('.el-table__expand-icon').click() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 |