From de2c3068cdea54ffa36d2359b32abd9b8a144cde Mon Sep 17 00:00:00 2001
From: huang <1532065656@qq.com>
Date: 星期一, 09 十二月 2024 14:49:47 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10105/r/ERP_override

---
 north-glass-erp/northglass-erp/src/views/pp/processCard/AddProcessCard.vue |   68 +++++++++++++++++++++++++++++++---
 1 files changed, 62 insertions(+), 6 deletions(-)

diff --git a/north-glass-erp/northglass-erp/src/views/pp/processCard/AddProcessCard.vue b/north-glass-erp/northglass-erp/src/views/pp/processCard/AddProcessCard.vue
index 74b9e07..1bbb3cb 100644
--- a/north-glass-erp/northglass-erp/src/views/pp/processCard/AddProcessCard.vue
+++ b/north-glass-erp/northglass-erp/src/views/pp/processCard/AddProcessCard.vue
@@ -93,6 +93,7 @@
         filters: [{data: ''}],
         slots: {filter: 'num1_filter'},
         filterMethod: filterChanged,
+        sortable: true
       }
 
       gridOptions.columns.push(column)
@@ -192,12 +193,22 @@
       filterMethod: filterChanged,
       width: '78px'
     },
+    {
+      field: 'building_number',
+      title: t('order.buildingNumber'),
+      sortable: true,
+      filters: [{data: ''}],
+      slots: {filter: 'num1_filter'},
+      filterMethod: filterChanged,
+      width: '120px'
+    },
     {field: 'baiscQuantity', title: t('processCard.quantityToDivided'), showOverflow: "ellipsis", width: '80px'},
     {field: 'computeGrossArea', title: t('processCard.areaToDivided'), width: '80px'},
     {field: 'totalThickness', title: t('processCard.totalThickness'), width: '80px'},
     {field: 'thickness', title: t('processCard.glassThickness'), width: '80px'},
     {field: 'weight', title: t('processCard.weight'), slots: {default: 'weight_sum'}, width: '85px'},
     {field: 'remarks', title: t('processCard.notes'),  width: '85px',filters: [{data: ''}], slots: {filter: 'num1_filter'},filterMethod: filterChanged},
+    {field: 'processing_note', title: t('order.processingNote'),  width: '105px',filters: [{data: ''}], slots: {filter: 'num1_filter'},filterMethod: filterChanged},
     {field: 'bend_radius', title: t('order.bendRadius'),  width: '120px',filters: [{data: ''}], slots: {filter: 'num1_filter'},filterMethod: filterChanged,sortable: true,}
 
   ],//琛ㄥご鎸夐挳
@@ -305,6 +316,15 @@
       slots: {filter: 'num1_filter'},
       filterMethod: filterChanged,
       width:70
+    },
+    {
+      field: 'building_number',
+      title: t('order.buildingNumber'),
+      sortable: true,
+      filters: [{data: ''}],
+      slots: {filter: 'num1_filter'},
+      filterMethod: filterChanged,
+      width: '120px'
     },
     {field: 'width', title: t('order.width'), showOverflow: "ellipsis",width:70},
     {field: 'height', title: t('order.height'),width:70},
@@ -598,17 +618,44 @@
           delete item._X_ROW_KEY
           $grid.insert(item)
 
-
         }
 
         $gridLeft.remove(item)
       })
 
-
     }
