diff --git a/resources/assets/js/app.js b/resources/assets/js/app.js index d8b44f0d9..c3eebdb7d 100644 --- a/resources/assets/js/app.js +++ b/resources/assets/js/app.js @@ -1,4 +1,5 @@ const isElectron = window && window.process && window.process.type; +const isEEUiApp = window && window.navigator && /eeui/i.test(window.navigator.userAgent); import './functions/common' import './functions/web' @@ -63,12 +64,12 @@ VueRouter.prototype.push = function push(location) { } const router = new VueRouter({ - mode: isElectron ? 'hash' : 'history', + mode: isElectron || isEEUiApp ? 'hash' : 'history', routes }); // 进度条配置 -if (!isElectron) { +if (!isElectron && !isEEUiApp) { ViewUI.LoadingBar.config({ color: '#3fcc25', failedColor: '#ff0000' diff --git a/resources/assets/js/components/Mobile/Back.vue b/resources/assets/js/components/Mobile/Back.vue new file mode 100644 index 000000000..d520fb65a --- /dev/null +++ b/resources/assets/js/components/Mobile/Back.vue @@ -0,0 +1,73 @@ + + + diff --git a/resources/assets/js/components/Mobile/Tabbar.vue b/resources/assets/js/components/Mobile/Tabbar.vue index 1f2c0dcc4..f8d8f4cee 100644 --- a/resources/assets/js/components/Mobile/Tabbar.vue +++ b/resources/assets/js/components/Mobile/Tabbar.vue @@ -6,15 +6,13 @@
{{$L(item.label)}}
+
diff --git a/resources/assets/js/pages/manage/messenger.vue b/resources/assets/js/pages/manage/messenger.vue index 774dd5356..fd878966a 100644 --- a/resources/assets/js/pages/manage/messenger.vue +++ b/resources/assets/js/pages/manage/messenger.vue @@ -119,11 +119,7 @@
{{$L('选择一个会话开始聊天')}}
- -
- -
-
+ diff --git a/resources/assets/js/pages/manage/setting/index.vue b/resources/assets/js/pages/manage/setting/index.vue index 7932b877e..0aba3a3df 100644 --- a/resources/assets/js/pages/manage/setting/index.vue +++ b/resources/assets/js/pages/manage/setting/index.vue @@ -5,8 +5,8 @@

{{$L('设置')}}

