From b2ab6a12f2718ecedd933e5a8f9171a6efd73012 Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期五, 07 六月 2024 15:54:42 +0800
Subject: [PATCH] 模板试卷增删改查

---
 src/views/Manage/TestPaper/index.vue         |   52 +++++++++++++++++++------
 src/views/Manage/TestPaper/PaperTemplate.vue |   37 +++++++++++++-----
 src/api/examPaper.js                         |    2 
 3 files changed, 67 insertions(+), 24 deletions(-)

diff --git a/src/api/examPaper.js b/src/api/examPaper.js
index 58a62ef..787676a 100644
--- a/src/api/examPaper.js
+++ b/src/api/examPaper.js
@@ -2,7 +2,7 @@
 
 export default {
   pageList: query => post('/api/admin/exam/paper/page', query),
-  taskExamPage: query => post('/api/admin/exam/paper/taskExamPage', query),
+  addPaper: query => post('/api/admin/exam/paper/addPaper', query),
   edit: query => post('/api/admin/exam/paper/edit', query),
   select: id => post('/api/admin/exam/paper/select/' + id),
   deletePaper: id => post('/api/admin/exam/paper/delete/' + id)
diff --git a/src/views/Manage/TestPaper/PaperTemplate.vue b/src/views/Manage/TestPaper/PaperTemplate.vue
index 14337bf..14d8482 100644
--- a/src/views/Manage/TestPaper/PaperTemplate.vue
+++ b/src/views/Manage/TestPaper/PaperTemplate.vue
@@ -88,8 +88,8 @@
             >
               <template slot-scope="scope">
                 <el-button type="text">棰勮</el-button>
-                <el-button type="text">缂栬緫</el-button>
-                <el-button type="text" @click="deletePaper(scope.row)" class="link-left">鍒犻櫎</el-button>
+                <el-button type="text" @click="handleUpdate(scope.row)">缂栬緫</el-button>
+                <el-button type="text" @click="deleteTemplate(scope.row)" class="link-left">鍒犻櫎</el-button>
               </template>
             </el-table-column>
           </el-table>
@@ -124,8 +124,8 @@
               <el-input-number v-model="form.suggestTime" placeholder="璇疯緭鍏ヨ�冭瘯鏃堕暱"/>
             </el-form-item>
             <el-form-item label="鏉冮檺" prop="visibility">
-              <el-radio v-model="form.visibility" :label="1">绉佹湁</el-radio>
-              <el-radio v-model="form.visibility" :label="2">鍏紑</el-radio>
+              <el-radio v-model="form.visibility" :label="'1'">绉佹湁</el-radio>
+              <el-radio v-model="form.visibility" :label="'2'">鍏紑</el-radio>
             </el-form-item>
             <el-form-item label="澶氶�夐寰楀垎绫诲瀷" prop="deductType" v-show="addedQuestionTypes.includes(2)"><!-- 鏈夊閫夋墠鍑虹幇 -->
               <div>
@@ -137,7 +137,7 @@
                     :value="item.value"
                   />
                 </el-select>
-                <el-input-number v-model="form.score" placeholder="璇疯緭鍏ュ閫夊緱鍒嗗垎鏁�"
+                <el-input-number v-model="form.deductTypeScore" placeholder="璇疯緭鍏ュ閫夎瘎鍒�"
                                  v-show="form.deductType === 2 || form.deductType === 3"/>
               </div>
             </el-form-item>
@@ -233,6 +233,7 @@
 } from '@/api/examTemplate'
 import subjectApi from '@/api/subject'
 import Pagination from "@/components/Pagination"
+import question from "../../../api/question";
 
 export default {
   components: {Pagination},
@@ -400,6 +401,8 @@
         name: null,
         subjectId: null,
         suggestTime: null,
+        deductType: null,
+        deductTypeScore: null,
         visibility: 1
       };
       this.addedQuestionTypes = []
@@ -420,6 +423,7 @@
     //鏂板妯℃澘
     addTemplate() {
       this.reset();
+      this.questionReset();
       this.title = "鏂板妯℃澘"
       this.open = true;
     },
@@ -429,15 +433,28 @@
       this.questionTitle = "娣诲姞棰樼洰"
       this.questionOpen = true;
     },
