Jelajahi Sumber

主页面整改

zhangjie 3 tahun lalu
induk
melakukan
6f5aa6d9a9
27 mengubah file dengan 2524 tambahan dan 2770 penghapusan
  1. 191 146
      public/ckeditor/samples/old/datafiltering.html
  2. 0 10
      src/App.vue
  3. 4 0
      src/modules/portal/views/home/HomeSide.vue
  4. 20 14
      src/modules/portal/views/tips/Tips.vue
  5. 3 8
      src/modules/questions/views/AuditInfo.vue
  6. 1 1
      src/modules/questions/views/AuditPaper.vue
  7. 56 72
      src/modules/questions/views/BluePaperStructure.vue
  8. 3 3
      src/modules/questions/views/CheckDuplicateInfo.vue
  9. 172 205
      src/modules/questions/views/CheckDuplicateList.vue
  10. 460 478
      src/modules/questions/views/Course.vue
  11. 172 183
      src/modules/questions/views/CourseProperty.vue
  12. 209 215
      src/modules/questions/views/EditSelectQuestion.vue
  13. 126 147
      src/modules/questions/views/ExamPaperPendingTrial.vue
  14. 2 2
      src/modules/questions/views/ExportTemplate.vue
  15. 200 243
      src/modules/questions/views/GenPaper.vue
  16. 204 221
      src/modules/questions/views/ImportPaper.vue
  17. 95 105
      src/modules/questions/views/ImportPaperInfo.vue
  18. 79 97
      src/modules/questions/views/InsertPaperTitle.vue
  19. 126 147
      src/modules/questions/views/PaperPendingTrial.vue
  20. 85 113
      src/modules/questions/views/PaperStorage.vue
  21. 66 85
      src/modules/questions/views/PaperStructure.vue
  22. 227 257
      src/modules/questions/views/Question.vue
  23. 7 7
      src/modules/questions/views/School.vue
  24. 5 1
      src/modules/questions/views/data_previllege.vue
  25. 1 1
      src/modules/questions/views/data_previllege_add_course.vue
  26. 7 9
      src/modules/questions/views/user.vue
  27. 3 0
      src/styles/base.scss

File diff ditekan karena terlalu besar
+ 191 - 146
public/ckeditor/samples/old/datafiltering.html


+ 0 - 10
src/App.vue

@@ -7,13 +7,3 @@ export default {
   name: "App",
 };
 </script>
-
-<style scoped>
-#app {
-  font-family: "Avenir", Helvetica, Arial, sans-serif;
-  -webkit-font-smoothing: antialiased;
-  -moz-osx-font-smoothing: grayscale;
-  color: #383b4a;
-  background-color: #e1e7f7;
-}
-</style>

+ 4 - 0
src/modules/portal/views/home/HomeSide.vue

@@ -191,12 +191,16 @@ export default {
   padding: 0 40px !important;
   height: 50px;
   line-height: 50px;
+  font-weight: 600;
 }
 .el-menu-vertical-demo >>> .el-submenu .el-menu-item {
   padding-left: 64px !important;
   height: 40px;
   line-height: 40px;
 }
+.el-menu-vertical-demo >>> .el-submenu .el-menu-item.is-active {
+  font-weight: 600;
+}
 .el-menu-vertical-demo >>> .el-submenu__icon-arrow {
   right: 30px;
 }

+ 20 - 14
src/modules/portal/views/tips/Tips.vue

@@ -1,18 +1,24 @@
 <template>
-  <section class="content">
-    <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">
-          {{ menu1.menu1Name }}
-        </h4>
-        <div v-for="(menu2, index2) in menu1.menu2" :key="index2" class="menu1">
-          <span v-if="menu2.canAccess">
-            <router-link :to="menu2.link" class="link">
-              {{ menu2.name }}
-            </router-link>
-            {{ menu2.detail }}
-          </span>
+  <section class="part-box">
+    <div class="content">
+      <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">
+            {{ menu1.menu1Name }}
+          </h4>
+          <div
+            v-for="(menu2, index2) in menu1.menu2"
+            :key="index2"
+            class="menu1"
+          >
+            <span v-if="menu2.canAccess">
+              <router-link :to="menu2.link" class="link">
+                {{ menu2.name }}
+              </router-link>
+              {{ menu2.detail }}
+            </span>
+          </div>
         </div>
       </div>
     </div>

+ 3 - 8
src/modules/questions/views/AuditInfo.vue

@@ -1,11 +1,7 @@
 <template>
   <section class="content">
-    <div class="box-body">
-      <el-table
-        :data="auditInfoList"
-        border
-        style="width: 100%; text-align: center"
-      >
+    <div>
+      <el-table :data="auditInfoList">
         <el-table-column
           prop="operateUserName"
           label="执行人"
@@ -14,7 +10,7 @@
         <el-table-column prop="operate" label="执行事项"></el-table-column>
         <el-table-column prop="auditRemark" label="审核意见"></el-table-column>
       </el-table>
-      <div class="page pull-right">
+      <div class="part-page">
         <el-pagination
           :current-page="auditInfoCurPage"
           :page-size="auditInfoPageSize"
@@ -25,7 +21,6 @@
           @size-change="handleAuditInfoSizeChange"
         ></el-pagination>
       </div>
-      <div style="margin-top: 10px"></div>
     </div>
   </section>
 </template>

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

@@ -1,5 +1,5 @@
 <template>
-  <el-form>
+  <el-form label-width="120px">
     <el-form-item label="审核结果">
       <el-select v-model="auditForm.auditResult" disabled>
         <el-option label="通过" value="PASS"></el-option>

+ 56 - 72
src/modules/questions/views/BluePaperStructure.vue

@@ -4,85 +4,69 @@
       <LinkTitlesCustom :current-paths="['基础信息', '蓝图试卷结构']" />
     </div>
     <!-- 正文信息 -->
-    <div class="box-body">
-      <el-form
-        :inline="true"
-        :model="formSearch"
-        label-position="right"
-        label-width="70px"
-      >
-        <el-row>
-          <el-col :span="6">
-            <el-form-item label="结构名称">
-              <el-input
-                v-model="formSearch.name"
-                class="search_width"
-                placeholder="请输入结构名称"
-                size="small"
-              ></el-input>
-            </el-form-item>
-          </el-col>
-          <el-col :span="6">
-            <el-form-item label="制定课程">
-              <el-select
-                v-model="formSearch.courseNo"
-                class="search_width"
-                filterable
-                :remote-method="getCourses"
-                remote
-                clearable
-                placeholder="请选择"
-                size="small"
-                @focus="(e) => getCourses(e.target.value)"
-              >
-                <el-option
-                  v-for="item in courseInfoSelect"
-                  :key="item.courseNo"
-                  :label="item.courseInfo"
-                  :value="item.courseNo"
-                ></el-option>
-              </el-select>
-            </el-form-item>
-          </el-col>
-          <el-col :span="6">
-            <div class="search_down">
-              <el-button size="small" type="primary" @click="searchFrom"
-                ><i class="el-icon-search"></i> 查询</el-button
-              >
-              <el-button size="small" type="primary" @click="insertStruct"
-                ><i class="el-icon-plus"></i> 新增</el-button
-              >
-            </div>
-          </el-col>
-        </el-row>
-        <div
-          style="width: 100%; border-bottom: 1px solid #ddd; margin: 10px 0"
-        ></div>
-        <el-row>
-          <el-form-item>
-            <span>批量操作:</span>
-            <el-button
-              size="small"
-              type="danger"
-              :disabled="noBatchSelected"
-              @click="deleteStructs"
-            >
-              <i class="el-icon-delete"></i> 删除
-            </el-button>
-          </el-form-item>
-        </el-row>
+    <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"
+            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
+            clearable
+            placeholder="请选择"
+            @focus="(e) => getCourses(e.target.value)"
+          >
+            <el-option
+              v-for="item in courseInfoSelect"
+              :key="item.courseNo"
+              :label="item.courseInfo"
+              :value="item.courseNo"
+            ></el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item>
+          <el-button type="primary" @click="searchFrom"
+            ><i class="el-icon-search"></i> 查询</el-button
+          >
+        </el-form-item>
       </el-form>
-      <div style="width: 100%; margin-bottom: 10px"></div>
+      <div class="part-box-action">
+        <el-button
+          type="danger"
+          :disabled="noBatchSelected"
+          @click="deleteStructs"
+        >
+          <i class="el-icon-delete"></i> 删除
+        </el-button>
+        <el-button type="primary" @click="insertStruct"
+          ><i class="el-icon-plus"></i> 新增</el-button
+        >
+      </div>
+    </div>
+
+    <div class="part-box">
       <!-- 页面列表 -->
       <el-table
         v-loading="loading"
         :data="tableData"
         element-loading-text="拼命加载中"
-        border
-        style="width: 100%; text-align: center"
         @selection-change="selectionChange"
       >
-        <el-table-column type="selection" width="40"></el-table-column>
+        <el-table-column
+          type="selection"
+          width="50"
+          align="center"
+        ></el-table-column>
         <el-table-column label="蓝图试卷结构名称">
           <template slot-scope="scope">
             <span>{{ scope.row.name }}</span>
@@ -132,7 +116,7 @@
           </template>
         </el-table-column>
       </el-table>
-      <div class="page pull-right">
+      <div class="part-page">
         <el-pagination
           :current-page="currentPage"
           :page-size="pageSize"

+ 3 - 3
src/modules/questions/views/CheckDuplicateInfo.vue

@@ -1,6 +1,6 @@
 <template>
-  <div v-loading="loading" style="background-color: white">
-    <div style="display: flex; justify-content: flex-end; margin-top: 10px">
+  <div v-loading="loading" class="part-box">
+    <div class="part-page">
       <el-radio-group
         v-model="duplicateQuestionIndex"
         size="mini"
@@ -13,7 +13,7 @@
         ></el-radio-button>
       </el-radio-group>
     </div>
-    <div style="display: flex; gap: 10px; justify-content: space-between">
+    <div class="box-justify">
       <div style="width: 49%">
         <QuestionInfo :question="curQuestion"></QuestionInfo>
       </div>

+ 172 - 205
src/modules/questions/views/CheckDuplicateList.vue

@@ -1,133 +1,112 @@
 <template>
   <section class="content">
     <!-- 正文信息 -->
-    <div class="box-body">
-      <el-form
-        :inline="true"
-        :model="formSearch"
-        label-position="right"
-        label-width="70px"
-      >
-        <el-row>
-          <el-col :span="6">
-            <el-form-item label="课程名称">
-              <el-select
-                v-model="formSearch.courseNo"
-                class="search_width"
-                filterable
-                :remote-method="getCourses"
-                remote
-                clearable
-                placeholder="请选择"
-                size="small"
-                @focus="(e) => getCourses(e.target.value)"
-              >
-                <el-option
-                  v-for="item in courseInfoSelect"
-                  :key="item.courseNo"
-                  :label="item.courseInfo"
-                  :value="item.courseNo"
-                >
-                </el-option>
-              </el-select>
-            </el-form-item>
-          </el-col>
-          <el-col :span="6">
-            <el-form-item label="试卷名称">
-              <el-select
-                v-model="formSearch.basePaperId"
-                class="search_width"
-                filterable
-                :remote-method="getPapers"
-                remote
-                clearable
-                placeholder="请选择"
-                size="small"
-                @focus="(e) => getPapers(e.target.value)"
-              >
-                <el-option
-                  v-for="item in paperList"
-                  :key="item.id"
-                  :label="item.name"
-                  :value="item.id"
-                >
-                </el-option>
-              </el-select>
-            </el-form-item>
-          </el-col>
-          <el-col :span="6">
-            <el-form-item label="题干">
-              <el-input
-                v-model="formSearch.quesBodyText"
-                class="search_width"
-                placeholder="题干"
-                size="small"
-              ></el-input>
-            </el-form-item>
-          </el-col>
-          <el-col :span="6">
-            <el-form-item label="题型">
-              <el-select
-                v-model="formSearch.questionType"
-                class="search_width"
-                filterable
-                clearable
-                placeholder="请选择"
-                size="small"
-              >
-                <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-col :span="6">
-            <div class="search_down">
-              <el-button size="small" type="primary" @click="searchFrom"
-                ><i class="el-icon-search"></i> 查询</el-button
-              >
-            </div>
-          </el-col>
-        </el-row>
-        <el-row>
-          <el-form-item>
-            <el-button size="mini" type="primary" plain @click="dispose"
-              >快速审核</el-button
+    <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-select
+            v-model="formSearch.courseNo"
+            class="search_width"
+            filterable
+            :remote-method="getCourses"
+            remote
+            clearable
+            placeholder="请选择"
+            @focus="(e) => getCourses(e.target.value)"
+          >
+            <el-option
+              v-for="item in courseInfoSelect"
+              :key="item.courseNo"
+              :label="item.courseInfo"
+              :value="item.courseNo"
             >
-            <el-button
-              :disabled="noBatchSelected"
-              size="mini"
-              type="danger"
-              plain
-              @click="deleteQuestions"
-              >批量删除</el-button
+            </el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="试卷名称">
+          <el-select
+            v-model="formSearch.basePaperId"
+            class="search_width"
+            filterable
+            :remote-method="getPapers"
+            remote
+            clearable
+            placeholder="请选择"
+            @focus="(e) => getPapers(e.target.value)"
+          >
+            <el-option
+              v-for="item in paperList"
+              :key="item.id"
+              :label="item.name"
+              :value="item.id"
             >
-            <el-button
-              :disabled="noBatchSelected"
-              size="mini"
-              type="primary"
-              plain
-              @click="retainQuestions"
-              >批量保留</el-button
+            </el-option>
+          </el-select>
+        </el-form-item>
+        <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="请选择"
+          >
+            <el-option
+              v-for="item in questionTypes"
+              :key="item.value"
+              :label="item.label"
+              :value="item.value"
             >
-          </el-form-item>
-        </el-row>
+            </el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item>
+          <el-button type="primary" @click="searchFrom"
+            ><i class="el-icon-search"></i> 查询</el-button
+          >
+        </el-form-item>
       </el-form>
-      <div
-        style="width: 100%; border-bottom: 1px solid #ddd; margin: 10px 0"
-      ></div>
+      <div class="part-box-action">
+        <div>
+          <el-button type="primary" plain @click="dispose">快速审核</el-button>
+          <el-button
+            :disabled="noBatchSelected"
+            type="danger"
+            plain
+            @click="deleteQuestions"
+            >批量删除</el-button
+          >
+          <el-button
+            :disabled="noBatchSelected"
+            type="primary"
+            plain
+            @click="retainQuestions"
+            >批量保留</el-button
+          >
+        </div>
+      </div>
+    </div>
+    <div class="part-box">
       <!-- 页面列表 -->
       <el-table
         v-loading="loading"
         :data="tableData"
-        border
         @selection-change="selectChange"
       >
-        <el-table-column type="selection" width="40"></el-table-column>
+        <el-table-column
+          type="selection"
+          width="50"
+          align="center"
+        ></el-table-column>
         <el-table-column label="课程名称" width="180">
           <template slot-scope="scope">
             <span>{{ scope.row.course.name }}</span>
@@ -214,7 +193,7 @@
         </el-table-column>
       </el-table>
       <!-- 分页栏 -->
-      <div class="page pull-right">
+      <div class="part-page">
         <el-pagination
           :current-page="currentPage"
           :page-size="pageSize"
@@ -228,96 +207,84 @@
       </div>
     </div>
 
-    <div class="text-left">
-      <el-dialog
-        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 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-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-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-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="题干">
+          <span class="ques-body" v-html="quesModel.quesBody"></span>
+        </el-form-item>
+        <!-- 非套题 -->
+        <div v-if="quesModel.questionType !== 'NESTED_ANSWER_QUESTION'">
+          <template v-for="(quesOption, index) in quesModel.quesOptions">
+            <el-form-item :key="index" :label="index | optionOrderWordFilter">
+              <span class="ques-body" v-html="quesOption.optionBody"></span>
+            </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-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-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-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>
-    </div>
+                </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>
     <el-dialog title="提示" :visible.sync="deleteDialogVisible">
       <span>{{ deleteInfo }}</span>
       <span slot="footer" class="dialog-footer">

+ 460 - 478
src/modules/questions/views/Course.vue

@@ -1,516 +1,498 @@
 <template>
-  <section class="content">
-    <div class="box box-info">
-      <div
-        v-loading.body="fileLoading"
-        v-loading.fullscreen="loading"
-        element-loading-text="请稍后..."
+  <section
+    v-loading.body="fileLoading"
+    v-loading.fullscreen="loading"
+    element-loading-text="请稍后..."
+    class="content"
+  >
+    <div class="part-box">
+      <h2 class="part-box-title">课程列表</h2>
+
+      <el-form
+        ref="primaryForm"
+        class="part-filter-form"
+        inline
+        :model="formSearch"
       >
-        <el-form
-          ref="primaryForm"
-          inline
-          :model="formSearch"
-          label-width="70px"
-        >
-          <el-form-item label="课程名称">
-            <el-input
-              v-model="formSearch.name"
-              class="input_width_lg"
-              placeholder="请输入课程名称"
+        <el-form-item label="课程名称">
+          <el-input
+            v-model="formSearch.name"
+            class="input_width_lg"
+            placeholder="请输入课程名称"
+          />
+        </el-form-item>
+        <el-form-item label="课程代码">
+          <el-input
+            v-model="formSearch.code"
+            class="input_width_lg"
+            placeholder="请输入课程代码"
+          />
+        </el-form-item>
+        <el-form-item label="课程状态">
+          <el-select
+            v-model="formSearch.enable"
+            class="input_width_lg"
+            placeholder="请选择"
+            clearable
+          >
+            <el-option
+              v-for="item in statusList"
+              :key="item.value"
+              :label="item.label"
+              :value="item.value"
+            />
+          </el-select>
+        </el-form-item>
+        <el-form-item label="层次">
+          <el-select
+            v-model="formSearch.level"
+            class="input_width_lg"
+            placeholder="请选择"
+            clearable
+          >
+            <el-option
+              v-for="item in levelList"
+              :key="item.value"
+              :label="item.label"
+              :value="item.value"
             />
