From f7a2fcdda7f1120498c5c5f75c5a99955fc54b43 Mon Sep 17 00:00:00 2001
From: 廖井涛 <2265517004@qq.com>
Date: 星期二, 16 十二月 2025 16:54:09 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10105/r/ERP_override
---
north-glass-erp/northglass-erp/src/views/pp/glassOptimize/OptimizeControl.vue | 101 +++++++++++++++++++++++++++++++++++++++-----------
1 files changed, 78 insertions(+), 23 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
index a184439..939ff1d 100644
--- a/north-glass-erp/northglass-erp/src/views/pp/glassOptimize/OptimizeControl.vue
+++ b/north-glass-erp/northglass-erp/src/views/pp/glassOptimize/OptimizeControl.vue
@@ -11,7 +11,8 @@
</div>
- <button @click="submitLayouts" style="position: fixed; top: 90px; right: 20px; padding: 10px; background: #4CAF50; color: white; border: none; border-radius: 5px; cursor: pointer;">
+
+ <button @click="submitLayouts" style="position: fixed; top: 90px; right: 20px; padding: 10px; background: #409eff; color: white; border: none; border-radius: 5px; cursor: pointer;">
淇濆瓨OPT
</button>
</template>
@@ -20,8 +21,9 @@
import RectRenderer from './page/RectRenderer.vue';
import request from "@/utils/request";
import { useI18n } from "vue-i18n";
-import { ElMessage } from "element-plus";
+import {ElMessage, ElMessageBox} from "element-plus";
import requestOptimize from "@/utils/requestOptimize";
+import useUserInfoStore from "@/stores/userInfo";
const { t } = useI18n();
@@ -34,6 +36,21 @@
const inventoryData = ref([]);
const optimizeLayouts = ref(null);
+
+
+// const fileSaveMode = ref(1);
+const fileMode = ref();
+const haveMark = ref();
+const haveOptimaMark = ref();
+const haveQMark = ref();
+const glassIdMode = ref();
+const optimaMarkPosition = ref();
+const optimaMarkName = ref();
+const optimaMarkWidth = ref();
+const optimaMarkHeight = ref();
+
+const userStore = useUserInfoStore()
+const username = userStore.user.userName;
// 浠� localStorage 璇诲彇搴撳瓨鏁版嵁
const loadInventoryData = () => {
@@ -89,7 +106,32 @@
});
};
-
+const fetchSettings = async (username) => {
+ try {
+ const response = await request.post(`/glassOptimize/selectOptimizeParms/${username}`);
+ if (response.code == 200) {
+ if (!response.data) {
+ console.error('鍝嶅簲鏁版嵁涓虹┖');
+ return;
+ }
+ const parsedData = JSON.parse(response.data);
+ console.log('璁剧疆鍐呭:', parsedData);
+ fileMode.value = parsedData.server.fileMode;
+ haveMark.value = parsedData.server.haveMark;
+ haveOptimaMark.value = parsedData.server.haveOptimaMark;
+ haveQMark.value = parsedData.server.haveQMark;
+ glassIdMode.value = parsedData.server.glassIdMode;
+ optimaMarkPosition.value = parsedData.server.optimaMarkPosition;
+ optimaMarkName.value = parsedData.server.optimaMarkName;
+ optimaMarkWidth.value = parsedData.server.optimaMarkWidth;
+ optimaMarkHeight.value = parsedData.server.optimaMarkHeight;
+ } else {
+ console.error('璇锋眰澶辫触锛岀姸鎬佺爜:', response.code);
+ }
+ } catch (error) {
+ console.error('璇锋眰鍙戠敓閿欒:', error);
+ }
+};
const selectOptimizeInfo = () => {
@@ -120,10 +162,11 @@
};
onMounted(() => {
- // 璇诲彇搴撳瓨鏁版嵁
+ // 璇诲彇搴撳瓨鏁版嵁鍜屽弬鏁拌缃�
loadInventoryData();
selectLayout();
selectOptimizeInfo();
+ fetchSettings(username);
});
const submitLayouts = async () => {
@@ -136,34 +179,46 @@
console.log("鎻愪氦鏁版嵁:", optimizeLayouts);
const response = await requestOptimize.post('api/cutFiles', {
fileName: processId,
- glassThickness:inventoryData.value[0].thickness,
- glassType:inventoryData.value[0].model,
+ projectNo: processId,
+ glassThickness: inventoryData.value[0].thickness,
+ glassType: inventoryData.value[0].model,
quantity: inventoryData.value[0].processingQuantity,
- fileType:"OPT",
- fileSaveMode:1,
- glassIdMode:1,
+ fileType: "OPT",
+ fileSaveMode: fileMode.value,
+ glassIdMode: glassIdMode.value,
+ haveMark: haveMark.value,
+ haveOptimaMark: haveOptimaMark.value,
+ haveQMark: haveQMark.value,
+ optimaMarkPosition: optimaMarkPosition.value,
+ optimaMarkName: optimaMarkName.value,
+ optimaMarkWidth: optimaMarkWidth.value,
+ optimaMarkHeight: optimaMarkHeight.value,
layouts: optimizeLayouts.value.layouts
}, {
headers: {
'Content-Type': 'application/json'
- },
- responseType: '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鏂囦欢涓嬭浇鎴愬姛,璇烽�夋嫨鏂囦欢璺緞');
+ // 浣跨敤 MessageBox 鏄剧ず鏂囦欢淇濆瓨浣嶇疆淇℃伅
+ if (response.data && response.data.length > 0) {
+ const filePath = response.data[0];
+ ElMessageBox.alert(`OPT鏂囦欢淇濆瓨鎴愬姛锛屼綅缃細${filePath}`, '淇濆瓨鎴愬姛', {
+ confirmButtonText: '纭畾',
+ type: 'success',
+ dangerouslyUseHTMLString: true
+ });
+ } else {
+ ElMessageBox.alert('OPT鏂囦欢淇濆瓨鎴愬姛', '淇濆瓨鎴愬姛', {
+ confirmButtonText: '纭畾',
+ type: 'success'
+ });
+ }
} catch (error) {
- console.error('涓嬭浇澶辫触:', error);
- ElMessage.error('涓嬭浇澶辫触锛岃绋嶅悗鍐嶈瘯');
+ console.error('淇濆瓨澶辫触:', error);
+ ElMessage.error('淇濆瓨澶辫触锛岃绋嶅悗鍐嶈瘯');
}
};
+
</script>
\ No newline at end of file
--
Gitblit v1.8.0