From 78156aa614bfeabd22f95132f8efb4f055f26e80 Mon Sep 17 00:00:00 2001 From: yangzhi <765157588@qq.com> Date: Fri, 15 Apr 2022 12:41:50 +0800 Subject: [PATCH] 级联菜单 --- src/api/HistoryAnswer.js | 20 +++++++++++++------- src/utils/routerList.js | 9 +++++++++ src/views/AnswerResult/detail.vue | 82 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/views/QuestionBank/index.vue | 40 ++++++++++++++++++++++++++++++++++++++-- src/views/TestPaper/ManualTestPaper.vue | 59 +++++++++++++++++++++++++++++++++++++++++++++++++---------- src/views/TestPaper/index.vue | 35 +++++++++++++++++++++++++++++++++++ src/views/user/userlist.vue | 4 ++++ 7 files changed, 230 insertions(+), 19 deletions(-) create mode 100644 src/views/AnswerResult/detail.vue diff --git a/src/api/HistoryAnswer.js b/src/api/HistoryAnswer.js index 19f24f6..2929eb6 100644 --- a/src/api/HistoryAnswer.js +++ b/src/api/HistoryAnswer.js @@ -1,10 +1,16 @@ import request from '@/utils/request' - + export function GetHistoryList(params) { - return request({ - url: `/HistoryAnswerInfo/GetHistoryAnswerListByUser`, - method: 'get', - params - }) + return request({ + url: `/HistoryAnswerInfo/GetHistoryAnswerListByUser`, + method: 'get', + params + }) } - \ No newline at end of file + +export function SelectQuestionBankListForHistoryId(id) { + return request({ + url: `/HistoryAnswerInfo/SelectQuestionBankListForHistoryId?hid=${id}`, + method: 'post' + }); +} \ No newline at end of file diff --git a/src/utils/routerList.js b/src/utils/routerList.js index 8c3a650..2bacd97 100644 --- a/src/utils/routerList.js +++ b/src/utils/routerList.js @@ -26,6 +26,15 @@ export function getRoutes() { }, { + path: '/answerDetail', + name: '答题详情', + component: () => + import ('@/views/AnswerResult/detail.vue'), + hidden: true + }, + + + { path: '/', component: Layout, redirect: '/dashboard', diff --git a/src/views/AnswerResult/detail.vue b/src/views/AnswerResult/detail.vue new file mode 100644 index 0000000..a725673 --- /dev/null +++ b/src/views/AnswerResult/detail.vue @@ -0,0 +1,82 @@ + + + + \ No newline at end of file diff --git a/src/views/QuestionBank/index.vue b/src/views/QuestionBank/index.vue index 414e074..1945f8b 100644 --- a/src/views/QuestionBank/index.vue +++ b/src/views/QuestionBank/index.vue @@ -156,7 +156,7 @@ + :props="{ emitPath: false ,checkStrictly:true}" :clearable="true" :options="randomQuestionTypeList"> @@ -241,6 +241,7 @@ }, data() { return { + randomQuestionTypeList:[], FormClassType: 0, loading: false, currentEditDimension: {}, @@ -294,7 +295,9 @@ scoreRules:['高','中','低'], }; }, - created() { }, + created() { + this.getQuestionClassListHeadler2(); + }, mounted() { let ContentAreaHight = window.innerHeight - document.getElementById("elRow").offsetTop - 70; @@ -308,6 +311,39 @@ this.getQuestionClassListHeadler(); }, methods: { + getSubTree(id, list) { + let result = []; + result = list.filter((t) => t.ParentId == id); + if (result.length) { + result = result.map((item) => { + item.value = item.id; + item.label = item.ClassificationName; + item.children = this.getSubTree(item.id, list); + if(!item.children || !item.children.length){ + delete item.children; + } + return item; + }); + } + return result; + }, + getQuestionClassListHeadler2() { + let _this = this; + getQuestionClassList().then((res) => { + let alllist = res.data.data; + let list = alllist.filter(t=>!t.ParentId); + list = list.map((t) => { + t.value = t.id; + t.label = t.ClassificationName; + t.children = this.getSubTree(t.id,alllist); + if(!t.children || !t.children.length){ + delete t.children; + } + return t; + }); + this.randomQuestionTypeList = list; + }); + }, AddSubject() { this.FormClassType = 0; // if(!this.Dataform.scoperule) diff --git a/src/views/TestPaper/ManualTestPaper.vue b/src/views/TestPaper/ManualTestPaper.vue index bc89f66..65ce745 100644 --- a/src/views/TestPaper/ManualTestPaper.vue +++ b/src/views/TestPaper/ManualTestPaper.vue @@ -125,9 +125,11 @@