From 9f0347b482911e017920b58256902108195c1041 Mon Sep 17 00:00:00 2001
From: 廖井涛 <2265517004@qq.com>
Date: 星期四, 29 二月 2024 16:28:07 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10101/r/ERP_override

---
 north-glass-erp/northglass-erp/src/views/sd/order/SelectOrder.vue |    4 +-
 north-glass-erp/northglass-erp/src/views/sd/order/CreateOrder.vue |   51 ++++++++++++++++++++++---
 north-glass-erp/northglass-erp/src/hook/mouseMove.ts              |   17 ++++++--
 3 files changed, 60 insertions(+), 12 deletions(-)

diff --git a/north-glass-erp/northglass-erp/src/hook/mouseMove.ts b/north-glass-erp/northglass-erp/src/hook/mouseMove.ts
index 7701139..ff0bd80 100644
--- a/north-glass-erp/northglass-erp/src/hook/mouseMove.ts
+++ b/north-glass-erp/northglass-erp/src/hook/mouseMove.ts
@@ -11,7 +11,12 @@
 //鑾峰彇椤甸潰ref鑺傜偣
 //鑾峰彇vxetable琛ㄦ牸鑺傜偣
 let xGrid = ref()
-let cellarea = ref()
+let cellarea = ref(`
+    <div class="vxe-table--cell-area"  >
+      <span  class="vxe-table--cell-main-area"  ></span>
+      <span class="vxe-table--cell-active-area"  ></span>
+    </div>
+`)
 let leftfixedcellarea = ref()
 let rightfixedcellarea = ref()
 const getTablexGrid = () => {
@@ -19,10 +24,14 @@
 }
 
 //娣诲姞浜嬩欢
-const addListener = (xGrids,gridOption,cellareas) => {
+const addListener = (xGrids,gridOption) => {
     xGrid.value = xGrids
     gridOptions = gridOption
-    cellarea.value = cellareas
+    let newElement = document.createElement('div')
+    const parser = new DOMParser();
+    const htmlDoc = parser.parseFromString(cellarea.value, 'text/html')
+    newElement.innerHTML = htmlDoc.body.innerHTML
+    //cellarea.value = newElement
     //娣诲姞澶氶�夊垪
     nextTick(() => {
         window.addEventListener("mousedown", tableOutDestroyAreaBox)//缁檞indow娣诲姞榧犳爣鎸変笅浜嬩欢,鍒ゆ柇鏄惁鍦ㄨ〃鏍煎,鏄攢姣�
@@ -39,7 +48,7 @@
         let bodyWrapper = getTablexGrid().$el.querySelector(".vxe-table--main-wrapper .vxe-table--body-wrapper")//鑾峰彇姝e父鍖哄煙鐨刡ody
         if (bodyWrapper) {
             //娉ㄦ剰杩欓噷鐨剅ef鍚嶇О锛岃繖閲屾槸闈瀎ixed鍖哄煙鐨勬鐨勫悕绉�
-            bodyWrapper.appendChild(cellarea.value)//娣诲姞鑼冨洿妗嗗厓绱�
+            bodyWrapper.appendChild(newElement)//娣诲姞鑼冨洿妗嗗厓绱�
             // let geticon = document.getElementById("getIcon")
             // geticon.addEventListener("click", ()=>{
             //     alert(2)
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 e104c19..58b65a0 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
@@ -83,6 +83,8 @@
           { code: 'deleteRow', name: '鍒犻櫎', prefixIcon: 'vxe-icon-delete', visible: true, disabled: true },
           { code: 'copyChecked', name: '閫変腑鐩稿悓', prefixIcon: 'vxe-icon-copy', visible: true, disabled: false },
           { code: 'copyAll', name: '涔嬪悗鐩稿悓', prefixIcon: 'vxe-icon-feedback', visible: true, disabled: false },
+          { code: 'clearChecked', name: '娓呴櫎閫変腑', prefixIcon: 'vxe-icon-indicator', visible: true, disabled: false },
+          { code: 'computedMoney', name: '璁$畻閲戦', prefixIcon: 'vxe-icon-chart-bar-x', visible: true, disabled: true },
         ]
       ]
     }
@@ -131,6 +133,9 @@
       { min: 0, max: 255, message: '鍚嶇О闀垮害鍦� 0 鍒� 255 涓瓧绗�' }
     ],
     productId: [
+      { required: true, message: '璇烽�夋嫨浜у搧' }
+    ],
+    productName: [
       { required: true, message: '璇烽�夋嫨浜у搧' }
     ],
     price: [
@@ -243,6 +248,11 @@
             ElMessage.error('娌℃湁琛ㄦ牸鏁版嵁锛�')
             return
           }
+          if(!gridOptions.menuConfig.body.options[0][5].disabled){
+            ElMessage.error('璇峰厛鎵撳紑鍙冲嚮鑿滃崟閲嶆柊璁$畻閲戦鍚庯紝鍐嶄繚瀛橈紒')
+            return
+          }
+
           const project = titleUploadData.value.project
           if(project === null || project === undefined || project === ''){
             ElMessage.error('杈撳叆椤圭洰鍚嶇О锛�')
@@ -302,6 +312,7 @@
           $grid.remove(rowClickIndex.value)
           rowClickIndex.value = null
           gridOptions.menuConfig.body.options[0][1].disabled=true
+          gridOptions.menuConfig.body.options[0][5].disabled=false
           break
         }
         case 'copyChecked' :{
@@ -315,6 +326,7 @@
               }
             })
           }
