From e50fa16b6dbc4e7c50d5fbdbc04d2a556ca01c4e Mon Sep 17 00:00:00 2001
From: chenlu <1320612696@qq.com>
Date: 星期一, 02 十二月 2024 11:26:36 +0800
Subject: [PATCH] 补片流程卡调整
---
north-glass-erp/northglass-erp/src/components/sd/order/OrderSizeCheck.vue | 160 +++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 160 insertions(+), 0 deletions(-)
diff --git a/north-glass-erp/northglass-erp/src/components/sd/order/OrderSizeCheck.vue b/north-glass-erp/northglass-erp/src/components/sd/order/OrderSizeCheck.vue
new file mode 100644
index 0000000..cc5e3d5
--- /dev/null
+++ b/north-glass-erp/northglass-erp/src/components/sd/order/OrderSizeCheck.vue
@@ -0,0 +1,160 @@
+<script setup>
+import {defineEmits, onMounted, reactive, ref, watch} from "vue"
+import {useI18n} from "vue-i18n"
+import {ElMessage} from "element-plus"
+import useOrderInfoStore from "@/stores/sd/order/orderInfo"
+const { t } = useI18n()
+const xGrid = ref()
+const orderInfo = useOrderInfoStore()
+const gridOptions = reactive({
+ loading:false,
+ border: "full",//琛ㄦ牸鍔犺竟妗�
+ keepSource: true,//淇濇寔婧愭暟鎹�
+ align: 'center',//鏂囧瓧灞呬腑
+ stripe:true,//鏂戦┈绾�
+ showOverflow:true,
+ id:'sizeCheck',
+ toolbarConfig: {
+ buttons: [
+ {'code': 'review', 'name': t('basicData.review'),status: 'primary'},
+ ]
+ },
+
+ rowConfig: {isCurrent: true, isHover: true,height: 30,useKey: true},//榧犳爣绉诲姩鎴栭�夋嫨楂樹寒
+ virtualScroll: true, // 寮�鍚櫄鎷熸粴鍔ㄥ姛鑳�
+ scrollY:{ enabled: true,gt:13 },//寮�鍚櫄鎷熸粴鍔�
+ //scrollX:{ enabled: true,gt:15 },//寮�鍚櫄鎷熸粴鍔�
+
+ columnConfig: {
+ useKey: true
+ },
+ editConfig: {
+ trigger: 'dblclick',
+ mode: 'cell',
+ showStatus: true,
+ showIcon:false
+ },
+ mouseConfig:{selected: true},
+ keyboardConfig:{
+ isArrow: true,
+ isDel: true,
+ isEnter: true,
+ isTab: true,
+ isEdit: true,
+ isChecked: true,
+ enterToTab:true
+ },
+
+ customConfig: {
+ storage: true
+ },
+ columns:[
+ {type: 'seq',fixed:"left", title: t('basicData.Number'), width: 80 },
+ {field: 'width', title: t('order.width'),editRender: { name: 'input'}},
+ {field: 'height', title:t('order.height'), editRender: { name: 'input'}},
+ {field: 'quantity', title: t('order.quantity') ,editRender: { name: 'input'}, },
+ ],
+ editRules: {
+ width: [
+ { required: true, message: t('components.inconsistentParameters') }
+ ],
+ height: [
+ { required: true, message:t('components.inconsistentParameters') }
+ ],
+ quantity: [
+ { required: true, message:t('components.inconsistentParameters') }
+ ]
+ }
+})
+
+const gridEvents = {
+ async toolbarButtonClick({code}) {
+ const $grid = xGrid.value
+ if ($grid) {
+ switch (code) {
+ case 'review' :{
+
+ const $table = xGrid.value.getTableData().fullData
+ const $oldTable = props.OrderDetail
+ $table.forEach((item,index)=>{
+ for(let key in item){
+ if(key!=='id' && key!=='_X_ROW_KEY'){
+ const oldVal = $oldTable.getTableData().fullData[index][key]*1
+ if(item[key]*1!==oldVal){
+ item[key] = null
+ }
+ }
+ }
+
+ })
+
+
+
+ const errMap = await $grid.validate(true)
+ if (errMap) {
+ ElMessage.error(t('basicData.msg.checkoutLose'))
+ return
+ }
+ //emit('getParent')
+ break
+ }
+ }
+ }
+ }
+}
+
+
+const emit = defineEmits(['getParent'])
+
+let props = defineProps({
+ OrderDetail:null,
+ orderId:null
+})
+
+
+onMounted(()=>{
+ const length = props.OrderDetail.getTableData().fullData.length
+ const $grid = xGrid.value
+ if(props.orderId !== orderInfo.orderId || length !== orderInfo.reviewList.length){
+ orderInfo.clearOrderInfo()
+ orderInfo.orderId=props.orderId
+
+ for (let i = 0; i < length; i++) {
+ orderInfo.reviewList.push({})
+ }
+ }
+
+ $grid.reloadData(orderInfo.reviewList)
+
+})
+
+const editClosedEvent = ({ row, column,rowIndex}) => {
+ const $table = props.OrderDetail
+ let checkVal = row[column.property]*1
+ const oldVal = $table.getTableData().fullData[rowIndex][column.property]*1
+ if(checkVal!==oldVal){
+ row[column.property]=null
+ }
+
+
+}
+
+</script>
+
+<template>
+ <div style="width: 100%;height: 100%">
+ <vxe-grid
+ height="100%"
+ class="mytable-scrollbar"
+ ref="xGrid"
+ v-bind="gridOptions"
+ v-on="gridEvents"
+ @edit-closed="editClosedEvent"
+ >
+ </vxe-grid>
+ </div>
+</template>
+
+<style scoped>
+
+</style>
\ No newline at end of file
--
Gitblit v1.8.0