From 5df5dba2a321098fd0fc7e18b71549f5c2312049 Mon Sep 17 00:00:00 2001
From: chenlu <1320612696@qq.com>
Date: 星期二, 27 八月 2024 17:19:13 +0800
Subject: [PATCH] Merge branch 'master' of http://bore.pub:10439/r/ERP_override

---
 north-glass-erp/northglass-erp/src/components/sd/order/OrderCraftDetail.vue |  134 ++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 134 insertions(+), 0 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
new file mode 100644
index 0000000..ff36585
--- /dev/null
+++ b/north-glass-erp/northglass-erp/src/components/sd/order/OrderCraftDetail.vue
@@ -0,0 +1,134 @@
+<script setup>
+import {onMounted, reactive, ref, watch} from "vue";
+import {changeFilterEvent, filterChanged} from "@/hook"
+import {useI18n} from "vue-i18n"
+import request from "@/utils/request"
+const { t } = useI18n()
+const xGrid = ref()
+const gridOptions = reactive({
+  loading:false,
+  border:  "full",//琛ㄦ牸鍔犺竟妗�
+  keepSource: true,//淇濇寔婧愭暟鎹�
+  align: 'center',//鏂囧瓧灞呬腑
+  stripe:true,//鏂戦┈绾�
+  showOverflow:true,
+  rowConfig: {isCurrent: true, isHover: true,height: 30},//榧犳爣绉诲姩鎴栭�夋嫨楂樹寒
+  virtualScroll: true, // 寮�鍚櫄鎷熸粴鍔ㄥ姛鑳�
+  id: 'OrderCraftDetail',
+  printConfig: {},
+  importConfig: {},
+  exportConfig: {},
+  scrollY:{ enabled: true,gt:13 },//寮�鍚櫄鎷熸粴鍔�
+  //scrollX:{ enabled: true,gt:15 },//寮�鍚櫄鎷熸粴鍔�
+  mouseConfig:{selected: true},//榧犳爣閫変腑
+  keyboardConfig:{
+    isArrow: true,
+    isDel: true,
+    isEnter: true,
+    isTab: true,
+    isEdit: true,
+    isChecked: true
+  },
+  columnConfig: {
+    resizable: true,
+    useKey: true
+  },
+
+  customConfig: {
+    storage: true
+  },
+
+
+  columns:[
+    {field: 'orderNumber',width:120,  title: t('order.OrderNum'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged},
+    //{field: 'orderDetail.buildingNumber',width:120,  title: '妤煎彿',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
+    {field: 'orderDetail.productName',width:120,  title: t('order.product'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged},
+    {field: 'glassAddress',width:120,  title: t('craft.glassAddress'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged},
+    {field: 'glassChild',width:120,  title: t('craft.glassChild'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged},
+    {field: 'orderDetail.width',width:120,  title: t('craft.width'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged},
+    {field: 'orderDetail.height',width:120,  title: t('craft.height'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged},
+    {field: 'orderDetail.shape',width:120,  title: t('order.shape'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged},
+    {field: 'totalArea',width:120,  title: t('craft.totalArea'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged},
+    {field: 'childWidth',width:120,  title: t('craft.childWidth'),editRender: { name: 'input'},filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged},
+    {field: 'childHeight',width:120,  title: t('craft.childHeight'),editRender: { name: 'input'},filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged},
+    {field: 'area',width:120,  title: t('craft.area'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged},
+    {field: 'orderDetail.quantity',width:120,  title: t('order.quantity'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged},
+    {field: 'process',width:120,  title: t('craft.process'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged},
+    {field: 'icon',width:120,  title: t('order.icon'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged},
+    {field: 'orderDetail.processingNote',width:120,  title: t('order.processingNote'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged},
+    {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: {
+    zoom: true,
+    custom: true
+  }
+
+
+})
+
+let props = defineProps({
+  orderId:null
+})
+onMounted(()=>{
+  request.post(`/order/getOrderCraftDetailById/${props.orderId}`).then(res=>{
+    xGrid.value.reloadData(res.data)
+  })
+})
+
+watch(()=>props.orderId,(newValue)=>{
+  request.post(`/order/getOrderCraftDetailById/${props.orderId}`).then(res=>{
+    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]);
+    }
+
+  }
+}
+</script>
+
+<template>
+  <div style="width: 100%;height: 100%">
+    <vxe-grid
+        height="100%"
+        size="mini"
+        class="mytable-scrollbar"
+        ref="xGrid"
+        v-bind="gridOptions"
+        @keydown="handleKeyDown"
+    >
+      <template #num1_filter="{ column, $panel }">
+        <div>
+          <div v-for="(option, index) in column.filters" :key="index">
+            <input type="text"
+                   v-model="option.data"
+                   @input="changeFilterEvent($event, option, $panel)"/>
+          </div>
+        </div>
+      </template>
+
+      <template #default_shape="{ row }">
+        <span>{{ row.shape==='1'?$t('order.universalShape'):row.shape==='2'?$t('order.alien'):null }}</span>
+      </template>
+
+    </vxe-grid>
+  </div>
+</template>
+
+<style scoped>
+
+</style>
\ No newline at end of file

--
Gitblit v1.8.0