From 43e115a7de2c763c36d79e610a3abb1d833ea892 Mon Sep 17 00:00:00 2001
From: 廖井涛 <2265517004@qq.com>
Date: 星期一, 05 八月 2024 10:21:52 +0800
Subject: [PATCH] 修改发货报表

---
 north-glass-erp/northglass-erp/src/components/sd/order/OrderSizeCheck.vue |   72 +++++++++++++++++++++++------------
 1 files changed, 47 insertions(+), 25 deletions(-)

diff --git a/north-glass-erp/northglass-erp/src/components/sd/order/OrderSizeCheck.vue b/north-glass-erp/northglass-erp/src/components/sd/order/OrderSizeCheck.vue
index ca27479..cc5e3d5 100644
--- a/north-glass-erp/northglass-erp/src/components/sd/order/OrderSizeCheck.vue
+++ b/north-glass-erp/northglass-erp/src/components/sd/order/OrderSizeCheck.vue
@@ -1,11 +1,11 @@
 <script setup>
-import {defineEmits, onMounted, reactive, ref, watch} from "vue";
-import {changeFilterEvent, filterChanged} from "@/hook"
+import {defineEmits, onMounted, reactive, ref, watch} from "vue"
 import {useI18n} from "vue-i18n"
-import request from "@/utils/request"
-import {ElMessage} from "element-plus";
+import {ElMessage} from "element-plus"
+import useOrderInfoStore from "@/stores/sd/order/orderInfo"
 const { t } = useI18n()
 const xGrid = ref()
+const orderInfo = useOrderInfoStore()
 const gridOptions = reactive({
   loading:false,
   border:  "full",//琛ㄦ牸鍔犺竟妗�
@@ -16,11 +16,11 @@
   id:'sizeCheck',
   toolbarConfig: {
     buttons: [
-      {'code': 'review', 'name': '瀹℃牳',status: 'primary'},
+      {'code': 'review', 'name': t('basicData.review'),status: 'primary'},
     ]
   },
 
-  rowConfig: {isCurrent: true, isHover: true,height: 30},//榧犳爣绉诲姩鎴栭�夋嫨楂樹寒
+  rowConfig: {isCurrent: true, isHover: true,height: 30,useKey: true},//榧犳爣绉诲姩鎴栭�夋嫨楂樹寒
   virtualScroll: true, // 寮�鍚櫄鎷熸粴鍔ㄥ姛鑳�
   scrollY:{ enabled: true,gt:13 },//寮�鍚櫄鎷熸粴鍔�
   //scrollX:{ enabled: true,gt:15 },//寮�鍚櫄鎷熸粴鍔�
@@ -49,19 +49,20 @@
     storage: true
   },
   columns:[
-    {field: 'width',  title: '瀹�',editRender: { name: 'input'}},
-    {field: 'height',  title:'楂�', editRender: { name: 'input'}},
-    {field: 'quantity', title: '鏁伴噺' ,editRender: { name: 'input'}, },
+    {type: 'seq',fixed:"left", title: t('basicData.Number'), width: 80 },
+    {field: 'width',  title: t('order.width'),editRender: { name: 'input'}},
+    {field: 'height',  title:t('order.height'), editRender: { name: 'input'}},
+    {field: 'quantity', title: t('order.quantity') ,editRender: { name: 'input'}, },
   ],
   editRules: {
     width: [
-      { required: true, message: '蹇呭~,鍙傛暟涓嶄竴鑷�' }
+      { required: true, message: t('components.inconsistentParameters') }
     ],
     height: [
-      { required: true, message: '蹇呭~,鍙傛暟涓嶄竴鑷�' }
+      { required: true, message:t('components.inconsistentParameters') }
     ],
     quantity: [
-      { required: true, message: '蹇呭~,鍙傛暟涓嶄竴鑷�' }
+      { required: true, message:t('components.inconsistentParameters') }
     ]
   }
 })
@@ -72,18 +73,29 @@
     if ($grid) {
       switch (code) {
         case 'review' :{
+
+          const $table = xGrid.value.getTableData().fullData
+          const $oldTable = props.OrderDetail
+          $table.forEach((item,index)=>{
+            for(let key in item){
+              if(key!=='id' && key!=='_X_ROW_KEY'){
+                const oldVal = $oldTable.getTableData().fullData[index][key]*1
+                if(item[key]*1!==oldVal){
+                  item[key] = null
+                }
+              }
+            }
+
+          })
+
+
+
           const errMap = await $grid.validate(true)
           if (errMap) {
             ElMessage.error(t('basicData.msg.checkoutLose'))
             return
           }
-          // const $table = props.OrderDetail
-          // $table.getTableData().fullData.forEach((row)=>{
-          //   if()row.computeGrossArea
-          // })
-
-
-          emit('getParent')
+          //emit('getParent')
           break
         }
       }
@@ -95,16 +107,24 @@
 const emit = defineEmits(['getParent'])
 
 let props = defineProps({
-  OrderDetail:null
+  OrderDetail:null,
+  orderId:null
 })
+
+
 onMounted(()=>{
   const length = props.OrderDetail.getTableData().fullData.length
   const $grid = xGrid.value
-  let list = []
-  for (let i = 0; i < length; i++) {
-    list.push({})
+  if(props.orderId !== orderInfo.orderId || length !== orderInfo.reviewList.length){
+    orderInfo.clearOrderInfo()
+    orderInfo.orderId=props.orderId
+
+    for (let i = 0; i < length; i++) {
+      orderInfo.reviewList.push({})
+    }
   }
-  xGrid.value.reloadData(list)
+
+  $grid.reloadData(orderInfo.reviewList)
 
 })
 
@@ -112,9 +132,11 @@
   const $table = props.OrderDetail
   let checkVal = row[column.property]*1
   const oldVal = $table.getTableData().fullData[rowIndex][column.property]*1
-  if(checkVal!=oldVal){
+  if(checkVal!==oldVal){
     row[column.property]=null
   }
+
+
 }
 
 </script>

--
Gitblit v1.8.0