소스 검색

```
refactor(index.vue, tournaments.vue, versionManagement.vue): 更新表单验证和文件上传检查

- 在 `index.vue` 中移除了 `el-form-item` 的 `prop` 属性。- 在 `tournaments.vue` 中增加了对 `startingChips` 字段的验证规则,确保其为正数。
- 在 `versionManagement.vue` 中添加了文件选择检查,确保在提交表单前已选择文件。
```

fugui001 3 달 전
부모
커밋
600a7fe6ac

+ 1 - 1
src/views/system/business/ofService/index.vue

@@ -7,7 +7,7 @@
             <el-form-item label="标题" prop="title">
               <el-input v-model="queryParams.title" placeholder="请输入条款标题" clearable @keyup.enter="handleQuery" />
             </el-form-item>
-            <el-form-item label="类型" prop="gameType">
+            <el-form-item label="类型">
               <el-select v-model="queryParams.type" placeholder="请选择" clearable>
                 <el-option label="所有" :value="''" />
                 <el-option v-for="dict in service_type" :key="dict.value" :label="dict.label" :value="dict.value" />

+ 16 - 2
src/views/system/business/tournaments/index.vue

@@ -756,6 +756,7 @@ const data = reactive<PageData<TournamentsForm, TournamentsQuery>>({
     id: undefined,
     params: {}
   },
+
   rules: {
     id: [{ required: true, message: '不能为空', trigger: 'blur' }],
     name: [{ required: true, message: '赛事名称不能为空', trigger: 'blur' }],
@@ -764,12 +765,25 @@ const data = reactive<PageData<TournamentsForm, TournamentsQuery>>({
     lateRegistrationLevel: [{ required: true, message: '截止报名级别不能为空', trigger: 'change' }],
     signTime: [{ required: true, message: '报名时间不能为空', trigger: 'change' }],
     itemsId: [{ required: true, message: '报名条件不能为空', trigger: 'change' }],
-    blindStructureId: [{ required: true, message: '盲注表不能为空', trigger: 'change' }]
+    blindStructureId: [{ required: true, message: '盲注表不能为空', trigger: 'change' }],
+    startingChips: [
+      { required: true, message: '起始记分牌数量不能为空', trigger: 'blur' },
+      {
+        validator: (rule, value, callback) => {
+          const num = Number(value);
+          if (isNaN(num) || num <= 0) {
+            callback(new Error('起始记分牌数量必须大于0'));
+          } else {
+            callback();
+          }
+        },
+        trigger: 'blur'
+      }
+    ]
   }
 });
 
 const { queryParams, form, rules } = toRefs(data);
-
 /** 查询【请填写功能名称】列表 */
 const getList = async () => {
   loading.value = true;

+ 5 - 0
src/views/system/business/versionManagement/index.vue

@@ -336,6 +336,11 @@ const handleUpdate = async (row?: VersionManagementVO) => {
 const submitForm = () => {
   versionManagementFormRef.value?.validate(async (valid: boolean) => {
     if (valid) {
+      // 判断是否选择了文件
+      if (fileList.value.length === 0) {
+        proxy?.$modal.msgError('请先选择并上传文件');
+        return;
+      }
       buttonLoading.value = true;
       if (form.value.id) {
         await updateVersionManagement(form.value).finally(() => (buttonLoading.value = false));