Commit 4390879ac3810d2494a82f69f042210b8f20e6cd
1 parent
a5b82dcb
1、添加多选赋值 多选删除
Showing
1 changed file
with
52 additions
and
6 deletions
src/views/bigscreenDesigner/designer/index.vue
| @@ -523,6 +523,7 @@ export default { | @@ -523,6 +523,7 @@ export default { | ||
| 523 | // 判断是否松开shift键,是就把pin赋值为false | 523 | // 判断是否松开shift键,是就把pin赋值为false |
| 524 | if (code.keyCode === 16) { | 524 | if (code.keyCode === 16) { |
| 525 | this.shiftEnt = false; | 525 | this.shiftEnt = false; |
| 526 | + this.selectMore=[]; | ||
| 526 | } | 527 | } |
| 527 | }, 500, true), | 528 | }, 500, true), |
| 528 | /** | 529 | /** |
| @@ -554,7 +555,9 @@ export default { | @@ -554,7 +555,9 @@ export default { | ||
| 554 | }, | 555 | }, |
| 555 | async initEchartData() { | 556 | async initEchartData() { |
| 556 | const reportCode = this.$route.query.reportCode; | 557 | const reportCode = this.$route.query.reportCode; |
| 558 | + this.$showLoading(); | ||
| 557 | const { code, data } = await detailDashboard(reportCode); | 559 | const { code, data } = await detailDashboard(reportCode); |
| 560 | + this.$hideLoading(); | ||
| 558 | if (code != 200) return; | 561 | if (code != 200) return; |
| 559 | const processData = this.handleInitEchartsData(data); | 562 | const processData = this.handleInitEchartsData(data); |
| 560 | const screenData = this.handleBigScreen(data.dashboard); | 563 | const screenData = this.handleBigScreen(data.dashboard); |
| @@ -968,13 +971,17 @@ export default { | @@ -968,13 +971,17 @@ export default { | ||
| 968 | for (let i = 0; i < draggableArr.length; i++) { | 971 | for (let i = 0; i < draggableArr.length; i++) { |
| 969 | if (i == index) { | 972 | if (i == index) { |
| 970 | this.$refs.widgets[i].$refs.draggable.setActive(true); | 973 | this.$refs.widgets[i].$refs.draggable.setActive(true); |
| 974 | + this.selectMore.push(index); | ||
| 971 | } | 975 | } |
| 972 | } | 976 | } |
| 973 | }else{ | 977 | }else{ |
| 974 | //没有按住shift键标识编辑单个 | 978 | //没有按住shift键标识编辑单个 |
| 979 | + let selectMore = []; | ||
| 975 | for (let i = 0; i < draggableArr.length; i++) { | 980 | for (let i = 0; i < draggableArr.length; i++) { |
| 976 | if (i == index) { | 981 | if (i == index) { |
| 977 | this.$refs.widgets[i].$refs.draggable.setActive(true); | 982 | this.$refs.widgets[i].$refs.draggable.setActive(true); |
| 983 | + selectMore.push(index); | ||
| 984 | + this.selectMore = selectMore; | ||
| 978 | } else { | 985 | } else { |
| 979 | this.$refs.widgets[i].$refs.draggable.setActive(false); | 986 | this.$refs.widgets[i].$refs.draggable.setActive(false); |
| 980 | } | 987 | } |
| @@ -993,6 +1000,7 @@ export default { | @@ -993,6 +1000,7 @@ export default { | ||
| 993 | for (let i = 0; i < draggableArr.length; i++) { | 1000 | for (let i = 0; i < draggableArr.length; i++) { |
| 994 | this.$refs.widgets[i].$refs.draggable.setActive(false); | 1001 | this.$refs.widgets[i].$refs.draggable.setActive(false); |
| 995 | } | 1002 | } |
| 1003 | + this.selectMore = []; | ||
| 996 | } | 1004 | } |
| 997 | }, | 1005 | }, |
| 998 | setWidgetOptionsData(val){ | 1006 | setWidgetOptionsData(val){ |
| @@ -1101,14 +1109,30 @@ export default { | @@ -1101,14 +1109,30 @@ export default { | ||
| 1101 | arr[oldIndex] = arr.splice(newIndex, 1, arr[oldIndex])[0]; | 1109 | arr[oldIndex] = arr.splice(newIndex, 1, arr[oldIndex])[0]; |
| 1102 | return arr; | 1110 | return arr; |
| 1103 | }, | 1111 | }, |
| 1104 | - // 删除 | ||
| 1105 | - deletelayer() { | ||
| 1106 | - this.widgets.splice(this.rightClickIndex, 1); | 1112 | + //去重 |
| 1113 | + setUnique(arr) { | ||
| 1114 | + let newArr = []; | ||
| 1115 | + arr.forEach(item => { | ||
| 1116 | + return newArr.includes(item) ? '' : newArr.push(item); | ||
| 1117 | + }); | ||
| 1118 | + return newArr; | ||
| 1107 | }, | 1119 | }, |
| 1108 | - // 复制 | 1120 | + // 多选复制 |
| 1109 | copylayer() { | 1121 | copylayer() { |
| 1110 | - // console.log("copylayer"); | ||
| 1111 | - const obj = this.deepClone(this.widgets[this.rightClickIndex]); | 1122 | + //首先复制右选节点,再复制其他选择节点 |
| 1123 | + this.copylayerOne(this.rightClickIndex) | ||
| 1124 | + // if(this.isNotBlankArray(this.selectMore)){ | ||
| 1125 | + // for(let i = 0; i< this.selectMore.length;i++){ | ||
| 1126 | + // const copyIndex = this.selectMore[i]; | ||
| 1127 | + // if(this.rightClickIndex != copyIndex){ | ||
| 1128 | + // this.copylayerOne(copyIndex); | ||
| 1129 | + // } | ||
| 1130 | + // } | ||
| 1131 | + // } | ||
| 1132 | + }, | ||
| 1133 | + // 复制 | ||
| 1134 | + copylayerOne(index) { | ||
| 1135 | + const obj = this.deepClone(this.widgets[index]); | ||
| 1112 | this.widgets.splice(this.widgets.length, 0, obj); | 1136 | this.widgets.splice(this.widgets.length, 0, obj); |
| 1113 | }, | 1137 | }, |
| 1114 | // 置顶 | 1138 | // 置顶 |
| @@ -1151,6 +1175,28 @@ export default { | @@ -1151,6 +1175,28 @@ export default { | ||
| 1151 | //输入删除键删除 | 1175 | //输入删除键删除 |
| 1152 | entryDelete(index){ | 1176 | entryDelete(index){ |
| 1153 | this.widgets.splice(index, 1); | 1177 | this.widgets.splice(index, 1); |
| 1178 | + //调用删除 | ||
| 1179 | + // this.selectMore.push(index); | ||
| 1180 | + // this.deletelayerOne(); | ||
| 1181 | + }, | ||
| 1182 | + deletelayer() { | ||
| 1183 | + this.widgets.splice(this.rightClickIndex, 1); | ||
| 1184 | + // this.selectMore.push(this.rightClickIndex); | ||
| 1185 | + // this.deletelayerOne(); | ||
| 1186 | + }, | ||
| 1187 | + // 删除 | ||
| 1188 | + deletelayerOne() { | ||
| 1189 | + this.selectMore = this.setUnique(this.selectMore); | ||
| 1190 | + //首先复制右选节点,再复制其他选择节点 | ||
| 1191 | + let widgetsCp = []; | ||
| 1192 | + if(this.isNotBlankArray(this.selectMore)){ | ||
| 1193 | + for(let i = 0; i< this.widgets.length;i++){ | ||
| 1194 | + if(this.selectMore.indexOf(i)<0){ | ||
| 1195 | + widgetsCp.push(this.widgets[i]); | ||
| 1196 | + } | ||
| 1197 | + } | ||
| 1198 | + } | ||
| 1199 | + this.widgets = widgetsCp; | ||
| 1154 | }, | 1200 | }, |
| 1155 | //根据上下左右键移动(因为子组件直接切换焦点事件问题,这里弥补不点大屏直接切组件移动) | 1201 | //根据上下左右键移动(因为子组件直接切换焦点事件问题,这里弥补不点大屏直接切组件移动) |
| 1156 | dragWidgetMoveByKey(code,widgetIndex){ | 1202 | dragWidgetMoveByKey(code,widgetIndex){ |