|
|
@@ -16,9 +16,15 @@
|
|
|
node-key="id"
|
|
|
:props="defaultProps"
|
|
|
@node-click="handleNodeClick">
|
|
|
- <span slot-scope="{ node }" class="custom-tree-node">
|
|
|
+ <span slot-scope="{ node, data }" class="custom-tree-node">
|
|
|
<span>
|
|
|
- <el-input v-if="editId == node.id" :ref="node.id" v-model="node.label" size="mini" @blur="editEnd" />
|
|
|
+ <el-input
|
|
|
+ v-if="editId == node.id"
|
|
|
+ :ref="node.id"
|
|
|
+ v-model="editedLabel"
|
|
|
+ size="mini"
|
|
|
+ @blur="editEnd(node, data)"
|
|
|
+ @focus="startEdit(node)" />
|
|
|
<span v-else>{{ node.label }}</span>
|
|
|
</span>
|
|
|
<span>
|
|
|
@@ -157,6 +163,8 @@
|
|
|
components: { RegionDetailsEdit, RegionEdit, TableTool },
|
|
|
data() {
|
|
|
return {
|
|
|
+ editingNode: null, // 用于存储当前正在编辑的节点信息
|
|
|
+ editedLabel: '', // 用于存储编辑中的标签文本
|
|
|
tableKey: 0,
|
|
|
current: '',
|
|
|
list: [],
|
|
|
@@ -250,7 +258,7 @@
|
|
|
}
|
|
|
},
|
|
|
async treeHandle(command, node) {
|
|
|
- console.log(command, node, '111111111')
|
|
|
+ // console.log(command, node, '111111111')
|
|
|
if (command == 'edit') {
|
|
|
this.editId = node.id
|
|
|
await this.$nextTick()
|
|
|
@@ -261,14 +269,14 @@
|
|
|
cancelButtonText: '取消',
|
|
|
type: 'warning',
|
|
|
})
|
|
|
- .then(() => {
|
|
|
- if (node.id == this.regionId) {
|
|
|
- this.regionId = 0
|
|
|
- this.getRegionList()
|
|
|
- }
|
|
|
+ .then(async () => {
|
|
|
+ // 删除
|
|
|
+ const { msg } = await regionApi.deleteRegion({ id: this.regionId })
|
|
|
+ this.regionId = 0
|
|
|
+ this.getRegionList()
|
|
|
this.$message({
|
|
|
type: 'success',
|
|
|
- message: '删除成功!',
|
|
|
+ message: msg,
|
|
|
})
|
|
|
})
|
|
|
.catch(() => {
|
|
|
@@ -279,13 +287,22 @@
|
|
|
})
|
|
|
}
|
|
|
},
|
|
|
- editEnd(val) {
|
|
|
+ startEdit(node) {
|
|
|
+ this.editingNode = node // 记录当前编辑的节点
|
|
|
+ this.editedLabel = node.label // 将当前标签值复制到 editedLabel
|
|
|
+ },
|
|
|
+ async editEnd(node, data) {
|
|
|
const params = {
|
|
|
- id: this.editId,
|
|
|
- name: val,
|
|
|
+ id: data.id,
|
|
|
+ regionDesc: this.editedLabel,
|
|
|
}
|
|
|
- params
|
|
|
+ const { msg } = await regionApi.updateRegion(params)
|
|
|
+ this.$baseMessage(msg, 'success', 'vab-hey-message-success')
|
|
|
this.editId = ''
|
|
|
+ if (this.editingNode) {
|
|
|
+ this.editingNode = null // 清理编辑状态
|
|
|
+ this.editedLabel = '' // 重置编辑标签文本
|
|
|
+ }
|
|
|
this.getRegionList()
|
|
|
},
|
|
|
getOptions() {
|
|
|
@@ -371,6 +388,12 @@
|
|
|
data: { list, total },
|
|
|
} = await regionApi.getRegionDetailList(this.queryForm)
|
|
|
this.list = list
|
|
|
+ // 遍历list
|
|
|
+ if (this.list != null) {
|
|
|
+ this.list.forEach((item) => {
|
|
|
+ item.distId = [item.custProvinceId, item.custCityId]
|
|
|
+ })
|
|
|
+ }
|
|
|
this.total = total
|
|
|
this.listLoading = false
|
|
|
this.tableKey++
|