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