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,