From 7d79c6f0dd5ed453778a71c390b46f99e3503fc3 Mon Sep 17 00:00:00 2001 From: JayChou Date: Sun, 27 Apr 2025 14:41:01 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E9=87=8D=E5=81=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/layout/spacePage.vue | 15 ++++----- src/utils/setStep.ts | 7 ++-- src/views/designRoute/index.vue | 57 +++++++++++++++++---------------- src/views/program/index.vue | 11 +++---- 4 files changed, 46 insertions(+), 44 deletions(-) diff --git a/src/layout/spacePage.vue b/src/layout/spacePage.vue index 0efe89a..7de245c 100644 --- a/src/layout/spacePage.vue +++ b/src/layout/spacePage.vue @@ -141,7 +141,7 @@ import { ElMessage } from "element-plus"; import { ref, onMounted } from "vue"; import { useRouter } from "vue-router"; -import settingStore from "@/store/modules/setting";; +import settingStore from "@/store/modules/setting"; const setting = settingStore(); import userStore from "@/store/modules/user"; import { getUserInfoService, userChangeService, logout } from "@/api/user"; @@ -283,14 +283,13 @@ const handleClose = () => { // 退出登录 const logoutEvent = async () => { - await logout().then(res => { - console.log(res,'111'); + await logout().then((res) => { + console.log(res, "111"); clearLocalStorage(); - user.token = '' - router.push("/login"); - - }) - + user.token = ""; + router.push("/login"); + window.location.reload(); + }); }; diff --git a/src/utils/setStep.ts b/src/utils/setStep.ts index 14b1391..da7cb2f 100644 --- a/src/utils/setStep.ts +++ b/src/utils/setStep.ts @@ -1,16 +1,17 @@ +import { tr } from "element-plus/es/locale"; import { setStep, getStepId } from "../api/index"; import settingStore from "../store/modules/setting"; import pinia from "@/store"; const useStore = settingStore(pinia); -export const setStepEvent = async (step: number, controlsSt: string) => { +export const setStepEvent = async (step: number, controlsSt: string,isRedo:boolean = false) => { let id: any = null; if (!useStore.stepIds) { const data: any = await getStepId(); useStore.stepIds = data.result.map((item: any) => item.id); id = useStore.stepIds[step - 1]; // return id; - await setStep({ id, controlsSt }); + await setStep({ id, controlsSt,isRedo }); } else { - await setStep({ id: useStore.stepIds[step - 1], controlsSt }); + await setStep({ id: useStore.stepIds[step - 1], controlsSt,isRedo }); } }; diff --git a/src/views/designRoute/index.vue b/src/views/designRoute/index.vue index f817ada..723ebde 100644 --- a/src/views/designRoute/index.vue +++ b/src/views/designRoute/index.vue @@ -13,7 +13,7 @@ 上一步 撤回 恢复 - 清除缓存 + 重做 保存 步骤提示 @@ -73,7 +73,7 @@ import setzijie from "./components/setzijie.vue"; import { ElMessage } from "element-plus"; import tipView from "@/assets/images/guanxitu.png"; import { useRouter } from "vue-router"; -import useSettingStore from "@/store/modules/setting"; +import useSettingStore from "@/store/modules/setting"; import { setStepEvent } from "@/utils/setStep"; import { formatDate } from "@/utils"; let graph = null; @@ -822,7 +822,7 @@ onMounted(() => { }, 1000); const zoom = window.outerWidth / window.innerWidth; console.log("缩放比例为:", zoom); - if(zoom > 1) { + if (zoom > 1) { ElMessage.error("当前浏览器缩放比例过大,通过Ctrl+滚轮调整比例"); // graph.zoom(-0.5); } @@ -841,50 +841,51 @@ const onUndo = () => { const onRedo = () => { graph.redo(); }; -const wenduCode = "float a;a=1000000*M*S/W;T+(1-exp(-t/a))*100+T0;if(T>=100){T=100;}"; -const shiduCode = "float b;a=10000*S0/W1;R+(1-exp(-t1/b))*100+R0;if(R>=100){R=100;}"; -const step3Time = formatDate(new Date()) +const wenduCode = + "float a;a=1000000*M*S/W;T+(1-exp(-t/a))*100+T0;if(T>=100){T=100;}"; +const shiduCode = + "float b;a=10000*S0/W1;R+(1-exp(-t1/b))*100+R0;if(R>=100){R=100;}"; +const step3Time = formatDate(new Date()); const onSave = () => { - - console.log(removeDuplicateEdges(formatEdges()), standardData); // return if (standardData.length !== removeDuplicateEdges(formatEdges()).length) return ElMessage.error("请完善数据"); validateRelationships(standardData, formatEdges()); - if(settingStore.wenduCode != wenduCode){ + if (settingStore.wenduCode != wenduCode) { return ElMessage.error("温度代码编写错误"); } - if(settingStore.shiduCode != shiduCode){ + if (settingStore.shiduCode != shiduCode) { return ElMessage.error("湿度代码编写错误"); } setStepEvent(3, step3Time); - settingStore.activeStepIndex =4 + settingStore.activeStepIndex = 4; ElMessage.success("保存成功"); - settingStore.setValue( true,'saveRoute'); - localStorage.setItem('saveRoute',true) + settingStore.setValue(true, "saveRoute"); + localStorage.setItem("saveRoute", true); settingStore.setValue(true, "experimentPreservation"); localStorage.setItem("experimentPreservation", "true"); - router.push('/program') + router.push("/program"); // const data = graph.toJSON(); // console.log(data); // const edges = graph.getEdges(); // console.log(formatEdges()); }; function removeDuplicateEdges(edges) { - const seen = new Set(); - return edges.filter(edge => { - // 生成唯一键,无视 source 和 target 的顺序 - const key = edge.source < edge.target - ? `${edge.source}-${edge.target}` - : `${edge.target}-${edge.source}`; + const seen = new Set(); + return edges.filter((edge) => { + // 生成唯一键,无视 source 和 target 的顺序 + const key = + edge.source < edge.target + ? `${edge.source}-${edge.target}` + : `${edge.target}-${edge.source}`; - if (seen.has(key)) { - return false; - } - seen.add(key); - return true; - }); + if (seen.has(key)) { + return false; + } + seen.add(key); + return true; + }); } const formatEdges = () => { const edges = graph.getEdges(); @@ -1157,8 +1158,10 @@ function loadFromLocalStorage() { return JSON.parse(localStorage.getItem(SESSION_KEY)) || []; } -function clearLocalStorage() { +async function clearLocalStorage() { localStorage.removeItem(SESSION_KEY); + await setStepEvent(3, step3Time, true); + window.location.reload(); } diff --git a/src/views/program/index.vue b/src/views/program/index.vue index 46d9abf..1c9358d 100644 --- a/src/views/program/index.vue +++ b/src/views/program/index.vue @@ -43,7 +43,7 @@ 上一步 撤回 恢复 - 清除缓存 + 重做 (null); const operations = []; onMounted(() => { - - preWork(); // #region 初始化画布 @@ -405,7 +403,7 @@ onMounted(() => { }); const zoom = window.outerWidth / window.innerWidth; console.log("缩放比例为:", zoom); - if(zoom > 1) { + if (zoom > 1) { ElMessage.error("当前浏览器缩放比例过大,通过Ctrl+滚轮调整比例"); graph.zoom(-0.5); } @@ -1276,7 +1274,7 @@ const onRedo = () => { graph.redo(); }; const sdsz = ref(null); -const step2Time = formatDate(new Date()) +const step2Time = formatDate(new Date()); const onSave = async () => { if (useSettingStore.isRunCode) { await setStepEvent(9, step2Time); @@ -1532,9 +1530,10 @@ function loadFromLocalStorage() { return JSON.parse(localStorage.getItem(SESSION_KEY) as string) || []; } -function clearLocalStorage(falg = true) { +async function clearLocalStorage(falg = true) { localStorage.removeItem(SESSION_KEY); if (falg) { + await setStepEvent(2, step2Time, true); window.location.reload(); } }