-          </el-form-item>
-          <el-form-item label="课程代码">
-            <el-input
-              v-model="formSearch.code"
-              class="input_width_lg"
-              placeholder="请输入课程代码"
+          </el-select>
+        </el-form-item>
+        <el-form-item label="专业" prop="specialtyId">
+          <el-select
+            v-model="formSearch.specialtyId"
+            class="input_width_lg"
+            remote
+            :remote-method="getSpecialtyList4Search"
+            :loading="specialtyLoading4Search"
+            filterable
+            clearable
+            placeholder="请选择"
+            @focus="(e) => getSpecialtyList4Search(e.target.value)"
+          >
+            <el-option
+              v-for="item in specialtyList4SearchWrapper"
+              :key="item.id"
+              :label="item.name"
+              :value="item.id"
             />
-          </el-form-item>
-          <el-form-item label="课程状态">
-            <el-select
-              v-model="formSearch.enable"
-              class="input_width_lg"
-              placeholder="请选择"
-              clearable
+          </el-select>
+        </el-form-item>
+
+        <el-form-item>
+          <el-button
+            type="primary"
+            icon="el-icon-search"
+            @click="handleSearchBtn"
+            >查询</el-button
+          >
+          <el-button icon="el-icon-refresh" @click="resetPrimaryForm">
+            重置
+          </el-button>
+        </el-form-item>
+      </el-form>
+
+      <div class="part-box-action">
+        <div>
+          <el-button
+            type="success"
+            :disabled="noBatchSelected"
+            icon="el-icon-check"
+            @click="enableByIds"
+          >
+            启用
+          </el-button>
+          <el-button
+            type="danger"
+            :disabled="noBatchSelected"
+            icon="el-icon-close"
+            @click="disableByIds"
+          >
+            禁用
+          </el-button>
+          <el-button type="primary" icon="el-icon-upload2" @click="impCourse">
+            导入
+          </el-button>
+          <el-button
+            type="primary"
+            icon="el-icon-download"
+            @click="exportCourse"
+          >
+            导出
+          </el-button>
+        </div>
+        <el-button type="primary" icon="el-icon-plus" @click="insertCourse"
+          >新增</el-button
+        >
+      </div>
+    </div>
+
+    <div class="part-box">
+      <!-- 页面列表 -->
+      <!-- FIXME: element-ui style bug https://github.com/ElemeFE/element/issues/16167 -->
+      <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="80" />
+        <el-table-column prop="name" label="课程名称" width="180" />
+        <el-table-column prop="code" label="课程代码" />
+        <el-table-column label="层次">
+          <span slot-scope="scope">{{ getLevel(scope.row.level) }}</span>
+        </el-table-column>
+        <el-table-column width="50" label="状态">
+          <span slot-scope="scope">
+            <span v-if="scope.row.enable">
+              <el-tooltip
+                class="item"
+                effect="dark"
+                content="启用"
+                placement="left"
+              >
+                <i class="el-icon-success" style="color: #1fb46f"></i>
+              </el-tooltip>
+            </span>
+            <span v-else>
+              <el-tooltip
+                class="item"
+                effect="dark"
+                content="禁用"
+                placement="left"
+              >
+                <i class="el-icon-error" style="color: #ff7240"></i>
+              </el-tooltip>
+            </span>
+          </span>
+        </el-table-column>
+        <el-table-column
+          sortable
+          prop="updateTime"
+          label="更新时间"
+          width="170"
+        />
+        <el-table-column label="操作" width="200">
+          <div slot-scope="scope">
+            <!-- <el-button
+                size="mini"
+                type="primary"
+                plain
+                icon="el-icon-share"
+                @click="relation(scope.row)"
+              >
+                关联专业
+              </el-button> -->
+            <el-button
+              size="mini"
+              type="primary"
+              plain
+              @click="editCourse(scope.row)"
             >
-              <el-option
-                v-for="item in statusList"
-                :key="item.value"
-                :label="item.label"
-                :value="item.value"
-              />
-            </el-select>
-          </el-form-item>
-          <el-form-item label="层次">
-            <el-select
-              v-model="formSearch.level"
-              class="input_width_lg"
-              placeholder="请选择"
-              clearable
+              <i class="el-icon-edit"></i> 编辑
+            </el-button>
+            <el-button
+              v-if="!scope.row.enable"
+              size="mini"
+              plain
+              type="primary"
+              icon="el-icon-check"
+              @click="enableById(scope.row)"
             >
-              <el-option
-                v-for="item in levelList"
-                :key="item.value"
-                :label="item.label"
-                :value="item.value"
-              />
-            </el-select>
-          </el-form-item>
-          <el-form-item label="专业" prop="specialtyId">
-            <el-select
-              v-model="formSearch.specialtyId"
-              class="input_width_lg"
-              remote
-              :remote-method="getSpecialtyList4Search"
-              :loading="specialtyLoading4Search"
-              filterable
-              clearable
-              placeholder="请选择"
-              @focus="(e) => getSpecialtyList4Search(e.target.value)"
+              启用
+            </el-button>
+            <el-button
+              v-if="scope.row.enable"
+              size="mini"
+              type="danger"
+              icon="el-icon-close"
+              @click="disableById(scope.row)"
             >
-              <el-option
-                v-for="item in specialtyList4SearchWrapper"
-                :key="item.id"
-                :label="item.name"
-                :value="item.id"
-              />
-            </el-select>
-          </el-form-item>
+              禁用
+            </el-button>
+          </div>
+        </el-table-column>
+      </el-table>
+      <div class="part-page">
+        <el-pagination
+          :current-page="currentPage"
+          :page-size="10"
+          :page-sizes="[10, 20, 50, 100, 200, 300]"
+          layout="total, sizes, prev, pager, next, jumper"
+          :total="total"
+          @current-change="handleCurrentChange"
+          @size-change="handleSizeChange"
+        >
+        </el-pagination>
+      </div>
+    </div>
+
+    <!-- 添加或新增课程弹出框 -->
+    <el-dialog
+      title="课程"
+      width="420px"
+      :visible.sync="courseDialog"
+      :modal="false"
+      append-to-body
+      custom-class="side-dialog"
+      @close="dialogBeforeClose"
+    >
+      <el-form
+        ref="courseForm"
+        :inline="true"
+        inline-message
+        :model="courseForm"
+        :rules="rules"
+        label-width="90px"
+      >
+        <el-form-item label="课程代码" prop="code">
+          <el-input
+            v-model="courseForm.code"
+            :disabled="null != courseForm.id"
+            class="pull_length"
+            auto-complete="off"
+            placeholder="请输入课程代码"
+          />
+        </el-form-item>
+        <el-form-item label="课程名称" prop="name">
+          <el-input
+            v-model="courseForm.name"
+            class="pull_length"
+            auto-complete="off"
+            placeholder="请输入课程名称"
+          />
+        </el-form-item>
+        <el-form-item label="层次" prop="level">
+          <el-select
+            v-model="courseForm.level"
+            class="pull_length"
+            placeholder="请选择"
+          >
+            <el-option
+              v-for="item in levelList"
+              :key="item.value"
+              :label="item.label"
+              :value="item.value"
+            />
+          </el-select>
+        </el-form-item>
+        <el-form-item label="课程状态" prop="enable">
+          <el-radio-group v-model="courseForm.enable" class="pull_length">
+            <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 @click="courseDialog = false">取 消</el-button>
+      </div>
+    </el-dialog>
 
-          <el-form-item class="d-block">
+    <!-- 导入弹窗 -->
+    <el-dialog
+      title="导入窗口"
+      width="520px"
+      :visible.sync="impDialog"
+      :modal="false"
+      append-to-body
+      custom-class="side-dialog"
+    >
+      <el-form>
+        <el-form-item style="margin-left: 20px">
+          <el-upload
+            ref="upload"
+            class="form_left"
+            accept="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
+            :action="uploadAction"
+            :headers="uploadHeaders"
+            :data="uploadData"
+            :before-upload="beforeUpload"
+            :on-progress="uploadProgress"
+            :on-success="uploadSuccess"
+            :on-error="uploadError"
+            :file-list="fileList"
+            :auto-upload="false"
+            :multiple="false"
+          >
             <el-button
+              slot="trigger"
               size="small"
               type="primary"
               icon="el-icon-search"
-              @click="handleSearchBtn"
-              >查询</el-button
             >
+              选择文件
+            </el-button>
+            &nbsp;
+            <el-button
+              size="small"
+              type="primary"
+              icon="el-icon-check"
+              @click="submitUpload"
+            >
+              确认上传
+            </el-button>
             <el-button
               size="small"
+              type="primary"
               icon="el-icon-refresh"
-              @click="resetPrimaryForm"
+              @click="removeFile"
             >
-              重置
+              清空文件
             </el-button>
             <el-button
               size="small"
               type="primary"
-              icon="el-icon-plus"
-              @click="insertCourse"
-              >新增</el-button
+              icon="el-icon-download"
+              @click="exportFile"
             >
-          </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="enableByIds"
-        >
-          启用
-        </el-button>
-        <el-button
-          size="small"
-          type="danger"
-          :disabled="noBatchSelected"
-          icon="el-icon-close"
-          @click="disableByIds"
-        >
-          禁用
-        </el-button>
-        <el-button
-          size="small"
-          type="primary"
-          icon="el-icon-upload2"
-          @click="impCourse"
-        >
-          导入
-        </el-button>
-        <el-button
-          size="small"
-          type="primary"
-          icon="el-icon-download"
-          @click="exportCourse"
-        >
-          导出
-        </el-button>
+              下载模板
+            </el-button>
+            <div slot="tip" class="el-upload__tip">只能上传xlsx文件</div>
+          </el-upload>
+        </el-form-item>
+      </el-form>
+    </el-dialog>
 
-        <div style="width: 100%; margin-bottom: 10px"></div>
+    <!-- 导入错误信息列表 -->
+    <el-dialog title="错误提示" :visible.sync="errDialog">
+      <div
+        v-for="errMessage in errMessages"
+        :key="errMessage.lineNum"
+        class="text-danger"
+      >
+        第{{ errMessage.lineNum }}行:{{ errMessage.msg }}
+      </div>
+      <span slot="footer" class="dialog-footer">
+        <el-button @click="errDialog = false">确定</el-button>
+      </span>
+    </el-dialog>
 
-        <!-- 添加或新增课程弹出框 -->
-        <el-dialog
-          title="课程"
-          width="420px"
-          :visible.sync="courseDialog"
-          @close="dialogBeforeClose"
-        >
-          <el-form
-            ref="courseForm"
-            :inline="true"
-            inline-message
-            :model="courseForm"
-            :rules="rules"
-            label-width="90px"
+    <!-- 关联专业弹出框 -->
+    <el-dialog
+      :title="specialtyDialogTitle"
+      :visible.sync="specialtyDialog"
+      width="800px"
+      :modal="false"
+      append-to-body
+      custom-class="side-dialog"
+    >
+      <!-- 表单 -->
+      <el-form :inline="true" :model="specialtySearchForm">
+        <el-form-item label="专业名称">
+          <el-input
+            v-model="specialtySearchForm.name"
+            class="input_width_lg"
+            placeholder="请输入专业名称"
+          />
+        </el-form-item>
+        <el-form-item label="专业代码">
+          <el-input
+            v-model="specialtySearchForm.code"
+            class="input_width_lg"
+            placeholder="请输入专业代码"
+          />
+        </el-form-item>
+        <el-form-item>
+          <el-button
+            size="small"
+            type="primary"
+            icon="el-icon-search"
+            @click="searchSpecialtyPage"
           >
-            <el-row>
-              <el-form-item label="课程代码" prop="code">
-                <el-input
-                  v-model="courseForm.code"
-                  :disabled="null != courseForm.id"
-                  class="pull_length"
-                  auto-complete="off"
-                  placeholder="请输入课程代码"
-                />
-              </el-form-item>
-            </el-row>
-            <el-row>
-              <el-form-item label="课程名称" prop="name">
-                <el-input
-                  v-model="courseForm.name"
-                  class="pull_length"
-                  auto-complete="off"
-                  placeholder="请输入课程名称"
-                />
-              </el-form-item>
-            </el-row>
-            <el-row>
-              <el-form-item label="层次" prop="level">
-                <el-select
-                  v-model="courseForm.level"
-                  class="pull_length"
-                  placeholder="请选择"
-                >
-                  <el-option
-                    v-for="item in levelList"
-                    :key="item.value"
-                    :label="item.label"
-                    :value="item.value"
-                  />
-                </el-select>
-              </el-form-item>
-            </el-row>
-            <el-row>
-              <el-form-item label="课程状态" prop="enable">
-                <el-radio-group v-model="courseForm.enable" class="pull_length">
-                  <el-radio label="true">启用</el-radio>
-                  <el-radio label="false">禁用</el-radio>
-                </el-radio-group>
-              </el-form-item>
-            </el-row>
-            <el-row class="pull-center">
-              <el-button type="primary" @click="submitForm">保 存</el-button>
-              <el-button @click="courseDialog = false">取 消</el-button>
-            </el-row>
-          </el-form>
-        </el-dialog>
-
-        <!-- 导入弹窗 -->
-        <el-dialog title="导入窗口" width="520px" :visible.sync="impDialog">
-          <el-form>
-            <el-row>
-              <el-form-item style="margin-left: 20px">
-                <el-upload
-                  ref="upload"
-                  class="form_left"
-                  accept="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
-                  :action="uploadAction"
-                  :headers="uploadHeaders"
-                  :data="uploadData"
-                  :before-upload="beforeUpload"
-                  :on-progress="uploadProgress"
-                  :on-success="uploadSuccess"
-                  :on-error="uploadError"
-                  :file-list="fileList"
-                  :auto-upload="false"
-                  :multiple="false"
-                >
-                  <el-button
-                    slot="trigger"
-                    size="small"
-                    type="primary"
-                    icon="el-icon-search"
-                  >
-                    选择文件
-                  </el-button>
-                  &nbsp;
-                  <el-button
-                    size="small"
-                    type="primary"
-                    icon="el-icon-check"
-                    @click="submitUpload"
-                  >
-                    确认上传
-                  </el-button>
-                  <el-button
-                    size="small"
-                    type="primary"
-                    icon="el-icon-refresh"
-                    @click="removeFile"
-                  >
-                    清空文件
-                  </el-button>
-                  <el-button
-                    size="small"
-                    type="primary"
-                    icon="el-icon-download"
-                    @click="exportFile"
-                  >
-                    下载模板
-                  </el-button>
-                  <div slot="tip" class="el-upload__tip">只能上传xlsx文件</div>
-                </el-upload>
-              </el-form-item>
-            </el-row>
-          </el-form>
-        </el-dialog>
-
-        <!-- 导入错误信息列表 -->
-        <el-dialog title="错误提示" :visible.sync="errDialog">
-          <div
-            v-for="errMessage in errMessages"
-            :key="errMessage.lineNum"
-            class="text-danger"
+            查询
+          </el-button>
+          <el-button
+            size="small"
+            type="primary"
+            icon="el-icon-plus"
+            @click="addRelation"
           >
-            第{{ errMessage.lineNum }}行:{{ errMessage.msg }}
-          </div>
-          <span slot="footer" class="dialog-footer">
-            <el-button @click="errDialog = false">确定</el-button>
-          </span>
-        </el-dialog>
+            新增
+          </el-button>
+        </el-form-item>
+      </el-form>
 
