From f0957ff7692bbf4f721121ed695df01f4c6d640d Mon Sep 17 00:00:00 2001
From: chenlu <1320612696@qq.com>
Date: 星期四, 25 四月 2024 09:37:11 +0800
Subject: [PATCH] Merge branch 'master' of https://gitee.com/a1536384743/erp_-override

---
 north-glass-erp/northglass-erp/src/views/sd/order/CreateOrder.vue |   80 ++++++++++++++++++++++++++++-----------
 1 files changed, 57 insertions(+), 23 deletions(-)

diff --git a/north-glass-erp/northglass-erp/src/views/sd/order/CreateOrder.vue b/north-glass-erp/northglass-erp/src/views/sd/order/CreateOrder.vue
index 45bd176..2a5597d 100644
--- a/north-glass-erp/northglass-erp/src/views/sd/order/CreateOrder.vue
+++ b/north-glass-erp/northglass-erp/src/views/sd/order/CreateOrder.vue
@@ -24,7 +24,9 @@
 const route = useRoute()
 const xGrid = ref()
 let cellArea = ref()
-const shapeList = ref(['鏅舰','寮傚舰'])
+const shapeList = ref([
+    {name:'鏅舰',value:1}, {name:'寮傚舰',value: 2}
+])
 
 // 瀹氫箟琛ㄥご涓婁紶鏁版嵁
 const titleUploadData = ref({
@@ -72,17 +74,22 @@
 let otherMoney = ref(null)
 
 const gridOptions = reactive({
+  loading:false,
+  showHeaderOverflow: false,
+  showFooterOverflow: false,
   border:  "full",//琛ㄦ牸鍔犺竟妗�
   keepSource: true,//淇濇寔婧愭暟鎹�
   align: 'center',//鏂囧瓧灞呬腑
   stripe:true,//鏂戦┈绾�
   rowConfig: {isCurrent: true, isHover: true,height: 30},//榧犳爣绉诲姩鎴栭�夋嫨楂樹寒
+  //virtualScroll: true, // 寮�鍚櫄鎷熸粴鍔ㄥ姛鑳�
   id: 'OrderList',
   showFooter: true,//鏄剧ず鑴�
   printConfig: {},
   importConfig: {},
   exportConfig: {},
-  scrollY:{ enabled: true },//寮�鍚櫄鎷熸粴鍔�
+  scrollY:{ enabled: true,gt:13 },//寮�鍚櫄鎷熸粴鍔�
+  //scrollX:{ enabled: true,gt:15 },//寮�鍚櫄鎷熸粴鍔�
   showOverflow:true,
   menuConfig: {
     body: {
@@ -203,7 +210,7 @@
           }
         }
       }
-    ]
+    ],
   },
   toolbarConfig: {
     buttons: [
@@ -435,6 +442,7 @@
 
 //鍒濆鍖栧垽鏂槸鍚︽湁id浼犲叆
 onMounted(()=>{
+
   //鍚敤琛ㄦ牸鎷栧姩閫変腑
   addListener(xGrid.value,gridOptions)
   const str = route.query.orderId || history.state.orderId
@@ -495,8 +503,8 @@
       orderDetails.forEach(item => {
         item.otherColumns = JSON.parse(item.otherColumns)
       })
-
-      //鍔犺浇鍓〃鏁版嵁
+      otherMoney.value =res.data.orderOtherMoneyList
+          //鍔犺浇鍓〃鏁版嵁
       xGrid.value.reloadData(orderDetails)
     }else{
       ElMessage.error(res.msg)
@@ -504,6 +512,7 @@
   })
 })
 
