From 38f7a5cae3d0daadd2cbc7e18756b0c98c978c26 Mon Sep 17 00:00:00 2001
From: guoyuji <guoyujie@ng.com>
Date: 星期二, 28 五月 2024 11:26:21 +0800
Subject: [PATCH] 修改订单导出模板,以及添加行放到最后一行。 添加计算方式类型

---
 north-glass-erp/northglass-erp/src/views/sd/order/CreateOrder.vue |   63 +++++++++++++++++++++++++++----
 1 files changed, 55 insertions(+), 8 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 fa3f29d..843427d 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
@@ -342,7 +342,8 @@
             ElMessage.error(t('order.msg.tableLengthMax'))
             return
           }
-          $grid.insert({})
+          $grid.insertAt({}, $grid.getTableData.length || -1).then(() => {
+          })
           break
         }
         case 'deleteRow':{
@@ -421,7 +422,6 @@
   },
   cellDblclick (params) {//琛ㄦ牸鍐呭鍙屽嚮鎵撳紑浜у搧鐣岄潰
     const { row,column } = params
-    console.log(column)
     if(column.field==='productName' || column.field==='productId'){
       productVisible.value = true
       rowIndex=row
@@ -576,7 +576,7 @@
     titleUploadData.value.icon = titleSelectJson.value.icon[0].basicName
     titleUploadData.value.packType = titleSelectJson.value.packType[0].basicName
     titleUploadData.value.alType = titleSelectJson.value.alType[0].basicName
-    titleUploadData.value.calculateType=1
+    titleUploadData.value.calculateType = 2
     const today = new Date
     today.setTime(today.getTime() + (15 * 24 * 60 * 60 * 1000))
     titleUploadData.value.deliveryDate = today.getFullYear() +
@@ -659,11 +659,23 @@
 }
 
 const area = (row) => {
+
   return parseFloat((row.width * row.height/1000000).toFixed(2))
 }
 const countArea = (row) => {
   const area = parseFloat((row.width * row.height/1000000).toFixed(2))
-  return parseFloat((area * row.quantity).toFixed(2))
+  let areaSum = 0
+  switch (titleUploadData.value.calculateType){
+    case 1:{
+      areaSum = parseFloat((area * row.quantity).toFixed(2))
+      break
+    }
+    case 2:{
+      areaSum = parseFloat((row.width * row.height * row.quantity/1000000).toFixed(2))
+      break
+    }
+  }
+  return areaSum
 }
 //璁$畻閲戦挶
 const countMoney = (list) => {
@@ -700,8 +712,17 @@
       }
       item.area = area(item)
       item.grossArea = countArea(item)
-      item.computeGrossArea = parseFloat((item.computeArea*item.quantity).toFixed(2))
-      item.grossAmount=parseFloat((item.price * item.computeGrossArea).toFixed(2))
+      if(titleUploadData.value.calculateType===1){
+        item.computeGrossArea = parseFloat((item.computeArea*item.quantity).toFixed(2))
+      }else if(titleUploadData.value.calculateType===2){
+        item.computeGrossArea = item.grossArea
+      }
+      if(titleUploadData.value.calculateType===3){
+        item.grossAmount=parseFloat((item.price * item.quantity).toFixed(2))
+      }else{
+        item.grossAmount=parseFloat((item.price * item.computeGrossArea).toFixed(2))
+      }
+
     })
     //璧嬪�艰〃澶存暟鎹�
     titleUploadData.value.money=countMoney(jsonData).toString()
@@ -736,7 +757,10 @@
       row.grossAmount=parseFloat((row.price * row.computeGrossArea).toFixed(2))
    }else if(column.property === 'computeArea'){
      row.computeGrossArea=parseFloat((row.computeArea*row.quantity).toFixed(2))
-     row.grossAmount=parseFloat((row.price * row.computeGrossArea).toFixed(2))
+     if(titleUploadData.value.calculateType!==3){
+       row.grossAmount=parseFloat((row.price * row.computeGrossArea).toFixed(2))
+     }
+
    }
    // else if(column.property.indexOf('otherColumns.M')>-1){
    //   let quantity = 0
@@ -790,6 +814,28 @@
     done()
     titleUploadData.value.money=countMoney(xGrid.value.getTableData().fullData).toString()
   }
+}
+//鏀瑰彉璁$畻鏂瑰紡
+const changeCalculateType = ()=>{
+  const fullData = xGrid.value.getTableData().fullData
+  if(fullData.length===0){
+    return
+  }
+  fullData.forEach((item) => {
+
+    if( !isNaN(item.computeArea*1) && item.computeArea != null ){
+      item.grossArea = countArea(item)
+      item.computeGrossArea = item.grossArea
+      if(titleUploadData.value.calculateType===3){
+        item.grossAmount=parseFloat((item.price * item.quantity).toFixed(2))
+      }else{
+        item.grossAmount=parseFloat((item.price * item.computeGrossArea).toFixed(2))
+      }
+
+    }
+  })
+  titleUploadData.value.money=countMoney(fullData).toString()
+
 }
 
 
@@ -872,8 +918,9 @@
         <el-col  :span="2"><el-input  v-model="titleUploadData.batch"/></el-col>
         <el-col  :span="2"><el-text>{{$t('order.calculateType')}}锛�</el-text></el-col>
         <el-col  :span="2">
-          <el-select v-model="titleUploadData.calculateType"  clearable placeholder=" " >
+          <el-select @change="changeCalculateType" v-model="titleUploadData.calculateType"  clearable placeholder=" " >
             <el-option :value="1" label="闈㈢Н閲戦锛堝崟鐗囷級"/>
+            <el-option :value="2" label="闈㈢Н閲戦锛堟�婚潰绉級"/>
           </el-select>
         </el-col>
         <el-col  :span="2"><el-text>*{{$t('order.salesman')}}锛�</el-text></el-col>

--
Gitblit v1.8.0