+          gridOptions.menuConfig.body.options[0][5].disabled=false
           break
         }
         case 'copyAll' :{
@@ -328,6 +340,34 @@
               }
             })
           }
+          gridOptions.menuConfig.body.options[0][5].disabled=false
+          break
+        }
+        case 'clearChecked' :{
+          let result = toolbarButtonClickEvent()
+          if(result){
+            const dataList = xGrid.value.getTableData().visibleData
+            dataList.forEach((item,index) =>{
+              if(index>=result.start && index<=result.end){
+                item[result.cell] = ''
+              }
+            })
+          }
+          gridOptions.menuConfig.body.options[0][5].disabled=false
+          break
+        }
+        case 'computedMoney' :{
+          const  dataList = xGrid.value.getTableData().fullData
+          dataList.forEach((item,index) =>{
+            item.area = area(item)
+            item.grossArea = countArea(item)
+            item.computeArea = item.area
+            item.computeGrossArea = item.grossArea
+            item.grossAmount=parseFloat((item.price * item.computeGrossArea).toFixed(2))
+          })
+          titleUploadData.value.money=countMoney(xGrid.value.getTableData().fullData).toString()
+
+          gridOptions.menuConfig.body.options[0][5].disabled=true
           break
         }
       }
@@ -354,8 +394,7 @@
 //鍒濆鍖栧垽鏂槸鍚︽湁id浼犲叆
 onMounted(()=>{
   //鍚敤琛ㄦ牸鎷栧姩閫変腑
-  addListener(xGrid.value,gridOptions,cellArea.value)
-
+  addListener(xGrid.value,gridOptions)
   const str = route.query.orderId
   if (typeof str === 'undefined' || str === null || str === '' || str === '\n' || str === '\r'){
     return
@@ -686,11 +725,11 @@
       <select-product :rowIndex="rowIndex" @getProductRow="getProductRow" style="width: 100%;height: 100%" />
     </el-dialog>
 <!--閫変腑琛ㄦ牸 -->
-    <div class="vxe-table--cell-area" ref="cellArea" >
-      <span  class="vxe-table--cell-main-area"  ></span>
+<!--    <div class="vxe-table&#45;&#45;cell-area" ref="cellArea" >-->
+<!--      <span  class="vxe-table&#45;&#45;cell-main-area"  ></span>-->
 
-      <span class="vxe-table--cell-active-area"  ></span>
-    </div>
+<!--      <span class="vxe-table&#45;&#45;cell-active-area"  ></span>-->
+<!--    </div>-->
 
   </div>
 </template>
diff --git a/north-glass-erp/northglass-erp/src/views/sd/order/SelectOrder.vue b/north-glass-erp/northglass-erp/src/views/sd/order/SelectOrder.vue
index d968a16..4d00f0a 100644
--- a/north-glass-erp/northglass-erp/src/views/sd/order/SelectOrder.vue
+++ b/north-glass-erp/northglass-erp/src/views/sd/order/SelectOrder.vue
@@ -240,7 +240,7 @@
 </script>
 
 <template>
-  <div  style="width: 100%;height: 100%">
+  <div  style="width: 100%;height: 100% ;">
     <el-date-picker
         v-model="selectDate"
         type="daterange"
@@ -254,7 +254,7 @@
     <vxe-grid
         @filter-change="filterChanged"
         @cell-dblclick="cellClickEvent"
-        max-height="97%"
+        style="max-height: 95%"
         class="mytable-scrollbar"
         ref="xGrid"
         v-bind="gridOptions"

--
Gitblit v1.8.0