-        <!-- 关联专业弹出框 -->
-        <el-dialog
-          :title="specialtyDialogTitle"
-          :visible.sync="specialtyDialog"
-          width="800px"
-        >
-          <!-- 表单 -->
-          <el-form :inline="true" :model="specialtySearchForm">
-            <el-form-item label="专业名称">
-              <el-input
-                v-model="specialtySearchForm.name"
-                class="input_width_lg"
-                placeholder="请输入专业名称"
-              />
-            </el-form-item>
-            <el-form-item label="专业代码">
-              <el-input
-                v-model="specialtySearchForm.code"
-                class="input_width_lg"
-                placeholder="请输入专业代码"
-              />
-            </el-form-item>
-            <el-form-item>
-              <el-button
-                size="small"
-                type="primary"
-                icon="el-icon-search"
-                @click="searchSpecialtyPage"
-              >
-                查询
-              </el-button>
-              <el-button
-                size="small"
-                type="primary"
-                icon="el-icon-plus"
-                @click="addRelation"
-              >
-                新增
-              </el-button>
-            </el-form-item>
-          </el-form>
-
-          <!-- 专业列表 -->
-          <el-table :data="specialtyTableData" border>
-            <el-table-column prop="id" label="ID" width="100" />
-            <el-table-column prop="name" label="专业名称" width="250" />
-            <el-table-column prop="code" label="专业代码" />
-            <el-table-column
-              sortable
-              prop="updateTime"
-              label="更新时间"
-              width="170"
-            />
-            <el-table-column label="操作">
-              <div slot-scope="scope">
-                <span>
-                  <el-button
-                    size="mini"
-                    type="primary"
-                    icon="el-icon-edit"
-                    plain
-                    @click="deleteRelation(scope.row)"
-                  >
-                    取消关联
-                  </el-button>
-                </span>
-              </div>
-            </el-table-column>
-          </el-table>
-          <div class="page pull-right">
-            <el-pagination
-              :current-page="currentSpecialtyPage"
-              :page-size="10"
-              :total="specialtyTotal"
-              @current-change="handleSpecialtyCurrentChange"
-            />
-          </div>
-          <div style="margin-bottom: 20px"></div>
-        </el-dialog>
-
-        <!-- 添加关联 -->
-        <el-dialog
-          title="添加关联专业"
-          :visible.sync="addRelationDialog"
-          width="400px"
-          @close="() => $refs.addRelationForm.clearValidate()"
-        >
-          <el-form
-            ref="addRelationForm"
-            :inline="true"
-            inline-message
-            :model="addRelationForm"
-            :rules="addRelationRules"
-          >
-            <el-row>
-              <el-form-item label="专业" prop="specialtyId">
-                <el-select
-                  v-model="addRelationForm.specialtyId"
-                  class="input"
-                  style="width: 200px"
-                  remote
-                  :remote-method="getSpecialtyList4AddRelation"
-                  :loading="specialtyLoading4AddRelation"
-                  filterable
-                  clearable
-                  placeholder="请选择"
-                  @focus="(e) => getSpecialtyList4AddRelation(e.target.value)"
-                >
-                  <el-option
-                    v-for="item in specialtyList4AddRelationWrapper"
-                    :key="item.id"
-                    :label="item.name"
-                    :value="item.id"
-                  />
-                </el-select>
-              </el-form-item>
-            </el-row>
-            <el-row class="d-flex justify-content-center">
-              <el-button type="primary" @click="submitAddRelationForm">
-                保 存
-              </el-button>
-              <el-button @click="addRelationDialog = false">取 消</el-button>
-            </el-row>
-          </el-form>
-        </el-dialog>
-
-        <!-- 页面列表 -->
-        <!-- FIXME: element-ui style bug https://github.com/ElemeFE/element/issues/16167 -->
-        <el-table
-          :data="tableData"
-          border
-          resizable
-          stripe
-          style="width: 99.99% !important"
-          @selection-change="selectChange"
-        >
-          <el-table-column type="selection" width="40" />
-          <el-table-column prop="id" label="课程ID" width="80" />
-          <el-table-column prop="name" label="课程名称" width="180" />
-          <el-table-column prop="code" label="课程代码" />
-          <el-table-column label="层次">
-            <span slot-scope="scope">{{ getLevel(scope.row.level) }}</span>
-          </el-table-column>
-          <el-table-column width="50" label="状态">
-            <span slot-scope="scope">
-              <span v-if="scope.row.enable">
-                <el-tooltip
-                  class="item"
-                  effect="dark"
-                  content="启用"
-                  placement="left"
-                >
-                  <i class="el-icon-success" style="color: green"></i>
-                </el-tooltip>
-              </span>
-              <span v-else>
-                <el-tooltip
-                  class="item"
-                  effect="dark"
-                  content="禁用"
-                  placement="left"
-                >
-                  <i class="el-icon-error" style="color: red"></i>
-                </el-tooltip>
-              </span>
-            </span>
-          </el-table-column>
-          <el-table-column
-            sortable
-            prop="updateTime"
-            label="更新时间"
-            width="170"
-          />
-          <el-table-column label="操作" width="290">
-            <div slot-scope="scope">
-              <!-- <el-button
-                size="mini"
-                type="primary"
-                plain
-                icon="el-icon-share"
-                @click="relation(scope.row)"
-              >
-                关联专业
-              </el-button> -->
+      <!-- 专业列表 -->
+      <el-table :data="specialtyTableData" border>
+        <el-table-column prop="id" label="ID" width="100" />
+        <el-table-column prop="name" label="专业名称" width="250" />
+        <el-table-column prop="code" label="专业代码" />
+        <el-table-column
+          sortable
+          prop="updateTime"
+          label="更新时间"
+          width="170"
+        />
+        <el-table-column label="操作">
+          <div slot-scope="scope">
+            <span>
               <el-button
                 size="mini"
                 type="primary"
+                icon="el-icon-edit"
                 plain
-                @click="editCourse(scope.row)"
-              >
-                <i class="el-icon-edit"></i> 编辑
-              </el-button>
-              <el-button
-                v-if="!scope.row.enable"
-                size="mini"
-                plain
-                type="primary"
-                icon="el-icon-check"
-                @click="enableById(scope.row)"
-              >
-                启用
-              </el-button>
-              <el-button
-                v-if="scope.row.enable"
-                size="mini"
-                type="danger"
-                icon="el-icon-close"
-                @click="disableById(scope.row)"
+                @click="deleteRelation(scope.row)"
               >
-                禁用
+                取消关联
               </el-button>
-            </div>
-          </el-table-column>
-        </el-table>
-        <div class="page pull-right">
-          <el-pagination
-            :current-page="currentPage"
-            :page-size="10"
-            :page-sizes="[10, 20, 50, 100, 200, 300]"
-            layout="total, sizes, prev, pager, next, jumper"
-            :total="total"
-            @current-change="handleCurrentChange"
-            @size-change="handleSizeChange"
+            </span>
+          </div>
+        </el-table-column>
+      </el-table>
+      <div class="part-page">
+        <el-pagination
+          :current-page="currentSpecialtyPage"
+          :page-size="10"
+          :total="specialtyTotal"
+          @current-change="handleSpecialtyCurrentChange"
+        />
+      </div>
+    </el-dialog>
+
+    <!-- 添加关联 -->
+    <el-dialog
+      title="添加关联专业"
+      :visible.sync="addRelationDialog"
+      width="400px"
+      :modal="false"
+      append-to-body
+      custom-class="side-dialog"
+      @close="() => $refs.addRelationForm.clearValidate()"
+    >
+      <el-form
+        ref="addRelationForm"
+        :inline="true"
+        inline-message
+        :model="addRelationForm"
+        :rules="addRelationRules"
+      >
+        <el-form-item label="专业" prop="specialtyId">
+          <el-select
+            v-model="addRelationForm.specialtyId"
+            class="input"
+            style="width: 200px"
+            remote
+            :remote-method="getSpecialtyList4AddRelation"
+            :loading="specialtyLoading4AddRelation"
+            filterable
+            clearable
+            placeholder="请选择"
+            @focus="(e) => getSpecialtyList4AddRelation(e.target.value)"
           >
-          </el-pagination>
-        </div>
+            <el-option
+              v-for="item in specialtyList4AddRelationWrapper"
+              :key="item.id"
+              :label="item.name"
+              :value="item.id"
+            />
+          </el-select>
+        </el-form-item>
+      </el-form>
+      <div slot="footer">
+        <el-button type="primary" @click="submitAddRelationForm">
+          保 存
+        </el-button>
+        <el-button @click="addRelationDialog = false">取 消</el-button>
       </div>
-    </div>
+    </el-dialog>
   </section>
 </template>
 

+ 172 - 183
src/modules/questions/views/CourseProperty.vue

@@ -4,100 +4,83 @@
       <LinkTitlesCustom :current-paths="['基础信息', '课程属性预设']" />
     </div>
     <!-- 正文信息 -->
-    <div class="box-body">
-      <el-form
-        :inline="true"
-        :model="formSearch"
-        label-position="right"
-        label-width="70px"
-      >
-        <el-row>
-          <el-col :span="6">
-            <el-form-item label="属性名称">
-              <el-input
-                v-model="formSearch.name"
-                class="search_width"
-                placeholder="请输入属性名称"
-                size="small"
-              ></el-input>
-            </el-form-item>
-          </el-col>
-          <el-col :span="6">
-            <el-form-item label="课程名称">
-              <el-select
-                v-model="formSearch.courseId"
-                class="search_width"
-                filterable
-                :remote-method="getCourses"
-                remote
-                clearable
-                placeholder="请选择"
-                size="small"
-                @focus="(e) => getCourses(e.target.value)"
-              >
-                <el-option
-                  v-for="item in courseInfoSelect"
-                  :key="item.courseId"
-                  :label="item.courseInfo"
-                  :value="item.courseId"
-                >
-                </el-option>
-              </el-select>
-            </el-form-item>
-          </el-col>
-          <el-col :span="6">
-            <div class="search_down">
-              <el-button size="small" type="primary" @click="searchFrom"
-                ><i class="el-icon-search"></i> 查询</el-button
-              >
-              <el-button size="small" type="primary" @click="addCourseProperty"
-                ><i class="el-icon-plus"></i> 新增</el-button
-              >
-            </div>
-          </el-col>
-        </el-row>
-        <div
-          style="width: 100%; border-bottom: 1px solid #ddd; margin: 10px 0"
-        ></div>
-        <el-row>
-          <el-form-item class="pull-left">
-            <span>批量操作:</span>
-            <el-button
-              size="small"
-              type="success"
-              :disabled="noBatchSelected"
-              @click="openCoursePropertys"
-              ><i class="el-icon-check"></i> 启用</el-button
-            >
-            <el-button
-              size="small"
-              type="danger"
-              :disabled="noBatchSelected"
-              @click="closeCoursePropertys"
-              ><i class="el-icon-close"></i> 禁用</el-button
-            >
-            <el-button
-              size="small"
-              type="primary"
-              icon="el-icon-upload2"
-              @click="impCourseProperty"
+    <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"
+            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
+            clearable
+            placeholder="请选择"
+            @focus="(e) => getCourses(e.target.value)"
+          >
+            <el-option
+              v-for="item in courseInfoSelect"
+              :key="item.courseId"
+              :label="item.courseInfo"
+              :value="item.courseId"
             >
-              导入
-            </el-button>
-          </el-form-item>
-        </el-row>
+            </el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item>
+          <el-button type="primary" @click="searchFrom"
+            ><i class="el-icon-search"></i> 查询</el-button
+          >
+        </el-form-item>
       </el-form>
-      <div style="width: 100%; margin-bottom: 10px"></div>
+      <div class="part-box-action">
+        <div>
+          <el-button
+            type="success"
+            :disabled="noBatchSelected"
+            @click="openCoursePropertys"
+            ><i class="el-icon-check"></i> 启用</el-button
+          >
+          <el-button
+            type="danger"
+            :disabled="noBatchSelected"
+            @click="closeCoursePropertys"
+            ><i class="el-icon-close"></i> 禁用</el-button
+          >
+          <el-button
+            type="primary"
+            icon="el-icon-upload2"
+            @click="impCourseProperty"
+          >
+            导入
+          </el-button>
+        </div>
+        <el-button type="primary" @click="addCourseProperty"
+          ><i class="el-icon-plus"></i> 新增</el-button
+        >
+      </div>
+    </div>
+
+    <div class="part-box">
       <!-- 页面列表 -->
       <el-table
         v-loading="loading"
         :data="tableData"
         element-loading-text="拼命加载中"
-        border
-        style="width: 100%"
         @selection-change="selectionChange"
       >
-        <el-table-column type="selection" width="40"></el-table-column>
+        <el-table-column
+          type="selection"
+          width="50"
+          align="center"
+        ></el-table-column>
         <el-table-column label="课程名称">
           <template slot-scope="scope">
             <span>{{ scope.row.courseName }}</span>
@@ -117,7 +100,7 @@
                 content="启用"
                 placement="left"
               >
-                <i class="el-icon-success" style="color: green"></i>
+                <i class="el-icon-success" style="color: #1fb46f"></i>
               </el-tooltip>
             </span>
             <span v-else>
@@ -127,12 +110,12 @@
                 content="禁用"
                 placement="left"
               >
-                <i class="el-icon-error" style="color: red"></i>
+                <i class="el-icon-error" style="color: #ff7240"></i>
               </el-tooltip>
             </span>
           </template>
         </el-table-column>
-        <el-table-column label="操作" width="260">
+        <el-table-column label="操作" width="200">
           <template slot-scope="scope">
             <div class="operate_left">
               <el-button
@@ -163,7 +146,7 @@
           </template>
         </el-table-column>
       </el-table>
-      <div class="page pull-right">
+      <div class="part-page">
         <el-pagination
           :current-page.sync="currentPage"
           :page-size="pageSize"
@@ -176,10 +159,14 @@
         </el-pagination>
       </div>
     </div>
+
     <el-dialog
       title="新增课程属性名称"
       :visible.sync="coursePropertyDialog"
       width="500px"
+      :modal="false"
+      append-to-body
+      custom-class="side-dialog"
     >
       <el-form
         ref="coursePropertyForm"
@@ -189,106 +176,108 @@
         label-width="90px"
         inline-message
       >
-        <el-row>
-          <el-form-item label="属性名称" label-width="120px" prop="name">
-            <el-input
-              v-model="coursePropertyForm.name"
-              class="dialog_input_width"
-            ></el-input>
-          </el-form-item>
-        </el-row>
-        <el-row>
-          <el-form-item label="课程名称" label-width="120px" prop="courseId">
-            <el-select
-              v-model="coursePropertyForm.courseId"
-              class="dialog_input_width"
-              filterable
-              :remote-method="getCourses"
-              remote
-              clearable
-              placeholder="请选择课程"
-              @focus="(e) => getCourses(e.target.value)"
-            >
-              <el-option
-                v-for="item in courseInfoSelect"
-                :key="item.courseId"
-                :label="item.courseInfo"
-                :value="item.courseId"
-              >
-              </el-option>
-            </el-select>
-          </el-form-item>
-        </el-row>
-        <el-row class="margin_top_10 margin_left_120">
-          <el-button type="primary" @click="submit('coursePropertyForm')"
-            >保 存</el-button
-          >
-          <el-button @click="resetForm('coursePropertyForm')"
-            ><i class="el-icon-refresh"></i> 重 置</el-button
-          >
-          <el-button type="primary" @click="back('coursePropertyForm')"
-            ><i class="el-icon-arrow-left"></i> 返 回</el-button
+        <el-form-item label="属性名称" prop="name">
+          <el-input
+            v-model="coursePropertyForm.name"
+            class="dialog_input_width"
+            placeholder="请输入"
+          ></el-input>
+        </el-form-item>
+        <el-form-item label="课程名称" prop="courseId">
+          <el-select
+            v-model="coursePropertyForm.courseId"
+            class="dialog_input_width"
+            filterable
+            :remote-method="getCourses"
+            remote
+            clearable
+            placeholder="请选择课程"
+            @focus="(e) => getCourses(e.target.value)"
           >
-        </el-row>
+            <el-option
+              v-for="item in courseInfoSelect"
+              :key="item.courseId"
+              :label="item.courseInfo"
+              :value="item.courseId"
+            >
+            </el-option>
+          </el-select>
+        </el-form-item>
       </el-form>
+      <div slot="footer">
+        <el-button type="primary" @click="submit('coursePropertyForm')"
+          >保 存</el-button
+        >
+        <el-button @click="resetForm('coursePropertyForm')"
+          ><i class="el-icon-refresh"></i> 重 置</el-button
+        >
+        <el-button type="primary" @click="back('coursePropertyForm')"
+          ><i class="el-icon-arrow-left"></i> 返 回</el-button
+        >
+      </div>
     </el-dialog>
     <!-- 导入弹窗 -->
-    <el-dialog title="导入窗口" width="520px" :visible.sync="impDialog">
+    <el-dialog
+      title="导入窗口"
+      width="520px"
+      :visible.sync="impDialog"
+      :modal="false"
+      append-to-body
+      custom-class="side-dialog"
+    >
       <el-form>
-        <el-row>
-          <el-form-item style="margin-left: 20px">
-            <el-upload
-              ref="upload"
-              class="form_left"
-              accept="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
-              :action="uploadAction"
-              :headers="uploadHeaders"
-              :data="uploadData"
-              :before-upload="beforeUpload"
-              :on-progress="uploadProgress"
-              :on-success="uploadSuccess"
-              :on-error="uploadError"
-              :file-list="fileList"
-              :auto-upload="false"
-              :multiple="false"
+        <el-form-item style="margin-left: 20px">
+          <el-upload
+            ref="upload"
+            class="form_left"
+            accept="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
+            :action="uploadAction"
+            :headers="uploadHeaders"
+            :data="uploadData"
+            :before-upload="beforeUpload"
+            :on-progress="uploadProgress"
+            :on-success="uploadSuccess"
+            :on-error="uploadError"
+            :file-list="fileList"
+            :auto-upload="false"
+            :multiple="false"
+          >
+            <el-button
+              slot="trigger"
+              size="small"
+              type="primary"
+              icon="el-icon-search"
             >
-              <el-button
-                slot="trigger"
-                size="small"
-                type="primary"
-                icon="el-icon-search"
-              >
-                选择文件
-              </el-button>
-              &nbsp;
-              <el-button
-                size="small"
-                type="primary"
-                icon="el-icon-check"
-                @click="submitUpload"
-              >
-                确认上传
-              </el-button>
-              <el-button
-                size="small"
-                type="primary"
-                icon="el-icon-refresh"
-                @click="removeFile"
-              >
-                清空文件
-              </el-button>
-              <el-button
-                size="small"
-                type="primary"
-                icon="el-icon-download"
-                @click="exportFile"
-              >
-                下载模板
-              </el-button>
-              <div slot="tip" class="el-upload__tip">只能上传xlsx文件</div>
-            </el-upload>
-          </el-form-item>
-        </el-row>
+              选择文件
+            </el-button>
+            &nbsp;
+            <el-button
+              size="small"
+              type="primary"
+              icon="el-icon-check"
+              @click="submitUpload"
+            >
+              确认上传
+            </el-button>
+            <el-button
+              size="small"
+              type="primary"
+              icon="el-icon-refresh"
+              @click="removeFile"
+            >
+              清空文件
+            </el-button>
+            <el-button
+              size="small"
+              type="primary"
+              icon="el-icon-download"
+              @click="exportFile"
+            >
+              下载模板
+            </el-button>
+            <div slot="tip" class="el-upload__tip">只能上传xlsx文件</div>
+          </el-upload>
+        </el-form-item>
       </el-form>
     </el-dialog>
 

+ 209 - 215
src/modules/questions/views/EditSelectQuestion.vue

@@ -1,236 +1,230 @@
 <template>
   <div id="editSelectApp" v-loading="fullscreenLoading">
-    <section class="content">
-      <!-- 头信息 -->
-      <h3 class="box-title">
-        <span v-if="!quesModel.id"
-          ><LinkTitlesCustom :current-paths="['试题管理', '试题新增']"
-        /></span>
-        <span v-if="quesModel.id"
-          ><LinkTitlesCustom :current-paths="['试题管理', '试题修改']"
-        /></span>
-      </h3>
+    <!-- 头信息 -->
+    <h3 class="box-title">
+      <span v-if="!quesModel.id"
+        ><LinkTitlesCustom :current-paths="['试题管理', '试题新增']"
+      /></span>
+      <span v-if="quesModel.id"
+        ><LinkTitlesCustom :current-paths="['试题管理', '试题修改']"
+      /></span>
+    </h3>
+    <div class="part-box">
       <!-- 正文信息 -->
