From 45485c04fc9d5ad76023dc515f76a2173a538b3d Mon Sep 17 00:00:00 2001 From: zhuhao <979263092@qq.com> Date: Fri, 18 Oct 2024 17:11:30 +0800 Subject: [PATCH 1/8] =?UTF-8?q?BUG=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env.development | 2 + .env.production | 2 + src/main/index.js | 4 +- src/renderer/src/utils/tool.js | 4 +- .../src/views/classTask/classTaskAssign.vue | 44 ++++----- .../views/classTask/container/item-dialog.vue | 3 +- .../container/newTask/taskTypeView.vue | 78 +++++++-------- .../src/views/classTask/newClassTask.vue | 2 +- .../src/views/classTask/teachClassTask.vue | 94 +------------------ src/renderer/src/views/examReport/index.vue | 22 ++--- 10 files changed, 85 insertions(+), 170 deletions(-) diff --git a/.env.development b/.env.development index df0b713..11bbc06 100644 --- a/.env.development +++ b/.env.development @@ -15,3 +15,5 @@ VITE_APP_UPLOAD_API = 'https://file.ysaix.com:7868/prod-api' VITE_APP_RES_FILE_PATH = 'https://file.ysaix.com:7868/src/assets/textbook/booktxt/' VITE_APP_BUILD_BASE_PATH = 'https://file.ysaix.com:7868/' + +VITE_SHOW_DEV_TOOLS = true diff --git a/.env.production b/.env.production index 79007b1..2a0bdc9 100644 --- a/.env.production +++ b/.env.production @@ -17,3 +17,5 @@ VITE_BUILD_COMPRESS = gzip VITE_APP_RES_FILE_PATH = 'https://prev.ysaix.com:7868/src/assets/textbook/booktxt/' VITE_APP_BUILD_BASE_PATH = 'https://prev.ysaix.com:7868/' + +VITE_SHOW_DEV_TOOLS = false diff --git a/src/main/index.js b/src/main/index.js index 4dcd521..91f5c08 100644 --- a/src/main/index.js +++ b/src/main/index.js @@ -74,7 +74,7 @@ function createLoginWindow() { updateInit(loginWindow) } - loginWindow.webContents.openDevTools() + if (import.meta.env.VITE_SHOW_DEV_TOOLS === true) loginWindow.webContents.openDevTools() loginWindow.once('ready-to-show', () => { loginWindow.show() }) @@ -128,7 +128,7 @@ function createMainWindow() { shell.openExternal(details.url) return { action: 'deny' } }) - mainWindow.webContents.openDevTools() + if (import.meta.env.VITE_SHOW_DEV_TOOLS === true) mainWindow.webContents.openDevTools() if (is.dev && process.env['ELECTRON_RENDERER_URL']) { mainWindow.loadURL(process.env['ELECTRON_RENDERER_URL']) diff --git a/src/renderer/src/utils/tool.js b/src/renderer/src/utils/tool.js index 937b498..ebce77f 100644 --- a/src/renderer/src/utils/tool.js +++ b/src/renderer/src/utils/tool.js @@ -138,7 +138,7 @@ export const createWindow = async (type, data) => { wins_tool.setIgnoreMouseEvents(true, {forward: true}) // 忽略鼠标事件但是事件继续传递给窗口 wins_tool.setAlwaysOnTop(true,'screen-saver') // 将窗口设置为顶层窗口 wins_tool.setVisibleOnAllWorkspaces(true) // 如果窗口在所有工作区都可见 - wins_tool.webContents.openDevTools() // 打开调试工具 + if (import.meta.env.VITE_SHOW_DEV_TOOLS === true) wins_tool.webContents.openDevTools() // 打开调试工具 eventHandles(type, wins_tool) // 事件监听处理 return wins_tool } @@ -165,7 +165,7 @@ export const createWindow = async (type, data) => { win.type = type // 唯一标识 win.show() win.setFullScreen(true) // 设置窗口为全屏 - win.webContents.openDevTools() // 打开调试工具 + if (import.meta.env.VITE_SHOW_DEV_TOOLS === true) win.webContents.openDevTools() // 打开调试工具 eventHandles(type, win) // 事件监听处理 winPdf=win break diff --git a/src/renderer/src/views/classTask/classTaskAssign.vue b/src/renderer/src/views/classTask/classTaskAssign.vue index 4baf8a3..5161b50 100644 --- a/src/renderer/src/views/classTask/classTaskAssign.vue +++ b/src/renderer/src/views/classTask/classTaskAssign.vue @@ -6,7 +6,7 @@ :collapse="isCollapse" > -
+
@@ -33,7 +33,7 @@ -
+
{{ _item.worktype }}
分值:{{ _item.score }}
-
+
预览
@@ -187,7 +187,7 @@
-
+
预览其他类型附件! @@ -219,7 +219,7 @@ -
+
- +
@@ -308,7 +308,7 @@ import SetHomework from '@/components/set-homework/index.vue' import {sessionStore} from '@/utils/store' import {createWindow} from '@/utils/tool' import { useToolState } from '@/store/modules/tool' -import {throttle,debounce } from '@/utils/comm' +import {throttle,debounce } from '@/utils/comm' const toolState = useToolState(); @@ -342,7 +342,7 @@ const courseObj = reactive({ }) const taskList = ref([]); // 作业列表 -const loading = ref(false); +const loading = ref(false); const pushRecordsList = ref([]); // 作业推送历史 const pushRecordsOpen = ref(false); // 推送历史记录弹窗 const pushRecordsLoading = ref(false); // 推送历史记录loading @@ -414,7 +414,7 @@ const initHomeWork = async()=> { } /** * 查看推送历史 - * + * */ const queryPushRecords = (row) => { // 获取已推送历史 @@ -437,7 +437,7 @@ const queryPushRecords = (row) => { // if (res.rows[i].worktype == '学习目标定位') { // res.rows[i].workclass = 'success'; // res.rows[i].workcodesList = JSON.parse(res.rows[i].workcodes); - // } else + // } else // 课标研读 目标设定 教材研读 框架梳理 学科定位 TODO 后续接入在添加 if (res.rows[i].worktype == '课堂展示') { res.rows[i].workclass = 'primary'; @@ -476,11 +476,11 @@ const debounceOpenWin = debounce(() => { // 批改作业 const onClickItem = (item) => { console.log('防抖开启弹窗') - sessionStore.set('teachClassWorkItem', item); // 缓存点击的item + sessionStore.set('teachClassWorkItem', item); // 缓存点击的item debounceOpenWin(); } -/** +/** * 删除按钮操作 TODO 待完善 * */ const handleDelete =() => { @@ -618,8 +618,8 @@ const handleWorkTitleEdit = (row, index, type) => { }; /** - * 作业内容-查看详情 - * */ + * 作业内容-查看详情 + * */ const handleWorkEdit = (row, index) =>{ console.log(row, index) workEdit.value = true @@ -637,7 +637,7 @@ const handleWorkTitleEdit = (row, index, type) => { if ( res.data==null || res.data==undefined ) { return; } - + res.data.worktype = '框架梳理'; res.data.score = listCourseWork[0].score; @@ -706,7 +706,7 @@ const handleWorkTitleEdit = (row, index, type) => { }; /** * 作业内容-前往作业设计 编辑页面 - * @param row + * @param row */ const handleWorkEditItem = (row) => { editListItem(row, courseObj).then((obj) => { @@ -778,11 +778,11 @@ const handleTaskAssignToAllClass = () => { */ const handleNewClassWorkDialog = () => { // 打开作业设计页面 - router.push({ + router.push({ path: '/newClassTask', query: { isBack: true, - } + } }); } @@ -878,18 +878,20 @@ watch(() => courseObj.node, (newVal,oldVal) => { + - \ No newline at end of file + diff --git a/src/renderer/src/views/classTask/container/item-dialog.vue b/src/renderer/src/views/classTask/container/item-dialog.vue index 1cb08cd..7318f88 100644 --- a/src/renderer/src/views/classTask/container/item-dialog.vue +++ b/src/renderer/src/views/classTask/container/item-dialog.vue @@ -656,8 +656,6 @@ defineExpose({ }) - - + diff --git a/src/renderer/src/views/classTask/container/newTask/taskTypeView.vue b/src/renderer/src/views/classTask/container/newTask/taskTypeView.vue index 8a3efe0..49538a6 100644 --- a/src/renderer/src/views/classTask/container/newTask/taskTypeView.vue +++ b/src/renderer/src/views/classTask/container/newTask/taskTypeView.vue @@ -29,7 +29,7 @@
-
+
@@ -54,7 +54,7 @@ - 查找 @@ -89,7 +89,7 @@ -
+
@@ -119,10 +119,10 @@ @@ -189,7 +189,7 @@ -
+
预览 删除
@@ -362,7 +362,7 @@ const fileLoading = ref(false); // 常规作业loading * 作业类型切换 */ const changeFormType = (val) => { - classWorkForm.worktype = val; + classWorkForm.worktype = val; } /** @@ -371,7 +371,7 @@ const changeFormType = (val) => { * @param {*} queryType * 1 - 按条件查询 * 2 - 按关键词查询 - */ + */ const handleQueryParamFromEntpCourseWork = (queryType) => { // 确保更改了搜索参数后从第一页开始查询 // this.paginationParams = {pageNum: 1,pageSize: 10}; 分页这里展示弃用了 @@ -410,7 +410,7 @@ const handleQueryFromEntpCourseWork= (queryType) => { keyword: entpCourseWorkQueryParams.keyWord && entpCourseWorkQueryParams.keyWord !== '' ? entpCourseWorkQueryParams.keyWord:'', } - + // 分页参数 // pageNum: paginationParams.pageNum, // pageSize: paginationParams.pageSize, @@ -420,7 +420,7 @@ const handleQueryFromEntpCourseWork= (queryType) => { // // [初中+政治]需改为[初中+道德与法治] // queryForm.edusubject = '道德与法治'; // } - + listEntpcourseworkNew(queryForm).then(entpcourseworkres => { // if (queryType == 1 && this.entpCourseWorkQueryParams.worktype == '主观题') { // // 因菁优网题型因学科而不固定, 故非常规题重定义定为【主观题】 @@ -431,7 +431,7 @@ const handleQueryFromEntpCourseWork= (queryType) => { // } else { // workResource.entpCourseWorkList = entpcourseworkres.rows; // } - + if(entpcourseworkres.data&&entpcourseworkres.data.length>0){ workResource.entpCourseWorkList = entpcourseworkres.data; workResource.entpCourseWorkTotal = entpcourseworkres.data.length; @@ -509,7 +509,7 @@ const getEntpCourseWorkPointList = () => { /** * 添加资源 * @param fromsrc - 试题来源 - * @param entpcourseworkid + * @param entpcourseworkid */ const handleClassWorkQuizAdd = (fromsrc, entpcourseworkid) => { var exist = false; @@ -608,11 +608,11 @@ const handleClassWorkSave = async () => { uniquekey: classWorkForm.uniquekey,// 作业名称、编码 classid: 0, classcourseid: 0, - entpcourseid: chapterId, // 这个字段很特别 + entpcourseid: chapterId, // 这个字段很特别 slideid: 0, title: classWorkForm.title, // 作业说明? workcodes: JSON.stringify(classWorkForm.workcodes), // 作业内容? - edusubject: userStore.edusubject, // 学科 语文 数学 + edusubject: userStore.edusubject, // 学科 语文 数学 evalid: props.bookobj.levelSecondId, //userStore.evalid, // // 单元下的课ID edustage: userStore.edustage, // 学段 年纪 高中,初中,小学 status: '10', //2024-09-11 作业布置分离后的 新模版数据; 之前老版本为空 @@ -628,16 +628,16 @@ const handleClassWorkSave = async () => { return; } - - + + if (classWorkForm.worktype === "课堂展示") { boardLoading.value = true let canvasJson = proxy.$refs.boardref.getCanvasJson() let canvasBase64 = await proxy.$refs.boardref.getCanvasBase64() // 课堂展示提交内容 - cform.title = classWorkForm.title; + cform.title = classWorkForm.title; cform.workcodes = JSON.stringify({json: canvasJson, base64: canvasBase64}); cform.entpcourseworklist = JSON.stringify([{'id':-1, 'score': '10'}]); try { @@ -667,7 +667,7 @@ const handleClassWorkSave = async () => { } finally { boardLoading.value = false } - } + } else if(classWorkForm.worktype === "常规作业"){ fileLoading.value = true cform.workcodes = JSON.stringify(classWorkForm.fileHomeworkList); @@ -725,7 +725,7 @@ const handleClassWorkSave = async () => { } console.log(cform,'提交的数据'); if(cform.entpcourseworklist == '') return ElMessage({ type: 'warning', message: '请先添加作业资源!'}); - + addClassworkReturnId(cform).then(workres => { ElMessage({ type: 'success', message: '作业设计成功!'}); // 重置提交表单 @@ -743,7 +743,7 @@ const handleClassWorkSave = async () => { }) } - + if(props.isback){ // 其他页面进入的 返回上一页 router.back(); @@ -782,20 +782,20 @@ const editWork = async (cform) =>{ // 根据作业类型分类处理 if (classWorkForm.worktype=='习题训练'){ - + // 1.判断当前添加的作业是否与原来不同(跟父组件传来的值对比) let needUplEval = false; if (classWorkForm.quizlist.length != props.propsformobj.quizlist.length) { needUplEval = true; }else { // 只要有一个不一致则说明需要更新 - needUplEval = classWorkForm.quizlist.some(cur => - !props.propsformobj.quizlist.some(last => + needUplEval = classWorkForm.quizlist.some(cur => + !props.propsformobj.quizlist.some(last => last.id === cur.id && last.score === cur.score ) ); } - + // 2.需要重新更新eval的数据 if (needUplEval) { // 说明: 因试题分值也需修改, 故无法通过按钮的增长删除来处理, 故将原作业全部删除后再重新添加 @@ -806,7 +806,7 @@ const editWork = async (cform) =>{ arrEvalids.push(element.id); }); const ids = arrEvalids.join(','); - + // 2.2.删除原作业 const delRes = await delClassworkeval(ids); @@ -837,8 +837,8 @@ const editWork = async (cform) =>{ needUplEval = true; }else { // 只要有一个不一致则说明需要更新 - needUplEval = classWorkForm.chooseWorkLists.some(cur => - !props.propsformobj.chooseWorkLists.some(last => + needUplEval = classWorkForm.chooseWorkLists.some(cur => + !props.propsformobj.chooseWorkLists.some(last => last.id === cur.id && last.score === cur.score ) ); @@ -902,15 +902,15 @@ watch(() => props.bookobj.levelSecondId, (newVal) => { .container { display: flex; flex-direction: column; - height: 100%; + height: 100%; } .top, .bottom { - flex: 0 0 auto; + flex: 0 0 auto; } .middle { - flex: 1; + flex: 1; height: 100%; overflow: hidden; } @@ -937,8 +937,8 @@ watch(() => props.bookobj.levelSecondId, (newVal) => { .work-right { height: 100%; - padding: 0 0 0 5px; - overflow: auto; + padding: 0 0 0 5px; + overflow: auto; line-height: 26px; overflow: hidden; } @@ -949,19 +949,19 @@ watch(() => props.bookobj.levelSecondId, (newVal) => { display: flex; flex-direction: column; align-items: center; - margin-bottom: 5px; + margin-bottom: 5px; .choose-work-title{ - font-size: 1.2em; + font-size: 1.2em; font-weight: bold; margin-right: 5px } .choose-work-content{ - width: 100%; + width: 100%; display: flex; justify-content: space-around; - flex-direction: column; + flex-direction: column; flex: 1; :deep(.el-form-item__label){ width: 50px !important; diff --git a/src/renderer/src/views/classTask/newClassTask.vue b/src/renderer/src/views/classTask/newClassTask.vue index b1d8236..ee78857 100644 --- a/src/renderer/src/views/classTask/newClassTask.vue +++ b/src/renderer/src/views/classTask/newClassTask.vue @@ -6,7 +6,7 @@ :collapse="isCollapse" > -
+
diff --git a/src/renderer/src/views/classTask/teachClassTask.vue b/src/renderer/src/views/classTask/teachClassTask.vue index 9ad1ad0..fa5ba08 100644 --- a/src/renderer/src/views/classTask/teachClassTask.vue +++ b/src/renderer/src/views/classTask/teachClassTask.vue @@ -633,7 +633,7 @@ const closeDialog = () => { } onMounted(() => { - + // const data = JSON.parse(localStorage.getItem('teachClassWorkItem')); const data = sessionStore.get('teachClassWorkItem'); console.log(data,'????????????????????' ) @@ -657,8 +657,6 @@ onUnmounted(() => { // }) - - - + diff --git a/src/renderer/src/views/examReport/index.vue b/src/renderer/src/views/examReport/index.vue index 9a4c791..ff4b637 100644 --- a/src/renderer/src/views/examReport/index.vue +++ b/src/renderer/src/views/examReport/index.vue @@ -14,7 +14,7 @@
    
- +
    
- +