Преглед изворни кода

页面调整与机构管理

zhangjie пре 3 година
родитељ
комит
fd9679c694
28 измењених фајлова са 639 додато и 1008 уклоњено
  1. 25 4
      src/assets/styles/base.scss
  2. 94 28
      src/assets/styles/pages.scss
  3. 2 2
      src/assets/styles/variables.scss
  4. 2 2
      src/modules/portal/views/Login.vue
  5. 2 2
      src/modules/portal/views/home/LinkTitles.vue
  6. 0 2
      src/modules/questions/views/BluePaperStructure.vue
  7. 15 118
      src/modules/questions/views/CheckDuplicateList.vue
  8. 0 2
      src/modules/questions/views/CourseProperty.vue
  9. 1 9
      src/modules/questions/views/ExamPaperPendingTrial.vue
  10. 1 7
      src/modules/questions/views/ExportTemplate.vue
  11. 2 14
      src/modules/questions/views/GenPaper.vue
  12. 0 4
      src/modules/questions/views/GenPaperDetail.vue
  13. 2 14
      src/modules/questions/views/ImportPaper.vue
  14. 2 11
      src/modules/questions/views/InsertBluePaperStructure.vue
  15. 2 8
      src/modules/questions/views/InsertBluePaperStructureInfo.vue
  16. 0 1
      src/modules/questions/views/InsertPaperStructure.vue
  17. 2 6
      src/modules/questions/views/InsertPaperStructureInfo.vue
  18. 215 333
      src/modules/questions/views/OrgProperty.vue
  19. 1 9
      src/modules/questions/views/PaperPendingTrial.vue
  20. 2 14
      src/modules/questions/views/PaperStorage.vue
  21. 0 3
      src/modules/questions/views/PaperStructure.vue
  22. 0 1
      src/modules/questions/views/PropertyInfo.vue
  23. 16 125
      src/modules/questions/views/Question.vue
  24. 104 0
      src/modules/questions/views/QuestionPreview.vue
  25. 117 153
      src/modules/questions/views/School.vue
  26. 14 110
      src/modules/questions/views/SelectQuestion.vue
  27. 5 5
      src/modules/questions/views/data_previllege.vue
  28. 13 21
      src/modules/questions/views/user.vue

+ 25 - 4
src/assets/styles/base.scss

@@ -138,16 +138,23 @@ body {
     margin-bottom: 15px;
     border: 1px solid $--color-border-dark;
     border-radius: 5px;
+    display: inline-flex;
+    overflow: hidden;
+    justify-content: space-between;
+    align-items: center;
+    width: 220px;
 
     &:last-child {
       border: none;
+      width: auto;
     }
   }
   .el-form-item__label {
     margin: 0;
-    padding: 0 20px 0 15px;
+    padding: 0 16px 0 12px;
     color: $--color-text-secondary;
     position: relative;
+    white-space: nowrap;
 
     &::after {
       content: "";
@@ -161,14 +168,24 @@ body {
       background-size: 100% 100%;
     }
   }
+  .el-form-item__content {
+    flex-grow: 2;
+  }
   .el-input__inner {
     border: none;
+    padding-left: 9px;
   }
   .el-input.is-disabled {
     .el-input__inner {
       background-color: $--color-white;
     }
   }
+  .el-input-number--medium {
+    width: 100%;
+    .el-input__inner {
+      padding-left: 43px;
+    }
+  }
 }
 
 .part-box-title {
@@ -256,6 +273,9 @@ body {
 .margin-right-10 {
   margin-right: 10px;
 }
+.margin-left-10 {
+  margin-left: 10px;
+}
 .margin-bottom-15 {
   margin-bottom: 15px;
 }
@@ -282,6 +302,9 @@ body {
   height: 25px;
   line-height: 25px;
 }
+.dialog-input-width {
+  width: 200px;
+}
 .pull_length {
   width: 180px;
 }
@@ -300,9 +323,7 @@ body {
 .form_width {
   width: 200px;
 }
-.dialog_input_width {
-  width: 200px;
-}
+
 .margin_top_10 {
   margin-top: 10px;
 }

+ 94 - 28
src/assets/styles/pages.scss

@@ -1,3 +1,27 @@
+// org-property
+.org-property {
+  .org-header {
+    margin-bottom: 20px;
+    background-color: #fff;
+    border-radius: 20px;
+  }
+  .part-box-header {
+    padding: 20px;
+  }
+  .org-body {
+    &-title {
+      font-size: 16px;
+      margin-bottom: 10px;
+    }
+  }
+  .label-title {
+    .el-form-item__label {
+      font-size: 16px;
+      font-weight: 600;
+    }
+  }
+}
+
 // data-privilege
 .data-privilege {
   .privilege-part {
@@ -20,33 +44,6 @@
         padding: 10px 0 0;
       }
     }
-    .privilege-tabs {
-      padding: 0 30px;
-
-      &-item {
-        display: inline-block;
-        vertical-align: top;
-        padding: 20px 0;
-        line-height: 20px;
-        position: relative;
-        margin-right: 20px;
-
-        &.is-active {
-          color: #705eff;
-          font-weight: 600;
-          &::before {
-            content: "";
-            display: block;
-            position: absolute;
-            width: 40%;
-            border-bottom: 2px solid #705eff;
-            left: 50%;
-            bottom: 0;
-            transform: translateX(-50%);
-          }
-        }
-      }
-    }
   }
   .privilege-body {
     .box-justify {
@@ -59,6 +56,46 @@
     }
   }
 }
+.part-tabs {
+  padding: 0 30px;
+
+  &-item {
+    display: inline-block;
+    vertical-align: top;
+    padding: 20px 0 30px;
+    line-height: 20px;
+    position: relative;
+    cursor: pointer;
+
+    &:hover {
+      color: $--color-primary;
+    }
+
+    &.is-active {
+      color: $--color-primary;
+      font-weight: 600;
+      &::before {
+        content: "";
+        display: block;
+        position: absolute;
+        width: 30%;
+        border-bottom: 2px solid $--color-primary;
+        left: 50%;
+        bottom: 0;
+        transform: translateX(-50%);
+      }
+    }
+
+    &:not(:last-child) {
+      .part-tabs-name {
+        border-right: 1px solid $--color-border;
+      }
+    }
+  }
+  &-name {
+    padding: 0 20px;
+  }
+}
 // .property-info
 .property-box {
   padding: 20px;
@@ -486,6 +523,35 @@
     flex-grow: 2;
   }
 }
