From 320dd49a87f0e1e7f2ea52df2458cb116bd6941f Mon Sep 17 00:00:00 2001 From: kuaifan Date: Tue, 28 Dec 2021 11:42:59 +0800 Subject: [PATCH] =?UTF-8?q?perf:=20=E4=BB=BB=E5=8A=A1=E7=AA=97=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Models/ProjectTask.php | 4 +-- resources/assets/js/app.js | 7 +++-- resources/assets/js/pages/manage.vue | 18 ++++++++++++- .../js/pages/manage/components/TaskDetail.vue | 27 +++---------------- .../sass/pages/components/task-detail.scss | 6 +++-- resources/assets/sass/pages/page-manage.scss | 5 ++++ 6 files changed, 36 insertions(+), 31 deletions(-) diff --git a/app/Models/ProjectTask.php b/app/Models/ProjectTask.php index 37d4b9b9..2143360a 100644 --- a/app/Models/ProjectTask.php +++ b/app/Models/ProjectTask.php @@ -335,7 +335,7 @@ class ProjectTask extends AbstractModel 'p_color' => $p_color, ]); if ($content) { - $task->desc = Base::getHtml($content); + $task->desc = Base::getHtml($content, 100); } // 标题 if (empty($name)) { @@ -531,7 +531,7 @@ class ProjectTask extends AbstractModel ], [ 'content' => $data['content'], ]); - $this->desc = Base::getHtml($data['content']); + $this->desc = Base::getHtml($data['content'], 100); $this->addLog("修改{任务}详细描述"); $updateContent = true; } diff --git a/resources/assets/js/app.js b/resources/assets/js/app.js index 335ff74b..fade1f8f 100644 --- a/resources/assets/js/app.js +++ b/resources/assets/js/app.js @@ -91,6 +91,8 @@ Vue.prototype.goBack = function (number) { Vue.prototype.$A = $A; Vue.prototype.$Electron = !!__IS_ELECTRON ? require('electron') : null; +Vue.prototype.$isMainElectron = !!__IS_ELECTRON && window.navigator && window.navigator.userAgent && /\s+MainTaskWindow\//.test(window.navigator.userAgent); +Vue.prototype.$isSubElectron = !!__IS_ELECTRON && window.navigator && window.navigator.userAgent && /\s+SubTaskWindow\//.test(window.navigator.userAgent); Vue.config.productionTip = false; @@ -113,9 +115,10 @@ $A.store = app.$store; $A.L = app.$L; $A.Electron = app.$Electron; +$A.isMainElectron = app.$isMainElectron; +$A.isSubElectron = app.$isSubElectron; $A.execMainDispatch = (action, data) => { - const navigator = window.navigator && window.navigator.userAgent - if ($A.Electron && navigator && /\s+SubTaskWindow\//.test(navigator)) { + if ($A.isSubElectron) { $A.Electron.ipcRenderer.send('sendForwardMain', { channel: 'dispatch', data: {action, data}, diff --git a/resources/assets/js/pages/manage.vue b/resources/assets/js/pages/manage.vue index 6c41d6f8..4135b755 100644 --- a/resources/assets/js/pages/manage.vue +++ b/resources/assets/js/pages/manage.vue @@ -145,7 +145,9 @@ }" @on-visible-change="taskVisibleChange" footer-hide> - +
+ +
@@ -225,6 +227,7 @@ export default { openMenu: {}, visibleMenu: false, show768Menu: false, + innerHeight: window.innerHeight, allUserShow: false, allProjectShow: false, @@ -258,6 +261,7 @@ export default { }); // document.addEventListener('keydown', this.shortcutEvent); + window.addEventListener('resize', this.innerHeightListener); // if (this.$Electron) { this.$Electron.ipcRenderer.send('setDockBadge', 0); @@ -271,6 +275,7 @@ export default { } // document.removeEventListener('keydown', this.shortcutEvent); + window.removeEventListener('resize', this.innerHeightListener); }, deactivated() { @@ -341,6 +346,13 @@ export default { return data.filter(({name}) => name.toLowerCase().indexOf(projectKeyValue.toLowerCase()) > -1); } return data; + }, + + taskStyle() { + const {innerHeight} = this; + return { + maxHeight: (innerHeight - (innerHeight > 900 ? 200 : 70) - 20) + 'px' + } } }, @@ -450,6 +462,10 @@ export default { }; }, + innerHeightListener() { + this.innerHeight = window.innerHeight; + }, + chackPass() { if (this.userInfo.changepass === 1) { this.goForward({path: '/manage/setting/password'}); diff --git a/resources/assets/js/pages/manage/components/TaskDetail.vue b/resources/assets/js/pages/manage/components/TaskDetail.vue index f627ac20..11deb56f 100644 --- a/resources/assets/js/pages/manage/components/TaskDetail.vue +++ b/resources/assets/js/pages/manage/components/TaskDetail.vue @@ -145,7 +145,7 @@ -
+
0 && !this.$store.state.windowMax768; }, - scrollerStyle() { - const {innerHeight, hasOpenDialog} = this; - if (!innerHeight) { - return {}; - } - if (!hasOpenDialog) { - return {}; - } - return { - maxHeight: (innerHeight - (innerHeight > 900 ? 200 : 70) - 66 - 30) + 'px' - } - }, - dialogStyle() { const {innerHeight, hasOpenDialog} = this; if (!innerHeight) { @@ -1122,7 +1109,7 @@ export default { }).then(({data}) => { this.$store.dispatch("saveTask", data); this.$store.dispatch("getDialogOne", data.dialog_id); - if (this.$Electron) { + if ($A.isSubElectron) { this.resizeDialog(); return; } @@ -1156,7 +1143,7 @@ export default { this.sendLoad = false; this.$store.dispatch("saveTask", data); this.$store.dispatch("getDialogOne", data.dialog_id); - if (this.$Electron) { + if ($A.isSubElectron) { this.resizeDialog(); return; } @@ -1188,9 +1175,6 @@ export default { }, openNewWin() { - if (!this.$Electron) { - return; - } let config = { parent: null, width: Math.min(window.screen.availWidth, this.$el.clientWidth + 72), @@ -1206,17 +1190,12 @@ export default { name: 'task-' + this.taskDetail.id, path: "/single/task/" + this.taskDetail.id, force: false, - devTools: false, - userAgent: "ElectronSubwindow", config }); this.$store.dispatch('openTask', 0); }, resizeDialog() { - if (!this.$Electron) { - return; - } this.$Electron.ipcRenderer.sendSync('windowSize', { width: Math.max(1100, window.innerWidth), height: Math.max(720, window.innerHeight), diff --git a/resources/assets/sass/pages/components/task-detail.scss b/resources/assets/sass/pages/components/task-detail.scss index b11ac776..0a291cba 100644 --- a/resources/assets/sass/pages/components/task-detail.scss +++ b/resources/assets/sass/pages/components/task-detail.scss @@ -1,7 +1,9 @@ .task-detail { display: flex; flex-direction: column; - margin: 0 -10px 30px; + margin: 0 -32px 12px -10px; + padding: 0 22px 12px 0; + overflow: auto; .task-info { flex: 1; display: flex; @@ -435,7 +437,7 @@ .no-input { display: flex; align-items: center; - margin: 32px 0 0 36px; + margin: 22px 0 0 36px; background-color: #F4F5F7; padding: 10px 12px; border-radius: 10px; diff --git a/resources/assets/sass/pages/page-manage.scss b/resources/assets/sass/pages/page-manage.scss index 4da253e3..8a1bb730 100644 --- a/resources/assets/sass/pages/page-manage.scss +++ b/resources/assets/sass/pages/page-manage.scss @@ -271,6 +271,11 @@ } } +.page-manage-task-modal { + display: flex; + flex-direction: column; +} + .page-manage-add-task-button-group { margin-left: 8px !important; .ivu-dropdown {