Przeglądaj źródła

提交前段。。。

weiwenhai 6 lat temu
rodzic
commit
1eedd8be2b

+ 93 - 0
src/modules/questions/component/ckeditor.vue

@@ -0,0 +1,93 @@
+<template>
+  <div class="ckeditor">
+    <textarea
+      :id="id"
+      :display="display"
+      :value="value"
+      class="el-textarea__inner"
+    ></textarea>
+  </div>
+</template>
+
+<script>
+let inc = 0;
+export default {
+  props: {
+    display: {
+      type: String,
+      default: "inline"
+    },
+    value: {
+      type: String
+    },
+    id: {
+      type: String,
+      default: () => `editor-${++inc}`
+    },
+    height: {
+      type: String,
+      default: "300px"
+    },
+    width: {
+      type: String,
+      default: "500px"
+    },
+    toolbar: {
+      type: [String, Array],
+      default: null
+    },
+    language: {
+      type: String,
+      default: "zh-cn"
+    },
+    extraplugins: {
+      type: String,
+      default: ""
+    }
+  },
+  computed: {
+    instance() {
+      return window.CKEDITOR.instances[this.id];
+    }
+  },
+  beforeUpdate() {
+    if (this.value !== this.instance.getData()) {
+      this.instance.setData(this.value);
+    }
+  },
+  mounted() {
+    let config = {
+      toolbar: this.toolbar,
+      language: this.language,
+      height: this.height,
+      width: this.width,
+      extraPlugins: this.extraplugins,
+      removeButtons: "Cut,Copy,Paste,Undo,Redo,Anchor"
+    };
+    if (this.display !== "inline") {
+      window.CKEDITOR.replace(this.id, config);
+    } else {
+      window.CKEDITOR.inline(this.id, config);
+    }
+    this.instance.on("change", () => {
+      let html = this.instance.getData();
+      if (html !== this.value) {
+        this.$emit("input", html);
+      }
+    });
+  },
+  beforeDestroy() {
+    if (this.instance) {
+      this.instance.focusManager.blur(true);
+      this.instance.destroy();
+    }
+  }
+};
+</script>
+<style>
+.ckeditor::after {
+  content: "";
+  display: table;
+  clear: both;
+}
+</style>

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

