From 3bfff48245e0eb8affcbf2a16fb2c75eb1cff8bb Mon Sep 17 00:00:00 2001
From: 廖井涛 <2265517004@qq.com>
Date: 星期一, 14 四月 2025 11:10:40 +0800
Subject: [PATCH] 模拟计算发送数据处理

---
 north-glass-erp/northglass-erp/src/hook/mouseMove.ts |   66 ++++++++++++++++++++++++++++----
 1 files changed, 57 insertions(+), 9 deletions(-)

diff --git a/north-glass-erp/northglass-erp/src/hook/mouseMove.ts b/north-glass-erp/northglass-erp/src/hook/mouseMove.ts
index b6ae1cb..b0d5278 100644
--- a/north-glass-erp/northglass-erp/src/hook/mouseMove.ts
+++ b/north-glass-erp/northglass-erp/src/hook/mouseMove.ts
@@ -13,7 +13,9 @@
 let xGrid = ref()
 let cellarea = ref(`
     <div class="vxe-table--cell-area" style="font-size: 10px;text-align: left" >
-      <span class="vxe-table--cell-main-area" ><p style="margin-left: 0.5rem;color: blue"></p></span>
+      <span class="vxe-table--cell-main-area" >
+        <p style="bottom: 0;color: blue;background-color: #5cadfe; margin-top: auto;"></p>
+        </span>
       <span class="vxe-table--cell-active-area"  ></span>
     </div>
 `)
@@ -36,7 +38,7 @@
     //cellarea.value = newElement
     //娣诲姞澶氶�夊垪
     nextTick(() => {
-        window.addEventListener("keypress", ()=>{
+        window.addEventListener("keydown", ()=>{
             destroyAreaBox()
         })
         window.addEventListener("mousedown", tableOutDestroyAreaBox)//缁檞indow娣诲姞榧犳爣鎸変笅浜嬩欢,鍒ゆ柇鏄惁鍦ㄨ〃鏍煎,鏄攢姣�
@@ -110,6 +112,14 @@
     if (event.button === 0) {//宸﹂敭鎸変笅
         // 璁板綍閫夋嫨鎿嶄綔璧峰浣嶇疆
         selectionStart = getCellPosition(event.target)//璁剧疆閫夋嫨鎿嶄綔璧峰鍗曞厓鏍间綅缃�
+        selectionEnd = selectionStart
+        const activeElement = getTablexGrid().$el.querySelector(".vxe-table--main-wrapper .vxe-table--body-wrapper .vxe-table--cell-main-area p")
+        const element = xGrid.value.$el.querySelector(".vxe-table--fixed-wrapper .vxe-table--fixed-left-wrapper .vxe-table--body-wrapper .vxe-table--cell-main-area p")
+        activeElement.innerHTML =''
+        if(element){
+            element.innerHTML =''
+        }
+
 
         isSelecting.value = true//鏍囪涓烘鍦ㄩ�夋嫨鎿嶄綔
     }
@@ -135,17 +145,38 @@
         isSelecting.value = false//鏍囪涓哄仠姝㈤�夋嫨鎿嶄綔
     }
     const result = exportData()
+    if(!result){
+        return
+    }
+    const activeElement = getTablexGrid().$el.querySelector(".vxe-table--main-wrapper .vxe-table--body-wrapper .vxe-table--cell-main-area p")
+    const element = xGrid.value.$el.querySelector(".vxe-table--fixed-wrapper .vxe-table--fixed-left-wrapper .vxe-table--body-wrapper .vxe-table--cell-main-area p")
+
+
+    if(result.length<=2 && result[0].length===1){
+        activeElement.innerHTML =''
+        if(element){
+            element.innerHTML =''
+        }
+
+        return
+    }
     let sum = 0
+
     result.forEach((item,index) => {
         if(index>0){
             sum+=item.reduce((a, b) => a*1 + b*1, 0);
         }
     })
-    const activeElement = getTablexGrid().$el.querySelector(".vxe-table--main-wrapper .vxe-table--body-wrapper .vxe-table--cell-main-area p")
-    const element = xGrid.value.$el.querySelector(".vxe-table--fixed-wrapper .vxe-table--fixed-left-wrapper .vxe-table--body-wrapper .vxe-table--cell-main-area p")
+
     sum=isNaN(sum)?0:sum
-    activeElement.innerHTML ="SUM:"+parseFloat(sum.toFixed(2))
-    element.innerHTML ="SUM:"+parseFloat(sum.toFixed(2))
+    setTimeout(()=>{
+        activeElement.innerHTML ="SUM:"+parseFloat(sum.toFixed(2))
+        if(element){
+            element.innerHTML ="SUM:"+parseFloat(sum.toFixed(2))
+        }
+
+    },200)
+
 }
 
 let outevent = ref()//绉诲姩浜嬩欢,涓嶄繚瀛�,寰幆瀹氭椂鍣ㄥ唴鏃犳硶鐩戝惉鍒版柊鐨勪簨浠�
@@ -241,6 +272,11 @@
             element.style.height = `${height}px`
             element.style.top = `${top}px`
             element.style.display = "block"
+            if(index%2==1){
+                element.style.display = "flex"
+                element.style.flexDirection = 'column'
+            }
+
             if (index <= elements.length - 1 - 2) {//濡傛灉涓嶆槸rightFixedActiveElement鎴杛ightFixedMainElement
                 element.style.left = `${left}px`
             } else {
@@ -467,7 +503,13 @@
 
 }
 const exportData = () => {
+    let data = []
+    let title = []
+    try{
     // //杩欓噷闇�瑕佹槸visibleData
+    if(getTablexGrid().getTableData()?.visibleData===undefined){
+        return null
+    }
     let tableData = getTablexGrid().getTableData().visibleData//鑾峰彇澶勭悊鏉′欢涔嬪悗鐨勫叏閲忚〃浣撴暟鎹�
     let rowStart = selectionStart.rowIndex//鑾峰彇閫変腑璧峰琛岀储寮�
     let rowEnd = selectionEnd.rowIndex//鑾峰彇閫変腑缁撴潫琛岀储寮�
@@ -492,8 +534,7 @@
             return colStart >= index && colEnd <= index
         }
     })
-    let data = []
-    let title = []
+
     selectCols.forEach((col, index) => {
         title.push(col['title'])
     })
@@ -502,6 +543,7 @@
     selectRows.forEach((row, index) => {
         let rowData = []
         selectCols.forEach((col, index) => {
+
             const parts = col['property'].split('.')
             let result = row
             for (const part of parts) {
@@ -515,11 +557,17 @@
         })
         data.push(rowData)
     })
+    }catch (e) {
+        // selectionStart = { rowIndex: -1, cellIndex: -1 } // 閫夋嫨鎿嶄綔璧峰鍗曞厓鏍间綅缃�
+        // selectionEnd = { rowIndex: -1, cellIndex: -1 }
+    }
+
     return  data
 
 }
 export {
     addListener,
     toolbarButtonClickEvent,
-    exportData
+    exportData,
+    destroyAreaBox
 }
\ No newline at end of file

--
Gitblit v1.8.0