Commit 8f573b82501c0067d9b6dad6b009de94c38fc1dc
1 parent
6fffbd55
组卷接口联调
Showing
6 changed files
with
150 additions
and
146 deletions
package.json
| ... | ... | @@ -8,17 +8,18 @@ |
| 8 | 8 | "lint": "vue-cli-service lint" |
| 9 | 9 | }, |
| 10 | 10 | "dependencies": { |
| 11 | + "axios": "^0.21.1", | |
| 11 | 12 | "core-js": "^3.6.5", |
| 12 | 13 | "echarts": "5.3.2", |
| 13 | 14 | "element-ui": "^2.15.1", |
| 15 | + "font-awesome": "^4.7.0", | |
| 14 | 16 | "js-cookie": "^2.2.0", |
| 15 | 17 | "jsencrypt": "^3.2.0", |
| 16 | 18 | "nprogress": "^0.2.0", |
| 17 | - "font-awesome": "^4.7.0", | |
| 19 | + "script-ext-html-webpack-plugin": "^2.1.5", | |
| 18 | 20 | "vue": "^2.6.11", |
| 19 | 21 | "vue-i18n": "^8.4.0", |
| 20 | 22 | "vue-router": "^3.5.1", |
| 21 | - "axios": "^0.21.1", | |
| 22 | 23 | "vuex": "^3.6.2" |
| 23 | 24 | }, |
| 24 | 25 | "devDependencies": { |
| ... | ... | @@ -26,8 +27,8 @@ |
| 26 | 27 | "@vue/cli-service": "~4.5.0", |
| 27 | 28 | "autoprefixer": "^7.1.2", |
| 28 | 29 | "babel-core": "^6.22.1", |
| 29 | - "babel-loader": "^7.1.1", | |
| 30 | 30 | "babel-eslint": "^10.1.0", |
| 31 | + "babel-loader": "^7.1.1", | |
| 31 | 32 | "babel-polyfill": "^6.26.0", |
| 32 | 33 | "eslint": "^6.7.2", |
| 33 | 34 | "eslint-plugin-vue": "^6.2.2", |
| ... | ... | @@ -35,11 +36,11 @@ |
| 35 | 36 | "html-webpack-plugin": "^4.2.0", |
| 36 | 37 | "mini-css-extract-plugin": "^0.9.0", |
| 37 | 38 | "node-sass": "^4.13.0", |
| 38 | - "sass-loader": "^7.1.0", | |
| 39 | + "optimize-css-assets-webpack-plugin": "^3.2.0", | |
| 39 | 40 | "postcss-import": "^12.0.1", |
| 40 | 41 | "postcss-loader": "^3.0.0", |
| 41 | 42 | "postcss-url": "^7.2.1", |
| 42 | - "optimize-css-assets-webpack-plugin": "^3.2.0", | |
| 43 | + "sass-loader": "^7.1.0", | |
| 43 | 44 | "vue-template-compiler": "^2.5.2" |
| 44 | 45 | } |
| 45 | 46 | } | ... | ... |
src/api/axios.js
| 1 | -import axios from "axios" | |
| 2 | -import Cookies from "js-cookie" | |
| 3 | -import NProgress from "nprogress" | |
| 4 | -import { Message } from "element-ui" | |
| 5 | -import router from "@/router/index" | |
| 6 | -import store from "@/store" | |
| 1 | +import axios from "axios"; | |
| 2 | +import Cookies from "js-cookie"; | |
| 3 | +import NProgress from "nprogress"; | |
| 4 | +import { Message } from "element-ui"; | |
| 5 | +import router from "@/router/index"; | |
| 6 | +import store from "@/store"; | |
| 7 | 7 | import conf from "../config/index"; // 路径配置 |
| 8 | 8 | // axios默认配置 |
| 9 | 9 | const service = axios.create({ |
| ... | ... | @@ -12,86 +12,84 @@ const service = axios.create({ |
| 12 | 12 | withCredentials: true, |
| 13 | 13 | }); |
| 14 | 14 | // http request 拦截器 |
| 15 | -service.interceptors.request.use(config => { | |
| 16 | - NProgress.start() | |
| 17 | - config.headers["Content-Type"] = "application/json;charset=UTF-8" | |
| 15 | +service.interceptors.request.use( | |
| 16 | + (config) => { | |
| 17 | + NProgress.start(); | |
| 18 | + config.headers["Content-Type"] = "application/json;charset=UTF-8"; | |
| 18 | 19 | |
| 19 | - const source = axios.CancelToken.source(); | |
| 20 | - store.commit('setTokenSources', [source.token, source.cancel]) | |
| 21 | - config.cancelToken = source.token; | |
| 22 | - // if (Cookies.get("access_token")) { | |
| 23 | - // config.headers.Authorization = "Bearer" + Cookies.get("access_token") | |
| 24 | - // } | |
| 25 | - return config | |
| 26 | -}, | |
| 27 | - error => { | |
| 28 | - return Promise.reject(error.response) | |
| 29 | - }) | |
| 20 | + const source = axios.CancelToken.source(); | |
| 21 | + store.commit("setTokenSources", [source.token, source.cancel]); | |
| 22 | + config.cancelToken = source.token; | |
| 23 | + // if (Cookies.get("access_token")) { | |
| 24 | + // config.headers.Authorization = "Bearer" + Cookies.get("access_token") | |
| 25 | + // } | |
| 26 | + return config; | |
| 27 | + }, | |
| 28 | + (error) => { | |
| 29 | + return Promise.reject(error.response); | |
| 30 | + } | |
| 31 | +); | |
| 30 | 32 | |
| 31 | 33 | // http response 拦截器 |
| 32 | 34 | service.interceptors.response.use( |
| 33 | - response => { | |
| 35 | + (response) => { | |
| 34 | 36 | const res = response.data; |
| 35 | - NProgress.done() | |
| 37 | + NProgress.done(); | |
| 36 | 38 | if (response.config.cancelToken) { |
| 37 | - store.commit('delTokenSources', response.config.cancelToken) | |
| 39 | + store.commit("delTokenSources", response.config.cancelToken); | |
| 38 | 40 | } |
| 39 | 41 | if (response.status == 200) { |
| 40 | 42 | // Cookies.set("access_token", response.data.message, { expires: 1 / 12 }) |
| 41 | 43 | // console.log(response.status) |
| 42 | - if (res.code == 999) { | |
| 43 | - if (!location.href.includes('localhost')) { | |
| 44 | + if (res.status == 999) { | |
| 45 | + // if (!location.href.includes("localhost")) { | |
| 44 | 46 | if (res.data) { |
| 45 | - window.location.href = res.data | |
| 47 | + window.location.href = res.data; | |
| 46 | 48 | } else { |
| 47 | - router.push({ path: '/login' }) | |
| 48 | - if (res.message.includes('不存在')) { | |
| 49 | + router.push({ path: "/login" }); | |
| 50 | + if (res.message.includes("不存在")) { | |
| 49 | 51 | Message({ |
| 50 | 52 | message: res.message, |
| 51 | - type: 'error', | |
| 52 | - duration: 3 * 1000 | |
| 53 | - }) | |
| 53 | + type: "error", | |
| 54 | + duration: 3 * 1000, | |
| 55 | + }); | |
| 54 | 56 | } |
| 55 | 57 | } |
| 56 | - } | |
| 57 | - return | |
| 58 | + // } | |
| 58 | 59 | } else { |
| 59 | 60 | // Cookies.set("access_token", response.data.message, { expires: 1 / 12 }) |
| 60 | 61 | } |
| 61 | 62 | } |
| 62 | - console.log(response) | |
| 63 | - return Promise.resolve(res) | |
| 63 | + return Promise.resolve(res); | |
| 64 | 64 | }, |
| 65 | - error => { | |
| 65 | + (error) => { | |
| 66 | 66 | Message({ |
| 67 | - message: error.message, | |
| 68 | - type: 'error', | |
| 69 | - duration: 3 * 1000 | |
| 70 | - }) | |
| 67 | + message: error, | |
| 68 | + type: "error", | |
| 69 | + duration: 3 * 1000, | |
| 70 | + }); | |
| 71 | 71 | if (error.response == undefined) { |
| 72 | 72 | return Promise.reject(error); |
| 73 | 73 | } |
| 74 | - Message.closeAll() | |
| 75 | - const { | |
| 76 | - data, | |
| 77 | - status | |
| 78 | - } = error.response | |
| 74 | + const { data, status } = error.response; | |
| 79 | 75 | if (status === 403 || status === 401) { |
| 76 | + Message.closeAll(); | |
| 80 | 77 | Message({ |
| 81 | - message: data.info||"未登录或登录超时,即将跳转到登录页面", | |
| 82 | - type: 'error', | |
| 83 | - duration: 3 * 1000 | |
| 84 | - }) | |
| 85 | - if (!window.location.href.includes('login')) { | |
| 78 | + message: data.info || "未登录或登录超时,即将跳转到登录页面", | |
| 79 | + type: "error", | |
| 80 | + duration: 3 * 1000, | |
| 81 | + }); | |
| 82 | + if (!window.location.href.includes("login")) { | |
| 86 | 83 | router.push({ |
| 87 | - path: '/login', | |
| 84 | + path: "/login", | |
| 88 | 85 | query: { |
| 89 | - url: window.location.href | |
| 90 | - } | |
| 91 | - }) | |
| 86 | + url: window.location.href, | |
| 87 | + }, | |
| 88 | + }); | |
| 92 | 89 | } |
| 93 | - return | |
| 90 | + return; | |
| 94 | 91 | } |
| 95 | - return Promise.reject(error.response) // 返回接口返回的错误信息 | |
| 96 | - }) | |
| 97 | -export default service | |
| 92 | + return Promise.reject(error.response); // 返回接口返回的错误信息 | |
| 93 | + } | |
| 94 | +); | |
| 95 | +export default service; | ... | ... |
src/views/examinationPaper/add.vue
| ... | ... | @@ -78,7 +78,7 @@ |
| 78 | 78 | :key="item.value" |
| 79 | 79 | :label="item.label" |
| 80 | 80 | :value="item.value" |
| 81 | - > | |
| 81 | + >{{ item.label }} | |
| 82 | 82 | </el-option> |
| 83 | 83 | </el-select> |
| 84 | 84 | </el-form-item> |
| ... | ... | @@ -470,7 +470,7 @@ export default { |
| 470 | 470 | { label: "判断题", value: 4 }, |
| 471 | 471 | { label: "主观题", value: 5 }, |
| 472 | 472 | ], |
| 473 | - rightOptions: ["A","B","C","D","E","F","G"], | |
| 473 | + rightOptions: ["A", "B", "C", "D", "E", "F", "G"], | |
| 474 | 474 | addSubQuestionsType: "", |
| 475 | 475 | step: 0, //步骤 |
| 476 | 476 | gradeList: [], //年级 |
| ... | ... | @@ -509,8 +509,9 @@ export default { |
| 509 | 509 | }; |
| 510 | 510 | }, |
| 511 | 511 | async created() { |
| 512 | - await this._GradeList() | |
| 513 | - await this._CreatedTypeList() | |
| 512 | + await this._GradeList(); | |
| 513 | + await this._QuerySubjectList(this.gradeList[0]); | |
| 514 | + await this._TypeList(); | |
| 514 | 515 | this.type = this.$route.query.type ? this.$route.query.type : 1; |
| 515 | 516 | if (this.type == 2) { |
| 516 | 517 | this._QueryDetail(); |
| ... | ... | @@ -630,16 +631,14 @@ export default { |
| 630 | 631 | }; |
| 631 | 632 | switch (questionsOptions.questionType) { |
| 632 | 633 | case 2: |
| 633 | - questionsOptions.answerOptions = this.rightOptions.slice( | |
| 634 | - 0, | |
| 635 | - questionsOptions.selectNum | |
| 636 | - ).join(','); | |
| 634 | + questionsOptions.answerOptions = this.rightOptions | |
| 635 | + .slice(0, questionsOptions.selectNum) | |
| 636 | + .join(","); | |
| 637 | 637 | break; |
| 638 | 638 | case 3: |
| 639 | - questionsOptions.answerOptions = this.rightOptions.slice( | |
| 640 | - 0, | |
| 641 | - questionsOptions.selectNum | |
| 642 | - ).join(','); | |
| 639 | + questionsOptions.answerOptions = this.rightOptions | |
| 640 | + .slice(0, questionsOptions.selectNum) | |
| 641 | + .join(","); | |
| 643 | 642 | questionsOptions.partScore = 0.5; |
| 644 | 643 | break; |
| 645 | 644 | case 4: |
| ... | ... | @@ -678,16 +677,14 @@ export default { |
| 678 | 677 | }; |
| 679 | 678 | switch (questionsOptions.questionType) { |
| 680 | 679 | case 2: |
| 681 | - questionsOptions.answerOptions = this.rightOptions.slice( | |
| 682 | - 0, | |
| 683 | - questionsOptions.selectNum | |
| 684 | - ).join(','); | |
| 680 | + questionsOptions.answerOptions = this.rightOptions | |
| 681 | + .slice(0, questionsOptions.selectNum) | |
| 682 | + .join(","); | |
| 685 | 683 | break; |
| 686 | 684 | case 3: |
| 687 | - questionsOptions.answerOptions = this.rightOptions.slice( | |
| 688 | - 0, | |
| 689 | - questionsOptions.selectNum | |
| 690 | - ).join(','); | |
| 685 | + questionsOptions.answerOptions = this.rightOptions | |
| 686 | + .slice(0, questionsOptions.selectNum) | |
| 687 | + .join(","); | |
| 691 | 688 | questionsOptions.partScore = 0.5; |
| 692 | 689 | break; |
| 693 | 690 | case 4: |
| ... | ... | @@ -708,16 +705,14 @@ export default { |
| 708 | 705 | subQuestions.selectNum = 4; |
| 709 | 706 | switch (val) { |
| 710 | 707 | case 2: |
| 711 | - subQuestions.answerOptions = that.rightOptions.slice( | |
| 712 | - 0, | |
| 713 | - subQuestions.selectNum | |
| 714 | - ).join(','); | |
| 708 | + subQuestions.answerOptions = that.rightOptions | |
| 709 | + .slice(0, subQuestions.selectNum) | |
| 710 | + .join(","); | |
| 715 | 711 | break; |
| 716 | 712 | case 3: |
| 717 | - subQuestions.answerOptions = that.rightOptions.slice( | |
| 718 | - 0, | |
| 719 | - subQuestions.selectNum | |
| 720 | - ).join(','); | |
| 713 | + subQuestions.answerOptions = that.rightOptions | |
| 714 | + .slice(0, subQuestions.selectNum) | |
| 715 | + .join(","); | |
| 721 | 716 | subQuestions.partScore = 0.5; |
| 722 | 717 | break; |
| 723 | 718 | case 4: |
| ... | ... | @@ -728,23 +723,21 @@ export default { |
| 728 | 723 | }, |
| 729 | 724 | addOptions(subQuestions) { |
| 730 | 725 | //添加选项 |
| 731 | - let length = subQuestions.answerOptions.split(',').length; | |
| 726 | + let length = subQuestions.answerOptions.split(",").length; | |
| 732 | 727 | if (length > 6) return; |
| 733 | 728 | subQuestions.selectNum = length + 1; |
| 734 | - subQuestions.answerOptions = this.rightOptions.slice( | |
| 735 | - 0, | |
| 736 | - subQuestions.selectNum | |
| 737 | - ).join(','); | |
| 729 | + subQuestions.answerOptions = this.rightOptions | |
| 730 | + .slice(0, subQuestions.selectNum) | |
| 731 | + .join(","); | |
| 738 | 732 | }, |
| 739 | 733 | removeOptions(subQuestions) { |
| 740 | 734 | //删除选项 |
| 741 | - let length = subQuestions.answerOptions.split(',').length; | |
| 735 | + let length = subQuestions.answerOptions.split(",").length; | |
| 742 | 736 | if (length < 2) return; |
| 743 | 737 | subQuestions.selectNum = length - 1; |
| 744 | - subQuestions.answerOptions = this.rightOptions.slice( | |
| 745 | - 0, | |
| 746 | - subQuestions.selectNum | |
| 747 | - ).join(','); | |
| 738 | + subQuestions.answerOptions = this.rightOptions | |
| 739 | + .slice(0, subQuestions.selectNum) | |
| 740 | + .join(","); | |
| 748 | 741 | }, |
| 749 | 742 | changAnswer(sub, option) { |
| 750 | 743 | //设置多选答案 |
| ... | ... | @@ -765,10 +758,10 @@ export default { |
| 765 | 758 | } |
| 766 | 759 | //添加测验类型 |
| 767 | 760 | const { data, status, info } = await this.$request.addPaperType({ |
| 768 | - typeName: this.answerTypeName, | |
| 761 | + tag: this.answerTypeName, | |
| 769 | 762 | }); |
| 770 | 763 | if (status == 0) { |
| 771 | - this._CreatedTypeList(); | |
| 764 | + this._TypeList(); | |
| 772 | 765 | this.dialogVisible = false; |
| 773 | 766 | this.answerTypeName = ""; |
| 774 | 767 | this.$message.success("添加成功"); |
| ... | ... | @@ -777,8 +770,8 @@ export default { |
| 777 | 770 | } |
| 778 | 771 | }, |
| 779 | 772 | async save() { |
| 780 | - if (this.saceLoading) return; | |
| 781 | - this.saceLoading = true; | |
| 773 | + if (this.saveLoading) return; | |
| 774 | + this.saveLoading = true; | |
| 782 | 775 | //添加题目ID、序号 |
| 783 | 776 | this.form.questionList.map((item, index) => { |
| 784 | 777 | item.questionId = index + 1; |
| ... | ... | @@ -792,7 +785,7 @@ export default { |
| 792 | 785 | const { data, status, info } = await this.$request.addPaper({ |
| 793 | 786 | ...this.form, |
| 794 | 787 | }); |
| 795 | - this.saceLoading = false; | |
| 788 | + this.saveLoading = false; | |
| 796 | 789 | if (status == 0) { |
| 797 | 790 | this.$router.push({ |
| 798 | 791 | path: "/examinationPaper", |
| ... | ... | @@ -805,17 +798,20 @@ export default { |
| 805 | 798 | //切换年级查询科目 |
| 806 | 799 | this._QuerySubjectList(this.form.gradeName); |
| 807 | 800 | }, |
| 808 | - async _CreatedTypeList() { | |
| 801 | + async _TypeList() { | |
| 809 | 802 | //测验类型查询 |
| 810 | - const { data, status, info } = await this.$request.fetchTypeNames( | |
| 811 | - {gradeName :grade} | |
| 812 | - ); | |
| 803 | + const { data, status, info } = await this.$request.fetchTypeNames({ | |
| 804 | + gradeName: this.form.gradeName, | |
| 805 | + type: 1, | |
| 806 | + }); | |
| 813 | 807 | if (status == 0) { |
| 814 | - this.answerTypeList = [...data.list] || []; | |
| 815 | - this.answerTypeList.unshift({ | |
| 816 | - typeName: "", | |
| 817 | - id: "", | |
| 818 | - }); | |
| 808 | + this.answerTypeList = | |
| 809 | + data.list.map((item) => { | |
| 810 | + return { | |
| 811 | + typeName: item.tag, | |
| 812 | + id: item.tagId, | |
| 813 | + }; | |
| 814 | + }) || []; | |
| 819 | 815 | if (this.type != 2) { |
| 820 | 816 | this.form.tagId = this.answerTypeList[0].id || ""; |
| 821 | 817 | } |
| ... | ... | @@ -831,26 +827,27 @@ export default { |
| 831 | 827 | if (this.type != 2) { |
| 832 | 828 | this.form.gradeName = this.gradeList[0]; |
| 833 | 829 | } |
| 834 | - this._QuerySubjectList(this.gradeList[0]); | |
| 835 | 830 | } else { |
| 836 | 831 | this.$message.error(info); |
| 837 | 832 | } |
| 838 | 833 | }, |
| 839 | 834 | async _QuerySubjectList(grade) { |
| 840 | 835 | //查询科目列表 |
| 841 | - const { data, status, info } = await this.$request.fetchSubjectList( | |
| 842 | - {gradeName :grade} | |
| 843 | - ); | |
| 836 | + const { data, status, info } = await this.$request.fetchSubjectList({ | |
| 837 | + gradeName: grade, | |
| 838 | + }); | |
| 844 | 839 | if (status === 0) { |
| 845 | - this.subjectList = data.list.map((item) => { | |
| 840 | + this.subjectList = data.subjectNames.map((item) => { | |
| 846 | 841 | return { |
| 847 | - value: item.subjectName, | |
| 848 | - label: item.subjectName, | |
| 842 | + value: item, | |
| 843 | + label: item, | |
| 849 | 844 | }; |
| 850 | 845 | }); |
| 846 | + console.log(this.subjectList); | |
| 851 | 847 | if (this.subjectList.length) { |
| 852 | 848 | this.form.subjectName = this.subjectList[0].value; |
| 853 | 849 | } |
| 850 | + console.log(this.form); | |
| 854 | 851 | } else { |
| 855 | 852 | this.$message.error(info); |
| 856 | 853 | } |
| ... | ... | @@ -861,10 +858,10 @@ export default { |
| 861 | 858 | paperId: this.$route.query.paperId, |
| 862 | 859 | }); |
| 863 | 860 | if (status == 0) { |
| 864 | - this.form.title = data.title; | |
| 861 | + this.form.title = data.title+'_副本'; | |
| 865 | 862 | this.form.tagId = data.tagId; |
| 866 | 863 | this.form.subjectName = data.subjectName; |
| 867 | - this.form.gradeName = data.grade; | |
| 864 | + this.form.gradeName = data.gradeName; | |
| 868 | 865 | this.form.examsDuration = data.examsDuration; |
| 869 | 866 | this.form.sharingType = data.sharingType; |
| 870 | 867 | this.form.questionList = data.questionList?.map((item) => { |
| ... | ... | @@ -874,8 +871,8 @@ export default { |
| 874 | 871 | questionType: items.questionType, |
| 875 | 872 | score: items.score, |
| 876 | 873 | partScore: items.partScore, |
| 877 | - selectNum: items.answerOptions.split(',').length, | |
| 878 | - answerOptions: items.answerOptions||"A,B,C,D", | |
| 874 | + selectNum: items.answerOptions.split(",").length, | |
| 875 | + answerOptions: items.answerOptions || "A,B,C,D", | |
| 879 | 876 | correctAnswer: items.correctAnswer, |
| 880 | 877 | }; |
| 881 | 878 | }) || []; | ... | ... |
src/views/examinationPaper/edit.vue
| ... | ... | @@ -204,8 +204,8 @@ export default { |
| 204 | 204 | async save() { |
| 205 | 205 | let questionList = this.form.questionList.map((item) => { |
| 206 | 206 | item.score = null; |
| 207 | - items.questionId = ""; | |
| 208 | - items.questionIndex = ""; | |
| 207 | + // item.questionId = ""; | |
| 208 | + // item.questionIndex = ""; | |
| 209 | 209 | return item; |
| 210 | 210 | }); |
| 211 | 211 | //更新答题卡 | ... | ... |
src/views/examinationPaper/index.vue
| ... | ... | @@ -87,7 +87,7 @@ |
| 87 | 87 | </div> |
| 88 | 88 | <div class="info"> |
| 89 | 89 | <p class="title"> |
| 90 | - {{ item.title }} <span class="label">{{ item.tag }}</span> | |
| 90 | + {{ item.title }} <span class="label" v-if="item.tag">{{ item.tag }}</span> | |
| 91 | 91 | </p> |
| 92 | 92 | <p class="num"> |
| 93 | 93 | 总题数:{{ item.questionNum }} |
| ... | ... | @@ -104,7 +104,7 @@ |
| 104 | 104 | indexs != item.classList.length-1? "、" : "" |
| 105 | 105 | }` |
| 106 | 106 | }} |
| 107 | - <i v-if="clazzChild.keepStatus == 1" class="el-icon-success"></i | |
| 107 | + <i v-if="clazzChild.keepStatus !== 1" class="el-icon-success"></i | |
| 108 | 108 | ></span> |
| 109 | 109 | </p> |
| 110 | 110 | <p class="person"> |
| ... | ... | @@ -134,7 +134,7 @@ |
| 134 | 134 | icon="el-icon-more" |
| 135 | 135 | ></el-button> |
| 136 | 136 | <el-dropdown-menu slot="dropdown"> |
| 137 | - <el-dropdown-item :command="1" v-if="userId == item.id" | |
| 137 | + <el-dropdown-item :command="1" v-if="userName == item.realName" | |
| 138 | 138 | >修改分享范围</el-dropdown-item |
| 139 | 139 | > |
| 140 | 140 | <el-dropdown-item :command="2">复制</el-dropdown-item> |
| ... | ... | @@ -147,9 +147,9 @@ |
| 147 | 147 | <el-dialog title="选择分享范围" :visible.sync="dialogVisible" width="400"> |
| 148 | 148 | <el-form :model="shareForm" :rules="shareRulesForm" label-width="160px"> |
| 149 | 149 | <el-form-item prop="share" label="分享范围:"> |
| 150 | - <el-radio-group v-model="shareForm.share"> | |
| 151 | - <el-radio :label="1">任课班级分享</el-radio> | |
| 152 | - <el-radio :label="2">全年级分享</el-radio> | |
| 150 | + <el-radio-group v-model="shareForm.sharingType"> | |
| 151 | + <el-radio :label="0">任课班级分享</el-radio> | |
| 152 | + <el-radio :label="1">全年级分享</el-radio> | |
| 153 | 153 | </el-radio-group> |
| 154 | 154 | </el-form-item> |
| 155 | 155 | </el-form> |
| ... | ... | @@ -166,7 +166,7 @@ export default { |
| 166 | 166 | name: "examinationPaper", |
| 167 | 167 | data() { |
| 168 | 168 | return { |
| 169 | - userId: "", | |
| 169 | + userName: "", | |
| 170 | 170 | dialogVisible: false, |
| 171 | 171 | query: { |
| 172 | 172 | classId: "", |
| ... | ... | @@ -181,17 +181,17 @@ export default { |
| 181 | 181 | tableData: [], |
| 182 | 182 | shareForm: { |
| 183 | 183 | id: "", |
| 184 | - share: 1, | |
| 184 | + sharingType: 1,//0-任课班级/1-全年级 | |
| 185 | 185 | }, |
| 186 | 186 | shareRulesForm: { |
| 187 | - share: [{ required: true, message: "选择分享范围", trigger: "blur" }], | |
| 187 | + sharingType: [{ required: true, message: "选择分享范围", trigger: "blur" }], | |
| 188 | 188 | }, |
| 189 | 189 | page: 1, |
| 190 | 190 | size: 20, |
| 191 | 191 | }; |
| 192 | 192 | }, |
| 193 | 193 | async created() { |
| 194 | - this.userId = this.$store.getters.info.uid || ""; | |
| 194 | + this.userName = this.$store.getters.info.name || ""; | |
| 195 | 195 | await this._QueryClassList(); |
| 196 | 196 | await this._QuerySubjectList(); |
| 197 | 197 | this._QueryData(); |
| ... | ... | @@ -220,7 +220,7 @@ export default { |
| 220 | 220 | case 1: |
| 221 | 221 | //修改分享范围 |
| 222 | 222 | that.shareForm.id = item.id; |
| 223 | - that.shareForm.share = item.share || 1; | |
| 223 | + that.shareForm.sharingType = item.sharingType || 1; | |
| 224 | 224 | that.dialogVisible = true; |
| 225 | 225 | break; |
| 226 | 226 | case 2: |
| ... | ... | @@ -236,14 +236,15 @@ export default { |
| 236 | 236 | async saveShare() { |
| 237 | 237 | //修改分享范围 |
| 238 | 238 | const { data, status, info } = await this.$request.modifyPaper({ |
| 239 | - paperId: that.shareForm.id, | |
| 240 | - sharingType: that.shareForm.share, | |
| 239 | + paperId: this.shareForm.id, | |
| 240 | + sharingType: this.shareForm.sharingType, | |
| 241 | 241 | }); |
| 242 | 242 | this.loading = false; |
| 243 | 243 | if (status === 0) { |
| 244 | 244 | this.shareForm.id = ""; |
| 245 | - this.shareForm.share = 1; | |
| 246 | - dialogVisible = false; | |
| 245 | + this.shareForm.sharingType = 1; | |
| 246 | + this.dialogVisible = false; | |
| 247 | + this.$message.success(info) | |
| 247 | 248 | } else { |
| 248 | 249 | this.$message.error(info); |
| 249 | 250 | } |
| ... | ... | @@ -271,6 +272,7 @@ export default { |
| 271 | 272 | async _QueryTypeList() { |
| 272 | 273 | const { data, status, info } = await this.$request.fetchTypeNames({ |
| 273 | 274 | classId: this.query.classId, |
| 275 | + type:0 | |
| 274 | 276 | }); |
| 275 | 277 | if (status === 0) { |
| 276 | 278 | this.typeList = |
| ... | ... | @@ -355,6 +357,7 @@ export default { |
| 355 | 357 | }); |
| 356 | 358 | this.loading = false; |
| 357 | 359 | if (status === 0) { |
| 360 | + this.archivedTotal = data.archivedTotal | |
| 358 | 361 | this.total = data.total; |
| 359 | 362 | this.tableData = (data.list && [...data.list]) || []; |
| 360 | 363 | } else { |
| ... | ... | @@ -443,7 +446,11 @@ export default { |
| 443 | 446 | color: #667ffd; |
| 444 | 447 | font-weight: 500; |
| 445 | 448 | position: relative; |
| 446 | - margin-right: 8px; | |
| 449 | + position: relative; | |
| 450 | + &.active:after{ | |
| 451 | + content: "\e79c"; | |
| 452 | + color: #667ffd; | |
| 453 | + } | |
| 447 | 454 | .el-icon-success { |
| 448 | 455 | position: absolute; |
| 449 | 456 | right: 0; | ... | ... |
src/views/examinationPaper/recycle.vue
| ... | ... | @@ -86,7 +86,7 @@ |
| 86 | 86 | </div> |
| 87 | 87 | <div class="info"> |
| 88 | 88 | <p class="title"> |
| 89 | - {{ item.title }} <span class="label">{{ item.tag }}</span> | |
| 89 | + {{ item.title }} <span class="label" v-if="item.tag">{{ item.tag }}</span> | |
| 90 | 90 | </p> |
| 91 | 91 | <p class="num"> |
| 92 | 92 | {{ item.gradeName }} |
| ... | ... | @@ -124,7 +124,7 @@ |
| 124 | 124 | </div> |
| 125 | 125 | </li> |
| 126 | 126 | </ul> |
| 127 | - <el-empty :image-size="100" v-if="tableData&&!tableData.legnth&&loading==false" description="没有更多数据"></el-empty> | |
| 127 | + <el-empty :image-size="100" v-if="!tableData.length&&loading==false" description="没有更多数据"></el-empty> | |
| 128 | 128 | </div> |
| 129 | 129 | </template> |
| 130 | 130 | |
| ... | ... | @@ -283,6 +283,7 @@ export default { |
| 283 | 283 | async _QueryTypeList() { |
| 284 | 284 | const { data, status, info } = await this.$request.fetchTypeNames({ |
| 285 | 285 | classId: this.query.classId, |
| 286 | + tyle:0 | |
| 286 | 287 | }); |
| 287 | 288 | if (status === 0) { |
| 288 | 289 | this.typeList = | ... | ... |