@@ -1637,8 +1637,6 @@ export default {
 </script>
 
 <style scoped>
-@import "../styles/EditPaper.css";
-
 .property_with {
   width: 100px;
 }
@@ -1646,3 +1644,4 @@ export default {
   z-index: 9999;
 }
 </style>
+<style scoped src="../styles/EditPaper.css"></style>

+ 0 - 12
src/modules/questions/views/ExtractPaperRule.vue

@@ -136,13 +136,6 @@
                 @click="openSingleExportPaperDialog(scope.row)"
                 ><i class="el-icon-download"></i> 下载
               </el-button>
-              <el-button
-                size="mini"
-                type="primary"
-                @click="openPreViewDialog(scope.row)"
-              >
-                预览
-              </el-button>
             </div>
           </template>
         </el-table-column>
@@ -306,11 +299,6 @@ export default {
     };
   },
   methods: {
-    openPreViewDialog(row) {
-      this.$router.push({
-        path: "/questions/preview_paper/" + row.examPaperList[0].paper.id
-      });
-    },
     //初始化
     initialize(examId) {
       this.examList = [];

+ 159 - 152
src/modules/questions/views/InsertBluePaperStructure.vue

@@ -1,56 +1,89 @@
 <template>
   <div id="insertBlueApp">
+    <LinkTitlesCustom :currentPaths="['精确结构创建', '创建大题']" />
     <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"
-          element-loading-text="正在保存,请稍后..."
+      <!-- 正文信息 -->
+      <div class="box-body">
+        <el-form
+          :inline="true"
+          :model="blueStruct"
+          label-position="right"
+          label-width="90px"
         >
-          <el-form :inline="true" :model="blueStruct">
-            <el-row>
+          <el-row>
+            <el-col :span="6">
               <el-form-item label="结构名称">
                 <el-input
-                  class="pull_length_sm"
+                  class="search_width"
                   v-model="blueStruct.name"
-                  auto-complete="off"
                   placeholder="试卷结构名称"
-                  style="width: 220px;"
+                  size="small"
                 ></el-input>
               </el-form-item>
+            </el-col>
+            <el-col :span="6">
               <el-form-item label="设置类型">
                 <el-select
+                  class="search_width"
                   v-model="blueStruct.genPaperType"
-                  class="form_width"
                   filterable
                   disabled
+                  size="small"
                 >
                   <el-option label="细节组卷" value="SPECIFIC"> </el-option>
                 </el-select>
               </el-form-item>
+            </el-col>
+            <el-col :span="6">
               <el-form-item label="总 分">
                 <el-input
-                  class="pull_length_sm"
+                  class="search_width"
                   v-model.number="blueStruct.totalScore"
-                  auto-complete="off"
                   placeholder="请输入总分"
+                  size="small"
                 ></el-input>
               </el-form-item>
+            </el-col>
+            <el-col :span="6">
+              <div class="search_down">
+                <el-button
+                  size="small"
+                  type="primary"
+                  @click="saveBlueStruct"
+                  icon="el-icon-circle-check"
+                  >保 存</el-button
+                >
+                <el-button
+                  size="small"
+                  type="primary"
+                  icon="el-icon-plus"
+                  @click="insertDetail"
+                  >添加大题</el-button
+                >
+                <el-button
+                  size="small"
+                  type="primary"
+                  icon="el-icon-caret-left"
+                  @click="back"
+                  >返 回</el-button
+                >
+              </div>
+            </el-col>
+          </el-row>
+          <el-row>
+            <el-col :span="6">
               <el-form-item label="制定课程">
                 <el-select
+                  class="search_width"
                   v-model="blueStruct.courseNo"
-                  class="form_width"
                   :disabled="showcoursePropertyId"
                   filterable
                   :remote-method="getCourses"
                   remote
                   clearable
                   @change="clearCourseProperty"
+                  placeholder="课程名称"
+                  size="small"
                 >
                   <el-option
                     v-for="item in courseInfoSelect"
@@ -61,13 +94,17 @@
                   </el-option>
                 </el-select>
               </el-form-item>
+            </el-col>
+            <el-col :span="6">
               <el-form-item label="课程属性">
                 <el-select
+                  class="search_width"
                   v-model="blueStruct.coursePropertyId"
-                  class="form_width"
                   filterable
                   @change="getCoursePropertyName"
                   :disabled="showcoursePropertyId"
+                  placeholder="课程属性"
+                  size="small"
                 >
                   <el-option
                     v-for="item in coursePropertyList"
@@ -78,144 +115,112 @@
                   </el-option>
                 </el-select>
               </el-form-item>
-              <el-form-item class="pull-right">
-                <el-button size="small" type="success" @click="saveBlueStruct">
-                  <i class="fa fa-floppy-o"></i>保 存</el-button
+            </el-col>
+          </el-row>
+          <el-form-item label="考试说明">
+            <div style="width:550px;">
+              <ckeditor
+                :editor="editor"
+                v-model="blueStruct.examRemark"
+                :config="editorConfig"
+              ></ckeditor>
+            </div>
+          </el-form-item>
+        </el-form>
+
+        <!-- 添加大题弹出框 -->
+        <el-dialog title="大题信息" :visible.sync="detailDialog">
+          <el-form
+            :inline="true"
+            :model="paperDetailStructForm"
+            label-position="right"
+            label-width="90px"
+          >
+            <el-row>
+              <el-form-item label="大题名称" label-width="120px">
+                <el-input
+                  class="pull_length"
+                  v-model="paperDetailStructForm.name"
+                  auto-complete="off"
+                  placeholder="请输入题型名称"
+                ></el-input>
+              </el-form-item>
+            </el-row>
+            <el-row>
+              <el-form-item label="题型描述" label-width="120px">
+                <el-input
+                  type="textarea"
+                  :rows="2"
+                  class="pull_length"
+                  v-model="paperDetailStructForm.remark"
+                  auto-complete="off"
+                  placeholder="请输入题型描述"
+                ></el-input>
+              </el-form-item>
+            </el-row>
+            <el-row style="margin-left: 120px;">
+              <span v-if="dialogType == 'ADD'">
+                <el-button type="primary" @click="saveDetail">保 存</el-button>
+              </span>
+              <span v-else>
+                <el-button type="primary" @click="saveEditDetail"
+                  >保 存</el-button
                 >
+              </span>
+              <el-button type="danger" @click="closeDialog">取 消</el-button>
+            </el-row>
+          </el-form>
+        </el-dialog>
+
+        <!-- 页面列表 -->
+        <el-table :data="paperDetailStructs" border style="width: 100%;">
+          <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>{{ scope.row.detailCount }}</span>
+            </template>
+          </el-table-column>
+          <el-table-column label="大题分数">
+            <template slot-scope="scope">
+              <span>{{ scope.row.totalScore }}</span>
+            </template>
+          </el-table-column>
+          <el-table-column label="题型">
+            <template slot-scope="scope">
+              <span>{{ getTpye(scope.row.questionType) }}</span>
+            </template>
+          </el-table-column>
+          <el-table-column label="操作" width="292">
+            <template slot-scope="scope">
+              <div class="operate_left">
                 <el-button
-                  size="small"
+                  size="mini"
                   type="primary"
-                  icon="plus"
-                  @click="insertDetail"
-                  >添加大题</el-button
+                  icon="el-icon-plus"
+                  @click="detailInfo(scope.row)"
+                  >大题详情</el-button
                 >
                 <el-button
-                  size="small"
+                  size="mini"
                   type="primary"
-                  icon="caret-left"
-                  @click="back"
-                  >返 回</el-button
+                  @click="editDetail(scope.row)"
+                  ><i class="el-icon-edit"></i>编辑</el-button
+                >
+                <el-button
+                  size="mini"
+                  type="danger"
+                  icon="el-icon-delete"
+                  @click="deleteDetail(scope.row)"
+                  >删除</el-button
                 >
-              </el-form-item>
-            </el-row>
-            <el-form-item label="考试说明">
-              <div style="width:550px;">
-                <ckeditor
-                  :editor="editor"
-                  v-model="blueStruct.examRemark"
-                  :config="editorConfig"
-                ></ckeditor>
               </div>
-            </el-form-item>
-          </el-form>
-
-          <!-- 添加大题弹出框 -->
-          <el-dialog title="大题信息" :visible.sync="detailDialog" size="tiny">
-            <el-form
-              :inline="true"
-              :model="paperDetailStructForm"
-              label-position="right"
-              label-width="90px"
-            >
-              <el-row>
-                <el-form-item label="大题名称" label-width="120px">
-                  <el-input
-                    class="pull_length"
-                    v-model="paperDetailStructForm.name"
-                    auto-complete="off"
-                    placeholder="请输入题型名称"
-                  ></el-input>
-                </el-form-item>
-              </el-row>
-              <el-row>
-                <el-form-item label="题型描述" label-width="120px">
-                  <el-input
-                    type="textarea"
-                    :rows="2"
-                    class="pull_length"
-                    v-model="paperDetailStructForm.remark"
-                    auto-complete="off"
-                    placeholder="请输入题型描述"
-                  ></el-input>
-                </el-form-item>
-              </el-row>
-              <el-row style="margin-left: 120px;">
-                <span v-if="dialogType == 'ADD'">
-                  <el-button type="primary" @click="saveDetail"
-                    >保 存</el-button
-                  >
-                </span>
-                <span v-else>
-                  <el-button type="primary" @click="saveEditDetail"
-                    >保 存</el-button
-                  >
-                </span>
-                <el-button type="danger" @click="closeDialog">取 消</el-button>
-              </el-row>
-            </el-form>
-          </el-dialog>
-
-          <!-- 页面列表 -->
-          <el-table
-            :data="paperDetailStructs"
-            border
-            style="width: 100%;text-align:center;"
-          >
-            <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>{{ scope.row.detailCount }}</span>
-                </div>
-              </template>
-            </el-table-column>
-            <el-table-column label="大题分数">
-              <template slot-scope="scope">
-                <div>
-                  <span>{{ scope.row.totalScore }}</span>
-                </div>
-              </template>
-            </el-table-column>
-            <el-table-column label="题型">
-              <template slot-scope="scope">
-                <div>
-                  <span>{{ getTpye(scope.row.questionType) }}</span>
-                </div>
-              </template>
-            </el-table-column>
-            <el-table-column :context="_self" label="操作">
-              <template slot-scope="scope">
-                <div>
-                  <el-button
-                    size="mini"
-                    type="primary"
-                    icon="plus"
-                    @click="detailInfo(scope.row)"
-                    >大题详情</el-button
-                  >
-                  <el-button
-                    size="mini"
-                    type="info"
-                    @click="editDetail(scope.row)"
-                    >编辑</el-button
-                  >
-                  <el-button
-                    size="mini"
-                    type="danger"
-                    @click="deleteDetail(scope.row)"
-                    >删除</el-button
-                  >
-                </div>
-              </template>
-            </el-table-column>
-          </el-table>
-        </div>
+            </template>
+          </el-table-column>
+        </el-table>
       </div>
     </section>
   </div>
@@ -225,10 +230,12 @@ import { CORE_API, QUESTION_API } from "@/constants/constants";
 import { QUESTION_TYPES } from "../constants/constants";
 import CKEditor from "@ckeditor/ckeditor5-vue";
 import ClassicEditor from "@ckeditor/ckeditor5-build-inline";
+import LinkTitlesCustom from "@/components/LinkTitlesCustom.vue";
 export default {
   name: "insertBlueApp",
   components: {
-    ckeditor: CKEditor.component
+    ckeditor: CKEditor.component,
+    LinkTitlesCustom
   },
   data() {
     return {
@@ -372,7 +379,7 @@ export default {
     checkTotalScore() {
       var totalScore = 0;
       for (let paperDetailStruct of this.blueStruct.paperDetailStructs) {
-        totalScore = parseInt(paperDetailStruct.totalScore) + totalScore;
+        totalScore = parseFloat(paperDetailStruct.totalScore) + totalScore;
       }
       if (totalScore != this.blueStruct.totalScore) {
         return false;

+ 339 - 318
src/modules/questions/views/InsertBluePaperStructureInfo.vue

@@ -1,336 +1,356 @@
 <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="paperDetailStruct"
-            label-position="right"
-            label-width="90px"
-          >
-            <el-form-item label="题型结构" class="pull-left">
-              <el-select
-                @change="getQuesNameList"
-                class="input_width"
-                v-model="paperDetailStruct.questionType"
-                placeholder="请选择"
-              >
-                <el-option
-                  v-for="item in quesTypes"
-                  :label="item.label"
-                  :value="item.value"
-                  :key="item.value"
+  <section class="content">
+    <LinkTitlesCustom :currentPaths="['大题详情']" />
+    <div class="box box-info">
+      <!-- 正文信息 -->
+      <div class="box-body">
+        <el-form
+          :inline="true"
+          :model="paperDetailStruct"
+          label-position="right"
+          label-width="90px"
+        >
+          <el-row>
+            <el-col :span="6">
+              <el-form-item label="题型结构">
+                <el-select
+                  class="search_width"
+                  @change="getQuesNameList"
+                  v-model="paperDetailStruct.questionType"
+                  placeholder="请选择"
+                  size="small"
                 >
-                </el-option>
-              </el-select>
-            </el-form-item>
-            <el-form-item label="题目数量" class="pull-left">
-              <el-input class="input_width" v-model="count" disabled></el-input>
-            </el-form-item>
-            <el-form-item label="每题分值" class="pull-left">
-              <el-input
-                class="input_width"
-                v-model="paperDetailStruct.score"
-                @change="muli(paperDetailStruct)"
-                placeholder="请输入"
-              ></el-input>
-            </el-form-item>
-            <el-form-item label="来源大题" class="pull-left">
-              <el-select
-                class="quesNames"
-                multiple
-                v-model="paperDetailStruct.quesNames"
-                placeholder="请选择"
-              >
-                <el-option
-                  v-for="item in quesNameList"
-                  :label="item.name"
-                  :value="item.code"
-                  :key="item.code"
+                  <el-option
+                    v-for="item in quesTypes"
+                    :label="item.label"
+                    :value="item.value"
+                    :key="item.value"
+                  >
+                  </el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
+            <el-col :span="6">
+              <el-form-item label="题目数量" class="pull-left">
+                <el-input
+                  class="search_width"
+                  v-model="count"
+                  disabled
+                  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"
+                  v-model="paperDetailStruct.score"
+                  @change="muli(paperDetailStruct)"
+                  placeholder="请输入"
+                  size="small"
+                ></el-input>
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-row>
+            <el-col :span="6">
+              <el-form-item label="来源大题" class="pull-left">
+                <el-select
+                  class="search_width"
+                  multiple
+                  v-model="paperDetailStruct.quesNames"
+                  placeholder="请选择"
+                  size="small"
+                >
+                  <el-option
+                    v-for="item in quesNameList"
+                    :label="item.name"
+                    :value="item.code"
+                    :key="item.code"
+                  >
+                  </el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
+            <el-col :span="6">
+              <el-form-item label="题型总分" class="pull-left">
+                <el-input
+                  class="search_width"
+                  v-model="paperDetailStruct.totalScore"
+                  disabled
+                  size="small"
+                ></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="6">
+              <div class="search_down">
+                <el-button
+                  size="small"
+                  type="primary"
+                  icon="el-icon-circle-check"
+                  @click="saveForm"
+                  >保 存</el-button
+                >
+                <el-button
+                  size="small"
+                  type="primary"
+                  icon="el-icon-caret-left"
+                  @click="back"
+                  >返 回</el-button
+                >
+              </div>
+            </el-col>
+          </el-row>
+        </el-form>
+
+        <!-- 页面列表 -->
+        <el-table
+          :data="coursePropertyNumberDtos"
+          border
+          :row-class-name="tableRowClassName"
+        >
+          <el-table-column min-width="300" label="属性名称">
+            <template slot-scope="scope">
+              <div class="el_table_inner_left">
+                <p
+                  class="class-a"
+                  :class="{ 'class-b': scope.row.propertyParentId != 0 }"
                 >
-                </el-option>
-              </el-select>
-            </el-form-item>
-            <el-form-item label="题型总分" class="pull-left">
-              <el-input
-                class="input_width_sm"
-                v-model="paperDetailStruct.totalScore"
-                disabled
-              ></el-input>
-            </el-form-item>
-            <el-form-item class="pull-right">
-              <el-button size="small" type="primary" @click="saveForm"
-                >保 存</el-button
+                  {{ scope.row.propertyName }}
+                </p>
+              </div>
+            </template>
+          </el-table-column>
+          <el-table-column label="数量">
+            <template slot-scope="scope">
+              <div class="el_table_inner_left">
+                <el-input
+                  class="input_width_ss"
+                  v-model="scope.row.number"
+                  disabled
+                ></el-input>
+              </div>
+            </template>
+          </el-table-column>
+          <el-table-column label="公开(简单)">
+            <template slot-scope="scope">
+              <div
+                class="el_table_inner_left"
+                @mouseenter="showActiveIn(1, 1, scope.row)"
+                @mouseleave="showActiveOff"
               >
-              <el-button
-                size="small"
-                type="primary"
-                icon="caret-left"
-                @click="back"
-                >返 回</el-button
+                <el-tooltip placement="top">
+                  <div slot="content">{{ message }}</div>
+                  <el-input
+                    class="input_width_ss"
+                    v-model="scope.row.publicSimple"
+                    @change="
+                      sum(scope.row, scope.row.publicSimple, 'publicSimple')
+                    "
+                    :disabled="scope.row.disable"
+                  ></el-input>
+                </el-tooltip>
+              </div>
+            </template>
+          </el-table-column>
+          <el-table-column label="公开(中等)">
+            <template slot-scope="scope">
+              <div
+                class="el_table_inner_left"
+                @mouseenter="showActiveIn(1, 2, scope.row)"
+                @mouseleave="showActiveOff"
               >
-            </el-form-item>
-          </el-form>
+                <el-tooltip placement="top">
+                  <div slot="content">{{ message }}</div>
+                  <el-input
+                    class="input_width_ss"
+                    v-model="scope.row.publicMedium"
+                    @change="
+                      sum(scope.row, scope.row.publicMedium, 'publicMedium')
+                    "
+                    :disabled="scope.row.disable"
+                  ></el-input>
+                </el-tooltip>
+              </div>
+            </template>
+          </el-table-column>
+          <el-table-column label="公开(困难)">
+            <template slot-scope="scope">
+              <div
+                class="el_table_inner_left"
+                @mouseenter="showActiveIn(1, 3, scope.row)"
+                @mouseleave="showActiveOff"
+              >
+                <el-tooltip placement="top">
+                  <div slot="content">{{ message }}</div>
+                  <el-input
+                    class="input_width_ss"
+                    v-model="scope.row.publicDifficulty"
+                    @change="
+                      sum(
+                        scope.row,
+                        scope.row.publicDifficulty,
+                        'publicDifficulty'
+                      )
+                    "
+                    :disabled="scope.row.disable"
+                  ></el-input>
+                </el-tooltip>
+              </div>
+            </template>
+          </el-table-column>
+          <el-table-column label="非公开(简单)">
+            <template slot-scope="scope">
+              <div
+                class="el_table_inner_left"
+                @mouseenter="showActiveIn(0, 1, scope.row)"
+                @mouseleave="showActiveOff"
+              >
+                <el-tooltip placement="top">
+                  <div slot="content">{{ message }}</div>
+                  <el-input
+                    class="input_width_ss"
+                    v-model="scope.row.noPublicSimple"
+                    @change="
+                      sum(scope.row, scope.row.noPublicSimple, 'noPublicSimple')
+                    "
+                    :disabled="scope.row.disable"
+                  ></el-input>
+                </el-tooltip>
+              </div>
+            </template>
+          </el-table-column>
+          <el-table-column label="非公开(中等)">
+            <template slot-scope="scope">
+              <div
+                class="el_table_inner_left"
+                @mouseenter="showActiveIn(0, 2, scope.row)"
+                @mouseleave="showActiveOff"
+              >
+                <el-tooltip placement="top">
+                  <div slot="content">{{ message }}</div>
+                  <el-input
+                    class="input_width_ss"
+                    v-model="scope.row.noPublicMedium"
+                    @change="
+                      sum(scope.row, scope.row.noPublicMedium, 'noPublicMedium')
+                    "
+                    :disabled="scope.row.disable"
+                  ></el-input>
+                </el-tooltip>
+              </div>
+            </template>
+          </el-table-column>
+          <el-table-column label="非公开(困难)">
+            <template slot-scope="scope">
+              <div
+                class="el_table_inner_left"
+                @mouseenter="showActiveIn(0, 3, scope.row)"
+                @mouseleave="showActiveOff"
+              >
+                <el-tooltip placement="top">
+                  <div slot="content">{{ message }}</div>
+                  <el-input
+                    class="input_width_ss"
+                    v-model="scope.row.noPublicDifficulty"
+                    @change="
+                      sum(
+                        scope.row,
+                        scope.row.noPublicDifficulty,
+                        'noPublicDifficulty'
+                      )
+                    "
+                    :disabled="scope.row.disable"
+                  ></el-input>
+                </el-tooltip>
+              </div>
+            </template>
+          </el-table-column>
+        </el-table>
 
-          <!-- 页面列表 -->
-          <el-table
-            :data="coursePropertyNumberDtos"
-            border
-            :row-class-name="tableRowClassName"
-          >
-            <el-table-column min-width="300" label="属性名称">
-              <template slot-scope="scope">
-                <div class="el_table_inner_left">
-                  <p
-                    class="class-a"
-                    :class="{ 'class-b': scope.row.propertyParentId != 0 }"
-                  >
-                    {{ scope.row.propertyName }}
-                  </p>
-                </div>
-              </template>
-            </el-table-column>
-            <el-table-column label="数量">
-              <template slot-scope="scope">
-                <div class="el_table_inner_left">
+        <div
+          style="margin-top: 20px;padding-top: 20px;"
+          class="grid-content bg-purple-light"
+        >
+          <el-form label-width="80px">
+            <el-row>
+              <el-col :span="6">
+                <el-form-item label="公开"> </el-form-item>
+              </el-col>
+              <el-col :span="6">
+                <el-form-item label="简单总数">
                   <el-input
+                    v-model="publicSimpleCount"
                     class="input_width_ss"
-                    v-model="scope.row.number"
                     disabled
                   ></el-input>
-                </div>
-              </template>
-            </el-table-column>
-            <el-table-column label="公开(简单)">
-              <template slot-scope="scope">
-                <div
-                  class="el_table_inner_left"
-                  @mouseenter="showActiveIn(1, 1, scope.row)"
-                  @mouseleave="showActiveOff"
-                >
-                  <el-tooltip placement="top">
-                    <div slot="content">{{ message }}</div>
-                    <el-input
-                      class="input_width_ss"
-                      v-model="scope.row.publicSimple"
-                      @change="
-                        sum(scope.row, scope.row.publicSimple, 'publicSimple')
-                      "
-                      :disabled="scope.row.disable"
-                    ></el-input>
-                  </el-tooltip>
-                </div>
-              </template>
-            </el-table-column>
-            <el-table-column label="公开(中等)">
-              <template slot-scope="scope">
-                <div
-                  class="el_table_inner_left"
-                  @mouseenter="showActiveIn(1, 2, scope.row)"
-                  @mouseleave="showActiveOff"
-                >
-                  <el-tooltip placement="top">
-                    <div slot="content">{{ message }}</div>
-                    <el-input
-                      class="input_width_ss"
-                      v-model="scope.row.publicMedium"
-                      @change="
-                        sum(scope.row, scope.row.publicMedium, 'publicMedium')
-                      "
-                      :disabled="scope.row.disable"
-                    ></el-input>
-                  </el-tooltip>
-                </div>
-              </template>
-            </el-table-column>
-            <el-table-column label="公开(困难)">
-              <template slot-scope="scope">
-                <div
-                  class="el_table_inner_left"
-                  @mouseenter="showActiveIn(1, 3, scope.row)"
-                  @mouseleave="showActiveOff"
-                >
-                  <el-tooltip placement="top">
-                    <div slot="content">{{ message }}</div>
-                    <el-input
-                      class="input_width_ss"
-                      v-model="scope.row.publicDifficulty"
-                      @change="
-                        sum(
-                          scope.row,
-                          scope.row.publicDifficulty,
-                          'publicDifficulty'
-                        )
-                      "
-                      :disabled="scope.row.disable"
-                    ></el-input>
-                  </el-tooltip>
-                </div>
-              </template>
-            </el-table-column>
-            <el-table-column label="非公开(简单)">
-              <template slot-scope="scope">
-                <div
-                  class="el_table_inner_left"
-                  @mouseenter="showActiveIn(0, 1, scope.row)"
-                  @mouseleave="showActiveOff"
-                >
-                  <el-tooltip placement="top">
-                    <div slot="content">{{ message }}</div>
-                    <el-input
-                      class="input_width_ss"
-                      v-model="scope.row.noPublicSimple"
-                      @change="
-                        sum(
-                          scope.row,
-                          scope.row.noPublicSimple,
-                          'noPublicSimple'
-                        )
-                      "
-                      :disabled="scope.row.disable"
-                    ></el-input>
-                  </el-tooltip>
-                </div>
-              </template>
-            </el-table-column>
-            <el-table-column label="非公开(中等)">
-              <template slot-scope="scope">
-                <div
-                  class="el_table_inner_left"
-                  @mouseenter="showActiveIn(0, 2, scope.row)"
-                  @mouseleave="showActiveOff"
-                >
-                  <el-tooltip placement="top">
-                    <div slot="content">{{ message }}</div>
-                    <el-input
-                      class="input_width_ss"
-                      v-model="scope.row.noPublicMedium"
-                      @change="
-                        sum(
-                          scope.row,
-                          scope.row.noPublicMedium,
-                          'noPublicMedium'
-                        )
-                      "
-                      :disabled="scope.row.disable"
-                    ></el-input>
-                  </el-tooltip>
-                </div>
-              </template>
-            </el-table-column>
-            <el-table-column label="非公开(困难)">
-              <template slot-scope="scope">
-                <div
-                  class="el_table_inner_left"
-                  @mouseenter="showActiveIn(0, 3, scope.row)"
-                  @mouseleave="showActiveOff"
-                >
-                  <el-tooltip placement="top">
-                    <div slot="content">{{ message }}</div>
-                    <el-input
-                      class="input_width_ss"
-                      v-model="scope.row.noPublicDifficulty"
-                      @change="
-                        sum(
-                          scope.row,
-                          scope.row.noPublicDifficulty,
-                          'noPublicDifficulty'
-                        )
-                      "
-                      :disabled="scope.row.disable"
-                    ></el-input>
-                  </el-tooltip>
-                </div>
-              </template>
-            </el-table-column>
-          </el-table>
-
-          <div
-            style="margin-top: 20px;padding-top: 20px;"
-            class="grid-content bg-purple-light"
-          >
-            <el-form label-width="80px">
-              <el-row>
-                <el-col :span="6">
-                  <el-form-item label="公开"> </el-form-item>
-                </el-col>
-                <el-col :span="6">
-                  <el-form-item label="简单总数">
-                    <el-input
-                      v-model="publicSimpleCount"
-                      class="input_width_ss"
-                      disabled
-                    ></el-input>
-                  </el-form-item>
-                </el-col>
-                <el-col :span="6">
-                  <el-form-item label="中等总数">
-                    <el-input
-                      v-model="publicMediumCount"
-                      class="input_width_ss"
-                      disabled
-                    ></el-input>
-                  </el-form-item>
-                </el-col>
-                <el-col :span="6">
-                  <el-form-item label="困难总数">
-                    <el-input
-                      v-model="publicDifficultyCount"
-                      class="input_width_ss"
-                      disabled
-                    ></el-input>
-                  </el-form-item>
-                </el-col>
-              </el-row>
-              <el-row>
-                <el-col :span="6">
-                  <el-form-item label="非公开"> </el-form-item>
-                </el-col>
-                <el-col :span="6">
-                  <el-form-item label="简单总数">
-                    <el-input
-                      v-model="noPublicSimpleCount"
-                      class="input_width_ss"
-                      disabled
-                    ></el-input>
-                  </el-form-item>
-                </el-col>
-                <el-col :span="6">
-                  <el-form-item label="中等总数">
-                    <el-input
-                      v-model="noPublicMediumCount"
-                      class="input_width_ss"
-                      disabled
-                    ></el-input>
-                  </el-form-item>
-                </el-col>
-                <el-col :span="6">
-                  <el-form-item label="困难总数">
-                    <el-input
-                      v-model="noPublicDifficultyCount"
-                      class="input_width_ss"
-                      disabled
-                    ></el-input>
-                  </el-form-item>
-                </el-col>
-              </el-row>
-            </el-form>
-          </div>
+                </el-form-item>
+              </el-col>
+              <el-col :span="6">
+                <el-form-item label="中等总数">
+                  <el-input
+                    v-model="publicMediumCount"
+                    class="input_width_ss"
+                    disabled
+                  ></el-input>
+                </el-form-item>
+              </el-col>
+              <el-col :span="6">
+                <el-form-item label="困难总数">
+                  <el-input
+                    v-model="publicDifficultyCount"
+                    class="input_width_ss"
+                    disabled
+                  ></el-input>
+                </el-form-item>
+              </el-col>
+            </el-row>
+            <el-row>
+              <el-col :span="6">
+                <el-form-item label="非公开"> </el-form-item>
+              </el-col>
+              <el-col :span="6">
+                <el-form-item label="简单总数">
+                  <el-input
+                    v-model="noPublicSimpleCount"
+                    class="input_width_ss"
+                    disabled
+                  ></el-input>
+                </el-form-item>
+              </el-col>
+              <el-col :span="6">
+                <el-form-item label="中等总数">
+                  <el-input
+                    v-model="noPublicMediumCount"
+                    class="input_width_ss"
+                    disabled
+                  ></el-input>
+                </el-form-item>
+              </el-col>
+              <el-col :span="6">
+                <el-form-item label="困难总数">
+                  <el-input
+                    v-model="noPublicDifficultyCount"
+                    class="input_width_ss"
+                    disabled
+                  ></el-input>
+                </el-form-item>
+              </el-col>
+            </el-row>
+          </el-form>
         </div>
       </div>
-    </section>
-  </div>
+    </div>
+  </section>
 </template>
 <script>
 import { QUESTION_API } from "@/constants/constants";
 import { QUESTION_TYPES } from "../constants/constants";
+import LinkTitlesCustom from "@/components/LinkTitlesCustom.vue";
 export default {
+  components: {
+    LinkTitlesCustom
+  },
   data() {
     return {
       paperDetailStruct: {
@@ -680,7 +700,7 @@ export default {
         this.paperDetailStruct.totalScore = 0;
       } else {
         this.paperDetailStruct.totalScore =
-          this.count * this.paperDetailStruct.score;
+          (this.paperDetailStruct.score * 1000 * this.count) / 1000;
       }
     },
     //保存
@@ -787,7 +807,7 @@ export default {
   watch: {
     count() {
       this.paperDetailStruct.totalScore =
-        this.count * this.paperDetailStruct.score;
+        (this.paperDetailStruct.score * 1000 * this.count) / 1000;
     }
   },
   //初始化查询
@@ -799,6 +819,7 @@ export default {
 };
 </script>
 <style scoped>
+@import "../styles/Common.css";
 .bg-purple-light {
   background: #e5e9d0;
 }

+ 11 - 23
src/modules/questions/views/InsertPaperStructure.vue

@@ -88,22 +88,14 @@
           <el-row>
             <el-form-item label="考试说明">
               <div style="width:550px;">
-                <ckeditor
-                  :editor="editor"
-                  v-model="paperStruct.examRemark"
-                  :config="editorConfig"
-                ></ckeditor>
+                <ckeditor v-model="paperStruct.examRemark"></ckeditor>
               </div>
             </el-form-item>
           </el-row>
         </el-form>
 
         <!-- 添加大题弹出框 -->
-        <el-dialog
-          title="大题信息"
-          :visible.sync="paperDetailStructDialog"
-          size="tiny"
-        >
+        <el-dialog title="大题信息" :visible.sync="paperDetailStructDialog">
           <el-form
             :inline="true"
             :model="paperDetailStructForm"
@@ -167,7 +159,7 @@
               <span>{{ scope.row.totalScore }}</span>
             </template>
           </el-table-column>
-          <el-table-column label="操作" width="180">
+          <el-table-column label="操作" width="292">
             <template slot-scope="scope">
               <div class="operate_left">
                 <el-button
@@ -179,11 +171,9 @@
                 >
                 <el-button
                   size="mini"
-                  type="info"
-                  icon="el-icon-edit"
+                  type="primary"
                   @click="editPaperDetail(scope.row.id)"
-                >
-                  编辑
+                  ><i class="el-icon-edit"></i>编辑
                 </el-button>
                 <el-button
                   size="mini"
@@ -203,21 +193,16 @@
 
 <script>
 import { CORE_API, QUESTION_API } from "@/constants/constants";
-import CKEditor from "@ckeditor/ckeditor5-vue";
-import ClassicEditor from "@ckeditor/ckeditor5-build-inline";
+import ckeditor from "../component/ckeditor.vue";
 import LinkTitlesCustom from "@/components/LinkTitlesCustom.vue";
 export default {
   name: "insertApp",
   components: {
-    ckeditor: CKEditor.component,
+    ckeditor,
     LinkTitlesCustom
   },
   data() {
     return {
-      editor: ClassicEditor,
-      editorConfig: {
-        // The configuration of the editor.
-      },
       loading: false,
       courseList: [],
       paperDetailStructForm: {
@@ -359,7 +344,7 @@ export default {
           return false;
         }
       }
-      if (this.paperStruct.totalScore != this.totalScore) {
+      if (this.paperStruct.totalScore !== this.totalScore) {
         this.$notify({
           message: "大题总分与结构满分不一致",
           type: "error"
@@ -571,3 +556,6 @@ export default {
   }
 };
 </script>
+<style scoped>
+@import "../styles/Common.css";
+</style>

Plik diff jest za duży
+ 428 - 440
src/modules/questions/views/InsertPaperStructureInfo.vue


+ 125 - 143
src/modules/questions/views/PropertyInfo.vue

@@ -1,155 +1,137 @@
 <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="courseProperty"
-            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="courseProperty.name"
-                    :disabled="true"
-                  ></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="courseProperty.courseId"
-                    class="form_width"
-                    filterable
-                    :remote-method="getCourses"
-                    remote
-                    clearable
-                    :disabled="true"
-                  >
-                    <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-row>
-            <el-row :xs="7" :sm="7" :md="7" :lg="8">
-              <div style="margin-left: 20px;">
-                <el-form-item>
-                  <el-button type="info" @click="insertParent"
-                    >新增一级</el-button
-                  >
-                </el-form-item>
-                <el-button
-                  type="info"
-                  @click="insertSon"
-                  :disabled="showSonButtton"
-                  >新增二级</el-button
+  <section class="content">
+    <LinkTitlesCustom :currentPaths="['属性结构']" />
+    <!-- 正文信息 -->
+    <div class="box-body">
+      <el-form
+        :inline="true"
+        :model="courseProperty"
+        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="courseProperty.name"
+                :disabled="true"
+              ></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="courseProperty.courseId"
+                class="form_width"
+                filterable
+                :remote-method="getCourses"
+                remote
+                clearable
+                :disabled="true"
+              >
+                <el-option
+                  v-for="item in courseInfoSelect"
+                  :label="item.courseInfo"
+                  :value="item.courseId"
+                  :key="item.courseId"
                 >
-                <el-button
-                  type="warning"
-                  @click="updateProperty"
-                  :disabled="showButton"
-                  >修改</el-button
-                >
-                <el-button
-                  type="danger"
-                  @click="deleteProperty"
-                  :disabled="showButton"
-                  >删除</el-button
-                >
-                <el-button
-                  type="info"
-                  @click="moveUp"
-                  :disabled="showMoveButtton"
-                  >上移</el-button
-                >
-                <el-button
-                  type="info"
-                  @click="moveDown"
-                  :disabled="showMoveButtton"
-                  >下移</el-button
-                >
-                <el-button type="primary" icon="caret-left" @click="back"
-                  >返 回</el-button
-                >
-              </div>
-            </el-row>
-          </el-form>
-
-          <el-tree
-            :data="data"
-            node-key="id"
-            :props="defaultProps"
-            :default-expanded-keys="ids"
-            @node-click="handleNodeClick"
-          ></el-tree>
-        </div>
-        <el-dialog :title="title" :visible.sync="propertyDialog">
-          <el-form :model="propertyForm">
-            <el-row v-show="parentName">
-              <el-form-item label="一级名称">
-                <el-input
-                  v-model="propertyForm.parentName"
-                  auto-complete="off"
-                  style="width: 220px;"
-                  @change="showTitle"
-                ></el-input>
-                <span style="color: red;" v-show="showParentName"
-                  >请输一级名称</span
-                >
-              </el-form-item>
-            </el-row>
-            <el-row v-show="sonName">
-              <el-form-item label="二级名称">
-                <el-input
-                  v-model="propertyForm.sonName"
-                  auto-complete="off"
-                  style="width: 220px;"
-                  @change="showTitle"
-                ></el-input>
-                <span style="color: red;" v-show="showSonName"
-                  >请输二级名称</span
-                >
-              </el-form-item>
-            </el-row>
-            <el-row>
-              <el-form-item label="名称备注">
-                <el-input
-                  v-model="propertyForm.remark"
-                  auto-complete="off"
-                  style="width: 220px;"
-                  @change="showTitle"
-                ></el-input>
-              </el-form-item>
-            </el-row>
-          </el-form>
-          <div slot="footer" class="dialog-footer">
-            <el-button @click="propertyDialog = false">取 消</el-button>
-            <el-button type="primary" @click="submit">确 定</el-button>
+                </el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row :xs="7" :sm="7" :md="7" :lg="8">
+          <div style="margin-left: 20px;">
+            <el-form-item>
+              <el-button type="info" @click="insertParent">新增一级</el-button>
+            </el-form-item>
+            <el-button type="info" @click="insertSon" :disabled="showSonButtton"
+              >新增二级</el-button
+            >
+            <el-button
+              type="warning"
+              @click="updateProperty"
+              :disabled="showButton"
+              >修改</el-button
+            >
+            <el-button
+              type="danger"
+              @click="deleteProperty"
+              :disabled="showButton"
+              >删除</el-button
+            >
+            <el-button type="info" @click="moveUp" :disabled="showMoveButtton"
+              >上移</el-button
+            >
+            <el-button type="info" @click="moveDown" :disabled="showMoveButtton"
+              >下移</el-button
+            >
+            <el-button type="primary" icon="caret-left" @click="back"
+              >返 回</el-button
+            >
           </div>
-        </el-dialog>
+        </el-row>
+      </el-form>
+
+      <el-tree
+        :data="data"
+        node-key="id"
+        :props="defaultProps"
+        :default-expanded-keys="ids"
+        @node-click="handleNodeClick"
+      ></el-tree>
+    </div>
+    <el-dialog :title="title" :visible.sync="propertyDialog">
+      <el-form :model="propertyForm">
+        <el-row v-show="parentName">
+          <el-form-item label="一级名称">
+            <el-input
+              v-model="propertyForm.parentName"
+              auto-complete="off"
+              style="width: 220px;"
+              @change="showTitle"
+            ></el-input>
+            <span style="color: red;" v-show="showParentName"
+              >请输一级名称</span
+            >
+          </el-form-item>
+        </el-row>
+        <el-row v-show="sonName">
+          <el-form-item label="二级名称">
+            <el-input
+              v-model="propertyForm.sonName"
+              auto-complete="off"
+              style="width: 220px;"
+              @change="showTitle"
+            ></el-input>
+            <span style="color: red;" v-show="showSonName">请输二级名称</span>
+          </el-form-item>
+        </el-row>
+        <el-row>
+          <el-form-item label="名称备注">
+            <el-input
+              v-model="propertyForm.remark"
+              auto-complete="off"
+              style="width: 220px;"
+              @change="showTitle"
+            ></el-input>
+          </el-form-item>
+        </el-row>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button @click="propertyDialog = false">取 消</el-button>
+        <el-button type="primary" @click="submit">确 定</el-button>
       </div>
-    </section>
-  </div>
+    </el-dialog>
+  </section>
 </template>
 
 <script>
 import { CORE_API, QUESTION_API } from "@/constants/constants";
+import LinkTitlesCustom from "@/components/LinkTitlesCustom.vue";
 export default {
+  components: { LinkTitlesCustom },
   data() {
     return {
       courseProperty: {

Niektóre pliki nie zostały wyświetlone z powodu dużej ilości zmienionych plików