From 70ba70df45b618913c4cbf903dbc6e124a5f9f69 Mon Sep 17 00:00:00 2001 From: ekooo <80906036@qq.com> Date: Tue, 17 Sep 2024 19:56:32 +0800 Subject: [PATCH 01/15] =?UTF-8?q?[=E4=BD=9C=E4=B8=9A=E8=AE=BE=E8=AE=A1]=20?= =?UTF-8?q?-=20=E5=A2=9E=E5=8A=A0=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/components/set-homework/index.vue | 3 +- src/renderer/src/router/index.js | 6 + .../src/views/classTaskAssign/index.vue | 242 ++++++++++++++++++ src/renderer/src/views/desktop/index.vue | 5 +- src/renderer/src/views/examReport/index.vue | 2 +- 5 files changed, 254 insertions(+), 4 deletions(-) create mode 100644 src/renderer/src/views/classTaskAssign/index.vue diff --git a/src/renderer/src/components/set-homework/index.vue b/src/renderer/src/components/set-homework/index.vue index 7518cf2..41be0bb 100644 --- a/src/renderer/src/components/set-homework/index.vue +++ b/src/renderer/src/components/set-homework/index.vue @@ -242,7 +242,8 @@ const onSubmit = (formEl) => { msgcontent: '', teachername: userInfo.nickName, unixstamp: new Date().getTime(), - worktype: props.row.worktype + worktype: props.row.worktype, + status: '1', //将推送的作业状态改为1 } ary.push(obj) } diff --git a/src/renderer/src/router/index.js b/src/renderer/src/router/index.js index 6bdcac9..5e0caa1 100644 --- a/src/renderer/src/router/index.js +++ b/src/renderer/src/router/index.js @@ -68,6 +68,12 @@ export const constantRoutes = [ name: 'class', meta: {title: '班级中心'}, }, + { + path: '/classTaskAssign', + component: () => import('@/views/classTaskAssign/index.vue'), + name: 'classTaskAssign', + meta: {title: '作业设计'}, + }, { path: '/classTask', component: () => import('@/views/classTask/classTask.vue'), diff --git a/src/renderer/src/views/classTaskAssign/index.vue b/src/renderer/src/views/classTaskAssign/index.vue new file mode 100644 index 0000000..4c28672 --- /dev/null +++ b/src/renderer/src/views/classTaskAssign/index.vue @@ -0,0 +1,242 @@ + + + + + + + \ No newline at end of file diff --git a/src/renderer/src/views/desktop/index.vue b/src/renderer/src/views/desktop/index.vue index 2d93622..91132bf 100644 --- a/src/renderer/src/views/desktop/index.vue +++ b/src/renderer/src/views/desktop/index.vue @@ -104,8 +104,9 @@ const menuList = [{ { name: '作业设计', icon: 'icon-jiaoxuefansi', - isOuter: true, - path: '/teaching/classtaskassign?titleName=作业布置&&openDialog=newClassTask' + path: '/classTaskAssign' + //isOuter: true, + //path: '/teaching/classtaskassign?titleName=作业布置&&openDialog=newClassTask' }, { name: '作业布置', diff --git a/src/renderer/src/views/examReport/index.vue b/src/renderer/src/views/examReport/index.vue index 8a67c39..8548fa9 100644 --- a/src/renderer/src/views/examReport/index.vue +++ b/src/renderer/src/views/examReport/index.vue @@ -260,7 +260,7 @@ onMounted(() => { diff --git a/src/renderer/src/views/desktop/index.vue b/src/renderer/src/views/desktop/index.vue index 2d93622..9f066b1 100644 --- a/src/renderer/src/views/desktop/index.vue +++ b/src/renderer/src/views/desktop/index.vue @@ -104,8 +104,9 @@ const menuList = [{ { name: '作业设计', icon: 'icon-jiaoxuefansi', - isOuter: true, - path: '/teaching/classtaskassign?titleName=作业布置&&openDialog=newClassTask' + //isOuter: true, + //path: '/teaching/classtaskassign?titleName=作业布置&&openDialog=newClassTask' + path: '/newClassTask' }, { name: '作业布置', From 2c6da76cf77367efa86fbb7ecc841b08166973bf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=99=BD=E4=BA=86=E4=B8=AA=E7=99=BD?= <543593352@qq.com> Date: Thu, 19 Sep 2024 10:52:33 +0800 Subject: [PATCH 03/15] =?UTF-8?q?=E4=BD=9C=E4=B8=9A=E8=AE=BE=E8=AE=A1?= =?UTF-8?q?=E8=B7=B3=E8=BD=ACweb=E7=AB=AF=E9=80=BB=E8=BE=91=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/renderer/src/hooks/useGetClassWork.js | 201 ++++++++ src/renderer/src/utils/date.js | 3 + .../container/newTask/taskTypeView.vue | 454 ++++++++++++++++++ .../src/views/classTask/newClassTask.vue | 177 +++---- src/renderer/src/views/desktop/index.vue | 28 +- 5 files changed, 757 insertions(+), 106 deletions(-) create mode 100644 src/renderer/src/hooks/useGetClassWork.js create mode 100644 src/renderer/src/views/classTask/container/newTask/taskTypeView.vue diff --git a/src/renderer/src/hooks/useGetClassWork.js b/src/renderer/src/hooks/useGetClassWork.js new file mode 100644 index 0000000..7aa313a --- /dev/null +++ b/src/renderer/src/hooks/useGetClassWork.js @@ -0,0 +1,201 @@ +import { nextTick, toRaw } from 'vue' +import useUserStore from '@/store/modules/user' +import { listEvaluation } from '@/api/subject' + +const userStore = useUserStore() +const { edustage, edusubject } = userStore.user + +let evaluationList = []; // 教材版本list +let subjectList = []; // 教材list +//当前教材ID +let curBookId = -1; + +/** + * 外部链接初始化获取 跳转web端的 unitId 专用, + * 暂时: 初始化作业设计专用,后期可能会取消 + */ +export const useGetClassWork = async () => { + + const params = { + edusubject, + edustage, + // entpcourseedituserid: userId, + itemgroup: 'textbook', + orderby: 'orderidx asc', + pageSize: 10000 + } + + if(localStorage.getItem('evaluationList')){ + evaluationList = JSON.parse(localStorage.getItem('evaluationList')) + }else{ + const { rows } = await listEvaluation(params) + localStorage.setItem('evaluationList', JSON.stringify(rows)) + evaluationList = rows + } + + //获取教材版本 + await getSubject() + //上册 + /** + * 不区分上下册 + * 2024/08/20调整 + */ + // volumeOne = data.filter(item => item.level == 1 && item.semester == '上册') + // volumeTwo = data.filter(item => item.level == 1 && item.semester == '下册') + getTreeData() +} + +//获取教材 +const getSubject = async () => { + if(localStorage.getItem('subjectList')){ + subjectList = JSON.parse(localStorage.getItem('subjectList')) + }else{ + const { rows } = await listEvaluation({ itemkey: "version", edusubject, edustage, pageSize: 10000,orderby: 'orderidx asc', }) + + // subjectList = rows.filter(item => item.edustage == edustage && item.edusubject == edusubject) + subjectList = rows + localStorage.setItem('subjectList', JSON.stringify(subjectList)) + } + + // 默认第一个 + if(!subjectList.length) return + // curBookName = subjectList[0].itemtitle + curBookId = subjectList[0].id + // curBookImg = BaseUrl + subjectList[0].avartar + // curBookPath = subjectList[0].fileurl +} + + +const getTreeData = () => { + //数据过滤 + let upData = transData(evaluationList) + + if(upData.length){ + // treeData = [...upData] + }else{ + // treeData = [] + return + } + nextTick(() => { + // defaultExpandedKeys = [treeData[0].id] + // let currentNodeObj = {...getLastLevelData(upData)[0]} + let currentNodeId = getLastLevelData(upData)[0].id + let currentNodeName = getLastLevelData(upData)[0].label + + let curNode = { + id: currentNodeId, + label: currentNodeName, + // itemtitle: currentNodeObj.itemtitle, + // edudegree: currentNodeObj.edudegree, + // edustage: currentNodeObj.edustage, + // edusubject: currentNodeObj.edusubject, + } + let parentNode = findParentByChildId(upData, currentNodeId) + curNode.parentNode = toRaw(parentNode) + + let levelFirstId = ''; + let levelSecondId = ''; + + if (curNode.parentNode) { + levelFirstId = curNode.parentNode.id + } else { + levelFirstId = curNode.id + levelSecondId = '' + } + // 头部 教材分析、作业设计:打开外部链接需要当前章节ID + localStorage.setItem('unitId', JSON.stringify({ levelFirstId, levelSecondId})) + + // const data = { + // textBook: { + // curBookId: curBookId, + // curBookName: curBookName, + // curBookImg: curBookImg, + // curBookPath: curBookPath + // }, + // node: curNode + // } + // emit('changeBook', data) + }) +} + +const getLastLevelData = (tree) => { + let lastLevelData = []; + // 递归函数遍历树形结构 + function traverseTree(nodes) { + nodes.forEach((node) => { + // 如果当前节点有子节点,继续遍历 + if (node.children && node.children.length > 0) { + traverseTree(node.children); + } else { + // 如果没有子节点,说明是最后一层的节点 + lastLevelData.push(node); + } + }); + } + + // 调用递归函数开始遍历 + traverseTree(tree); + + // 返回最后一层的数据 + return lastLevelData; +} + +// 根据id 拿到父节点数据 +const findParentByChildId = (treeData, targetNodeId) => { + // 递归查找函数 + // 遍历树中的每个节点 + for (let node of treeData) { + // 检查当前节点的子节点是否包含目标子节点 ID + if (node.children && node.children.some(child => child.id === targetNodeId)) { + // 如果当前节点的某个子节点的 ID 匹配目标子节点 ID,则当前节点即为父节点 + return node; + } + // 如果当前节点没有匹配的子节点,则递归检查当前节点的子节点 + if (node.children) { + let parentNode = findParentByChildId(node.children, targetNodeId); + if (parentNode) { + return parentNode; + } + } + } + // 如果未找到匹配的父节点,则返回 null 或者适当的默认值 + return null; +} + + +const transData = (data) => { + let ary = [] + data.forEach(item => { + let obj = {} + // 根据当前教材ID 过滤出对应的单元、章节 + if (item.rootid == curBookId) { + if(item.level == 1){ + obj.label = item.itemtitle + obj.id = item.id + obj.itemtitle = item.itemtitle + obj.edudegree = item.edudegree + obj.edustage = item.edustage + obj.edusubject = item.edusubject + let ary2 = [] + evaluationList.forEach(el => { + let obj2 = {} + if (item.id == el.parentid) { + obj2 = { + label: el.itemtitle, + id: el.id, + itemtitle : el.itemtitle, + edudegree : el.edudegree, + edustage : el.edustage, + edusubject : el.edusubject, + } + ary2.push(obj2) + } + obj.children = ary2 + }) + ary.push(obj) + } + } + }) + return ary +} + diff --git a/src/renderer/src/utils/date.js b/src/renderer/src/utils/date.js index 2adf3d5..29b0f44 100644 --- a/src/renderer/src/utils/date.js +++ b/src/renderer/src/utils/date.js @@ -97,6 +97,9 @@ export const getCurrentTime = (format)=> { if(format == 'HH:mm'){ return `${hours}:${minutes}`; } + if(format == 'MMDD'){ + return `${month}${day}`; + } } /** * diff --git a/src/renderer/src/views/classTask/container/newTask/taskTypeView.vue b/src/renderer/src/views/classTask/container/newTask/taskTypeView.vue new file mode 100644 index 0000000..e0f3ac9 --- /dev/null +++ b/src/renderer/src/views/classTask/container/newTask/taskTypeView.vue @@ -0,0 +1,454 @@ + + + + + diff --git a/src/renderer/src/views/classTask/newClassTask.vue b/src/renderer/src/views/classTask/newClassTask.vue index 856f3b1..3bf6214 100644 --- a/src/renderer/src/views/classTask/newClassTask.vue +++ b/src/renderer/src/views/classTask/newClassTask.vue @@ -4,84 +4,53 @@ default-active="1" class="el-menu-vertical-demo" :collapse="isCollapse" - :style="{ width: isCollapse ? '64px' : '300px'}" - @open="handleOpen" - @close="handleClose" > - -
- - - - +
+
-
- - - - - - - 打开 - 折叠 - - - - - - +
+ + + +
+ + 作业范围 + +
+
+ +
- - - - - - - - - - - - - + + +
+
+
+ +
- - From db2be260a7fd0829c6790ff609ee13ac4904ab58 Mon Sep 17 00:00:00 2001 From: lyc Date: Thu, 19 Sep 2024 11:25:01 +0800 Subject: [PATCH 04/15] =?UTF-8?q?=E6=95=99=E6=9D=90edit?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/components/choose-textbook/index.vue | 59 +++++++++++++++---- 1 file changed, 49 insertions(+), 10 deletions(-) diff --git a/src/renderer/src/components/choose-textbook/index.vue b/src/renderer/src/components/choose-textbook/index.vue index 7f3c178..4e4d3df 100644 --- a/src/renderer/src/components/choose-textbook/index.vue +++ b/src/renderer/src/components/choose-textbook/index.vue @@ -6,7 +6,7 @@
- @@ -98,6 +101,7 @@ import { ElMessage, ElMessageBox } from 'element-plus' import { deleteSmarttalk, updateSmarttalk, getPrepareById } from '@/api/file' import useUserStore from '@/store/modules/user' import outLink from '@/utils/linkConfig' +import { sessionStore } from '@/utils/store' const { ipcRenderer } = window.electron || {} export default { @@ -115,6 +119,10 @@ export default { default: function () { return 0 } + }, + activeClassId: { // 当前上课id + type: String, + default: '' } }, emits: { 'on-start-class': null, 'on-delete': null, 'on-set': null, 'on-delhomework': null,'on-filearg': null }, diff --git a/src/renderer/src/views/prepare/index.vue b/src/renderer/src/views/prepare/index.vue index 859843b..ca2b197 100644 --- a/src/renderer/src/views/prepare/index.vue +++ b/src/renderer/src/views/prepare/index.vue @@ -20,6 +20,7 @@ :key="index" :item="item" :index="index" + :activeClassId="activeClass?.id" @on-delete="deleteTalk" @on-start-class="startClass" > @@ -192,7 +193,7 @@ import { getClassInfo, getSelfReserv } from '@/api/classManage' import { useGetHomework } from '@/hooks/useGetHomework' import { addEntpcoursefileReturnId } from '@/api/education/entpcoursefile' import ClassReserv from '@/views/classManage/classReserv.vue' -import classStart from '@/views/desktop/container/class-start.vue' // 预备上课 +import classStart from './container/class-start.vue' // 预备上课 const toolStore = useToolState() const fs = require('fs') @@ -246,7 +247,9 @@ export default { // 布置作业弹窗 setDialog: false, row: '', - isOpenHomework: false + isOpenHomework: false, + // 当前上课课程 + activeClass: null, } }, computed: { @@ -272,6 +275,9 @@ export default { }) this.lastAsyncAllTime = localStorage.getItem('lastAsyncAllTime') // this.initReserv() + + // zdg: 获取缓存中的当前课程 + this.activeClass = sessionStore.get('activeClass') || null }, mounted() { this.$watch( @@ -298,15 +304,20 @@ export default { // }, methods: { startClass(item) { - console.log(item) + // console.log(item, sessionStore) if(item.fileFlag === '课件') { + // 关闭状态,打开上课相关功能(已打开,忽略) + const id = sessionStore.has('activeClass.id') ? sessionStore.get('activeClass.id') : null + if (id && id == item.id) return ElMessage.warning('当前正在上课,请勿重复操作') this.openReserv() } if(item.fileFlag === 'apt') { - //TODO 打开apt - const { fileId: aptId } = item - this.$refs.calssRef.open(aptId) + //TODO 打开apt - fileId: aptId + this.$refs.calssRef.open(item.fileId) } + // 当前上课-store + sessionStore.set('activeClass', item) + this.activeClass = item }, initReserv(id) { getClassInfo(id).then((res) => { diff --git a/src/renderer/src/views/tool/sphere.vue b/src/renderer/src/views/tool/sphere.vue index a196e7f..09be0e0 100644 --- a/src/renderer/src/views/tool/sphere.vue +++ b/src/renderer/src/views/tool/sphere.vue @@ -10,7 +10,7 @@ - +
From 3ec25f07b4b7d88621ffee103040386e79382948 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=99=BD=E4=BA=86=E4=B8=AA=E7=99=BD?= <543593352@qq.com> Date: Thu, 19 Sep 2024 14:25:33 +0800 Subject: [PATCH 06/15] =?UTF-8?q?=E4=BD=9C=E4=B8=9A=E6=89=B9=E6=94=B9?= =?UTF-8?q?=EF=BC=9A=E6=8E=A5=E5=8F=A3=E4=BC=A0=E5=8F=82=E6=9C=AA=E4=BC=A0?= =?UTF-8?q?=E7=8A=B6=E6=80=81=E5=80=BCbug=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/renderer/src/views/classTask/classTask.vue | 1 + 1 file changed, 1 insertion(+) diff --git a/src/renderer/src/views/classTask/classTask.vue b/src/renderer/src/views/classTask/classTask.vue index 9769b8d..2c23d0a 100644 --- a/src/renderer/src/views/classTask/classTask.vue +++ b/src/renderer/src/views/classTask/classTask.vue @@ -141,6 +141,7 @@ const getClassWorkList = () => { edustage: userStore.edustage,// 学段 edusubject: userStore.edusubject,//学科 deaddate: tabActive.value === '进行中'? getTomorrow() : EndDate.value,// 进行中:明天,已结束:选择的日期 + status: '1', // 作业状态:1-已发布 orderby: 'concat(deaddate,uniquekey) DESC', pageSize: 100 }).then((response) => { From 5f06657b09cc71000556551840fc62aa842a66cc Mon Sep 17 00:00:00 2001 From: lyc Date: Thu, 19 Sep 2024 14:58:54 +0800 Subject: [PATCH 07/15] =?UTF-8?q?=E6=95=99=E5=AD=A6=E5=AE=9E=E8=B7=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/renderer/src/views/desktop/index.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/renderer/src/views/desktop/index.vue b/src/renderer/src/views/desktop/index.vue index 95679c4..ae33213 100644 --- a/src/renderer/src/views/desktop/index.vue +++ b/src/renderer/src/views/desktop/index.vue @@ -85,7 +85,7 @@ const menuList = [{ // path: '/prepare' // }, { - name: '教学实施', + name: '教学实践', icon: 'icon-jiaoxuefenxi', path: '/prepare' }, From 34c1c66b311ead8629a0221ffd2272816025e107 Mon Sep 17 00:00:00 2001 From: lyc Date: Thu, 19 Sep 2024 15:15:16 +0800 Subject: [PATCH 08/15] =?UTF-8?q?edit=20=E6=95=99=E6=9D=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/renderer/src/components/choose-textbook/index.vue | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/renderer/src/components/choose-textbook/index.vue b/src/renderer/src/components/choose-textbook/index.vue index 4e4d3df..5b5cf59 100644 --- a/src/renderer/src/components/choose-textbook/index.vue +++ b/src/renderer/src/components/choose-textbook/index.vue @@ -109,6 +109,8 @@ const getSubjectContent = async () => { evaluationList.value = JSON.parse(localStorage.getItem('evaluationList')) } else{ + localStorage.removeItem('defaultExpandedKeys') + localStorage.removeItem('currentNodeId') const { rows } = await listEvaluation(params) localStorage.setItem('evaluationList', JSON.stringify(rows)) evaluationList.value = rows From 0cbb513a6063ec677dc155c00f9f969aa6091c5b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=99=BD=E4=BA=86=E4=B8=AA=E7=99=BD?= <543593352@qq.com> Date: Thu, 19 Sep 2024 15:29:52 +0800 Subject: [PATCH 09/15] =?UTF-8?q?=E4=BD=9C=E4=B8=9A=E6=89=B9=E6=94=B9?= =?UTF-8?q?=EF=BC=9A=E5=B8=B8=E8=A7=84=E4=BD=9C=E4=B8=9Aui=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/views/classTask/container/item-dialog-score.vue | 8 ++++++++ src/renderer/src/views/desktop/index.vue | 4 +++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/src/renderer/src/views/classTask/container/item-dialog-score.vue b/src/renderer/src/views/classTask/container/item-dialog-score.vue index e180ecd..6ac467d 100644 --- a/src/renderer/src/views/classTask/container/item-dialog-score.vue +++ b/src/renderer/src/views/classTask/container/item-dialog-score.vue @@ -211,6 +211,11 @@
+
+ +

学生答复内容

+
{{stuItem.rightanswer}}
+

学生答题附件内容

@@ -247,6 +252,9 @@
+ + +
未提交附件内容
diff --git a/src/renderer/src/views/desktop/index.vue b/src/renderer/src/views/desktop/index.vue index 69913c6..68bb2fe 100644 --- a/src/renderer/src/views/desktop/index.vue +++ b/src/renderer/src/views/desktop/index.vue @@ -166,12 +166,14 @@ const clickMenu = ({isOuter, path, disabled}) =>{ if(isOuter){ let configObj = outLink().getBaseData() let fullPath = configObj.fullPath + path - if(path == '/teaching/classtaskassign?titleName=作业布置&openDialog=newClassTask'){ + if(path == '/teaching/classtaskassign?titleName=作业布置&openDialog=newClassTask' || path == '/teaching/classtaskassign?titleName=作业布置'){ // 头部 教材分析打开外部链接需要当前章节ID const { levelFirstId, levelSecondId } = JSON.parse(localStorage.getItem('unitId')) let unitId = levelSecondId ? levelSecondId : levelFirstId fullPath = fullPath + `&unitId=${unitId}` + + console.log(fullPath) } fullPath = fullPath.replaceAll('//', '/') // 通知主进程 From ce8b2e6ab0683875795f7a9dde4668588c0d0df3 Mon Sep 17 00:00:00 2001 From: lyc Date: Thu, 19 Sep 2024 15:55:19 +0800 Subject: [PATCH 10/15] =?UTF-8?q?=E8=B7=AF=E7=94=B1title?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/renderer/src/router/index.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/renderer/src/router/index.js b/src/renderer/src/router/index.js index 6bdcac9..16c3677 100644 --- a/src/renderer/src/router/index.js +++ b/src/renderer/src/router/index.js @@ -36,13 +36,13 @@ export const constantRoutes = [ path: '/resource', component: () => import('@/views/resource/index.vue'), name: 'resource', - meta: {title: '资源'} + meta: {title: '资源库'} }, { path: '/prepare', component: () => import('@/views/prepare/index.vue'), name: 'prepare', - meta: {title: '备课'} + meta: {title: '教学实践'} }, { path: '/teach', From 893be27671e75550f2e29da7931dcd306029a0eb Mon Sep 17 00:00:00 2001 From: lyc Date: Thu, 19 Sep 2024 16:02:42 +0800 Subject: [PATCH 11/15] =?UTF-8?q?=E5=88=87=E6=8D=A2=E5=AD=A6=E7=A7=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/renderer/src/layout/components/Header.vue | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/renderer/src/layout/components/Header.vue b/src/renderer/src/layout/components/Header.vue index 253fab4..e9b53c6 100644 --- a/src/renderer/src/layout/components/Header.vue +++ b/src/renderer/src/layout/components/Header.vue @@ -200,6 +200,8 @@ const changeSubject = async (command) =>{ await updateUserInfo(data) await userStore.login({username: phonenumber, password: plainpwd}) await userStore.getInfo() + localStorage.removeItem('subjectList') + localStorage.removeItem('evaluationList') router.go() } From 746cb150c45c3bea5970b10be71b2537bf4d876a Mon Sep 17 00:00:00 2001 From: yangws <1607839436@qq.com> Date: Thu, 19 Sep 2024 16:02:56 +0800 Subject: [PATCH 12/15] =?UTF-8?q?fix:=20=E8=A7=A3=E5=86=B3=E7=A9=BA?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E7=9A=84=E5=88=A4=E6=96=AD;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/renderer/src/components/choose-textbook/third.vue | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/renderer/src/components/choose-textbook/third.vue b/src/renderer/src/components/choose-textbook/third.vue index 554a6f5..ca8f65d 100644 --- a/src/renderer/src/components/choose-textbook/third.vue +++ b/src/renderer/src/components/choose-textbook/third.vue @@ -64,6 +64,8 @@ const getVertion = (data) => { childs: [] } }) + //判断是否存在该教材,有则展示第一项 + if(treeData.value.length === 0) return nextTick(() => { defaultExpandedKeys.value = [treeData.value[0].id] node.currentNode.data = treeData.value[0] From 02a25db5e2ecb858f242bb2f8577e9e27878dda6 Mon Sep 17 00:00:00 2001 From: zdg Date: Thu, 19 Sep 2024 16:35:36 +0800 Subject: [PATCH 13/15] =?UTF-8?q?=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/renderer/src/views/prepare/index.vue | 2 +- src/renderer/src/views/tool/directive/drag.js | 3 +++ src/renderer/src/views/tool/sphere.vue | 13 +++++++++---- 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/src/renderer/src/views/prepare/index.vue b/src/renderer/src/views/prepare/index.vue index ca2b197..9b7592e 100644 --- a/src/renderer/src/views/prepare/index.vue +++ b/src/renderer/src/views/prepare/index.vue @@ -308,7 +308,7 @@ export default { if(item.fileFlag === '课件') { // 关闭状态,打开上课相关功能(已打开,忽略) const id = sessionStore.has('activeClass.id') ? sessionStore.get('activeClass.id') : null - if (id && id == item.id) return ElMessage.warning('当前正在上课,请勿重复操作') + // if (id && id == item.id) return ElMessage.warning('当前正在上课,请勿重复操作') this.openReserv() } if(item.fileFlag === 'apt') { diff --git a/src/renderer/src/views/tool/directive/drag.js b/src/renderer/src/views/tool/directive/drag.js index 5565441..9751fde 100644 --- a/src/renderer/src/views/tool/directive/drag.js +++ b/src/renderer/src/views/tool/directive/drag.js @@ -57,6 +57,8 @@ class Drag { document.removeEventListener('mouseup', this.up); document.addEventListener('touchmove', this.move); document.addEventListener('touchend', this.up); + // 手动-触发事件 v-drag-start + this.el.dispatchEvent(new CustomEvent('v-drag-end', {detail:{drag: this}})) } // 业务逻辑 updatePosition(e) { @@ -108,6 +110,7 @@ export default { // const { style } = binding.value const drag = new Drag(el, binding) const dragStart = (e) => { + // console.log('start', e) drag.down(e) document.addEventListener('mousemove', drag.move); document.addEventListener('mouseup', drag.up); diff --git a/src/renderer/src/views/tool/sphere.vue b/src/renderer/src/views/tool/sphere.vue index 09be0e0..a2f69a9 100644 --- a/src/renderer/src/views/tool/sphere.vue +++ b/src/renderer/src/views/tool/sphere.vue @@ -13,9 +13,11 @@ -
+
+ @v-drag-start="dragtime = Date.now()" + @v-drag-end="mouseChange(1)"> @@ -106,7 +108,7 @@ const getClassInfo = async () => { const tabChange = (val) => { const bool = !toolStore.isPdfWin && !toolStore.showBoardAll if(bool) toolStore.showBoardAll = true - console.log('tabChange:', val, bool) + // console.log('tabChange:', val, bool) toolStore.model = val // 存储当前tab } // logo 点击-事件 折叠|展开 @@ -143,9 +145,12 @@ const mouseChange = (bool) => { const isPdf = !resBool && toolStore.isPdfWin if (isPdf) resBool = true } - // console.log('mouseChange:', bool, resBool) + console.log('mouseChange:', bool, resBool) setIgnore(resBool) } +const touchChange = (e) => { + console.log(e) +} // im-chat: 聊天事件 {type, data} const chatChange = (type, data, ...args) => { if (type == 'createGroup') { // 创建群-监听 From c5075af2fc26961c0e8a69ec88956369206a6486 Mon Sep 17 00:00:00 2001 From: zdg Date: Thu, 19 Sep 2024 16:37:07 +0800 Subject: [PATCH 14/15] =?UTF-8?q?=E5=B7=B2=E4=B8=8A=E8=AF=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/renderer/src/views/prepare/index.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/renderer/src/views/prepare/index.vue b/src/renderer/src/views/prepare/index.vue index 9b7592e..ca2b197 100644 --- a/src/renderer/src/views/prepare/index.vue +++ b/src/renderer/src/views/prepare/index.vue @@ -308,7 +308,7 @@ export default { if(item.fileFlag === '课件') { // 关闭状态,打开上课相关功能(已打开,忽略) const id = sessionStore.has('activeClass.id') ? sessionStore.get('activeClass.id') : null - // if (id && id == item.id) return ElMessage.warning('当前正在上课,请勿重复操作') + if (id && id == item.id) return ElMessage.warning('当前正在上课,请勿重复操作') this.openReserv() } if(item.fileFlag === 'apt') { From 9ea05568e118bb4f6f372316ac99752ffac2d1ff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=99=BD=E4=BA=86=E4=B8=AA=E7=99=BD?= <543593352@qq.com> Date: Thu, 19 Sep 2024 16:56:15 +0800 Subject: [PATCH 15/15] =?UTF-8?q?=E4=BD=9C=E4=B8=9A=E6=89=B9=E6=94=B9?= =?UTF-8?q?=EF=BC=9A=E5=90=8C=E6=AD=A5web=E7=AB=AF164=E9=80=BB=E8=BE=91?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../classTask/container/item-dialog-score.vue | 34 +++++++++---------- 1 file changed, 16 insertions(+), 18 deletions(-) diff --git a/src/renderer/src/views/classTask/container/item-dialog-score.vue b/src/renderer/src/views/classTask/container/item-dialog-score.vue index 6ac467d..df31dd6 100644 --- a/src/renderer/src/views/classTask/container/item-dialog-score.vue +++ b/src/renderer/src/views/classTask/container/item-dialog-score.vue @@ -8,15 +8,15 @@
-
-
+
+