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/OrderDetail.vue | 101 ++++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 89 insertions(+), 12 deletions(-)
diff --git a/north-glass-erp/northglass-erp/src/components/sd/order/OrderDetail.vue b/north-glass-erp/northglass-erp/src/components/sd/order/OrderDetail.vue
index 39ed303..ca0c335 100644
--- a/north-glass-erp/northglass-erp/src/components/sd/order/OrderDetail.vue
+++ b/north-glass-erp/northglass-erp/src/components/sd/order/OrderDetail.vue
@@ -3,6 +3,7 @@
import {changeFilterEvent, filterChanged} from "@/hook"
import {useI18n} from "vue-i18n"
import request from "@/utils/request"
+import footSum from "@/hook/footSum";
const { t } = useI18n()
const xGrid = ref()
const gridOptions = reactive({
@@ -12,9 +13,10 @@
align: 'center',//鏂囧瓧灞呬腑
stripe:true,//鏂戦┈绾�
showOverflow:true,
+ showFooter: true,//鏄剧ず鑴�
rowConfig: {isCurrent: true, isHover: true,height: 30},//榧犳爣绉诲姩鎴栭�夋嫨楂樹寒
virtualScroll: true, // 寮�鍚櫄鎷熸粴鍔ㄥ姛鑳�
- id: 'OrderList',
+ id: 'OrderDetail',
printConfig: {},
importConfig: {},
exportConfig: {},
@@ -29,23 +31,33 @@
customConfig: {
storage: true
},
-
+ mouseConfig:{selected: true},//榧犳爣閫変腑
+ keyboardConfig:{
+ isArrow: true,
+ isDel: true,
+ isEnter: true,
+ isTab: true,
+ isEdit: true,
+ isChecked: true
+ },
columns:[
{type: 'seq', title: t('basicData.Number'), width: 80 },
- // {field: 'buildingNumber',width:120, title: '妤煎彿',editRender: { name: 'input'},filters:[{ data: '' }],slots: { filter: 'num1_filter'}, sortable: true,filterMethod:filterChanged},
+ {field: 'buildingNumber',width:120, title: t('order.buildingNumber'),editRender: { name: 'input'},filters:[{ data: '' }],slots: { filter: 'num1_filter'}, sortable: true,filterMethod:filterChanged},
{field: 'productId',width:140, title: t('order.productId'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged},
{field: 'productName',width:300, title: t('order.product'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged},
- //{field: 'price',width:140, title: t('order.price'),editRender: { name: 'input'},filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged},
+ {field: 'otherColumns.S01',width:140, title: '缂栧彿',editRender: { name: 'input'},filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged},
//{field: 'grossAmount',width:160, title: t('order.grossAmount'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged},
{field: 'width',width:120, title: t('order.width') ,editRender: { name: 'input'},filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged},
{field: 'height',width:140, title: t('order.height'),editRender: { name: 'input'},filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged},
{field: 'quantity',width:140, title: t('order.quantity'),editRender: { name: 'input'},filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged},
+ {field: 'processingNote',width:200, title: t('order.processingNote'),editRender: { name: 'input'},filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged},
+ {field: 'price',width:140, title: t('order.price'),editRender: { name: 'input'},filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged},
{field: 'area',width:150, title: t('order.trueArea'),filters:[{ data: '' }],slots: { filter: 'num1_filter'}, sortable: true,filterMethod:filterChanged},
{field: 'grossArea',width:160, title: t('order.trueGrossArea'),filters:[{ data: '' }],slots: { filter: 'num1_filter'}, sortable: true,filterMethod:filterChanged},
{field: 'computeArea',width:180, title: t('order.computeArea'),editRender: { name: 'input'},filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged},
{field: 'computeGrossArea',width:200, title: t('order.computeGrossArea'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged},
- {field: 'processingNote',width:200, title: t('order.processingNote'),editRender: { name: 'input'},filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged},
+ {field: 'perimeter',width:200, title: t('order.perimeter'),editRender: { name: 'input'},filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged},
{field: 'remarks',width:140, title: t('basicData.remarks'),editRender: { name: 'input'},filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged},
{field: 'shape',width:120,
title: t('order.shape'),
@@ -56,21 +68,85 @@
{field: 'edgingType',width:160, title: t('order.edgingType'),editRender: { name: 'input'},filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged},
],
+ toolbarConfig: {
+ zoom: true,
+ custom: true
+ },
+
+ footerMethod ({ columns, data }) {//椤佃剼鍑芥暟
+ return[
+ columns.map((column, columnIndex) => {
+ if (columnIndex === 0) {
+ return t('basicData.total')
+ }
+ const List = ["quantity",'grossArea','area','computeGrossArea','computeArea','perimeter']
+ if (List.includes(column.field)) {
+ return footSum(data, column.field)
+ }
+ return ''
+ })
+ ]
+ }
})
let props = defineProps({
orderId:null
})
-onMounted(()=>{
- request.post(`/order/getOrderDetailById/${props.orderId}`).then(res=>{
- xGrid.value.reloadData(res.data)
- })
+onMounted(async ()=>{
+ await getColumns()
+ await getDetail()
})
watch(()=>props.orderId,(newValue)=>{
- request.post(`/order/getOrderDetailById/${props.orderId}`).then(res=>{
- xGrid.value.reloadData(res.data)
- })
+ getDetail()
})
+
+const getColumns = async () => {
+ await request.post(`/basicOtherMoney/findAllByState`).then(res=>{
+ res.data.forEach(item => {
+ let column = {
+ field: `otherColumns.${item.column}`,
+ width:100,
+ title: item.alias,
+ editRender: {
+ name: 'input',
+ }
+ }
+ //columns.push(column)
+ gridOptions.columns.push(column)
+
+ })
+ })
+}
+
+const getDetail = async ()=> {
+ await request.post(`/order/getOrderDetailById/${props.orderId}`).then(res=>{
+ res.data.forEach(item => {
+ item.otherColumns = JSON.parse(item.otherColumns)
+ })
+ 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>
@@ -81,6 +157,7 @@
class="mytable-scrollbar"
ref="xGrid"
v-bind="gridOptions"
+ @keydown="handleKeyDown"
>
<template #num1_filter="{ column, $panel }">
<div>
--
Gitblit v1.8.0