Browse Source

继续优化vuex方案

feature/vuex
Poised_flw 4 years ago
parent
commit
e96e998b92
  1. 4
      src/tis_app_template_kt/src/components/Dialog/Pc.vue
  2. 2
      src/tis_app_template_kt/src/components/controlMixins.js
  3. 1
      src/tis_app_template_kt/src/tis/index.js
  4. 23
      src/tis_app_template_kt/src/tis/store/modules/tisbus.js

4
src/tis_app_template_kt/src/components/Dialog/Pc.vue

@ -16,7 +16,7 @@
<div class="action">
<div class="maxsize" @click='onMaxSize'>最大化</div>
<div class="minisize" @click="minisize">最小化</div>
<div class="close" @click="onClose">关闭</div>
<div class="close" @click.stop="onClose">关闭</div>
</div>
</div>
<component
@ -125,7 +125,7 @@ export default {
},
onClose() {
this.centerDialogVisible = false;
this.$store.commit('tisbus/closeComponent', this.dialog.component)
this.$store.commit('tisbus/closeComponent', [this.dialog.component])
},
toggle() {
this.showSizeChoice = !this.showSizeChoice;

2
src/tis_app_template_kt/src/components/controlMixins.js

@ -61,7 +61,7 @@ export const controlMixins = {
console.log('删除', index)
// //最小化后
this.list[index].lazy = true
this.$tis.closeComponent([this.list[index].component])
this.$store.commit('tisbus/closeComponent', [this.list[index].component])
this.activeCache > 0 ? this.activeCache-- : ''
},
onMinize(index) {

1
src/tis_app_template_kt/src/tis/index.js

@ -51,6 +51,7 @@ export async function bootstrap(props) {
//将这个bus同步给app内维护的bus
// bus.initAppBusById(bus,props.tis.appId)
// props.tis.privateBus.asserts = bus.
store.commit('tisbus/updateAppId', props.tis.appId)
//主题初始化
const theme = localStorage.getItem('TIS_DESIGN_THEME') || 'default'
swithTheme(theme)

23
src/tis_app_template_kt/src/tis/store/modules/tisbus.js

@ -4,6 +4,7 @@ import {registerApps} from '../.././scriptsLoader/index'
export default {
namespaced: true,
state: {
appId: '',
dialogZIndex: 400,
curBaseUrl: '',
baseUrl: process.env.NODE_ENV === 'development' ? process.env.BASE_URL : '',
@ -46,6 +47,9 @@ export default {
},
},
mutations: {
updateAppId(state, appId) {
state.appId = appId
},
// 传递当前所处组件的上下文环境
menuStatusUpdate(state) {
const onActives = state.layouts
@ -54,14 +58,13 @@ export default {
component: c.component.name || c.component,
status: c.status,
}))
const appId = ''
console.log('============>', appId, onActives)
// TODO 这里通过event-bus来实现吧,Vue实例获取不到
// window.esapp.tis.$emit('TIS_TEMPLATE_MENU_ACTIVE', {
// appId,
// onActives: onActives,
// system: true,
// })
const appId = state.appId
// 调用框架的tis进行事件通信
window.esapp.tis.$emit('TIS_TEMPLATE_MENU_ACTIVE', {
appId,
onActives: onActives,
system: true,
})
},
// 初始化配置信息
async initData(state, props) {
@ -126,7 +129,7 @@ export default {
})
state.actives = [...state.actives]
console.log('after minimize', state.actives)
this.commit('menuStatusUpdate')
this.commit('tisbus/menuStatusUpdate')
},
// 关闭组件
closeComponent(state, components) {
@ -150,7 +153,7 @@ export default {
})
console.log('layouts变化状态', state.layouts)
console.log('actives变化状态', state.actives)
this.commit('menuStatusUpdate')
this.commit('tisbus/menuStatusUpdate')
},
// initLayouts state.layouts 初始化,外部组件
initLayouts(state, layouts = []) {

Loading…
Cancel
Save