浏览代码

11111111111111

weiwenhai 6 年之前
父节点
当前提交
4f4a08fcaf

+ 0 - 2
src/modules/questions/directives/directives.js

@@ -15,7 +15,6 @@ function addAudio(el, binding, vnode) {
       vnode.context.$http
         .get(QUESTION_API + "/questionAudio/" + questionAudioId)
         .then(response => {
-          console.log("response:", response);
           if (response && response.data) {
             let audioFlag =
               '<audio controls><source src="http://exam-cloud-test.b0.upaiyun.com' +
@@ -28,5 +27,4 @@ function addAudio(el, binding, vnode) {
         });
     }
   }
-  console.log("el:", el);
 }

+ 18 - 0
src/modules/questions/styles/Common.css

@@ -0,0 +1,18 @@
+/* 检索框的长度 */
+.search_width {
+  width: 195px;
+}
+
+/* 查询按钮与检索框对齐 */
+.search_down {
+  margin-top: 3.3px;
+}
+
+/* 操作按钮左移*/
+.operate_left {
+  margin-left: 2.6px;
+}
+
+.button_left {
+  margin-left: 10px;
+}

+ 137 - 166
src/modules/questions/views/BluePaperStructure.vue

@@ -1,172 +1,140 @@
 <template>
-  <div>
-    <section class="content">
-      <div class="box box-info">
-        <!-- 头信息 -->
-        <div class="box-header with-border">
-          <h3 class="box-title">蓝图试卷结构预设</h3>
-          <div class="box-tools pull-right">
-            <button
-              type="button"
-              class="btn btn-box-tool"
-              data-widget="collapse"
-            >
-              <i class="fa fa-minus"></i>
-            </button>
-          </div>
-        </div>
-        <!-- 正文信息 -->
-        <div class="box-body">
-          <el-form
-            :inline="true"
-            :model="formSearch"
-            label-position="right"
-            label-width="90px"
-          >
-            <el-row :gutter="10">
-              <el-col :xs="7" :sm="7" :md="7" :lg="8">
-                <el-form-item label="结构名称" class="pull-left">
-                  <el-input
-                    placeholder="请输入结构名称"
-                    v-model="formSearch.name"
-                  ></el-input>
-                </el-form-item>
-              </el-col>
-              <el-col :xs="7" :sm="7" :md="7" :lg="8">
-                <el-form-item label="制定课程">
-                  <el-select
-                    v-model="formSearch.courseNo"
-                    style="width:180px;"
-                    filterable
-                    :remote-method="getCourses"
-                    remote
-                    clearable
-                    placeholder="请选择"
-                  >
-                    <el-option
-                      v-for="item in courseInfoSelect"
-                      :label="item.courseInfo"
-                      :value="item.courseNo"
-                      :key="item.courseNo"
-                    ></el-option>
-                  </el-select>
-                </el-form-item>
-              </el-col>
-              <el-col :xs="7" :sm="7" :md="7" :lg="8">
-                <el-form-item class="pull-right">
-                  <el-button
-                    size="small"
-                    type="primary"
-                    icon="search"
-                    @click="searchAll"
-                    >查询</el-button
-                  >
-                  <el-button
-                    size="small"
-                    type="primary"
-                    icon="plus"
-                    @click="insertStruct"
-                    >新增</el-button
-                  >
-                  <el-button size="small" type="danger" @click="deleteStructs">
-                    <i class="el-icon-delete"></i> 删除
-                  </el-button>
-                </el-form-item>
-              </el-col>
-            </el-row>
-          </el-form>
+  <section class="content">
+    <!-- 正文信息 -->
+    <div class="box-body">
+      <el-form
+        :inline="true"
+        :model="formSearch"
+        label-position="right"
+        label-width="90px"
+      >
+        <el-row>
+          <el-col :span="6">
+            <el-form-item label="结构名称" class="pull-left">
+              <el-input
+                class="search_width"
+                placeholder="请输入结构名称"
+                v-model="formSearch.name"
+                size="small"
+              ></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="6">
+            <el-form-item label="制定课程">
+              <el-select
+                class="search_width"
+                v-model="formSearch.courseNo"
+                filterable
+                :remote-method="getCourses"
+                remote
+                clearable
+                placeholder="请选择"
+                size="small"
+              >
+                <el-option
+                  v-for="item in courseInfoSelect"
+                  :label="item.courseInfo"
+                  :value="item.courseNo"
+                  :key="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="searchAll"
+                ><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>
+        <el-row>
+          <el-form-item class="pull-left">
+            <el-button size="small" type="danger" @click="deleteStructs">
+              <i class="el-icon-delete"></i> 批量删除
+            </el-button>
+          </el-form-item>
+        </el-row>
+      </el-form>
 
