From 17b8ce1ddaf27cd7ca7822c54e9079eba8a18233 Mon Sep 17 00:00:00 2001 From: lyc Date: Thu, 12 Sep 2024 15:42:43 +0800 Subject: [PATCH 01/17] =?UTF-8?q?=E5=B7=A5=E4=BD=9C=E5=8F=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/renderer/src/utils/date.js | 3 + .../views/desktop/container/work-trend.vue | 241 +++++++++++++----- 2 files changed, 183 insertions(+), 61 deletions(-) diff --git a/src/renderer/src/utils/date.js b/src/renderer/src/utils/date.js index 2a178ca..0723da4 100644 --- a/src/renderer/src/utils/date.js +++ b/src/renderer/src/utils/date.js @@ -88,6 +88,9 @@ export const getCurrentTime = (format)=> { const day = now.getDate().toString().padStart(2, '0'); const hours = now.getHours().toString().padStart(2, '0'); const minutes = now.getMinutes().toString().padStart(2, '0'); + if(format == 'YYYY-MM-DD HH:mm'){ + return `${year}-${month}-${day} ${hours}:${minutes}`; + } if(format == 'YYYY-MM-DD'){ return `${year}-${month}-${day}`; } diff --git a/src/renderer/src/views/desktop/container/work-trend.vue b/src/renderer/src/views/desktop/container/work-trend.vue index e4ca636..abca407 100644 --- a/src/renderer/src/views/desktop/container/work-trend.vue +++ b/src/renderer/src/views/desktop/container/work-trend.vue @@ -1,92 +1,211 @@ \ No newline at end of file From d171117f03df772822bb42e5fd10cc64ef4d6bdc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9Czouyf=E2=80=9D?= <80906036@qq.com> Date: Thu, 12 Sep 2024 15:58:12 +0800 Subject: [PATCH 02/17] tmp --- src/renderer/src/views/classTask/container/task-item.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/renderer/src/views/classTask/container/task-item.vue b/src/renderer/src/views/classTask/container/task-item.vue index ae63cc1..8eb564b 100644 --- a/src/renderer/src/views/classTask/container/task-item.vue +++ b/src/renderer/src/views/classTask/container/task-item.vue @@ -2,7 +2,7 @@
- {{ item.worktype }} + {{ item.worktype }}
From d4a6f74cfc15b62d81db1d073f5cff51b33886c1 Mon Sep 17 00:00:00 2001 From: lyc Date: Thu, 12 Sep 2024 16:03:21 +0800 Subject: [PATCH 03/17] =?UTF-8?q?=E9=A6=96=E9=A1=B5=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/views/desktop/container/work-trend.vue | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/renderer/src/views/desktop/container/work-trend.vue b/src/renderer/src/views/desktop/container/work-trend.vue index abca407..7e8a36b 100644 --- a/src/renderer/src/views/desktop/container/work-trend.vue +++ b/src/renderer/src/views/desktop/container/work-trend.vue @@ -4,8 +4,8 @@ 工作动态 - - + +
@@ -99,11 +99,9 @@ const tagType = (time) => { } // 切换 const changeTab = (val) =>{ - - console.log(type.value) switch(val){ case -1: - getClass() + // getClass() getHomework() break; case 1: @@ -117,7 +115,7 @@ const changeTab = (val) =>{ } onMounted(() => { - getClass() + // getClass() getHomework() }) From 1afaed082ac98e823079df458f1891ac24cff005 Mon Sep 17 00:00:00 2001 From: yangws <1607839436@qq.com> Date: Thu, 12 Sep 2024 16:52:47 +0800 Subject: [PATCH 04/17] =?UTF-8?q?fix:=20=E8=A7=A3=E5=86=B3=E8=B5=84?= =?UTF-8?q?=E6=BA=90=E5=BA=93=E6=8A=A5=E9=94=99=E7=9A=84=E9=97=AE=E9=A2=98?= =?UTF-8?q?;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 1 + src/renderer/src/plugins/shareStore.js | 6 ++++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 80f69fc..38a2e3a 100644 --- a/package.json +++ b/package.json @@ -29,6 +29,7 @@ "@vue-office/excel": "^1.7.11", "@vue-office/pdf": "^2.0.2", "@vueuse/core": "^10.11.0", + "circular-json": "^0.5.9", "cropperjs": "^1.6.2", "crypto-js": "^4.2.0", "echarts": "^5.5.1", diff --git a/src/renderer/src/plugins/shareStore.js b/src/renderer/src/plugins/shareStore.js index e291561..10aec30 100644 --- a/src/renderer/src/plugins/shareStore.js +++ b/src/renderer/src/plugins/shareStore.js @@ -4,6 +4,7 @@ const isNode = typeof require !== 'undefined' // 是否支持node函数 const { ipcRenderer } = isNode?require('electron'):{} // app使用 import { sessionStore } from '@/utils/store' +import CircularJSON from 'circular-json' // import { diff } from 'jsondiffpatch' // const Remote = isNode?require('@electron/remote'):{} // 远程模块 @@ -173,6 +174,7 @@ const findDifferences = (obj1, obj2) => { for (const key in o1) { if (o1.hasOwnProperty(key)) { const newPath = path ? `${path}.${key}` : key; + if(!o2) return if (o2.hasOwnProperty(key)) { const v1 = toJsonStr(o1[key]) const v2 = toJsonStr(o2[key]) @@ -202,6 +204,6 @@ const findDifferences = (obj1, obj2) => { return differences; } // 对象克隆 -const objClone = (obj) => JSON.parse(JSON.stringify(obj)) +const objClone = (obj) => JSON.parse(CircularJSON.stringify(obj)) // 转换为json -const toJsonStr = (obj) => JSON.stringify(obj) +const toJsonStr = (obj) => CircularJSON.stringify(obj) From a4fa5be29506169738556acd9a1cf170b7ba7e27 Mon Sep 17 00:00:00 2001 From: zhuhao <979263092@qq.com> Date: Fri, 13 Sep 2024 09:30:36 +0800 Subject: [PATCH 05/17] =?UTF-8?q?=E6=96=87=E4=BB=B6=E4=B8=8A=E4=BC=A0?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 2 +- src/main/file.js | 2 +- src/main/index.js | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index 80f69fc..2316d64 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "aix-win", - "version": "1.2.2", + "version": "1.2.3", "description": "An Electron application with Vue", "main": "./out/main/index.js", "author": "example.com", diff --git a/src/main/file.js b/src/main/file.js index ddabb2c..58ee5ec 100644 --- a/src/main/file.js +++ b/src/main/file.js @@ -224,7 +224,7 @@ export default async function ({ app, shell, BrowserWindow, ipcMain }) { formData.append(key, uploadData[key]) } } - formData.append('fileFlag', '教案') + formData.append('fileFlag', '课件') uploadFileByFS({ url: uploadUrl, path, diff --git a/src/main/index.js b/src/main/index.js index a4875ac..da943a1 100644 --- a/src/main/index.js +++ b/src/main/index.js @@ -142,9 +142,9 @@ async function createLinkWin(data) { .catch((error) => {}) data.fullPath = data.fullPath.replaceAll('//', '/') if (data.fullPath.indexOf('?') !== -1) { - data.fullPath += '&urlSource=smarttalk' + data.fullPath += '&urlSource=smarttalk&t' + Date.now() }else { - data.fullPath += '?urlSource=smarttalk' + data.fullPath += '?urlSource=smarttalk&t' + Date.now() } linkWin[data.key].loadURL(data.fullPath) From 1cc7007852a5083fef7d615fbe9e10b0368e591c 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: Fri, 13 Sep 2024 14:02:05 +0800 Subject: [PATCH 06/17] =?UTF-8?q?=E4=BD=9C=E4=B8=9A=E5=88=86=E7=A6=BB?= =?UTF-8?q?=E5=90=8E=20=E6=8E=A5=E5=8F=A3=E4=BC=A0=E5=8F=82=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/views/classTask/classTask.vue | 2 ++ .../src/views/classTask/container/item-dialog-score.vue | 3 +++ 2 files changed, 5 insertions(+) diff --git a/src/renderer/src/views/classTask/classTask.vue b/src/renderer/src/views/classTask/classTask.vue index d02ba7f..e83d9da 100644 --- a/src/renderer/src/views/classTask/classTask.vue +++ b/src/renderer/src/views/classTask/classTask.vue @@ -213,6 +213,7 @@ const getStudentClassWorkData = () => { edustage: userStore.edustage,// 学段 edusubject: userStore.edusubject,//学科 deaddate: tabActive.value === '进行中'? getTomorrow() : EndDate.value,// 进行中:明天,已结束:选择的日期 + status: '1', // 作业状态:1-已发布 orderby: "uniquekey DESC", pageSize: 1000 }).then((res) => { @@ -369,6 +370,7 @@ const getStudentVisible = async () => { edustage: userStore.edustage,// 学段 edusubject: userStore.edusubject,//学科 deaddate: tabActive.value === '进行中'? getTomorrow() : EndDate.value,// 进行中:明天,已结束:选择的日期 + status: '1', // 作业状态:1-已发布 orderby: 'uniquekey DESC', pageSize: 100 }) 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 31d0e34..bc12572 100644 --- a/src/renderer/src/views/classTask/container/item-dialog-score.vue +++ b/src/renderer/src/views/classTask/container/item-dialog-score.vue @@ -150,6 +150,7 @@ :min-scale="0.2" :preview-src-list="stuItem.imagefile" :initial-index="4" + fit="contain" />
@@ -233,6 +234,7 @@ .map((item) => item.url) " :initial-index="4" + fit="contain" /> @@ -276,6 +278,7 @@ .map((item) => item.url) " :initial-index="4" + fit="contain" /> From 490add5467d9a1fc467bee0f9423f96f49917414 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: Fri, 13 Sep 2024 16:27:09 +0800 Subject: [PATCH 07/17] =?UTF-8?q?=E5=B7=A5=E4=BD=9C=E5=8F=B0=E5=8F=B3?= =?UTF-8?q?=E4=BE=A7=E5=B7=A5=E4=BD=9C=E5=8A=A8=E6=80=81=E7=9A=84=E4=BD=9C?= =?UTF-8?q?=E4=B8=9A=EF=BC=8C=20=E6=96=B0=E5=A2=9E=E5=8F=AF=E7=82=B9?= =?UTF-8?q?=E5=87=BB=E5=B9=B6=E5=BC=B9=E6=A1=86=E6=89=B9=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../views/desktop/container/work-trend.vue | 30 ++++++++++++++++--- 1 file changed, 26 insertions(+), 4 deletions(-) diff --git a/src/renderer/src/views/desktop/container/work-trend.vue b/src/renderer/src/views/desktop/container/work-trend.vue index 7e8a36b..b9a77c6 100644 --- a/src/renderer/src/views/desktop/container/work-trend.vue +++ b/src/renderer/src/views/desktop/container/work-trend.vue @@ -34,7 +34,7 @@ \ No newline at end of file + diff --git a/src/renderer/src/layout/components/AppMain.vue b/src/renderer/src/layout/components/AppMain.vue index 5e4720d..d57eab4 100644 --- a/src/renderer/src/layout/components/AppMain.vue +++ b/src/renderer/src/layout/components/AppMain.vue @@ -9,7 +9,7 @@ --> -
+
diff --git a/src/renderer/src/views/prepare/container/kj-list-item.vue b/src/renderer/src/views/prepare/container/kj-list-item.vue new file mode 100644 index 0000000..05f068b --- /dev/null +++ b/src/renderer/src/views/prepare/container/kj-list-item.vue @@ -0,0 +1,323 @@ + + + + + diff --git a/src/renderer/src/views/prepare/container/reserv.vue b/src/renderer/src/views/prepare/container/reserv.vue index c76c36f..623a217 100644 --- a/src/renderer/src/views/prepare/container/reserv.vue +++ b/src/renderer/src/views/prepare/container/reserv.vue @@ -2,7 +2,7 @@ @@ -105,7 +105,7 @@ const userStore = useUserStore().user const centerDialogVisible = ref(false) const form = reactive({ name: '', - type: '常规课', + type: '互动课', day: '', time: [], resource: [], @@ -126,12 +126,6 @@ const ruleForm = reactive({ resource: [{ required: true, message: '请选择授课对象', trigger: 'change' }] }) const locationOptions = [ - { - label: '常规课', - value: '常规课', - disabled: false, - message: '现场公屏授课,学生无需长时间打开平板上。' - }, { label: '互动课', value: '互动课', @@ -288,13 +282,13 @@ const addClassReserv = (formData) => { ex2: props.currentNode.id } addSmartClassReserv(param).then((res) => { - if (res.data === true) { + if (res.msg) { closeDialog() ElMessage({ type: 'success', message: '预约成功!' }) - emit('addSuccess') + emit('addSuccess',res.msg) } else { ElMessage({ type: 'error', diff --git a/src/renderer/src/views/prepare/index.vue b/src/renderer/src/views/prepare/index.vue index b00a3ce..14f3a1a 100644 --- a/src/renderer/src/views/prepare/index.vue +++ b/src/renderer/src/views/prepare/index.vue @@ -1,8 +1,38 @@ - - -
-
- 作业反馈 - 布置作业 - 上传资料 - - - 新建课件 - - - -
+
+ + + + + + + +
+
+   + 作业反馈 + 布置作业 +
+
+
+ + +
+
+ - - - - - - - - - @@ -149,6 +175,7 @@ import useUserStore from '@/store/modules/user' 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 KjListItem from '@/views/prepare/container/kj-list-item.vue' import { getSmarttalkPage, moveSmarttalk, creatAPT } from '@/api/file' import { toTimeText } from '@/utils/date' import { ElMessage } from 'element-plus' @@ -159,10 +186,10 @@ import outLink from '@/utils/linkConfig' import { createWindow, sessionStore } from '@/utils/tool' import { cloneDeep } from 'lodash' import { delClasswork, listEntpcourse } from '@/api/teaching/classwork' -import { getSelfReserv } from '@/api/classManage' +import { getClassInfo, getSelfReserv } from '@/api/classManage' import { useGetHomework } from '@/hooks/useGetHomework' import { addEntpcoursefileReturnId } from '@/api/education/entpcoursefile' - +import ClassReserv from '@/views/classManage/classReserv.vue' const toolStore = useToolState() const fs = require('fs') @@ -175,9 +202,11 @@ export default { Refresh, uploadDialog, FileListItem, + KjListItem, FileOperBatch, MoveFile, - SetHomework + SetHomework, + ClassReserv }, data() { return { @@ -196,6 +225,8 @@ export default { curClassReserv: {}, downloadNum: 0, lastAsyncAllTime: '', + activeTab: "素材", + activeAptTab: "教学课件", uploadData: { textbookId: null, levelFirstId: 39103, @@ -219,6 +250,12 @@ export default { return ( this.checkFileList.length > 0 && this.checkFileList.length === this.currentFileList.length ) + }, + currentKJFileList() { + return this.currentFileList.filter((item) => item.fileFlag === 'apt' || item.fileFlag === '课件') + }, + currentSCFileList() { + return this.currentFileList.filter((item) => item.fileFlag !== 'apt' && item.fileFlag !== '课件') } }, @@ -230,13 +267,13 @@ export default { this.callback(param) }) this.lastAsyncAllTime = localStorage.getItem('lastAsyncAllTime') - this.initReserv() + // this.initReserv() }, mounted() { this.$watch( () => toolStore.isToolWin, (newD, oldD) => { - setTimeout(this.initReserv, 500) + // setTimeout(this.initReserv, 500) } ) // electron 当前窗口 @@ -256,16 +293,19 @@ export default { // } // }, methods: { - initReserv() { - getSelfReserv().then((res) => { - let list = res.data.filter((item) => { - return item.status !== '已结束' - }) - if (list.length > 0) { - this.curClassReserv = list[list.length - 1] - } else { - this.curClassReserv = {} - } + startClass(item) { + console.log(item) + if(item.fileFlag === '课件') { + this.openReserv() + } + if(item.fileFlag === 'apt') { + //TODO 打开apt + } + }, + initReserv(id) { + getClassInfo(id).then((res) => { + this.curClassReserv = res.data + this.openLesson(res.data.id); }) }, getBookPathFromServer() { @@ -312,7 +352,7 @@ export default { }, createAptFile() { listEntpcourse({ - evalid: this.uploadData.levelSecondId, + evalid: this.currentNode.id, edituserid: this.userStore.userId, pageSize: 500 }).then((response) => { @@ -596,7 +636,7 @@ export default { }) }, // 上课-工具类悬浮 - async openLesson() { + async openLesson(id) { // await startClass(this.curClassReserv.id) createWindow('tool-sphere', { url: @@ -605,7 +645,7 @@ export default { '&label=' + this.currentNode.label + '&reservId=' + - this.curClassReserv.id + id }) } } @@ -643,20 +683,78 @@ export default { user-select: none; padding-top: 10px; height: 100%; - + :deep(.el-tabs__nav) { + .el-tabs__item{ + font-weight: bold; + font-size: 18px; + } + } + .page-center-wrap{ + flex: 1; + height: 100%; + padding: 0 10px; + .prepare-center-jxkj{ + height: 100%; + display: flex; + flex-direction: column; + .prepare-center-header{ + display: flex; + cursor: pointer; + .center-create-btn{ + cursor: pointer; + margin: 5px; + flex: 1; + height: 60px; + border-radius: 5px; + .create-btn-title{ + font-weight: 900; + display: flex; + align-items: center; + justify-content: center; + font-size: 15px; + color: #ffffff; + height: 15px; + margin-top: 15px; + label{ + cursor: pointer; + } + } + .create-btn-info{ + cursor: pointer; + font-size: 12px; + color: #ffffff; + margin-top: 5px; + } + } + } + .prepare-center-body{ + flex: 1; + overflow: auto; + } + } + .prepare-center-jxsl{ + height: 100%; + } + } .page-right { overflow: hidden; position: relative; - min-width: 0; - flex: 1; - margin-left: 20px; + min-width: 375px; + width: 375px; height: 100%; background: #ffffff; border-radius: 10px; box-shadow: 0px 0px 20px 0px rgba(99, 99, 99, 0.06); display: flex; flex-direction: column; - + .prepare-tabs{ + height: 100%; + :deep(.el-tab-pane) { + height: 100%; + display: flex; + flex-direction: column; + } + } .header-top { height: 150px; align-items: center; @@ -742,20 +840,24 @@ export default { } .prepare-body-header { - height: 60px; + //height: 60px; width: 100%; display: flex; align-items: center; flex-wrap: wrap; justify-content: space-between; - padding: 0 20px; + //padding: 0 20px; + } + .prepare-work-wrap{ + width: 100%; + flex: 1; + overflow: auto; } - .prepare-body-main { flex: 1; width: 100%; overflow: auto; - padding: 0 30px; + //padding: 0 30px; line-height: normal; } } From 3a20f453c68992fee61e7226dac637f7d8c155dc Mon Sep 17 00:00:00 2001 From: zhuhao <979263092@qq.com> Date: Sat, 14 Sep 2024 16:00:45 +0800 Subject: [PATCH 17/17] =?UTF-8?q?APT=E4=B8=8A=E8=AF=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/index.js b/src/main/index.js index da943a1..a7a18bf 100644 --- a/src/main/index.js +++ b/src/main/index.js @@ -68,7 +68,7 @@ function createLoginWindow() { function createMainWindow() { mainWindow = new BrowserWindow({ width: 1200, - minWidth: 1200, + minWidth: 1350, height: 700, show: false, frame: false, // 无边框