Files
dvcp_v2_webapp/project/pingchang/apps/AppOrganizationChange/AppOrganizationChange.vue

62 lines
1.3 KiB
Vue
Raw Normal View History

2022-10-13 17:10:36 +08:00
<template>
<section class="AppOrganizationChange">
<keep-alive :include="['List']">
2022-10-21 11:53:29 +08:00
<component :is="currentPage" :instance="instance" :selected.sync="selected" :params="params" :dict="dict" @change="onChange"/>
2022-10-13 17:10:36 +08:00
</keep-alive>
</section>
</template>
<script>
2022-10-21 11:53:29 +08:00
import {mapState} from "vuex";
2022-10-13 17:10:36 +08:00
import addChange from "./components/addChange.vue";
import List from "./components/List.vue";
2022-10-18 15:56:46 +08:00
import organizationSetting from "./components/organizationSetting.vue";
2022-10-13 17:10:36 +08:00
export default {
name: "AppOrganizationChange",
label: "组织换届",
props: {
instance: Function,
dict: Object,
},
2022-10-18 15:56:46 +08:00
components: {
2022-10-21 11:53:29 +08:00
List,
2022-10-18 15:56:46 +08:00
addChange,
organizationSetting,
},
2022-10-21 11:53:29 +08:00
computed: {
...mapState(['user']),
currentPage() {
if (this.$route.hash == "#add") {
return addChange
} else if (this.$route.hash == "#setting") {
return organizationSetting
} else return List
}
},
2022-10-13 17:10:36 +08:00
data() {
return {
component: "List",
params: {},
include: [],
selected: {},
}
},
methods: {
onChange(data) {
2022-10-21 11:53:29 +08:00
this.params = data.params;
2022-10-13 17:10:36 +08:00
},
},
created() {
let {organizationId: id, organizationName: name} = this.user.info
this.selected = {id, name}
}
}
</script>
<style lang="scss" scoped>
.AppOrganizationChange {
height: 100%;
}
</style>