huang
2024-12-11 872e408b3d5a0038b61547f54f5c5b6341bcd2db
添加 优化页面设置修边功能
4个文件已修改
104 ■■■■■ 已修改文件
north-glass-erp/northglass-erp/src/views/pp/glassOptimize/OptimizeProject.vue 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/glassOptimize/page/GlassInventory.vue 58 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/glassOptimize/page/ProjectDetail.vue 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/glassOptimize/page/SetTrimming.vue 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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>