57 lines
1.4 KiB
Vue
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>
|