feat(mes): 增强设备类型编码的输入验证与生成逻辑

为设备类型编码字段添加非空验证,确保用户输入有效数据。同时,更新前端表单,允许用户手动输入或点击生成按钮来生成编码,提升用户体验。
pull/871/MERGE
YunaiV 2026-04-02 22:00:50 +08:00
parent 1cf4f0128c
commit 5ea8c24410
1 changed files with 13 additions and 3 deletions

View File

@ -19,9 +19,12 @@
class="w-1/1" class="w-1/1"
/> />
</el-form-item> </el-form-item>
<el-form-item label="设备类型编码" prop="code" v-if="formType === 'update'"> <el-form-item label="设备类型编码" prop="code">
<!-- TODO @AI点击后生成不要这里自动生成 --> <el-input v-model="formData.code" placeholder="请输入设备类型编码,或点击生成">
<el-input v-model="formData.code" placeholder="系统自动生成" disabled /> <template #append>
<el-button @click="generateCode"></el-button>
</template>
</el-input>
</el-form-item> </el-form-item>
<el-form-item label="设备类型名称" prop="name"> <el-form-item label="设备类型名称" prop="name">
<el-input v-model="formData.name" placeholder="请输入类型名称" /> <el-input v-model="formData.name" placeholder="请输入类型名称" />
@ -55,6 +58,7 @@ import { getIntDictOptions, DICT_TYPE } from '@/utils/dict'
import { DvMachineryTypeApi, DvMachineryTypeVO } from '@/api/mes/dv/machinery/type' import { DvMachineryTypeApi, DvMachineryTypeVO } from '@/api/mes/dv/machinery/type'
import { defaultProps, handleTree } from '@/utils/tree' import { defaultProps, handleTree } from '@/utils/tree'
import { CommonStatusEnum } from '@/utils/constants' import { CommonStatusEnum } from '@/utils/constants'
import { AutoCodeRecordApi } from '@/api/mes/md/autocode/record'
defineOptions({ name: 'MachineryTypeForm' }) defineOptions({ name: 'MachineryTypeForm' })
@ -75,6 +79,7 @@ const formData = ref({
remark: undefined remark: undefined
}) })
const formRules = reactive({ const formRules = reactive({
code: [{ required: true, message: '设备类型编码不能为空', trigger: 'blur' }],
parentId: [{ required: true, message: '上级类型不能为空', trigger: 'blur' }], parentId: [{ required: true, message: '上级类型不能为空', trigger: 'blur' }],
name: [{ required: true, message: '类型名称不能为空', trigger: 'blur' }], name: [{ required: true, message: '类型名称不能为空', trigger: 'blur' }],
sort: [{ required: true, message: '显示排序不能为空', trigger: 'blur' }], sort: [{ required: true, message: '显示排序不能为空', trigger: 'blur' }],
@ -144,6 +149,11 @@ const resetForm = () => {
formRef.value?.resetFields() formRef.value?.resetFields()
} }
/** 生成设备类型编码 */
const generateCode = async () => {
formData.value.code = await AutoCodeRecordApi.generateAutoCode('DV_MACHINERY_TYPE_CODE')
}
/** 获得设备类型树 */ /** 获得设备类型树 */
const getMachineryTypeTree = async () => { const getMachineryTypeTree = async () => {
machineryTypeTree.value = [] machineryTypeTree.value = []