From 53a86ab33c9b6ab0e2c75853d60eae31e60d4d8f Mon Sep 17 00:00:00 2001 From: dongyukun <1208714201@qq.com> Date: 星期二, 27 五月 2025 13:07:33 +0800 Subject: [PATCH] 调度建议快照 --- src/views/model/sche/snapshotConf/det/configDetForm.vue | 153 ++++++++++++++++++++++++++------------------------ 1 files changed, 80 insertions(+), 73 deletions(-) diff --git a/src/views/model/sche/snapshotConf/det/configDetForm.vue b/src/views/model/sche/snapshotConf/det/configDetForm.vue index 470a342..6efbbd4 100644 --- a/src/views/model/sche/snapshotConf/det/configDetForm.vue +++ b/src/views/model/sche/snapshotConf/det/configDetForm.vue @@ -10,7 +10,14 @@ <el-row :gutter="24"> <el-col :span="12"> <el-form-item label="数据类型" prop="dataType"> - <el-input v-model="formData.dataType" placeholder=""/> + <el-select v-model="formData.dataType" placeholder="请选择"> + <el-option + v-for="dict in getStrDictOptions(DICT_TYPE.SUGGEST_SNAPSHOT_DATA_TYPE)" + :key="dict.value" + :label="dict.label" + :value="dict.value" + /> + </el-select> </el-form-item> </el-col> <el-col :span="12"> @@ -83,38 +90,38 @@ </template> <script lang="ts" setup> import * as ConfigDetApi from '@/api/model/sche/suggest/snapshotConfigDet' -import {deleteIcon} from "@/api/model/mpk/icon"; + import {deleteIcon} from "@/api/model/mpk/icon"; + import {DICT_TYPE, getIntDictOptions, getStrDictOptions} from '@/utils/dict' -defineOptions({ name: 'ConfigDetForm' }) + defineOptions({name: 'ConfigDetForm'}) + const {t} = useI18n() // 国际化 + const message = useMessage() // 消息弹窗 -const { t } = useI18n() // 国际化 -const message = useMessage() // 消息弹窗 - -const dialogVisible = ref(false) // 弹窗的是否展示 -const dialogTitle = ref('') // 弹窗的标题 -const formLoading = ref(false) // 表单的加载中:1)修改时的数据加载;2)提交的按钮禁用 -const formType = ref('') // 表单的类型:create - 新增;update - 修改 -const formData = ref({ - id: undefined, - confId: undefined, - dataType: undefined, - dataName: undefined, - dataNo: undefined, - leftLength: undefined, - rightLength: undefined, - sort: undefined, - ext1: undefined, - ext2: undefined, - ext3: undefined, - ext4: undefined, - ext5: undefined, -}) -const formRules = reactive({ - dataType: [{ required: true, message: '不能为空', trigger: 'blur' }], - dataName: [{ required: true, message: '不能为空', trigger: 'blur' }], - dataNo: [{ required: true, message: '不能为空', trigger: 'blur' }], -}) -const formRef = ref() // 表单 Ref + const dialogVisible = ref(false) // 弹窗的是否展示 + const dialogTitle = ref('') // 弹窗的标题 + const formLoading = ref(false) // 表单的加载中:1)修改时的数据加载;2)提交的按钮禁用 + const formType = ref('') // 表单的类型:create - 新增;update - 修改 + const formData = ref({ + id: undefined, + confId: undefined, + dataType: undefined, + dataName: undefined, + dataNo: undefined, + leftLength: undefined, + rightLength: undefined, + sort: undefined, + ext1: undefined, + ext2: undefined, + ext3: undefined, + ext4: undefined, + ext5: undefined, + }) + const formRules = reactive({ + dataType: [{required: true, message: '不能为空', trigger: 'blur'}], + dataName: [{required: true, message: '不能为空', trigger: 'blur'}], + dataNo: [{required: true, message: '不能为空', trigger: 'blur'}], + }) + const formRef = ref() // 表单 Ref /** 打开弹窗 */ const open = async (type: string, id?: string, confId?: string) => { @@ -122,7 +129,7 @@ dialogTitle.value = t('action.' + type) formType.value = type resetForm() - formData.confId = confId + formData.value.confId = confId // 修改时,设置数据 if (id) { formLoading.value = true @@ -133,50 +140,50 @@ } } } -defineExpose({ open }) // 提供 open 方法,用于打开弹窗 + defineExpose({open}) // 提供 open 方法,用于打开弹窗 -/** 提交表单 */ -const emit = defineEmits(['success']) // 定义 success 事件,用于操作成功后的回调 -const submitForm = async () => { - // 校验表单 - if (!formRef) return - const valid = await formRef.value.validate() - if (!valid) return - // 提交请求 - formLoading.value = true - try { - const data = formData.value - if (formType.value === 'create') { - await ConfigDetApi.create(data) - message.success(t('common.createSuccess')) - } else { - await ConfigDetApi.update(data) - message.success(t('common.updateSuccess')) + /** 提交表单 */ + const emit = defineEmits(['success']) // 定义 success 事件,用于操作成功后的回调 + const submitForm = async () => { + // 校验表单 + if (!formRef) return + const valid = await formRef.value.validate() + if (!valid) return + // 提交请求 + formLoading.value = true + try { + const data = formData.value + if (formType.value === 'create') { + await ConfigDetApi.create(data) + message.success(t('common.createSuccess')) + } else { + await ConfigDetApi.update(data) + message.success(t('common.updateSuccess')) + } + dialogVisible.value = false + // 发送操作成功的事件 + emit('success') + } finally { + formLoading.value = false } - dialogVisible.value = false - // 发送操作成功的事件 - emit('success') - } finally { - formLoading.value = false } -} -/** 重置表单 */ -const resetForm = () => { - formData.value = { - id: undefined, - confId: undefined, - dataType: undefined, - dataNo: undefined, - leftLength: undefined, - rightLength: undefined, - sort: undefined, - ext1: undefined, - ext2: undefined, - ext3: undefined, - ext4: undefined, - ext5: undefined, + /** 重置表单 */ + const resetForm = () => { + formData.value = { + id: undefined, + confId: undefined, + dataType: undefined, + dataNo: undefined, + leftLength: undefined, + rightLength: undefined, + sort: undefined, + ext1: undefined, + ext2: undefined, + ext3: undefined, + ext4: undefined, + ext5: undefined, + } + formRef.value?.resetFields() } - formRef.value?.resetFields() -} </script> -- Gitblit v1.9.3