From 855f1ab0148cbfc26bc365a8c46ab8b7d427c01e Mon Sep 17 00:00:00 2001
From: chenlu <1320612696@qq.com>
Date: 星期二, 12 三月 2024 08:16:48 +0800
Subject: [PATCH] 更新提交

---
 north-glass-erp/northglass-erp/src/views/pp/processCard/AddProcessCard.vue |   89 +++++++++++++++++++++++++++++---------------
 1 files changed, 59 insertions(+), 30 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 6602727..f513d5e 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
@@ -326,6 +326,8 @@
   }
 
 })
+//瀹氫箟杈撳叆鏁伴噺
+let checkedNum = ref('')
 //鍒涘缓娴佺▼鍗�
 const createProcessCard = () => {
   const $grid = xGrid.value
@@ -344,23 +346,61 @@
     //index = index.toString().padStart(2, '0')
   }
   const processId = productionId + index.toString().padStart(2, '0')
-  checkedList.forEach((item) => {
-    item.processId = processId
-    item.landingSequence = index
-    item.quantity = item.baiscQuantity
-  })
-  checkedList.forEach((item) => {
-    delete item._X_ROW_KEY
-  })
-  $gridLeft.insertAt(checkedList)
-  $grid.remove(checkedList)
-  if ($gridLeft || $grid) {
+  const regex = /^(\d+|)$/;
+  if (!regex.test(checkedNum.value)) {
+    ElMessage.warning("璇疯緭鍏ユ鏁存暟")
+    return
+  }
+  //鍒ゆ柇姝f暣鏁�
+  if (/^[1-9]\d*$/.test(checkedNum.value)) {
+    checkedList.forEach((item) => {
+      //瀹氫箟key鍊间繚鎸�
+
+      //鍒ゆ柇鍙敤鏁伴噺鏄惁澶т簬绛変簬杈撳叆鐨勬暟閲�,涓嶆弧瓒冲垯鎶涘嚭寮傚父
+      if (item.baiscQuantity * 1 < checkedNum.value * 1) throw new Error("璇疯緭鍏ュ皬浜庣瓑浜庡彲鐢ㄦ暟閲忕殑鏁板瓧");
+      item.quantity =  checkedNum.value
+      item.processId = processId
+      item.landingSequence = index
+      item.baiscQuantity=item.baiscQuantity - checkedNum.value
+    })
+    //鍒犻櫎key
+    checkedList.forEach((item) => {
+      let key = item._X_ROW_KEY
+      delete item._X_ROW_KEY
+      if (item.baiscQuantity===0){
+        $grid.remove(checkedList)
+      }
+      $gridLeft.insertAt(checkedList)
+      item._X_ROW_KEY = key
+    })
+
+//娓呴櫎涓よ竟澶嶉�夋
     $gridLeft.clearCheckboxRow()
     $grid.clearCheckboxRow()
   }
+  else if (checkedNum.value === '') {//鍒ゆ柇鏁伴噺杈撳叆妗嗘棤杈撳叆鏁板瓧
+
+    checkedList.forEach((item) => {
+      item.processId = processId
+      item.landingSequence = index
+      item.quantity = item.baiscQuantity
+    })
+    //鍒犻櫎key
+    checkedList.forEach((item) => {
+      delete item._X_ROW_KEY
+    })
+    $gridLeft.insertAt(checkedList)
+    $grid.remove(checkedList)
+    //娓呴櫎涓よ竟澶嶉�夋
+    $gridLeft.clearCheckboxRow()
+    $grid.clearCheckboxRow()
+  }
+
+
+
 }
 
-let checkedNum = ref('')
+
 
 //鍚戝彸杈硅〃鏍兼坊鍔犳暟鎹�
 const addRight = () => {
@@ -409,7 +449,7 @@
           $grid.insert(item)
         }
       })
-    } else if (checkedNum.value === '') {//鍒ゆ柇鏁伴噺杈撳叆妗嗘湁鏃犺緭鍏ユ暟瀛�
+    } else if (checkedNum.value === '') {//鍒ゆ柇鏁伴噺杈撳叆妗嗘棤杈撳叆鏁板瓧
 
       checkedList.forEach((item) => {
         let rightData = $grid.getTableData().fullData
@@ -427,6 +467,7 @@
 
 
     }
+    //娓呴櫎涓よ竟澶嶉�夋
     $gridLeft.clearCheckboxRow()
     $grid.clearCheckboxRow()
   } catch (e) {
@@ -491,9 +532,6 @@
           }
         } else {
 
-          // if (){
-          //
-          // }
           //濡傛灉鍕鹃�変袱涓�间笉鍚屽垯鎻掑叆鍚屾祦绋嬪崱
           item.quantity = checkedNum.value
           item.processId = checkedListLeft[0].processId
@@ -521,18 +559,6 @@
               break
             }
           }
-          // leftData.forEach((items) => {
-          //   console.log(items.processId, item.processId,"鈥斺�斺�斺�斺�斺��",items.orderNumber, item.orderNumber)
-          //   if (items.orderNumber === item.orderNumber && items.processId===item.processId) {
-          //     console.log("娴嬭瘯333")
-          //
-          //   }
-          //   else{
-          //
-          //   }
-          //
-          // })
-
         }
 
       })
@@ -546,6 +572,7 @@
       $gridLeft.insertAt(checkedList)
       $grid.remove(checkedList)
     }
+    //娓呴櫎涓よ竟澶嶉�夋
     if ($gridLeft || $grid) {
       $gridLeft.clearCheckboxRow()
       $grid.clearCheckboxRow()
@@ -568,12 +595,14 @@
           const $tableRight = xGrid.value
           if ($table) {
             const selectRecords = $table.getCheckboxRecords()
-            const selectRight = $tableRight.getCheckboxRecords()
+          //  const selectRight = $tableRight.getCheckboxRecords()
+            let leftData = $tableRight.getTableData().fullData
             if (selectRecords.length === 0) {
               ElMessage.warning("璇峰厛閫夋嫨淇濆瓨鐨勬暟鎹�")
               return
             }
-            if (selectRight.length > 0) {
+
+            if (leftData.length > 0) {
               ElMessage.warning("璇峰厛灏嗗彸渚ф暟鎹叏閮ㄥ缓绔嬫祦绋嬪崱鍚庝繚瀛�")
               return;
             }

--
Gitblit v1.8.0