Преглед на файлове

优化权限显示,增加导入excel字段验证

罗永浩 преди 5 месеца
родител
ревизия
4077040185
променени са 3 файла, в които са добавени 26 реда и са изтрити 12 реда
  1. 18 4
      addons/admin/src/views/exam/component/ExcelImport.vue
  2. 4 4
      addons/admin/src/views/exam/index2-1.vue
  3. 4 4
      addons/admin/src/views/exam/index2-5.vue

+ 18 - 4
addons/admin/src/views/exam/component/ExcelImport.vue

@@ -9,11 +9,11 @@
         </template>
 
         <!-- 顶部试卷信息表单 -->
-        <el-form :model="formData" label-width="100px" class="mb-10">
+        <el-form :model="formData" :rules="formRules" ref="formRef" label-width="100px" class="mb-10">
             <el-row :gutter="15">
                 <el-col :sm="12">
-                    <el-form-item label="关键词查询" prop="keyword">
-                        <el-input v-model="formData.keyword" placeholder="请输入关键词" />
+                    <el-form-item label="题目名称" prop="name">
+                        <el-input v-model="formData.name" placeholder="请输入关键词" />
                     </el-form-item>
                     <el-form-item label="题目分类" prop="subject_id">
                         <el-select v-model="formData.subject_id" placeholder="请选择题目分类">
@@ -143,7 +143,14 @@ export default {
             previewData: [],
             isFullScreen: false,
             tableHeight: 400,
-            formData: this.getDefaultFormData()
+            formData: this.getDefaultFormData(),
+            formRules: {
+                name: [{ required: true, message: "请输入题目名称", trigger: "blur" }],
+                subject_id: [{ required: true, message: "请选择题目分类", trigger: "change" }],
+                score_total: [{ required: true, message: "请输入总分", trigger: "blur" }],
+                topic_count: [{ required: true, message: "请输入题目数量", trigger: "blur" }],
+                is_charge: [{ required: true, message: "请选择是否收费", trigger: "change" }]
+            }
         };
     },
     computed: {
@@ -218,6 +225,13 @@ export default {
             reader.readAsBinaryString(file);
         },
         async handleConfirm() {
+            // 验证表单
+            const valid = await this.$refs.formRef.validate().catch(() => false);
+            if (!valid) {
+                this.$message.error("请完善必填信息");
+                return;
+            }
+
             const res = await this.$http.post(`/papers/import`, {
                 formData: { ...this.formData, type: this.defaultType, scene_type: this.defaultSceneType },
                 topicsData: this.previewData

+ 4 - 4
addons/admin/src/views/exam/index2-1.vue

@@ -12,10 +12,10 @@ export default {
     data() {
         return {
             permissionMap: {
-                delete: "exam:duikou:daily:delete",
-                edit: "exam:duikou:daily:edit",
-                add: "exam:duikou:daily:add",
-                index: "exam:duikou:daily:index",
+                delete: "sys:duikou1:delete",
+                edit: "sys:duikou1:edit",
+                add: "sys:duikou1:add",
+                index: "sys:duikou1:index",
             }
         }
     },

+ 4 - 4
addons/admin/src/views/exam/index2-5.vue

@@ -12,10 +12,10 @@ export default {
     data() {
         return {
             permissionMap: {
-                delete: "exam:duikou:review:delete",
-                edit: "exam:duikou:review:edit",
-                add: "exam:duikou:review:add",
-                index: "exam:duikou:review:index",
+                delete: "sys:duikou5:delete",
+                edit: "sys:duikou5:edit",
+                add: "sys:duikou5:add",
+                index: "sys:duikou5:index",
             }
         }
     },