-
- +
+
@@ -46,8 +46,6 @@ import {Store} from "le5le-store"; export default { data() { return { - show768Menu: true, - version: window.systemInfo.version } }, @@ -63,6 +61,10 @@ export default { return this.$route.name }, + show768Menu() { + return this.routeName === 'manage-setting' + }, + menu() { let menu = [ {path: 'personal', name: '个人设置'}, @@ -71,6 +73,13 @@ export default { if (this.userIsAdmin) { menu.push(...[ {path: 'system', name: '系统设置', divided: true}, + {path: 'clearCache', name: '清除缓存'}, + {path: 'logout', name: '退出登录'}, + ]) + } else { + menu.push(...[ + {path: 'clearCache', name: '清除缓存', divided: true}, + {path: 'logout', name: '退出登录'}, ]) } return menu; @@ -92,11 +101,8 @@ export default { watch: { routeName: { handler(name) { - if (name === 'manage-setting') { - this.show768Menu = true; - if (this.isDesktop) { - this.goForward({name: 'manage-setting-personal'}, true); - } + if (name === 'manage-setting' && this.isDesktop) { + this.goForward({name: 'manage-setting-personal'}, true); } }, immediate: true @@ -105,12 +111,38 @@ export default { methods: { toggleRoute(path) { - if (path == 'version') { - Store.set('updateNotification', null); - return; + switch (path) { + case 'clearCache': + this.$store.dispatch("handleClearCache", null).then(() => { + $A.setStorage("clearCache", $A.randomString(6)) + window.location.reload() + }).catch(() => { + window.location.reload() + }); + break; + + case 'logout': + $A.modalConfirm({ + title: '退出登录', + content: '你确定要登出系统?', + onOk: () => { + this.$store.dispatch("logout", false) + } + }); + break; + + case 'version': + Store.set('updateNotification', null); + break; + + case 'index': + this.goForward({name: 'manage-setting'}); + break; + + default: + this.goForward({name: 'manage-setting-' + path}); + break; } - this.show768Menu = false; - this.goForward({name: 'manage-setting-' + path}); }, classNameRoute(path, divided) { diff --git a/resources/assets/sass/components/mobile.scss b/resources/assets/sass/components/mobile.scss index 38425cb45..ae004b7e1 100644 --- a/resources/assets/sass/components/mobile.scss +++ b/resources/assets/sass/components/mobile.scss @@ -6,7 +6,7 @@ right: 0; background-color: #f3f6fe; box-shadow: 0 0 2px rgba(28, 34, 43, 0.15); - z-index: 99; + z-index: 98; > ul { display: flex; align-items: center; @@ -39,9 +39,26 @@ } } } +.mobile-back { + display: none; + position: fixed; + top: 200px; + left: -50px; + width: 500px; + height: 500px; + background-color: rgba(0, 0, 0, 0.1); + z-index: 99; + border-radius: 50%; + transform: translate(-460px, -50%); + transition: left 0.2s; + &.show-back { + left: 0; + } +} @media (max-width: 640px) { - .mobile-tabbar { + .mobile-tabbar, + .mobile-back { display: block; } } diff --git a/resources/assets/sass/dark.scss b/resources/assets/sass/dark.scss index ab51e5a40..8eb0331bd 100644 --- a/resources/assets/sass/dark.scss +++ b/resources/assets/sass/dark.scss @@ -160,18 +160,20 @@ body.dark-mode-reverse { .dialog-wrapper { .dialog-nav { - .dialog-avatar { - .icon-avatar { - color: #1c1917; - } - } - .dialog-title { - .main-title { - > h2 { - color: #555; + .dialog-block { + .dialog-avatar { + .icon-avatar { + color: #1c1917; } - .top-text { - color: #000000; + } + .dialog-title { + .main-title { + > h2 { + color: #555; + } + .top-text { + color: #000000; + } } } } diff --git a/resources/assets/sass/pages/components/dialog-wrapper.scss b/resources/assets/sass/pages/components/dialog-wrapper.scss index 5fd6cff20..473aefb36 100644 --- a/resources/assets/sass/pages/components/dialog-wrapper.scss +++ b/resources/assets/sass/pages/components/dialog-wrapper.scss @@ -46,125 +46,137 @@ } } - .dialog-avatar { - flex-shrink: 0; - margin-right: 12px; - - .user-avatar, - .icon-avatar { - width: 42px; - height: 42px; - margin: 2px; - flex-grow: 0; - flex-shrink: 0; - } - - .icon-avatar { - display: flex; - align-items: center; - justify-content: center; - border-radius: 50%; - font-size: 26px; - background-color: #61B2F9; - color: #ffffff; - - &.project { - background-color: #6E99EB; - } - - &.task { - background-color: #9B96DF; - font-size: 24px; - } - } - } - - .dialog-title { + .dialog-block { flex: 1; width: 0; display: flex; - flex-direction: column; - justify-content: center; + align-items: center; - .main-title { - display: flex; - align-items: center; - line-height: 22px; - max-width: 100%; + .dialog-avatar { + flex-shrink: 0; + margin-right: 12px; - .ivu-tag { + .user-avatar, + .icon-avatar { + width: 42px; + height: 42px; + margin: 2px; + flex-grow: 0; flex-shrink: 0; - margin: 0 6px 0 0; - padding: 0 5px; + } - &.ivu-tag-success { - padding: 0 6px; + .icon-avatar { + display: flex; + align-items: center; + justify-content: center; + border-radius: 50%; + font-size: 26px; + background-color: #61B2F9; + color: #ffffff; + + &.project { + background-color: #6E99EB; } - } - .ivu-icon { - font-size: 18px; - margin-right: 6px; - - &.completed { - color: $primary-color; + &.task { + background-color: #9B96DF; + font-size: 24px; } } - - > h2 { - font-size: 17px; - font-weight: 600; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - } - - > em { - flex-shrink: 0; - font-style: normal; - font-size: 17px; - font-weight: 500; - padding-left: 6px; - } - - .top-text { - flex-shrink: 0; - height: 24px; - line-height: 24px; - padding: 0 6px; - border-radius: 4px; - margin-left: 10px; - background-color: #8BCF70; - color: #FFFFFF; - text-align: center; - white-space: nowrap; - } } - .sub-title { - flex-shrink: 0; - font-size: 12px; - line-height: 20px; - padding-top: 2px; - color: #aaaaaa; - white-space: normal; + .dialog-title { + flex: 1; + width: 0; + display: flex; + flex-direction: column; + justify-content: center; - &.pointer { - cursor: pointer; + .main-title { + display: flex; + align-items: center; + line-height: 22px; + max-width: 100%; - &:hover { - color: #888888; + .ivu-tag { + flex-shrink: 0; + margin: 0 6px 0 0; + padding: 0 5px; + + &.ivu-tag-success { + padding: 0 6px; + } + } + + .ivu-icon { + font-size: 18px; + margin-right: 6px; + + &.completed { + color: $primary-color; + } + } + + > h2 { + font-size: 17px; + font-weight: 600; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + } + + > em { + flex-shrink: 0; + font-style: normal; + font-size: 17px; + font-weight: 500; + padding-left: 6px; + } + + .top-text { + flex-shrink: 0; + height: 24px; + line-height: 24px; + padding: 0 6px; + border-radius: 4px; + margin-left: 10px; + background-color: #8BCF70; + color: #FFFFFF; + text-align: center; + white-space: nowrap; + } + } + + .sub-title { + flex-shrink: 0; + font-size: 12px; + line-height: 20px; + padding-top: 2px; + color: #aaaaaa; + white-space: normal; + + &.pointer { + cursor: pointer; + + &:hover { + color: #888888; + } } } } } + .dialog-back, .dialog-create { cursor: pointer; margin-left: 24px; - font-size: 20px; + font-size: 22px; color: $primary-text-color; } + + .dialog-back { + display: none; + } } .dialog-scroller { @@ -813,6 +825,59 @@ @media (max-width: 768px) { .dialog-wrapper { + .dialog-nav { + height: 60px; + padding: 0; + justify-content: center; + + &.completed { + &:after { + right: 14px; + } + .dialog-title { + padding-right: 0; + } + } + + .dialog-back, + .dialog-create { + position: absolute; + top: 0; + bottom: 0; + right: 0; + margin: 0; + width: 60px; + display: flex; + align-items: center; + justify-content: center; + } + .dialog-back { + right: auto; + left: 0; + > i { + font-size: 26px; + } + } + .dialog-block { + margin: 0 60px; + justify-content: center; + .dialog-avatar { + display: none; + } + .dialog-title { + flex: unset; + width: unset; + overflow: hidden; + text-align: center; + .sub-title { + line-height: 18px; + } + } + } + } + .dialog-scroller { + padding: 0 14px; + } .dialog-footer { padding: 0 20px; margin-bottom: 16px; diff --git a/resources/assets/sass/pages/components/project-dialog.scss b/resources/assets/sass/pages/components/project-dialog.scss index 4772b7b3d..d826a08d5 100644 --- a/resources/assets/sass/pages/components/project-dialog.scss +++ b/resources/assets/sass/pages/components/project-dialog.scss @@ -67,21 +67,6 @@ .dialog-nav { padding: 0 20px; } - .dialog-footer { - .dialog-input { - .dialog-back { - display: none; - align-items: center; - justify-content: center; - width: 64px; - height: 100%; - max-height: 64px; - font-size: 26px; - margin-left: -20px; - z-index: 1; - } - } - } } } @@ -94,18 +79,10 @@ } .dialog-nav { padding: 0 12px; - height: 58px; + height: 64px; } .dialog-scroller { - padding: 0 20px; - } - .dialog-footer { - .dialog-input { - align-items: flex-end; - .dialog-back { - display: flex; - } - } + padding: 0 14px; } } } diff --git a/resources/assets/sass/pages/components/project-panel.scss b/resources/assets/sass/pages/components/project-panel.scss index 4fd90c8df..7eb33dd05 100644 --- a/resources/assets/sass/pages/components/project-panel.scss +++ b/resources/assets/sass/pages/components/project-panel.scss @@ -1029,7 +1029,10 @@ display: block; .project-title { float: left; - padding-bottom: 4px; + padding-bottom: 8px; + > h1 { + font-size: 24px; + } } .project-icons { float: right; diff --git a/resources/assets/sass/pages/page-messenger.scss b/resources/assets/sass/pages/page-messenger.scss index c928ee874..e0262fd2a 100644 --- a/resources/assets/sass/pages/page-messenger.scss +++ b/resources/assets/sass/pages/page-messenger.scss @@ -172,7 +172,6 @@ } } .dialog-text { - max-width: 170px; color: #999999; font-size: 12px; line-height: 24px; @@ -352,23 +351,6 @@ height: 100%; display: flex; position: relative; - .dialog-wrapper { - .dialog-footer { - .dialog-input { - .dialog-back { - display: none; - align-items: center; - justify-content: center; - width: 64px; - height: 100%; - max-height: 64px; - font-size: 26px; - margin-left: -20px; - z-index: 1; - } - } - } - } .msg-dialog-bg { position: absolute; top: 0; @@ -420,22 +402,6 @@ transform: translateX(0); } } - .messenger-msg { - .dialog-wrapper { - .dialog-nav { - height: 54px; - justify-content: center; - } - .dialog-footer { - .dialog-input { - align-items: flex-end; - .dialog-back { - display: flex; - } - } - } - } - } } } } diff --git a/resources/assets/sass/pages/page-setting.scss b/resources/assets/sass/pages/page-setting.scss index f350801ec..13db7b046 100755 --- a/resources/assets/sass/pages/page-setting.scss +++ b/resources/assets/sass/pages/page-setting.scss @@ -297,6 +297,12 @@ } > ul { padding: 12px 32px; + > li { + padding: 0 8px; + &:hover { + background-color: transparent; + } + } } } } @@ -312,8 +318,8 @@ justify-content: center; > button { flex: 1; - height: 42px; - line-height: 40px; + height: 38px; + line-height: 36px; } } }