Files
dvcp_v2_webapp/packages/3.0.0/AppContentInfo/AppContentInfo.vue
yanran200730 53df0f957c 内容发布
2021-12-24 20:01:57 +08:00

83 lines
1.7 KiB
Vue

<template>
<div class="doc-circulation ailist-wrapper">
<keep-alive :include="['List']">
<component ref="component" :moduleName="moduleName" :moduleId="moduleId" :is="component" @change="onChange" :params="params" :instance="instance" :dict="dict"></component>
</keep-alive>
</div>
</template>
<script>
import List from './components/List'
import Add from './components/Add'
import Detail from './components/Detail'
export default {
name: 'AppContentInfo',
label: '内容发布',
props: {
instance: Function,
dict: Object
},
data () {
return {
component: 'List',
params: {},
moduleId: '',
include: [],
moduleName: ''
}
},
components: {
Add,
List,
Detail
},
created () {
this.moduleId = this.$route.query.moduleId
this.instance.post('/app/appcontentmoduleinfo/queryDetailById?id=' + this.$route.query.moduleId).then(res => {
if (res.code === 0) {
this.moduleName = res.data.moduleName
}
})
},
methods: {
onChange (data) {
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 === 'list') {
this.component = 'List'
this.params = data.params
this.$nextTick(() => {
if (data.isRefresh) {
this.$refs.component.getList()
}
})
}
}
}
}
</script>
<style lang="scss">
.doc-circulation {
height: 100%;
background: #F3F6F9;
overflow: auto;
}
</style>