diff --git a/resources/assets/js/components/MicroApps/index.vue b/resources/assets/js/components/MicroApps/index.vue index 9cc353a09..157ecc022 100644 --- a/resources/assets/js/components/MicroApps/index.vue +++ b/resources/assets/js/components/MicroApps/index.vue @@ -11,6 +11,7 @@ :autoDarkTheme="app.auto_dark_theme" :keepAlive="app.keep_alive" :beforeClose="async (isClick) => { await onBeforeClose(app.name, isClick) }" + @on-restart-app="onRestartApp(app.name)" @on-popout-window="onPopoutWindow(app.name)"> { return window.innerWidth < 768 || this.windowType === 'popout' }, + isMobileLayout: () => { + return this.windowIsMobileLayout + }, extraCallA: (...args) => { if (args.length > 0 && typeof args[0] === 'string') { const methodName = args[0]; @@ -578,6 +583,26 @@ export default { }) }, + /** + * 重启应用 + * @param name + */ + async onRestartApp(name) { + this.closeMicroApp(name, true) + await new Promise(resolve => setTimeout(resolve, 300)); + + const app = this.microApps.find(item => item.name == name); + if (!app) { + $A.modalError("应用不存在"); + } + app.isLoading = true; + requestAnimationFrame(_ => { + app.isOpen = true + app.lastOpenAt = Date.now() + this.$store.commit('microApps/keepAlive', 3) + }) + }, + /** * 弹出窗口(全屏) * @param name diff --git a/resources/assets/js/components/MicroApps/modal.vue b/resources/assets/js/components/MicroApps/modal.vue index 957cfee97..8cdc1e55c 100644 --- a/resources/assets/js/components/MicroApps/modal.vue +++ b/resources/assets/js/components/MicroApps/modal.vue @@ -6,6 +6,24 @@
+ +
+
+ + + + + +
+
+
+ + + + +
+
+
@@ -19,6 +37,7 @@
+ +
@@ -40,6 +60,7 @@