-      <div class="box-body">
-        <el-form
-          ref="quesModel"
-          :model="quesModel"
-          :rules="rules"
-          label-width="100px"
-          class="demo-ruleForm"
-          label-position="right"
-        >
-          <el-form-item label="题型">
-            <el-select
-              v-model="quesModel.questionType"
-              :disabled="true"
-              placeholder="请输入题型"
+      <el-form
+        ref="quesModel"
+        :model="quesModel"
+        :rules="rules"
+        label-width="100px"
+        class="demo-ruleForm"
+      >
+        <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
-                v-for="item in questionTypes"
-                :key="item.value"
-                :label="item.label"
-                :value="item.value"
-              >
-              </el-option>
-            </el-select>
-          </el-form-item>
-          <!--
+            </el-option>
+          </el-select>
+        </el-form-item>
+        <!--
               <el-form-item label="分数">
                   <el-input placeholder="分数" v-model="quesModel.score" style="width:50px;"></el-input>
               </el-form-item>
             -->
-          <!-- created by weiwenhai -->
-          <el-form-item label="难度">
-            <el-select
-              v-model="quesModel.difficultyDegree"
-              placeholder="请输入难度"
+        <!-- created by weiwenhai -->
+        <el-form-item label="难度">
+          <el-select
+            v-model="quesModel.difficultyDegree"
+            placeholder="请输入难度"
+          >
+            <el-option
+              v-for="item in difficultyDegreeList"
+              :key="item.value"
+              :label="item.label"
+              :value="item.value"
             >
-              <el-option
-                v-for="item in difficultyDegreeList"
-                :key="item.value"
-                :label="item.label"
-                :value="item.value"
-              >
-              </el-option>
-            </el-select>
-          </el-form-item>
-          <el-form-item label="公开度">
-            <el-select v-model="quesModel.publicity" placeholder="请输入公开度">
-              <el-option
-                v-for="item in publicityList"
-                :key="item.value"
-                :label="item.label"
-                :value="item.value"
-              >
-              </el-option>
-            </el-select>
-          </el-form-item>
+            </el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="公开度">
+          <el-select v-model="quesModel.publicity" placeholder="请输入公开度">
+            <el-option
+              v-for="item in publicityList"
+              :key="item.value"
+              :label="item.label"
+              :value="item.value"
+            >
+            </el-option>
+          </el-select>
+        </el-form-item>
 
-          <el-form-item
-            v-if="quesModel.questionType == 'TEXT_ANSWER_QUESTION'"
-            label="作答类型"
+        <el-form-item
+          v-if="quesModel.questionType == 'TEXT_ANSWER_QUESTION'"
+          label="作答类型"
+        >
+          <el-select v-model="quesModel.answerType">
+            <el-option
+              v-for="item in answerTypes"
+              :key="item.value"
+              :label="item.label"
+              :value="item.value"
+            >
+            </el-option>
+          </el-select>
+        </el-form-item>
+
+        <el-form-item label="属性列表">
+          <el-tooltip
+            v-for="(content, index) in quesModel.quesProperties"
+            :key="index"
+            placement="top"
           >
-            <el-select v-model="quesModel.answerType">
-              <el-option
-                v-for="item in answerTypes"
-                :key="item.value"
-                :label="item.label"
-                :value="item.value"
+            <div slot="content">
+              <span v-if="content.firstProperty != null"
+                >一级属性:{{ content.firstProperty.name }}({{
+                  content.firstProperty.code
+                }})</span
+              ><br />
+              <span v-if="content.secondProperty != null"
+                >二级属性:{{ content.secondProperty.name }}({{
+                  content.secondProperty.code
+                }})</span
               >
-              </el-option>
-            </el-select>
-          </el-form-item>
-
-          <el-form-item label="属性列表">
-            <el-tooltip
-              v-for="(content, index) in quesModel.quesProperties"
-              :key="index"
-              placement="top"
+            </div>
+            <el-tag
+              :key="content.id"
+              style="margin-right: 5px"
+              closable
+              type="primary"
+              @close="handleClose(content)"
             >
-              <div slot="content">
-                <span v-if="content.firstProperty != null"
-                  >一级属性:{{ content.firstProperty.name }}({{
-                    content.firstProperty.code
-                  }})</span
-                ><br />
-                <span v-if="content.secondProperty != null"
-                  >二级属性:{{ content.secondProperty.name }}({{
-                    content.secondProperty.code
-                  }})</span
-                >
-              </div>
-              <el-tag
-                :key="content.id"
-                style="margin-right: 5px"
-                closable
-                type="primary"
-                @close="handleClose(content)"
+              {{ content.coursePropertyName }}
+            </el-tag>
+          </el-tooltip>
+        </el-form-item>
+        <el-row :gutter="20">
+          <el-col :xs="6" :sm="6" :md="6" :lg="6">
+            <el-form-item label="属性名">
+              <el-select
+                v-model="coursePropertyName"
+                placeholder="属性名"
+                class="property_with"
+                @change="searchFirst"
               >
-                {{ content.coursePropertyName }}
-              </el-tag>
-            </el-tooltip>
-          </el-form-item>
-          <el-row :gutter="20">
-            <el-col :xs="6" :sm="6" :md="6" :lg="6">
-              <el-form-item label="属性名">
-                <el-select
-                  v-model="coursePropertyName"
-                  placeholder="属性名"
-                  class="property_with"
-                  @change="searchFirst"
+                <el-option
+                  v-for="item in coursePropertyList"
+                  :key="item.name"
+                  :label="item.name"
+                  :value="item.name"
                 >
-                  <el-option
-                    v-for="item in coursePropertyList"
-                    :key="item.name"
-                    :label="item.name"
-                    :value="item.name"
-                  >
-                  </el-option>
-                </el-select>
-              </el-form-item>
-            </el-col>
-            <el-col :xs="6" :sm="6" :md="6" :lg="6">
-              <el-form-item label="一级">
-                <el-select
-                  v-model="firstPropertyId"
-                  placeholder="一级"
-                  class="property_with"
-                  @change="searchSecond"
-                >
-                  <el-option
-                    v-for="item in firstPropertyList"
-                    :key="item.id"
-                    :label="item.name + '(' + item.code + ')'"
-                    :value="item.id"
-                  >
-                  </el-option>
-                </el-select>
-              </el-form-item>
-            </el-col>
-            <el-col :xs="6" :sm="6" :md="6" :lg="6">
-              <el-form-item label="二级">
-                <el-select
-                  v-model="secondPropertyId"
-                  placeholder="二级"
-                  class="property_with"
+                </el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="6" :sm="6" :md="6" :lg="6">
+            <el-form-item label="一级">
+              <el-select
+                v-model="firstPropertyId"
+                placeholder="一级"
+                class="property_with"
+                @change="searchSecond"
+              >
+                <el-option
+                  v-for="item in firstPropertyList"
+                  :key="item.id"
+                  :label="item.name + '(' + item.code + ')'"
+                  :value="item.id"
                 >
-                  <el-option
-                    v-for="item in secondPropertyList"
-                    :key="item.id"
-                    :label="item.name + '(' + item.code + ')'"
-                    :value="item.id"
-                  >
-                  </el-option>
-                </el-select>
-              </el-form-item>
-            </el-col>
-            <el-col :xs="3" :sm="3" :md="3" :lg="3">
-              <el-form-item>
-                <el-button
-                  type="primary"
-                  style="margin-left: -30px"
-                  @click="insertProperty"
-                  ><i class="el-icon-plus"></i> 新增属性</el-button
+                </el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="6" :sm="6" :md="6" :lg="6">
+            <el-form-item label="二级">
+              <el-select
+                v-model="secondPropertyId"
+                placeholder="二级"
+                class="property_with"
+              >
+                <el-option
+                  v-for="item in secondPropertyList"
+                  :key="item.id"
+                  :label="item.name + '(' + item.code + ')'"
+                  :value="item.id"
                 >
-              </el-form-item>
-            </el-col>
-          </el-row>
-          <!-- end -->
-          <el-form-item label="题干" prop="quesBody">
-            <ckeditor v-model="quesModel.quesBody"></ckeditor>
-          </el-form-item>
-          <el-form-item
-            v-for="(option, index) in quesModel.quesOptions"
-            :key="option.number"
+                </el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="3" :sm="3" :md="3" :lg="3">
+            <el-form-item>
+              <el-button
+                type="primary"
+                style="margin-left: -30px"
+                @click="insertProperty"
+                ><i class="el-icon-plus"></i> 新增属性</el-button
+              >
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <!-- end -->
+        <el-form-item label="题干" prop="quesBody">
+          <ckeditor v-model="quesModel.quesBody"></ckeditor>
+        </el-form-item>
+        <el-form-item
+          v-for="(option, index) in quesModel.quesOptions"
+          :key="option.number"
+        >
+          <el-col :span="1">
+            <el-radio
+              v-if="quesModel.questionType === 'SINGLE_ANSWER_QUESTION'"
+              v-model="singleRightAnswer"
+              :label="index | optionOrderWordFilter"
+            ></el-radio>
+            <el-checkbox
+              v-if="quesModel.questionType === 'MULTIPLE_ANSWER_QUESTION'"
+              v-model="multipleRightAnswer"
+              :label="index | optionOrderWordFilter"
+            ></el-checkbox>
+          </el-col>
+          <el-col :span="20">
+            <ckeditor v-model="option.optionBody"></ckeditor>
+          </el-col>
+          <el-col :span="2">
+            <i
+              class="el-icon-delete"
+              title="删除"
+              @click.prevent="removeQuesOption(option)"
+            ></i>
+          </el-col>
+        </el-form-item>
+        <el-form-item label="答案">
+          <el-col> <span v-html="answer"></span> </el-col>
+        </el-form-item>
+        <el-form-item>
+          <el-button type="primary" @click="addQuesOption"
+            ><i class="el-icon-plus"></i> 新增选项</el-button
           >
-            <el-col :span="1">
-              <el-radio
-                v-if="quesModel.questionType === 'SINGLE_ANSWER_QUESTION'"
-                v-model="singleRightAnswer"
-                :label="index | optionOrderWordFilter"
-              ></el-radio>
-              <el-checkbox
-                v-if="quesModel.questionType === 'MULTIPLE_ANSWER_QUESTION'"
-                v-model="multipleRightAnswer"
-                :label="index | optionOrderWordFilter"
-              ></el-checkbox>
-            </el-col>
-            <el-col :span="20">
-              <ckeditor v-model="option.optionBody"></ckeditor>
-            </el-col>
-            <el-col :span="2">
-              <i
-                class="el-icon-delete"
-                title="删除"
-                @click.prevent="removeQuesOption(option)"
-              ></i>
-            </el-col>
-          </el-form-item>
-          <el-form-item label="答案">
-            <el-col> <span v-html="answer"></span> </el-col>
-          </el-form-item>
-          <el-form-item>
-            <el-button type="primary" @click="addQuesOption"
-              ><i class="el-icon-plus"></i> 新增选项</el-button
-            >
-            <el-button
-              type="primary"
-              icon="check"
-              :disabled="saveDisabled"
-              @click="submitForm('quesModel')"
-              >保存</el-button
-            >
-            <el-button
-              type="primary"
-              icon="caret-left"
-              @click="backToQuesList()"
-              ><i class="el-icon-arrow-left"></i> 返回列表
-            </el-button>
-          </el-form-item>
-        </el-form>
-      </div>
-    </section>
+          <el-button
+            type="primary"
+            icon="check"
+            :disabled="saveDisabled"
+            @click="submitForm('quesModel')"
+            >保存</el-button
+          >
+          <el-button type="primary" icon="caret-left" @click="backToQuesList()"
+            ><i class="el-icon-arrow-left"></i> 返回列表
+          </el-button>
+        </el-form-item>
+      </el-form>
+    </div>
   </div>
 </template>
 <script>

+ 126 - 147
src/modules/questions/views/ExamPaperPendingTrial.vue

@@ -3,159 +3,130 @@
     <div v-show="isClear == 1">
       <LinkTitlesCustom :current-paths="['卷库管理 ', '待审列表']" />
     </div>
-    <div class="box-body">
-      <el-form
-        :inline="true"
-        :model="formSearch"
-        label-position="right"
-        label-width="70px"
-      >
-        <el-row>
-          <el-col :span="6">
-            <el-form-item label="课程名称">
-              <el-select
-                v-model="formSearch.courseNo"
-                class="search_width"
-                filterable
-                :remote-method="getCourses"
-                remote
-                clearable
-                placeholder="全部"
-                size="small"
-                @focus="(e) => getCourses(e.target.value)"
-              >
-                <el-option
-                  v-for="item in courseInfoSelect"
-                  :key="item.courseNo"
-                  :label="item.courseInfo"
-                  :value="item.courseNo"
-                >
-                </el-option>
-              </el-select>
-            </el-form-item>
-          </el-col>
-          <el-col :span="6">
-            <el-form-item label="试卷名称">
-              <el-input
-                v-model="formSearch.name"
-                class="search_width"
-                placeholder="试卷名称"
-                size="small"
-              ></el-input>
-            </el-form-item>
-          </el-col>
-          <el-col :span="6">
-            <el-form-item label="审核状态">
-              <el-select
-                v-model="formSearch.auditStatus"
-                class="search_width"
-                clearable
-                placeholder="请选择"
-                size="small"
-              >
-                <el-option label="初级待审" value="FIRST_PENDING_TRIAL">
-                </el-option>
-                <el-option label="中级待审" value="SECOND_PENDING_TRIAL">
-                </el-option>
-                <el-option label="高级待审" value="THIRD_PENDING_TRIAL">
-                </el-option>
-                <el-option label="已撤回" value="WITHDRAW"> </el-option>
-                <el-option label="审核未通过" value="NOT_PASS"> </el-option>
-              </el-select>
-            </el-form-item>
-          </el-col>
-          <el-col :span="6">
-            <el-form-item label="录入人">
-              <el-input
-                v-model="formSearch.creator"
-                class="search_width"
-                placeholder="录入人"
-                size="small"
-              ></el-input>
-            </el-form-item>
-          </el-col>
-        </el-row>
-        <el-row>
-          <el-col :span="6">
-            <el-form-item label="修改人">
-              <el-input
-                v-model="formSearch.lastModifyName"
-                class="search_width"
-                placeholder="修改人"
-                size="small"
-              ></el-input>
-            </el-form-item>
-          </el-col>
-          <el-col :span="6">
-            <div class="search_down">
-              <el-button size="small" type="primary" @click="searchFrom"
-                ><i class="el-icon-search"></i> 查询</el-button
-              >
-              <el-button size="small" @click="resetForm"
-                ><i class="el-icon-refresh"></i> 重 置</el-button
-              >
-            </div>
-          </el-col>
-        </el-row>
-        <div
-          style="width: 100%; border-bottom: 1px solid #ddd; margin: 10px 0"
-        ></div>
-        <el-row>
-          <el-form-item>
-            <span>批量操作:</span>
-            <el-button
-              :disabled="noBatchSelected"
-              size="mini"
-              type="danger"
-              plain
-              @click="deletePapers"
-              >批量删除</el-button
-            >
-            <el-button
-              :disabled="noBatchSelected"
-              size="mini"
-              type="primary"
-              plain
-              @click="auditPapers('PASS')"
-              >批量通过</el-button
-            >
-            <el-button
-              :disabled="noBatchSelected"
-              size="mini"
-              type="primary"
-              plain
-              @click="auditPapers('NOT_PASS')"
-              >批量不通过</el-button
+    <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-select
+            v-model="formSearch.courseNo"
+            class="search_width"
+            filterable
+            :remote-method="getCourses"
+            remote
+            clearable
+            placeholder="全部"
+            @focus="(e) => getCourses(e.target.value)"
+          >
+            <el-option
+              v-for="item in courseInfoSelect"
+              :key="item.courseNo"
+              :label="item.courseInfo"
+              :value="item.courseNo"
             >
-            <el-button
-              :disabled="noBatchSelected"
-              size="mini"
-              type="primary"
-              plain
-              @click="withdrawPapers()"
-              >批量撤回</el-button
-            >
-            <el-button
-              :disabled="noBatchSelected"
-              size="mini"
-              type="primary"
-              plain
-              @click="submitPapers()"
-              >批量提交</el-button
-            >
-          </el-form-item>
-        </el-row>
+            </el-option>
+          </el-select>
+        </el-form-item>
+        <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.auditStatus"
+            class="search_width"
+            clearable
+            placeholder="请选择"
+          >
+            <el-option label="初级待审" value="FIRST_PENDING_TRIAL">
+            </el-option>
+            <el-option label="中级待审" value="SECOND_PENDING_TRIAL">
+            </el-option>
+            <el-option label="高级待审" value="THIRD_PENDING_TRIAL">
+            </el-option>
+            <el-option label="已撤回" value="WITHDRAW"> </el-option>
+            <el-option label="审核未通过" value="NOT_PASS"> </el-option>
+          </el-select>
+        </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-input
+            v-model="formSearch.lastModifyName"
+            class="search_width"
+            placeholder="修改人"
+          ></el-input>
+        </el-form-item>
+        <el-form-item>
+          <el-button type="primary" @click="searchFrom"
+            ><i class="el-icon-search"></i> 查询</el-button
+          >
+          <el-button @click="resetForm"
+            ><i class="el-icon-refresh"></i> 重 置</el-button
+          >
+        </el-form-item>
       </el-form>
