diff --git a/src/components/home/HomeSetting.vue b/src/components/home/HomeSetting.vue
index d7bbd3e..81acc92 100644
--- a/src/components/home/HomeSetting.vue
+++ b/src/components/home/HomeSetting.vue
@@ -111,14 +111,13 @@ const onShowChart = () => {
* @desc 处理表单数据保存逻辑,区分消毒中与非消毒状态
*/
const onSave = async () => {
- const formData = runtimeRef.value?.getFormData()
+ const formData = await runtimeRef.value?.saveFormData()
if (!formData) {
return
}
- formulaStore.updateSelectedFormula(cloneDeep(formData)) // 更新选中配方
- // 消毒中时更新实时配置
- const res = formulaStore.getRealtimeConfig()
- const diff = compareJSON(res, formData)
+ // 消毒中更新实时配置
+ const res = await formulaStore.getRealtimeConfig()
+ const diff = compareJSON(res.rely, formData)
const diffKeys = Object.keys(diff)
if (diffKeys.length) {
await Promise.all(
@@ -128,7 +127,6 @@ const onSave = async () => {
)
FtMessage.success('修改成功')
}
- onCloseRuntime() // 关闭对话框
}
/**
* @function 确认压力选择
diff --git a/src/stores/formulaStore.ts b/src/stores/formulaStore.ts
index 85c033b..442963c 100644
--- a/src/stores/formulaStore.ts
+++ b/src/stores/formulaStore.ts
@@ -100,7 +100,7 @@ export const useFormulaStore = defineStore('formula', () => {
updateLogLevels(item)
}
})
- formulaMap.name = '默认配置'
+ formulaMap.name = ''
return formulaMap as Formula.FormulaItem
}
diff --git a/src/views/home/chart.vue b/src/views/home/chart.vue
index 906bc95..3ce62cf 100644
--- a/src/views/home/chart.vue
+++ b/src/views/home/chart.vue
@@ -2,12 +2,12 @@
import { syncSendCmd } from 'apis/system'
import homeFinish from 'assets/images/home/home-finish.svg'
import homeSettingSvg from 'assets/images/home/home-setting.svg'
-import Config from 'components/home/config.vue'
+import RunFormulaConfig from 'components/formula/RunFormulaConfig.vue'
import HomeFormula from 'components/home/HomeFormula.vue'
import LineChart from 'components/home/LineChart.vue'
import { stopTimer } from 'libs/countdownTimer'
-import { deviceStateMap } from 'libs/utils'
-import { cloneDeep } from 'lodash'
+import { FtMessage } from 'libs/message'
+import { compareJSON, deviceStateMap } from 'libs/utils'
import { computed, onMounted, onUnmounted, provide, ref, watchEffect } from 'vue'
import { useRouter } from 'vue-router'
@@ -56,11 +56,24 @@ const onFinishDisinfect = async () => {
}
})
}
-
-const onSave = () => {
- const formData = configRef.value?.getFormData()
- formulaStore.updateSelectedFormula(cloneDeep(formData))
- onClose()
+const chartRef = ref()
+const onSave = async () => {
+ const formData = await chartRef.value?.saveFormData()
+ if (!formData) {
+ return
+ }
+ // 消毒中更新实时配置
+ const res = await formulaStore.getRealtimeConfig()
+ const diff = compareJSON(res.rely, formData)
+ const diffKeys = Object.keys(diff)
+ if (diffKeys.length) {
+ await Promise.all(
+ diffKeys.map(async (key) => {
+ await formulaStore.setRealtimeConfig(key, diff[key].newVal)
+ }),
+ )
+ FtMessage.success('修改成功')
+ }
}
const goHome = () => {
@@ -127,22 +140,6 @@ onUnmounted(() => {
-
-
-
-
-
-
-