mirror of
https://github.com/kuaifan/dootask.git
synced 2026-02-04 20:24:14 +00:00
no message
This commit is contained in:
parent
6539b14ecf
commit
5581d1431b
@ -1,9 +1,9 @@
|
|||||||
<template>
|
<template>
|
||||||
<micro-app
|
<micro-app
|
||||||
v-if="appMode=='page'"
|
v-if="details.mode=='page'"
|
||||||
v-show="appShow"
|
v-show="details.show"
|
||||||
:name="appName"
|
:name="details.name"
|
||||||
:url="appUrl"
|
:url="details.url"
|
||||||
:data="appData"
|
:data="appData"
|
||||||
@created="created"
|
@created="created"
|
||||||
@beforemount="beforemount"
|
@beforemount="beforemount"
|
||||||
@ -11,17 +11,17 @@
|
|||||||
@unmount="unmount"
|
@unmount="unmount"
|
||||||
@error="error"/>
|
@error="error"/>
|
||||||
<DrawerOverlay
|
<DrawerOverlay
|
||||||
v-else-if="appMode=='drawer'"
|
v-else-if="details.mode=='drawer'"
|
||||||
v-model="appShow"
|
v-model="details.show"
|
||||||
ref="drawer"
|
ref="drawer"
|
||||||
placement="right"
|
placement="right"
|
||||||
modal-class="micro-apps-modal"
|
modal-class="micro-apps-modal"
|
||||||
drawer-class="micro-apps-drawer"
|
drawer-class="micro-apps-drawer"
|
||||||
:size="1200">
|
:size="1200">
|
||||||
<div v-if="appShow" class="page-microapp">
|
<div v-if="details.show" class="page-microapp">
|
||||||
<micro-app
|
<micro-app
|
||||||
:name="appName"
|
:name="details.name"
|
||||||
:url="appUrl"
|
:url="details.url"
|
||||||
:data="appData"
|
:data="appData"
|
||||||
@created="created"
|
@created="created"
|
||||||
@beforemount="beforemount"
|
@beforemount="beforemount"
|
||||||
@ -60,6 +60,8 @@ import {DatePicker} from 'view-design-hi';
|
|||||||
import DrawerOverlay from "./DrawerOverlay/index.vue";
|
import DrawerOverlay from "./DrawerOverlay/index.vue";
|
||||||
import emitter from "../store/events";
|
import emitter from "../store/events";
|
||||||
|
|
||||||
|
const mountApps = new Map();
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "MicroApps",
|
name: "MicroApps",
|
||||||
components: {DrawerOverlay},
|
components: {DrawerOverlay},
|
||||||
@ -67,13 +69,7 @@ export default {
|
|||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
loadIng: 0,
|
loadIng: 0,
|
||||||
|
details: {},
|
||||||
appMode: '',
|
|
||||||
appShow: false,
|
|
||||||
|
|
||||||
appName: "micro-app",
|
|
||||||
appUrl: "",
|
|
||||||
appParams: {},
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
@ -110,16 +106,27 @@ export default {
|
|||||||
DatePicker
|
DatePicker
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
theme: this.themeName,
|
|
||||||
languages: {
|
datas: {
|
||||||
languageList,
|
...this.details.params,
|
||||||
languageName,
|
|
||||||
languageType: languageName,
|
// theme: this.themeName,
|
||||||
|
themeName: this.themeName,
|
||||||
|
languages: {
|
||||||
|
languageList,
|
||||||
|
languageName,
|
||||||
|
// languageType: languageName,
|
||||||
|
},
|
||||||
|
|
||||||
|
userInfo: this.userInfo,
|
||||||
|
userToken: this.userToken,
|
||||||
|
|
||||||
|
electron: this.$Electron,
|
||||||
|
},
|
||||||
|
|
||||||
|
onClose: () => {
|
||||||
|
this.$refs.drawer?.onClose();
|
||||||
},
|
},
|
||||||
userInfo: this.userInfo,
|
|
||||||
userToken: this.userToken,
|
|
||||||
electron: this.$Electron,
|
|
||||||
params: this.appParams,
|
|
||||||
|
|
||||||
nextZIndex: () => {
|
nextZIndex: () => {
|
||||||
if (typeof window.modalTransferIndex === 'number') {
|
if (typeof window.modalTransferIndex === 'number') {
|
||||||
@ -128,10 +135,6 @@ export default {
|
|||||||
return 1000;
|
return 1000;
|
||||||
},
|
},
|
||||||
|
|
||||||
onClose: () => {
|
|
||||||
this.$refs.drawer?.onClose();
|
|
||||||
},
|
|
||||||
|
|
||||||
openAppChildPage: (objects) => {
|
openAppChildPage: (objects) => {
|
||||||
this.$store.dispatch('openAppChildPage', objects);
|
this.$store.dispatch('openAppChildPage', objects);
|
||||||
},
|
},
|
||||||
@ -147,31 +150,45 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
created() {
|
// 元素被创建
|
||||||
console.log('元素被创建')
|
created(e) {
|
||||||
this.loadIng++
|
if (!mountApps.has(e.detail.name)) {
|
||||||
|
this.loadIng++
|
||||||
|
}
|
||||||
},
|
},
|
||||||
beforemount() {
|
|
||||||
console.log('即将渲染')
|
// 即将渲染
|
||||||
this.loadIng--
|
beforemount(e) {
|
||||||
|
if (!mountApps.has(e.detail.name)) {
|
||||||
|
mountApps.set(e.detail.name, e.detail.name);
|
||||||
|
this.loadIng--
|
||||||
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
// 已经渲染完成
|
||||||
mounted() {
|
mounted() {
|
||||||
console.log('已经渲染完成')
|
|
||||||
},
|
},
|
||||||
|
|
||||||
|
// 已经卸载
|
||||||
unmount() {
|
unmount() {
|
||||||
console.log('已经卸载')
|
|
||||||
},
|
},
|
||||||
|
|
||||||
|
// 加载出错
|
||||||
error() {
|
error() {
|
||||||
console.log('加载出错')
|
|
||||||
},
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 打开微应用
|
||||||
|
* @param data
|
||||||
|
*/
|
||||||
openMicroApp(data) {
|
openMicroApp(data) {
|
||||||
this.appName = data.name ?? 'micro-app';
|
this.details = Object.assign({
|
||||||
this.appUrl = data.url ?? null;
|
mode: 'drawer', // page, drawer
|
||||||
this.appParams = data.params ?? {};
|
name: 'drawer-app', // 微应用名称
|
||||||
|
show: true, // 是否显示
|
||||||
this.appShow = data.show ?? true;
|
url: null, // 微应用地址
|
||||||
this.appMode = data.mode ?? 'drawer';
|
params: {}, // 传递给微应用的数据
|
||||||
|
}, data)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
6
resources/assets/js/store/actions.js
vendored
6
resources/assets/js/store/actions.js
vendored
@ -4675,14 +4675,16 @@ export default {
|
|||||||
name: 'app-okr-details',
|
name: 'app-okr-details',
|
||||||
|
|
||||||
url: $A.mainUrl(`apps/okr/okrDetails?data=${path}`),
|
url: $A.mainUrl(`apps/okr/okrDetails?data=${path}`),
|
||||||
params: {},
|
params: {
|
||||||
|
model: 'details',
|
||||||
|
},
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
// 打开列表、统计
|
// 打开列表、统计
|
||||||
emitter.emit('openMicroApp', {
|
emitter.emit('openMicroApp', {
|
||||||
mode: 'drawer',
|
mode: 'drawer',
|
||||||
show: true,
|
show: true,
|
||||||
name: `app-okr`,
|
name: `app-okr-${path}`,
|
||||||
|
|
||||||
url: $A.mainUrl(`apps/okr/${path}`),
|
url: $A.mainUrl(`apps/okr/${path}`),
|
||||||
params: {},
|
params: {},
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user