-      <div style="width: 100%; margin-bottom: 10px"></div>
+      <div class="part-box-action">
+        <div>
+          <el-button
+            :disabled="noBatchSelected"
+            type="danger"
+            plain
+            @click="deletePapers"
+            >批量删除</el-button
+          >
+          <el-button
+            :disabled="noBatchSelected"
+            type="primary"
+            plain
+            @click="auditPapers('PASS')"
+            >批量通过</el-button
+          >
+          <el-button
+            :disabled="noBatchSelected"
+            type="primary"
+            plain
+            @click="auditPapers('NOT_PASS')"
+            >批量不通过</el-button
+          >
+          <el-button
+            :disabled="noBatchSelected"
+            type="primary"
+            plain
+            @click="withdrawPapers()"
+            >批量撤回</el-button
+          >
+          <el-button
+            :disabled="noBatchSelected"
+            type="primary"
+            plain
+            @click="submitPapers()"
+            >批量提交</el-button
+          >
+        </div>
+        <div></div>
+      </div>
+    </div>
+
+    <div class="part-box">
       <el-table
         v-loading="loading"
         element-loading-text="拼命加载中"
         :data="tableData"
-        border
-        style="width: 100%"
         @selection-change="selectChange"
       >
-        <el-table-column type="selection" width="40"></el-table-column>
+        <el-table-column
+          type="selection"
+          width="50"
+          align="center"
+        ></el-table-column>
         <el-table-column label="课程名称" width="180">
           <template slot-scope="scope">
             <span>{{ scope.row.course.name }}</span>
@@ -308,7 +279,7 @@
           </template>
         </el-table-column>
       </el-table>
-      <div class="page pull-right">
+      <div class="part-page">
         <el-pagination
           :current-page="currentPage"
           :page-size="pageSize"
@@ -321,7 +292,15 @@
         </el-pagination>
       </div>
     </div>
-    <el-dialog title="审核试卷" width="50%" :visible.sync="auditPaperDialog">
+
+    <el-dialog
+      title="审核试卷"
+      width="50%"
+      :visible.sync="auditPaperDialog"
+      :modal="false"
+      append-to-body
+      custom-class="side-dialog"
+    >
       <AuditPaper
         v-if="auditPaperDialog"
         :paper-ids="selectedPaperIds"

+ 2 - 2
src/modules/questions/views/ExportTemplate.vue

@@ -84,7 +84,7 @@
                 content="启用"
                 placement="left"
               >
-                <i class="el-icon-success" style="color: green"></i>
+                <i class="el-icon-success" style="color: #1fb46f"></i>
               </el-tooltip>
             </span>
             <span v-else>
@@ -94,7 +94,7 @@
                 content="禁用"
                 placement="left"
               >
-                <i class="el-icon-error" style="color: red"></i>
+                <i class="el-icon-error" style="color: #ff7240"></i>
               </el-tooltip>
             </span>
           </template>

+ 200 - 243
src/modules/questions/views/GenPaper.vue

@@ -3,151 +3,124 @@
     <div v-show="isClear == 1">
       <LinkTitlesCustom :current-paths="['题库管理 ', '考试试卷管理']" />
     </div>
-    <div class="box-body">
-      <el-form
-        :inline="true"
-        :model="formSearch"
-        label-position="right"
-        label-width="70px"
-      >
-        <el-row>
-          <el-col :span="6">
-            <el-form-item label="课程名称">
-              <el-select
-                v-model="formSearch.courseNo"
-                class="search_width"
-                filterable
-                :remote-method="getCourses"
-                remote
-                clearable
-                placeholder="全部"
-                size="small"
-                @focus="(e) => getCourses(e.target.value)"
-              >
-                <el-option
-                  v-for="item in courseInfoSelect"
-                  :key="item.courseNo"
-                  :label="item.courseInfo"
-                  :value="item.courseNo"
-                >
-                </el-option>
-              </el-select>
-            </el-form-item>
-          </el-col>
-          <el-col :span="6">
-            <el-form-item label="试卷名称">
-              <el-input
-                v-model="formSearch.name"
-                class="search_width"
-                placeholder="试卷名称"
-                size="small"
-              ></el-input>
-            </el-form-item>
-          </el-col>
-          <el-col :span="6">
-            <el-form-item label="层次">
-              <el-select
-                v-model="formSearch.level"
-                class="search_width"
-                clearable
-                placeholder="请选择"
-                size="small"
-              >
-                <el-option
-                  v-for="item in levelList"
-                  :key="item.value"
-                  :label="item.label"
-                  :value="item.value"
-                >
-                </el-option>
-              </el-select>
-            </el-form-item>
-          </el-col>
-          <el-col :span="6">
-            <el-form-item label="录入人">
-              <el-input
-                v-model="formSearch.creator"
-                class="search_width"
-                placeholder="录入人"
-                size="small"
-              ></el-input>
-            </el-form-item>
-          </el-col>
-        </el-row>
-        <el-row>
-          <el-col :span="6">
-            <el-form-item label="修改人">
-              <el-input
-                v-model="formSearch.lastModifyName"
-                class="search_width"
-                placeholder="修改人"
-                size="small"
-              ></el-input>
-            </el-form-item>
-          </el-col>
-          <el-col :span="6">
-            <div class="search_down">
-              <el-button size="small" type="primary" @click="searchFrom"
-                ><i class="el-icon-search"></i> 查询</el-button
-              >
-              <el-button size="small" @click="resetForm"
-                ><i class="el-icon-refresh"></i> 重 置</el-button
-              >
-              <el-button size="small" type="primary" @click="genPaperDetail"
-                ><i class="el-icon-plus"></i> 组卷</el-button
-              >
-            </div>
-          </el-col>
-        </el-row>
-        <div
-          style="width: 100%; border-bottom: 1px solid #ddd; margin: 10px 0"
-        ></div>
-        <el-row>
-          <el-form-item>
-            <span>批量操作:</span>
-            <el-button
-              size="small"
-              type="danger"
-              :disabled="noBatchSelected"
-              @click="batchDeleteGenPaper"
-            >
-              <i class="el-icon-delete"></i> 删除成卷
-            </el-button>
-            <el-button
-              size="small"
-              type="danger"
-              :disabled="noBatchSelected"
-              @click="recoveryPapers"
-            >
-              <i class="el-icon-delete"></i>回收
-            </el-button>
-            <el-button
-              size="small"
-              type="primary"
-              :disabled="noBatchSelected"
-              @click="openBatchExportPaperDialog"
-              ><i class="el-icon-download"></i> 下载成卷</el-button
+    <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-select
+            v-model="formSearch.courseNo"
+            class="search_width"
+            filterable
+            :remote-method="getCourses"
+            remote
+            clearable
+            placeholder="全部"
+            @focus="(e) => getCourses(e.target.value)"
+          >
+            <el-option
+              v-for="item in courseInfoSelect"
+              :key="item.courseNo"
+              :label="item.courseInfo"
+              :value="item.courseNo"
             >
-            <el-button
-              size="small"
-              type="primary"
-              :disabled="noBatchSelected"
-              @click="openQuesPro"
-              ><i class="el-icon-edit"></i>试卷属性</el-button
+            </el-option>
+          </el-select>
+        </el-form-item>
+        <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.level"
+            class="search_width"
+            clearable
+            placeholder="请选择"
+          >
+            <el-option
+              v-for="item in levelList"
+              :key="item.value"
+              :label="item.label"
+              :value="item.value"
             >
-          </el-form-item>
-        </el-row>
+            </el-option>
+          </el-select>
+        </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-input
+            v-model="formSearch.lastModifyName"
+            class="search_width"
+            placeholder="修改人"
+          ></el-input>
+        </el-form-item>
+        <el-form-item>
+          <el-button type="primary" @click="searchFrom"
+            ><i class="el-icon-search"></i> 查询</el-button
+          >
+          <el-button @click="resetForm"
+            ><i class="el-icon-refresh"></i> 重 置</el-button
+          >
+        </el-form-item>
       </el-form>
-      <div style="width: 100%; margin-bottom: 10px"></div>
+      <div class="part-box-action">
+        <div>
+          <el-button
+            type="danger"
+            :disabled="noBatchSelected"
+            @click="batchDeleteGenPaper"
+          >
+            <i class="el-icon-delete"></i> 删除成卷
+          </el-button>
+          <el-button
+            type="danger"
+            :disabled="noBatchSelected"
+            @click="recoveryPapers"
+          >
+            <i class="el-icon-delete"></i>回收
+          </el-button>
+          <el-button
+            type="primary"
+            :disabled="noBatchSelected"
+            @click="openBatchExportPaperDialog"
+            ><i class="el-icon-download"></i> 下载成卷</el-button
+          >
+          <el-button
+            type="primary"
+            :disabled="noBatchSelected"
+            @click="openQuesPro"
+            ><i class="el-icon-edit"></i>试卷属性</el-button
+          >
+        </div>
+        <div>
+          <el-button type="primary" @click="genPaperDetail"
+            ><i class="el-icon-plus"></i> 组卷</el-button
+          >
+        </div>
+      </div>
+    </div>
+    <div class="part-box">
       <el-table
         v-loading="loading"
         element-loading-text="拼命加载中"
         :data="tableData"
-        border
-        style="width: 100%"
         @selection-change="selectChange"
       >
-        <el-table-column type="selection" width="40"></el-table-column>
+        <el-table-column
+          type="selection"
+          width="50"
+          align="center"
+        ></el-table-column>
         <el-table-column label="课程名称" width="180">
           <template slot-scope="scope">
             <span>{{ scope.row.course.name }}</span>
@@ -256,7 +229,7 @@
           </template>
         </el-table-column>
       </el-table>
-      <div class="page pull-right">
+      <div class="part-page">
         <el-pagination
           :current-page="currentPage"
           :page-size="pageSize"
@@ -269,128 +242,112 @@
         </el-pagination>
       </div>
     </div>
-    <el-dialog title="导出" :visible.sync="exportDialog">
+
+    <el-dialog
+      title="导出"
+      :visible.sync="exportDialog"
+      width="600"
+      :modal="false"
+      append-to-body
+      custom-class="side-dialog"
+    >
       <el-form :model="exportModel" label-position="right" label-width="80px">
-        <el-row v-if="isShow">
-          <el-col :md="12">
-            <el-form-item label="课程名称">
-              {{ exportModel.courseName }}
-            </el-form-item>
-          </el-col>
-        </el-row>
-        <el-row v-if="isShow">
-          <el-col :md="12">
-            <el-form-item label="课程代码">
-              {{ exportModel.courseCode }}
-            </el-form-item>
-          </el-col>
-        </el-row>
-        <el-row>
-          <el-col :md="24">
-            <el-form-item label="导出内容">
-              <el-checkbox-group v-model="exportModel.exportContentList">
-                <el-checkbox label="PAPER">试卷</el-checkbox>
-                <el-checkbox label="ANSWER">答案</el-checkbox>
-                <el-checkbox label="THEMIS_PACKAGE">数据包</el-checkbox>
-                <!-- <el-checkbox
+        <el-form-item v-if="isShow" label="课程名称">
+          {{ exportModel.courseName }}
+        </el-form-item>
+        <el-form-item v-if="isShow" label="课程代码">
+          {{ exportModel.courseCode }}
+        </el-form-item>
+        <el-form-item label="导出内容">
+          <el-checkbox-group v-model="exportModel.exportContentList">
+            <el-checkbox label="PAPER">试卷</el-checkbox>
+            <el-checkbox label="ANSWER">答案</el-checkbox>
+            <el-checkbox label="THEMIS_PACKAGE">数据包</el-checkbox>
+            <!-- <el-checkbox
                   v-if="isShowPrintExamPackage"
                   label="PRINT_EXAM_PACKAGE"
                   >分布式印刷数据包
                 </el-checkbox> -->
-                <el-input
-                  v-if="isShowPrintExamPackagePassword"
-                  v-model="printExamPackagePassword"
-                  placeholder="加密密码 (可选)"
-                  type="password"
-                  style="width: 150px"
-                ></el-input>
-              </el-checkbox-group>
-            </el-form-item>
-          </el-col>
-        </el-row>
-        <el-row v-if="showSeqMode()">
-          <el-form-item label="小题序号">
-            <el-radio-group v-model="exportModel.seqMode" class="input">
-              <el-radio label="MODE1">单题型连续</el-radio>
-              <el-radio label="MODE2">客观题整体连续</el-radio>
-              <el-radio label="MODE3">按大题独立</el-radio>
-            </el-radio-group>
-          </el-form-item>
-        </el-row>
-        <el-row>
-          <el-col :md="24" class="text-center">
-            <el-button type="primary" @click="exportPaperInfo"
-              >开始导出</el-button
-            >
-          </el-col>
-        </el-row>
+            <el-input
+              v-if="isShowPrintExamPackagePassword"
+              v-model="printExamPackagePassword"
+              placeholder="加密密码 (可选)"
+              type="password"
+              style="width: 150px"
+            ></el-input>
+          </el-checkbox-group>
+        </el-form-item>
+        <el-form-item v-if="showSeqMode()" label="小题序号">
+          <el-radio-group v-model="exportModel.seqMode" class="input">
+            <el-radio label="MODE1">单题型连续</el-radio>
+            <el-radio label="MODE2">客观题整体连续</el-radio>
+            <el-radio label="MODE3">按大题独立</el-radio>
+          </el-radio-group>
+        </el-form-item>
       </el-form>
+      <div slot="footer">
+        <el-button type="primary" @click="exportPaperInfo">开始导出</el-button>
+      </div>
     </el-dialog>
 
     <el-dialog
       title="属性修改"
       :visible.sync="quesPropertyDialog"
       width="500px"
+      :modal="false"
+      append-to-body
+      custom-class="side-dialog"
     >
-      <el-form
-        :loading="quesLoading"
-        label-position="right"
-        :inline="true"
-        label-width="120px"
-      >
-        <el-row>
-          <el-form-item>
-            <el-checkbox v-model="difficultyDegreeDis"></el-checkbox>
-          </el-form-item>
-          <el-form-item label="难  度">
-            <el-select
-              v-model="difficultyDegree"
-              class="dialog_input_width"
-              :disabled="!difficultyDegreeDis"
-            >
-              <el-option
-                v-for="item in difficultyDegreeList"
-                :key="item.value"
-                :label="item.label"
-                :value="item.value"
-              ></el-option>
-            </el-select>
-          </el-form-item>
-        </el-row>
-        <el-row>
-          <el-form-item>
-            <el-checkbox v-model="publicityDis"></el-checkbox>
-          </el-form-item>
-          <el-form-item label="公开度">
-            <el-select
-              v-model="publicity"
-              class="dialog_input_width"
-              :disabled="!publicityDis"
-            >
-              <el-option
-                v-for="item in publicityList"
-                :key="item.value"
-                :label="item.label"
-                :value="item.value"
-              ></el-option>
-            </el-select>
-          </el-form-item>
-        </el-row>
-        <el-row class="margin_top_10 margin_left_120">
-          <el-button
-            v-loading.fullscreen.lock="quesLoading"
-            type="primary"
-            @click="updateQuesPropertyByPaper()"
-            >保 存</el-button
+      <el-form :loading="quesLoading" :inline="true" label-width="100px">
+        <el-form-item>
+          <el-checkbox v-model="difficultyDegreeDis"></el-checkbox>
+        </el-form-item>
+        <el-form-item label="难  度">
+          <el-select
+            v-model="difficultyDegree"
+            class="dialog_input_width"
+            :disabled="!difficultyDegreeDis"
           >
-          <el-button @click="resetQuesProForm"
-            ><i class="el-icon-refresh"></i> 重 置</el-button
+            <el-option
+              v-for="item in difficultyDegreeList"
+              :key="item.value"
+              :label="item.label"
+              :value="item.value"
+            ></el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item>
+          <el-checkbox v-model="publicityDis"></el-checkbox>
+        </el-form-item>
+        <el-form-item label="公开度">
+          <el-select
+            v-model="publicity"
+            class="dialog_input_width"
+            :disabled="!publicityDis"
           >
-          <el-button type="primary" @click="closePropertyDialog"
-            ><i class="el-icon-arrow-left"></i> 返 回</el-button
-          >
-        </el-row>
+            <el-option
+              v-for="item in publicityList"
+              :key="item.value"
+              :label="item.label"
+              :value="item.value"
+            ></el-option>
+          </el-select>
+        </el-form-item>
       </el-form>
+      <div slot="footer">
+        <el-button
+          v-loading.fullscreen.lock="quesLoading"
+          type="primary"
+          @click="updateQuesPropertyByPaper()"
+          >保 存</el-button
+        >
+        <el-button @click="resetQuesProForm"
+          ><i class="el-icon-refresh"></i> 重 置</el-button
+        >
+        <el-button type="primary" @click="closePropertyDialog"
+          ><i class="el-icon-arrow-left"></i> 返 回</el-button
+        >
+      </div>
     </el-dialog>
   </section>
 </template>

+ 204 - 221
src/modules/questions/views/ImportPaper.vue

@@ -4,154 +4,130 @@
       <LinkTitlesCustom :current-paths="['题库管理 ', '导入试卷管理']" />
     </div>
     <!-- 正文信息 -->
