diff --git a/resources/assets/js/pages/manage.vue b/resources/assets/js/pages/manage.vue index e8d3df97b..c578066d2 100644 --- a/resources/assets/js/pages/manage.vue +++ b/resources/assets/js/pages/manage.vue @@ -1,6 +1,10 @@ @@ -278,6 +283,13 @@ +
@@ -486,6 +498,7 @@ import TaskExport from "./manage/components/TaskExport"; import ApproveExport from "./manage/components/ApproveExport"; import ComplaintManagement from "./manage/components/ComplaintManagement"; import MicroApps from "../components/MicroApps"; +import ResizeLine from "../components/ResizeLine.vue"; import UserSelect from "../components/UserSelect.vue"; import ImgUpload from "../components/ImgUpload.vue"; import Approve from "./manage/approve/index.vue"; @@ -522,6 +535,7 @@ export default { RecentManagement, ProjectArchived, MicroApps, + ResizeLine, ComplaintManagement, Draggable, DepartmentOwnerView @@ -595,6 +609,9 @@ export default { mcpHelperShow: false, departmentOwnerViewShow: false, + + menuWidth: Math.min(420, Math.max(200, $A.getStorageInt("manage.menuWidth", 255))), + menuResizing: false, } }, @@ -694,6 +711,12 @@ export default { } }, + menuStyle() { + return { + width: `${this.menuWidth}px` + } + }, + /** * 综合数(未读、提及、待办) * @returns {string|string} @@ -1035,6 +1058,12 @@ export default { methods: { transformEmojiToHtml, + onMenuResizeChange({event}) { + this.menuResizing = event !== 'up'; + if (event === 'up') { + $A.setStorage("manage.menuWidth", this.menuWidth); + } + }, syncOwnerProjectTabByRoute() { if (!this.ownerProjectTabsVisible || !this.routeProject) { return; diff --git a/resources/assets/sass/pages/page-manage.scss b/resources/assets/sass/pages/page-manage.scss index e138e5918..b66db95b8 100644 --- a/resources/assets/sass/pages/page-manage.scss +++ b/resources/assets/sass/pages/page-manage.scss @@ -19,6 +19,17 @@ flex-direction: column; align-items: center; transition: all 0.2s; + &.menu-resizing { + transition: none; + } + .manage-menu-resize { + position: absolute; + top: 0; + right: -3px; + bottom: 0; + width: 6px; + z-index: 3; + } .scrollbar-container { flex: 1; width: 100%;