From ed3ce5c8f6e1f7ac1aad3218ab5e518fc95cdb0f Mon Sep 17 00:00:00 2001
From: chenlu <1320612696@qq.com>
Date: 星期二, 10 九月 2024 10:26:54 +0800
Subject: [PATCH] Merge branch 'master' of http://bore.pub:10439/r/ERP_override

---
 north-glass-erp/northglass-erp/src/views/sd/order/CreateOrder.vue |   56 +++++++++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 43 insertions(+), 13 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 f99bece..09bd8df 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
@@ -15,7 +15,7 @@
 import downLoadFile from "@/hook/downLoadFile"
 import footSum from "@/hook/footSum"
 import {useI18n} from "vue-i18n"
-import {multiply} from '@/utils/decimal'
+import {multiply,multiplyAuto,divideAuto} from '@/utils/decimal'
 const { t } = useI18n()
 
 let dialogTableVisible = ref(false)
@@ -364,7 +364,7 @@
                 item=>item.grossArea === 0
             )
             const errorAreaList = $grid.getTableData().fullData.filter(
-                item=>item.width*item.height/1000000 < errorArea.value*1
+                item=>(item.width*item.height/1000000 < errorArea.value*1)
             )
             if(grossAreaList.length>0){
               alert(t('order.msg.grossAreaIsNot0'))
@@ -445,7 +445,8 @@
               ElMessage.error(t('basicData.msg.checkoutLose'))
               return
             }
-
+            titleUploadData.value.creatorId=userStore.user.userId
+            titleUploadData.value.creator=userStore.user.userName
             let order ={
               title:titleUploadData.value,
             }
@@ -637,6 +638,9 @@
             dataList.forEach((item,index) =>{
               if(index>=result.start ){
                 let newStr = subStr1.replace(reg, number);
+                if(parseInt(newStr)>9){
+                  newStr=parseInt(newStr)
+                }
                 setNestedValue(item,result.cell,subStr2+newStr)
                 number=number+1
               }
@@ -667,6 +671,9 @@
             dataList.forEach((item,index) =>{
               if(index >= result.start && index <= result.end){
                 let newStr = subStr1.replace(reg, number);
+                if(parseInt(newStr)>9){
+                  newStr=parseInt(newStr)
+                }
                 setNestedValue(item,result.cell,subStr2+newStr)
                 number=number+1
               }
@@ -983,6 +990,8 @@
 
 //鏇存柊閲戦閲嶇疆
 const updateMoney = () => {
+  titleUploadData.value.creatorId=userStore.user.userId
+  titleUploadData.value.creator=userStore.user.userName
   const updateData = {
     order: titleUploadData.value,
     detail: xGrid.value.getTableData().fullData,
@@ -1044,20 +1053,20 @@
 }
 
 const area = (row) => {
-  return parseFloat((row.width * row.height/1000000).toFixed(company.decValue))
+  return  parseFloat(divideAuto(row.width * row.height,1000000,company.decValue))
 }
 const countArea = (row) => {
-  const area = parseFloat((row.width * row.height/1000000).toFixed(company.decValue))
+  const area =  parseFloat(divideAuto(row.width * row.height,1000000,company.decValue))
   let areaSum = 0
   // 鑾峰彇淇濈暀闈㈢Н,
   const decValue = company.decValue
   switch (titleUploadData.value.calculateType){
     case 2:{
-      areaSum = parseFloat((row.width * row.height * row.quantity/1000000).toFixed(decValue))
+      areaSum = parseFloat(divideAuto(row.width * row.height* row.quantity,1000000,company.decValue))
       break
     }
     default :{
-      areaSum = parseFloat((area * row.quantity).toFixed(decValue))
+      areaSum = parseFloat(multiplyAuto(area ,row.quantity,company.decValue))
       break
     }
   }
@@ -1109,7 +1118,7 @@
       const decValue = company.decValue
 
       if(titleUploadData.value.calculateType===1){
-        item.computeGrossArea = parseFloat((item.computeArea*item.quantity).toFixed(decValue))
+        item.computeGrossArea = parseFloat(multiplyAuto(item.computeArea,item.quantity,decValue))
       }else if(titleUploadData.value.calculateType===2){
         item.computeGrossArea = item.grossArea
       }
@@ -1210,10 +1219,30 @@
 
 }
 
+const cellStyle = ({ row, column }) => {
+  if(company.longSide!=null){
+    if (column.field === 'width') {
+      if (row.width > parseInt(company.longSide)) {
+        return {
+          backgroundColor: '#ec6969'
+        }
+      }
+    }
+    if (column.field === 'height') {
+      if (row.height > parseInt(company.longSide)) {
+        return {
+          backgroundColor: '#ec6969'
+        }
+      }
+    }
+  }
+
+};
+
 //璇樊闈㈢Н璁$畻鏂规硶
 const errorAreaComputed = () => {
   const regex = /^(0(\.\d{1,2})?|([1-9]\d{0,4})(\.\d{1,2})?|99999(\.9{1,2})?)$/
-  if (!regex.test(errorArea.value)) {
+  if (!regex.test(errorArea.value.toString())) {
     ElMessage.warning(t('basicData.msg.range99999Dec2'))
     return
   }
@@ -1226,8 +1255,8 @@
     if( !isNaN(item.computeArea*1) && item.computeArea != null && trueArea < errorArea.value){
 
       item.computeArea = errorArea.value
-      item.computeGrossArea = parseFloat((item.computeArea*item.quantity).toFixed(2))
-      item.grossAmount=parseFloat((item.price * item.computeGrossArea).toFixed(2))
+      item.computeGrossArea =  parseFloat(multiply(item.computeArea,item.quantity))
+      item.grossAmount=parseFloat(multiply(item.price , item.computeGrossArea))
     }
   })
   titleUploadData.value.money=countMoney(xGrid.value.getTableData().fullData).toString()
@@ -1256,11 +1285,11 @@
 
     if( !isNaN(item.computeArea*1) && item.computeArea != null ){
       if(titleUploadData.value.calculateType===3){
-        item.grossAmount=parseFloat((item.price * item.quantity).toFixed(2))
+        item.grossAmount=parseFloat(multiply(item.price , item.quantity))
       }else{
         item.grossArea = countArea(item)
         item.computeGrossArea = item.grossArea
-        item.grossAmount=parseFloat((item.price * item.computeGrossArea).toFixed(2))
+        item.grossAmount=parseFloat(multiply(item.price , item.computeGrossArea))
       }
     }
   })
@@ -1454,6 +1483,7 @@
           v-on="gridEvents"
           @keydown="handleKeyDown"
           @edit-closed="editClosedEvent"
+          :cell-style="cellStyle"
       >
         <template #num1_filter="{ column, $panel }">
           <div>

--
Gitblit v1.8.0