From 67bb8ed26f127d39fc0f747aef32881af14b7ca6 Mon Sep 17 00:00:00 2001
From: guoyuji <guoyujie@ng.com>
Date: 星期五, 01 三月 2024 08:03:58 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10101/r/ERP_override

---
 north-glass-erp/northglass-erp/src/views/mm/mainProductStock/OrderAllocation.vue |   62 ++++++++++++++++++++++++++++--
 1 files changed, 57 insertions(+), 5 deletions(-)

diff --git a/north-glass-erp/northglass-erp/src/views/mm/mainProductStock/OrderAllocation.vue b/north-glass-erp/northglass-erp/src/views/mm/mainProductStock/OrderAllocation.vue
index 7b9ae18..3c410ad 100644
--- a/north-glass-erp/northglass-erp/src/views/mm/mainProductStock/OrderAllocation.vue
+++ b/north-glass-erp/northglass-erp/src/views/mm/mainProductStock/OrderAllocation.vue
@@ -3,19 +3,21 @@
 
 <script setup>
 
-import {reactive, ref} from "vue";
+import {onMounted, reactive, ref} from "vue";
 import {useRouter} from  'vue-router'
 import request from "@/utils/request"
 import deepClone from "@/utils/deepClone"
 import userInfo from '@/stores/userInfo'
 import useUserInfoStore from "@/stores/userInfo";
 import {ElMessage} from "element-plus";
+import {addListener,toolbarButtonClickEvent} from "@/hook/mouseMove";
 
 const userStore = useUserInfoStore()
 const username = userStore.user.userName
 const userid = userStore.user.userId
 let router=useRouter()
 let produceList = ref([])
+let cellArea = ref()
 const getTableRow = (row,type) =>{
   switch (type) {
     case 'edit' :{
@@ -74,6 +76,8 @@
   dataTotal : 0,
   pageSize : 10
 })
+
+
 
 //绗竴娆¤皟鐢�
 request.post(`/FinishedGoodsInventory/getSelectAllocate/1/${total.pageSize}`,filterData.value).then((res) => {
@@ -136,7 +140,6 @@
   request.post(`/FinishedGoodsInventory/getSelectAllocate/${pageNum.value}/${total.pageSize}`,filterData.value).then((res) => {
 
     if(res.code==200){
-      console.log(res.data)
       produceList = deepClone(res.data.data)
       xGrid.value.loadData(produceList)
       gridOptions.loading=false
@@ -155,7 +158,6 @@
 }
 
 
-
 //瀛愮粍浠舵帴鏀跺弬鏁�
 
 const gridOptions = reactive({
@@ -171,6 +173,15 @@
   exportConfig: {},
   scrollY:{ enabled: true },//寮�鍚櫄鎷熸粴鍔�
   showOverflow:true,
+  menuConfig: {
+    body: {
+      options: [
+        [
+          { code: 'copyChecked', name: '閫変腑鐩稿悓', prefixIcon: 'vxe-icon-copy', visible: true, disabled: false },
+        ]
+      ]
+    }
+  },
   columnConfig: {
     resizable: true,
     useKey: true
@@ -245,11 +256,9 @@
         case 'edit': {
 
             const selectRecords = $grid.getCheckboxRecords()
-            console.log(selectRecords)
 
             if (selectRecords.length > 0) {
               const errMap = await $grid.validate(selectRecords)
-              console.log(errMap)
               if (errMap) {
                 ElMessage.warning("鏁版嵁鏍¢獙澶辫触")
                 return
@@ -290,8 +299,42 @@
         }
       }
     }
+  },
+  menuClick ({ menu, row, column }) {
+    const $grid = xGrid.value
+    if ($grid) {
+      switch (menu.code) {
+
+        case 'copyChecked' :{
+          let result = toolbarButtonClickEvent()
+          if(result){
+            const dataList = xGrid.value.getTableData().visibleData
+            let firstVal=null;
+            if(result.cell.indexOf('.')>-1){
+              firstVal = eval("dataList["+result.start +"]."+result.cell)
+            }else {
+              firstVal=dataList[result.start][result.cell];
+            }
+            dataList.forEach((item,index) =>{
+              if(index>=result.start && index<=result.end){
+                if(result.cell.indexOf('.')>-1){
+                  const  columnArr = result.cell.split('.')
+                  item[columnArr[0]][columnArr[1]]  = firstVal
+                }else{
+                  item[result.cell]  = firstVal
+                }
+
+              }
+            })
+          }
+          break
+        }
+
+      }
+    }
   }
 }
+
 
 /*鏁版嵁鏍¢獙*/
 const validRules = ref({
@@ -317,6 +360,10 @@
 
   }]
 
+})
+
+onMounted(()=>{
+  addListener(xGrid.value,gridOptions,cellArea.value)
 })
 
 
@@ -375,6 +422,11 @@
 
     </vxe-grid>
   </div>
+  <div class="vxe-table--cell-area" ref="cellArea" >
+    <span  class="vxe-table--cell-main-area"  ></span>
+
+    <span class="vxe-table--cell-active-area"  ></span>
+  </div>
 </template>
 
 <style scoped>

--
Gitblit v1.8.0