From ab2aecdf5dae969fae5214e7d22215771310b772 Mon Sep 17 00:00:00 2001
From: guoyuji <guoyujie@ng.com>
Date: 星期三, 05 三月 2025 16:22:42 +0800
Subject: [PATCH] 工艺审核添加玻璃反弯,优化图形排版测试

---
 north-glass-erp/northglass-erp/src/lang/en.js                               |    1 +
 north-glass-erp/northglass-erp/src/lang/ar.js                               |    1 +
 north-glass-erp/northglass-erp/src/lang/ru.js                               |    2 +-
 north-glass-erp/northglass-erp/src/views/pp/glassOptimize/OptimizePrint.vue |   29 ++++++++++++++++++++++++++---
 north-glass-erp/northglass-erp/src/lang/zh.js                               |    1 +
 north-glass-erp/northglass-erp/src/views/sd/order/UpdateOrderCraft.vue      |   23 ++++++++++++++++++++++-
 6 files changed, 52 insertions(+), 5 deletions(-)

diff --git a/north-glass-erp/northglass-erp/src/lang/ar.js b/north-glass-erp/northglass-erp/src/lang/ar.js
index 3c34b6e..bf53c1c 100644
--- a/north-glass-erp/northglass-erp/src/lang/ar.js
+++ b/north-glass-erp/northglass-erp/src/lang/ar.js
@@ -335,6 +335,7 @@
         xMargin:'賴丕賲卮 丕賱賲丨賵乇 X',
         yMargin:'賴丕賲卮 丕賱賲丨賵乇 Y',
         location:'賲賵賯毓 丕賱毓賱丕賲丞 丕賱鬲噩丕乇賷丞',
+        sort:'鐜荤拑鍙嶅集'
 
     },
 
diff --git a/north-glass-erp/northglass-erp/src/lang/en.js b/north-glass-erp/northglass-erp/src/lang/en.js
index 5d45e2b..b3a51bf 100644
--- a/north-glass-erp/northglass-erp/src/lang/en.js
+++ b/north-glass-erp/northglass-erp/src/lang/en.js
@@ -335,6 +335,7 @@
         xMargin:'X axis margin',
         yMargin:'Y-axis margin',
         location:'Trademark position',
+        sort:'鐜荤拑鍙嶅集'
 
     },
 
diff --git a/north-glass-erp/northglass-erp/src/lang/ru.js b/north-glass-erp/northglass-erp/src/lang/ru.js
index 477e456..5662c7a 100644
--- a/north-glass-erp/northglass-erp/src/lang/ru.js
+++ b/north-glass-erp/northglass-erp/src/lang/ru.js
@@ -335,7 +335,7 @@
         xMargin:'袚褉邪薪懈褑褘 芯褋懈 X',
         yMargin:'袠薪褌械褉胁邪谢 芯褋懈 Y',
         location:'袪邪褋锌芯谢芯卸械薪懈械 褌芯胁邪褉薪芯谐芯 蟹薪邪泻邪',
-
+        sort:'鐜荤拑鍙嶅集'
     },
 
     workOrder:{
diff --git a/north-glass-erp/northglass-erp/src/lang/zh.js b/north-glass-erp/northglass-erp/src/lang/zh.js
index 196339a..8360f16 100644
--- a/north-glass-erp/northglass-erp/src/lang/zh.js
+++ b/north-glass-erp/northglass-erp/src/lang/zh.js
@@ -335,6 +335,7 @@
         xMargin:'瀹芥柟鍚戝潗鏍�',
         yMargin:'楂樻柟鍚戝潗鏍�',
         location:'鍟嗘爣浣嶇疆',
+        sort:'鐜荤拑鍙嶅集'
 
     },
 
diff --git a/north-glass-erp/northglass-erp/src/views/pp/glassOptimize/OptimizePrint.vue b/north-glass-erp/northglass-erp/src/views/pp/glassOptimize/OptimizePrint.vue
index 9df4429..9f6dc5b 100644
--- a/north-glass-erp/northglass-erp/src/views/pp/glassOptimize/OptimizePrint.vue
+++ b/north-glass-erp/northglass-erp/src/views/pp/glassOptimize/OptimizePrint.vue
@@ -1,5 +1,7 @@
 <script setup>