-    deletePaper(row) {
+    //鍒犻櫎妯℃澘
+    deleteTemplate(row) {
       deleteExamTemplateById(row.id).then(re => {
-        if (re.code === 1) {
+        if (re.data.code === 1) {
           this.getPage()
           this.$message.success("鍒犻櫎鎴愬姛")
         } else {
-          this.$message.error(re.message)
+          this.$message.error(re.data.message)
         }
       })
+    },
+    //缂栬緫妯℃澘
+    handleUpdate(row) {
+      this.reset();
+      this.questionReset();
+      this.form = row;
+      this.questionList = row.questionList;
+      if (this.questionList && this.questionList.length > 0) {
+        this.addedQuestionTypes = this.questionList.map(question => question.questionType);
+      }
+      this.title="缂栬緫妯℃澘"
+      this.open = true;
     },
     getPage() {
       this.listLoading = true
@@ -488,13 +505,13 @@
           temp.questionList = this.questionList
           if (temp.id != null) {
             editExamTemplate(temp).then(response => {
-              this.$message("淇敼鎴愬姛");
+              this.$message.success("淇敼鎴愬姛");
               this.open = false;
               this.getPage();
             });
           } else {
             addExamTemplate(temp).then(response => {
-              this.$message("鏂板鎴愬姛");
+              this.$message.success("鏂板鎴愬姛");
               this.open = false;
               this.reset()
               this.getPage();
diff --git a/src/views/Manage/TestPaper/index.vue b/src/views/Manage/TestPaper/index.vue
index 2678e79..7af48ad 100644
--- a/src/views/Manage/TestPaper/index.vue
+++ b/src/views/Manage/TestPaper/index.vue
@@ -121,7 +121,7 @@
             >
               <template slot-scope="scope">
               <el-button type="text">棰勮</el-button>
-              <el-button type="text">缂栬緫</el-button>
+              <el-button type="text" @click="handleUpdate(scope.row)">缂栬緫</el-button>
               <el-button type="text" @click="deletePaper(scope.row)" class="link-left">鍒犻櫎</el-button>
               </template>
             </el-table-column>
@@ -154,12 +154,30 @@
             </el-form-item>
             <el-form-item label="璇曞嵎绫诲瀷" prop="paperType">
               <el-select v-model="form.paperType" placeholder="璇烽�夋嫨璇曞嵎绫诲瀷" style="width: 200px">
-                <el-option label="鍥哄畾璇曞嵎" value="1" />
-                <el-option label="闅忓簭璇曞嵎" value="3" />
+                <el-option label="鍥哄畾璇曞嵎" :value= "1" />
+                <el-option label="闅忓簭璇曞嵎" :value= "3" />
               </el-select>
+            </el-form-item>
+            <el-form-item label="澶氶�夐寰楀垎绫诲瀷" prop="deductType">
+              <div>
+                <el-select v-model="form.deductType" placeholder="璇烽�夋嫨澶氶�夐寰楀垎绫诲瀷" style="width: 200px;margin-right: 30px">
+                  <el-option
+                    v-for="item in deductTypeList"
+                    :key="item.value"
+                    :label="item.name"
+                    :value="item.value"
+                  />
+                </el-select>
+                <el-input-number v-model="form.deductTypeScore" placeholder="璇疯緭鍏ュ閫夎瘎鍒�"
+                                 v-show="form.deductType === 2 || form.deductType === 3"/>
+              </div>
             </el-form-item>
             <el-form-item label="鑰冭瘯鏃堕暱(鍒嗛挓)" prop="suggestTime">
               <el-input-number v-model="form.suggestTime" placeholder="璇疯緭鍏ヨ�冭瘯鏃堕暱"/>
+            </el-form-item>
+            <el-form-item label="鏉冮檺" prop="visibility">
+              <el-radio v-model="form.visibility" :label="'1'">绉佹湁</el-radio>
+              <el-radio v-model="form.visibility" :label="'2'">鍏紑</el-radio>
             </el-form-item>
             <el-button type="primary" @click="toCreate">缂栬緫棰樼洰</el-button>
           </el-form>
@@ -196,6 +214,11 @@
         pageIndex: 1,
         pageSize: 10
       },
+      deductTypeList: [
+        {name: '绛旈敊涓嶅緱鍒�', value: 1},
+        {name: '婕忛�夊緱鍥哄畾鍒嗗��,鍖呭惈閿欒閫夐」涓嶅緱鍒�', value: 2},
+        {name: '姣忓涓�棰樺緱鐩稿簲鍒嗗��,鍖呭惈閿欒閫夐」涓嶅緱鍒�', value: 3},
+      ],
       form: {},
       tableData: [],
       subjects: [],
@@ -264,6 +287,13 @@
         path: "/manage/paper-template",
       });
     },
+    //缂栬緫璇曞嵎
+    handleUpdate(row) {
+      this.reset();
+      this.form = row;
+      this.title="缂栬緫璇曞嵎"
+      this.open = true;
+    },
     deletePaper (row) {
       examPaperApi.deletePaper(row.id).then(re => {
         if (re.code === 1) {
@@ -294,25 +324,21 @@
     submitForm() {
       this.$refs['form'].validate(valid => {
         if (valid) {
-          if (this.form.deptId && this.form.deptId.length > 0) {
-            this.form.deptId = this.form.deptId[this.form.deptId.length - 1]
-          }
           let temp = {
             ...this.form,
-            category: parseInt(this.form.category)
           };
           if (temp.id != null) {
-            updatePoint(temp).then(response => {
-              this.$modal.msgSuccess("淇敼鎴愬姛");
+            examPaperApi.edit(temp).then(response => {
+              this.$message.success("淇敼鎴愬姛");
               this.open = false;
-              this.getList();
+              this.getPage();
             });
           } else {
-            addPoint(temp).then(response => {
-              this.$modal.msgSuccess("鏂板鎴愬姛");
+            examPaperApi.addPaper(temp).then(response => {
+              this.$message.success("鏂板鎴愬姛");
               this.open = false;
               this.reset()
-              this.getList();
+              this.getPage();
             });
           }
         } else {

--
Gitblit v1.8.0