diff --git a/src/renderer/src/components/choose-textbook/index.vue b/src/renderer/src/components/choose-textbook/index.vue index 9c02172..3c2f6a5 100644 --- a/src/renderer/src/components/choose-textbook/index.vue +++ b/src/renderer/src/components/choose-textbook/index.vue @@ -46,7 +46,7 @@ import { onMounted, ref, nextTick, toRaw, reactive } from 'vue'; import useUserStore from '@/store/modules/user' import { listEvaluation } from '@/api/subject' -const BaseUrl = 'https://prev.ysaix.com:7868/' +const BaseUrl = import.meta.env.VITE_APP_BUILD_BASE_PATH // 定义要发送的emit事件 const emit = defineEmits(['nodeClick', 'changeBook']) // store diff --git a/src/renderer/src/hooks/useGetHomework.js b/src/renderer/src/hooks/useGetHomework.js index c881f94..ebdabf3 100644 --- a/src/renderer/src/hooks/useGetHomework.js +++ b/src/renderer/src/hooks/useGetHomework.js @@ -11,6 +11,7 @@ let chapterId = null export const useGetHomework = async (node) => { /** * node + * 左侧选择章节的节点数据 */ if (!node) return curNode = node @@ -26,7 +27,10 @@ export const useGetHomework = async (node) => { chapterId = rows[0].id } - return await getHomeWorkList() + return new Promise(async (resolve) =>{ + const res = await getHomeWorkList() + resolve({res,chapterId}) + }) } diff --git a/src/renderer/src/views/prepare/index.vue b/src/renderer/src/views/prepare/index.vue index 83f03fc..8b3c7d0 100644 --- a/src/renderer/src/views/prepare/index.vue +++ b/src/renderer/src/views/prepare/index.vue @@ -139,7 +139,6 @@ import { useToolState } from '@/store/modules/tool' import MoveFile from '@/components/move-file/index.vue' import FileListItem from '@/views/prepare/container/file-list-item.vue' import { getSmarttalkPage, moveSmarttalk } from '@/api/file' -import { homeworklist, listEntpcourse } from '@/api/teaching/classwork' import { toTimeText } from '@/utils/date' import { ElMessage } from 'element-plus' import { parseCataByNode, creatPPT, asyncLocalFile } from '@/utils/talkFile' @@ -148,8 +147,9 @@ import SetHomework from './container/set-homework.vue' import outLink from '@/utils/linkConfig' import { createWindow } from '@/utils/tool' import { cloneDeep } from 'lodash' -import { delClasswork, addEntpcourse } from '@/api/teaching/classwork' +import { delClasswork } from '@/api/teaching/classwork' import { getSelfReserv, startClass } from '@/api/classManage' +import { useGetHomework } from '@/hooks/useGetHomework' const toolStore = useToolState() const fs = require('fs') const { ipcRenderer } = window.electron || {} @@ -429,44 +429,11 @@ export default { this.initHomeWork() await this.asyncAllFile() }, + // 获取作业 async initHomeWork() { - - if (this.uploadData.levelSecondId) { - // 获取作业列表所需ID 可能存在没有 - let { rows } = await this.getChapterId() - if (rows.length > 0) { - this.entpcourseid = rows[0].id - } else { - await this.createEntpcourse() - let { rows } = await this.getChapterId() - this.entpcourseid = rows[0].id - } - - // 查询作业 - this.getHomeWorkList() - } - }, - // 创建新的entpcourse - createEntpcourse() { - // 参照 web AIx 传入参数 - var cform = {} - cform.entpid = this.userStore.deptId - cform.level = 1 - cform.parentid = 0 - cform.dictid = 0 - cform.evalid = this.currentNode.id - cform.evalparentid = 0 - cform.edusubject = this.currentNode.edusubject - cform.edudegree = this.currentNode.edudegree - cform.edustage = this.currentNode.edustage - cform.coursetype = '课标学科' - cform.coursetitle = this.currentNode.itemtitle - cform.coursedesc = '' - cform.status = '' - cform.dflag = 0 - cform.edituserid = this.userStore.userId - cform.createblankfile = 'yes' - return addEntpcourse(cform) + const { res, chapterId } = await useGetHomework(this.currentNode) + this.entpcourseid = chapterId + this.currentWorkList = cloneDeep(res) }, openReserv() { this.$refs['reservDialog'].openDialog() @@ -496,79 +463,6 @@ export default { cookieData: { ...configObj.data } }) }, - // 根据教材章节单元ID 查询作业列表所需ID - getChapterId() { - return listEntpcourse({ - evalid: this.uploadData.levelSecondId, - edituserid: this.userStore.userId, - pageSize: 500 - }) - }, - - // 查询作业列表 - getHomeWorkList() { - homeworklist({ - entpcourseid: this.entpcourseid, - edituserid: this.userStore.userId, - pageSize: 100 - }).then((res) => { - //以下代码 参照AIx web端 作业布置 - let list = [] - for (var i = 0; i < res.rows.length; i++) { - res.rows[i].taskconfig = [] - - // 找child - for (var j = 0; j < res.rows.length; j++) { - if (res.rows[j].parentid == res.rows[i].id) { - var ss = [] - if (res.rows[j].classworkdatastudentids != null) { - ss = JSON.parse('[' + res.rows[j].classworkdatastudentids + ']') - } - var js = { - id: res.rows[j].id, - classid: res.rows[j].classid, - classcaption: res.rows[j].classcaption, - parentid: 0, - worktype: '', - workkey: res.rows[j].workkey, - worktag: '', - entpcourseid: 0, - evalid: 0, - edusubject: '', - edudegree: '', - workdate: '', - title: '', - workcodes: '', - studentlist: ss, - deaddate: res.rows[j].deaddate, - timelength: res.rows[j].timelength, - weights: res.rows[j].weights, - feedtype: res.rows[j].feedtype - } - res.rows[i].taskconfig.push(js) - } - } - res.rows[i].fileShowName = res.rows[i].uniquekey - - // 注意slideid>0的,这一些作业是添加到PPT页面的,所以在作业管理中不能出现 - // 2024-05-15,酉阳,jackyshen - if (res.rows[i].classid == 0 && res.rows[i].slideid == 0) { - list.push(res.rows[i]) - } - - // 如果是习题训练任务,则检查一共有多少道 - if (res.rows[i].entpcourseworklist != '') { - res.rows[i].entpcourseworklistarray = JSON.parse( - '[' + res.rows[i].entpcourseworklist + ']' - ) - } else { - res.rows[i].entpcourseworklistarray = [] - } - } - // 深度克隆 - this.currentWorkList = cloneDeep(list) - }) - }, getWeekday1(date) { const weekdays = ['周日', '周一', '周二', '周三', '周四', '周五', '周六'] const weekday = new Date(date).getDay() @@ -587,7 +481,7 @@ export default { ElMessage.success('操作成功') this.isLoading = false await this.asyncAllFile() - this.getHomeWorkList() + this.initHomeWork() }) .catch(() => { this.isLoading = false diff --git a/src/renderer/src/views/tool/components/homework.vue b/src/renderer/src/views/tool/components/homework.vue index ce13160..1ecbcf8 100644 --- a/src/renderer/src/views/tool/components/homework.vue +++ b/src/renderer/src/views/tool/components/homework.vue @@ -73,7 +73,6 @@ import { ref, onMounted, toRaw } from 'vue'; import { useRoute } from 'vue-router'; import useUserStore from '@/store/modules/user' -import { homeworklist } from '@/api/teaching/classwork' import { getSmarttalkPage, getPrepareById } from '@/api/file' import SetHomework from '@/views/prepare/container/set-homework.vue' import FileImage from '@/components/file-image/index.vue' @@ -118,7 +117,7 @@ const closeHomework = () => { const changeChapter = async (data)=>{ - const res = await useGetHomework(data) + const { res } = await useGetHomework(data) dataList.value = res let cata = parseCataByNode(data) @@ -145,7 +144,7 @@ const openFileLink = (item) =>{ // 获取资源数据 const getResource = () => { let querySearch = toRaw(toolStore.curSubjectNode).querySearch - + querySearch.orderByColumn = 'uploadTime' querySearch.isAsc = 'desc' querySearch.pageSize = 500 @@ -156,71 +155,13 @@ const getResource = () => { } -// 获取作业数据 -const getHomework = () => { +//获取作业数据 +const getHomework = async () => { + const data = toRaw(toolStore.curSubjectNode).data.node loading.value = true try { - homeworklist({ - entpcourseid: entpcourseid.value, - edituserid: usertore.userId, - pageSize: 100 - }).then(res => { - //以下代码 参照AIx web端 作业布置 - let list = [] - for (var i = 0; i < res.rows.length; i++) { - res.rows[i].taskconfig = [] - - // 找child - for (var j = 0; j < res.rows.length; j++) { - if (res.rows[j].parentid == res.rows[i].id) { - var ss = [] - if (res.rows[j].classworkdatastudentids != null) { - ss = JSON.parse('[' + res.rows[j].classworkdatastudentids + ']') - } - var js = { - id: res.rows[j].id, - classid: res.rows[j].classid, - classcaption: res.rows[j].classcaption, - parentid: 0, - worktype: '', - workkey: res.rows[j].workkey, - worktag: '', - entpcourseid: 0, - evalid: 0, - edusubject: '', - edudegree: '', - workdate: '', - title: '', - workcodes: '', - studentlist: ss, - deaddate: res.rows[j].deaddate, - timelength: res.rows[j].timelength, - weights: res.rows[j].weights, - feedtype: res.rows[j].feedtype - } - res.rows[i].taskconfig.push(js) - } - } - res.rows[i].fileShowName = res.rows[i].uniquekey - - // 注意slideid>0的,这一些作业是添加到PPT页面的,所以在作业管理中不能出现 - // 2024-05-15,酉阳,jackyshen - if (res.rows[i].classid == 0 && res.rows[i].slideid == 0) { - list.push(res.rows[i]) - } - - // 如果是习题训练任务,则检查一共有多少道 - if (res.rows[i].entpcourseworklist != '') { - res.rows[i].entpcourseworklistarray = JSON.parse( - '[' + res.rows[i].entpcourseworklist + ']' - ) - } else { - res.rows[i].entpcourseworklistarray = [] - } - } - - dataList.value = list - }) + const { res } = await useGetHomework(data) + dataList.value = res } finally { loading.value = false } @@ -245,10 +186,10 @@ function leave(el, done) { onMounted(() => { entpcourseid.value = route.query.entpcourseid lesson.value = route.query.label - getHomework() setTimeout(()=>{ + getHomework() getResource() - },1000) + },200) })