diff --git a/package.json b/package.json index 2316d64..a28764f 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) diff --git a/src/renderer/src/utils/date.js b/src/renderer/src/utils/date.js index 839e60b..2adf3d5 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/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 }}
diff --git a/src/renderer/src/views/desktop/container/work-trend.vue b/src/renderer/src/views/desktop/container/work-trend.vue index e4ca636..7e8a36b 100644 --- a/src/renderer/src/views/desktop/container/work-trend.vue +++ b/src/renderer/src/views/desktop/container/work-trend.vue @@ -1,92 +1,209 @@ \ No newline at end of file diff --git a/src/renderer/src/views/prepare/container/reserv.vue b/src/renderer/src/views/prepare/container/reserv.vue index ed2ee39..c76c36f 100644 --- a/src/renderer/src/views/prepare/container/reserv.vue +++ b/src/renderer/src/views/prepare/container/reserv.vue @@ -270,6 +270,11 @@ const updateClassReserv = (formData) => { } const addClassReserv = (formData) => { let ids = formData.resource.join(',') + // 判断是否添加教材 + if(!props.bookId){ + ElMessage.warning('请选择教材') + return + } let param = { className: formData.name, classType: formData.type,