diff --git a/src/components/formula/FormulaConfig.vue b/src/components/formula/FormulaConfig.vue index 16eb534..d280994 100644 --- a/src/components/formula/FormulaConfig.vue +++ b/src/components/formula/FormulaConfig.vue @@ -4,7 +4,7 @@ import SelectModal from 'components/common/SelectModal/index.vue' import SoftKeyboard from 'components/common/SoftKeyboard/index.vue' import { formulaNameMap } from 'libs/constant' import { cloneDeep } from 'lodash' -import { inject, onMounted, ref, watch, watchEffect } from 'vue' +import { inject, nextTick, onMounted, ref, watch, watchEffect } from 'vue' import { FtMessage } from '@/libs/message' import { compareJSON, convertValuesToInt, convertValuesToString } from '@/libs/utils' @@ -134,7 +134,6 @@ watchEffect(() => { isFlip.value = formulaStore.flip // 后端给的数据类型是字符串型,前端需要的是int型,后端开发说(赵贺)后端不好转换,由前端进行转换. formData.value = convertValuesToInt(formData.value) - options.value = formulaStore.logLevelOptions }) /** @@ -177,6 +176,7 @@ watch(formData, (newValue) => { inputValue.value = newValue[focusedInput.value].toString() } }, { deep: true }) +const formRef = ref(null) /** * 处理表单提交 @@ -187,7 +187,11 @@ const handleSubmit = () => { FtMessage.warning('请输入配方名称') return } - + // 表单验证 + if (formData.value.name && formData.value.name.length > 20) { + FtMessage.warning('配方名称1-20字符') + return + } // 配方管理的【确定】 if (props.type === 'formula') { onSaveFormula() @@ -359,21 +363,41 @@ const handleLogCancel = () => { const openKeyboardType = (labelName: string) => { keyboardType.value = labelName === 'name' ? 'text' : 'number' } +const size = 'default' +// 新增配方方法 +const addFormula = async () => { + const formulaInfo = cloneDeep(formulaStore.defaultFormulaInfo) + console.log(formulaInfo) + formData.value = formulaInfo + await nextTick() // 等待DOM更新 + // 移除左侧列表的选中 + formData.value.name = '' + formData.value.formula_id = null + console.log('子组件方法被调用') +} + +// 暴露方法给父组件 +defineExpose({ + addFormula, +})