+
+    let leftDataList = $gridLeft.getTableData().fullData;
+    let baseProcessId = productionId; // 鍥哄畾鐨勫墠缂�
+
+    // 缁熻鎵�鏈変笉閲嶅鐨� processId
+    let uniqueProcessIds = new Set(leftDataList.map(item => item.processId));
+    // 涓嶉噸澶嶇殑 processId 鐨勬�讳釜鏁�
+    let totalUniqueCount = uniqueProcessIds.size;
+    // 鐢ㄤ簬璁板綍宸茬粡鍒嗛厤鐨� processId
+    let usedProcessIds = new Set();
+
+    leftDataList.forEach((item) => {
+      let newProcessId;
+      // 濡傛灉璇� processId 鏄涓�娆″嚭鐜帮紝浣跨敤閫掑噺鐨勭紪鍙风敓鎴愭柊鐨� processId
+      if (!usedProcessIds.has(item.processId)) {
+        newProcessId = `${baseProcessId}${(totalUniqueCount).toString().padStart(3, '0')}`;
+        usedProcessIds.add(item.processId); // 鏍囪璇� processId 宸蹭娇鐢�
+        totalUniqueCount--; // 閫掑噺
+
+      } else {
+        // 濡傛灉璇� processId 宸茬粡浣跨敤杩囷紝缁х画浣跨敤宸插垎閰嶇殑缂栧彿
+        newProcessId = `${baseProcessId}${(totalUniqueCount + 1).toString().padStart(3, '0')}`;
+        
+      }
+      // 鏇存柊 item.processId
+      item.processId = newProcessId;
+    });
+
     //娓呴櫎涓よ竟澶嶉�夋
     $gridLeft.clearCheckboxRow()
     $grid.clearCheckboxRow()
+
   } catch (e) {
     ElMessage.warning(e.message)
   }
@@ -740,6 +787,7 @@
     if ($grid) {
       switch (code) {
         case 'saveFlowCard': {
+          gridLeftOptions.toolbarConfig.buttons[0].disabled=true
           const $table = xGridLeft.value
           const $tableRight = xGrid.value
           if ($table) {
@@ -748,11 +796,18 @@
             let leftData = $tableRight.getTableData().fullData
             if (selectRecords.length === 0) {
               ElMessage.warning(t('processCard.pleaseSelectTheSavedDataFirst'))
+              gridLeftOptions.toolbarConfig.buttons[0].disabled=false
               return
             }
 
             if (leftData.length > 0) {
               ElMessage.warning(t('processCard.pleaseFirstCreateAProcessCardForAllTheDataOnTheRightSideAndSaveIt'))
+              gridLeftOptions.toolbarConfig.buttons[0].disabled=false
+              return;
+            }
+            if (leftData.length!=selectRecords.length){
+              ElMessage.warning('璇峰嬀閫夋墍鏈夋暟鎹繘琛屼繚瀛�')
+              gridLeftOptions.toolbarConfig.buttons[0].disabled=false
               return;
             }
             let flowCardData = ref({
@@ -762,7 +817,7 @@
               userId:user.user.userId
             })
 
-            request.post("/processCard/addFlowCard", flowCardData.value).then((res) => {
+            request.post(`/processCard/addFlowCard/${orderId}`, flowCardData.value).then((res) => {
               if (res.code == 200) {
                 ElMessage.success(t('basicData.msg.saveSuccess'))
                 //router.push('/main/processCard/SplittingDetails?orderId=${orderId}')
@@ -851,6 +906,7 @@
                 <div v-for="(option, index) in column.filters" :key="index">
                   <input v-model="option.data"
                          type="text"
+                         @keyup.enter.native="$panel.confirmFilter()"
                          @input="changeFilterEvent($event, option, $panel)"/>
                 </div>
               </div>
@@ -875,9 +931,8 @@
             <br>
             <el-button type="primary" @click="createProcessCard">{{ $t('processCard.establishProcessCards') }}
             </el-button>
-            <br>
-            <br>
-            <el-button type="primary" @click="createProcessCardNo">鎸夊簭鍙峰垱寤�
+            <br><br><br><br><br>
+            <el-button type="primary" @click="createProcessCardNo">{{ $t('processCard.createBySequenceNumber') }}
             </el-button>
           </el-main>
         </div>
@@ -918,6 +973,7 @@
                   <div v-for="(option, index) in column.filters" :key="index">
                     <input v-model="option.data"
                            type="text"
+                           @keyup.enter.native="$panel.confirmFilter()"
                            @input="changeFilterEvent($event, option, $panel)"/>
                   </div>
                 </div>

--
Gitblit v1.8.0