From ee6e762832d1ccd2a0812e97fbbfa9b157e2495f Mon Sep 17 00:00:00 2001
From: 梁保满
Date: Fri, 9 Dec 2022 17:56:13 +0800
Subject: [PATCH] 备题组卷借口数据对接调整
---
src/api/apis/answerSheet.js | 38 +++++++++++++++++++-------------------
src/api/apis/ask.js | 10 +++++++++-
src/api/apis/login.js | 16 +++++++++++++++-
src/api/axios.js | 21 ++++++++++++---------
src/api/urls/answerSheet.js | 26 +++++++++++++-------------
src/api/urls/ask.js | 4 +++-
src/api/urls/login.js | 3 ++-
src/components/userForm/editPassword.vue | 130 ----------------------------------------------------------------------------------------------------------------------------------
src/router/permission.js | 44 --------------------------------------------
src/store/index.js | 4 ++--
src/views/ask/analysis.vue | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------
src/views/ask/index.vue | 2 +-
src/views/examinationPaper/add.vue | 160 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------------------------------
src/views/examinationPaper/edit.vue | 38 +++++++++++++++++++++++++++++---------
src/views/examinationPaper/index.vue | 230 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------------------------------------------------------------------------------------------
src/views/examinationPaper/recycle.vue | 187 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------------------------------------------------------------------------
src/views/index/mainIndex.vue | 10 +++++-----
src/views/layout/header/header.vue | 37 +++++++++++++++++++++++--------------
src/views/login/index.vue | 20 +++++++++-----------
vue.config.js | 14 +++++++-------
20 files changed, 625 insertions(+), 540 deletions(-)
delete mode 100644 src/components/userForm/editPassword.vue
diff --git a/src/api/apis/answerSheet.js b/src/api/apis/answerSheet.js
index d25ecd6..9208541 100644
--- a/src/api/apis/answerSheet.js
+++ b/src/api/apis/answerSheet.js
@@ -4,9 +4,17 @@ import answerSheet from "../urls/answerSheet"
export default {
// 答题卡列表
- fetchAnswerList(data) {
+ fetchPaperList(data) {
return service({
- url: answerSheet.answerList,
+ url: answerSheet.paperList,
+ method: 'POST',
+ data
+ })
+ },
+ // 答题卡详情
+ fetchPaperDetail(data) {
+ return service({
+ url: answerSheet.paperDetail,
method: 'POST',
data
})
@@ -44,41 +52,33 @@ export default {
})
},
// 添加测验类型
- addAnswerTypeName(data) {
+ addPaperType(data) {
return service({
- url: answerSheet.addAnswerTypeName,
+ url: answerSheet.addPaperType,
method: 'POST',
data
})
},
// 保存答题卡
- saveAnswerSheet(data) {
+ addPaper(data) {
return service({
- url: answerSheet.saveAnswerSheet,
+ url: answerSheet.addPaper,
method: 'POST',
data
})
},
// 删除答题卡
- removeAnswerSheet(data) {
- return service({
- url: answerSheet.removeAnswerSheet,
- method: 'POST',
- data
- })
- },
- // 恢复答题卡
- useAnswerSheet(data) {
+ delPaper(data) {
return service({
- url: answerSheet.useAnswerSheet,
+ url: answerSheet.delPaper,
method: 'POST',
data
})
},
- // 恢复答题卡
- updateAnswerSheet(data) {
+ // 修改答题卡
+ modifyPaper(data) {
return service({
- url: answerSheet.updateAnswerSheet,
+ url: answerSheet.modifyPaper,
method: 'POST',
data
})
diff --git a/src/api/apis/ask.js b/src/api/apis/ask.js
index 445bfd1..345d578 100644
--- a/src/api/apis/ask.js
+++ b/src/api/apis/ask.js
@@ -3,7 +3,7 @@ import service from "../axios"
import askUrls from "../urls/login"
export default {
- // 账号密码登陆
+ // 随堂问列表
fetchQuizList(data) {
return service({
url: askUrls.quizList,
@@ -11,4 +11,12 @@ export default {
data
})
},
+ // 随堂问详情
+ quizDetail(data) {
+ return service({
+ url: askUrls.quizDetail,
+ method: 'POST',
+ data
+ })
+ },
}
diff --git a/src/api/apis/login.js b/src/api/apis/login.js
index 32add82..c806b1c 100644
--- a/src/api/apis/login.js
+++ b/src/api/apis/login.js
@@ -4,11 +4,25 @@ import loginUrls from "../urls/login"
export default {
// 账号密码登陆
- fetchLogin(data) {
+ login(data) {
return service({
url: loginUrls.login,
method: 'POST',
data
})
},
+ ssoLogin(data) {
+ return service({
+ url: loginUrls.ssoLogin,
+ method: 'POST',
+ data
+ })
+ },
+ logout(data) {
+ return service({
+ url: loginUrls.logout,
+ method: 'POST',
+ data
+ })
+ },
}
diff --git a/src/api/axios.js b/src/api/axios.js
index 5b714b9..03f3de2 100644
--- a/src/api/axios.js
+++ b/src/api/axios.js
@@ -37,7 +37,7 @@ service.interceptors.response.use(
store.commit('delTokenSources', response.config.cancelToken)
}
if (response.status == 200) {
- Cookies.set("access_token", response.data.message, { expires: 1 / 12 })
+ // Cookies.set("access_token", response.data.message, { expires: 1 / 12 })
// console.log(response.status)
if (res.code == 999) {
if (!location.href.includes('localhost')) {
@@ -56,7 +56,7 @@ service.interceptors.response.use(
}
return
} else {
- Cookies.set("access_token", response.data.message, { expires: 1 / 12 })
+ // Cookies.set("access_token", response.data.message, { expires: 1 / 12 })
}
}
return Promise.resolve(response)
@@ -72,20 +72,23 @@ service.interceptors.response.use(
}
Message.closeAll()
const {
+ data,
status
} = error.response
if (status === 403 || status === 401) {
Message({
- message: "未登录或登录超时,即将跳转到登录页面",
+ message: data.info||"未登录或登录超时,即将跳转到登录页面",
type: 'error',
duration: 3 * 1000
})
- router.push({
- path: '/login',
- query: {
- url: window.location.href
- }
- })
+ if (!window.location.href.includes('login')) {
+ router.push({
+ path: '/login',
+ query: {
+ url: window.location.href
+ }
+ })
+ }
return
}
return Promise.reject(error.response) // 返回接口返回的错误信息
diff --git a/src/api/urls/answerSheet.js b/src/api/urls/answerSheet.js
index 62c18b2..6fd30a2 100644
--- a/src/api/urls/answerSheet.js
+++ b/src/api/urls/answerSheet.js
@@ -1,22 +1,22 @@
export default {
// 答题卡列表
- answerList: "/apis/answerList",
- // 测验类型
- typeNames: "/apis/typeNames",
+ paperList: "/api_html/teaching/paperList",
+ // 答题卡详情
+ paperList: "/api_html/teaching/paperDetail",
// 查找年级
- gradeList: "/apis/gradeList",
+ gradeList: "/api_html/teaching/gradeList",
+ // 测验类型
+ typeNames: "/api_html/teaching/tagList",
// 查找班级
- classList: "/apis/classList",
+ classList: "/api_html/teaching/classList",
// 查找科目
- subjectList: "/apis/subjectList",
- // 天假答题卡测验类型
- addAnswerTypeName: "/apis/addAnswerTypeName",
+ subjectList: "/api_html/teaching/subjectList",
+ // 添加答题卡测验类型
+ addPaperType: "/api_html/teaching/addPaperType",
// 保存答题卡
- saveAnswerSheet: "/apis/saveAnswerSheet",
+ addPaper: "/api_html/teaching/addPaper",
// 删除答题卡
- removeAnswerSheet: "/apis/removeAnswerSheet",
- // 恢复使用答题卡
- useAnswerSheet: "/apis/useAnswerSheet",
+ delPaper: "/api_html/teaching/delPaper",
// 更新答题卡
- updateAnswerSheet: "/apis/updateAnswerSheet",
+ modifyPaper: "/api_html/teaching/modifyPaper",
}
\ No newline at end of file
diff --git a/src/api/urls/ask.js b/src/api/urls/ask.js
index 2b54532..50ce0d2 100644
--- a/src/api/urls/ask.js
+++ b/src/api/urls/ask.js
@@ -1,5 +1,7 @@
export default {
- // 账号密码登陆
+ // 随堂问列表
quizList: "/web/quizList",
+ // 随堂问详情
+ quizDetail: "/web/quizDetail",
}
diff --git a/src/api/urls/login.js b/src/api/urls/login.js
index 27b3e13..5710a7c 100644
--- a/src/api/urls/login.js
+++ b/src/api/urls/login.js
@@ -2,5 +2,6 @@
export default {
// 账号密码登陆
login: "/web/login",
- ssoLogin: "/sso/login"
+ ssoLogin: "/sso/login",
+ logout: "/api_html/logout"
}
diff --git a/src/components/userForm/editPassword.vue b/src/components/userForm/editPassword.vue
deleted file mode 100644
index 33c6577..0000000
--- a/src/components/userForm/editPassword.vue
+++ /dev/null
@@ -1,130 +0,0 @@
-
-
-
-
修改密码
-
-
-
-
-
-
-
-
-
-
-
- 提交
- 重置
-
-
-
-
-
-
-
-
-
diff --git a/src/router/permission.js b/src/router/permission.js
index ffe662f..2d5feeb 100644
--- a/src/router/permission.js
+++ b/src/router/permission.js
@@ -92,47 +92,3 @@ router.onError((error) => {
const targetPath = router.history.pending.fullPath;
if (isChunkLoadFailed) { router.replace(targetPath); }
});
-
-
-
-// // 真实使用
-// import fetchUser from "@/api/apis/user"
-//
-// router.beforeEach((to, from, next) => {
-// if (store.getters.token && store.getters.token !== "undefined") {
-// // store.dispatch('setToken', store.getters.token)
-// if (to.path === "/login") {
-// next({path: "/"})
-// } else {
-// if (!store.getters.info) {
-// (async function getAddRouters () {
-// fetchUser.fetchGetUserInfo().then(async function (response) {
-// await store.dispatch("setInfo", response.data)
- // await store.dispatch("newRoutes", store.getters.info.authorityRouter)
-// await router.addRoutes(store.getters.addRouters)
-// next({path: "/index"})
-// }).catch(function (error) {
-// console.log(error)
-// })
-// }())
-// } else {
-// let is404 = to.matched.some(record => {
-// console.log(record)
-// if (record.meta.role) {
-// return store.getters.info.authorityRouter === -1
-// }
-// })
-// if (is404) {
-// next({path: "/404"})
-// return false
-// }
-// next()
-// }
-// }
-// } else {
-// if (to.path === "/login") {
-// next()
-// }
-// next({path: "/login"})
-// }
-// })
diff --git a/src/store/index.js b/src/store/index.js
index 3ec6c73..3a115b3 100644
--- a/src/store/index.js
+++ b/src/store/index.js
@@ -64,7 +64,7 @@ const store = new Vuex.Store({
let loginForm = {}
loginForm.username = params.username;
loginForm.password = encryptLoginPassword(params.password);
- request.fetchLogin({ ...loginForm }).then(res => {
+ request.login({ ...loginForm }).then(res => {
let response = res.data
if (response.status == 0) {
const userInfo = { ...response.data }
@@ -92,7 +92,7 @@ const store = new Vuex.Store({
})
},
permissions({ state, commit }, that) {
- // request.fetchLogin(that.loginForm).then(res => {
+ // request.login(that.loginForm).then(res => {
// if (res.status == 200) {
commit("setToken", "xxxx")
commit("setInfo", {
diff --git a/src/views/ask/analysis.vue b/src/views/ask/analysis.vue
index 83e3776..e2bf2e6 100644
--- a/src/views/ask/analysis.vue
+++ b/src/views/ask/analysis.vue
@@ -5,23 +5,161 @@
单课分析
-
-
答题表现
-
学生问答表现
-
学生互动表现
-
签到明细
+
+
+ 答题表现
+ 学生问答表现
+ 学生互动表现
+ 签到明细
+
+
+ - 科目:语文
+ - 课时:课时1
+ - 上课时间:2022-11-9 21:30
+ - 下课时间:2022-11-9 21:30
+ - 签到人数:45
+ - 题目总数:8
+ - 答题总数:8
+ - 课时时长:45分钟
+ - 总参与度::80%
+ - 班级总正确率:82%
+ - 已答总正确率:89%
+ - 反馈时长:15分钟
+
+
+ Q{{scoped.row.questionIndex}}
+
+
+
+ {{scoped.row.canyu}}%
+ {{scoped.row.banjidadui}}%
+ {{scoped.row.yida}}%
+
+
+
\ No newline at end of file
diff --git a/src/views/ask/index.vue b/src/views/ask/index.vue
index abc3f30..8b80103 100644
--- a/src/views/ask/index.vue
+++ b/src/views/ask/index.vue
@@ -774,7 +774,7 @@ export default {
}
},
async saveAnswer(){
- // const { data, code, message } = await this.$request.updateAnswerSheet({...this.form});
+ // const { data, code, message } = await this.$request.modifyPaper({...this.form});
// if (code == 0) {
this.dialogVisible = false
// } else {
diff --git a/src/views/examinationPaper/add.vue b/src/views/examinationPaper/add.vue
index ae24573..d420b68 100644
--- a/src/views/examinationPaper/add.vue
+++ b/src/views/examinationPaper/add.vue
@@ -37,7 +37,7 @@
>
-
+
-
-
+
+
-
-
+
+
任课班级分享
全年级分享
@@ -105,7 +105,7 @@
下一步
@@ -122,9 +122,7 @@
- 确 定
+ 确 定
取 消
@@ -218,7 +216,7 @@
{{ option }}
@@ -394,7 +392,7 @@
diff --git a/src/views/examinationPaper/edit.vue b/src/views/examinationPaper/edit.vue
index cf564d1..40a078b 100644
--- a/src/views/examinationPaper/edit.vue
+++ b/src/views/examinationPaper/edit.vue
@@ -104,6 +104,7 @@
export default {
data() {
return {
+ questionList:[],
form: {
//答题卡详情
title: "",
@@ -128,7 +129,7 @@ export default {
},
},
created() {
- this.form = this.$route.query.form && JSON.parse(this.$route.query.form);
+ this._QueryDetail()
},
methods: {
linkBack() {
@@ -199,17 +200,36 @@ export default {
sub.correctAnswer = arrs.sort().join("");
}
},
- save(){
- //删除答题卡
- // const { data, code, message } = await this.$request.updateAnswerSheet({...this.form});
- // if (code == 0) {
+ async save(){
+ let questionList = []
+ //更新答题卡
+ const { data, status, message } = await this.$request.modifyPaper({
+ paperId:this.form.id,
+ questionList:questionList
+ });
+ if (status == 0) {
this.$router.push({
path:"/examinationPaper"
})
- // } else {
- // this.$message.error(message);
- // }
- }
+ } else {
+ this.$message.error(message);
+ }
+ },
+ async _QueryDetail() {
+ //查询年级列表
+ const { data, status, message } = await this.$request.fetchPaperDetail({
+ paperId:this.$route.query.paperId
+ });
+ if (status == 0) {
+ this.form = deepClone(data)
+ this.questionList = deepClone(data.questionList)
+ this.form.questionList.map(item=>{
+ item.score = ""
+ })
+ } else {
+ this.$message.error(message);
+ }
+ },
},
};
diff --git a/src/views/examinationPaper/index.vue b/src/views/examinationPaper/index.vue
index 17184ce..1715c7c 100644
--- a/src/views/examinationPaper/index.vue
+++ b/src/views/examinationPaper/index.vue
@@ -19,23 +19,23 @@
- 另有25份已经归档的答题卡,
+ 另有{{ archivedTotal }}份已经归档的答题卡,
点击查看>>
@@ -87,29 +87,29 @@
- {{ item.title }} {{ item.typeName }}
+ {{ item.title }} {{ item.tag }}
- 总题数:{{ item.answerNum }}
+ 总题数:{{ item.questionNum }}
|
- 预计时长:{{ item.time }}
+ 预计时长:{{ item.examsDuration }}
|
授课端同步:
{{
- `${clazzChild}班${
+ `${clazzChild.className}班${
indexs != item.aboutClazz.length - 1 ? "、" : ""
}`
}}
-
- {{ item.teacher }}|{{ item.date }}
+ {{ item.realName }}|{{ item.modifiedTime }}
@@ -134,7 +134,9 @@
icon="el-icon-more"
>
- 修改分享范围
+ 修改分享范围
复制
归档
@@ -144,11 +146,6 @@
-
-
-
-
-
任课班级分享
@@ -169,62 +166,23 @@ export default {
name: "examinationPaper",
data() {
return {
- props: { multiple: true, checkStrictly: true },
- options: [
- {
- value: 1,
- label: "一年级",
- children: [
- {
- value: 2,
- label: "二班",
- },
- {
- value: 3,
- label: "三班",
- },
- ],
- },
- {
- value: 4,
- label: "二年级",
- children: [
- {
- value: 5,
- label: "二班",
- },
- {
- value: 6,
- label: "三班",
- },
- ],
- },
- ],
+ userId: "",
dialogVisible: false,
query: {
- gradeClass: [],
- subjectId: "0",
- typeName: "周测",
+ classId: "",
+ subjectName: "",
+ tagId: "",
title: "",
},
- classList: [
- {
- label: "2003班",
- value: "2003",
- },
- ],
- subjectList: [
- {
- label: "语文",
- value: "0",
- },
- ],
- typeList: ["周测"],
+ classList: [],
+ subjectList: [],
+ typeList: [],
+ archivedTotal: 0, //已归档答题卡数量
tableData: [
{
title: "数学样例试卷202211-324654",
id: "1062837",
- typeName: "周测",
+ tag: "周测",
answerNum: 45,
time: 90,
aboutClazz: [203, 204],
@@ -246,7 +204,7 @@ export default {
score: 1,
partScore: 0,
selectNum: 4,
- answerOptions: ["A", "B", "C", "D"],
+ answerOptions: "A,B,C,D",
correctAnswer: "B",
},
],
@@ -256,7 +214,7 @@ export default {
{
title: "数学样例试卷202211-4180949",
id: "1062838",
- typeName: "周测",
+ tag: "周测",
answerNum: 45,
time: 90,
aboutClazz: [203, 204],
@@ -288,14 +246,22 @@ export default {
],
shareForm: {
id: "",
- grade: "",
share: 1,
},
shareRulesForm: {
share: [{ required: true, message: "选择分享范围", trigger: "blur" }],
},
+ page: 1,
+ size: 20,
};
},
+ async created() {
+ this.userId = this.$store.getters.info.uid || "";
+ await this._QueryClassList();
+ await this._QuerySubjectList();
+ this._QueryData();
+ this._QueryTypeList();
+ },
methods: {
toAdd(query) {
let routerItem = {
@@ -308,7 +274,7 @@ export default {
this.$router.push({
path: "/examinationPaperEdit",
query: {
- form: JSON.stringify(item),
+ paperId: item.id,
},
});
},
@@ -319,13 +285,12 @@ export default {
case 1:
//修改分享范围
that.shareForm.id = item.id;
- that.shareForm.grade = item.grade;
that.shareForm.share = item.share || 1;
that.dialogVisible = true;
break;
case 2:
//复制
- that.toAdd({ type: 2, form: JSON.stringify(item) });
+ that.toAdd({ type: 2, paperId: item.id });
break;
case 3:
//归档
@@ -335,51 +300,61 @@ export default {
},
async saveShare() {
//修改分享范围
- // const { data, code, message } = await this.$request.fetchAnswerList({
- // ...this.shareForm,
- // });
- // this.loading = false;
- // if (code === 0) {
- this.shareForm.id = "";
- this.shareForm.grade = "";
- this.shareForm.share = 1;
- dialogVisible = false;
- // } else {
- // this.$message.error(message);
- // }
+ const { data, status, message } = await this.$request.modifyPaper({
+ paperId: that.shareForm.id,
+ sharingType: that.shareForm.share,
+ });
+ this.loading = false;
+ if (status === 0) {
+ this.shareForm.id = "";
+ this.shareForm.share = 1;
+ dialogVisible = false;
+ } else {
+ this.$message.error(message);
+ }
},
async recovery(item) {
//归档
- // const { data, code, message } = await this.$request.fetchAnswerList({
- // ...this.shareForm,
- // });
- // if (code === 0) {
- this.tableData = this.tableData.filter((items) => {
- return items.id != item.id;
+ const { data, status, message } = await this.$request.modifyPaper({
+ paperId: item.id,
+ status: 2,
});
- // } else {
- // this.$message.error(message);
- // }
+ if (status === 0) {
+ let type = this.query.title ? 1 : 0;
+ this.page = 1;
+ this._QueryData(type);
+ } else {
+ this.$message.error(message);
+ }
},
- async changeGrade() {
- //切换班级
+ //切换班级
+ async changClazz() {
await this._QuerySubjectList();
- this._QueryData();
+ this._QueryData(false);
},
- async changClazz() {},
// 查找答题卡类型
async _QueryTypeList() {
- const { data, code, message } = await this.$request.fetchTypeNames();
- if (code === 0) {
- this.typeList = [...data.typeNames] || [];
+ const { data, status, message } = await this.$request.fetchTypeNames();
+ if (status === 0) {
+ this.typeList =
+ data.subjectNames.map((item) => {
+ return {
+ value: item.tagId,
+ label: item.tag,
+ };
+ }) || [];
+ this.subjectNames.unshift({
+ value: "",
+ label: "--",
+ });
} else {
this.$message.error(message);
}
},
// 查找班级
async _QueryClassList() {
- const { data, code, message } = await this.$request.fetchClassList();
- if (code === 0) {
+ const { data, status, message } = await this.$request.fetchClassList();
+ if (status === 0) {
if (!!data.list) {
this.classList = data.list.map((item) => {
return {
@@ -395,14 +370,14 @@ export default {
},
// 查找科目
async _QuerySubjectList() {
- const { data, code, message } = await this.$request.fetchSubjectList({
+ const { data, status, message } = await this.$request.fetchSubjectList({
clazzId: this.query.clazzId,
});
- if (code === 0) {
- this.subjectList = data.list.map((item) => {
+ if (status === 0) {
+ this.subjectList = data.subjectNames.map((item) => {
return {
- value: item.subjectId,
- label: item.subjectName,
+ value: item,
+ label: item,
};
});
this.query.clazzId = this.subjectList[0]?.value;
@@ -418,8 +393,8 @@ export default {
query = { ...this.query };
} else {
query = { title: this.query.title };
- this.query.typeName = "";
- this.query.subjectId = "";
+ this.query.tagId = "";
+ this.query.subjectName = "";
}
query.clazzId = this.query.clazzId;
for (let key in query) {
@@ -434,11 +409,14 @@ export default {
return;
}
this.loading = true;
- const { data, code, message } = await this.$request.fetchAnswerList({
+ const { data, status, message } = await this.$request.fetchPaperList({
...query,
+ status: 1,
+ page: this.page,
+ size: this.size,
});
this.loading = false;
- if (code === 0) {
+ if (status === 0) {
this.total = data.total;
this.tableData = (data.list && [...data.list]) || [];
} else {
diff --git a/src/views/examinationPaper/recycle.vue b/src/views/examinationPaper/recycle.vue
index 39a994a..07f0953 100644
--- a/src/views/examinationPaper/recycle.vue
+++ b/src/views/examinationPaper/recycle.vue
@@ -7,7 +7,7 @@