-    <div class="box-body">
-      <el-form
-        :inline="true"
-        :model="formSearch"
-        label-position="right"
-        label-width="70px"
-      >
-        <el-row>
-          <el-col :span="6">
-            <el-form-item label="课程名称">
-              <el-select
-                v-model="formSearch.courseNo"
-                class="search_width"
-                filterable
-                :remote-method="getCourses"
-                remote
-                clearable
-                placeholder="请输入"
-                size="small"
-                @focus="(e) => getCourses(e.target.value)"
-              >
-                <el-option
-                  v-for="item in courseInfoSelect"
-                  :key="item.courseNo"
-                  :label="item.courseInfo"
-                  :value="item.courseNo"
-                >
-                </el-option>
-              </el-select>
-            </el-form-item>
-          </el-col>
-          <el-col :span="6">
-            <el-form-item label="试卷名称">
-              <el-input
-                v-model="formSearch.name"
-                class="search_width"
-                placeholder="试卷名称"
-                size="small"
-              ></el-input>
-            </el-form-item>
-          </el-col>
-          <el-col :span="6">
-            <el-form-item label="层次">
-              <el-select
-                v-model="formSearch.level"
-                class="search_width"
-                clearable
-                placeholder="请选择"
-                size="small"
-              >
-                <el-option
-                  v-for="item in levelList"
-                  :key="item.value"
-                  :label="item.label"
-                  :value="item.value"
-                >
-                </el-option>
-              </el-select>
-            </el-form-item>
-          </el-col>
-          <el-col :span="6">
-            <el-form-item label="录入人">
-              <el-input
-                v-model="formSearch.creator"
-                class="search_width"
-                placeholder="录入人"
-                size="small"
-              ></el-input>
-            </el-form-item>
-          </el-col>
-        </el-row>
-        <el-row>
-          <el-col :span="6">
-            <el-form-item label="修改人">
-              <el-input
-                v-model="formSearch.lastModifyName"
-                class="search_width"
-                placeholder="修改人"
-                size="small"
-              ></el-input>
-            </el-form-item>
-          </el-col>
-          <el-col :span="6">
-            <div class="search_down">
-              <el-button size="small" type="primary" @click="searchFrom"
-                ><i class="el-icon-search"></i> 查询</el-button
-              >
-              <el-button size="small" type="primary" @click="impPaper"
-                ><i class="el-icon-upload2"></i> 导入</el-button
-              >
-              <el-dropdown class="button_left">
-                <el-button type="primary" size="small">
-                  更多 <i class="el-icon-arrow-down el-icon--right"></i>
-                </el-button>
-                <el-dropdown-menu slot="dropdown">
-                  <el-dropdown-item>
-                    <el-button size="small" type="primary" @click="expQuesType"
-                      >试题分布</el-button
-                    >
-                  </el-dropdown-item>
-                  <el-dropdown-item>
-                    <el-button size="small" type="primary" @click="openQuesPro"
-                      >试卷属性</el-button
-                    >
-                  </el-dropdown-item>
-                  <el-dropdown-item>
-                    <el-button size="small" type="primary" @click="openQuesProC"
-                      >课程属性</el-button
-                    >
-                  </el-dropdown-item>
-                </el-dropdown-menu>
-              </el-dropdown>
-            </div>
-          </el-col>
-        </el-row>
-        <div
-          style="width: 100%; border-bottom: 1px solid #ddd; margin: 10px 0"
-        ></div>
-        <el-row>
-          <el-form-item>
-            <span>批量操作:</span>
-            <el-button
-              size="small"
-              type="primary"
-              :disabled="noBatchSelected"
-              @click="useBasePaper"
-              ><i class="el-icon-star-on"></i> 使用原卷</el-button
+    <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-select
+            v-model="formSearch.courseNo"
+            class="search_width"
+            filterable
+            :remote-method="getCourses"
+            remote
+            clearable
+            placeholder="请输入"
+            @focus="(e) => getCourses(e.target.value)"
+          >
+            <el-option
+              v-for="item in courseInfoSelect"
+              :key="item.courseNo"
+              :label="item.courseInfo"
+              :value="item.courseNo"
             >
-            <el-button
-              size="small"
-              type="danger"
-              :disabled="noBatchSelected"
-              @click="batchDeletePaper"
-              ><i class="el-icon-delete"></i> 删除原卷</el-button
+            </el-option>
+          </el-select>
+        </el-form-item>
+        <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.level"
+            class="search_width"
+            clearable
+            placeholder="请选择"
+          >
+            <el-option
+              v-for="item in levelList"
+              :key="item.value"
+              :label="item.label"
+              :value="item.value"
             >
-          </el-form-item>
-        </el-row>
+            </el-option>
+          </el-select>
+        </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-input
+            v-model="formSearch.lastModifyName"
+            class="search_width"
+            placeholder="修改人"
+          ></el-input>
+        </el-form-item>
+        <el-form-item>
+          <el-button type="primary" @click="searchFrom"
+            ><i class="el-icon-search"></i> 查询</el-button
+          >
+        </el-form-item>
       </el-form>
-      <div style="width: 100%; margin-bottom: 10px"></div>
+      <div class="part-box-action">
+        <div>
+          <el-button
+            type="primary"
+            :disabled="noBatchSelected"
+            @click="useBasePaper"
+            ><i class="el-icon-star-on"></i> 使用原卷</el-button
+          >
+          <el-button
+            type="danger"
+            :disabled="noBatchSelected"
+            @click="batchDeletePaper"
+            ><i class="el-icon-delete"></i> 删除原卷</el-button
+          >
+        </div>
+        <div>
+          <el-button type="primary" @click="impPaper"
+            ><i class="el-icon-upload2"></i> 导入</el-button
+          >
+          <el-dropdown class="button_left">
+            <el-button type="primary">
+              更多 <i class="el-icon-arrow-down el-icon--right"></i>
+            </el-button>
+            <el-dropdown-menu slot="dropdown">
+              <el-dropdown-item>
+                <el-button type="primary" @click="expQuesType"
+                  >试题分布</el-button
+                >
+              </el-dropdown-item>
+              <el-dropdown-item>
+                <el-button type="primary" @click="openQuesPro"
+                  >试卷属性</el-button
+                >
+              </el-dropdown-item>
+              <el-dropdown-item>
+                <el-button type="primary" @click="openQuesProC"
+                  >课程属性</el-button
+                >
+              </el-dropdown-item>
+            </el-dropdown-menu>
+          </el-dropdown>
+        </div>
+      </div>
+    </div>
+
+    <div class="part-box">
       <el-table
         v-loading="loading"
         element-loading-text="拼命加载中"
         :data="tableData"
-        border
-        style="width: 100%"
         @selection-change="selectChange"
       >
-        <el-table-column type="selection" width="40"></el-table-column>
+        <el-table-column
+          type="selection"
+          width="50"
+          align="center"
+        ></el-table-column>
         <el-table-column label="课程名称" width="180">
           <template slot-scope="scope">
             <span>{{ scope.row.course.name }}</span>
@@ -174,7 +150,6 @@
           prop="totalScore"
         >
         </el-table-column>
-
         <el-table-column
           label="大题数量"
           width="103"
@@ -298,7 +273,7 @@
           </template>
         </el-table-column>
       </el-table>
-      <div class="page pull-right">
+      <div class="part-page">
         <el-pagination
           :current-page="currentPage"
           :page-size="pageSize"
@@ -311,11 +286,15 @@
         </el-pagination>
       </div>
     </div>
+
     <el-dialog
       v-loading.body="cloneLoading"
       title="克隆试卷"
       :visible.sync="copyPaperDialog"
       width="500px"
+      :modal="false"
+      append-to-body
+      custom-class="side-dialog"
     >
       <el-form
         ref="copyPaperForm"
@@ -325,101 +304,105 @@
         label-width="120px"
         inline-message
       >
-        <el-row>
-          <el-form-item label="试卷名称" prop="paperName">
-            <el-input
-              v-model="copyPaperForm.paperName"
-              class="dialog_input_width"
-              placeholder="请输试卷名称"
-            ></el-input>
-          </el-form-item>
-        </el-row>
-        <el-row>
-          <el-form-item label="课程名称" prop="courseNo">
-            <el-select
-              v-model="copyPaperForm.courseNo"
-              class="dialog_input_width"
-              :remote-method="getCourses"
-              remote
-              filterable
-              clearable
-              placeholder="全部"
-              @focus="(e) => getCourses(e.target.value)"
-            >
-              <el-option
-                v-for="item in courseInfoSelect"
-                :key="item.courseNo"
-                :label="item.courseInfo"
-                :value="item.courseNo"
-              >
-              </el-option>
-            </el-select>
-          </el-form-item>
-        </el-row>
-        <el-row class="margin_top_10 margin_left_120">
-          <el-button type="primary" @click="submitCopy('copyPaperForm')"
-            >保 存</el-button
+        <el-form-item label="试卷名称" prop="paperName">
+          <el-input
+            v-model="copyPaperForm.paperName"
+            class="dialog_input_width"
+            placeholder="请输试卷名称"
+          ></el-input>
+        </el-form-item>
+        <el-form-item label="课程名称" prop="courseNo">
+          <el-select
+            v-model="copyPaperForm.courseNo"
+            class="dialog_input_width"
+            :remote-method="getCourses"
+            remote
+            filterable
+            clearable
+            placeholder="全部"
+            @focus="(e) => getCourses(e.target.value)"
           >
-          <el-button @click="resetForm2('copyPaperForm')"
-            ><i class="el-icon-refresh"></i> 重 置</el-button
-          >
-          <el-button type="primary" @click="back2('copyPaperForm')"
-            ><i class="el-icon-arrow-left"></i> 返 回</el-button
-          >
-        </el-row>
+            <el-option
+              v-for="item in courseInfoSelect"
+              :key="item.courseNo"
+              :label="item.courseInfo"
+              :value="item.courseNo"
+            >
+            </el-option>
+          </el-select>
+        </el-form-item>
       </el-form>
+      <div slot="footer">
+        <el-button type="primary" @click="submitCopy('copyPaperForm')"
+          >保 存</el-button
+        >
+        <el-button @click="resetForm2('copyPaperForm')"
+          ><i class="el-icon-refresh"></i> 重 置</el-button
+        >
+        <el-button type="primary" @click="back2('copyPaperForm')"
+          ><i class="el-icon-arrow-left"></i> 返 回</el-button
+        >
+      </div>
     </el-dialog>
+
     <el-dialog
       title="属性修改"
       :visible.sync="quesPropertyDialog"
       width="500px"
+      :modal="false"
+      append-to-body
+      custom-class="side-dialog"
     >
       <el-form
         :loading="quesLoading"
         label-position="right"
         label-width="120px"
       >
-        <el-row>
-          <el-form-item label="难  度">
-            <el-select v-model="difficultyDegree" class="dialog_input_width">
-              <el-option
-                v-for="item in difficultyDegreeList"
-                :key="item.value"
-                :label="item.label"
-                :value="item.value"
-              ></el-option>
-            </el-select>
-          </el-form-item>
-        </el-row>
-        <el-row>
-          <el-form-item label="公开度">
-            <el-select v-model="publicity" class="dialog_input_width">
-              <el-option
-                v-for="item in publicityList"
-                :key="item.value"
-                :label="item.label"
-                :value="item.value"
-              ></el-option>
-            </el-select>
-          </el-form-item>
-        </el-row>
-        <el-row class="margin_top_10 margin_left_120">
-          <el-button
-            v-loading.fullscreen.lock="quesLoading"
-            type="primary"
-            @click="submitUpdate()"
-            >保 存</el-button
-          >
-          <el-button @click="resetForm"
-            ><i class="el-icon-refresh"></i> 重 置</el-button
-          >
-          <el-button type="primary" @click="closePropertyDialog"
-            ><i class="el-icon-arrow-left"></i> 返 回</el-button
-          >
-        </el-row>
+        <el-form-item label="难  度">
+          <el-select v-model="difficultyDegree" class="dialog_input_width">
+            <el-option
+              v-for="item in difficultyDegreeList"
+              :key="item.value"
+              :label="item.label"
+              :value="item.value"
+            ></el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="公开度">
+          <el-select v-model="publicity" class="dialog_input_width">
+            <el-option
+              v-for="item in publicityList"
+              :key="item.value"
+              :label="item.label"
+              :value="item.value"
+            ></el-option>
+          </el-select>
+        </el-form-item>
       </el-form>
+      <div slot="footer">
+        <el-button
+          v-loading.fullscreen.lock="quesLoading"
+          type="primary"
+          @click="submitUpdate()"
+          >保 存</el-button
+        >
+        <el-button @click="resetForm"
+          ><i class="el-icon-refresh"></i> 重 置</el-button
+        >
+        <el-button type="primary" @click="closePropertyDialog"
+          ><i class="el-icon-arrow-left"></i> 返 回</el-button
+        >
+      </div>
     </el-dialog>
-    <el-dialog title="审核记录" width="80%" :visible.sync="auditInfoDialog">
+
+    <el-dialog
+      title="审核记录"
+      width="800"
+      :visible.sync="auditInfoDialog"
+      :modal="false"
+      append-to-body
+      custom-class="side-dialog"
+    >
       <AuditInfo
         v-if="auditInfoDialog"
         :paper-id="auditInfoPaperId"

+ 95 - 105
src/modules/questions/views/ImportPaperInfo.vue

@@ -4,68 +4,67 @@
     <!-- 正文信息 -->
     <div
       v-loading.body="fileLoading"
-      class="box-body"
+      class="part-box"
       element-loading-text="试题上传中,请稍后..."
     >
-      <el-form
-        :inline="true"
-        :model="formSearch"
-        label-position="right"
-        label-width="100px"
-      >
-        <el-row>
-          <el-form-item label="导入类型" label-width="120px" class="pull-left">
-            <el-radio v-model="importType" label="word">word</el-radio>
-            <el-radio v-model="importType" label="zip">zip</el-radio>
-          </el-form-item>
-        </el-row>
-        <el-row v-show="importType == 'word'">
-          <el-form-item label="课程名称" label-width="120px" class="pull-left">
-            <el-select
-              v-model="formSearch.courseNo"
-              class="form_width"
-              filterable
-              :remote-method="getCourses"
-              remote
-              clearable
-              placeholder="请选择"
-              @change="searchCourseName"
-              @focus="(e) => getCourses(e.target.value)"
+      <h2 class="part-box-title">文件上传</h2>
+
+      <el-form class="padding-tb-20" :model="formSearch" label-width="100px">
+        <el-form-item label="导入类型" label-width="120px">
+          <el-radio v-model="importType" label="word">word</el-radio>
+          <el-radio v-model="importType" label="zip">zip</el-radio>
+        </el-form-item>
+        <el-form-item
+          v-show="importType == 'word'"
+          label="课程名称"
+          label-width="120px"
+        >
+          <el-select
+            v-model="formSearch.courseNo"
+            class="form_width"
+            filterable
+            :remote-method="getCourses"
+            remote
+            clearable
+            placeholder="请选择"
+            @change="searchCourseName"
+            @focus="(e) => getCourses(e.target.value)"
+          >
+            <el-option
+              v-for="item in courseInfoSelect"
+              :key="item.courseNo"
+              :label="item.courseInfo"
+              :value="item.courseNo"
             >
-              <el-option
-                v-for="item in courseInfoSelect"
-                :key="item.courseNo"
-                :label="item.courseInfo"
-                :value="item.courseNo"
-              >
-              </el-option>
-            </el-select>
-          </el-form-item>
-        </el-row>
-        <el-row v-show="importType == 'word'">
-          <el-form-item label="试卷名称" label-width="120px" class="pull-left">
-            <el-input
-              v-model="formSearch.name"
-              placeholder="试卷名称"
-              class="form_width"
-            ></el-input>
-          </el-form-item>
-        </el-row>
-        <el-row>
-          <el-form-item label="总分校验" label-width="120px" class="pull-left">
-            <el-radio v-model="scoreCheck" label="1">开启</el-radio>
-            <el-radio v-model="scoreCheck" label="0">关闭</el-radio>
-          </el-form-item>
-        </el-row>
-        <el-row v-if="scoreCheck == 1">
-          <el-form-item label="试卷总分" label-width="120px" class="pull-left">
-            <el-input
-              v-model="formSearch.totalScore"
-              placeholder="试卷总分"
-              class="form_width"
-            ></el-input>
-          </el-form-item>
-        </el-row>
+            </el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item
+          v-show="importType == 'word'"
+          label="试卷名称"
+          label-width="120px"
+        >
+          <el-input
+            v-model="formSearch.name"
+            placeholder="试卷名称"
+            style="width: 223px"
+          ></el-input>
+        </el-form-item>
+        <el-form-item label="总分校验" label-width="120px">
+          <el-radio v-model="scoreCheck" label="1">开启</el-radio>
+          <el-radio v-model="scoreCheck" label="0">关闭</el-radio>
+        </el-form-item>
+        <el-form-item
+          v-if="scoreCheck == 1"
+          label="试卷总分"
+          label-width="120px"
+        >
+          <el-input
+            v-model="formSearch.totalScore"
+            placeholder="试卷总分"
+            class="form_width"
+          ></el-input>
+        </el-form-item>
         <!--
               <el-row>
                   <el-form-item label="相同大题名称" label-width="120px" class="pull-left">
@@ -74,46 +73,45 @@
                   </el-form-item>
               </el-row>
             -->
-        <el-row>
-          <el-form-item>
-            <el-upload
-              ref="upload"
-              class="form_left"
-              :accept="importFileType"
-              :action="uploadAction"
-              :headers="uploadHeaders"
-              :data="uploadData"
-              :before-upload="beforeUpload"
-              :on-progress="uploadProgress"
-              :on-success="uploadSuccess"
-              :on-error="uploadError"
-              :file-list="fileList"
-              :auto-upload="false"
-              :multiple="false"
+        <el-form-item class="padding-tb-20" label-width="70px">
+          <el-upload
+            ref="upload"
+            class="form_left"
+            :accept="importFileType"
+            :action="uploadAction"
+            :headers="uploadHeaders"
+            :data="uploadData"
+            :before-upload="beforeUpload"
+            :on-progress="uploadProgress"
+            :on-success="uploadSuccess"
+            :on-error="uploadError"
+            :file-list="fileList"
+            :auto-upload="false"
+            :multiple="false"
+          >
+            <el-button slot="trigger" type="primary"
+              ><i class="el-icon-search"></i> 选择文件</el-button
             >
-              <el-button slot="trigger" type="primary"
-                ><i class="el-icon-search"></i> 选择文件</el-button
-              >
-              <el-button
-                style="margin-left: 10px"
-                type="primary"
-                @click="submitUpload"
-                ><i class="el-icon-check"></i> 确认上传
-              </el-button>
-              <el-button
-                style="margin-left: 10px"
-                type="primary"
-                @click="removeFile"
-                ><i class="el-icon-refresh"></i> 清空文件
-              </el-button>
-              <el-button type="primary" @click="back"
-                ><i class="el-icon-arrow-left"></i> 返回</el-button
-              >
-              <div slot="tip" class="el-upload__tip">只能上传docx和zip文件</div>
-            </el-upload>
-          </el-form-item>
-        </el-row>
+            <el-button
+              style="margin-left: 10px"
+              type="primary"
+              @click="submitUpload"
+              ><i class="el-icon-check"></i> 确认上传
+            </el-button>
+            <el-button
+              style="margin-left: 10px"
+              type="primary"
+              @click="removeFile"
+              ><i class="el-icon-refresh"></i> 清空文件
+            </el-button>
+            <el-button type="primary" @click="back"
+              ><i class="el-icon-arrow-left"></i> 返回</el-button
+            >
+            <div slot="tip" class="el-upload__tip">只能上传docx和zip文件</div>
+          </el-upload>
+        </el-form-item>
       </el-form>
