From bbde7029d8df205e2ec9bb28d74f64e6193654bb Mon Sep 17 00:00:00 2001 From: miao <2514145421@qq.com> Date: Fri, 30 Dec 2022 14:01:22 +0800 Subject: [PATCH] =?UTF-8?q?=E9=AD=94=E5=A2=99=EF=BC=9A=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E6=97=8B=E8=BD=AC=E5=90=8E=E7=9A=84=E5=A4=9A=E9=80=89=E7=A7=BB?= =?UTF-8?q?=E5=8A=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/ControlPanelDialog.vue | 72 +++++++++++++++++---------- 1 file changed, 46 insertions(+), 26 deletions(-) diff --git a/src/components/ControlPanelDialog.vue b/src/components/ControlPanelDialog.vue index f5a7ab9..b025e85 100644 --- a/src/components/ControlPanelDialog.vue +++ b/src/components/ControlPanelDialog.vue @@ -684,12 +684,11 @@ export default defineComponent({ const min_x = ( item: test_monitor = test_monitor_wall.value[current_index.value] ) => { - // console.log(item) const wall_dom = wall.value; const point_list = four_point(); if (wall_dom) { if (item.angle != 0 && point_list) { - let minx = 10000; + let minx = 0; point_list.forEach((element) => { if (minx > element.x) { minx = element.x; @@ -698,7 +697,7 @@ export default defineComponent({ if (minx < 0) { return Math.floor(item.w / 2 + item.currentx + Math.abs(minx)); } else { - return Math.floor(item.centerx-minx); + return Math.floor(minx); } } else { return Math.floor(item.w / 2); @@ -723,7 +722,7 @@ export default defineComponent({ item.currentx + item.w / 2 - (maxx - wall_dom.offsetWidth) ); }else { - return Math.floor(maxx); + return Math.floor(item.currentx + item.w / 2 - (maxx - wall_dom.offsetWidth)); } } else { return Math.floor(wall_dom.offsetWidth - item.w / 2); @@ -785,7 +784,7 @@ export default defineComponent({ item.currenty + item.h / 2 - (maxy - wall_dom.offsetHeight) ); } else { - return Math.floor(maxy); + return Math.floor(item.currenty + item.h / 2 - (maxy - wall_dom.offsetHeight)); } } else { return Math.floor(wall_dom.offsetHeight - item.h / 2); @@ -1232,21 +1231,23 @@ export default defineComponent({ }, sub_x() { let item = test_monitor_wall.value[current_index.value]; + let minx=1000; if (multiple_select.value.length > 1) { multiple_select.value.forEach((element) => { if (element != -1) { - // console.log("这是第几个"+element) - let min = min_x(test_monitor_wall.value[element]) ?? 0; - // console.log("这是最小值"+min) - // console.log("这是中心点"+test_monitor_wall.value[element].centerx) - if (test_monitor_wall.value[element].centerx > min) { - test_monitor_wall.value[element].currentx--; - test_monitor_wall.value[element].centerx--; - } + let tep_item=test_monitor_wall.value[element]; + let min = min_x(tep_item) ?? 0; + if (tep_item.centerx > min) { + if(minx>tep_item.centerx&&tep_item.angle!=0){ + minx=tep_item.centerx; + current_index.value=element + } + tep_item.currentx--; + tep_item.centerx--; + } } }); } else { - // console.log("美金") let min = min_x() ?? 0; if (item.centerx > min) { item.currentx--; @@ -1256,13 +1257,19 @@ export default defineComponent({ }, sub_y() { let item = test_monitor_wall.value[current_index.value]; + let miny=1000; if (multiple_select.value.length > 1) { multiple_select.value.forEach((element) => { if (element != -1) { - let min = min_y(test_monitor_wall.value[element]) ?? 0; - if (test_monitor_wall.value[element].centery > min) { - test_monitor_wall.value[element].currenty--; - test_monitor_wall.value[element].centery--; + let tep_item=test_monitor_wall.value[element]; + let min = min_y(tep_item) ?? 0; + if (tep_item.centery > min) { + if(miny>tep_item.centery){ + miny=tep_item.centery; + current_index.value=element + } + tep_item.currenty--; + tep_item.centery--; } } }); @@ -1276,13 +1283,20 @@ export default defineComponent({ }, add_x() { let item = test_monitor_wall.value[current_index.value]; + let maxx=0; if (multiple_select.value.length > 1) { multiple_select.value.forEach((element) => { if (element != -1) { - let max = max_x(test_monitor_wall.value[element]) ?? 0; - if (test_monitor_wall.value[element].centerx < max) { - test_monitor_wall.value[element].currentx++; - test_monitor_wall.value[element].centerx++; + let tep_item=test_monitor_wall.value[element]; + let max = max_x(tep_item) ?? 0; + + if (tep_item.centerx < max) { + if(maxx 1) { multiple_select.value.forEach((element) => { if (element != -1) { - let max = max_y(test_monitor_wall.value[element]) ?? 0; - if (test_monitor_wall.value[element].centery < max) { - test_monitor_wall.value[element].currenty++; - test_monitor_wall.value[element].centery++; + let tep_item=test_monitor_wall.value[element]; + let max = max_y(tep_item) ?? 0; + if (tep_item.centery < max) { + if(maxy