From d772d4eac581b8e2cc1d84c6eed701936d7f9a3b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E6=A2=A6=E8=BF=9C?= <1063331231@qq.com> Date: Thu, 3 Jul 2025 16:55:45 +0800 Subject: [PATCH] =?UTF-8?q?=E9=85=8D=E6=96=B9=E5=88=97=E8=A1=A8=E4=B8=BA?= =?UTF-8?q?=E7=A9=BA=E6=97=B6=20=E6=B8=85=E7=A9=BA=E8=A1=A8=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/formula/FormulaConfig.vue | 8 ++++++-- src/components/formula/FormulaTable.vue | 5 ++++- src/stores/formulaStore.ts | 17 +++++++++++++++++ 3 files changed, 27 insertions(+), 3 deletions(-) diff --git a/src/components/formula/FormulaConfig.vue b/src/components/formula/FormulaConfig.vue index 38cbc6b..15483fc 100644 --- a/src/components/formula/FormulaConfig.vue +++ b/src/components/formula/FormulaConfig.vue @@ -115,7 +115,6 @@ const isModalOpen = ref(false) const openModal = () => { isModalOpen.value = true } - /** * 监听配方配置列表和表单数据变化 * 根据不同的type属性值初始化表单数据 @@ -129,7 +128,12 @@ watchEffect(() => { formData.value = cloneDeep(formulaStore.defaultFormulaInfo) } else { - formData.value = cloneDeep(formulaStore.currentSelectedFormulaInfo) || cloneDeep(formulaStore.defaultFormulaInfo) + if (formulaStore.formulaList.length === 0) { + formData.value = cloneDeep(formulaStore.resetFormulaInfo) + } + else { + formData.value = cloneDeep(formulaStore.currentSelectedFormulaInfo) || cloneDeep(formulaStore.defaultFormulaInfo) + } } isFlip.value = formulaStore.flip // 后端给的数据类型是字符串型,前端需要的是int型,后端开发说(赵贺)后端不好转换,由前端进行转换. diff --git a/src/components/formula/FormulaTable.vue b/src/components/formula/FormulaTable.vue index 0076682..5dc77a0 100644 --- a/src/components/formula/FormulaTable.vue +++ b/src/components/formula/FormulaTable.vue @@ -30,9 +30,12 @@ onMounted(() => { watchEffect(() => { recipes.value = formulaStore.formulaList - if (formulaStore.formulaList) { + if (formulaStore.formulaList && formulaStore.formulaList.length > 0) { selectedIndex.value = formulaStore.formulaList.length - 1 } + else { + selectedIndex.value = null + } }) watch(selectedIndex, () => { if (selectedIndex.value != null) { diff --git a/src/stores/formulaStore.ts b/src/stores/formulaStore.ts index 3d9f896..33b85d7 100644 --- a/src/stores/formulaStore.ts +++ b/src/stores/formulaStore.ts @@ -32,6 +32,21 @@ const createDefaultFormulaInfo = (): Formula.FormulaItem => ({ stoped_satur: 85, name: '默认配置', }) +// 清空配方函数 +const createResetFormulaInfo = (): Formula.FormulaItem => ({ + continued_gs: 0, + continued_humi: 0, + continued_satur: 0, + injection_pump_speed: 0, + loglevel: 0, + max_humidity: 0, + pre_heat_time_s: 0, + proportional_valve_default_value: 0, + stoped_gs: 0, + stoped_humi: 0, + stoped_satur: 0, + name: '', +}) export const useFormulaStore = defineStore('formula', () => { // 状态定义 @@ -39,6 +54,7 @@ export const useFormulaStore = defineStore('formula', () => { const pressurList = PRESSURE_TYPES const logLevelOptions = ref([]) const defaultFormulaInfo = ref(createDefaultFormulaInfo()) + const resetFormulaInfo = ref(createResetFormulaInfo()) const pressurOptionList = ref(['10%', '20%', '30%', '40%', '50%', '60%', '70%', '80%', '90%', '100%']) const currentSelectedFormulaInfo = ref(cloneDeep(defaultFormulaInfo.value)) const selectedFormulaInfo = ref(null) @@ -236,6 +252,7 @@ export const useFormulaStore = defineStore('formula', () => { logLevelOptions, selectedFormulaInfo, defaultFormulaInfo, + resetFormulaInfo, isDefaultFormula, flip, selectedIndex,