刘洋 1 an în urmă
părinte
comite
357071f4e0

+ 5 - 0
src/components/ImportFile.vue

@@ -26,6 +26,7 @@
       :disabled="loading"
       :auto-upload="false"
       :multiple="false"
+      :before-remove="beforeRemove"
       style="text-align: center"
     >
       <i class="el-icon-upload"></i>
@@ -148,6 +149,10 @@ export default {
         ? this.format.some((item) => item.toLowerCase() === _file_format)
         : true;
     },
+    beforeRemove() {
+      this.initData();
+      return true;
+    },
     fileChange(fileObj, fileList) {
       console.log("fileObj", fileObj);
       if (fileObj.status === "ready") {

+ 16 - 7
src/components/ImportFileDialog.vue

@@ -35,6 +35,7 @@
       :disabled="loading"
       :auto-upload="false"
       :multiple="false"
+      :before-remove="beforeRemove"
       style="text-align: center"
     >
       <i class="el-icon-upload"></i>
@@ -83,7 +84,9 @@
     <!-- <p v-if="filename" class="tips-info">{{ filename }}</p> -->
     <p v-if="!res.success" class="tips-info tips-error">{{ res.message }}</p>
     <div slot="footer">
-      <el-button type="primary" @click="submitUpload">确认</el-button>
+      <el-button type="primary" @click="submitUpload" :disabled="!filename"
+        >确认</el-button
+      >
       <el-button @click="cancel">取消</el-button>
     </div>
   </el-dialog>
@@ -178,17 +181,22 @@ export default {
         ? this.format.some((item) => item.toLowerCase() === _file_format)
         : true;
     },
+    beforeRemove() {
+      this.dialogClose();
+      return true;
+    },
     fileChange(fileObj, fileList) {
-      // if (fileObj.status === "ready") {
-      this.handleBeforeUpload(fileObj.raw).catch(() => {});
-      if (fileList.length > 1) {
-        fileList[0] = fileList[1];
-        fileList.splice(1, 1);
+      if (fileObj.status === "ready") {
+        this.handleBeforeUpload(fileObj.raw).catch(() => {});
+        if (fileList.length > 1) {
+          fileList[0] = fileList[1];
+          fileList.splice(1, 1);
+        }
       }
-      // }
     },
     async handleBeforeUpload(file) {
       this.res = {};
+      console.log("handleBeforeUpload");
       this.filename = file.name;
       this.uploadDataDict = {
         ...this.uploadData,
@@ -232,6 +240,7 @@ export default {
         success: false,
         message: error.response.data.message,
       };
+      console.log("err", error.response);
       this.uploadDataDict = {};
       this.filename = "";
       this.fileValid = false;

+ 6 - 1
src/components/toolTipBtn.vue

@@ -8,7 +8,7 @@
     >
       <div
         class="icon-btn"
-        @click="$emit('click')"
+        @click="clickHandler"
         :class="{ 'disabled-status': disabled }"
       >
         <svg-icon
@@ -37,6 +37,11 @@ export default {
       default: false,
     },
   },
+  methods: {
+    clickHandler() {
+      !this.disabled && this.$emit("click");
+    },
+  },
 };
 </script>
 

+ 19 - 11
src/modules/card/components/ModifyCardRule.vue

@@ -163,14 +163,8 @@ export default {
     IS_EDUCATIONAL_MODE() {
       return this.modalForm.modeType === "EDUCATIONAL";
     },
-  },
-  data() {
-    return {
-      modalIsShow: false,
-      isSubmit: false,
-      modalForm: { ...initModalForm },
-      EXAM_NUMBER_STYLE,
-      rules: {
+    rules() {
+      return {
         name: [
           {
             required: true,
@@ -212,8 +206,14 @@ export default {
               if (vals.length > 10) {
                 return callback(new Error("最多只能输入10个字段名"));
               }
-              if (vals.some((val) => val.length > 8)) {
-                return callback(new Error("每个字段名最多只能输入8字符"));
+              let limit =
+                this.modalForm.examNumberStyle === "FILL"
+                  ? this.modalForm.examNumberDigit
+                  : 8;
+              if (vals.some((val) => val.length > limit)) {
+                return callback(
+                  new Error("每个字段名最多只能输入" + limit + "字符")
+                );
               }
               return callback();
             },
@@ -282,7 +282,15 @@ export default {
             trigger: "change",
           },
         ],
-      },
+      };
+    },
+  },
+  data() {
+    return {
+      modalIsShow: false,
+      isSubmit: false,
+      modalForm: { ...initModalForm },
+      EXAM_NUMBER_STYLE,
     };
   },
   methods: {

+ 12 - 8
src/modules/card/views/CardHeadManage.vue

@@ -27,7 +27,7 @@
         </el-form-item>
       </el-form>
 
-      <div class="part-box-action">
+      <!-- <div class="part-box-action">
         <div>
           <el-button
             type="danger"
@@ -42,10 +42,14 @@
             >新增
           </el-button>
         </div>
-      </div>
+      </div> -->
     </div>
 
     <div class="part-box">
+      <div class="icon-btn-group">
+        <svg-btn name="xinzeng" @click="toAdd">新增</svg-btn>
+        <svg-btn name="shanchu" @click="toBatchDelete">删除</svg-btn>
+      </div>
       <!-- 页面列表 -->
       <el-table
         ref="table"
@@ -92,16 +96,16 @@
         <el-table-column width="170" label="操作">
           <template slot-scope="scope">
             <el-button
-              size="mini"
-              type="primary"
-              plain
+              size="medium"
+              type="text"
+              class="normal"
               @click="toEdit(scope.row)"
               >编辑
             </el-button>
             <el-button
-              size="mini"
-              :type="scope.row.enable ? 'danger' : 'primary'"
-              plain
+              size="medium"
+              type="text"
+              :class="{ danger: scope.row.enable }"
               @click="toEnable(scope.row)"
             >
               {{ scope.row.enable ? "禁用" : "启用" }}

+ 7 - 1
src/modules/question/components/QuestionEditDialog.vue

@@ -11,6 +11,12 @@
   >
     <div slot="title" class="box-justify">
       <div>
+        <el-button
+          class="is-back"
+          icon="el-icon-arrow-left"
+          @click="cancel"
+          size="mini"
+        ></el-button>
         <h2>{{ isEdit ? "编辑试题" : "创建试题" }}</h2>
         <span>课程代码:{{ questionModel.courseCode }}</span>
         <span>课程名称:{{ questionModel.courseName }}</span>
@@ -23,7 +29,7 @@
           @click="confirm"
           >确定</el-button
         >
-        <el-button size="small" @click="cancel">取消</el-button>
+        <!-- <el-button size="small" @click="cancel">取消</el-button> -->
       </div>
     </div>
     <div class="part-box question-edit">

+ 1 - 1
src/modules/question/components/QuestionInfoEdit.vue

@@ -112,7 +112,7 @@
           > -->
         </div>
       </el-form-item>
-      <el-form-item v-if="modalForm.quesProperties.length" label="属性列表">
+      <el-form-item v-if="modalForm.quesProperties.length" label="知识点列表">
         <el-tag
           v-for="content in modalForm.quesProperties"
           :key="content.key"

+ 1 - 1
src/modules/questions/views/EditOtherQuestion.vue

@@ -86,7 +86,7 @@
           </el-select>
         </el-form-item>
 
-        <el-form-item label="属性列表">
+        <el-form-item label="知识点列表">
           <el-tooltip
             v-for="(content, index) in quesModel.quesProperties"
             :key="index"

+ 1 - 1
src/modules/questions/views/EditPaper.vue

@@ -715,7 +715,7 @@
           </el-col>
         </el-row>
 
-        <el-form-item label="属性列表">
+        <el-form-item label="知识点列表">
           <el-tooltip
             v-for="(content, propIndex) in quesModel.quesProperties"
             :key="propIndex"

+ 1 - 1
src/modules/questions/views/EditPaperPendingTrial.vue

@@ -739,7 +739,7 @@
           </el-col>
         </el-row>
 
-        <el-form-item label="属性列表">
+        <el-form-item label="知识点列表">
           <el-tooltip
             v-for="(content, propIndex) in quesModel.quesProperties"
             :key="propIndex"

+ 1 - 1
src/modules/questions/views/EditSelectQuestion.vue

@@ -90,7 +90,7 @@
           </el-select>
         </el-form-item>
 
-        <el-form-item label="属性列表">
+        <el-form-item label="知识点列表">
           <el-tooltip
             v-for="(content, index) in quesModel.quesProperties"
             :key="index"

+ 27 - 21
src/modules/questions/views/OrgProperty.vue

@@ -304,32 +304,34 @@
           </el-radio-group>
           (开启后,则必须在指定时间段内该课程新增试题数量满足条件才允许组卷,否则提示试题数量不够不允许组卷)
         </el-form-item>
-        <el-form-item label="试题创建时间">
-          <el-date-picker
-            v-model="form.properties.timeRange"
-            type="daterange"
-            range-separator="-"
-            start-placeholder="开始时间"
-            end-placeholder="结束时间"
-            value-format="yyyy-MM-dd"
-            align="right"
-            unlink-panels
-          >
-          </el-date-picker>
-        </el-form-item>
-        <el-form-item label="新增试题数量">
-          <!-- <el-input-number
+        <template v-if="form.properties.GEN_PAPER_QUESTION_ENABLE == 'true'">
+          <el-form-item label="试题创建时间">
+            <el-date-picker
+              v-model="form.properties.timeRange"
+              type="daterange"
+              range-separator="-"
+              start-placeholder="开始时间"
+              end-placeholder="结束时间"
+              value-format="yyyy-MM-dd"
+              align="right"
+              unlink-panels
+            >
+            </el-date-picker>
+          </el-form-item>
+          <el-form-item label="新增试题数量">
+            <!-- <el-input-number
             style="width: 80px"
             v-model="form.properties.GEN_PAPER_QUESTION_COUNT"
             :step="1"
             :controls="false"
           ></el-input-number> -->
-          <el-input
-            style="width: 80px"
-            maxLength="7"
-            v-model="form.properties.GEN_PAPER_QUESTION_COUNT"
-          ></el-input>
-        </el-form-item>
+            <el-input
+              style="width: 80px"
+              maxLength="7"
+              v-model="form.properties.GEN_PAPER_QUESTION_COUNT"
+            ></el-input>
+          </el-form-item>
+        </template>
       </el-form>
     </div>
   </section>
@@ -542,6 +544,10 @@ export default {
     async save() {
       // this.setParams();
       let url = QUESTION_API + "/org/saveOrgProperties";
+      if (this.form.properties.GEN_PAPER_QUESTION_ENABLE == "false") {
+        this.form.properties.timeRange = [];
+        this.form.properties.GEN_PAPER_QUESTION_COUNT = "";
+      }
       let GEN_PAPER_QUESTION_START = this.form.properties.timeRange[0];
       let GEN_PAPER_QUESTION_END = this.form.properties.timeRange[1];
       let params = {

+ 1 - 1
src/modules/questions/views/ViewPaper.vue

@@ -341,7 +341,7 @@
             </el-form-item>
           </el-col>
         </el-row>
-        <el-form-item label="属性列表">
+        <el-form-item label="知识点列表">
           <el-tooltip
             v-for="(content, propIndex) in quesModel.quesProperties"
             :key="propIndex"

+ 8 - 0
vue.config.js

@@ -52,6 +52,14 @@ let config = {
       })
       .end();
   },
+  css: {
+    loaderOptions: {
+      scss: {
+        additionalData: `@import "@/assets/styles/variables.scss";`, // 不同版本的 sass,此属性不同:data、prependData、additionalData
+        sassOptions: { outputStyle: "expanded" }, // fix: 解决 element-ui 图标 icon 偶现乱码问题
+      },
+    },
+  },
 };
 
 if (process.env.NODE_ENV === "production") {