From a660db06773007b1be690e0674829c00a57aeb7b Mon Sep 17 00:00:00 2001
From: 廖井涛 <2265517004@qq.com>
Date: 星期三, 24 十二月 2025 16:21:23 +0800
Subject: [PATCH] 订单首页流程卡新增楼层编号显示

---
 north-glass-erp/northglass-erp/src/components/sd/order/OrderCraftDetail.vue |   70 ++++++++++++++++++++++++++++++++--
 1 files changed, 65 insertions(+), 5 deletions(-)

diff --git a/north-glass-erp/northglass-erp/src/components/sd/order/OrderCraftDetail.vue b/north-glass-erp/northglass-erp/src/components/sd/order/OrderCraftDetail.vue
index e6b3b98..feb0b33 100644
--- a/north-glass-erp/northglass-erp/src/components/sd/order/OrderCraftDetail.vue
+++ b/north-glass-erp/northglass-erp/src/components/sd/order/OrderCraftDetail.vue
@@ -3,6 +3,7 @@
 import {changeFilterEvent, filterChanged} from "@/hook"
 import {useI18n} from "vue-i18n"
 import request from "@/utils/request"
+import {copyTableCellValue} from "@/hook/copyTableCellValue";
 const { t } = useI18n()
 const xGrid = ref()
 const gridOptions = reactive({
@@ -14,13 +15,16 @@
   showOverflow:true,
   rowConfig: {isCurrent: true, isHover: true,height: 30},//榧犳爣绉诲姩鎴栭�夋嫨楂樹寒
   virtualScroll: true, // 寮�鍚櫄鎷熸粴鍔ㄥ姛鑳�
-  id: 'OrderList',
+  id: 'OrderCraftDetail',
   printConfig: {},
   importConfig: {},
   exportConfig: {},
   scrollY:{ enabled: true,gt:13 },//寮�鍚櫄鎷熸粴鍔�
   //scrollX:{ enabled: true,gt:15 },//寮�鍚櫄鎷熸粴鍔�
-
+  mouseConfig:{selected: true},//榧犳爣閫変腑
+  keyboardConfig:{
+    isArrow: true
+  },
   columnConfig: {
     resizable: true,
     useKey: true
@@ -51,12 +55,20 @@
     {field: 'orderDetail.remarks',width:120,  title: t('basicData.remarks'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged},
     {field: 'orderDetail.edgingType',width:120,  title: t('order.edgingType'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged}
   ],
+  toolbarConfig: {
+    slots:{
+      buttons: "title"
+    },
+    zoom: true,
+    custom: true
+  }
 
 
 })
 
 let props = defineProps({
-  orderId:null
+  orderId:null,
+  row: {}
 })
 onMounted(()=>{
   request.post(`/order/getOrderCraftDetailById/${props.orderId}`).then(res=>{
@@ -69,6 +81,33 @@
     xGrid.value.reloadData(res.data)
   })
 })
+
+const handleKeyDown = (evnt) =>{
+  if(evnt.$event.keyCode === 38 ){
+    let nextRowIndex = xGrid.value.getRowIndex(xGrid.value.getCurrentRecord()) - 1;
+    if (nextRowIndex < xGrid.value.getTableData().fullData.length && nextRowIndex>=0) {
+      xGrid.value.setCurrentRow(xGrid.value.getTableData().fullData[nextRowIndex]);
+    }
+
+  }
+  if(evnt.$event.keyCode === 40 ){
+    let nextRowIndex = xGrid.value.getRowIndex(xGrid.value.getCurrentRecord()) + 1;
+    if (nextRowIndex < xGrid.value.getTableData().fullData.length) {
+      xGrid.value.setCurrentRow(xGrid.value.getTableData().fullData[nextRowIndex]);
+    }
+
+  }
+}
+const gridEvents = {
+  cellDblclick ({row,column}) {
+    copyTableCellValue(row,column)
+  }
+}
+
+let showTitle = ref(false)
+const changeZoom = ()=> {
+  showTitle.value = !showTitle.value
+}
 </script>
 
 <template>
@@ -78,20 +117,34 @@
         size="mini"
         class="mytable-scrollbar"
         ref="xGrid"
+        @zoom="changeZoom"
         v-bind="gridOptions"
+        @keydown="handleKeyDown"
+        v-on="gridEvents"
     >
       <template #num1_filter="{ column, $panel }">
         <div>
           <div v-for="(option, index) in column.filters" :key="index">
             <input type="text"
                    v-model="option.data"
+                   @keyup.enter.native="$panel.confirmFilter()"
                    @input="changeFilterEvent($event, option, $panel)"/>
           </div>
         </div>
       </template>
 
       <template #default_shape="{ row }">
-        <span>{{ row.shape==='1'?'鏅舰':row.shape==='2'?'寮傚舰':null }}</span>
+        <span>{{ row.shape==='1'?$t('order.universalShape'):row.shape==='2'?$t('order.alien'):null }}</span>
+      </template>
+
+      <template #title>
+        <span style="font-weight: bold" v-show="showTitle">
+          {{ row.orderId }}
+          {{ row.project?'--':'' }}
+          {{row.project}}
+          {{ row.batch?'--':'' }}
+          {{row.batch}}
+        </span>
       </template>
 
     </vxe-grid>
@@ -99,5 +152,12 @@
 </template>
 
 <style scoped>
-
+.vxe-grid {
+  /* 绂佺敤娴忚鍣ㄩ粯璁ら�変腑 */
+  -webkit-user-select: none;
+  -moz-user-select: none;
+  -ms-user-select: none;
+  user-select: none;
+  transform: translateZ(0);
+}
 </style>
\ No newline at end of file

--
Gitblit v1.8.0