+
       <el-dialog title="错误提示" :visible.sync="errDialog">
         <span style="font-size: large">{{ errMessage }} !</span>
         <span slot="footer" class="dialog-footer">
@@ -328,11 +326,3 @@ export default {
   },
 };
 </script>
-<style scoped>
-.form_width {
-  width: 200px;
-}
-.form_left {
-  margin-left: 50px;
-}
-</style>

+ 79 - 97
src/modules/questions/views/InsertPaperTitle.vue

@@ -1,102 +1,89 @@
 <template>
   <section class="content">
     <!-- 正文信息 -->
-    <div class="box-body">
-      <el-form :inline="true" :model="paperTitleForm" label-width="150px">
-        <el-row>
-          <el-form-item label="课程名称(代码)" class="pull-left">
-            <el-select
-              v-model="paperTitleForm.courseNo"
-              class="dialog_input_width"
-              filterable
-              clearable
-              remote
-              placeholder="请输入课程名称(代码)"
-              :remote-method="queryCoursesByKeyword"
-              @change="searchGenPaper"
-              @focus="(e) => queryCoursesByKeyword(e.target.value)"
+    <div class="part-box">
+      <el-form :model="paperTitleForm" label-width="150px">
+        <el-form-item label="课程名称(代码)">
+          <el-select
+            v-model="paperTitleForm.courseNo"
+            class="dialog_input_width"
+            filterable
+            clearable
+            remote
+            placeholder="请输入课程名称(代码)"
+            :remote-method="queryCoursesByKeyword"
+            @change="searchGenPaper"
+            @focus="(e) => queryCoursesByKeyword(e.target.value)"
+          >
+            <el-option
+              v-for="item in courseInfoSelect"
+              :key="item.courseNo"
+              :label="item.courseInfo"
+              :value="item.courseNo"
             >
-              <el-option
-                v-for="item in courseInfoSelect"
-                :key="item.courseNo"
-                :label="item.courseInfo"
-                :value="item.courseNo"
-              >
-              </el-option>
-            </el-select>
-          </el-form-item>
-        </el-row>
-        <el-row v-if="paperTitelDisable">
-          <el-form-item label="试卷名称" class="pull-left">
-            <el-select
-              v-model="paperTitleForm.paperId"
-              class="dialog_input_width"
-              filterable
-              placeholder="请选择"
-              sytle="width:220px;"
-              @change="searchPaperDetail"
+            </el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item v-if="paperTitelDisable" label="试卷名称">
+          <el-select
+            v-model="paperTitleForm.paperId"
+            class="dialog_input_width"
+            filterable
+            placeholder="请选择"
+            sytle="width:220px;"
+            @change="searchPaperDetail"
+          >
+            <el-option
+              v-for="item in paperInfoSelect"
+              :key="item.id"
+              :label="item.name"
+              :value="item.id"
             >
-              <el-option
-                v-for="item in paperInfoSelect"
-                :key="item.id"
-                :label="item.name"
-                :value="item.id"
-              >
-              </el-option>
-            </el-select>
-            <span style="padding-left: 5px">
-              <el-button type="primary" @click="insertPaper"
-                ><i class="el-icon-plus"></i> 新增试卷</el-button
-              >
-            </span>
-          </el-form-item>
-        </el-row>
-        <el-row v-if="paperDetailDisable">
-          <el-form-item label="试卷大题" class="pull-left">
-            <el-select
-              v-model="paperTitleForm.paperDetailId"
-              class="dialog_input_width"
-              filterable
-              placeholder="请选择"
+            </el-option>
+          </el-select>
+          <span style="padding-left: 5px">
+            <el-button type="primary" @click="insertPaper"
+              ><i class="el-icon-plus"></i> 新增试卷</el-button
             >
-              <el-option
-                v-for="item in paperDetailInfoSelect"
-                :key="item.id"
-                :label="item.name"
-                :value="item.id"
-              >
-              </el-option>
-            </el-select>
-          </el-form-item>
-        </el-row>
-        <el-row>
-          <el-form-item label="题型" class="pull-left">
-            <el-select
-              v-model="paperTitleForm.value"
-              class="dialog_input_width"
-              filterable
-              placeholder="请选择"
+          </span>
+        </el-form-item>
+        <el-form-item v-if="paperDetailDisable" label="试卷大题">
+          <el-select
+            v-model="paperTitleForm.paperDetailId"
+            class="dialog_input_width"
+            filterable
+            placeholder="请选择"
+          >
+            <el-option
+              v-for="item in paperDetailInfoSelect"
+              :key="item.id"
+              :label="item.name"
+              :value="item.id"
             >
-              <el-option
-                v-for="item in quesTypes"
-                :key="item.id"
-                :label="item.label"
-                :value="item.value"
-              >
-              </el-option>
-            </el-select>
-          </el-form-item>
-        </el-row>
-        <el-row>
-          <el-form-item label=" " class="pull-left">
-            <el-button
-              type="primary"
-              :disabled="nextDisabled"
-              @click="submitForm"
-              >下一步
-            </el-button>
-          </el-form-item>
-        </el-row>
+            </el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="题型">
+          <el-select
+            v-model="paperTitleForm.value"
+            class="dialog_input_width"
+            filterable
+            placeholder="请选择"
+          >
+            <el-option
+              v-for="item in quesTypes"
+              :key="item.id"
+              :label="item.label"
+              :value="item.value"
+            >
+            </el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label=" ">
+          <el-button type="primary" :disabled="nextDisabled" @click="submitForm"
+            >下一步
+          </el-button>
+        </el-form-item>
       </el-form>
 
       <!-- 添加试卷弹出框 -->
@@ -383,8 +370,3 @@ export default {
 };
 </script>
 <style scoped src="../styles/Common.css"></style>
-<style scoped>
-.box_width_lg {
-  width: 600px;
-}
-</style>

+ 126 - 147
src/modules/questions/views/PaperPendingTrial.vue

@@ -3,159 +3,130 @@
     <div v-show="isClear == 1">
       <LinkTitlesCustom :current-paths="['题库管理 ', '待审列表']" />
     </div>
-    <div class="box-body">
-      <el-form
-        :inline="true"
-        :model="formSearch"
-        label-position="right"
-        label-width="70px"
-      >
-        <el-row>
-          <el-col :span="6">
-            <el-form-item label="课程名称">
-              <el-select
-                v-model="formSearch.courseNo"
-                class="search_width"
-                filterable
-                :remote-method="getCourses"
-                remote
-                clearable
-                placeholder="全部"
-                size="small"
-                @focus="(e) => getCourses(e.target.value)"
-              >
-                <el-option
-                  v-for="item in courseInfoSelect"
-                  :key="item.courseNo"
-                  :label="item.courseInfo"
-                  :value="item.courseNo"
-                >
-                </el-option>
-              </el-select>
-            </el-form-item>
-          </el-col>
-          <el-col :span="6">
-            <el-form-item label="试卷名称">
-              <el-input
-                v-model="formSearch.name"
-                class="search_width"
-                placeholder="试卷名称"
-                size="small"
-              ></el-input>
-            </el-form-item>
-          </el-col>
-          <el-col :span="6">
-            <el-form-item label="审核状态">
-              <el-select
-                v-model="formSearch.auditStatus"
-                class="search_width"
-                clearable
-                placeholder="请选择"
-                size="small"
-              >
-                <el-option label="初级待审" value="FIRST_PENDING_TRIAL">
-                </el-option>
-                <el-option label="中级待审" value="SECOND_PENDING_TRIAL">
-                </el-option>
-                <el-option label="高级待审" value="THIRD_PENDING_TRIAL">
-                </el-option>
-                <el-option label="已撤回" value="WITHDRAW"> </el-option>
-                <el-option label="审核未通过" value="NOT_PASS"> </el-option>
-              </el-select>
-            </el-form-item>
-          </el-col>
-          <el-col :span="6">
-            <el-form-item label="录入人">
-              <el-input
-                v-model="formSearch.creator"
-                class="search_width"
-                placeholder="录入人"
-                size="small"
-              ></el-input>
-            </el-form-item>
-          </el-col>
-        </el-row>
-        <el-row>
-          <el-col :span="6">
-            <el-form-item label="修改人">
-              <el-input
-                v-model="formSearch.lastModifyName"
-                class="search_width"
-                placeholder="修改人"
-                size="small"
-              ></el-input>
-            </el-form-item>
-          </el-col>
-          <el-col :span="6">
-            <div class="search_down">
-              <el-button size="small" type="primary" @click="searchFrom"
-                ><i class="el-icon-search"></i> 查询</el-button
-              >
-              <el-button size="small" @click="resetForm"
-                ><i class="el-icon-refresh"></i> 重 置</el-button
-              >
-            </div>
-          </el-col>
-        </el-row>
-        <div
-          style="width: 100%; border-bottom: 1px solid #ddd; margin: 10px 0"
-        ></div>
-        <el-row>
-          <el-form-item>
-            <span>批量操作:</span>
-            <el-button
-              :disabled="noBatchSelected"
-              size="mini"
-              type="danger"
-              plain
-              @click="deletePapers"
-              >批量删除</el-button
-            >
-            <el-button
-              :disabled="noBatchSelected"
-              size="mini"
-              type="primary"
-              plain
-              @click="auditPapers('PASS')"
-              >批量通过</el-button
-            >
-            <el-button
-              :disabled="noBatchSelected"
-              size="mini"
-              type="primary"
-              plain
-              @click="auditPapers('NOT_PASS')"
-              >批量不通过</el-button
-            >
-            <el-button
-              :disabled="noBatchSelected"
-              size="mini"
-              type="primary"
-              plain
-              @click="withdrawPapers()"
-              >批量撤回</el-button
-            >
-            <el-button
-              :disabled="noBatchSelected"
-              size="mini"
-              type="primary"
-              plain
-              @click="submitPapers()"
-              >批量提交</el-button
+
+    <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-select
+            v-model="formSearch.courseNo"
+            class="search_width"
+            filterable
+            :remote-method="getCourses"
+            remote
+            clearable
+            placeholder="全部"
+            @focus="(e) => getCourses(e.target.value)"
+          >
+            <el-option
+              v-for="item in courseInfoSelect"
+              :key="item.courseNo"
+              :label="item.courseInfo"
+              :value="item.courseNo"
             >
-          </el-form-item>
-        </el-row>
+            </el-option>
+          </el-select>
+        </el-form-item>
+        <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.auditStatus"
+            class="search_width"
+            clearable
+            placeholder="请选择"
+          >
+            <el-option label="初级待审" value="FIRST_PENDING_TRIAL">
+            </el-option>
+            <el-option label="中级待审" value="SECOND_PENDING_TRIAL">
+            </el-option>
+            <el-option label="高级待审" value="THIRD_PENDING_TRIAL">
+            </el-option>
+            <el-option label="已撤回" value="WITHDRAW"> </el-option>
+            <el-option label="审核未通过" value="NOT_PASS"> </el-option>
+          </el-select>
+        </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-input
+            v-model="formSearch.lastModifyName"
+            class="search_width"
+            placeholder="修改人"
+          ></el-input>
+        </el-form-item>
+        <el-form-item>
+          <el-button type="primary" @click="searchFrom"
+            ><i class="el-icon-search"></i> 查询</el-button
+          >
+          <el-button @click="resetForm"
+            ><i class="el-icon-refresh"></i> 重 置</el-button
+          >
+        </el-form-item>
       </el-form>
-      <div style="width: 100%; margin-bottom: 10px"></div>
+      <div class="part-box-action">
+        <div>
+          <el-button
+            :disabled="noBatchSelected"
+            type="danger"
+            plain
+            @click="deletePapers"
+            >批量删除</el-button
+          >
+          <el-button
+            :disabled="noBatchSelected"
+            type="primary"
+            plain
+            @click="auditPapers('PASS')"
+            >批量通过</el-button
+          >
+          <el-button
+            :disabled="noBatchSelected"
+            type="primary"
+            plain
+            @click="auditPapers('NOT_PASS')"
+            >批量不通过</el-button
+          >
+          <el-button
+            :disabled="noBatchSelected"
+            type="primary"
+            plain
+            @click="withdrawPapers()"
+            >批量撤回</el-button
+          >
+          <el-button
+            :disabled="noBatchSelected"
+            type="primary"
+            plain
+            @click="submitPapers()"
+            >批量提交</el-button
+          >
+        </div>
+      </div>
+    </div>
+    <div class="part-box">
       <el-table
         v-loading="loading"
         element-loading-text="拼命加载中"
         :data="tableData"
-        border
-        style="width: 100%"
         @selection-change="selectChange"
       >
-        <el-table-column type="selection" width="40"></el-table-column>
+        <el-table-column
+          type="selection"
+          width="50"
+          align="center"
+        ></el-table-column>
         <el-table-column label="课程名称" width="180">
           <template slot-scope="scope">
             <span>{{ scope.row.course.name }}</span>
@@ -308,7 +279,7 @@
           </template>
         </el-table-column>
       </el-table>
-      <div class="page pull-right">
+      <div class="part-page">
         <el-pagination
           :current-page="currentPage"
           :page-size="pageSize"
@@ -321,7 +292,15 @@
         </el-pagination>
       </div>
     </div>
-    <el-dialog title="审核试卷" width="50%" :visible.sync="auditPaperDialog">
+
+    <el-dialog
+      title="审核试卷"
+      width="500px"
+      :visible.sync="auditPaperDialog"
+      :modal="false"
+      append-to-body
+      custom-class="side-dialog"
+    >
       <AuditPaper
         v-if="auditPaperDialog"
         :paper-ids="selectedPaperIds"

+ 85 - 113
src/modules/questions/views/PaperStorage.vue

@@ -3,126 +3,98 @@
     <div v-show="isClear == 1">
       <LinkTitlesCustom :current-paths="['卷库管理 ', '试卷仓库管理']" />
     </div>
-    <div class="box-body">
-      <el-form
-        :inline="true"
-        :model="formSearch"
-        label-position="right"
-        label-width="70px"
-      >
-        <el-row>
-          <el-col :span="6">
-            <el-form-item label="课程名称">
-              <el-select
-                v-model="formSearch.courseNo"
-                class="search_width"
-                filterable
-                :remote-method="getCourses"
-                remote
-                clearable
-                placeholder="全部"
-                size="small"
-                @focus="(e) => getCourses(e.target.value)"
-              >
-                <el-option
-                  v-for="item in courseInfoSelect"
-                  :key="item.courseNo"
-                  :label="item.courseInfo"
-                  :value="item.courseNo"
-                >
-                </el-option>
-              </el-select>
-            </el-form-item>
-          </el-col>
-          <el-col :span="6">
-            <el-form-item label="试卷名称">
-              <el-input
-                v-model="formSearch.name"
-                class="search_width"
-                placeholder="试卷名称"
-                size="small"
-              ></el-input>
-            </el-form-item>
-          </el-col>
-          <el-col :span="6">
-            <el-form-item label="层次">
-              <el-select
-                v-model="formSearch.level"
-                class="search_width"
-                clearable
-                placeholder="请选择"
-                size="small"
-              >
-                <el-option
-                  v-for="item in levelList"
-                  :key="item.value"
-                  :label="item.label"
-                  :value="item.value"
-                >
-                </el-option>
-              </el-select>
-            </el-form-item>
-          </el-col>
-          <el-col :span="6">
-            <el-form-item label="录入人">
-              <el-input
-                v-model="formSearch.creator"
-                class="search_width"
-                placeholder="录入人"
-                size="small"
-              ></el-input>
-            </el-form-item>
-          </el-col>
-        </el-row>
-        <el-row>
-          <el-col :span="6">
-            <el-form-item label="修改人">
-              <el-input
-                v-model="formSearch.lastModifyName"
-                class="search_width"
-                placeholder="修改人"
-                size="small"
-              ></el-input>
-            </el-form-item>
-          </el-col>
-          <el-col :span="6">
-            <div class="search_down">
-              <el-button size="small" type="primary" @click="searchFrom"
-                ><i class="el-icon-search"></i> 查询</el-button
-              >
-              <el-button size="small" @click="resetForm"
-                ><i class="el-icon-refresh"></i> 重 置</el-button
-              >
-            </div>
-          </el-col>
-        </el-row>
-        <div
-          style="width: 100%; border-bottom: 1px solid #ddd; margin: 10px 0"
-        ></div>
-        <el-row>
-          <el-form-item>
-            <span>批量操作:</span>
-            <el-button
-              :disabled="noBatchSelected"
-              size="mini"
-              type="primary"
-              plain
-              @click="releasePapers"
-              ><i class="el-icon-share"></i>释放</el-button
+    <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-select
+            v-model="formSearch.courseNo"
+            class="search_width"
+            filterable
+            :remote-method="getCourses"
+            remote
+            clearable
+            placeholder="全部"
+            @focus="(e) => getCourses(e.target.value)"
+          >
+            <el-option
+              v-for="item in courseInfoSelect"
+              :key="item.courseNo"
+              :label="item.courseInfo"
+              :value="item.courseNo"
+            >
+            </el-option>
+          </el-select>
+        </el-form-item>
+        <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.level"
+            class="search_width"
+            clearable
+            placeholder="请选择"
+          >
+            <el-option
+              v-for="item in levelList"
+              :key="item.value"
+              :label="item.label"
+              :value="item.value"
             >
