| | |
| | | <template>
|
| | | <div>
|
| | | <RectRenderer |
| | | <RectRenderer
|
| | | v-if="dataLoaded"
|
| | | :layoutData="layoutData" |
| | | :gw="1150" |
| | | :gh="850" |
| | | :layoutData="layoutData"
|
| | | :gw="1150"
|
| | | :gh="850"
|
| | | style="width: 1000px; height: 800px; position: relative;"
|
| | | />
|
| | | </div>
|
| | |
| | | <script setup>
|
| | | import { ref, onMounted } from 'vue';
|
| | | import RectRenderer from './page/OptimizationRect.vue';
|
| | | import mockLayoutData from '../../../components/pp/MockData';
|
| | | import request from "@/utils/request";
|
| | | import { useI18n } from "vue-i18n";
|
| | | import { ElMessage } from "element-plus";
|
| | |
| | | const dataLoaded = ref(false);
|
| | |
|
| | | const selectLayout = () => {
|
| | | if(processId!=="undefined"){
|
| | | if(processId && processId !== "undefined"){
|
| | | request.post(`/glassOptimize/selectOptimizeResult/${processId}`)
|
| | | .then((res) => {
|
| | | if (res.code == 200) {
|
| | | if (res.code == 200 && res.data && res.data.data && res.data.data.length > 0) {
|
| | | try {
|
| | | const parsedData = JSON.parse(res.data.data[0].Layouts);
|
| | | layoutData.value = parsedData;
|
| | | dataLoaded.value = true;
|
| | | ElMessage.success("打开版图成功");
|
| | | } catch (error) {
|
| | | ElMessage.error("解析数据时出错:", error);
|
| | | console.error("解析数据时出错:", error);
|
| | | ElMessage.error("解析数据时出错");
|
| | | }
|
| | | } else {
|
| | | ElMessage.warning("未找到版图数据");
|
| | | }
|
| | | })
|
| | | .catch((error) => {
|
| | |
| | | ElMessage.error(t('basicData.msg.ServerConnectionError'));
|
| | | });
|
| | | }
|
| | |
|
| | | }
|
| | |
|
| | | onMounted(() => {
|
| | | if(orderInfo.optimizeData.optimalResults!=null){
|
| | | layoutData.value=orderInfo.optimizeData.optimalResults
|
| | | dataLoaded.value = true;
|
| | | }else{
|
| | | // 检查 store 中是否有数据,并确保数据结构正确
|
| | | if(orderInfo.optimizeData && orderInfo.optimizeData.optimalResults) {
|
| | | // 确保数据结构符合 OptimizationRect.vue 的期望格式
|
| | | const optimalResults = orderInfo.optimizeData.optimalResults;
|
| | | if (optimalResults.layouts) {
|
| | | layoutData.value = optimalResults;
|
| | | dataLoaded.value = true;
|
| | | } else {
|
| | | // 如果数据结构不匹配,尝试从后端获取
|
| | | selectLayout();
|
| | | }
|
| | | } else {
|
| | | // 如果 store 中没有数据,则从后端获取
|
| | | selectLayout();
|
| | | }
|
| | | });
|