- const layout=[
+ import {ref} from "vue";
+
+ const layout=ref([
    {"x":0,"y":0,"w":2,"h":2,"i":"0"},
    {"x":2,"y":0,"w":2,"h":4,"i":"1"},
    {"x":4,"y":0,"w":2,"h":5,"i":"2"},
@@ -20,12 +22,31 @@
    {"x":10,"y":4,"w":2,"h":2,"i":"17"},
    {"x":0,"y":9,"w":2,"h":3,"i":"18"},
    {"x":2,"y":6,"w":2,"h":2,"i":"19"}
- ]
+ ])
+
+ const layoutUpdated = (newLayout) => {
+   //checkLayoutBounds(newLayout)
+ }
+ const checkLayoutBounds = (layout1) => {
+   layout1.forEach(item => {
+     // 妫�鏌ヨ竟鐣岋紝渚嬪纭繚x鍜寉涓嶅皬浜�0锛屽苟涓攚鍜宧涓嶈秴鍑烘渶澶у�肩瓑銆�
+     if (item.x < 0) item.x = 0;
+     if (item.y < 0) item.y = 0;
+     if (item.w > 12) item.w = 12; // 鍋囪鏈�澶у垪鏁颁负12
+     if (item.h > 10) item.h = 10; // 鍋囪鏈�澶ц涓�10锛堟牴鎹渶瑕佽皟鏁达級
+   });
+   layout.value = layout1; // 搴旂敤杈圭晫妫�鏌ュ悗鐨勫竷灞�
+   console.log(layout1)
+ }
+ const moveEvent = (i, newX, newY) => {
+   console.log(`绉诲姩鍏冪礌 ${i} 鍒� (${newX}, ${newY})`)
+ }
+
 </script>
 
 <template>
   <grid-layout
-      style="border:1px solid black;height: 100%;width: 100%"
+      style="border:1px solid black;height: 100%;width: 100%;overflow: hidden;"
       :layout.sync="layout"
       :col-num="12"
       :row-height="30"
@@ -36,6 +57,7 @@
       :margin="[2, 2]"
       :use-css-transforms="true"
       :autoSize="false"
+      @layout-updated="layoutUpdated"
   >
 
     <grid-item v-for="item in layout"
@@ -45,6 +67,7 @@
                :h="item.h"
                :i="item.i"
                :key="item.i"
+               @move="moveEvent"
                style="background-color: white"
     >
       {{item.i}}
diff --git a/north-glass-erp/northglass-erp/src/views/sd/order/UpdateOrderCraft.vue b/north-glass-erp/northglass-erp/src/views/sd/order/UpdateOrderCraft.vue
index d8601c4..61c67e8 100644
--- a/north-glass-erp/northglass-erp/src/views/sd/order/UpdateOrderCraft.vue
+++ b/north-glass-erp/northglass-erp/src/views/sd/order/UpdateOrderCraft.vue
@@ -88,6 +88,7 @@
             { code: 'clearChecked', name: t('basicData.clearSelection'), prefixIcon: 'vxe-icon-indicator', visible: true, disabled: false },
             { code: 'computedSize', name: t('basicData.computedSize'), prefixIcon: 'vxe-icon-chart-line', visible: true, disabled: false },
             { code: 'paste', name: t('basicData.paste'), prefixIcon: 'vxe-icon-paste', visible: true, disabled: false },
+            { code: 'sort', name: t('craft.sort'), prefixIcon: 'vxe-icon-sort-asc', visible: true, disabled: false },
           ]
       ]
     }
@@ -224,9 +225,29 @@
                   data[i+flag][column] = text[i]
                 }
               })
+          break
+        }
+        case 'sort' :{
+          const uniqueArray = xGrid.value.getTableData().fullData.filter((item, index, self) =>
+                  index === self.findIndex((t) => (
+                      t.orderNumber === item.orderNumber
+                  ))
+          )
 
+          for (let i=0; i<uniqueArray.length; i++)  {
+            const sameOrderNumber  =  xGrid.value.getTableData().fullData.filter((item) =>
+              parseInt(item.orderNumber) === i+1
+            )
+            let widthList = []
+            sameOrderNumber.forEach((item) =>
+              widthList.push(item.childWidth)
+            )
+            widthList = widthList.sort();
+            sameOrderNumber.forEach((item,index) =>{
+              item.childWidth = widthList[index]
+            })
 
-
+          }
           break
         }
       }

--
Gitblit v1.8.0