zhangjie 2 vuotta sitten
vanhempi
commit
c1ea3dc5b1

+ 1 - 1
package.json

@@ -3,7 +3,7 @@
   "version": "0.1.0",
   "private": true,
   "scripts": {
-    "start": "vue-cli-service serve --port 7000",
+    "start": "vue-cli-service serve --port 7006",
     "serve": "vue-cli-service serve",
     "build:dev": "vue-cli-service build",
     "build:test": "vue-cli-service build",

+ 6 - 6
src/modules/paper/components/AuditPaperDialog.vue

@@ -9,14 +9,14 @@
   >
     <el-form :model="modalForm" :rules="rules" label-width="120px">
       <el-form-item label="审核结果" prop="auditResult">
-        <el-select v-model="modelForm.auditResult" disabled>
+        <el-select v-model="modalForm.auditResult" disabled>
           <el-option label="通过" value="PASS"></el-option>
           <el-option label="不通过" value="NOT_PASS"></el-option>
         </el-select>
       </el-form-item>
       <el-form-item label="审核意见" prop="auditRemark">
         <el-input
-          v-model="modelForm.auditRemark"
+          v-model="modalForm.auditRemark"
           type="textarea"
           placeholder="请输入内容"
           maxlength="200"
@@ -57,7 +57,7 @@ export default {
     return {
       modalIsShow: false,
       isSubmit: false,
-      modelForm: { ...initModelForm },
+      modalForm: { ...initModelForm },
       rules: {
         auditResult: [
           {
@@ -69,7 +69,7 @@ export default {
         auditRemark: [
           {
             validator: (rule, value, callback) => {
-              if (this.modelForm.auditResult === "NOT_PASS" && !value) {
+              if (this.modalForm.auditResult === "NOT_PASS" && !value) {
                 return callback(new Error(`请输入审核意见`));
               }
 
@@ -83,7 +83,7 @@ export default {
   },
   methods: {
     visibleChange() {
-      this.modelForm = objAssign(initModelForm, this.info);
+      this.modalForm = objAssign(initModelForm, this.info);
     },
     cancel() {
       this.modalIsShow = false;
@@ -97,7 +97,7 @@ export default {
 
       if (this.isSubmit) return;
       this.isSubmit = true;
-      const res = await auditPaperApi(this.modelForm).catch(() => {});
+      const res = await auditPaperApi(this.modalForm).catch(() => {});
       this.isSubmit = false;
       if (!res) return;
 

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

@@ -2,7 +2,7 @@
   <div class="audit-paper">
     <div class="part-box">
       <h2 class="part-box-title">试卷审核</h2>
-      <el-tabs v-model="activeName" @tab-click="handleClick">
+      <el-tabs v-model="activeName">
         <el-tab-pane label="待审核列表" name="wait">
           <audit-paper-wait></audit-paper-wait>
         </el-tab-pane>

+ 40 - 0
src/modules/question/api.js

@@ -126,3 +126,43 @@ export function thoroughDeleteQuestionApi(ids) {
 export function clearQuestionRecycleApi() {
   return $httpWithMsg.post(`${QUESTION_API}/question/recycle/clear`, {});
 }
+
+// question-audit
+export const auditQuestionWaitPageListApi = (datas) => {
+  return $httpWithMsg.post(
+    `${QUESTION_API}/find_pending_trial_question`,
+    {},
+    {
+      params: datas,
+    }
+  );
+};
+export const auditQuestionAuditedPageListApi = (datas) => {
+  return $httpWithMsg.post(
+    `${QUESTION_API}/find_my_audit_question`,
+    {},
+    {
+      params: datas,
+    }
+  );
+};
+export const auditQuestionApplyPageListApi = (datas) => {
+  return $httpWithMsg.post(
+    `${QUESTION_API}/find_my_question_status`,
+    {},
+    {
+      params: datas,
+    }
+  );
+};
+
+export const auditQuestionApi = (datas) => {
+  // auditResult,auditRemark,questionIds
+  return $httpWithMsg.post(
+    `${QUESTION_API}/question/audit/save`,
+    {},
+    {
+      params: datas,
+    }
+  );
+};

+ 121 - 0
src/modules/question/components/AuditQuestionApply.vue

@@ -0,0 +1,121 @@
+<template>
+  <div class="audit-paper-audited">
+    <el-form class="part-filter-form" :model="filter" inline>
+      <el-form-item label="审核状态">
+        <el-select v-model="filter.auditStatus" clearable placeholder="请选择">
+          <el-option label="初级待审" value="FIRST_PENDING_TRIAL"> </el-option>
+          <el-option label="中级待审" value="SECOND_PENDING_TRIAL"> </el-option>
+          <el-option label="高级待审" value="THIRD_PENDING_TRIAL"> </el-option>
+          <el-option label="已撤回" value="WITHDRAW"> </el-option>
+          <el-option label="审核未通过" value="NOT_PASS"> </el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item label="题干内容">
+        <el-input v-model="filter.name" placeholder="请输入题干内容"></el-input>
+      </el-form-item>
+      <el-form-item>
+        <el-button type="danger" @click="toPage(1)">查询</el-button>
+      </el-form-item>
+    </el-form>
+
+    <div>
+      <el-table
+        v-loading="loading"
+        element-loading-text="拼命加载中"
+        :data="dataList"
+      >
+        <el-table-column label="试题">
+          <template slot-scope="scope">
+            <rich-text
+              class="row-question-body"
+              title="点击查看试题"
+              :text-json="scope.row.quesBody"
+            ></rich-text>
+          </template>
+        </el-table-column>
+        <el-table-column label="课程">
+          <template slot-scope="scope">
+            <span
+              >{{ scope.row.course.name }}({{ scope.row.course.code }})</span
+            >
+          </template>
+        </el-table-column>
+        <el-table-column label="提交时间" prop="updateTime" width="170">
+        </el-table-column>
+        <el-table-column label="状态" prop="auditStatusName" width="100">
+        </el-table-column>
+        <el-table-column label="操作" width="100" fixed="right">
+          <template slot-scope="scope">
+            <div class="operate_left">
+              <el-button
+                size="mini"
+                type="primary"
+                plain
+                @click="toDetail(scope.row)"
+                >详情</el-button
+              >
+            </div>
+          </template>
+        </el-table-column>
+      </el-table>
+      <div class="part-page">
+        <el-pagination
+          :current-page="currentPage"
+          :page-size="pageSize"
+          :page-sizes="[10, 20, 50, 100, 200, 300]"
+          layout="total, sizes, prev, pager, next, jumper"
+          :total="total"
+          @current-change="toPage"
+          @size-change="handleSizeChange"
+        >
+        </el-pagination>
+      </div>
+    </div>
+  </div>
+</template>
+
+<script>
+import { auditQuestionApplyPageListApi } from "../api";
+
+export default {
+  name: "AuditQuestionApply",
+  data() {
+    return {
+      filter: { auditStatus: "", name: "" },
+      dataList: [],
+      currentPage: 1,
+      pageSize: 10,
+      total: 0,
+      loading: false,
+    };
+  },
+  mounted() {
+    this.toPage(1);
+  },
+  methods: {
+    toPage(page) {
+      this.currentPage = page;
+      this.getList();
+    },
+    async getList() {
+      this.loading = true;
+      const res = await auditQuestionApplyPageListApi({
+        ...this.filter,
+        curPage: this.currentPage,
+        pageSize: this.pageSize,
+      }).catch(() => {});
+      this.loading = false;
+      if (!res) return;
+      this.dataList = res.data.content;
+      this.total = res.data.totalElements;
+    },
+    handleSizeChange(val) {
+      this.pageSize = val;
+      this.toPage(1);
+    },
+    toDetail(row) {
+      console.log(row);
+    },
+  },
+};
+</script>

+ 122 - 0
src/modules/question/components/AuditQuestionAudited.vue

@@ -0,0 +1,122 @@
+<template>
+  <div class="audit-question-audited">
+    <el-form class="part-filter-form" :model="filter" inline>
+      <el-form-item label="提交人">
+        <el-input
+          v-model="filter.creatorName"
+          placeholder="请输入提交人姓名"
+        ></el-input>
+      </el-form-item>
+      <el-form-item label="题干内容">
+        <el-input v-model="filter.name" placeholder="请输入题干内容"></el-input>
+      </el-form-item>
+      <el-form-item>
+        <el-button type="danger" @click="toPage(1)">查询</el-button>
+      </el-form-item>
+    </el-form>
+
+    <div>
+      <el-table
+        v-loading="loading"
+        element-loading-text="拼命加载中"
+        :data="dataList"
+      >
+        <el-table-column label="试题">
+          <template slot-scope="scope">
+            <rich-text
+              class="row-question-body"
+              title="点击查看试题"
+              :text-json="scope.row.quesBody"
+            ></rich-text>
+          </template>
+        </el-table-column>
+        <el-table-column label="课程">
+          <template slot-scope="scope">
+            <span
+              >{{ scope.row.course.name }}({{ scope.row.course.code }})</span
+            >
+          </template>
+        </el-table-column>
+        <el-table-column label="提交人" prop="creator" width="150">
+        </el-table-column>
+        <el-table-column label="提交时间" prop="updateTime" width="170">
+        </el-table-column>
+        <el-table-column label="当前审核状态" prop="inReviewStatus" width="140">
+        </el-table-column>
+        <el-table-column label="状态" prop="auditStatusName" width="100">
+        </el-table-column>
+        <el-table-column label="操作" width="100" fixed="right">
+          <template slot-scope="scope">
+            <div class="operate_left">
+              <el-button
+                size="mini"
+                type="primary"
+                plain
+                @click="toDetail(scope.row)"
+                >详情</el-button
+              >
+            </div>
+          </template>
+        </el-table-column>
+      </el-table>
+      <div class="part-page">
+        <el-pagination
+          :current-page="currentPage"
+          :page-size="pageSize"
+          :page-sizes="[10, 20, 50, 100, 200, 300]"
+          layout="total, sizes, prev, pager, next, jumper"
+          :total="total"
+          @current-change="toPage"
+          @size-change="handleSizeChange"
+        >
+        </el-pagination>
+      </div>
+    </div>
+  </div>
+</template>
+
+<script>
+import { auditQuestionAuditedPageListApi } from "../api";
+
+export default {
+  name: "AuditQuestionAudited",
+  data() {
+    return {
+      filter: { creatorName: "", name: "" },
+      dataList: [],
+      currentPage: 1,
+      pageSize: 10,
+      total: 0,
+      loading: false,
+    };
+  },
+  mounted() {
+    this.toPage(1);
+  },
+  methods: {
+    toPage(page) {
+      this.currentPage = page;
+      this.getList();
+    },
+    async getList() {
+      this.loading = true;
+      const res = await auditQuestionAuditedPageListApi({
+        ...this.filter,
+        curPage: this.currentPage,
+        pageSize: this.pageSize,
+      }).catch(() => {});
+      this.loading = false;
+      if (!res) return;
+      this.dataList = res.data.content;
+      this.total = res.data.totalElements;
+    },
+    handleSizeChange(val) {
+      this.pageSize = val;
+      this.toPage(1);
+    },
+    toDetail(row) {
+      console.log(row);
+    },
+  },
+};
+</script>

+ 118 - 0
src/modules/question/components/AuditQuestionDialog.vue

@@ -0,0 +1,118 @@
+<template>
+  <el-dialog
+    class="audit-paper-dialog"
+    :visible.sync="modalIsShow"
+    :close-on-click-modal="false"
+    :close-on-press-escape="false"
+    append-to-body
+    width="600px"
+    @open="visibleChange"
+  >
+    <el-form
+      ref="modalFormComp"
+      :model="modalForm"
+      :rules="rules"
+      label-width="100px"
+    >
+      <el-form-item label="审核结果" prop="auditResult">
+        <el-select v-model="modalForm.auditResult" disabled>
+          <el-option label="通过" value="PASS"></el-option>
+          <el-option label="不通过" value="NOT_PASS"></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item label="审核意见" prop="auditRemark">
+        <el-input
+          v-model="modalForm.auditRemark"
+          type="textarea"
+          placeholder="请输入内容"
+          maxlength="200"
+        ></el-input>
+      </el-form-item>
+    </el-form>
+
+    <div slot="footer" class="text-center">
+      <el-button type="primary" :disabled="isSubmit" @click="confirm"
+        >确定</el-button
+      >
+      <el-button @click="cancel"> 取消</el-button>
+    </div>
+  </el-dialog>
+</template>
+
+<script>
+import { objAssign } from "@/plugins/utils";
+import { auditQuestionApi } from "../api";
+
+const initModelForm = {
+  questionIds: [],
+  auditResult: "",
+  auditRemark: "",
+};
+
+export default {
+  name: "AuditQuestionDialog",
+  props: {
+    info: {
+      type: Object,
+      default() {
+        return {};
+      },
+    },
+  },
+  data() {
+    return {
+      modalIsShow: false,
+      isSubmit: false,
+      modalForm: { ...initModelForm },
+      rules: {
+        auditResult: [
+          {
+            required: true,
+            message: "请选择审核结果",
+            trigger: "change",
+          },
+        ],
+        auditRemark: [
+          {
+            validator: (rule, value, callback) => {
+              if (this.modalForm.auditResult === "NOT_PASS" && !value) {
+                return callback(new Error(`请输入审核意见`));
+              }
+
+              callback();
+            },
+            trigger: "change",
+          },
+        ],
+      },
+    };
+  },
+  methods: {
+    visibleChange() {
+      this.modalForm = objAssign(initModelForm, this.info);
+    },
+    cancel() {
+      this.modalIsShow = false;
+    },
+    open() {
+      this.modalIsShow = true;
+    },
+    async confirm() {
+      const valid = await this.$refs.modalFormComp.validate().catch(() => {});
+      if (!valid) return;
+
+      if (this.isSubmit) return;
+      this.isSubmit = true;
+      let datas = { ...this.modalForm };
+      datas.questionIds = datas.questionIds.join();
+      const res = await auditQuestionApi(datas).catch(() => {});
+      this.isSubmit = false;
+      if (!res) return;
+
+      this.$emit("modified");
+      this.$message.success("操作成功!");
+      this.cancel();
+    },
+  },
+};
+</script>

+ 162 - 0
src/modules/question/components/AuditQuestionWait.vue

@@ -0,0 +1,162 @@
+<template>
+  <div class="audit-paper-wait">
+    <el-form class="part-filter-form" :model="filter" inline>
+      <el-form-item label="提交人">
+        <el-input
+          v-model="filter.creatorName"
+          placeholder="请输入提交人姓名"
+        ></el-input>
+      </el-form-item>
+      <el-form-item label="题干内容">
+        <el-input v-model="filter.name" placeholder="请输入题干内容"></el-input>
+      </el-form-item>
+      <el-form-item>
+        <el-button type="danger" @click="toPage(1)">查询</el-button>
+      </el-form-item>
+    </el-form>
+
+    <div>
+      <el-table
+        v-loading="loading"
+        element-loading-text="拼命加载中"
+        :data="dataList"
+      >
+        <el-table-column label="试题">
+          <template slot-scope="scope">
+            <rich-text
+              class="row-question-body"
+              title="点击查看试题"
+              :text-json="scope.row.quesBody"
+            ></rich-text>
+          </template>
+        </el-table-column>
+        <el-table-column label="课程">
+          <template slot-scope="scope">
+            <span
+              >{{ scope.row.course.name }}({{ scope.row.course.code }})</span
+            >
+          </template>
+        </el-table-column>
+        <el-table-column label="提交人" prop="creator" width="150">
+        </el-table-column>
+        <el-table-column label="修改时间" prop="updateTime" width="153">
+        </el-table-column>
+        <el-table-column label="操作" width="170" fixed="right">
+          <template slot-scope="scope">
+            <div class="operate_left">
+              <el-button
+                size="mini"
+                type="primary"
+                plain
+                @click="toDetail(scope.row)"
+                >详情</el-button
+              >
+              <el-dropdown>
+                <el-button type="primary" size="mini" plain>
+                  审核<i class="el-icon-more el-icon--right"></i>
+                </el-button>
+                <el-dropdown-menu slot="dropdown" class="action-dropdown">
+                  <el-dropdown-item>
+                    <el-button
+                      size="mini"
+                      type="success"
+                      plain
+                      @click="toAudit('PASS', scope.row.id)"
+                    >
+                      通过
+                    </el-button>
+                  </el-dropdown-item>
+                  <el-dropdown-item>
+                    <el-button
+                      size="mini"
+                      type="danger"
+                      plain
+                      @click="toAudit('NOT_PASS', scope.row.id)"
+                    >
+                      不通过
+                    </el-button>
+                  </el-dropdown-item>
+                </el-dropdown-menu>
+              </el-dropdown>
+            </div>
+          </template>
+        </el-table-column>
+      </el-table>
+      <div class="part-page">
+        <el-pagination
+          :current-page="currentPage"
+          :page-size="pageSize"
+          :page-sizes="[10, 20, 50, 100, 200, 300]"
+          layout="total, sizes, prev, pager, next, jumper"
+          :total="total"
+          @current-change="toPage"
+          @size-change="handleSizeChange"
+        >
+        </el-pagination>
+      </div>
+    </div>
+
+    <!-- AuditQuestionDialog -->
+    <audit-question-dialog
+      ref="AuditQuestionDialog"
+      :info="curAuditInfo"
+      @modified="getList"
+    ></audit-question-dialog>
+  </div>
+</template>
+
+<script>
+import AuditQuestionDialog from "./AuditQuestionDialog.vue";
+import { auditQuestionWaitPageListApi } from "../api";
+
+export default {
+  name: "AuditQuestionWait",
+  components: { AuditQuestionDialog },
+  data() {
+    return {
+      filter: { creatorName: "", name: "" },
+      dataList: [],
+      currentPage: 1,
+      pageSize: 10,
+      total: 0,
+      curAuditInfo: {
+        questionIds: [],
+        auditResult: "",
+      },
+      loading: false,
+    };
+  },
+  mounted() {
+    this.toPage(1);
+  },
+  methods: {
+    toPage(page) {
+      this.currentPage = page;
+      this.getList();
+    },
+    async getList() {
+      this.loading = true;
+      const res = await auditQuestionWaitPageListApi({
+        ...this.filter,
+        curPage: this.currentPage,
+        pageSize: this.pageSize,
+      }).catch(() => {});
+      this.loading = false;
+      if (!res) return;
+      this.dataList = res.data.content;
+      this.total = res.data.totalElements;
+    },
+    handleSizeChange(val) {
+      this.pageSize = val;
+      this.toPage(1);
+    },
+    toDetail(row) {
+      console.log(row);
+    },
+    toAudit(auditResult, questionId) {
+      this.curAuditInfo = { auditResult, questionIds: [questionId] };
+      this.$refs.AuditQuestionDialog.open();
+    },
+  },
+};
+</script>

+ 1 - 2
src/modules/question/components/FolderQuestionManageDialog.vue

@@ -20,8 +20,7 @@
         <div class="question-list part-box">
           <el-form class="part-filter-form" :inline="true" :model="filter">
             <el-form-item label="课程名称">
-              <course-select v-model="filter.courseId" @change="courseChange">
-              </course-select>
+              <course-select v-model="filter.courseId"> </course-select>
             </el-form-item>
             <el-form-item label="题型">
               <question-type-select v-model="filter.quesStructType">

+ 2 - 2
src/modules/question/components/QuestionEditDialog.vue

@@ -95,8 +95,8 @@ export default {
     return {
       modalIsShow: false,
       QUESTION_TYPES,
-      curQuestionType: "PARAGRAPH_MATCHING",
-      // curQuestionType: "SINGLE_ANSWER_QUESTION",
+      // curQuestionType: "PARAGRAPH_MATCHING",
+      curQuestionType: "SINGLE_ANSWER_QUESTION",
       questionModel: {},
       questionKey: "",
       loading: false,

+ 1 - 1
src/modules/question/components/QuestionInfoEdit.vue

@@ -138,7 +138,7 @@ export default {
       const newProperty = {
         key: `${this.properties.coursePropertyId}_${this.properties.firstPropertyId}_${this.properties.secondPropertyId}`,
         name: `${this.selection.courseProperty.name},${this.selection.firstProperty.name},${this.selection.secondProperty.name}`,
-        ...this.properties,
+        ...this.selection,
       };
       const propertyExist = this.modalForm.quesProperties.find(
         (item) => item.key === newProperty.key

+ 48 - 0
src/modules/question/views/QuestionAudit.vue

@@ -0,0 +1,48 @@
+<template>
+  <div class="question-audit">
+    <div class="part-box">
+      <h2 class="part-box-title">试卷审核</h2>
+      <el-tabs v-model="activeName" @tab-click="tabChange">
+        <el-tab-pane label="待审核列表" name="wait" lazy>
+          <audit-question-wait ref="AuditQuestionWait"></audit-question-wait>
+        </el-tab-pane>
+        <el-tab-pane label="我审核的记录" name="audited" lazy>
+          <audit-question-audited
+            ref="AuditQuestionAudited"
+          ></audit-question-audited>
+        </el-tab-pane>
+        <el-tab-pane label="我提交的审核" name="apply" lazy>
+          <audit-question-apply ref="AuditQuestionApply"></audit-question-apply>
+        </el-tab-pane>
+      </el-tabs>
+    </div>
+  </div>
+</template>
+
+<script>
+import AuditQuestionApply from "../components/AuditQuestionApply.vue";
+import AuditQuestionAudited from "../components/AuditQuestionAudited.vue";
+import AuditQuestionWait from "../components/AuditQuestionWait.vue";
+
+export default {
+  name: "QuestionAudit",
+  components: {
+    AuditQuestionWait,
+    AuditQuestionAudited,
+    AuditQuestionApply,
+  },
+  data() {
+    return {
+      activeName: "wait",
+    };
+  },
+  methods: {
+    tabChange(tab) {
+      console.log(tab.name);
+      const tabName = tab.name[0].toUpperCase() + tab.name.substr(1);
+      const compName = `AuditQuestion${tabName}`;
+      this.$refs[compName] && this.$refs[compName].getList();
+    },
+  },
+};
+</script>

+ 15 - 56
src/modules/question/views/QuestionManage.vue

@@ -115,12 +115,11 @@
             <span>{{ scope.row.questionType | questionType }}</span>
           </template>
         </el-table-column>
-        <el-table-column label="难度" width="80"> </el-table-column>
-        <el-table-column label="使用量" width="80"> </el-table-column>
-        <el-table-column label="创建人" width="120">
-          <template slot-scope="scope">
-            <span>{{ scope.row.creator }}</span>
-          </template>
+        <el-table-column label="难度" prop="difficulty" width="80">
+        </el-table-column>
+        <el-table-column label="使用量" prop="usageAmount" width="80">
+        </el-table-column>
+        <el-table-column label="创建人" prop="creator" width="120">
         </el-table-column>
         <el-table-column label="创建时间" width="170" prop="creationTime">
         </el-table-column>
@@ -227,12 +226,10 @@
       ref="QuestionImportDialog"
       @modified="toPage(1)"
     ></question-import-dialog>
-    <!-- ModifyFolder -->
-    <modify-folder
-      ref="ModifyFolder"
-      :instance="curFolder"
-      @modified="folderModified"
-    ></modify-folder>
+    <!-- FolderQuestionManageDialog -->
+    <folder-question-manage-dialog
+      ref="FolderQuestionManageDialog"
+    ></folder-question-manage-dialog>
   </div>
 </template>
 
@@ -250,7 +247,7 @@ import QuestionFolderDialog from "../components/QuestionFolderDialog.vue";
 import QuestionImportDialog from "../components/QuestionImportDialog.vue";
 import QuestionEditDialog from "../components/QuestionEditDialog.vue";
 import QuestionPreviewDialog from "../components/QuestionPreviewDialog.vue";
-import ModifyFolder from "../components/ModifyFolder.vue";
+import FolderQuestionManageDialog from "../components/FolderQuestionManageDialog.vue";
 
 export default {
   name: "QuestionMamage",
@@ -261,7 +258,7 @@ export default {
     QuestionImportDialog,
     QuestionEditDialog,
     QuestionPreviewDialog,
-    ModifyFolder,
+    FolderQuestionManageDialog,
   },
   data() {
     return {
@@ -288,17 +285,9 @@ export default {
     };
   },
   mounted() {
-    // this.toPage(1);
+    this.toPage(1);
   },
   methods: {
-    // async getFolderList() {
-    //   const res = await classifyListApi(this.filter.classifyId);
-    //   this.folderList = res.data || [];
-    // },
-    // toFolder(classifyId) {
-    //   this.filter.classifyId = classifyId;
-    //   this.toPage(1);
-    // },
     toPage(page) {
       this.currentPage = page;
       this.getList();
@@ -312,7 +301,6 @@ export default {
       }).catch(() => {});
       this.loading = false;
       if (!res) return;
-      this.folderList = res.data.questionClassifyResultList;
       this.questionList = res.data.questionPageResult.content;
       this.total = res.data.questionPageResult.totalElements;
     },
@@ -412,43 +400,14 @@ export default {
     toLinkQuestion(row) {
       console.log(row);
     },
-    toAddFolder() {
-      this.curFolder = { parentId: this.filter.classifyId };
-      this.$refs.ModifyFolder.open();
-    },
-    // toEditFolder(row) {
-    //   this.curFolder = row;
-    //   this.$refs.ModifyFolder.open();
-    // },
-    // toMoveFolder(row) {
-    //   console.log(row);
-    //   this.isEditFolder = false;
-    //   this.curMoveType = "folder";
-    //   this.curFolder = row;
-    //   this.$refs.QuestionFolderDialog.open();
-    // },
-    // async toDeleteFolder(row) {
-    //   const confirm = await this.$confirm(`确定要删除选中的文件夹吗?`, "提示", {
-    //     type: "warning",
-    //   }).catch(() => {});
-    //   if (confirm !== "confirm") return;
-
-    //   if (this.loading) return;
-    //   this.loading = true;
-    //   const res = await deleteClassifyApi(row.id).catch(() => {});
-    //   this.loading = false;
-    //   if (!res) return;
-    //   this.$message.success("操作成功");
-    //   await this.getClassifyTree();
-    // },
-    folderModified() {
-      this.getFolderList();
-    },
     toRecycle() {
       this.$router.push({
         name: "QuestionRecycle",
       });
     },
+    toAddFolder() {
+      this.$refs.FolderQuestionManageDialog.open();
+    },
   },
 };
 </script>

+ 3 - 2
src/modules/questions/routes/routes.js

@@ -30,7 +30,8 @@ import SynthesisPaper from "../views/SynthesisPaper.vue";
 import SynthesisPaperStorage from "../views/SynthesisPaperStorage.vue";
 import ViewPaper from "../views/ViewPaper.vue";
 import OrgProperty from "../views/OrgProperty.vue";
-import PaperPendingTrial from "../views/PaperPendingTrial.vue";
+// import PaperPendingTrial from "../views/PaperPendingTrial.vue";
+import QuestionAudit from "../../question/views/QuestionAudit.vue";
 import EditPaperPendingTrial from "../views/EditPaperPendingTrial.vue";
 import ExamPaperPendingTrial from "../views/ExamPaperPendingTrial.vue";
 import CheckDuplicateList from "../views/CheckDuplicateList.vue";
@@ -110,7 +111,7 @@ export const menuRoutes = [
       },
       {
         path: "paper_pending_trial/:isClear", //题库待审列表
-        component: PaperPendingTrial,
+        component: QuestionAudit,
       },
       {
         path: "exam_paper_pending_trial/:isClear", //题库待审列表