|
@@ -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()
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|