Files
dvcp_v2_webapp/project/biaopin/AppSeatManagementXbot/AppSeatManagementXbot.vue
2024-09-02 16:32:42 +08:00

101 lines
2.0 KiB
Vue

<template>
<div class="AppSeatManagement">
<keep-alive :include="['List']">
<component
ref="component"
:is="component"
@change="onChange"
:params="params"
:instance="instance"
:dict="dict"
></component>
</keep-alive>
</div>
</template>
<script>
import List from "./components/List";
import GroupList from "./components/GroupList";
import AnnounceList from './components/AnnounceList'
import Add from './components/Add'
import Detail from './components/Detail'
export default {
name: "AppSeatManagement",
label: "席位管理",
props: {
instance: Function,
dict: Object,
},
data() {
return {
component: "List",
params: {},
include: [],
};
},
components: {
GroupList,
List,
AnnounceList,
Add,
Detail
},
mounted() {
if (this.$route.params.id) {
this.component = 'Detail'
this.params = {
id: this.$route.params.id
}
}
},
methods: {
onChange(data) {
if (data.type === "GroupList") {
this.component = "GroupList";
this.params = data.params;
}
if (data.type === "List") {
this.component = "List";
this.params = data.params;
this.$nextTick(() => {
if (data.isRefresh) {
this.$refs.component.getTableData();
}
});
}
if (data.type === 'Add') {
this.component = 'Add'
this.params = data.params
}
if (data.type === 'Detail') {
this.component = 'Detail'
this.params = data.params
}
if (data.type === 'AnnounceList') {
this.component = 'AnnounceList'
this.params = data.params
this.$nextTick(() => {
if (data.isRefresh) {
this.$refs.component.getList()
}
})
}
},
},
};
</script>
<style lang="scss">
.AppSeatManagement {
height: 100%;
background: #f3f6f9;
overflow: auto;
}
</style>