Files
dvcp_v2_webapp/project/pengliuyang/apps/AppCommunityResource/AppCommunityResource.vue
2022-09-30 16:14:56 +08:00

57 lines
1.4 KiB
Vue

<template>
<keep-alive include="resourceList">
<component :is="currentPage" v-bind="$props" @change="onChange"/>
</keep-alive>
</template>
<script>
import resourceList from "./components/resourceList.vue"
import addResource from "./components/addResource.vue"
import resourceMap from "./components/resourceMap.vue"
import resourceManagement from "./components/resourceManagement.vue"
import resourceClassification from './components/resourceClassification.vue'
export default {
name: 'AppCommunityResource',
label: "社会资源",
props: {
instance: Function,
dict: Object,
permissions: Function,
},
computed: {
currentPage() {
let { hash } = this.$route
return hash == "#resourceClassification" ? resourceClassification :
hash == "#resourceManagement" ? resourceManagement :
hash == "#resourceMap" ? resourceMap :
hash == "#addResource" ? addResource:resourceList
}
},
components: {
addResource,
resourceList,
resourceMap,
resourceManagement,
resourceClassification,
},
methods: {
onChange(data) {
let {type, params: query} = data,
hash = ["resourceMap", "resourceManagement","resourceClassification","resourceList","addResource"].includes(type) ? "" : "#" + type
this.$router.push({hash, query})
}
}
}
</script>
<style lang="scss" scoped>
.AppCommunityResource {
height: 100%;
width: 100%;
}
</style>