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