刘洋 1 år sedan
förälder
incheckning
905833299e

+ 2 - 1
src/components/ImportFile.vue

@@ -1,8 +1,9 @@
 <template>
   <div class="import-file">
     <div class="tpl-download">
-      <span>模板下载:</span>
+      <span v-if="templateUrl">模板下载:</span>
       <svg-btn
+        v-if="templateUrl"
         name="daoru"
         color="#6D5FF6"
         hoverBgColor="#fff"

+ 4 - 3
src/modules/paper/components/AuditPaperUnsubmit.vue

@@ -1,12 +1,12 @@
 <template>
   <div class="audit-paper-unsubmit">
     <el-form class="part-filter-form" :model="filter" inline>
-      <el-form-item label="提交人">
+      <!-- <el-form-item label="提交人">
         <el-input
           v-model="filter.creator"
           placeholder="请输入提交人姓名"
         ></el-input>
-      </el-form-item>
+      </el-form-item> -->
       <el-form-item label="试卷名称">
         <el-input
           v-model="filter.paperName"
@@ -72,7 +72,8 @@ export default {
   name: "AuditPaperUnsubmit",
   data() {
     return {
-      filter: { creator: "", paperName: "" },
+      // filter: { creator: "", paperName: "" },
+      filter: { paperName: "" },
       dataList: [],
       currentPage: 1,
       pageSize: 10,

+ 2 - 2
src/modules/paper/components/SelectQuestionDialog.vue

@@ -45,7 +45,7 @@
                   placeholder="题目内容"
                 ></el-input>
               </el-form-item>
-              <el-form-item label="属性">
+              <el-form-item label="知识点">
                 <property-tree-select
                   v-model="filter.questionProperty"
                   :course-id="filter.courseId"
@@ -89,7 +89,7 @@
           </el-table-column>
           <el-table-column label="创建人" prop="creator" width="120">
           </el-table-column>
-          <el-table-column label="属性" min-width="150">
+          <el-table-column label="知识点" min-width="150">
             <div
               v-if="scope.row.quesProperties"
               slot-scope="scope"

+ 15 - 4
src/modules/paper/views/EditPaper.vue

@@ -1,5 +1,5 @@
 <template>
-  <div class="edit-paper">
+  <div class="edit-paper" ref="editPaper">
     <div class="edit-header">
       <div class="edit-header-top box-justify">
         <div class="header-info">
@@ -886,7 +886,7 @@ export default {
     this.initPaper();
   },
   methods: {
-    async initPaper() {
+    async initPaper(bool) {
       const res = await paperDetailApi(this.paperId);
       res.data.paperDetails.forEach((detail) => {
         detail.showQuestions = true;
@@ -897,7 +897,15 @@ export default {
       this.paper = res.data;
       this.paper.title = this.paper.title || this.paper.name;
       this.showCheckDuplicate();
-
+      if (bool) {
+        this.$nextTick(() => {
+          this.$refs.editPaper.scrollTo({
+            left: 0,
+            top: 100000,
+            behavior: "smooth",
+          });
+        });
+      }
       if (!this.checkPaperQuestionAllHasScore()) {
         this.$notify.error("有小题未设置分值!");
       }
@@ -1107,6 +1115,7 @@ export default {
         }).catch(() => {});
         if (!res) return;
         this.$message.success("新增成功!");
+        this.initPaper(true);
       } else {
         detail.name = detail.detailName;
         const res = await paperDetailUpdateApi(this.paperId, detail).catch(
@@ -1115,6 +1124,7 @@ export default {
 
         if (!res) return;
         this.$message.success("修改成功!");
+        this.initPaper();
       }
 
       // const paperDetail = this.paper.paperDetails.find(
@@ -1123,7 +1133,6 @@ export default {
       // if (!paperDetail) return;
       // paperDetail.name = detail.detailName;
       // paperDetail.description = detail.description;
-      this.initPaper();
     },
     // 移动大题
     async toMovePaperDetail(detail, vector) {
@@ -1280,6 +1289,8 @@ export default {
 </script>
 <style lang="scss" scoped>
 .edit-paper {
+  height: 100vh;
+  overflow: auto;
   .edit-part {
     &.level2 {
       padding-bottom: 60px;

+ 0 - 1
src/modules/portal/store/currentPaths.js

@@ -4,7 +4,6 @@ export default {
   state: [],
   mutations: {
     [UPDATE_CURRENT_PATHS](state, paths) {
-      console.log("paths", paths);
       // console.log(state, paths);
       // state = paths;
       // Object.assign(state, paths);

+ 17 - 2
src/modules/portal/views/tips/Tips.vue

@@ -4,7 +4,21 @@
       <div><img src="./tips.png" /></div>
       <div class="text">
         <div v-for="(menu1, index) in instructions" :key="index" class="menu1">
-          <h4 v-if="menu1.menu2.filter((m) => m.canAccess).length > 0">
+          <h4>{{ menu1.menu1Name }}</h4>
+          <div
+            v-for="(menu2, index2) in menu1.menu2"
+            :key="index2"
+            class="menu1"
+          >
+            <span>
+              <router-link :to="menu2.link" class="link">{{
+                menu2.name
+              }}</router-link>
+              {{ menu2.detail }}
+            </span>
+          </div>
+
+          <!-- <h4 v-if="menu1.menu2.filter((m) => m.canAccess).length > 0">
             {{ menu1.menu1Name }}
           </h4>
           <div
@@ -18,7 +32,7 @@
               </router-link>
               {{ menu2.detail }}
             </span>
-          </div>
+          </div> -->
         </div>
       </div>
     </div>
@@ -267,6 +281,7 @@ export default {
     },
   },
   created() {
+    console.log("this.$route.path", this.$route.path);
     this.instructions = ALL_INSTRUCTIONS[this.$route.path];
   },
   methods: {},

+ 6 - 2
src/modules/question/components/QuestionFolder.vue

@@ -46,7 +46,9 @@
       <tool-tip-btn
         name="shanchu"
         content="删除"
-        :disabled="curNodeData.level >= MAX_FOLDER_LEVEL"
+        :disabled="
+          curNodeData.level >= MAX_FOLDER_LEVEL || !this.curNodeData.id
+        "
         @click="toDeleteFolder"
       ></tool-tip-btn>
     </div>
@@ -131,7 +133,7 @@ import {
   deleteClassifyApi,
   moveClassifyApi,
 } from "../api";
-
+import { cloneDeep } from "lodash";
 const initModalForm = {
   id: null,
   parentId: null,
@@ -338,6 +340,8 @@ export default {
       if (!res) return;
       this.$message.success("操作成功");
       await this.getClassifyTree();
+      this.curNodeData = this.classifyTree[0];
+      this.$emit("selected", cloneDeep(this.curNodeData));
     },
     getSelectedNode() {
       return this.curNodeData;

+ 4 - 1
src/modules/question/components/QuestionImportDialog.vue

@@ -16,7 +16,7 @@
         ref="modalFormComp"
         :model="modalForm"
         :rules="rules"
-        label-width="100px"
+        :label-width="importType == 'zip' ? '142px' : '100px'"
       >
         <el-form-item label="导入类型">
           <el-radio-group v-model="importType" @change="importTypeChange">
@@ -275,6 +275,9 @@ export default {
           ? "word/parse/excel_template_download"
           : "import/paper/template";
       this.templateUrl = `${QUESTION_API}/${urlBody}`;
+      if (this.importType === "zip") {
+        this.templateUrl = "";
+      }
     },
     fileChange(fileData) {
       this.fileData = fileData;

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

@@ -284,7 +284,7 @@
             @change="exportContentChange"
           >
             <el-radio v-if="exportModel.id" label="PAPER">试卷</el-radio>
-            <el-radio label="ANSWER">答案</el-radio>
+            <el-radio v-if="exportModel.id" label="ANSWER">答案</el-radio>
             <el-radio label="THEMIS_PACKAGE">数据包</el-radio>
             <el-radio label="CARD_PACKAGE">题卡数据</el-radio>
             <el-radio label="CARD_PDF">题卡PDF</el-radio>

+ 2 - 1
src/modules/questions/views/OrgProperty.vue

@@ -666,7 +666,8 @@ export default {
                       privilegeType: "PAGE",
                       originId: level2.code,
                     });
-                    checkedLeafCodes.push(level2.code + "__page");
+                    level2.enable &&
+                      checkedLeafCodes.push(level2.code + "__page");
                   } else {
                     level2.enable && checkedLeafCodes.push(level2.code);
                   }

+ 22 - 5
src/modules/questions/views/ViewPaper.vue

@@ -211,7 +211,7 @@
       custom-class="side-dialog"
       @close="closeQuesDialog"
     >
-      <el-form :model="quesModel" label-position="right" label-width="80px">
+      <el-form :model="quesModel" label-position="right" label-width="100px">
         <el-row :gutter="10">
           <el-col :span="12">
             <el-form-item label="题型">
@@ -342,7 +342,22 @@
           </el-col>
         </el-row>
         <el-form-item label="知识点列表">
-          <el-tooltip
+          <el-tag
+            v-for="(content, propIndex) in quesModel.quesProperties"
+            :key="propIndex"
+            effect="dark"
+            type="primary"
+            style="margin-right: 5px"
+          >
+            {{ content.firstProperty && content.firstProperty.name }}
+            <span
+              v-if="content.secondProperty && content.secondProperty?.name"
+              style="margin: 0 3px"
+              >/</span
+            >
+            {{ content.secondProperty && content.secondProperty.name }}
+          </el-tag>
+          <!-- <el-tooltip
             v-for="(content, propIndex) in quesModel.quesProperties"
             :key="propIndex"
             placement="top"
@@ -366,7 +381,7 @@
                 {{ content.courseProperty.name }}
               </el-tag>
             </span>
-          </el-tooltip>
+          </el-tooltip> -->
         </el-form-item>
 
         <el-form-item label="题目">
@@ -594,10 +609,12 @@ export default {
       this.showButtons[index].up = true;
     },
     quesMouseOver(index) {
-      document.getElementById(index).style.visibility = "visible";
+      console.log(index);
+      // document.getElementById(index).style.visibility = "visible";
     },
     quesMouseOut(index) {
-      document.getElementById(index).style.visibility = "hidden";
+      console.log(index);
+      // document.getElementById(index).style.visibility = "hidden";
     },
     //初始化试卷
     initPaper() {

+ 12 - 2
src/modules/questions/views/user.vue

@@ -128,8 +128,18 @@
 
     <div class="part-box">
       <div class="icon-btn-group">
-        <svg-btn name="xinzeng" @click="openAddingDialog">新增</svg-btn>
-        <svg-btn name="daoru" @click="importUser">导入</svg-btn>
+        <svg-btn
+          name="xinzeng"
+          @click="openAddingDialog"
+          v-if="authButtons.includes('index_user-add_user')"
+          >新增</svg-btn
+        >
+        <svg-btn
+          name="daoru"
+          @click="importUser"
+          v-if="authButtons.includes('index_user-add_user')"
+          >导入</svg-btn
+        >
         <svg-btn name="qiyong" @click="enableByIds" :disabled="noBatchSelected"
           >启用</svg-btn
         >