north-glass-erp/northglass-erp/src/views/pp/glassOptimize/OptimizeProject.vue
@@ -20,15 +20,21 @@ detailPage.value = 3; }; //获取SetTrimming的值 const dataForGlassInventory = ref(); const handleProjectDetailData = (data) => { dataForGlassInventory.value = data; }; </script> <template > <div style="width: 100%;height: 100%"> <div id="main-body"> <project-detail @changeDialog="changeDialog"/> <project-detail @changeDialog="changeDialog" @forward-data-to-grandparent="handleProjectDetailData"/> </div> <div id="main-footer"> <glass-inventory/> <glass-inventory :receivedData="dataForGlassInventory"/> </div> north-glass-erp/northglass-erp/src/views/pp/glassOptimize/page/GlassInventory.vue
@@ -1,5 +1,5 @@ <script setup> import {onMounted, reactive, ref} from "vue"; import {nextTick, onMounted, reactive, ref, watch} from "vue"; import {useI18n} from "vue-i18n"; import request from "@/utils/request"; import {ElMessage} from "element-plus"; @@ -92,6 +92,7 @@ item.upTrim = 0; }); xGrid.value.loadData(formattedData); gridOptions.data = formattedData; } else { } } else { @@ -105,17 +106,68 @@ selectMaterialStore(); }); watch(() => props.receivedData, (newData) => { if (newData) { Trimming(newData); } }, { immediate: true }); const props = defineProps({ receivedData : { type: Object, required: false, properties: { quicksetLeft: { type: Number }, quicksetBottom: { type: Number }, quicksetRight: { type: Number }, quicksetTop: { type: Number } }} }); //接受SetTrimming的值 (修边) const Trimming = (receivedData) => { nextTick(() => { const data = gridOptions.data; console.log('接收到的receivedData:', receivedData); console.log('表格原始数据:', data); if (data) { try { const updatedData = []; for (let i = 0; i < data.length; i++) { const item = data[i]; const updatedItem = { ...item, // 此处修改为从 receivedData 中获取对应的值来更新表格数据项 leftTrim: Number(receivedData.quicksetLeft), downTrim: Number(receivedData.quicksetBottom), rigthTrim: Number(receivedData.quicksetRight), upTrim: Number(receivedData.quicksetTop), }; updatedData.push(updatedItem); } gridOptions.data = updatedData; xGrid.value.loadData(updatedData); } catch (error) { console.error('更新表格数据时出错:', error); // 这里可以根据实际需求添加一些回滚操作或者提示用户的逻辑,比如显示一个错误提示框等 ElMessage.error('更新表格数据时出现错误,请检查输入或联系管理员'); } } else { console.warn('表格数据为空,无法更新磨量值'); } }); }; </script> <template> <div style="width: 100%;height: 100%"> <vxe-grid @filter-change="filterChanged" height="100%" class="mytable-scrollbar" ref="xGrid" v-bind="gridOptions" v-on="gridEvents" > north-glass-erp/northglass-erp/src/views/pp/glassOptimize/page/ProjectDetail.vue
@@ -143,9 +143,7 @@ }, }) let emit = defineEmits([ 'changeDialog' ]) const handleCommand = async (command) => { await emit('changeDialog', command) } @@ -225,6 +223,15 @@ }); }; //中转站接受SetTrimming的值 const emit = defineEmits([ 'changeDialog', 'forward-data-to-grandparent' ]); const handleTrimmingData = (data) => { emit('forward-data-to-grandparent', data); }; </script> @@ -294,7 +301,7 @@ title="设置修边" destroy-on-close style="width: 35%;height:80%;margin-top: 3vh;"> <set-trimming /> <set-trimming :closeDialog="closeDialog" @send-data-event="handleTrimmingData"/> </el-dialog> <el-button id="button" type="primary">保存</el-button> north-glass-erp/northglass-erp/src/views/pp/glassOptimize/page/SetTrimming.vue
@@ -1,5 +1,7 @@ <script setup> import {ref} from "vue"; import {defineEmits} from 'vue'; function setupComponent() { // 各个输入框绑定的值,初始化为0 @@ -37,6 +39,23 @@ const check = ref(true) const emit = defineEmits(['send-data-event',]); const props = defineProps({ closeDialog: Function }); const setTrimming = () => { const dataToSend = { quicksetTop: quicksetTop.value, quicksetRight: quicksetRight.value, quicksetBottom: quicksetBottom.value, quicksetLeft: quicksetLeft.value }; emit('send-data-event', dataToSend); props.closeDialog(3); }; </script> <template> @@ -55,7 +74,7 @@ <el-input-number v-model="quicksetLeft" class="left" placeholder="0" controls-position="right" :step="0.1" :min="0"></el-input-number> </div> <el-button type="primary" style="float: right; margin: 184px 0 0 13px;">应用</el-button> <el-button type="primary" style="float: right; margin: 184px 0 0 13px;" @click="setTrimming">应用</el-button> </div> <div>