-          <!-- 页面列表 -->
-          <el-table
-            :data="tableData"
-            v-loading="loading"
-            element-loading-text="拼命加载中"
-            border
-            style="width: 100%;text-align:center;"
-            @selection-change="selectionChange"
-          >
-            <el-table-column type="selection"></el-table-column>
-            <el-table-column label="蓝图试卷结构名称" width="200">
-              <template slot-scope="scope">
-                <div>
-                  <span>{{ scope.row.name }}</span>
-                </div>
-              </template>
-            </el-table-column>
-            <el-table-column label="关联课程" width="200">
-              <template slot-scope="scope">
-                <div>
-                  <span>{{ scope.row.courseName }}</span>
-                </div>
-              </template>
-            </el-table-column>
-            <el-table-column label="课程代码" width="110">
-              <template slot-scope="scope">
-                <div>
-                  <span>{{ scope.row.courseNo }}</span>
-                </div>
-              </template>
-            </el-table-column>
-            <el-table-column label="类型" width="110">
-              <template slot-scope="scope">
-                <div>
-                  <span>{{ getType(scope.row.genPaperType) }}</span>
-                </div>
-              </template>
-            </el-table-column>
-            <el-table-column label="大题数" width="80">
-              <template slot-scope="scope">
-                <div>
-                  <span>{{ scope.row.detailCount }}</span>
-                </div>
-              </template>
-            </el-table-column>
-            <el-table-column label="难度" width="110">
-              <template slot-scope="scope">
-                <div>
-                  <span>{{ getDifficulty(scope.row.difficulty) }}</span>
-                </div>
-              </template>
-            </el-table-column>
-            <el-table-column label="总分" width="70">
-              <template slot-scope="scope">
-                <div>
-                  <span>{{ scope.row.totalScore }}</span>
-                </div>
-              </template>
-            </el-table-column>
-            <el-table-column label="操作" width="140">
-              <template slot-scope="scope">
-                <div>
-                  <el-button
-                    size="mini"
-                    type="info"
-                    @click="editStruct(scope.row);"
-                    >修改</el-button
-                  >
-                  <el-button
-                    size="mini"
-                    type="danger"
-                    @click="deleteStruct(scope.row);"
-                    >删除</el-button
-                  >
-                </div>
-              </template>
-            </el-table-column>
-          </el-table>
-          <div class="page pull-right">
-            <el-pagination
-              @current-change="handleCurrentChange"
-              :current-page="currentPage"
-              :page-size="pageSize"
-              layout="total, prev, pager, next, jumper"
-              :total="total"
-            ></el-pagination>
-          </div>
-        </div>
+      <!-- 页面列表 -->
+      <el-table
+        :data="tableData"
+        v-loading="loading"
+        element-loading-text="拼命加载中"
+        border
+        style="width: 100%;text-align:center;"
+        @selection-change="selectionChange"
+      >
+        <el-table-column type="selection"></el-table-column>
+        <el-table-column label="蓝图试卷结构名称">
+          <template slot-scope="scope">
+            <span>{{ scope.row.name }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="关联课程" width="180">
+          <template slot-scope="scope">
+            <span>{{ scope.row.courseName }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="课程代码" width="150">
+          <template slot-scope="scope">
+            <span>{{ scope.row.courseNo }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="类型" width="100">
+          <template slot-scope="scope">
+            <span>{{ getType(scope.row.genPaperType) }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="大题数" width="80">
+          <template slot-scope="scope">
+            <span>{{ scope.row.detailCount }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="难度" width="120">
+          <template slot-scope="scope">
+            <span>{{ getDifficulty(scope.row.difficulty) }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="总分" width="80">
+          <template slot-scope="scope">
+            <span>{{ scope.row.totalScore }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="操作" width="175">
+          <template slot-scope="scope">
+            <div class="operate_left">
+              <el-button
+                size="mini"
+                type="primary"
+                @click="editStruct(scope.row);"
+                ><i class="el-icon-edit"></i>修改</el-button
+              >
+              <el-button
+                size="mini"
+                type="danger"
+                @click="deleteStruct(scope.row);"
+                ><i class="el-icon-delete"></i> 删除</el-button
+              >
+            </div>
+          </template>
+        </el-table-column>
+      </el-table>
+      <div class="page pull-right">
+        <el-pagination
+          @current-change="handleCurrentChange"
+          :current-page="currentPage"
+          :page-size="pageSize"
+          layout="total, prev, pager, next, jumper"
+          :total="total"
+        ></el-pagination>
       </div>
-    </section>
-  </div>
+    </div>
+  </section>
 </template>
 <script>
 import { CORE_API, QUESTION_API } from "@/constants/constants";
@@ -392,3 +360,6 @@ export default {
   }
 };
 </script>
+<style scoped>
+@import "../styles/Common.css";
+</style>

+ 160 - 187
src/modules/questions/views/CourseProperty.vue

@@ -1,179 +1,35 @@
 <template>
-  <div>
-    <section class="content">
-      <div class="box box-info">
-        <!-- 头信息 -->
-        <div class="box-header with-border">
-          <h3 class="box-title">课程属性预设</h3>
-        </div>
-        <!-- 正文信息 -->
-        <div class="box-body">
-          <el-form
-            :inline="true"
-            :model="formSearch"
-            label-position="right"
-            label-width="90px"
-          >
-            <el-row :gutter="10">
-              <el-col :xs="7" :sm="7" :md="7" :lg="8">
-                <el-form-item label="属性名称" class="pull-left">
-                  <el-input
-                    placeholder="请输入属性名称"
-                    v-model="formSearch.name"
-                  ></el-input>
-                </el-form-item>
-              </el-col>
-              <el-col :xs="7" :sm="7" :md="7" :lg="8">
-                <el-form-item label="课程名称">
-                  <el-select
-                    v-model="formSearch.courseId"
-                    class="form_width"
-                    filterable
-                    :remote-method="getCourses"
-                    remote
-                    clearable
-                    placeholder="请选择"
-                  >
-                    <el-option
-                      v-for="item in courseInfoSelect"
-                      :label="item.courseInfo"
-                      :value="item.courseId"
-                      :key="item.courseId"
-                    >
-                    </el-option>
-                  </el-select>
-                </el-form-item>
-              </el-col>
-              <el-form-item class="pull-right buttonframe">
-                <el-button
-                  size="small"
-                  style="margin-left:90px;"
-                  type="primary"
-                  icon="search"
-                  @click="searchCourseProperty"
-                  >查询</el-button
-                >
-                <el-button
-                  size="small"
-                  type="primary"
-                  icon="plus"
-                  @click="addCourseProperty"
-                  >新增</el-button
-                >
-                <el-button
-                  size="small"
-                  type="success"
-                  @click="openCoursePropertys"
-                  ><i class="el-icon-delete"></i> 启用</el-button
-                >
-                <el-button
-                  size="small"
-                  type="danger"
-                  @click="closeCoursePropertys"
-                  ><i class="el-icon-delete"></i> 禁用</el-button
-                >
-              </el-form-item>
-            </el-row>
-          </el-form>
-
-          <!-- 页面列表 -->
-          <el-table
-            :data="tableData"
-            v-loading="loading"
-            element-loading-text="拼命加载中"
-            border
-            style="width:100%;"
-            @selection-change="selectionChange"
-          >
-            <el-table-column type="selection"></el-table-column>
-            <el-table-column label="课程名称">
-              <template slot-scope="scope">
-                <div>
-                  <span>{{ scope.row.courseName }}</span>
-                </div>
-              </template>
-            </el-table-column>
-            <el-table-column label="属性名称">
-              <template slot-scope="scope">
-                <div>
-                  <span>{{ scope.row.name }}</span>
-                </div>
-              </template>
-            </el-table-column>
-            <el-table-column label="状态">
-              <template slot-scope="scope">
-                <div>
-                  <span>{{ getEnable(scope.row.enable) }}</span>
-                </div>
-              </template>
-            </el-table-column>
-            <el-table-column :context="_self" label="操作">
-              <template slot-scope="scope">
-                <div>
-                  <el-button
-                    size="mini"
-                    type="info"
-                    @click="editCourseProperty(scope.row);"
-                  >
-                    详情
-                  </el-button>
-                  <el-button
-                    size="mini"
-                    type="success"
-                    @click="openCourseProperty(scope.row);"
-                  >
-                    启用
-                  </el-button>
-                  <el-button
-                    size="mini"
-                    type="danger"
-                    @click="closeCourseProperty(scope.row);"
-                  >
-                    禁用
-                  </el-button>
-                </div>
-              </template>
-            </el-table-column>
-          </el-table>
-          <div class="page pull-right">
-            <el-pagination
-              @current-change="handleCurrentChange"
-              :current-page="currentPage"
-              :page-size="pageSize"
-              layout="total, prev, pager, next, jumper"
-              :total="total"
-            >
-            </el-pagination>
-          </div>
-        </div>
-        <el-dialog
-          title="新增课程属性名称"
-          :visible.sync="coursePropertyDialog"
-        >
-          <el-form :model="coursePropertyForm">
-            <el-row>
-              <el-form-item label="属性名称">
-                <el-input
-                  v-model="coursePropertyForm.name"
-                  auto-complete="off"
-                  style="width:210px;"
-                  @change="showTile"
-                ></el-input>
-                <span style="color: red;" v-show="showName"
-                  >请输入属性名称</span
-                >
-              </el-form-item>
-            </el-row>
+  <section class="content">
+    <!-- 正文信息 -->
+    <div class="box-body">
+      <el-form
+        :inline="true"
+        :model="formSearch"
+        label-position="right"
+        label-width="90px"
+      >
+        <el-row>
+          <el-col :span="6">
+            <el-form-item label="属性名称" class="pull-left">
+              <el-input
+                class="search_width"
+                placeholder="请输入属性名称"
+                v-model="formSearch.name"
+                size="small"
+              ></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="6">
             <el-form-item label="课程名称">
               <el-select
-                v-model="coursePropertyForm.courseId"
-                class="form_width"
-                @change="showTile"
+                class="search_width"
+                v-model="formSearch.courseId"
                 filterable
                 :remote-method="getCourses"
                 remote
                 clearable
                 placeholder="请选择"
+                size="small"
               >
                 <el-option
                   v-for="item in courseInfoSelect"
@@ -183,19 +39,133 @@
                 >
                 </el-option>
               </el-select>
-              <span style="color: red;" v-show="showCourseNo"
-                >请选择课程名称</span
-              >
             </el-form-item>
-          </el-form>
-          <div slot="footer" class="dialog-footer">
-            <el-button @click="coursePropertyDialog = false;">取 消</el-button>
-            <el-button type="primary" @click="submit">确 定</el-button>
-          </div>
-        </el-dialog>
+          </el-col>
+          <el-col :span="6">
+            <div class="search_down">
+              <el-button size="small" type="primary" @click="searchCourProperty"
+                ><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>
+        <el-row>
+          <el-form-item class="pull-left">
+            <el-button size="small" type="primary" @click="openCoursePropertys"
+              ><i class="el-icon-circle-check"></i> 批量启用</el-button
+            >
+            <el-button size="small" type="danger" @click="closeCoursePropertys"
+              ><i class="el-icon-circle-close"></i> 批量禁用</el-button
+            >
+          </el-form-item>
+        </el-row>
+      </el-form>
+
+      <!-- 页面列表 -->
+      <el-table
+        :data="tableData"
+        v-loading="loading"
+        element-loading-text="拼命加载中"
+        border
+        style="width:100%;"
+        @selection-change="selectionChange"
+      >
+        <el-table-column type="selection"></el-table-column>
+        <el-table-column label="课程名称">
+          <template slot-scope="scope">
+            <span>{{ scope.row.courseName }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="属性名称">
+          <template slot-scope="scope">
+            <span>{{ scope.row.name }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="状态">
+          <template slot-scope="scope">
+            <span>{{ getEnable(scope.row.enable) }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="操作">
+          <template slot-scope="scope">
+            <div class="operate_left">
+              <el-button
+                size="mini"
+                type="primary"
+                @click="editCourseProperty(scope.row);"
+                ><i class="el-icon-zoom-in"></i> 详情
+              </el-button>
+              <el-button
+                size="mini"
+                type="primary"
+                @click="openCourseProperty(scope.row);"
+                ><i class="el-icon-circle-check"></i> 启用
+              </el-button>
+              <el-button
+                size="mini"
+                type="danger"
+                @click="closeCourseProperty(scope.row);"
+                ><i class="el-icon-circle-close"></i> 禁用
+              </el-button>
+            </div>
+          </template>
+        </el-table-column>
+      </el-table>
+      <div class="page pull-right">
+        <el-pagination
+          @current-change="handleCurrentChange"
+          :current-page="currentPage"
+          :page-size="pageSize"
+          layout="total, prev, pager, next, jumper"
+          :total="total"
+        >
+        </el-pagination>
+      </div>
+    </div>
+    <el-dialog title="新增课程属性名称" :visible.sync="coursePropertyDialog">
+      <el-form :model="coursePropertyForm">
+        <el-row>
+          <el-form-item label="属性名称">
+            <el-input
+              v-model="coursePropertyForm.name"
+              auto-complete="off"
+              style="width:210px;"
+              @change="showTile"
+            ></el-input>
+            <span style="color: red;" v-show="showName">请输入属性名称</span>
+          </el-form-item>
+        </el-row>
+        <el-form-item label="课程名称">
+          <el-select
+            v-model="coursePropertyForm.courseId"
+            class="form_width"
+            @change="showTile"
+            filterable
+            :remote-method="getCourses"
+            remote
+            clearable
+            placeholder="请选择"
+          >
+            <el-option
+              v-for="item in courseInfoSelect"
+              :label="item.courseInfo"
+              :value="item.courseId"
+              :key="item.courseId"
+            >
+            </el-option>
+          </el-select>
+          <span style="color: red;" v-show="showCourseNo">请选择课程名称</span>
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button @click="coursePropertyDialog = false;">取 消</el-button>
+        <el-button type="primary" @click="submit">确 定</el-button>
       </div>
-    </section>
-  </div>
+    </el-dialog>
+  </section>
 </template>
 
 <script>
@@ -227,7 +197,7 @@ export default {
 
   methods: {
     //查询所有课程属性
-    searchCourseProperty() {
+    searchCourProperty() {
       this.loading = true;
       var url =
         QUESTION_API +
@@ -275,7 +245,7 @@ export default {
               message: "开启成功",
               type: "success"
             });
-            this.searchCourseProperty();
+            this.searchCourProperty();
           })
           .catch(() => {
             this.$notify({
@@ -308,7 +278,7 @@ export default {
                 type: "success",
                 message: "开启成功!"
               });
-              this.searchCourseProperty();
+              this.searchCourProperty();
               this.selectedList = [];
             })
             .catch(() => {
@@ -335,7 +305,7 @@ export default {
               message: "禁用成功",
               type: "success"
             });
-            this.searchCourseProperty();
+            this.searchCourProperty();
           })
           .catch(() => {
             this.$notify({
@@ -368,7 +338,7 @@ export default {
                 type: "success",
                 message: "禁用成功!"
               });
-              this.searchCourseProperty();
+              this.searchCourProperty();
               this.selectedList = [];
             })
             .catch(() => {
@@ -386,7 +356,7 @@ export default {
     handleCurrentChange(val) {
       console.log(`当前页: ${val}`);
       this.currentPage = val;
-      this.searchCourseProperty();
+      this.searchCourProperty();
     },
     //确定
     submit() {
@@ -416,7 +386,7 @@ export default {
             type: "success"
           });
           this.coursePropertyDialog = false;
-          this.searchCourseProperty();
+          this.searchCourProperty();
         })
         .catch(() => {
           this.$notify({
@@ -538,7 +508,10 @@ export default {
   },
   created() {
     this.initValue();
-    this.searchCourseProperty();
+    this.searchCourProperty();
   }
 };
 </script>
+<style scoped>
+@import "../styles/Common.css";
+</style>

+ 111 - 49
src/modules/questions/views/EditPaper.vue

@@ -5,6 +5,11 @@
     element-loading-text="拼命加载中。。。"
     id="editPaperApp"
   >
+   <ckeditor
+                    :editor="editor"
+                    v-model="examRemark"
+                    :config="editorConfig"
+                  ></ckeditor>
     <div class="edit-paper-top">
       <div class="edit-paper-top-inline">
         <div class="paper-top-div">
@@ -624,6 +629,7 @@
                     :editor="editor"
                     v-model="examRemark"
                     :config="editorConfig"
+                    @ready="onEditorReady"
                   ></ckeditor>
                 </div>
               </el-form-item>
@@ -641,35 +647,37 @@
         :visible.sync="dialogRadioFile"
         :before-close="closeAudioDialog"
       >
-        <el-upload
-          ref="upload"
-          class="upload-demo"
-          :action="uploadAction"
-          :headers="uploadHeaders"
-          :on-preview="handlePreview"
-          :on-remove="handleRemove"
-          :before-remove="beforeRemove"
-          :before-upload="beforeUpload"
-          multiple
-          :limit="6"
-          :on-exceed="handleExceed"
-          :file-list="fileList"
-          :auto-upload="false"
+        <form
+          id="radioForm"
+          method="post"
+          action=""
+          enctype="multipart/form-data"
         >
-          <el-button slot="trigger" size="small" type="primary"
-            >选取文件</el-button
-          >
+          <input
+            id="radioFile"
+            name="files"
+            type="file"
+            value="上传音频文件"
+            webkitdirectory
+          />
+          <el-button @click="checkFile" type="warning">检查文件名</el-button>
           <el-button
-            style="margin-left: 10px;"
-            size="small"
-            type="success"
-            @click="submitUpload"
-            >上传到服务器</el-button
+            @click="uploadAudioFile"
+            type="info"
+            :loading="uploadAudioLoading"
+            :disabled="isUpload || uploadAudioLoading"
           >
-          <div slot="tip" class="el-upload__tip">
-            只能上传mp3文件,且一次不超过6个
-          </div>
-        </el-upload>
+            <span v-show="!uploadAudioLoading">开始上传</span>
+            <span v-show="uploadAudioLoading">正在上传中...</span>
+          </el-button>
+        </form>
+        <div style="margin-top: 20px;" v-if="checkResult">
+          <span>检查结果:</span><br /><br />
+          <span style="color: #13CE66;" v-show="message == 'OK!'">OK!</span>
+          <span style="color: #FF4949;" v-show="message != 'OK!'">{{
+            message
+          }}</span>
+        </div>
       </el-dialog>
     </div>
   </div>
@@ -780,29 +788,7 @@ export default {
     };
   },
   methods: {
-    submitUpload() {
-      this.$refs.upload.submit();
-    },
-    handleRemove(file, fileList) {
-      console.log(file, fileList);
-    },
-    handlePreview(file) {
-      console.log(file);
-    },
-    handleExceed(files, fileList) {
-      this.$message.warning(
-        `当前限制选择 6 个文件,本次选择了 ${
-          files.length
-        } 个文件,共选择了 ${files.length + fileList.length} 个文件`
-      );
-    },
-    beforeRemove(file) {
-      return this.$confirm(`确定移除 ${file.name}?`);
-    },
-    beforeUpload(file, fileList) {
-      this.fileList.push(file);
-      console.log("beforeUpload:", file, fileList);
-    },
+    onEditorReady(){alert("ready")},
     //隐藏大题下的所有小题
     hideContent(index) {
       this.showQuestions[index].is_show = false;
@@ -1539,6 +1525,79 @@ export default {
         }
       }
       return false;
+    },
+    //上传文件检查
+    checkFile() {
+      this.fileNameList = [];
+      //读取选取的文件夹里面的文件
+      this.checkResult = true;
+      var files = document.getElementById("radioFile").files;
+      if (files.length == 0) {
+        this.message = "请选择音频文件夹!";
+        return;
+      }
+      var size = 0;
+      var isGo = false;
+      //取到所有文件的文件名
+      for (var i = 0; i < files.length; i++) {
+        this.fileNameList.push(files[i].name);
+        if (files[i].size > 5 * 1024 * 1024) {
+          isGo = true;
+          break;
+        }
+        size = files[i].size + size;
+      }
+      if (isGo) {
+        this.message = "上传单个文件不能超过5M";
+        this.isUpload = true;
+      }
+      if (size > 50 * 1024 * 1024) {
+        this.message = "上传文件总和不能超过50M";
+        this.isUpload = true;
+        return;
+      }
+      this.$http
+        .post(
+          QUESTION_API + "/checkRadioFile/" + this.paperId,
+          this.fileNameList
+        )
+        .then(response => {
+          console.log("response:", response);
+          this.message = response.data.errorMsg;
+          if (this.message == "OK") {
+            this.message = "OK!";
+            this.isUpload = false;
+          } else {
+            this.isUpload = true;
+          }
+        })
+        .catch(error => {
+          console.log(error);
+        });
+    },
+    //读取文件
+    uploadAudioFile() {
+      let param = new FormData();
+      var fileList = document.getElementById("radioFile").files;
+      //循环添加到formData中
+      for (var i = 0; i < fileList.length; i++) {
+        var file = fileList[i];
+        param.append("files", file, file.name);
+      }
+      let config = {
+        headers: { "Content-Type": "multipart/form-data" }
+      };
+      this.$http
+        .post(QUESTION_API + "/uploadRadio/" + this.paperId, param, config)
+        .then(() => {
+          this.dialogRadioFile = false;
+          this.uploadAudioLoading = false;
+          this.initPaper();
+        })
+        .catch(error => {
+          this.message = error.response.responseText;
+          this.uploadAudioLoading = false;
+        });
     }
   },
   computed: {
@@ -1584,4 +1643,7 @@ export default {
 .property_with {
   width: 100px;
 }
+.ck-toolbar{
+  z-index: 9999;
+}
 </style>

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

@@ -215,8 +215,9 @@
                 type="primary"
                 icon="caret-left"
                 @click="backToQuesList();"
-                >返回列表</el-button
               >
+                返回列表
+              </el-button>
             </el-form-item>
           </el-form>
         </div>

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

@@ -300,9 +300,9 @@
                 style="width: 220px"
                 :disabled="button"
               ></el-input>
-              <span style="color: red" v-if="check(item.quantity)"
-                >请输入正整数或0</span
-              >
+              <span style="color: red" v-if="check(item.quantity)">
+                请输入正整数或0
+              </span>
             </el-form-item>
           </div>
         </div>

+ 241 - 254
src/modules/questions/views/ExtractPaperRule.vue

@@ -1,267 +1,254 @@
 <template>
-  <div>
-    <section class="content">
-      <div class="box box-info">
-        <!-- 头信息 -->
-        <div class="box-header with-border">
-          <h3 class="box-title">调卷规则</h3>
-        </div>
-        <!-- 正文信息 -->
-        <div class="box-body" v-loading.body="loading">
-          <el-form :inline="true" :model="formSearch">
-            <el-row>
-              <el-form-item label="考试名称">
-                <el-select
-                  filterable
-                  clearable
-                  v-model="formSearch.examId"
-                  @change="getExamCourses"
-                  placeholder="请选择"
-                  :remote-method="getExams"
-                  remote
-                >
-                  <el-option
-                    v-for="item in examList"
-                    :key="item.id"
-                    :label="item.name"
-                    :value="item.id"
-                  >
-                  </el-option>
-                </el-select>
-              </el-form-item>
-              <el-form-item label="课程名称">
-                <el-select
-                  filterable
-                  clearable
-                  v-model="formSearch.courseNo"
-                  placeholder="请选择"
-                  :remote-method="getCourses"
-                  remote
-                >
-                  <el-option
-                    v-for="item in courseInfoSelect"
-                    :label="item.courseInfo"
-                    :value="item.courseNo"
-                    :key="item.courseNo"
-                  >
-                  </el-option>
-                </el-select>
-              </el-form-item>
-              <el-form-item class="pull-right buttonframe">
-                <el-button
-                  size="small"
-                  type="primary"
-                  icon="search"
-                  @click="searchRulePaper"
-                  >查询</el-button
-                >
-                <el-button
-                  size="small"
-                  type="primary"
-                  icon="plus"
-                  @click="markRules"
-                  >新增</el-button
+  <section class="content">
+    <!-- 正文信息 -->
+    <div class="box-body">
+      <el-form
+        :inline="true"
+        :model="formSearch"
+        label-position="right"
+        label-width="90px"
+      >
+        <el-row>
+          <el-col :span="6">
+            <el-form-item label="考试名称">
+              <el-select
+                class="search_width"
+                v-model="formSearch.examId"
+                filterable
+                :remote-method="getExams"
+                remote
+                clearable
+                @change="getExamCourses"
+                placeholder="请选择"
+                size="small"
+              >
+                <el-option
+                  v-for="item in examList"
+                  :key="item.id"
+                  :label="item.name"
+                  :value="item.id"
                 >
-                <el-button
-                  size="small"
-                  type="primary"
-                  icon="upload2"
-                  @click="openBatchExportPaperDialog"
-                  >批量导出
-                </el-button>
-              </el-form-item>
-            </el-row>
-          </el-form>
+                </el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
 
-          <!-- 页面列表 -->
-          <el-table
-            :data="tableData"
-            border
-            style="width: 100%;text-align:center;"
-          >
-            <el-table-column prop="examName" label="考试名称">
-            </el-table-column>
-            <el-table-column label="考试类型">
-              <template slot-scope="scope">
-                <div class="el_table_inner_left">
-                  <span v-show="scope.row.examType == 'ONLINE'">在线考试</span>
-                  <span v-show="scope.row.examType == 'TRADITION'"
-                    >传统考试</span
-                  >
-                  <span v-show="scope.row.examType == 'PRACTICE'"
-                    >练习考试</span
-                  >
-                  <span v-show="scope.row.examType == 'OFFLINE'">离线考试</span>
-                  <span v-show="scope.row.examType == 'PRINT_EXAM'"
-                    >分布式印刷考试</span
-                  >
-                </div>
-              </template>
-            </el-table-column>
-            <el-table-column prop="courseName" label="课程名称">
-            </el-table-column>
-            <el-table-column prop="courseCode" label="课程代码">
-            </el-table-column>
-            <el-table-column label="调卷类型">
-              <template slot-scope="scope">
-                <div class="el_table_inner_left">
-                  <span v-show="scope.row.callType == 'WHOLE_SET'"
-                    >成套调用</span
-                  >
-                  <span v-show="scope.row.callType == 'RESTRUCT'"
-                    >重组调用</span
-                  >
-                </div>
-              </template>
-            </el-table-column>
-            <el-table-column label="调卷规则">
-              <template slot-scope="scope">
-                <div class="el_table_inner_left">
-                  <span v-show="scope.row.id">
-                    <el-tag type="success">已制定</el-tag>
-                  </span>
-                </div>
-              </template>
-            </el-table-column>
-            <el-table-column label="操作">
-              <template slot-scope="scope">
-                <div>
-                  <el-button
-                    v-if="scope.row.ifFinish == 1"
-                    size="small"
-                    type="primary"
-                    @click="openSingleExportPaperDialog(scope.row);"
-                  >
-                    导出
-                  </el-button>
-                  <el-button
-                    v-if="scope.row.id"
-                    size="small"
-                    type="warning"
-                    @click="updateRules(scope.row);"
-                  >
-                    修改
-                  </el-button>
-                </div>
-              </template>
-            </el-table-column>
-          </el-table>
-          <div class="page pull-right">
-            <el-pagination
-              @current-change="handleCurrentChange"
-              :current-page="currentPage"
-              :page-size="pageSize"
-              layout="total, prev, pager, next, jumper"
-              :total="total"
+          <el-form-item label="课程名称">
+            <el-select
+              filterable
+              clearable
+              v-model="formSearch.courseNo"
+              placeholder="请选择"
+              :remote-method="getCourses"
+              remote
             >
-            </el-pagination>
-          </div>
-        </div>
+              <el-option
+                v-for="item in courseInfoSelect"
+                :label="item.courseInfo"
+                :value="item.courseNo"
+                :key="item.courseNo"
+              >
+              </el-option>
+            </el-select>
+          </el-form-item>
+          <el-form-item class="pull-right buttonframe">
+            <el-button
+              size="small"
+              type="primary"
+              icon="search"
+              @click="searchRulePaper"
+              >查询</el-button
+            >
+            <el-button
+              size="small"
+              type="primary"
+              icon="plus"
+              @click="markRules"
+              >新增</el-button
+            >
+            <el-button
+              size="small"
+              type="primary"
+              icon="upload2"
+              @click="openBatchExportPaperDialog"
+              >批量导出
+            </el-button>
+          </el-form-item>
+        </el-row>
+      </el-form>
+
+      <!-- 页面列表 -->
+      <el-table :data="tableData" border style="width: 100%;text-align:center;">
+        <el-table-column prop="examName" label="考试名称"> </el-table-column>
+        <el-table-column label="考试类型">
+          <template slot-scope="scope">
+            <div class="el_table_inner_left">
+              <span v-show="scope.row.examType == 'ONLINE'">在线考试</span>
+              <span v-show="scope.row.examType == 'TRADITION'">传统考试</span>
+              <span v-show="scope.row.examType == 'PRACTICE'">练习考试</span>
+              <span v-show="scope.row.examType == 'OFFLINE'">离线考试</span>
+              <span v-show="scope.row.examType == 'PRINT_EXAM'"
+                >分布式印刷考试</span
+              >
+            </div>
+          </template>
+        </el-table-column>
+        <el-table-column prop="courseName" label="课程名称"> </el-table-column>
+        <el-table-column prop="courseCode" label="课程代码"> </el-table-column>
+        <el-table-column label="调卷类型">
+          <template slot-scope="scope">
+            <div class="el_table_inner_left">
+              <span v-show="scope.row.callType == 'WHOLE_SET'">成套调用</span>
+              <span v-show="scope.row.callType == 'RESTRUCT'">重组调用</span>
+            </div>
+          </template>
+        </el-table-column>
+        <el-table-column label="调卷规则">
+          <template slot-scope="scope">
+            <div class="el_table_inner_left">
+              <span v-show="scope.row.id">
+                <el-tag type="success">已制定</el-tag>
+              </span>
+            </div>
+          </template>
+        </el-table-column>
+        <el-table-column label="操作">
+          <template slot-scope="scope">
+            <div>
+              <el-button
+                v-if="scope.row.ifFinish == 1"
+                size="small"
+                type="primary"
+                @click="openSingleExportPaperDialog(scope.row)"
+              >
+                导出
+              </el-button>
+              <el-button
+                v-if="scope.row.id"
+                size="small"
+                type="warning"
+                @click="updateRules(scope.row)"
+              >
+                修改
+              </el-button>
+            </div>
+          </template>
+        </el-table-column>
+      </el-table>
+      <div class="page pull-right">
+        <el-pagination
+          @current-change="handleCurrentChange"
+          :current-page="currentPage"
+          :page-size="pageSize"
+          layout="total, prev, pager, next, jumper"
+          :total="total"
+        >
+        </el-pagination>
       </div>
-      <el-dialog title="导出" :visible.sync="exportDialog">
-        <el-form :model="exportModel" label-position="right" label-width="80px">
-          <el-row>
-            <el-col :md="24">
-              <el-form-item label="考试名称">
-                <el-select
-                  v-model="exportModel.examId"
-                  filterable
-                  clearable
-                  :disabled="
-                    exportDialog.exportWay == 'SINGLE' &&
-                      exportModel.courseCode != ''
-                  "
-                  @change="checkPaperStructure"
+    </div>
+    <el-dialog title="导出" :visible.sync="exportDialog">
+      <el-form :model="exportModel" label-position="right" label-width="80px">
+        <el-row>
+          <el-col :md="24">
+            <el-form-item label="考试名称">
+              <el-select
+                v-model="exportModel.examId"
+                filterable
+                clearable
+                :disabled="
+                  exportDialog.exportWay == 'SINGLE' &&
+                    exportModel.courseCode != ''
+                "
+                @change="checkPaperStructure"
+              >
+                <el-option
+                  v-for="item in examList"
+                  :key="item.id"
+                  :label="item.name"
+                  :value="item.id"
                 >
-                  <el-option
-                    v-for="item in examList"
-                    :key="item.id"
-                    :label="item.name"
-                    :value="item.id"
-                  >
-                  </el-option>
-                </el-select>
-              </el-form-item>
-            </el-col>
-          </el-row>
-          <el-row v-show="exportModel.courseId">
-            <el-col :md="24">
-              <el-form-item label="课程名称">
-                <el-input v-model="exportModel.courseName" disabled></el-input>
-              </el-form-item>
-            </el-col>
-          </el-row>
-          <el-row>
-            <el-col :md="24">
-              <el-form-item
-                label="导出内容"
-                v-if="exportModel.examType != 'PRINT_EXAM'"
+                </el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row v-show="exportModel.courseId">
+          <el-col :md="24">
+            <el-form-item label="课程名称">
+              <el-input v-model="exportModel.courseName" disabled></el-input>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row>
+          <el-col :md="24">
+            <el-form-item
+              label="导出内容"
+              v-if="exportModel.examType != 'PRINT_EXAM'"
+            >
+              <el-checkbox-group
+                v-model="exportModel.exportContentList"
+                v-if="exportModel.exportType == 'NORMAL'"
               >
-                <el-checkbox-group
-                  v-model="exportModel.exportContentList"
-                  v-if="exportModel.exportType == 'NORMAL'"
+                <el-checkbox label="PAPER" :disabled="paperDisabled"
+                  >试卷</el-checkbox
                 >
-                  <el-checkbox label="PAPER" :disabled="paperDisabled"
-                    >试卷</el-checkbox
-                  >
-                  <el-checkbox label="ANSWER" :disabled="answerDisabled"
-                    >答案</el-checkbox
-                  >
-                  <el-checkbox
-                    label="PAPER_STRUCTURE_OBJECTIVE,PAPER_STRUCTURE_SUBJECTIVE"
-                    :disabled="structureDisabled"
-                    >试卷结构
-                  </el-checkbox>
-                </el-checkbox-group>
-                <el-checkbox-group
-                  v-model="exportModel.exportContentList"
-                  v-if="exportModel.exportType == 'ONLINE'"
+                <el-checkbox label="ANSWER" :disabled="answerDisabled"
+                  >答案</el-checkbox
                 >
-                  <el-checkbox
-                    label="COMPUTERTEST_PACKAGE"
-                    :disabled="onlineDisabled"
-                    >机考数据包
-                  </el-checkbox>
-                </el-checkbox-group>
-              </el-form-item>
-              <el-form-item
-                label="导出内容"
-                v-if="exportModel.examType == 'PRINT_EXAM'"
-              >
-                <el-checkbox-group v-model="exportModel.exportContentList">
-                  <el-checkbox label="PAPER" :disabled="paperDisabled"
-                    >试卷</el-checkbox
-                  >
-                  <el-checkbox label="ANSWER" :disabled="answerDisabled"
-                    >答案</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>
-            <el-col :md="24" class="text-center">
-              <el-button type="primary" @click="exportPaperInfo"
-                >开始导出</el-button
+                <el-checkbox
+                  label="PAPER_STRUCTURE_OBJECTIVE,PAPER_STRUCTURE_SUBJECTIVE"
+                  :disabled="structureDisabled"
+                  >试卷结构
+                </el-checkbox>
+              </el-checkbox-group>
+              <el-checkbox-group
+                v-model="exportModel.exportContentList"
+                v-if="exportModel.exportType == 'ONLINE'"
               >
-            </el-col>
-          </el-row>
-        </el-form>
-      </el-dialog>
-    </section>
-  </div>
+                <el-checkbox
+                  label="COMPUTERTEST_PACKAGE"
+                  :disabled="onlineDisabled"
+                  >机考数据包
+                </el-checkbox>
+              </el-checkbox-group>
+            </el-form-item>
+            <el-form-item
+              label="导出内容"
+              v-if="exportModel.examType == 'PRINT_EXAM'"
+            >
+              <el-checkbox-group v-model="exportModel.exportContentList">
+                <el-checkbox label="PAPER" :disabled="paperDisabled"
+                  >试卷</el-checkbox
+                >
+                <el-checkbox label="ANSWER" :disabled="answerDisabled"
+                  >答案</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>
+          <el-col :md="24" class="text-center">
+            <el-button type="primary" @click="exportPaperInfo"
+              >开始导出</el-button
+            >
+          </el-col>
+        </el-row>
+      </el-form>
+    </el-dialog>
+  </section>
 </template>
 
 <script>

+ 248 - 250
src/modules/questions/views/GenPaper.vue

@@ -1,26 +1,24 @@
 <template>
-  <div>
-    <section class="content">
-      <div class="box box-info">
-        <div class="box-header with-border">
-          <h3 class="box-title">考试试卷管理</h3>
-        </div>
-        <div class="box-body">
-          <el-form
-            :inline="true"
-            :model="formSearch"
-            label-position="right"
-            label-width="110px"
-          >
-            <el-form-item label="课程名称" class="pull-left">
+  <section class="content">
+    <div class="box-body">
+      <el-form
+        :inline="true"
+        :model="formSearch"
+        label-position="right"
+        label-width="90px"
+      >
+        <el-row>
+          <el-col :span="6">
+            <el-form-item label="课程名称">
               <el-select
+                class="search_width"
                 v-model="formSearch.courseNo"
+                filterable
                 :remote-method="getCourses"
-                :loading="courseLoading"
                 remote
-                filterable
                 clearable
                 placeholder="全部"
+                size="small"
               >
                 <el-option
                   v-for="item in courseInfoSelect"
@@ -31,15 +29,26 @@
                 </el-option>
               </el-select>
             </el-form-item>
-            <el-form-item label="试卷名称" class="pull-left">
+          </el-col>
+          <el-col :span="6">
+            <el-form-item label="试卷名称">
               <el-input
+                class="search_width"
                 v-model="formSearch.name"
                 placeholder="试卷名称"
+                size="small"
               ></el-input>
             </el-form-item>
-            <el-form-item label="层次" class="pull-left">
-              <el-select v-model="formSearch.level">
-                <el-option label="请选择" value=""> </el-option>
+          </el-col>
+          <el-col :span="6">
+            <el-form-item label="层次">
+              <el-select
+                class="search_width"
+                v-model="formSearch.level"
+                clearable
+                placeholder="请选择"
+                size="small"
+              >
                 <el-option
                   v-for="item in levelList"
                   :label="item.label"
@@ -49,244 +58,233 @@
                 </el-option>
               </el-select>
             </el-form-item>
-            <el-form-item class="pull-right">
-              <el-button
-                size="small"
-                type="primary"
-                icon="search"
-                @click="searchGenPaper"
-                >查询</el-button
+          </el-col>
+          <el-col :span="6">
+            <div class="search_down">
+              <el-button size="small" type="primary" @click="searchGenPaper"
+                ><i class="el-icon-search"></i> 查询</el-button
               >
-              <el-button
-                size="small"
-                type="primary"
-                icon="plus"
-                @click="genPaperDetail"
-                >组卷</el-button
+              <el-button size="small" type="primary" @click="genPaperDetail"
+                ><i class="el-icon-plus"></i> 组卷</el-button
               >
+            </div>
+          </el-col>
+        </el-row>
+        <el-row>
+          <el-form-item class="pull-left">
+            <el-button
+              size="small"
+              type="primary"
+              @click="openBatchExportPaperDialog"
+              ><i class="el-icon-download"></i> 批量下载成卷</el-button
+            >
+            <el-button size="small" type="danger" @click="batchDeleteGenPaper">
+              <i class="el-icon-delete"></i> 批量删除成卷
+            </el-button>
+          </el-form-item>
+        </el-row>
+      </el-form>
+      <el-table
+        v-loading="loading"
+        element-loading-text="拼命加载中"
+        :data="tableData"
+        border
+        style="width: 100%"
+        @selection-change="selectChange"
+      >
+        <el-table-column type="selection" width="55"></el-table-column>
+        <el-table-column label="课程名称" width="180">
+          <template slot-scope="scope">
+            <span>{{ scope.row.course.name }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="课程代码" width="80">
+          <template slot-scope="scope">
+            <span>{{ scope.row.course.code }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="试卷名称" width="180">
+          <template slot-scope="scope">
+            <span>{{ scope.row.name }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="试卷总分" width="80">
+          <template slot-scope="scope">
+            <span>{{ scope.row.totalScore }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="试卷难度" width="80">
+          <template slot-scope="scope">
+            <span>{{ scope.row.difficultyDegree }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="大题数量" width="80">
+          <template slot-scope="scope">
+            <span>{{ scope.row.paperDetailCount }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="录入员" width="100">
+          <template slot-scope="scope">
+            <span>{{ scope.row.creator }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="创建时间" width="120">
+          <template slot-scope="scope">
+            <span>{{ scope.row.createTime }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="修改人" width="80">
+          <template slot-scope="scope">
+            <span>{{ scope.row.lastModifyName }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="操作" width="178">
+          <template slot-scope="scope">
+            <div class="operate_left">
               <el-button
-                size="small"
-                type="danger"
-                icon="delete"
-                @click="batchDeleteGenPaper"
-                >批量删除
-              </el-button>
-              <el-button
-                size="small"
+                size="mini"
                 type="primary"
-                icon="upload2"
-                @click="openBatchExportPaperDialog"
+                @click="editGenPaper(scope.row)"
+                ><i class="el-icon-edit"></i>编辑</el-button
               >
-                批量导出
-              </el-button>
-            </el-form-item>
-          </el-form>
-          <el-table
-            v-loading="loading"
-            element-loading-text="拼命加载中"
-            :data="tableData"
-            border
-            style="width: 100%"
-            @selection-change="selectChange"
-          >
-            <el-table-column type="selection" width="55"></el-table-column>
-            <el-table-column label="课程名称" width="150">
-              <template slot-scope="scope">
-                <div>
-                  <span>{{ scope.row.course.name }}</span>
-                </div>
-              </template>
-            </el-table-column>
-            <el-table-column label="课程代码" width="120">
-              <template slot-scope="scope">
-                <div>
-                  <span>{{ scope.row.course.code }}</span>
-                </div>
-              </template>
-            </el-table-column>
-            <el-table-column label="试卷名称" width="150">
-              <template slot-scope="scope">
-                <div>
-                  <span>{{ scope.row.name }}</span>
-                </div>
-              </template>
-            </el-table-column>
-            <el-table-column label="试卷总分" width="100">
-              <template slot-scope="scope">
-                <div>
-                  <span>{{ scope.row.totalScore }}</span>
-                </div>
-              </template>
-            </el-table-column>
-            <el-table-column label="试卷难度" width="100">
-              <template slot-scope="scope">
-                <div>
-                  <span>{{ scope.row.difficultyDegree }}</span>
-                </div>
-              </template>
-            </el-table-column>
-            <el-table-column label="大题数量" width="100">
-              <template slot-scope="scope">
-                <div>
-                  <span>{{ scope.row.paperDetailCount }}</span>
-                </div>
-              </template>
-            </el-table-column>
-            <el-table-column label="录入员" width="100">
-              <template slot-scope="scope">
-                <div>
-                  <span>{{ scope.row.creator }}</span>
-                </div>
-              </template>
-            </el-table-column>
-            <el-table-column label="创建时间" width="120">
-              <template slot-scope="scope">
-                <div>
-                  <span>{{ scope.row.createTime }}</span>
-                </div>
-              </template>
-            </el-table-column>
-            <el-table-column label="最后修改人" width="120">
-              <template slot-scope="scope">
-                <div>
-                  <span>{{ scope.row.lastModifyName }}</span>
-                </div>
-              </template>
-            </el-table-column>
-            <el-table-column label="操作" width="330">
-              <template slot-scope="scope">
-                <div>
-                  <el-button
-                    @click="openExportDialog(scope.row);"
-                    type="success"
-                    size="mini"
-                    >导出</el-button
-                  >
-                  <el-button
-                    @click="editGenPaper(scope.row);"
-                    type="info"
-                    size="mini"
-                    >编辑</el-button
-                  >
-                  <el-button
-                    @click="deleteGenPaper(scope.row);"
-                    type="danger"
-                    size="mini"
-                    >删除</el-button
-                  >
-                  <el-button
-                    @click="previewPDF2(scope.row);"
-                    type="warning"
-                    size="mini"
-                    >预览PDF</el-button
-                  >
-                  <el-button
-                    @click="openPrint(scope.row);"
-                    type="warning"
-                    size="mini"
-                    >传至印刷</el-button
-                  >
-                </div>
-              </template>
-            </el-table-column>
-          </el-table>
-          <div class="page pull-right">
-            <el-pagination
-              @current-change="handleCurrentChange"
-              :current-page="currentPage"
-              :page-size="pageSize"
-              layout="total, prev, pager, next, jumper"
-              :total="total"
-            >
-            </el-pagination>
-          </div>
-        </div>
+              <el-dropdown class="button_left">
+                <el-button type="primary" size="mini">
+                  更多 <i class="el-icon-arrow-down el-icon--right"></i>
+                </el-button>
+                <el-dropdown-menu slot="dropdown">
+                  <el-dropdown-item>
+                    <el-button
+                      size="mini"
+                      type="primary"
+                      @click="openExportDialog(scope.row)"
+                      ><i class="el-icon-download"></i> 下载</el-button
+                    >
+                  </el-dropdown-item>
+                  <el-dropdown-item>
+                    <el-button
+                      size="mini"
+                      type="primary"
+                      @click="previewPDF2(scope.row)"
+                      ><i class="el-icon-zoom-in"></i> 预览PDF</el-button
+                    >
+                  </el-dropdown-item>
+                  <el-dropdown-item>
+                    <el-button
+                      size="mini"
+                      type="primary"
+                      @click="openPrint(scope.row)"
+                      ><i class="el-icon-share"></i> 传至印刷</el-button
+                    >
+                  </el-dropdown-item>
+                  <el-dropdown-item>
+                    <el-button
+                      size="mini"
+                      type="danger"
+                      @click="deleteGenPaper(scope.row)"
+                      ><i class="el-icon-delete"></i> 删除</el-button
+                    >
+                  </el-dropdown-item>
+                </el-dropdown-menu>
+              </el-dropdown>
+            </div>
+          </template>
+        </el-table-column>
+      </el-table>
+      <div class="page pull-right">
+        <el-pagination
+          @current-change="handleCurrentChange"
+          :current-page="currentPage"
+          :page-size="pageSize"
+          layout="total, prev, pager, next, jumper"
+          :total="total"
+        >
+        </el-pagination>
       </div>
-      <el-dialog title="导出" :visible.sync="exportDialog">
-        <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="COMPUTERTEST_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>
-            <el-col :md="24" class="text-center">
-              <el-button type="primary" @click="exportPaperInfo"
-                >开始导出</el-button
-              >
-            </el-col>
-          </el-row>
-        </el-form>
-      </el-dialog>
-
-      <el-dialog title="传送印刷平台" v-model="dialogModel">
-        <el-form>
-          <el-row>
-            <el-form-item label="学校名称" label-width="120px">
-              <el-input v-model="this.Org.name" :disabled="true"></el-input>
+    </div>
+    <el-dialog title="导出" :visible.sync="exportDialog">
+      <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-row>
-          <el-row>
-            <el-form-item label="考试名称" label-width="120px">
-              <el-select
-                v-model="examId"
-                filterable
-                clearable
-                :remote-method="getExams"
-                remote
-                placeholder="请选择"
-              >
-                <el-option
-                  v-for="item in examList"
-                  :label="item.name"
-                  :value="item.id"
-                  :key="item.id"
-                ></el-option>
-              </el-select>
+          </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="COMPUTERTEST_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-row>
-        </el-form>
-        <div slot="footer" class="dialog-footer">
-          <el-button @click="cancel">取 消</el-button>
-          <el-button type="primary" @click="sendPrint">确 定</el-button>
-        </div>
-      </el-dialog>
-    </section>
-  </div>
+          </el-col>
+        </el-row>
+        <el-row>
+          <el-col :md="24" class="text-center">
+            <el-button type="primary" @click="exportPaperInfo"
+              >开始导出</el-button
+            >
+          </el-col>
+        </el-row>
+      </el-form>
+    </el-dialog>
+
+    <el-dialog title="传送印刷平台" v-model="dialogModel">
+      <el-form>
+        <el-row>
+          <el-form-item label="学校名称" label-width="120px">
+            <el-input v-model="this.Org.name" :disabled="true"></el-input>
+          </el-form-item>
+        </el-row>
+        <el-row>
+          <el-form-item label="考试名称" label-width="120px">
+            <el-select
+              v-model="examId"
+              filterable
+              clearable
+              :remote-method="getExams"
+              remote
+              placeholder="请选择"
+            >
+              <el-option
+                v-for="item in examList"
+                :label="item.name"
+                :value="item.id"
+                :key="item.id"
+              ></el-option>
+            </el-select>
+          </el-form-item>
+        </el-row>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button @click="cancel">取 消</el-button>
+        <el-button type="primary" @click="sendPrint">确 定</el-button>
+      </div>
+    </el-dialog>
+  </section>
 </template>
 
 <script>

+ 292 - 285
src/modules/questions/views/ImportPaper.vue

@@ -1,49 +1,24 @@
 <template>
-  <div>
-    <section class="content">
-      <div class="box box-info">
-        <div class="box-header with-border">
-          <h3 class="box-title">导入试卷管理</h3>
-          <div class="box-tools pull-right">
-            <el-button
-              size="small"
-              type="warning"
-              @click="exportQuesType"
-              :disabled="isDisabled"
-              >试题分布</el-button
-            >
-            <el-button
-              size="small"
-              type="warning"
-              @click="openQuesPropertyByPaper"
-              :disabled="isDisabled2"
-              >试卷属性</el-button
-            >
-            <el-button
-              size="small"
-              type="warning"
-              @click="openQuesPropertyByCourse"
-              :disabled="isDisabled"
-              >课程属性</el-button
-            >
-          </div>
-        </div>
-        <div class="box-body">
-          <el-form
-            :inline="true"
-            :model="formSearch"
-            label-position="right"
-            label-width="110px"
-          >
-            <el-form-item label="课程名称" class="pull-left">
+  <section class="content">
+    <div class="box-body">
+      <el-form
+        :inline="true"
+        :model="formSearch"
+        label-position="right"
+        label-width="90px"
+      >
+        <el-row>
+          <el-col :span="6">
+            <el-form-item label="课程名称">
               <el-select
+                class="search_width"
                 v-model="formSearch.courseNo"
+                filterable
                 :remote-method="getCourses"
-                :loading="courseLoading"
                 remote
-                filterable
                 clearable
-                placeholder="全部"
+                placeholder="请输入"
+                size="small"
               >
                 <el-option
                   v-for="item in courseInfoSelect"
@@ -54,15 +29,26 @@
                 </el-option>
               </el-select>
             </el-form-item>
-            <el-form-item label="试卷名称" class="pull-left">
+          </el-col>
+          <el-col :span="6">
+            <el-form-item label="试卷名称">
               <el-input
+                class="search_width"
                 v-model="formSearch.name"
                 placeholder="试卷名称"
+                size="small"
               ></el-input>
             </el-form-item>
-            <el-form-item label="层次" class="pull-left">
-              <el-select v-model="formSearch.level">
-                <el-option label="请选择" value=""></el-option>
+          </el-col>
+          <el-col :span="6">
+            <el-form-item label="层次">
+              <el-select
+                class="search_width"
+                v-model="formSearch.level"
+                clearable
+                placeholder="请选择"
+                size="small"
+              >
                 <el-option
                   v-for="item in levelList"
                   :label="item.label"
@@ -72,239 +58,245 @@
                 </el-option>
               </el-select>
             </el-form-item>
-            <el-form-item class="pull-right">
-              <el-button
-                size="small"
-                type="primary"
-                icon="search"
-                @click="searchImportPaper"
-                >查询</el-button
+          </el-col>
+          <el-col :span="6">
+            <div class="search_down">
+              <el-button size="small" type="primary" @click="searchImportPaper"
+                ><i class="el-icon-search"></i> 查询</el-button
               >
-              <el-button
-                size="small"
-                type="primary"
-                icon="share"
-                @click="useBasePaper"
-                >使用原卷</el-button
+              <el-button size="small" type="primary" @click="impPaper"
+                ><i class="el-icon-upload"></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>
+        <el-row>
+          <el-form-item class="pull-left">
+            <el-button size="small" type="primary" @click="useBasePaper"
+              ><i class="el-icon-star-on"></i> 批量使用原卷</el-button
+            >
+            <el-button size="small" type="danger" @click="batchDeletePaper"
+              ><i class="el-icon-delete"></i> 批量删除原卷</el-button
+            >
+          </el-form-item>
+        </el-row>
+      </el-form>
+      <el-table
+        v-loading="loading"
+        element-loading-text="拼命加载中"
+        :data="tableData"
+        border
+        style="width: 100%"
+        @selection-change="selectChange"
+      >
+        <el-table-column type="selection" width="50"></el-table-column>
+        <el-table-column label="课程名称" width="180">
+          <template slot-scope="scope">
+            <span>{{ scope.row.course.name }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="课程代码" width="80">
+          <template slot-scope="scope">
+            <span>{{ scope.row.course.code }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="试卷名称" width="180">
+          <template slot-scope="scope">
+            <span>{{ scope.row.name }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="试卷总分" width="80">
+          <template slot-scope="scope">
+            <span>{{ scope.row.totalScore }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="试卷难度" width="80">
+          <template slot-scope="scope">
+            <span>{{ scope.row.difficultyDegree }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="大题数量" width="80">
+          <template slot-scope="scope">
+            <span>{{ scope.row.paperDetailCount }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="录入员" width="100">
+          <template slot-scope="scope">
+            <span>{{ scope.row.creator }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="创建时间" width="120">
+          <template slot-scope="scope">
+            <span>{{ scope.row.createTime }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="修改人" width="80">
+          <template slot-scope="scope">
+            <span>{{ scope.row.lastModifyName }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="操作" width="178">
+          <template slot-scope="scope">
+            <div class="operate_left">
               <el-button
-                size="small"
+                size="mini"
                 type="primary"
-                icon="upload2"
-                @click="impPaper"
-                >导入试卷</el-button
+                @click="editImportPaper(scope.row)"
+                ><i class="el-icon-edit"></i>编辑</el-button
               >
-              <el-button
-                size="small"
-                type="danger"
-                icon="delete"
-                @click="batchDeleteImportPaper"
-                >批量删除</el-button
+              <el-dropdown class="button_left">
+                <el-button type="primary" size="mini">
+                  更多 <i class="el-icon-arrow-down el-icon--right"></i>
+                </el-button>
+                <el-dropdown-menu slot="dropdown">
+                  <el-dropdown-item>
+                    <el-button
+                      size="mini"
+                      type="primary"
+                      @click="copyImportPaper(scope.row)"
+                      ><i class="el-icon-tickets"></i> 复制</el-button
+                    >
+                  </el-dropdown-item>
+                  <el-dropdown-item>
+                    <el-button
+                      size="mini"
+                      type="primary"
+                      @click="exportOriginalPaper(scope.row)"
+                      ><i class="el-icon-download"></i> 下载</el-button
+                    >
+                  </el-dropdown-item>
+                  <el-dropdown-item>
+                    <el-button
+                      size="mini"
+                      type="danger"
+                      @click="deleteImportPaper(scope.row)"
+                      ><i class="el-icon-delete"></i> 删除</el-button
+                    >
+                  </el-dropdown-item>
+                </el-dropdown-menu>
+              </el-dropdown>
+            </div>
+          </template>
+        </el-table-column>
+      </el-table>
+      <div class="page pull-right">
+        <el-pagination
+          @current-change="handleCurrentChange"
+          :current-page="currentPage"
+          :page-size="pageSize"
+          layout="total, prev, pager, next, jumper"
+          :total="total"
+        >
+        </el-pagination>
+      </div>
+    </div>
+    <el-dialog
+      title="克隆试卷"
+      :visible.sync="copyPaperDialog"
+      v-loading.body="cloneLoading"
+    >
+      <el-form :model="copyPaperForm">
+        <el-row>
+          <el-form-item label="试卷名称">
+            <el-input
+              v-model="copyPaperForm.paperName"
+              style="width: 220px;"
+              placeholder="请输试卷名称"
+              @change="showTitle()"
+            ></el-input>
+            <span style="color: red;" v-show="showName">请输试卷名称</span>
+          </el-form-item>
+        </el-row>
+        <el-row>
+          <el-form-item label="课程名称">
+            <el-select
+              v-model="copyPaperForm.courseNo"
+              @change="showTitle()"
+              :remote-method="getCourses"
+              remote
+              filterable
+              clearable
+              placeholder="全部"
+            >
+              <el-option
+                v-for="item in courseInfoSelect"
+                :label="item.courseInfo"
+                :value="item.courseNo"
+                :key="item.courseNo"
               >
-            </el-form-item>
-          </el-form>
-          <el-table
-            v-loading="loading"
-            element-loading-text="拼命加载中"
-            :data="tableData"
-            border
-            style="width: 100%"
-            @selection-change="selectChange"
-          >
-            <el-table-column type="selection" width="55"></el-table-column>
-            <el-table-column label="课程名称" width="180">
-              <template slot-scope="scope">
-                <div>
-                  <span>{{ scope.row.course.name }}</span>
-                </div>
-              </template>
-            </el-table-column>
-            <el-table-column label="课程代码" width="120">
-              <template slot-scope="scope">
-                <div>
-                  <span>{{ scope.row.course.code }}</span>
-                </div>
-              </template>
-            </el-table-column>
-            <el-table-column label="试卷名称" width="140">
-              <template slot-scope="scope">
-                <div>
-                  <span>{{ scope.row.name }}</span>
-                </div>
-              </template>
-            </el-table-column>
-            <el-table-column label="试卷总分" width="100">
-              <template slot-scope="scope">
-                <div>
-                  <span>{{ scope.row.totalScore }}</span>
-                </div>
-              </template>
-            </el-table-column>
-            <el-table-column label="试卷难度" width="100">
-              <template slot-scope="scope">
-                <div>
-                  <span>{{ scope.row.difficultyDegree }}</span>
-                </div>
-              </template>
-            </el-table-column>
-            <el-table-column label="大题数量" width="100">
-              <template slot-scope="scope">
-                <div>
-                  <span>{{ scope.row.paperDetailCount }}</span>
-                </div>
-              </template>
-            </el-table-column>
-            <el-table-column label="录入员" width="100">
-              <template slot-scope="scope">
-                <div>
-                  <span>{{ scope.row.creator }}</span>
-                </div>
-              </template>
-            </el-table-column>
-            <el-table-column label="创建时间" width="120">
-              <template slot-scope="scope">
-                <div>
-                  <span>{{ scope.row.createTime }}</span>
-                </div>
-              </template>
-            </el-table-column>
-            <el-table-column label="最后修改人" width="80">
-              <template slot-scope="scope">
-                <div>
-                  <span>{{ scope.row.lastModifyName }}</span>
-                </div>
-              </template>
-            </el-table-column>
-            <el-table-column label="操作" width="220">
-              <template slot-scope="scope">
-                <div>
-                  <el-button
-                    @click="copyImportPaper(scope.row);"
-                    type="warning"
-                    size="mini"
-                    >复制</el-button
-                  >
-                  <el-button
-                    @click="editImportPaper(scope.row);"
-                    type="info"
-                    size="mini"
-                    >编辑</el-button
-                  >
-                  <el-button
-                    @click="deleteImportPaper(scope.row);"
-                    type="danger"
-                    size="mini"
-                    >删除</el-button
-                  >
-                  <el-button
-                    @click="exportOriginalPaper(scope.row);"
-                    type="success"
-                    size="mini"
-                    >导出</el-button
-                  >
-                </div>
-              </template>
-            </el-table-column>
-          </el-table>
-          <div class="page pull-right">
-            <el-pagination
-              @current-change="handleCurrentChange"
-              :current-page="currentPage"
-              :page-size="pageSize"
-              layout="total, prev, pager, next, jumper"
-              :total="total"
+              </el-option>
+            </el-select>
+            <span style="color: red;" v-show="showCourseNo"
+              >请选择课程名称</span
             >
-            </el-pagination>
-          </div>
-        </div>
-        <el-dialog
-          title="克隆试卷"
-          :visible.sync="copyPaperDialog"
-          v-loading.body="cloneLoading"
+          </el-form-item>
+        </el-row>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button @click="closeCopy()">取 消</el-button>
+        <el-button type="primary" @click="submitCopy()">确 定</el-button>
+      </div>
+    </el-dialog>
+    <el-dialog title="属性修改" :visible.sync="quesPropertyDialog">
+      <el-form :loading="quesLoading">
+        <el-row>
+          <el-form-item label="难  度">
+            <el-select v-model="difficultyDegree">
+              <el-option
+                v-for="item in difficultyDegreeList"
+                :label="item.label"
+                :value="item.value"
+                :key="item.value"
+              ></el-option>
+            </el-select>
+          </el-form-item>
+        </el-row>
+        <el-row>
+          <el-form-item label="公开度">
+            <el-select v-model="publicity">
+              <el-option
+                v-for="item in publicityList"
+                :label="item.label"
+                :value="item.value"
+                :key="item.value"
+              ></el-option>
+            </el-select>
+          </el-form-item>
+        </el-row>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button @click="closePropertyDialog()">取 消</el-button>
+        <el-button
+          type="primary"
+          @click="submitUpdate()"
+          v-loading.fullscreen.lock="quesLoading"
+          >确 定</el-button
         >
-          <el-form :model="copyPaperForm">
-            <el-row>
-              <el-form-item label="试卷名称">
-                <el-input
-                  v-model="copyPaperForm.paperName"
-                  style="width: 220px;"
-                  placeholder="请输试卷名称"
-                  @change="showTitle();"
-                ></el-input>
-                <span style="color: red;" v-show="showName">请输试卷名称</span>
-              </el-form-item>
-            </el-row>
-            <el-row>
-              <el-form-item label="课程名称">
-                <el-select
-                  v-model="copyPaperForm.courseNo"
-                  @change="showTitle();"
-                  :remote-method="getCourses"
-                  :loading="courseLoading"
-                  remote
-                  filterable
-                  clearable
-                  placeholder="全部"
-                >
-                  <el-option
-                    v-for="item in courseInfoSelect"
-                    :label="item.courseInfo"
-                    :value="item.courseNo"
-                    :key="item.courseNo"
-                  >
-                  </el-option>
-                </el-select>
-                <span style="color: red;" v-show="showCourseNo"
-                  >请选择课程名称</span
-                >
-              </el-form-item>
-            </el-row>
-          </el-form>
-          <div slot="footer" class="dialog-footer">
-            <el-button @click="closeCopy();">取 消</el-button>
-            <el-button type="primary" @click="submitCopy();">确 定</el-button>
-          </div>
-        </el-dialog>
-        <el-dialog title="属性修改" :visible.sync="quesPropertyDialog">
-          <el-form :loading="quesLoading">
-            <el-row>
-              <el-form-item label="难  度">
-                <el-select v-model="difficultyDegree">
-                  <el-option
-                    v-for="item in difficultyDegreeList"
-                    :label="item.label"
-                    :value="item.value"
-                    :key="item.value"
-                  ></el-option>
-                </el-select>
-              </el-form-item>
-            </el-row>
-            <el-row>
-              <el-form-item label="公开度">
-                <el-select v-model="publicity">
-                  <el-option
-                    v-for="item in publicityList"
-                    :label="item.label"
-                    :value="item.value"
-                    :key="item.value"
-                  ></el-option>
-                </el-select>
-              </el-form-item>
-            </el-row>
-          </el-form>
-          <div slot="footer" class="dialog-footer">
-            <el-button @click="closePropertyDialog();">取 消</el-button>
-            <el-button
-              type="primary"
-              @click="submitUpdate();"
-              v-loading.fullscreen.lock="quesLoading"
-              >确 定</el-button
-            >
-          </div>
-        </el-dialog>
       </div>
-    </section>
-  </div>
+    </el-dialog>
+  </section>
 </template>
 
 <script>
@@ -361,6 +353,9 @@ export default {
     };
   },
   methods: {
+    aaa() {
+      console.log("aaa");
+    },
     searchImportPaper() {
       this.loading = true;
       var url =
@@ -415,7 +410,7 @@ export default {
         this.selectedPaperIds.push(element.id);
       });
     },
-    batchDeleteImportPaper() {
+    batchDeletePaper() {
       var paperIds = this.paperIds;
       if (this.selectedPaperIds.length != 0) {
         this.$confirm("确认删除试卷吗?", "提示", {
@@ -585,7 +580,14 @@ export default {
       sessionStorage.removeItem("import_paper_specialtyNo");
       sessionStorage.removeItem("import_paper_currentPage");
     },
-    exportQuesType() {
+    expQuesType() {
+      if (!this.formSearch.courseNo) {
+        this.$notify({
+          message: "请输入课程",
+          type: "warning"
+        });
+        return;
+      }
       var key = this.user.key;
       var token = this.user.token;
       window.location.href =
@@ -618,13 +620,27 @@ export default {
       this.publicity = true;
       this.quesPropertyDialog = true;
     },
-    //试卷修改属性 openQuesPropertyByPaper,openQuesPropertyByCourse
-    openQuesPropertyByPaper() {
+    //试卷修改属性 openQuesPro,openQuesProC
+    openQuesPro() {
+      if (!this.selectedPaperIds || this.selectedPaperIds.length < 1) {
+        this.$notify({
+          message: "请选择试卷",
+          type: "warning"
+        });
+        return;
+      }
       this.updateType = "paper";
       this.openInit();
     },
     //课程修改属性
-    openQuesPropertyByCourse() {
+    openQuesProC() {
+      if (!this.formSearch.courseNo) {
+        this.$notify({
+          message: "请输入课程",
+          type: "warning"
+        });
+        return;
+      }
       this.updateType = "course";
       this.openInit();
     },
@@ -726,18 +742,6 @@ export default {
       }
       return courseList;
     },
-    isDisabled() {
-      if (this.formSearch.courseNo) {
-        return false;
-      }
-      return true;
-    },
-    isDisabled2() {
-      if (this.selectedPaperIds && this.selectedPaperIds.length > 0) {
-        return false;
-      }
-      return true;
-    },
     ...mapState({ user: state => state.user })
   },
   created() {
@@ -766,3 +770,6 @@ export default {
   }
 };
 </script>
+<style scoped>
+@import "../styles/Common.css";
+</style>

+ 154 - 172
src/modules/questions/views/PaperStructure.vue

@@ -1,178 +1,157 @@
 <template>
-  <div>
-    <section class="content">
-      <div>
-        <!-- 头信息 -->
-        <div><h3 class="box-title">精确结构预设</h3></div>
-        <!-- 正文信息 -->
-        <div class="box-body">
-          <el-form
-            :inline="true"
-            :model="formSearch"
-            label-position="right"
-            label-width="90px"
-          >
-            <el-row :gutter="10">
-              <el-col :xs="7" :sm="7" :md="7" :lg="8">
-                <el-form-item label="结构名称" class="pull-left">
-                  <el-input
-                    placeholder="请输入结构名称"
-                    v-model="formSearch.name"
-                  ></el-input>
-                </el-form-item>
-              </el-col>
-              <el-col :xs="7" :sm="7" :md="7" :lg="8">
-                <el-form-item label="创建人" class="pull-left">
-                  <el-input
-                    placeholder="请输入创建人"
-                    v-model="formSearch.creator"
-                  ></el-input>
-                </el-form-item>
-              </el-col>
-              <el-col :xs="7" :sm="7" :md="7" :lg="8">
-                <el-form-item label="制定课程">
-                  <el-select
-                    v-model="formSearch.courseNo"
-                    filterable
-                    :remote-method="getCourses"
-                    remote
-                    clearable
-                    placeholder="请选择"
-                  >
-                    <el-option label="请选择" value="ALL" key="ALL"></el-option>
-                    <el-option label="公用" value key></el-option>
-                    <el-option
-                      v-for="item in courseInfoSelect"
-                      :label="item.courseInfo"
-                      :value="item.courseNo"
-                      :key="item.courseNo"
-                    ></el-option>
-                  </el-select>
-                </el-form-item>
-              </el-col>
-            </el-row>
-            <el-row>
-              <el-form-item class="pull-right buttonframe">
-                <el-button
-                  size="small"
-                  style="margin-left:90px;"
-                  type="primary"
-                  icon="search"
-                  @click="searchPaperStructs"
-                  >查询</el-button
-                >
-                <el-button
-                  size="small"
-                  type="primary"
-                  icon="plus"
-                  @click="addPaperStruct"
-                  >新增</el-button
-                >
-                <el-button size="small" type="danger" @click="deletePapers">
-                  <i class="el-icon-delete"></i> 删除
-                </el-button>
-              </el-form-item>
-            </el-row>
-          </el-form>
+  <section class="content">
+    <!-- 正文信息 -->
+    <div class="box-body">
+      <el-form
+        :inline="true"
+        :model="formSearch"
+        label-position="right"
+        label-width="90px"
+      >
+        <el-row>
+          <el-col :span="6">
+            <el-form-item label="结构名称" class="pull-left">
+              <el-input
+                class="search_width"
+                placeholder="请输入结构名称"
+                v-model="formSearch.name"
+                size="small"
+              ></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="6">
+            <el-form-item label="创建人" class="pull-left">
+              <el-input
+                class="search_width"
+                placeholder="请输入创建人"
+                v-model="formSearch.creator"
+                size="small"
+              ></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="6">
+            <el-form-item label="制定课程">
+              <el-select
+                class="search_width"
+                v-model="formSearch.courseNo"
+                filterable
+                :remote-method="getCourses"
+                remote
+                clearable
+                placeholder="请选择"
+                size="small"
+              >
+                <el-option label="请选择" value="ALL" key="ALL"></el-option>
+                <el-option label="公用" value key></el-option>
+                <el-option
+                  v-for="item in courseInfoSelect"
+                  :label="item.courseInfo"
+                  :value="item.courseNo"
+                  :key="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="searchPaperStructs"
+                ><i class="el-icon-search"></i> 查询</el-button
+              >
+              <el-button size="small" type="primary" @click="addPaperStruct"
+                ><i class="el-icon-plus"></i> 新增</el-button
+              >
+            </div>
+          </el-col>
+        </el-row>
+        <el-row>
+          <el-form-item class="pull-left">
+            <el-button size="small" type="danger" @click="deletePapers">
+              <i class="el-icon-delete"></i> 批量删除
+            </el-button>
+          </el-form-item>
+        </el-row>
+      </el-form>
 
-          <!-- 页面列表 -->
-          <el-table
-            :data="tableData"
-            v-loading="loading"
-            element-loading-text="拼命加载中"
-            border
-            style="width: 100%;text-align:center;"
-            @selection-change="selectionChange"
-          >
-            <el-table-column type="selection"></el-table-column>
-            <el-table-column label="预设精确结构名称" width="200">
-              <template slot-scope="scope">
-                <div>
-                  <span>{{ scope.row.name }}</span>
-                </div>
-              </template>
-            </el-table-column>
-            <el-table-column label="关联课程" width="180">
-              <template slot-scope="scope">
-                <div>
-                  <span>{{ scope.row.courseName }}</span>
-                </div>
-              </template>
-            </el-table-column>
-            <el-table-column label="课程代码" width="110">
-              <template slot-scope="scope">
-                <div>
-                  <span>{{ scope.row.courseNo }}</span>
-                </div>
-              </template>
-            </el-table-column>
-            <el-table-column label="类型" width="110">
-              <template slot-scope="scope">
-                <div>
-                  <span>{{ getType(scope.row.courseNo) }}</span>
-                </div>
-              </template>
-            </el-table-column>
-            <el-table-column label="大题数" width="80">
-              <template slot-scope="scope">
-                <div>
-                  <span>{{ scope.row.detailCount }}</span>
-                </div>
-              </template>
-            </el-table-column>
-            <el-table-column label="小题数" width="80">
-              <template slot-scope="scope">
-                <div>
-                  <span>{{ scope.row.detailUnitCount }}</span>
-                </div>
-              </template>
-            </el-table-column>
-            <el-table-column label="总分" width="70">
-              <template slot-scope="scope">
-                <div>
-                  <span>{{ scope.row.totalScore }}</span>
-                </div>
-              </template>
-            </el-table-column>
-            <el-table-column label="创建人" width="110">
-              <template slot-scope="scope">
-                <div>
-                  <span>{{ scope.row.creator }}</span>
-                </div>
-              </template>
-            </el-table-column>
-            <el-table-column :context="_self" label="操作" width="140">
-              <template slot-scope="scope">
-                <div>
-                  <el-button
-                    size="mini"
-                    type="info"
-                    @click="editPaperStruct(scope.row);"
-                    >修改</el-button
-                  >
-                  <el-button
-                    size="mini"
-                    type="danger"
-                    @click="deletePaper(scope.$index, scope.row);"
-                    >删除</el-button
-                  >
-                </div>
-              </template>
-            </el-table-column>
-          </el-table>
-          <div class="page pull-right">
-            <el-pagination
-              @current-change="handleCurrentChange"
-              :current-page="currentPage"
-              :page-size="pageSize"
-              layout="total, prev, pager, next, jumper"
-              :total="total"
-            ></el-pagination>
-          </div>
-        </div>
+      <!-- 页面列表 -->
+      <el-table
+        :data="tableData"
+        v-loading="loading"
+        element-loading-text="拼命加载中"
+        border
+        style="width: 100%;text-align:center;"
+        @selection-change="selectionChange"
+      >
+        <el-table-column type="selection"></el-table-column>
+        <el-table-column label="预设精确结构名称">
+          <template slot-scope="scope">
+            <span>{{ scope.row.name }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="关联课程" width="180">
+          <template slot-scope="scope">
+            <span>{{ scope.row.courseName }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="课程代码" width="150">
+          <template slot-scope="scope">
+            <span>{{ scope.row.courseNo }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="类型" width="100">
+          <template slot-scope="scope">
+            <span>{{ getType(scope.row.courseNo) }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="大题数" width="80">
+          <template slot-scope="scope">
+            <span>{{ scope.row.detailCount }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="小题数" width="80">
+          <template slot-scope="scope">
+            <span>{{ scope.row.detailUnitCount }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="总分" width="80">
+          <template slot-scope="scope">
+            <span>{{ scope.row.totalScore }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="创建人" width="100">
+          <template slot-scope="scope">
+            <span>{{ scope.row.creator }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="操作" width="175">
+          <template slot-scope="scope">
+            <div class="operate_left">
+              <el-button
+                size="mini"
+                type="primary"
+                @click="editPaperStruct(scope.row);"
+                ><i class="el-icon-edit"></i>编辑</el-button
+              >
+              <el-button
+                size="mini"
+                type="danger"
+                @click="deletePaper(scope.$index, scope.row);"
+                ><i class="el-icon-delete"></i> 删除</el-button
+              >
+            </div>
+          </template>
+        </el-table-column>
+      </el-table>
+      <div class="page pull-right">
+        <el-pagination
+          @current-change="handleCurrentChange"
+          :current-page="currentPage"
+          :page-size="pageSize"
+          layout="total, prev, pager, next, jumper"
+          :total="total"
+        ></el-pagination>
       </div>
-    </section>
-  </div>
+    </div>
+  </section>
 </template>
 
 <script>
@@ -383,3 +362,6 @@ export default {
   }
 };
 </script>
+<style scoped>
+@import "../styles/Common.css";
+</style>