+//浣滃簾璁㈠崟
 const cancelOrder = () => {
   request.post(`/order/cancelOrder/${titleUploadData.value.orderId}`).then((res) =>{
     if (res.code== 200){
@@ -524,9 +533,27 @@
     otherMoney.value = titleSelectJson.value.orderOtherMoney[0]
     //let columns = []
     otherMoney.value.forEach(item => {
-      let column = {field: `otherColumns.${item.column}`,width:50,  title: item.alias,editRender: { name: 'input'}}
+      let column = {
+        field: `otherColumns.${item.column}`,
+        width:50,  title: item.alias,
+        editRender: {
+          name: 'input',
+        }
+      }
+      gridOptions.editRules[`otherColumns.${item.column}`] = [
+        {
+          validator ({ cellValue }) {
+            const regex = /^(0|[1-9][0-9]{0,4}([.][0-9]{1,2})?)$/
+            if (cellValue && !regex.test(cellValue)) {
+              return new Error(t('basicData.msg.range99999Dec2'))
+            }
+          }
+        }
+      ]
+
       //columns.push(column)
       gridOptions.columns.push(column)
+
     })
 
     //杩涘叆椤甸潰涓嬫媺妗嗚缃粯璁ゅ��
@@ -626,9 +653,9 @@
   list.forEach((item)=>{
     countMoney += parseFloat(item.grossAmount)
   })
-  otherMoney.value.forEach(item => {
-    countMoney+=item.quantity*item.price
-  })
+  // otherMoney.value.forEach(item => {
+  //   countMoney+=item.quantity*item.price
+  // })
   return parseFloat((countMoney).toFixed(2))
 }
 //瀵煎叆鍔熻兘
@@ -692,19 +719,22 @@
    }else if(column.property === 'computeArea'){
      row.computeGrossArea=parseFloat((row.computeArea*row.quantity).toFixed(2))
      row.grossAmount=parseFloat((row.price * row.computeGrossArea).toFixed(2))
-   }else if(column.property.indexOf('otherColumns.M')>-1){
-     let quantity = 0
-     xGrid.value.getTableData().fullData.forEach(item => {
-       quantity += item.quantity*(getNestedProperty(item,column.property)*1)
-     })
-     if(!isNaN(quantity)){
-       otherMoney.value.forEach(item => {
-         if(item.column===column.property.split('.')[1]){
-           item.quantity = quantity
-         }
-       })
-     }
    }
+   // else if(column.property.indexOf('otherColumns.M')>-1){
+   //   let quantity = 0
+   //   xGrid.value.getTableData().fullData.forEach(item => {
+   //     let orderQuantity = isNaN(item.quantity) ? 0 : item.quantity
+   //     let value = isNaN((getNestedProperty(item,column.property)*1)) ? 0 : (getNestedProperty(item,column.property)*1)
+   //     quantity += orderQuantity*value
+   //   })
+   //   if(!isNaN(quantity)){
+   //     otherMoney.value.forEach(item => {
+   //       if(item.column===column.property.split('.')[1]){
+   //         item.quantity = quantity
+   //       }
+   //     })
+   //   }
+   // }
   titleUploadData.value.money=countMoney(xGrid.value.getTableData().fullData).toString()
 
 
@@ -898,7 +928,7 @@
         </template>
         <template #shape_edit="{ row }">
           <vxe-select v-model="row.shape" transfer>
-            <vxe-option v-for="item in shapeList" :key="item" :value="item" :label="item" />
+            <vxe-option v-for="item in shapeList" :key="item" :value="item.value" :label="item.name" />
           </vxe-select>
         </template>
 
@@ -912,7 +942,7 @@
           :autosize="{ minRows: 2, maxRows: 20 }"
       />
     </el-dialog>
-    <el-dialog v-model="productVisible"  style="width: 80%;height:75% ">
+    <el-dialog id="product" v-model="productVisible"  style="width: 80%;height:75% ">
       <select-product :rowIndex="rowIndex" @getProductRow="getProductRow" style="width: 100%;height: 100%" />
     </el-dialog>
 <!--璇樊缁撶畻-->
@@ -973,5 +1003,9 @@
     -ms-user-select: none;
     user-select: none;
   }
+  :deep(#product .el-dialog__body){
+    height: 90%;
+    width: 100%;
+  }
 
 </style>
\ No newline at end of file

--
Gitblit v1.8.0