-          </el-form-item>
-        </el-row>
+            </el-option>
+          </el-select>
+        </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-input
+            v-model="formSearch.lastModifyName"
+            class="search_width"
+            placeholder="修改人"
+          ></el-input>
+        </el-form-item>
+        <el-form-item>
+          <el-button type="primary" @click="searchFrom"
+            ><i class="el-icon-search"></i> 查询</el-button
+          >
+          <el-button @click="resetForm"
+            ><i class="el-icon-refresh"></i> 重 置</el-button
+          >
+        </el-form-item>
       </el-form>
-      <div style="width: 100%; margin-bottom: 10px"></div>
+      <div class="part-box-action">
+        <el-button
+          :disabled="noBatchSelected"
+          type="primary"
+          plain
+          @click="releasePapers"
+          ><i class="el-icon-share"></i>释放</el-button
+        >
+      </div>
+    </div>
+    <div class="part-box">
       <el-table
         v-loading="loading"
         element-loading-text="拼命加载中"
         :data="tableData"
-        border
-        style="width: 100%"
         @selection-change="selectChange"
       >
-        <el-table-column type="selection" width="40"></el-table-column>
+        <el-table-column
+          type="selection"
+          width="50"
+          align="center"
+        ></el-table-column>
         <el-table-column label="课程名称" width="180">
           <template slot-scope="scope">
             <span>{{ scope.row.course.name }}</span>
@@ -204,7 +176,7 @@
           </template>
         </el-table-column>
       </el-table>
-      <div class="page pull-right">
+      <div class="part-page">
         <el-pagination
           :current-page="currentPage"
           :page-size="pageSize"

+ 66 - 85
src/modules/questions/views/PaperStructure.vue

@@ -4,98 +4,79 @@
       <LinkTitlesCustom :current-paths="['基础信息', '精确结构预设']" />
     </div>
     <!-- 正文信息 -->
-    <div class="box-body">
-      <el-form
-        :inline="true"
-        :model="formSearch"
-        label-position="right"
-        label-width="70px"
-      >
-        <el-row>
-          <el-col :span="6">
-            <el-form-item label="结构名称" class="pull-left">
-              <el-input
-                v-model="formSearch.name"
-                class="search_width"
-                placeholder="请输入结构名称"
-                size="small"
-              ></el-input>
-            </el-form-item>
-          </el-col>
-          <el-col :span="6">
-            <el-form-item label="创建人" class="pull-left">
-              <el-input
-                v-model="formSearch.creator"
-                class="search_width"
-                placeholder="请输入创建人"
-                size="small"
-              ></el-input>
-            </el-form-item>
-          </el-col>
-          <el-col :span="6">
-            <el-form-item label="制定课程">
-              <el-select
-                v-model="formSearch.courseNo"
-                class="search_width"
-                filterable
-                :remote-method="getCourses"
-                remote
-                placeholder="请选择"
-                size="small"
-              >
-                <el-option key="ALL" label="请选择" value="ALL"></el-option>
-                <el-option key label="公用" value></el-option>
-                <el-option
-                  v-for="item in courseInfoSelect"
-                  :key="item.courseNo"
-                  :label="item.courseInfo"
-                  :value="item.courseNo"
-                ></el-option>
-              </el-select>
-            </el-form-item>
-          </el-col>
-          <el-col :span="6">
-            <div class="search_down">
-              <el-button size="small" type="primary" @click="searchFrom"
-                ><i class="el-icon-search"></i> 查询</el-button
-              >
-              <el-button size="small" @click="resetForm">
-                <i class="el-icon-refresh"></i> 重 置</el-button
-              >
-              <el-button size="small" type="primary" @click="addPaperStruct"
-                ><i class="el-icon-plus"></i> 新增</el-button
-              >
-            </div>
-          </el-col>
-        </el-row>
-        <div
-          style="width: 100%; border-bottom: 1px solid #ddd; margin: 10px 0"
-        ></div>
-        <el-row>
-          <el-form-item>
-            <span>批量操作:</span>
-            <el-button
-              size="small"
-              type="danger"
-              :disabled="noBatchSelected"
-              @click="deletePapers"
-            >
-              <i class="el-icon-delete"></i> 删除
-            </el-button>
-          </el-form-item>
-        </el-row>
+    <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"
+            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
+            placeholder="请选择"
+          >
+            <el-option key="ALL" label="请选择" value="ALL"></el-option>
+            <el-option key label="公用" value></el-option>
+            <el-option
+              v-for="item in courseInfoSelect"
+              :key="item.courseNo"
+              :label="item.courseInfo"
+              :value="item.courseNo"
+            ></el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item>
+          <el-button type="primary" @click="searchFrom"
+            ><i class="el-icon-search"></i> 查询</el-button
+          >
+          <el-button @click="resetForm">
+            <i class="el-icon-refresh"></i>重置</el-button
+          >
+        </el-form-item>
       </el-form>
-      <div style="width: 100%; margin-bottom: 10px"></div>
+      <div class="part-box-action">
+        <el-button
+          type="danger"
+          :disabled="noBatchSelected"
+          @click="deletePapers"
+        >
+          <i class="el-icon-delete"></i> 删除
+        </el-button>
+        <el-button type="primary" @click="addPaperStruct"
+          ><i class="el-icon-plus"></i> 新增</el-button
+        >
+      </div>
+    </div>
+
+    <div class="part-box">
       <!-- 页面列表 -->
       <el-table
         v-loading="loading"
         :data="tableData"
         element-loading-text="拼命加载中"
-        border
-        style="width: 100%; text-align: center"
         @selection-change="selectionChange"
       >
-        <el-table-column type="selection" width="40"></el-table-column>
+        <el-table-column
+          type="selection"
+          width="50"
+          align="center"
+        ></el-table-column>
         <el-table-column label="预设精确结构名称">
           <template slot-scope="scope">
             <span>{{ scope.row.name }}</span>
@@ -152,7 +133,7 @@
           </template>
         </el-table-column>
       </el-table>
-      <div class="page pull-right">
+      <div class="part-page">
         <el-pagination
           :current-page="currentPage"
           :page-size="pageSize"

+ 227 - 257
src/modules/questions/views/Question.vue

@@ -1,180 +1,149 @@
 <template>
   <section class="content">
-    <!-- 正文信息 -->
-    <div class="box-body">
-      <el-form
-        :inline="true"
-        :model="formSearch"
-        label-position="right"
-        label-width="70px"
-      >
-        <el-row>
-          <el-col :span="6">
-            <el-form-item label="课程名称">
-              <el-select
-                v-model="formSearch.courseNo"
-                class="search_width"
-                filterable
-                :remote-method="getCourses"
-                remote
-                clearable
-                placeholder="请选择"
-                size="small"
-                @change="initCourseProperty"
-                @focus="(e) => getCourses(e.target.value)"
-              >
-                <el-option
-                  v-for="item in courseInfoSelect"
-                  :key="item.courseNo"
-                  :label="item.courseInfo"
-                  :value="item.courseNo"
-                >
-                </el-option>
-              </el-select>
-            </el-form-item>
-          </el-col>
-          <el-col :span="6">
-            <el-form-item label="层次">
-              <el-select
-                v-model="formSearch.courseLevel"
-                class="search_width"
-                filterable
-                clearable
-                placeholder="请选择"
-                size="small"
-              >
-                <el-option
-                  v-for="item in levelList"
-                  :key="item.value"
-                  :label="item.label"
-                  :value="item.value"
-                >
-                </el-option>
-              </el-select>
-            </el-form-item>
-          </el-col>
-          <el-col :span="6">
-            <el-form-item label="题型">
-              <el-select
-                v-model="formSearch.questionType"
-                class="search_width"
-                filterable
-                clearable
-                placeholder="请选择"
-                size="small"
-              >
-                <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-col :span="6">
-            <el-form-item label="属性名">
-              <el-select
-                v-model="formSearch.coursePropertyName"
-                class="search_width"
-                filterable
-                clearable
-                :disabled="updatePorperty"
-                placeholder="请选择"
-                size="small"
-                @change="searchFirst"
-              >
-                <el-option
-                  v-for="item in coursePropertyList"
-                  :key="item.name"
-                  :label="item.name"
-                  :value="item.name"
-                ></el-option>
-              </el-select>
-            </el-form-item>
-          </el-col>
-        </el-row>
+    <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-select
+            v-model="formSearch.courseNo"
+            class="search_width"
+            filterable
+            :remote-method="getCourses"
+            remote
+            clearable
+            placeholder="请选择"
+            @change="initCourseProperty"
+            @focus="(e) => getCourses(e.target.value)"
+          >
+            <el-option
+              v-for="item in courseInfoSelect"
+              :key="item.courseNo"
+              :label="item.courseInfo"
+              :value="item.courseNo"
+            >
+            </el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="层次">
+          <el-select
+            v-model="formSearch.courseLevel"
+            class="search_width"
+            filterable
+            clearable
+            placeholder="请选择"
+          >
+            <el-option
+              v-for="item in levelList"
+              :key="item.value"
+              :label="item.label"
+              :value="item.value"
+            >
+            </el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="题型">
+          <el-select
+            v-model="formSearch.questionType"
+            class="search_width"
+            filterable
+            clearable
+            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="属性名">
+          <el-select
+            v-model="formSearch.coursePropertyName"
+            class="search_width"
+            filterable
+            clearable
+            :disabled="updatePorperty"
+            placeholder="请选择"
+            @change="searchFirst"
+          >
+            <el-option
+              v-for="item in coursePropertyList"
+              :key="item.name"
+              :label="item.name"
+              :value="item.name"
+            ></el-option>
+          </el-select>
+        </el-form-item>
         <!-- created by wwh -->
-        <el-row>
-          <el-col :span="6">
-            <el-form-item label="一级属性">
-              <el-select
-                v-model="formSearch.firstPropertyId"
-                class="search_width"
-                filterable
-                clearable
-                :disabled="updateFirst"
-                placeholder="请选择"
-                size="small"
-                @change="searchSecond"
-              >
-                <el-option
-                  v-for="item in firstPropertyList"
-                  :key="item.id"
-                  :label="item.name"
-                  :value="item.id"
-                ></el-option>
-              </el-select>
-            </el-form-item>
-          </el-col>
-          <el-col :span="6">
-            <el-form-item label="二级属性">
-              <el-select
-                v-model="formSearch.secondPropertyId"
-                class="search_width"
-                filterable
-                clearable
-                :disabled="updateSecond"
-                placeholder="请选择"
-                size="small"
-              >
-                <el-option
-                  v-for="item in secondPropertyList"
-                  :key="item.id"
-                  :label="item.name"
-                  :value="item.id"
-                ></el-option>
-              </el-select>
-            </el-form-item>
-          </el-col>
-          <el-col :span="6">
-            <el-form-item label="公开度">
-              <el-select
-                v-model="formSearch.publicity"
-                class="search_width"
-                filterable
-                clearable
-                placeholder="请选择"
-                size="small"
-              >
-                <el-option
-                  v-for="item in publicityList"
-                  :key="item.value"
-                  :label="item.label"
-                  :value="item.value"
-                >
-                </el-option>
-              </el-select>
-            </el-form-item>
-          </el-col>
-          <el-col :span="6">
-            <div class="search_down">
-              <el-button size="small" type="primary" @click="searchFrom"
-                ><i class="el-icon-search"></i> 查询</el-button
-              >
-              <el-button size="small" @click="resetForm"
-                ><i class="el-icon-refresh"></i> 重 置</el-button
-              >
-            </div>
-          </el-col>
-        </el-row>
+        <el-form-item label="一级属性">
+          <el-select
+            v-model="formSearch.firstPropertyId"
+            class="search_width"
+            filterable
+            clearable
+            :disabled="updateFirst"
+            placeholder="请选择"
+            @change="searchSecond"
+          >
+            <el-option
+              v-for="item in firstPropertyList"
+              :key="item.id"
+              :label="item.name"
+              :value="item.id"
+            ></el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="二级属性">
+          <el-select
+            v-model="formSearch.secondPropertyId"
+            class="search_width"
+            filterable
+            clearable
+            :disabled="updateSecond"
+            placeholder="请选择"
+          >
+            <el-option
+              v-for="item in secondPropertyList"
+              :key="item.id"
+              :label="item.name"
+              :value="item.id"
+            ></el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="公开度">
+          <el-select
+            v-model="formSearch.publicity"
+            class="search_width"
+            filterable
+            clearable
+            placeholder="请选择"
+          >
+            <el-option
+              v-for="item in publicityList"
+              :key="item.value"
+              :label="item.label"
+              :value="item.value"
+            >
+            </el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item>
+          <el-button type="primary" @click="searchFrom"
+            ><i class="el-icon-search"></i> 查询</el-button
+          >
+          <el-button @click="resetForm"
+            ><i class="el-icon-refresh"></i> 重 置</el-button
+          >
+        </el-form-item>
       </el-form>
-      <div
-        style="width: 100%; border-bottom: 1px solid #ddd; margin: 10px 0"
-      ></div>
+    </div>
+
+    <div class="part-box">
       <!-- 页面列表 -->
-      <el-table v-loading="loading" :data="tableData" border>
+      <el-table v-loading="loading" :data="tableData">
         <el-table-column label="课程" width="180">
           <template slot-scope="scope">
             <span>{{ scope.row.course.name }}</span>
@@ -223,8 +192,7 @@
           </template>
         </el-table-column>
       </el-table>
-      <!-- 分页栏 -->
-      <div class="page pull-right">
+      <div class="part-page">
         <el-pagination
           :current-page="currentPage"
           :page-size="pageSize"
@@ -238,96 +206,98 @@
       </div>
     </div>
 
-    <div class="text-left">
-      <el-dialog
-        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-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
-                    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-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="题干">
-                <span class="ques-body" v-html="quesModel.quesBody"></span>
+              <el-form-item :label="index | optionOrderWordFilter">
+                <span class="ques-body" v-html="quesOption.optionBody"></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>
+        </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-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-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-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>
-    </div>
+                </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>
+
     <el-dialog title="提示" :visible.sync="deleteDialogVisible">
       <span>{{ deleteInfo }}</span>
       <span slot="footer" class="dialog-footer">

+ 7 - 7
src/modules/questions/views/School.vue

@@ -160,32 +160,32 @@
         stripe
         @selection-change="selectChange"
       >
-        <el-table-column type="selection" width="40" />
+        <el-table-column type="selection" width="50" align="center" />
         <el-table-column prop="id" label="ID" width="60" />
         <el-table-column label="学校名称">
           <template slot-scope="scope">
             <el-popover trigger="hover" placement="left">
               <div style="font-size: 18px; font-family: 新宋体">
                 <tr>
-                  <td style="color: green">学校名称</td>
+                  <td style="color: #1fb46f">学校名称</td>
                   <td style="color: purple; padding-left: 20px">
                     {{ scope.row.name }}
                   </td>
                 </tr>
                 <tr>
-                  <td style="color: green">学校代码</td>
+                  <td style="color: #1fb46f">学校代码</td>
                   <td style="color: purple; padding-left: 20px">
                     {{ scope.row.code }}
                   </td>
                 </tr>
                 <tr>
-                  <td style="color: green">负责人</td>
+                  <td style="color: #1fb46f">负责人</td>
                   <td style="color: purple; padding-left: 20px">
                     {{ scope.row.contacts }}
                   </td>
                 </tr>
                 <tr>
-                  <td style="color: green">联系方式</td>
+                  <td style="color: #1fb46f">联系方式</td>
                   <td style="color: purple; padding-left: 20px">
                     {{ scope.row.telephone }}
                   </td>
@@ -215,7 +215,7 @@
                 content="启用"
                 placement="left"
               >
-                <i class="el-icon-success" style="color: green"></i>
+                <i class="el-icon-success" style="color: #1fb46f"></i>
               </el-tooltip>
             </span>
             <span v-else>
@@ -225,7 +225,7 @@
                 content="禁用"
                 placement="left"
               >
-                <i class="el-icon-error" style="color: red"></i>
+                <i class="el-icon-error" style="color: #ff7240"></i>
               </el-tooltip>
             </span>
           </span>

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

@@ -82,7 +82,11 @@
                       style="width: 100%"
                       @selection-change="selectChange"
                     >
-                      <el-table-column type="selection" width="40" />
+                      <el-table-column
+                        type="selection"
+                        width="50"
+                        align="center"
+                      />
                       <el-table-column width="85" label="课程ID">
                         <span slot-scope="scope">{{ scope.row.courseId }}</span>
                       </el-table-column>

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

@@ -43,7 +43,7 @@
             stripe
             style="width: 100%"
           >
-            <el-table-column type="selection" width="40" />
+            <el-table-column type="selection" width="50" align="center" />
             <el-table-column width="85" label="课程ID">
               <span slot-scope="scope">{{ scope.row.id }}</span>
             </el-table-column>

+ 7 - 9
src/modules/questions/views/user.vue

@@ -1,11 +1,9 @@
 <template>
-  <section class="content">
-    <div
-      v-loading.fullscreen="loading"
-      class="box-body"
-      element-loading-text="请稍后..."
-    ></div>
-
+  <section
+    v-loading.fullscreen="loading"
+    class="content"
+    element-loading-text="请稍后..."
+  >
     <div class="part-box">
       <h2 class="part-box-title">用户管理</h2>
       <!-- 搜索 -->
@@ -194,7 +192,7 @@
                 content="启用"
                 placement="left"
               >
-                <i class="el-icon-success" style="color: green"></i>
+                <i class="el-icon-success" style="color: #1fb46f"></i>
               </el-tooltip>
             </span>
             <span v-else>
@@ -204,7 +202,7 @@
                 content="禁用"
                 placement="left"
               >
-                <i class="el-icon-error" style="color: red"></i>
+                <i class="el-icon-error" style="color: #ff7240"></i>
               </el-tooltip>
             </span>
           </span>

+ 3 - 0
src/styles/base.scss

@@ -73,6 +73,9 @@
   align-items: center;
   justify-content: space-between;
 }
+.padding-tb-20 {
+  padding: 20px 0;
+}
 
 // customize element-ui
 .side-dialog {

Beberapa file tidak ditampilkan karena terlalu banyak file yang berubah dalam diff ini