From 0cc78095ac6d9b0ac368775a6f9ea9ff71a52a97 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E6=A2=A6=E8=BF=9C?= <1063331231@qq.com> Date: Tue, 1 Jul 2025 17:59:07 +0800 Subject: [PATCH] =?UTF-8?q?=E7=94=A8=E6=88=B7=E5=A2=9E=E5=8A=A0=E8=A7=92?= =?UTF-8?q?=E8=89=B2=20=E9=85=8D=E6=96=B9=E6=96=B0=E5=A1=AB=E5=86=99?= =?UTF-8?q?=E5=86=8D=E4=BF=9D=E5=AD=98=20=E9=85=8D=E6=96=B9=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E4=BF=9D=E5=AD=98=E6=97=B6=E7=9A=84=E5=AD=97=E6=95=B0?= =?UTF-8?q?=E9=99=90=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/formula/FormulaConfig.vue | 57 ++++++++++++++++++++------------ src/components/formula/FormulaTable.vue | 18 ++++++++-- src/components/home/config.vue | 2 +- src/components/setting/User.vue | 8 +++++ src/libs/utils.ts | 2 +- src/views/formula/index.vue | 33 ++++++++---------- 6 files changed, 75 insertions(+), 45 deletions(-) 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, +})