+// question-preview
+.question-preview {
+  .paper-question-body {
+    padding-top: 6px;
+  }
+  .sub-question {
+    margin: 15px 0 15px 40px;
+    padding: 5px 0;
+    border-top: 1px solid $--color-border;
+    position: relative;
+
+    &-no {
+      position: absolute;
+      width: 16px;
+      height: 16px;
+      background-color: $--color-primary;
+      color: #fff;
+      font-size: 12px;
+      line-height: 16px;
+      text-align: center;
+      top: 15px;
+      border-radius: 3px;
+      left: 0;
+    }
+  }
+  .el-form-item {
+    margin-bottom: 5px;
+  }
+}
 // question-info
 .question-info {
   border: 1px solid #f0f2f6;
@@ -519,7 +585,7 @@
       width: 4px;
       height: 10px;
       border-radius: 2px;
-      background-color: #705eff;
+      background-color: $--color-primary;
       top: 5px;
       left: 0;
       z-index: auto;

+ 2 - 2
src/assets/styles/variables.scss

@@ -6,8 +6,8 @@ $--color-text-secondary: #9a9dab !default;
 $--color-text-placeholder: #9a9dab !default;
 
 // status
-$--color-primary: #624fff !default;
-$--color-success: rgba(28, 208, 161, 1) !default;
+$--color-primary: #705eff !default;
+$--color-success: #1fb46f !default;
 $--color-danger: #ff7240 !default;
 $--color-warning-lighter: rgba(253, 203, 90, 1) !default;
 $--color-danger: rgba(254, 108, 105, 1) !default;

+ 2 - 2
src/modules/portal/views/Login.vue

@@ -83,8 +83,8 @@ export default {
         password: [
           {
             required: true,
-            pattern: /^[a-zA-Z0-9_]{6,20}$/,
-            message: "密码只能由数字、字母和下划线组成,长度6-20个字符",
+            pattern: /^[a-zA-Z0-9_]{1,20}$/,
+            message: "密码只能由数字、字母和下划线组成,长度1-20个字符",
             trigger: "change",
           },
         ],

+ 2 - 2
src/modules/portal/views/home/LinkTitles.vue

@@ -5,9 +5,9 @@
       <span>当前所在位置:</span>
     </span>
     <el-breadcrumb class="breadcrumb-list">
-      <el-breadcrumb-item :to="{ path: '/home/overview' }"
+      <!-- <el-breadcrumb-item :to="{ path: '/questions/tips' }"
         >首页</el-breadcrumb-item
-      >
+      > -->
       <el-breadcrumb-item
         v-for="(item, index) in currentPaths"
         :key="item + index"

+ 0 - 2
src/modules/questions/views/BluePaperStructure.vue

@@ -8,14 +8,12 @@
         <el-form-item label="结构名称">
           <el-input
             v-model="formSearch.name"
-            class="search_width"
             placeholder="请输入结构名称"
           ></el-input>
         </el-form-item>
         <el-form-item label="制定课程">
           <el-select
             v-model="formSearch.courseNo"
-            class="search_width"
             filterable
             :remote-method="getCourses"
             remote

+ 15 - 118
src/modules/questions/views/CheckDuplicateList.vue

@@ -8,7 +8,6 @@
         <el-form-item label="课程名称">
           <el-select
             v-model="formSearch.courseNo"
-            class="search_width"
             filterable
             :remote-method="getCourses"
             remote
@@ -28,7 +27,6 @@
         <el-form-item label="试卷名称">
           <el-select
             v-model="formSearch.basePaperId"
-            class="search_width"
             filterable
             :remote-method="getPapers"
             remote
@@ -48,14 +46,12 @@
         <el-form-item label="题干">
           <el-input
             v-model="formSearch.quesBodyText"
-            class="search_width"
             placeholder="题干"
           ></el-input>
         </el-form-item>
         <el-form-item label="题型">
           <el-select
             v-model="formSearch.questionType"
-            class="search_width"
             filterable
             clearable
             placeholder="请选择"
@@ -215,93 +211,11 @@
       </div>
     </div>
 
-    <el-dialog
-      title="试题预览"
-      :visible.sync="quesDialog"
-      :modal="false"
-      width="800"
-      append-to-body
-      custom-class="side-dialog"
-      @close="closeQuesDialog"
-    >
-      <el-form :model="quesModel" label-position="right" label-width="80px">
-        <el-form-item label="题型">
-          <el-select
-            v-model="quesModel.questionType"
-            :disabled="true"
-            placeholder="题型"
-          >
-            <el-option
-              v-for="item in questionTypes"
-              :key="item.value"
-              :label="item.label"
-              :value="item.value"
-            >
-            </el-option>
-          </el-select>
-        </el-form-item>
-        <el-form-item label="题干">
-          <div
-            class="paper-question-body padding-top-6"
-            v-html="quesModel.quesBody"
-          ></div>
-        </el-form-item>
-        <!-- 非套题 -->
-        <div v-if="quesModel.questionType !== 'NESTED_ANSWER_QUESTION'">
-          <template v-for="(quesOption, index) in quesModel.quesOptions">
-            <el-form-item :key="index">
-              <div class="paper-question-option">
-                <span>{{ index | optionOrderWordFilter }}. </span>
-                <span v-html="quesOption.optionBody"></span>
-              </div>
-            </el-form-item>
-          </template>
-        </div>
-        <!-- 套题 -->
-        <div v-if="quesModel.questionType === 'NESTED_ANSWER_QUESTION'">
-          <el-row
-            v-for="subQuestionModel in quesModel.subQuestions"
-            :key="subQuestionModel"
-            :gutter="10"
-          >
-            <el-col :xs="30" :sm="30" :md="30" :lg="30">
-              <el-row>
-                <el-form-item label="题目">
-                  <span v-html="subQuestionModel.quesBody"></span>
-                </el-form-item>
-              </el-row>
-              <el-row
-                v-for="(
-                  subQuesOption, subIndex
-                ) in subQuestionModel.quesOptions"
-                :key="subIndex"
-                :gutter="10"
-              >
-                <el-col :xs="30" :sm="30" :md="30" :lg="30">
-                  <el-form-item :label="subIndex | optionOrderWordFilter">
-                    <span v-html="subQuesOption.optionBody"></span>
-                  </el-form-item>
-                </el-col>
-              </el-row>
-              <el-row>
-                <el-form-item label="答案">
-                  <span v-html="subQuestionModel.quesAnswer"></span>
-                </el-form-item>
-              </el-row>
-            </el-col>
-          </el-row>
-        </div>
-        <!-- 非套题答案 -->
-        <div v-if="quesModel.questionType !== 'NESTED_ANSWER_QUESTION'">
-          <el-form-item label="答案">
-            <div
-              class="paper-question-body padding-top-6"
-              v-html="answer"
-            ></div>
-          </el-form-item>
-        </div>
-      </el-form>
-    </el-dialog>
+    <!-- 试题预览 -->
+    <question-preview
+      ref="QuestionPreview"
+      :ques-model="quesModel"
+    ></question-preview>
 
     <el-dialog title="提示" :visible.sync="deleteDialogVisible">
       <span>{{ deleteInfo }}</span>
@@ -317,7 +231,10 @@
 import { QUESTION_API } from "@/constants/constants";
 import { QUESTION_TYPES } from "../constants/constants";
 import { mapState } from "vuex";
+import QuestionPreview from "./QuestionPreview";
+
 export default {
+  components: { QuestionPreview },
   data() {
     return {
       selectedQuesIds: [],
@@ -526,20 +443,11 @@ export default {
       sessionStorage.setItem("question", JSON.stringify(this.formSearch));
       sessionStorage.setItem("question_currentPage", this.currentPage);
     },
-    //打开弹窗
-    openQuesDialog() {
-      this.quesDialog = true;
-    },
-    //关闭弹窗
-    closeQuesDialog() {
-      this.quesDialog = false;
-      this.quesModel = {};
-    },
     //预览
     prevViewQues(row) {
       this.quesModel = row;
       this.disposeSelectAnswer();
-      this.openQuesDialog();
+      this.$refs.QuestionPreview.open();
     },
     //查询所有课程
     getCourses(query) {
@@ -565,29 +473,18 @@ export default {
     },
     /*处理选择题答案显示,处理套题下选择题答案显示*/
     disposeSelectAnswer() {
-      this.singleRightAnswer = "";
-      this.multipleRightAnswer = [];
       //处理选择题答案显示
       if (
         this.quesModel.questionType == "SINGLE_ANSWER_QUESTION" ||
         this.quesModel.questionType == "MULTIPLE_ANSWER_QUESTION"
       ) {
-        for (var i = 0; i < this.quesModel.quesOptions.length; i++) {
-          var option = this.quesModel.quesOptions[i];
-          var orderNum = String.fromCharCode(65 + i);
-          if (
-            this.quesModel.questionType == "SINGLE_ANSWER_QUESTION" &&
-            option.isCorrect == 1
-          ) {
-            this.singleRightAnswer = orderNum;
+        let answers = [];
+        this.quesModel.quesOptions.forEach((option, index) => {
+          if (option.isCorrect) {
+            answers.push(String.fromCharCode(65 + index));
           }
-          if (
-            this.quesModel.questionType == "MULTIPLE_ANSWER_QUESTION" &&
-            option.isCorrect == 1
-          ) {
-            this.multipleRightAnswer.push(orderNum);
-          }
-        }
+        });
+        this.quesModel.quesAnswer = answers.sort().toString();
       }
       //处理套题下选择题答案显示
       if (this.quesModel.questionType == "NESTED_ANSWER_QUESTION") {

+ 0 - 2
src/modules/questions/views/CourseProperty.vue

@@ -7,14 +7,12 @@
         <el-form-item label="属性名称">
           <el-input
             v-model="formSearch.name"
-            class="search_width"
             placeholder="请输入属性名称"
           ></el-input>
         </el-form-item>
         <el-form-item label="课程名称">
           <el-select
             v-model="formSearch.courseId"
-            class="search_width"
             filterable
             :remote-method="getCourses"
             remote

+ 1 - 9
src/modules/questions/views/ExamPaperPendingTrial.vue

@@ -6,7 +6,6 @@
         <el-form-item label="课程名称">
           <el-select
             v-model="formSearch.courseNo"
-            class="search_width"
             filterable
             :remote-method="getCourses"
             remote
@@ -24,16 +23,11 @@
           </el-select>
         </el-form-item>
         <el-form-item label="试卷名称">
-          <el-input
-            v-model="formSearch.name"
-            class="search_width"
-            placeholder="试卷名称"
-          ></el-input>
+          <el-input v-model="formSearch.name" placeholder="试卷名称"></el-input>
         </el-form-item>
         <el-form-item label="审核状态">
           <el-select
             v-model="formSearch.auditStatus"
-            class="search_width"
             clearable
             placeholder="请选择"
           >
@@ -50,14 +44,12 @@
         <el-form-item label="录入人">
           <el-input
             v-model="formSearch.creator"
-            class="search_width"
             placeholder="录入人"
           ></el-input>
         </el-form-item>
         <el-form-item label="修改人">
           <el-input
             v-model="formSearch.lastModifyName"
-            class="search_width"
             placeholder="修改人"
           ></el-input>
         </el-form-item>

+ 1 - 7
src/modules/questions/views/ExportTemplate.vue

@@ -11,7 +11,6 @@
             clearable
             filterable
             placeholder="请选择"
-            class="search_width"
           >
             <el-option
               v-for="item in rootOrgList"
@@ -26,16 +25,11 @@
           <el-input
             v-model="formSearch.fileName"
             placeholder="请输入模板名称"
-            class="search_width"
           ></el-input>
         </el-form-item>
 
         <el-form-item label="模板类型" prop="type" class="form-item">
-          <el-select
-            v-model="formSearch.type"
-            class="search_width"
-            :clearable="true"
-          >
+          <el-select v-model="formSearch.type" :clearable="true">
             <el-option label="试卷导出" value="PAPER_EXPORT"> </el-option>
             <el-option label="答案导出" value="ANWSER_EXPORT"> </el-option>
             <el-option label="离线试卷" value="OUTLINE_PAPER_EXPORT">

+ 2 - 14
src/modules/questions/views/GenPaper.vue

@@ -7,7 +7,6 @@
         <el-form-item label="课程名称">
           <el-select
             v-model="formSearch.courseNo"
-            class="search_width"
             filterable
             :remote-method="getCourses"
             remote
@@ -25,19 +24,10 @@
           </el-select>
         </el-form-item>
         <el-form-item label="试卷名称">
-          <el-input
-            v-model="formSearch.name"
-            class="search_width"
-            placeholder="试卷名称"
-          ></el-input>
+          <el-input v-model="formSearch.name" placeholder="试卷名称"></el-input>
         </el-form-item>
         <el-form-item label="层次">
-          <el-select
-            v-model="formSearch.level"
-            class="search_width"
-            clearable
-            placeholder="请选择"
-          >
+          <el-select v-model="formSearch.level" clearable placeholder="请选择">
             <el-option
               v-for="item in levelList"
               :key="item.value"
@@ -50,14 +40,12 @@
         <el-form-item label="录入人">
           <el-input
             v-model="formSearch.creator"
-            class="search_width"
             placeholder="录入人"
           ></el-input>
         </el-form-item>
         <el-form-item label="修改人">
           <el-input
             v-model="formSearch.lastModifyName"
-            class="search_width"
             placeholder="修改人"
           ></el-input>
         </el-form-item>

+ 0 - 4
src/modules/questions/views/GenPaperDetail.vue

@@ -31,7 +31,6 @@
         <el-form-item label="课程代码">
           <el-input
             v-model="genPaper.courseNo"
-            class="search_width"
             :disabled="true"
             placeholder="课程代码"
           ></el-input>
@@ -39,7 +38,6 @@
         <el-form-item label="课程名称">
           <el-input
             v-model="genPaper.courseName"
-            class="search_width"
             :disabled="true"
             placeholder="课程名称"
           ></el-input>
@@ -47,14 +45,12 @@
         <el-form-item label="试卷名称">
           <el-input
             v-model="genPaper.paperName"
-            class="search_width"
             placeholder="试卷名称"
           ></el-input>
         </el-form-item>
         <el-form-item label="组卷套数">
           <el-input
             v-model="genPaper.genNumber"
-            class="search_width"
             placeholder="组卷套数"
             :disabled="genModelType == 'M-Type'"
           ></el-input>

+ 2 - 14
src/modules/questions/views/ImportPaper.vue

@@ -8,7 +8,6 @@
         <el-form-item label="课程名称">
           <el-select
             v-model="formSearch.courseNo"
-            class="search_width"
             filterable
             :remote-method="getCourses"
             remote
@@ -26,19 +25,10 @@
           </el-select>
         </el-form-item>
         <el-form-item label="试卷名称">
-          <el-input
-            v-model="formSearch.name"
-            class="search_width"
-            placeholder="试卷名称"
-          ></el-input>
+          <el-input v-model="formSearch.name" placeholder="试卷名称"></el-input>
         </el-form-item>
         <el-form-item label="层次">
-          <el-select
-            v-model="formSearch.level"
-            class="search_width"
-            clearable
-            placeholder="请选择"
-          >
+          <el-select v-model="formSearch.level" clearable placeholder="请选择">
             <el-option
               v-for="item in levelList"
               :key="item.value"
@@ -51,14 +41,12 @@
         <el-form-item label="录入人">
           <el-input
             v-model="formSearch.creator"
-            class="search_width"
             placeholder="录入人"
           ></el-input>
         </el-form-item>
         <el-form-item label="修改人">
           <el-input
             v-model="formSearch.lastModifyName"
-            class="search_width"
             placeholder="修改人"
           ></el-input>
         </el-form-item>

+ 2 - 11
src/modules/questions/views/InsertBluePaperStructure.vue

@@ -25,24 +25,17 @@
         <el-form-item label="结构名称">
           <el-input
             v-model="blueStruct.name"
-            class="search_width"
             placeholder="试卷结构名称"
           ></el-input>
         </el-form-item>
         <el-form-item label="设置类型">
-          <el-select
-            v-model="blueStruct.genPaperType"
-            class="search_width"
-            filterable
-            disabled
-          >
+          <el-select v-model="blueStruct.genPaperType" filterable disabled>
             <el-option label="细节组卷" value="SPECIFIC"> </el-option>
           </el-select>
         </el-form-item>
-        <el-form-item label="总 分">
+        <el-form-item label="总分">
           <el-input-number
             v-model="blueStruct.totalScore"
-            class="search_width"
             :precision="1"
             :min="0"
           ></el-input-number>
@@ -50,7 +43,6 @@
         <el-form-item label="制定课程">
           <el-select
             v-model="blueStruct.courseNo"
-            class="search_width"
             :disabled="showcoursePropertyId"
             filterable
             :remote-method="getCourses"
@@ -72,7 +64,6 @@
         <el-form-item label="课程属性">
           <el-select
             v-model="blueStruct.coursePropertyId"
-            class="search_width"
             filterable
             :disabled="showcoursePropertyId"
             placeholder="课程属性"

+ 2 - 8
src/modules/questions/views/InsertBluePaperStructureInfo.vue

@@ -12,7 +12,6 @@
         <el-form-item label="题型结构">
           <el-select
             v-model="paperDetailStruct.questionType"
-            class="search_width"
             placeholder="请选择"
             @change="getQuesNameList"
           >
@@ -26,7 +25,7 @@
           </el-select>
         </el-form-item>
         <el-form-item label="题目数量">
-          <el-input v-model="count" class="search_width" disabled></el-input>
+          <el-input v-model="count" disabled></el-input>
         </el-form-item>
         <el-form-item label="每题分值">
           <el-input-number
@@ -39,7 +38,6 @@
         <el-form-item label="来源大题">
           <el-select
             v-model="paperDetailStruct.quesNames"
-            class="search_width"
             multiple
             placeholder="请选择"
           >
@@ -53,11 +51,7 @@
           </el-select>
         </el-form-item>
         <el-form-item label="题型总分">
-          <el-input
-            v-model="paperDetailStruct.totalScore"
-            class="search_width"
-            disabled
-          ></el-input>
+          <el-input v-model="paperDetailStruct.totalScore" disabled></el-input>
         </el-form-item>
         <el-form-item>
           <el-button

+ 0 - 1
src/modules/questions/views/InsertPaperStructure.vue

@@ -39,7 +39,6 @@
         <el-form-item prop="score" label-width="0">
           <el-input-number
             v-model.number="paperStruct.totalScore"
-            class="search_width"
             placeholder="总分"
             :precision="1"
             :min="0.1"

+ 2 - 6
src/modules/questions/views/InsertPaperStructureInfo.vue

@@ -13,7 +13,6 @@
         <el-form-item label="题型结构" prop="questionType">
           <el-select
             v-model="paperUnitForm.questionType"
-            class="search_width"
             placeholder="请选择"
             @change="getQuesNameList"
           >
@@ -28,7 +27,6 @@
         <el-form-item label="每题分值" prop="score">
           <el-input-number
             v-model="paperUnitForm.score"
-            class="search_width"
             :precision="1"
             :min="0.1"
             @change="muli"
@@ -37,8 +35,8 @@
         <el-form-item label="题目数量" prop="count">
           <el-input
             v-model.number="paperUnitForm.count"
-            class="search_width_80px"
-            :disabled="true"
+            disabled
+            style="width: 90px"
           >
           </el-input>
           <el-button
@@ -51,14 +49,12 @@
         <el-form-item label="题型总分" prop="totalScore">
           <el-input
             v-model="paperUnitForm.totalScore"
-            class="search_width"
             :disabled="true"
           ></el-input>
         </el-form-item>
         <el-form-item label="来源大题" prop="quesNames">
           <el-select
             v-model="paperUnitForm.quesNames"
-            class="search_width"
             multiple
             placeholder="请选择"
           >

+ 215 - 333
src/modules/questions/views/OrgProperty.vue

@@ -1,347 +1,206 @@
 <template>
-  <div>
-    <LinkTitlesCustom
-      :current-paths="['系统管理', '顶级机构管理', '机构设置']"
-    />
-    <section class="content">
-      <div class="box box-info">
-        <!-- 正文信息 -->
-        <div class="box-body">
-          <el-form
-            ref="form"
-            :inline="true"
-            :rules="rules"
-            :model="form"
-            inline-message
-            class="el-form-linemess"
-            label-position="right"
+  <section class="org-property">
+    <div class="org-header">
+      <div class="part-box-header">
+        <h1 class="part-box-title">{{ rootOrgName }}</h1>
+        <div>
+          <el-button type="primary" icon="icon icon-save-white" @click="save"
+            >保存</el-button
           >
-            <el-row>
-              <el-col :span="20"
-                ><span>{{ rootOrgName }}</span></el-col
-              >
-              <el-col :span="4"
-                ><div>
-                  <el-button type="primary" size="small" @click="save"
-                    >保存</el-button
-                  >
-                  <el-button
-                    type="primary"
-                    size="small"
-                    icon="el-icon-arrow-left"
-                    @click="back"
-                    >返 回</el-button
-                  >
-                </div></el-col
-              ></el-row
-            >
-            <div class="block-seperator"></div>
-            <el-tabs v-model="activeName" type="border-card">
-              <!-- 题型设置 -->
-              <el-tab-pane label="题型设置" name="tab1">
-                <el-row>
-                  <el-form-item
-                    label="可用题型"
-                    prop="properties.ROOT_ORG_QUESTION_TYPES"
-                  >
-                  </el-form-item
-                ></el-row>
-                <el-row>
-                  <el-form-item
-                    label="基础题型"
-                    label-width="120px"
-                    prop="properties.ROOT_ORG_QUESTION_TYPES1"
-                  >
-                    <el-checkbox-group
-                      v-model="form.properties.ROOT_ORG_QUESTION_TYPES1"
-                      class="pull_length"
-                    >
-                      <el-checkbox
-                        label="SINGLE_ANSWER_QUESTION"
-                        class="checkbox_length"
-                        >单选</el-checkbox
-                      >
-                      <el-checkbox
-                        label="MULTIPLE_ANSWER_QUESTION"
-                        class="checkbox_length"
-                        >多选</el-checkbox
-                      >
-                      <el-checkbox
-                        label="BOOL_ANSWER_QUESTION"
-                        class="checkbox_length"
-                        >判断</el-checkbox
-                      >
-                      <el-checkbox
-                        label="FILL_BLANK_QUESTION"
-                        class="checkbox_length"
-                        >填空</el-checkbox
-                      >
-                      <el-checkbox
-                        label="TEXT_ANSWER_QUESTION"
-                        class="checkbox_length"
-                        >问答</el-checkbox
-                      >
-                    </el-checkbox-group></el-form-item
-                  >
-                </el-row>
-                <el-row>
-                  <el-form-item
-                    label="组合题型"
-                    label-width="120px"
-                    prop="properties.ROOT_ORG_QUESTION_TYPES2"
-                  >
-                    <el-checkbox-group
-                      v-model="form.properties.ROOT_ORG_QUESTION_TYPES2"
-                      class="pull_length"
-                    >
-                      <el-checkbox
-                        label="READING_COMPREHENSION"
-                        class="checkbox_length"
-                        >普通阅读</el-checkbox
-                      >
-                      <el-checkbox label="CLOZE" class="checkbox_length"
-                        >完形填空</el-checkbox
-                      >
-                      <el-checkbox
-                        label="PARAGRAPH_MATCHING"
-                        class="checkbox_length"
-                        >段落匹配</el-checkbox
-                      >
-                      <el-checkbox label="BANKED_CLOZE" class="checkbox_length"
-                        >选词填空</el-checkbox
-                      >
-                    </el-checkbox-group></el-form-item
-                  >
-                </el-row>
-                <el-row>
-                  <el-form-item
-                    label="特殊题型"
-                    label-width="120px"
-                    prop="properties.ROOT_ORG_QUESTION_TYPES3"
-                  >
-                    <el-checkbox-group
-                      v-model="form.properties.ROOT_ORG_QUESTION_TYPES3"
-                      class="pull_length"
-                    >
-                      <el-checkbox
-                        label="LISTENING_QUESTION"
-                        class="checkbox_length"
-                        >听力</el-checkbox
-                      >
-                    </el-checkbox-group></el-form-item
-                  >
-                </el-row>
-                <el-row>
-                  <el-form-item label="成卷配置"> </el-form-item
-                ></el-row>
-                <el-row>
-                  <el-form-item label="特殊设置" label-width="120px">
-                    <el-checkbox-group
-                      v-model="form.properties.QUESTION_TYPE_SPECIAL_SET"
-                      class="pull_length"
-                    >
-                      <el-checkbox
-                        label="AUTONOMY_QUESTION"
-                        class="checkbox_length"
-                        >选做题设置</el-checkbox
-                      >
-                    </el-checkbox-group></el-form-item
-                  >
-                </el-row>
-              </el-tab-pane>
-              <!-- 审核配置 -->
-              <el-tab-pane label="审核配置" name="tab2">
-                <el-row>
-                  <el-form-item label="题库审核">
-                    <el-radio-group
-                      v-model="form.properties.PAPER_AUDIT"
-                      class="input"
-                    >
-                      <el-radio label="true">开启</el-radio>
-                      <el-radio label="false">关闭</el-radio>
-                    </el-radio-group></el-form-item
-                  >
-                </el-row>
-                <el-row v-if="form.properties.PAPER_AUDIT == 'true'">
-                  <el-form-item
-                    label="初级审核"
-                    :label-width="style.label_width_tab2"
-                  >
-                    <el-radio-group
-                      v-model="form.properties.PAPER_FIRST_AUDIT"
-                      class="input"
-                    >
-                      <el-radio label="true">正常流程</el-radio>
-                      <el-radio label="false">免审流程</el-radio>
-                    </el-radio-group></el-form-item
-                  >
-                </el-row>
-                <el-row v-if="form.properties.PAPER_AUDIT == 'true'">
-                  <el-form-item
-                    label="中级审核"
-                    :label-width="style.label_width_tab2"
-                  >
-                    <el-radio-group
-                      v-model="form.properties.PAPER_SECOND_AUDIT"
-                      class="input"
-                    >
-                      <el-radio label="true">正常流程</el-radio>
-                      <el-radio label="false">免审流程</el-radio>
-                    </el-radio-group></el-form-item
-                  >
-                </el-row>
-                <el-row v-if="form.properties.PAPER_AUDIT == 'true'">
-                  <el-form-item
-                    label="高级审核"
-                    :label-width="style.label_width_tab2"
-                  >
-                    <el-radio-group
-                      v-model="form.properties.PAPER_THIRD_AUDIT"
-                      class="input"
-                    >
-                      <el-radio label="true">正常流程</el-radio>
-                      <el-radio label="false">免审流程</el-radio>
-                    </el-radio-group></el-form-item
-                  >
-                </el-row>
-                <el-row>
-                  <el-form-item label="卷库审核">
-                    <el-radio-group
-                      v-model="form.properties.EXAM_PAPER_AUDIT"
-                      class="input"
-                    >
-                      <el-radio label="true">开启</el-radio>
-                      <el-radio label="false">关闭</el-radio>
-                    </el-radio-group></el-form-item
-                  >
-                </el-row>
-                <el-row v-if="form.properties.EXAM_PAPER_AUDIT == 'true'">
-                  <el-form-item
-                    label="初级审核"
-                    :label-width="style.label_width_tab2"
-                  >
-                    <el-radio-group
-                      v-model="form.properties.EXAM_PAPER_FIRST_AUDIT"
-                      class="input"
-                    >
-                      <el-radio label="true">正常流程</el-radio>
-                      <el-radio label="false">免审流程</el-radio>
-                    </el-radio-group></el-form-item
-                  >
-                </el-row>
-                <el-row v-if="form.properties.EXAM_PAPER_AUDIT == 'true'">
-                  <el-form-item
-                    label="中级审核"
-                    :label-width="style.label_width_tab2"
-                  >
-                    <el-radio-group
-                      v-model="form.properties.EXAM_PAPER_SECOND_AUDIT"
-                      class="input"
-                    >
-                      <el-radio label="true">正常流程</el-radio>
-                      <el-radio label="false">免审流程</el-radio>
-                    </el-radio-group></el-form-item
-                  >
-                </el-row>
-                <el-row v-if="form.properties.EXAM_PAPER_AUDIT == 'true'">
-                  <el-form-item
-                    label="高级审核"
-                    :label-width="style.label_width_tab2"
-                  >
-                    <el-radio-group
-                      v-model="form.properties.EXAM_PAPER_THIRD_AUDIT"
-                      class="input"
-                    >
-                      <el-radio label="true">正常流程</el-radio>
-                      <el-radio label="false">免审流程</el-radio>
-                    </el-radio-group></el-form-item
-                  >
-                </el-row>
-              </el-tab-pane>
-              <!-- 查重配置 -->
-              <el-tab-pane label="查重配置" name="tab3"
-                ><el-row>
-                  <el-form-item
-                    label="是否开启查重"
-                    :label-width="style.label_width_tab3"
-                  >
-                    <el-radio-group
-                      v-model="form.properties.CHECK_DUPLICATE"
-                      class="input"
-                    >
-                      <el-radio label="true">开启</el-radio>
-                      <el-radio label="false">关闭</el-radio>
-                    </el-radio-group></el-form-item
-                  >
-                </el-row>
-                <el-row v-if="form.properties.CHECK_DUPLICATE == 'true'">
-                  <el-form-item
-                    label="通过阀值"
-                    :label-width="style.label_width_tab3"
-                  >
-                    <el-input-number
-                      v-model="form.properties.CHECK_DUPLICATE_THRESHOLD"
-                      size="small"
-                      :precision="1"
-                      :min="0"
-                      :max="100"
-                    ></el-input-number>
-                  </el-form-item>
-                  <span class="text-span">*大于等于所设阈值,判定为重复</span>
-                </el-row>
-                <el-row v-if="form.properties.CHECK_DUPLICATE == 'true'">
-                  <el-form-item
-                    label="陈列数量"
-                    :label-width="style.label_width_tab3"
-                  >
-                    <el-input-number
-                      v-model="form.properties.CHECK_DUPLICATE_COUNT"
-                      size="small"
-                      :precision="0"
-                      :min="1"
-                      :max="10"
-                    ></el-input-number>
-                  </el-form-item>
-                  <span class="text-span"
-                    >*选取超过阈值的试题在查重页面显示</span
-                  >
-                </el-row>
-                <el-row v-if="form.properties.CHECK_DUPLICATE == 'true'">
-                  <el-form-item
-                    label="题型范围"
-                    :label-width="style.label_width_tab3"
-                  >
-                    <el-radio-group
-                      v-model="form.properties.CHECK_DUPLICATE_RANGE"
-                      class="input"
-                    >
-                      <el-radio label="NO_CROSS_QUESTION_TYPE"
-                        >本题型查重</el-radio
-                      >
-                      <el-radio label="CROSS_QUESTION_TYPE"
-                        >跨题型查重</el-radio
-                      >
-                    </el-radio-group>
-                  </el-form-item>
-                </el-row>
-              </el-tab-pane>
-            </el-tabs>
-          </el-form>
+          <el-button type="danger" plain icon="icon icon-back" @click="back"
+            >返回</el-button
+          >
+        </div>
+      </div>
+      <div class="part-tabs">
+        <div
+          v-for="menu in menus"
+          :key="menu.val"
+          :class="['part-tabs-item', { 'is-active': activeName === menu.val }]"
+          @click="activeName = menu.val"
+        >
+          <div class="part-tabs-name">
+            {{ menu.name }}
+          </div>
         </div>
       </div>
-    </section>
-  </div>
+    </div>
+    <div class="org-body part-box">
+      <!-- 题型设置 -->
+      <el-form v-if="activeName === 'tab1'" label-width="160px">
+        <h3 class="org-body-title">可用题型</h3>
+
+        <el-form-item
+          label="基础题型"
+          prop="properties.ROOT_ORG_QUESTION_TYPES1"
+        >
+          <el-checkbox-group v-model="form.properties.ROOT_ORG_QUESTION_TYPES1">
+            <el-checkbox label="SINGLE_ANSWER_QUESTION" class="checkbox_length"
+              >单选</el-checkbox
+            >
+            <el-checkbox
+              label="MULTIPLE_ANSWER_QUESTION"
+              class="checkbox_length"
+              >多选</el-checkbox
+            >
+            <el-checkbox label="BOOL_ANSWER_QUESTION" class="checkbox_length"
+              >判断</el-checkbox
+            >
+            <el-checkbox label="FILL_BLANK_QUESTION" class="checkbox_length"
+              >填空</el-checkbox
+            >
+            <el-checkbox label="TEXT_ANSWER_QUESTION" class="checkbox_length"
+              >问答</el-checkbox
+            >
+          </el-checkbox-group>
+        </el-form-item>
+        <el-form-item
+          label="组合题型"
+          prop="properties.ROOT_ORG_QUESTION_TYPES2"
+        >
+          <el-checkbox-group v-model="form.properties.ROOT_ORG_QUESTION_TYPES2">
+            <el-checkbox label="READING_COMPREHENSION" class="checkbox_length"
+              >普通阅读</el-checkbox
+            >
+            <el-checkbox label="CLOZE" class="checkbox_length"
+              >完形填空</el-checkbox
+            >
+            <el-checkbox label="PARAGRAPH_MATCHING" class="checkbox_length"
+              >段落匹配</el-checkbox
+            >
+            <el-checkbox label="BANKED_CLOZE" class="checkbox_length"
+              >选词填空</el-checkbox
+            >
+          </el-checkbox-group>
+        </el-form-item>
+        <el-form-item
+          label="特殊题型"
+          prop="properties.ROOT_ORG_QUESTION_TYPES3"
+        >
+          <el-checkbox-group v-model="form.properties.ROOT_ORG_QUESTION_TYPES3">
+            <el-checkbox label="LISTENING_QUESTION" class="checkbox_length"
+              >听力</el-checkbox
+            >
+          </el-checkbox-group>
+        </el-form-item>
+
+        <h3 class="org-body-title">成卷配置</h3>
+
+        <el-form-item label="特殊设置">
+          <el-checkbox-group
+            v-model="form.properties.QUESTION_TYPE_SPECIAL_SET"
+            class="pull_length"
+          >
+            <el-checkbox label="AUTONOMY_QUESTION" class="checkbox_length"
+              >选做题设置</el-checkbox
+            >
+          </el-checkbox-group>
+        </el-form-item>
+      </el-form>
+      <!-- 审核配置 -->
+      <el-form v-if="activeName === 'tab2'" label-width="160px">
+        <el-form-item class="label-title" label="题库审核" label-width="90px">
+          <el-radio-group v-model="form.properties.PAPER_AUDIT">
+            <el-radio label="true">开启</el-radio>
+            <el-radio label="false">关闭</el-radio>
+          </el-radio-group>
+        </el-form-item>
+        <template v-if="form.properties.PAPER_AUDIT == 'true'">
+          <el-form-item label="初级审核">
+            <el-radio-group v-model="form.properties.PAPER_FIRST_AUDIT">
+              <el-radio label="true">正常流程</el-radio>
+              <el-radio label="false">免审流程</el-radio>
+            </el-radio-group>
+          </el-form-item>
+          <el-form-item label="中级审核">
+            <el-radio-group v-model="form.properties.PAPER_SECOND_AUDIT">
+              <el-radio label="true">正常流程</el-radio>
+              <el-radio label="false">免审流程</el-radio>
+            </el-radio-group>
+          </el-form-item>
+          <el-form-item label="高级审核">
+            <el-radio-group v-model="form.properties.PAPER_THIRD_AUDIT">
+              <el-radio label="true">正常流程</el-radio>
+              <el-radio label="false">免审流程</el-radio>
+            </el-radio-group>
+          </el-form-item>
+        </template>
+        <el-form-item class="label-title" label="卷库审核" label-width="90px">
+          <el-radio-group v-model="form.properties.EXAM_PAPER_AUDIT">
+            <el-radio label="true">开启</el-radio>
+            <el-radio label="false">关闭</el-radio>
+          </el-radio-group>
+        </el-form-item>
+        <template v-if="form.properties.EXAM_PAPER_AUDIT == 'true'">
+          <el-form-item label="初级审核">
+            <el-radio-group v-model="form.properties.EXAM_PAPER_FIRST_AUDIT">
+              <el-radio label="true">正常流程</el-radio>
+              <el-radio label="false">免审流程</el-radio>
+            </el-radio-group>
+          </el-form-item>
+          <el-form-item label="中级审核">
+            <el-radio-group v-model="form.properties.EXAM_PAPER_SECOND_AUDIT">
+              <el-radio label="true">正常流程</el-radio>
+              <el-radio label="false">免审流程</el-radio>
+            </el-radio-group>
+          </el-form-item>
+          <el-form-item label="高级审核">
+            <el-radio-group v-model="form.properties.EXAM_PAPER_THIRD_AUDIT">
+              <el-radio label="true">正常流程</el-radio>
+              <el-radio label="false">免审流程</el-radio>
+            </el-radio-group>
+          </el-form-item>
+        </template>
+      </el-form>
+      <!-- 查重配置 -->
+      <el-form v-if="activeName === 'tab3'" label-width="120px">
+        <el-form-item label="是否开启查重">
+          <el-radio-group v-model="form.properties.CHECK_DUPLICATE">
+            <el-radio label="true">开启</el-radio>
+            <el-radio label="false">关闭</el-radio>
+          </el-radio-group></el-form-item
+        >
+        <template v-if="form.properties.CHECK_DUPLICATE == 'true'">
+          <el-form-item label="通过阀值">
+            <el-input-number
+              v-model="form.properties.CHECK_DUPLICATE_THRESHOLD"
+              :precision="1"
+              :min="0"
+              :max="100"
+            ></el-input-number>
+            <span class="tips-info margin-left-10"
+              >*大于等于所设阈值,判定为重复</span
+            >
+          </el-form-item>
+          <el-form-item label="陈列数量">
+            <el-input-number
+              v-model="form.properties.CHECK_DUPLICATE_COUNT"
+              :precision="0"
+              :min="1"
+              :max="10"
+            ></el-input-number>
+            <span class="tips-info margin-left-10"
+              >*选取超过阈值的试题在查重页面显示</span
+            >
+          </el-form-item>
+          <el-form-item label="题型范围">
+            <el-radio-group v-model="form.properties.CHECK_DUPLICATE_RANGE">
+              <el-radio label="NO_CROSS_QUESTION_TYPE">本题型查重</el-radio>
+              <el-radio label="CROSS_QUESTION_TYPE">跨题型查重</el-radio>
+            </el-radio-group>
+          </el-form-item>
+        </template>
+      </el-form>
+    </div>
+  </section>
 </template>
 
 <script>
 import { mapState } from "vuex";
 import { QUESTION_API } from "@/constants/constants.js";
-import LinkTitlesCustom from "@/components/LinkTitlesCustom.vue";
 
 export default {
-  components: {
-    LinkTitlesCustom,
-  },
+  name: "OrgProperty",
   data() {
     return {
       style: {
@@ -349,6 +208,20 @@ export default {
         label_width_tab2: "120px",
         label_width_tab3: "120px",
       },
+      menus: [
+        {
+          name: "题型设置",
+          val: "tab1",
+        },
+        {
+          name: "审核配置",
+          val: "tab2",
+        },
+        {
+          name: "查重配置",
+          val: "tab3",
+        },
+      ],
       activeName: "tab1",
       rootOrgName: "",
       form: {
@@ -397,6 +270,15 @@ export default {
     }
     this.init();
   },
+  mounted() {
+    setTimeout(() => {
+      this.$store.commit("UPDATE_CURRENT_PATHS", [
+        "系统管理",
+        "顶级机构管理",
+        "机构设置",
+      ]);
+    }, 200);
+  },
   methods: {
     init() {
       var url = QUESTION_API + "/org/allProperties/" + this.form.orgId;

+ 1 - 9
src/modules/questions/views/PaperPendingTrial.vue

@@ -7,7 +7,6 @@
         <el-form-item label="课程名称">
           <el-select
             v-model="formSearch.courseNo"
-            class="search_width"
             filterable
             :remote-method="getCourses"
             remote
@@ -25,16 +24,11 @@
           </el-select>
         </el-form-item>
         <el-form-item label="试卷名称">
-          <el-input
-            v-model="formSearch.name"
-            class="search_width"
-            placeholder="试卷名称"
-          ></el-input>
+          <el-input v-model="formSearch.name" placeholder="试卷名称"></el-input>
         </el-form-item>
         <el-form-item label="审核状态">
           <el-select
             v-model="formSearch.auditStatus"
-            class="search_width"
             clearable
             placeholder="请选择"
           >
@@ -51,14 +45,12 @@
         <el-form-item label="录入人">
           <el-input
             v-model="formSearch.creator"
-            class="search_width"
             placeholder="录入人"
           ></el-input>
         </el-form-item>
         <el-form-item label="修改人">
           <el-input
             v-model="formSearch.lastModifyName"
-            class="search_width"
             placeholder="修改人"
           ></el-input>
         </el-form-item>

+ 2 - 14
src/modules/questions/views/PaperStorage.vue

@@ -7,7 +7,6 @@
         <el-form-item label="课程名称">
           <el-select
             v-model="formSearch.courseNo"
-            class="search_width"
             filterable
             :remote-method="getCourses"
             remote
@@ -25,19 +24,10 @@
           </el-select>
         </el-form-item>
         <el-form-item label="试卷名称">
-          <el-input
-            v-model="formSearch.name"
-            class="search_width"
-            placeholder="试卷名称"
-          ></el-input>
+          <el-input v-model="formSearch.name" placeholder="试卷名称"></el-input>
         </el-form-item>
         <el-form-item label="层次">
-          <el-select
-            v-model="formSearch.level"
-            class="search_width"
-            clearable
-            placeholder="请选择"
-          >
+          <el-select v-model="formSearch.level" clearable placeholder="请选择">
             <el-option
               v-for="item in levelList"
               :key="item.value"
@@ -50,14 +40,12 @@
         <el-form-item label="录入人">
           <el-input
             v-model="formSearch.creator"
-            class="search_width"
             placeholder="录入人"
           ></el-input>
         </el-form-item>
         <el-form-item label="修改人">
           <el-input
             v-model="formSearch.lastModifyName"
-            class="search_width"
             placeholder="修改人"
           ></el-input>
         </el-form-item>

+ 0 - 3
src/modules/questions/views/PaperStructure.vue

@@ -8,21 +8,18 @@
         <el-form-item label="结构名称">
           <el-input
             v-model="formSearch.name"
-            class="search_width"
             placeholder="请输入结构名称"
           ></el-input>
         </el-form-item>
         <el-form-item label="创建人">
           <el-input
             v-model="formSearch.creator"
-            class="search_width"
             placeholder="请输入创建人"
           ></el-input>
         </el-form-item>
         <el-form-item label="制定课程">
           <el-select
             v-model="formSearch.courseNo"
-            class="search_width"
             filterable
             :remote-method="getCourses"
             remote

+ 0 - 1
src/modules/questions/views/PropertyInfo.vue

@@ -20,7 +20,6 @@
         <el-form-item label="课程名称">
           <el-select
             v-model="courseProperty.courseId"
-            class="form_width"
             filterable
             :remote-method="getCourses"
             remote

+ 16 - 125
src/modules/questions/views/Question.vue

@@ -7,7 +7,6 @@
         <el-form-item label="课程名称">
           <el-select
             v-model="formSearch.courseNo"
-            class="search_width"
             filterable
             :remote-method="getCourses"
             remote
@@ -28,7 +27,6 @@
         <el-form-item label="层次">
           <el-select
             v-model="formSearch.courseLevel"
-            class="search_width"
             filterable
             clearable
             placeholder="请选择"
@@ -45,7 +43,6 @@
         <el-form-item label="题型">
           <el-select
             v-model="formSearch.questionType"
-            class="search_width"
             filterable
             clearable
             placeholder="请选择"
@@ -62,7 +59,6 @@
         <el-form-item label="属性名">
           <el-select
             v-model="formSearch.coursePropertyName"
-            class="search_width"
             filterable
             clearable
             :disabled="updatePorperty"
@@ -81,7 +77,6 @@
         <el-form-item label="一级属性">
           <el-select
             v-model="formSearch.firstPropertyId"
-            class="search_width"
             filterable
             clearable
             :disabled="updateFirst"
@@ -99,7 +94,6 @@
         <el-form-item label="二级属性">
           <el-select
             v-model="formSearch.secondPropertyId"
-            class="search_width"
             filterable
             clearable
             :disabled="updateSecond"
@@ -116,7 +110,6 @@
         <el-form-item label="公开度">
           <el-select
             v-model="formSearch.publicity"
-            class="search_width"
             filterable
             clearable
             placeholder="请选择"
@@ -203,97 +196,11 @@
       </div>
     </div>
 
-    <el-dialog
-      title="试题预览"
-      :visible.sync="quesDialog"
-      :modal="false"
-      append-to-body
-      custom-class="side-dialog"
-      @close="closeQuesDialog"
-    >
-      <el-form :model="quesModel" label-position="right" label-width="80px">
-        <el-row :gutter="10">
-          <el-col :xs="10" :sm="10" :md="10" :lg="10">
-            <el-form-item label="题型">
-              <el-select
-                v-model="quesModel.questionType"
-                :disabled="true"
-                placeholder="题型"
-              >
-                <el-option
-                  v-for="item in questionTypes"
-                  :key="item.value"
-                  :label="item.label"
-                  :value="item.value"
-                >
-                </el-option>
-              </el-select>
-            </el-form-item>
-          </el-col>
-        </el-row>
-        <el-row :gutter="10">
-          <el-col :xs="30" :sm="30" :md="30" :lg="30">
-            <el-form-item label="题干">
-              <span class="ques-body" v-html="quesModel.quesBody"></span>
-            </el-form-item>
-          </el-col>
-        </el-row>
-        <!-- 非套题 -->
-        <div v-if="quesModel.questionType !== 'NESTED_ANSWER_QUESTION'">
-          <el-row
-            v-for="(quesOption, index) in quesModel.quesOptions"
-            :key="index"
-            :gutter="10"
-          >
-            <el-col :xs="30" :sm="30" :md="30" :lg="30">
-              <el-form-item :label="index | optionOrderWordFilter">
-                <span class="ques-body" v-html="quesOption.optionBody"></span>
-              </el-form-item>
-            </el-col>
-          </el-row>
-        </div>
-        <!-- 套题 -->
-        <div v-if="quesModel.questionType === 'NESTED_ANSWER_QUESTION'">
-          <el-row
-            v-for="subQuestionModel in quesModel.subQuestions"
-            :key="subQuestionModel"
-            :gutter="10"
-          >
-            <el-col :xs="30" :sm="30" :md="30" :lg="30">
-              <el-row>
-                <el-form-item label="题目">
-                  <span v-html="subQuestionModel.quesBody"></span>
-                </el-form-item>
-              </el-row>
-              <el-row
-                v-for="(
-                  subQuesOption, subIndex
-                ) in subQuestionModel.quesOptions"
-                :key="subIndex"
-                :gutter="10"
-              >
-                <el-col :xs="30" :sm="30" :md="30" :lg="30">
-                  <el-form-item :label="subIndex | optionOrderWordFilter">
-                    <span v-html="subQuesOption.optionBody"></span>
-                  </el-form-item>
-                </el-col>
-              </el-row>
-              <el-row>
-                <el-form-item label="答案">
-                  <span v-html="subQuestionModel.quesAnswer"></span>
-                </el-form-item>
-              </el-row>
-            </el-col>
-          </el-row>
-        </div>
-        <!-- 非套题答案 -->
-        <div v-if="quesModel.questionType !== 'NESTED_ANSWER_QUESTION'">
-          <el-form-item label="答案">
-            <span v-html="answer"></span>
-          </el-form-item>
-        </div>
-      </el-form>
-    </el-dialog>
+    <!-- 试题预览 -->
+    <question-preview
+      ref="QuestionPreview"
+      :ques-model="quesModel"
+    ></question-preview>
 
     <el-dialog title="提示" :visible.sync="deleteDialogVisible">
       <span>{{ deleteInfo }}</span>
@@ -309,7 +216,11 @@
 import { QUESTION_API } from "@/constants/constants";
 import { QUESTION_TYPES, LEVEL_TYPE } from "../constants/constants";
 import { mapState } from "vuex";
+import QuestionPreview from "./QuestionPreview";
+
 export default {
+  name: "QuestionList",
+  components: { QuestionPreview },
   data() {
     return {
       formSearch: {
@@ -549,20 +460,11 @@ export default {
           );
       });
     },
-    //打开弹窗
-    openQuesDialog() {
-      this.quesDialog = true;
-    },
-    //关闭弹窗
-    closeQuesDialog() {
-      this.quesDialog = false;
-      this.quesModel = {};
-    },
     //预览
     prevViewQues(row) {
       this.quesModel = row;
       this.disposeSelectAnswer();
-      this.openQuesDialog();
+      this.$refs.QuestionPreview.open();
     },
     //查询所有课程
     getCourses(query) {
@@ -596,29 +498,18 @@ export default {
     },
     /*处理选择题答案显示,处理套题下选择题答案显示*/
     disposeSelectAnswer() {
-      this.singleRightAnswer = "";
-      this.multipleRightAnswer = [];
       //处理选择题答案显示
       if (
         this.quesModel.questionType == "SINGLE_ANSWER_QUESTION" ||
         this.quesModel.questionType == "MULTIPLE_ANSWER_QUESTION"
       ) {
-        for (var i = 0; i < this.quesModel.quesOptions.length; i++) {
-          var option = this.quesModel.quesOptions[i];
-          var orderNum = String.fromCharCode(65 + i);
-          if (
-            this.quesModel.questionType == "SINGLE_ANSWER_QUESTION" &&
-            option.isCorrect == 1
-          ) {
-            this.singleRightAnswer = orderNum;
+        let answers = [];
+        this.quesModel.quesOptions.forEach((option, index) => {
+          if (option.isCorrect) {
+            answers.push(String.fromCharCode(65 + index));
           }
-          if (
-            this.quesModel.questionType == "MULTIPLE_ANSWER_QUESTION" &&
-            option.isCorrect == 1
-          ) {
-            this.multipleRightAnswer.push(orderNum);
-          }
-        }
+        });
+        this.quesModel.quesAnswer = answers.sort().toString();
       }
       //处理套题下选择题答案显示
       if (this.quesModel.questionType == "NESTED_ANSWER_QUESTION") {

+ 104 - 0
src/modules/questions/views/QuestionPreview.vue

@@ -0,0 +1,104 @@
+<template>
+  <el-dialog
+    class="question-preview"
+    title="试题预览"
+    :visible.sync="dialogVisible"
+    :modal="false"
+    width="800"
+    append-to-body
+    custom-class="side-dialog"
+  >
+    <el-form label-position="right" label-width="65px">
+      <el-form-item label="题型">
+        <span>{{ quesModel.questionType | questionType }}</span>
+      </el-form-item>
+      <el-form-item label="题干">
+        <div class="paper-question-body" v-html="quesModel.quesBody"></div>
+      </el-form-item>
+
+      <template v-if="quesModel.quesOptions && quesModel.quesOptions.length">
+        <el-form-item
+          v-for="(quesOption, optIndex) in quesModel.quesOptions"
+          :key="`option-${optIndex}`"
+        >
+          <div class="paper-question-option">
+            <span>{{ optIndex | optionOrderWordFilter }}. </span>
+            <span v-html="quesOption.optionBody"></span>
+          </div>
+        </el-form-item>
+      </template>
+
+      <template v-if="quesModel.subQuestions && quesModel.subQuestions.length">
+        <div
+          v-for="(subQuestionModel, qindex) in quesModel.subQuestions"
+          :key="`subq-${qindex}`"
+          class="sub-question"
+        >
+          <div class="sub-question-no">{{ qindex + 1 }}</div>
+          <el-form-item label="题目">
+            <div
+              class="paper-question-body"
+              v-html="subQuestionModel.quesBody"
+            ></div>
+          </el-form-item>
+          <template
+            v-if="
+              subQuestionModel.quesOptions &&
+              subQuestionModel.quesOptions.length
+            "
+          >
+            <el-form-item
+              v-for="(subQuesOption, subIndex) in subQuestionModel.quesOptions"
+              :key="subIndex"
+            >
+              <div class="paper-question-option">
+                <span>{{ subIndex | optionOrderWordFilter }}. </span>
+                <span v-html="subQuesOption.optionBody"></span>
+              </div>
+            </el-form-item>
+          </template>
+          <el-form-item label="答案">
+            <div
+              class="paper-question-body"
+              v-html="subQuestionModel.quesAnswer"
+            ></div>
+          </el-form-item>
+        </div>
+      </template>
+
+      <el-form-item
+        v-if="!quesModel.subQuestions || !quesModel.subQuestions.length"
+        label="答案"
+      >
+        <div class="paper-question-body" v-html="quesModel.quesAnswer"></div>
+      </el-form-item>
+    </el-form>
+  </el-dialog>
+</template>
+
+<script>
+export default {
+  name: "QuestionPreview",
+  props: {
+    quesModel: {
+      type: Object,
+      default() {
+        return {};
+      },
+    },
+  },
+  data() {
+    return {
+      dialogVisible: false,
+    };
+  },
+  methods: {
+    open() {
+      this.dialogVisible = true;
+    },
+    close() {
+      this.dialogVisible = false;
+    },
+  },
+};
+</script>

+ 117 - 153
src/modules/questions/views/School.vue

@@ -1,12 +1,12 @@
 <template>
-  <section class="content">
-    <div
-      v-loading.body="loading"
-      class="box-body"
-      element-loading-text="请稍后..."
-    >
-      <!-- 表单 -->
-      <el-form :inline="true" :model="formSearch">
+  <section
+    v-loading.body="loading"
+    class="content"
+    element-loading-text="请稍后..."
+  >
+    <div class="part-box">
+      <h2 class="part-box-title">顶级机构管理</h2>
+      <el-form class="part-filter-form" :inline="true" :model="formSearch">
         <el-form-item label="学校名称">
           <el-input v-model="formSearch.name" placeholder="请输入学校名称" />
         </el-form-item>
@@ -20,148 +20,43 @@
           />
         </el-form-item>
         <el-form-item>
-          <el-button
-            size="small"
-            type="primary"
-            icon="el-icon-search"
-            @click="handleSearchBtn"
-            >查询</el-button
+          <el-button type="danger" @click="handleSearchBtn">查询</el-button>
+          <el-button type="danger" plain @click="resetSearchForm"
+            >重置</el-button
           >
+        </el-form-item>
+      </el-form>
+
+      <div class="part-box-action">
+        <div>
           <el-button
-            size="small"
-            icon="el-icon-refresh"
-            @click="resetSearchForm"
-            >重置</el-button
+            type="success"
+            plain
+            icon="icon icon-play"
+            :disabled="noBatchSelected"
+            @click="enableOrg"
+            >启用</el-button
           >
           <el-button
-            size="small"
-            type="primary"
-            icon="el-icon-plus"
-            @click="insert"
+            type="danger"
+            plain
+            icon="icon icon-delete"
+            :disabled="noBatchSelected"
+            @click="disableOrg"
+            >禁用</el-button
+          >
+        </div>
+        <div>
+          <el-button type="primary" icon="icon icon-plus-white" @click="insert"
             >新增</el-button
           >
-        </el-form-item>
-      </el-form>
-
-      <div class="block-seperator"></div>
-
-      <span>操作:</span>
-      <el-button
-        size="small"
-        type="success"
-        :disabled="noBatchSelected"
-        icon="el-icon-check"
-        @click="enableOrg"
-        >启用</el-button
-      >
-      <el-button
-        size="small"
-        type="danger"
-        :disabled="noBatchSelected"
-        icon="el-icon-close"
-        @click="disableOrg"
-        >禁用</el-button
-      >
-
-      <div style="width: 100%; margin-bottom: 10px"></div>
-
-      <!-- 添加或修改学校弹出框 -->
-      <el-dialog
-        title="学校信息"
-        width="500px"
-        :visible.sync="schoolDialog"
-        @close="dialogBeforeClose"
-      >
-        <el-form
-          ref="schoolForm"
-          :inline="true"
-          inline-message
-          class="el-form-linemess"
-          :model="schoolForm"
-          :rules="rules"
-          label-position="right"
-          label-width="90px"
-        >
-          <el-row>
-            <el-form-item label="学校代码" label-width="120px" prop="code">
-              <el-input
-                v-model="schoolForm.code"
-                class="pull_length"
-                auto-complete="off"
-                placeholder="学校域名"
-                :disabled="null != schoolForm.id"
-              />
-            </el-form-item>
-          </el-row>
-          <el-row>
-            <el-form-item label="学校名称" label-width="120px" prop="name">
-              <el-input
-                v-model="schoolForm.name"
-                class="pull_length"
-                auto-complete="off"
-                placeholder="学校名称"
-              />
-            </el-form-item>
-          </el-row>
-          <el-row>
-            <el-form-item
-              label="学校域名"
-              label-width="120px"
-              prop="domainName"
-            >
-              <el-input
-                v-model="schoolForm.domainName"
-                class="pull_length"
-                auto-complete="off"
-                placeholder="学校域名"
-              />
-            </el-form-item>
-          </el-row>
-          <el-row>
-            <el-form-item label="负责人" label-width="120px" prop="contacts">
-              <el-input
-                v-model="schoolForm.contacts"
-                class="pull_length"
-                auto-complete="off"
-                placeholder="负责人"
-              />
-            </el-form-item>
-          </el-row>
-          <el-row>
-            <el-form-item label="联系方式" label-width="120px" prop="telephone">
-              <el-input
-                v-model="schoolForm.telephone"
-                class="pull_length"
-                auto-complete="off"
-                placeholder="联系方式"
-              />
-            </el-form-item>
-          </el-row>
-          <el-row>
-            <el-form-item label="状态" label-width="120px" prop="enable">
-              <el-radio-group v-model="schoolForm.enable" class="pull_right_sm">
-                <el-radio label="true">启用</el-radio>
-                <el-radio label="false">禁用</el-radio>
-              </el-radio-group>
-            </el-form-item>
-          </el-row>
-          <el-row class="d-flex justify-content-center">
-            <el-button type="primary" @click="submitForm">保存</el-button>
-            <el-button type="danger" plain @click="schoolDialog = false"
-              >取消</el-button
-            >
-          </el-row>
-        </el-form>
-      </el-dialog>
+        </div>
+      </div>
+    </div>
 
+    <div class="part-box">
       <!-- 页面列表 -->
-      <el-table
-        :data="tableData"
-        border
-        resizable
-        stripe
-        @selection-change="selectChange"
-      >
+      <el-table :data="tableData" resizable @selection-change="selectChange">
         <el-table-column type="selection" width="50" align="center" />
         <el-table-column prop="id" label="ID" width="60" />
         <el-table-column label="学校名称">
@@ -232,28 +127,22 @@
             </span>
           </span>
         </el-table-column>
-        <el-table-column :context="_self" width="210" prop label="操作">
+        <el-table-column width="180" label="操作">
           <div slot-scope="scope">
-            <el-button
-              size="mini"
-              type="primary"
-              plain
-              @click="edit(scope.row)"
+            <el-button size="mini" type="primary" plain @click="edit(scope.row)"
+              >编辑</el-button
             >
-              <i class="el-icon-edit"></i> 编辑
-            </el-button>
             <el-button
               size="mini"
               type="primary"
               plain
               @click="orgSet(scope.row)"
-            >
-              <i class="el-icon-edit"></i> 机构设置
+              >机构设置
             </el-button>
           </div>
         </el-table-column>
       </el-table>
-      <div class="page pull-right">
+      <div class="part-page">
         <el-pagination
           :current-page="currentPage"
           :page-size="pageSize"
@@ -265,6 +154,81 @@
         />
       </div>
     </div>
+
+    <!-- 添加或修改学校弹出框 -->
+    <el-dialog
+      title="学校信息"
+      width="520px"
+      :visible.sync="schoolDialog"
+      :modal="false"
+      append-to-body
+      custom-class="side-dialog"
+      @close="dialogBeforeClose"
+    >
+      <el-form
+        ref="schoolForm"
+        inline-message
+        class="el-form-linemess"
+        :model="schoolForm"
+        :rules="rules"
+        label-position="right"
+        label-width="100px"
+      >
+        <el-form-item label="学校代码" prop="code">
+          <el-input
+            v-model="schoolForm.code"
+            class="dialog-input-width"
+            auto-complete="off"
+            placeholder="学校域名"
+            :disabled="null != schoolForm.id"
+          />
+        </el-form-item>
+        <el-form-item label="学校名称" prop="name">
+          <el-input
+            v-model="schoolForm.name"
+            class="dialog-input-width"
+            auto-complete="off"
+            placeholder="学校名称"
+          />
+        </el-form-item>
+        <el-form-item label="学校域名" prop="domainName">
+          <el-input
+            v-model="schoolForm.domainName"
+            class="dialog-input-width"
+            auto-complete="off"
+            placeholder="学校域名"
+          />
+        </el-form-item>
+        <el-form-item label="负责人" prop="contacts">
+          <el-input
+            v-model="schoolForm.contacts"
+            class="dialog-input-width"
+            auto-complete="off"
+            placeholder="负责人"
+          />
+        </el-form-item>
+        <el-form-item label="联系方式" prop="telephone">
+          <el-input
+            v-model="schoolForm.telephone"
+            class="dialog-input-width"
+            auto-complete="off"
+            placeholder="联系方式"
+          />
+        </el-form-item>
+        <el-form-item label="状态" prop="enable">
+          <el-radio-group v-model="schoolForm.enable" class="pull_right_sm">
+            <el-radio label="true">启用</el-radio>
+            <el-radio label="false">禁用</el-radio>
+          </el-radio-group>
+        </el-form-item>
+      </el-form>
+      <div slot="footer">
+        <el-button type="primary" @click="submitForm">保存</el-button>
+        <el-button type="danger" plain @click="schoolDialog = false"
+          >取消</el-button
+        >
+      </div>
+    </el-dialog>
   </section>
 </template>
 

+ 14 - 110
src/modules/questions/views/SelectQuestion.vue

@@ -13,7 +13,6 @@
             <el-form-item label="课程">
               <el-select
                 v-model="course"
-                class="search_width"
                 :disabled="true"
                 placeholder="请选择"
                 size="small"
@@ -32,7 +31,6 @@
             <el-form-item label="题型">
               <el-select
                 v-model="formSearch.questionType"
-                class="search_width"
                 placeholder="请选择题型"
                 size="small"
                 @change="searchQuestionPaper"
@@ -51,7 +49,6 @@
             <el-form-item label="题干">
               <el-input
                 v-model="formSearch.quesBody"
-                class="search_width"
                 placeholder="请输入题干"
                 size="small"
                 @blur="searchQuestionPaper"
@@ -126,102 +123,21 @@
       </div>
     </div>
 
-    <el-dialog
-      v-loading.body="dialogLoading"
-      title="试题预览"
-      :visible.sync="quesDialog"
-      @close="closeQuesDialog"
-    >
-      <el-form :model="quesModel" label-position="right" label-width="80px">
-        <el-row :gutter="10">
-          <el-col :xs="10" :sm="10" :md="10" :lg="10">
-            <el-form-item label="题型">
-              <el-select
-                v-model="quesModel.questionType"
-                :disabled="true"
-                placeholder="题型"
-              >
-                <el-option
-                  v-for="item in questionTypes"
-                  :key="item.value"
-                  :label="item.label"
-                  :value="item.value"
-                >
-                </el-option>
-              </el-select>
-            </el-form-item>
-          </el-col>
-        </el-row>
-        <el-row :gutter="10">
-          <el-col :xs="30" :sm="30" :md="30" :lg="30">
-            <el-form-item label="题干">
-              <span v-html="quesModel.quesBody"></span>
-            </el-form-item>
-          </el-col>
-        </el-row>
-        <!--非套题-->
-        <div v-if="quesModel.questionType !== 'NESTED_ANSWER_QUESTION'">
-          <el-row
-            v-for="(quesOption, index) in quesModel.quesOptions"
-            :key="quesOption.number"
-            :gutter="10"
-          >
-            <el-col :xs="30" :sm="30" :md="30" :lg="30">
-              <el-form-item :label="index | optionOrderWordFilter">
-                <span v-html="quesOption.optionBody"></span>
-              </el-form-item>
-            </el-col>
-          </el-row>
-        </div>
-        <!--套题-->
-        <div v-if="quesModel.questionType === 'NESTED_ANSWER_QUESTION'">
-          <el-row
-            v-for="(subQuestionModel, index) in quesModel.subQuestions"
-            :key="index"
-            :gutter="10"
-          >
-            <el-col :xs="30" :sm="30" :md="30" :lg="30">
-              <el-row>
-                <el-form-item label="题目">
-                  <span v-html="subQuestionModel.quesBody"></span>
-                </el-form-item>
-              </el-row>
-              <el-row
-                v-for="(subQuesOption, index2) in subQuestionModel.quesOptions"
-                :key="index2"
-                :gutter="10"
-              >
-                <el-col :xs="30" :sm="30" :md="30" :lg="30">
-                  <el-form-item :label="index2 | optionOrderWordFilter">
-                    <span v-html="subQuesOption.optionBody"></span>
-                  </el-form-item>
-                </el-col>
-              </el-row>
-              <el-row>
-                <el-form-item label="答案">
-                  <span v-html="subQuestionModel.quesAnswer"></span>
-                </el-form-item>
-              </el-row>
-            </el-col>
-          </el-row>
-        </div>
-
-        <!--非套题答案-->
-        <div v-if="quesModel.questionType !== 'NESTED_ANSWER_QUESTION'">
-          <el-form-item label="答案">
-            <span v-html="quesModel.quesAnswer"></span>
-          </el-form-item>
-        </div>
-      </el-form>
-    </el-dialog>
+    <!-- 试题预览 -->
+    <question-preview
+      ref="QuestionPreview"
+      :ques-model="quesModel"
+    ></question-preview>
   </section>
 </template>
 <script>
 import { QUESTION_API } from "@/constants/constants";
 import { QUESTION_TYPES } from "../constants/constants";
 import { mapState } from "vuex";
+import QuestionPreview from "./QuestionPreview";
 
 export default {
+  components: { QuestionPreview },
   data() {
     return {
       formSearch: {
@@ -319,7 +235,7 @@ export default {
     prevViewQues(row) {
       this.quesModel = row;
       this.disposeSelectAnswer();
-      this.openQuesDialog();
+      this.$refs.QuestionPreview.open();
     },
     //添加试题
     submitQues() {
@@ -376,29 +292,18 @@ export default {
      * 处理套题下选择题答案显示
      */
     disposeSelectAnswer() {
-      this.singleRightAnswer = "";
-      this.multipleRightAnswer = [];
       //处理选择题答案显示
       if (
         this.quesModel.questionType == "SINGLE_ANSWER_QUESTION" ||
         this.quesModel.questionType == "MULTIPLE_ANSWER_QUESTION"
       ) {
-        for (var i = 0; i < this.quesModel.quesOptions.length; i++) {
-          var option_i = this.quesModel.quesOptions[i];
-          var orderNum_i = String.fromCharCode(65 + i);
-          if (
-            this.quesModel.questionType == "SINGLE_ANSWER_QUESTION" &&
-            option_i.isCorrect == 1
-          ) {
-            this.singleRightAnswer = orderNum_i;
+        let answers = [];
+        this.quesModel.quesOptions.forEach((option, index) => {
+          if (option.isCorrect) {
+            answers.push(String.fromCharCode(65 + index));
           }
-          if (
-            this.quesModel.questionType == "MULTIPLE_ANSWER_QUESTION" &&
-            option_i.isCorrect == 1
-          ) {
-            this.multipleRightAnswer.push(orderNum_i);
-          }
-        }
+        });
+        this.quesModel.quesAnswer = answers.sort().toString();
       }
       //处理套题下选择题答案显示
       if (this.quesModel.questionType == "NESTED_ANSWER_QUESTION") {
@@ -433,4 +338,3 @@ export default {
   },
 };
 </script>
-<style></style>

+ 5 - 5
src/modules/questions/views/data_previllege.vue

@@ -36,9 +36,9 @@
           </el-form-item>
         </el-form>
       </div>
-      <div class="privilege-tabs">
-        <div class="privilege-tabs-item is-active" @click="activeName = 'tab1'">
-          关联课程
+      <div class="part-tabs">
+        <div class="part-tabs-item is-active" @click="activeName = 'tab1'">
+          <div class="part-tabs-name">关联课程</div>
         </div>
       </div>
     </div>
@@ -54,7 +54,7 @@
             <el-button
               size="small"
               type="danger"
-              icon="el-icon-delete"
+              icon="icon icon-delete-white"
               :disabled="noBatchSelectedCourse"
               @click="deleteBatch('Course')"
               >删除</el-button
@@ -62,7 +62,7 @@
             <el-button
               size="small"
               type="primary"
-              icon="el-icon-plus"
+              icon="icon icon-plus-white"
               @click="addCourse"
               >添加</el-button
             >

+ 13 - 21
src/modules/questions/views/user.vue

@@ -13,7 +13,6 @@
             v-model="searchForm.rootOrgId"
             placeholder="请选择"
             :disabled="!isSuperAdmin"
-            class="input_width"
             filterable
             @change="rootOrgChanged4Search"
           >
@@ -26,12 +25,7 @@
           </el-select>
         </el-form-item>
         <el-form-item v-if="!onlySubjectTeacher" label="角色">
-          <el-select
-            v-model="searchForm.roleId"
-            clearable
-            placeholder="请选择"
-            class="input_width"
-          >
+          <el-select v-model="searchForm.roleId" clearable placeholder="请选择">
             <el-option
               v-for="item in roleList4Search"
               :key="item.roleId"
@@ -64,7 +58,6 @@
             v-model="searchForm.loginName"
             placeholder="请输入登录名"
             maxlength="20"
-            class="input_width"
           />
         </el-form-item>
         <el-form-item label="姓名">
@@ -72,7 +65,6 @@
             v-model="searchForm.name"
             placeholder="请输入姓名"
             maxlength="20"
-            class="input_width"
           />
         </el-form-item>
 
@@ -291,7 +283,7 @@
     <!-- 添加用户信息弹出框 -->
     <el-dialog
       title="新增用户"
-      width="450px"
+      width="520px"
       :visible.sync="addingDialog"
       :modal="false"
       append-to-body
@@ -310,7 +302,7 @@
         <el-form-item label="姓名" prop="name">
           <el-input
             v-model="userForm.name"
-            class="input_width_lg"
+            class="dialog-input-width"
             auto-complete="off"
             placeholder="请输入姓名"
             maxlength="20"
@@ -319,7 +311,7 @@
         <el-form-item label="登录名" prop="loginName">
           <el-input
             v-model="userForm.loginName"
-            class="input_width_lg"
+            class="dialog-input-width"
             auto-complete="off"
             placeholder="请输入登录名"
             maxlength="20"
@@ -328,7 +320,7 @@
         <el-form-item label="密码" prop="password">
           <el-input
             v-model="userForm.password"
-            class="input_width_lg"
+            class="dialog-input-width"
             auto-complete="off"
             placeholder="请输入密码"
           />
@@ -336,7 +328,7 @@
         <el-form-item v-if="isSuperAdmin" label="学校" prop="rootOrgId">
           <el-select
             v-model="userForm.rootOrgId"
-            class="input_width_lg"
+            class="dialog-input-width"
             placeholder="请选择"
             :disabled="!isSuperAdmin"
             filterable
@@ -354,7 +346,7 @@
         <el-form-item label="角色" prop="roleId">
           <el-select
             v-model="userForm.roleId"
-            class="input_width_lg"
+            class="dialog-input-width"
             placeholder="请选择"
           >
             <el-option
@@ -385,7 +377,7 @@
     <!-- 修改用户信息弹出框 -->
     <el-dialog
       title="编辑用户"
-      width="450px"
+      width="520px"
       :visible.sync="updateDialog"
       :modal="false"
       append-to-body
@@ -403,14 +395,14 @@
         <el-form-item label="ID">
           <el-input
             v-model="userForm.id"
-            class="input_width_lg"
+            class="dialog-input-width"
             :disabled="true"
           />
         </el-form-item>
         <el-form-item label="姓名" prop="name">
           <el-input
             v-model="userForm.name"
-            class="input_width_lg"
+            class="dialog-input-width"
             auto-complete="off"
             placeholder="请输入姓名"
             maxlength="20"
@@ -419,7 +411,7 @@
         <el-form-item label="登录名" prop="loginName">
           <el-input
             v-model="userForm.loginName"
-            class="input_width_lg"
+            class="dialog-input-width"
             auto-complete="off"
             placeholder="请输入登录名"
             maxlength="20"
@@ -428,7 +420,7 @@
         <el-form-item v-if="isSuperAdmin" label="学校" prop="rootOrgId">
           <el-select
             v-model="userForm.rootOrgId"
-            class="input_width_lg"
+            class="dialog-input-width"
             placeholder="请选择"
             :disabled="true"
           >
@@ -444,7 +436,7 @@
         <el-form-item label="角色" prop="roleId">
           <el-select
             v-model="userForm.roleId"
-            class="input_width_lg"
+            class="dialog-input-width"
             placeholder="请选择"
             :disabled="rowIsSuperAdmin"
           >