From 768e16999a8ce4bb500490ee76c659aa61ea1783 Mon Sep 17 00:00:00 2001
From: 廖井涛 <2265517004@qq.com>
Date: 星期二, 25 三月 2025 10:08:13 +0800
Subject: [PATCH] Merge branch 'master' of http://bore.pub:10439/r/ERP_override
---
north-glass-erp/northglass-erp/src/views/pp/glassOptimize/OptimizeControl.vue | 104 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 104 insertions(+), 0 deletions(-)
diff --git a/north-glass-erp/northglass-erp/src/views/pp/glassOptimize/OptimizeControl.vue b/north-glass-erp/northglass-erp/src/views/pp/glassOptimize/OptimizeControl.vue
new file mode 100644
index 0000000..bc81799
--- /dev/null
+++ b/north-glass-erp/northglass-erp/src/views/pp/glassOptimize/OptimizeControl.vue
@@ -0,0 +1,104 @@
+<template>
+ <div >
+ <RectRenderer
+ :layoutData="layoutData"
+ :gw="1400"
+ :gh="1100"
+ style="width: 1500px; height: 800px; position: relative;"
+ />
+
+
+ </div>
+ <button @click="submitLayouts" style="position: fixed; bottom: 20px; right: 20px; padding: 10px; background: #4CAF50; color: white; border: none; border-radius: 5px; cursor: pointer;">
+ 淇濆瓨OPT
+ </button>
+ </template>
+
+ <script setup>
+ import { ref,onMounted } from 'vue';
+ import RectRenderer from './page/RectRenderer.vue';
+ import mockLayoutData from '../../../components/pp/MockData';
+ import request from "@/utils/request";
+import { useI18n } from "vue-i18n";
+import { ElMessage } from "element-plus";
+
+const { t } = useI18n();
+ // const layoutData = ref(mockLayoutData);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ const savedProjectNo = localStorage.getItem('projectNo');
+const processId = savedProjectNo;
+const layoutData = ref(null);
+
+
+
+const selectLayout = () => {
+request.post(`/glassOptimize/selectOptimizeResult/${processId}`)
+.then((res) => {
+ if (res.code == 200) {
+ try {
+ const parsedData = JSON.parse(res.data.data[0].Layouts);
+ layoutData.value = parsedData;
+ } catch (error) {
+
+
+ }
+ } else {
+
+ }
+})
+.catch((error) => {
+ console.error("璇锋眰澶辫触:", error);
+ ElMessage.error(t('basicData.msg.requestFailed'));
+});
+}
+
+onMounted(() => {
+ selectLayout();
+
+});
+
+ const submitLayouts = async () => {
+ try {
+ const response = await request.post('/glassOptimize/generateOpt', {
+ Layouts: layoutData.value.Layouts
+ }, {
+ headers: {
+ 'Content-Type': 'application/json'
+ },
+ responseType: 'blob' // 浠� blob 褰㈠紡鎺ユ敹鍝嶅簲
+ });
+
+ // 澶勭悊涓嬭浇
+ const downloadUrl = window.URL.createObjectURL(response);
+ const a = document.createElement('a');
+ a.href = downloadUrl;
+ a.download = 'output.opt';
+ document.body.appendChild(a);
+ a.click();
+ document.body.removeChild(a);
+ window.URL.revokeObjectURL(downloadUrl);
+ ElMessage.success('OPT鏂囦欢涓嬭浇鎴愬姛,璇烽�夋嫨鏂囦欢璺緞');
+ } catch (error) {
+ console.error('涓嬭浇澶辫触:', error);
+ // 鏄剧ず閿欒娑堟伅缁欑敤鎴�
+ ElMessage.error('涓嬭浇澶辫触锛岃绋嶅悗鍐嶈瘯');
+ }
+};
+
+
+
+ </script>
+
\ No newline at end of file
--
Gitblit v1.8.0