fix: 修复删除子panel后顶部依然显示被删名称的问题
This commit is contained in:
@@ -12,7 +12,6 @@
|
|||||||
:expand-on-click-node="false"
|
:expand-on-click-node="false"
|
||||||
:filter-node-method="filterNode"
|
:filter-node-method="filterNode"
|
||||||
:props="{label: 'name', children: 'children'}"
|
:props="{label: 'name', children: 'children'}"
|
||||||
@check-change="clearOthers"
|
|
||||||
@node-click="selectPanel"
|
@node-click="selectPanel"
|
||||||
@node-drop="nodeDrop"
|
@node-drop="nodeDrop"
|
||||||
check-on-click-node
|
check-on-click-node
|
||||||
@@ -50,7 +49,7 @@
|
|||||||
filterPanel: {type: String},
|
filterPanel: {type: String},
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
this.$refs.panelTree.setCurrentKey(this.showPanel);
|
this.$refs.panelTree.setCurrentKey(this.panel);
|
||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
filterPanel: {
|
filterPanel: {
|
||||||
@@ -62,16 +61,23 @@
|
|||||||
showPanel: {
|
showPanel: {
|
||||||
immediate: true,
|
immediate: true,
|
||||||
handler(n) {
|
handler(n) {
|
||||||
if (n && n.id) {
|
this.panel = JSON.parse(JSON.stringify(n));
|
||||||
this.$refs.panelTree.setCurrentKey(this.showPanel);
|
}
|
||||||
|
},
|
||||||
|
/*panel: {
|
||||||
|
immediate: true,
|
||||||
|
handler(n) {
|
||||||
|
if (this.$refs.panelTree) {
|
||||||
|
console.info(n.id, n.name)
|
||||||
|
this.$refs.panelTree.setCurrentKey(n);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}*/
|
||||||
},
|
},
|
||||||
data(){
|
data(){
|
||||||
return {
|
return {
|
||||||
popBox: {show: false},
|
popBox: {show: false},
|
||||||
panel: {id: '', name: ''}
|
panel: {id: 0, name: ""},
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods:{
|
methods:{
|
||||||
@@ -115,35 +121,25 @@
|
|||||||
editPanel(data) {
|
editPanel(data) {
|
||||||
this.$emit("editPanel", data);
|
this.$emit("editPanel", data);
|
||||||
},
|
},
|
||||||
openBox(panel){
|
|
||||||
if (panel) {
|
|
||||||
this.panel = panel;
|
|
||||||
this.$refs.panelTree.setChecked(this.panel.id, true, false);
|
|
||||||
}
|
|
||||||
},
|
|
||||||
esc(){
|
esc(){
|
||||||
this.popBox.show = false;
|
this.popBox.show = false;
|
||||||
},
|
},
|
||||||
//确认选择某个节点,与父组件交互
|
//确认选择某个节点,与父组件交互
|
||||||
selectPanel(data, checked, child) {
|
selectPanel(data, checked, child) {
|
||||||
this.panel = data;
|
this.$emit('selectPanel', data);
|
||||||
this.$emit('selectPanel', this.panel);
|
this.$refs.panelTree.setCurrentKey(data);
|
||||||
this.$refs.panelTree.setCurrentKey(this.panel);
|
|
||||||
this.esc();
|
this.esc();
|
||||||
},
|
},
|
||||||
//tree设为单选
|
//tree设为单选
|
||||||
clearOthers(data, checked, child) {
|
/*clearOthers(data, checked, child) {
|
||||||
if (checked) {
|
if (checked) {
|
||||||
this.panel = data;
|
this.panel = data;
|
||||||
this.$refs.panelTree.setCheckedKeys([data.id]);
|
this.$refs.panelTree.setCheckedKeys([data.id]);
|
||||||
} else {
|
} else {
|
||||||
this.panel = {id: '', name: ''};
|
this.panel = {id: '', name: ''};
|
||||||
}
|
}
|
||||||
}
|
}*/
|
||||||
},
|
},
|
||||||
beforeDestroy(){
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<template v-else>
|
<template v-else>
|
||||||
<div class="top-tool-main-left">
|
<div class="top-tool-main-left">
|
||||||
<select-panel :current-panel="showPanel" :filter-panel="filterPanel" :panel-data="panelData" :panel-lock="panelLock" :placement="'bottom-start'" :show-panel="showPanel"
|
<select-panel :filter-panel="filterPanel" :panel-data="panelData" :panel-lock="panelLock" :placement="'bottom-start'" :show-panel="showPanel"
|
||||||
@deletePanel="del" @editPanel="edit" @selectPanel="panelChange" ref="selectPanel" style="width: 300px;">
|
@deletePanel="del" @editPanel="edit" @selectPanel="panelChange" ref="selectPanel" style="width: 300px;">
|
||||||
<template v-slot:header>
|
<template v-slot:header>
|
||||||
<div class="panel-select-header">
|
<div class="panel-select-header">
|
||||||
@@ -171,7 +171,6 @@
|
|||||||
chartsData: [], //中间部分图表相关数据
|
chartsData: [], //中间部分图表相关数据
|
||||||
panelData: [],
|
panelData: [],
|
||||||
panelDataDragTmp:[],
|
panelDataDragTmp:[],
|
||||||
dataTotalListBak:[],
|
|
||||||
searchMsg: { //给搜索框子组件传递的信息
|
searchMsg: { //给搜索框子组件传递的信息
|
||||||
zheze_none: true,
|
zheze_none: true,
|
||||||
searchLabelList: [
|
searchLabelList: [
|
||||||
@@ -196,7 +195,6 @@
|
|||||||
},
|
},
|
||||||
panelId: 0,
|
panelId: 0,
|
||||||
filterPanel:'',
|
filterPanel:'',
|
||||||
showPanelList:[],
|
|
||||||
//---图表相关参数--end
|
//---图表相关参数--end
|
||||||
scrollbarWrap: null,
|
scrollbarWrap: null,
|
||||||
}
|
}
|
||||||
@@ -249,10 +247,7 @@
|
|||||||
type: 'success',
|
type: 'success',
|
||||||
message: this.$t("tip.deleteSuccess")
|
message: this.$t("tip.deleteSuccess")
|
||||||
});
|
});
|
||||||
if (this.showPanel.id === u.id) {
|
this.getTableData(true);
|
||||||
this.showPanel.id = '';
|
|
||||||
}
|
|
||||||
this.getTableData();
|
|
||||||
} else {
|
} else {
|
||||||
this.$message.error(response.msg);
|
this.$message.error(response.msg);
|
||||||
}
|
}
|
||||||
@@ -442,7 +437,6 @@
|
|||||||
this.$get('panel').then(response => {
|
this.$get('panel').then(response => {
|
||||||
if (response.code === 200) {
|
if (response.code === 200) {
|
||||||
this.panelData = response.data.list;
|
this.panelData = response.data.list;
|
||||||
this.showPanelList = this.panelData;
|
|
||||||
for (let i = 0; i < this.panelData.length; i++) {
|
for (let i = 0; i < this.panelData.length; i++) {
|
||||||
if (this.panelData[i].id == this.showPanel.id) {
|
if (this.panelData[i].id == this.showPanel.id) {
|
||||||
this.showPanel.name = this.panelData[i].name;
|
this.showPanel.name = this.panelData[i].name;
|
||||||
@@ -454,11 +448,11 @@
|
|||||||
},
|
},
|
||||||
|
|
||||||
getTableData(clearShowPanel) {
|
getTableData(clearShowPanel) {
|
||||||
|
let vm = this;
|
||||||
|
|
||||||
this.$get('panel?type=dashboard').then(response => {
|
this.$get('panel?type=dashboard').then(response => {
|
||||||
if (response.code === 200) {
|
if (response.code === 200) {
|
||||||
this.panelData = response.data.list;
|
this.panelData = response.data.list;
|
||||||
this.showPanelList = this.panelData;
|
|
||||||
this.dataTotalListBak = [...response.data.list];
|
|
||||||
let isInitData = false;
|
let isInitData = false;
|
||||||
if (response.data.list.length > 0) {
|
if (response.data.list.length > 0) {
|
||||||
if (this.$store.state.showPanel.id > 0 && this.$store.state.showPanel.name) {
|
if (this.$store.state.showPanel.id > 0 && this.$store.state.showPanel.name) {
|
||||||
@@ -474,8 +468,11 @@
|
|||||||
isInitData = true;
|
isInitData = true;
|
||||||
}else{
|
}else{
|
||||||
handler(response.data.list);
|
handler(response.data.list);
|
||||||
|
this.filter.panelId = this.showPanel.id;
|
||||||
}
|
}
|
||||||
this.filter.panelId = this.showPanel.id;
|
this.$nextTick(() => {
|
||||||
|
this.$refs.selectPanel.$refs.panelTree.setCurrentKey(this.showPanel);
|
||||||
|
});
|
||||||
} else {
|
} else {
|
||||||
this.showPanel.id = '';
|
this.showPanel.id = '';
|
||||||
this.filter.panelId = '';
|
this.filter.panelId = '';
|
||||||
@@ -504,8 +501,6 @@
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
let vm = this;
|
|
||||||
|
|
||||||
function handler(panelData) {
|
function handler(panelData) {
|
||||||
panelData.forEach(panel => {
|
panelData.forEach(panel => {
|
||||||
if (panel.id == vm.showPanel.id) {
|
if (panel.id == vm.showPanel.id) {
|
||||||
@@ -586,7 +581,7 @@
|
|||||||
clearInput() {
|
clearInput() {
|
||||||
this.$refs.queryPanel.focus();
|
this.$refs.queryPanel.focus();
|
||||||
},
|
},
|
||||||
start (event) {
|
/*start (event) {
|
||||||
// console.log('start', event, this.panelData);
|
// console.log('start', event, this.panelData);
|
||||||
|
|
||||||
event.item.querySelector('.panelContent').style.background = '#d8dce1';
|
event.item.querySelector('.panelContent').style.background = '#d8dce1';
|
||||||
@@ -728,7 +723,7 @@
|
|||||||
let panelContent = dragClass.querySelector('.panelContent');
|
let panelContent = dragClass.querySelector('.panelContent');
|
||||||
panelContent.style.background = '#d8dce1';
|
panelContent.style.background = '#d8dce1';
|
||||||
|
|
||||||
},
|
},*/
|
||||||
/*filterPanelFocus:function(e){
|
/*filterPanelFocus:function(e){
|
||||||
e.stopPropagation();
|
e.stopPropagation();
|
||||||
},
|
},
|
||||||
|
|||||||
Reference in New Issue
Block a user