diff --git a/src/components/formula/FormulaConfig.vue b/src/components/formula/FormulaConfig.vue index 701210c..c7037a1 100644 --- a/src/components/formula/FormulaConfig.vue +++ b/src/components/formula/FormulaConfig.vue @@ -6,7 +6,7 @@ import { ElMessage } from 'element-plus' import { formulaNameMap } from 'libs/constant' import { cloneDeep } from 'lodash' import { useHomeStore } from 'stores/homeStore' -import { computed, inject, nextTick, onMounted, ref, watch } from 'vue' +import { computed, inject, nextTick, onMounted, ref, watch, watchEffect } from 'vue' import { FtMessage } from '@/libs/message' import { compareJSON, convertValuesToInt, convertValuesToString } from '@/libs/utils' @@ -100,12 +100,14 @@ const labelUnitMap: Record = { } const currentFormulaItem = ref() - +onMounted(() => { + initFormulaConfig() + registerGrandsonMethods && registerGrandsonMethods({ getFormData }) +}) /** * 组件挂载时注册方法供父组件调用 */ -onMounted(() => { - initFormulaConfig() +watchEffect(() => { if (props.type === 'home') { formData.value = cloneDeep(formulaStore.selectedFormulaInfo) || cloneDeep(formulaStore.defaultFormulaInfo) } @@ -123,10 +125,6 @@ onMounted(() => { isFlip.value = formulaStore.flip // 后端给的数据类型是字符串型,前端需要的是int型,后端开发说(赵贺)后端不好转换,由前端进行转换. formData.value = convertValuesToInt(formData.value) - registerGrandsonMethods && registerGrandsonMethods({ getFormData }) -}) -watch(() => formulaStore.currentSelectedFormulaInfo, () => { - formData.value = cloneDeep(formulaStore.currentSelectedFormulaInfo) }) const initFormulaConfig = () => { if (!formulaStore.formulaList.length) { @@ -468,6 +466,22 @@ defineExpose({ +