102 lines
2.6 KiB
Vue
102 lines
2.6 KiB
Vue
|
|
<template>
|
|||
|
|
<section class="conference">
|
|||
|
|
<ai-list v-if="!showDetail">
|
|||
|
|
<template slot="title">
|
|||
|
|
<ai-title title="会议管理"></ai-title>
|
|||
|
|
</template>
|
|||
|
|
<template slot="tabs">
|
|||
|
|
<el-tabs v-model="currIndex" @tab-click="handleClick">
|
|||
|
|
<el-tab-pane v-for="(tab,i) in tabs" :key="i" :label="tab.label" :name="String(i)">
|
|||
|
|
<component :is="tab.comp" v-if="currIndex==i" :ref="currIndex" :instance="instance" :dict="dict"
|
|||
|
|
:permissions="permissions" @goPage="goPage" :listType="listType" />
|
|||
|
|
</el-tab-pane>
|
|||
|
|
</el-tabs>
|
|||
|
|
</template>
|
|||
|
|
</ai-list>
|
|||
|
|
|
|||
|
|
<component v-else :is="currentComp" :instance="instance" :dict="dict" :detail="detailRow" :listType="listType" @gotoEdit="gotoAdd" ></component>
|
|||
|
|
|
|||
|
|
</section>
|
|||
|
|
</template>
|
|||
|
|
<script>
|
|||
|
|
import addMeeting from './addMeeting';
|
|||
|
|
import detail from './detail'
|
|||
|
|
import list from './list'
|
|||
|
|
|
|||
|
|
export default {
|
|||
|
|
name: 'AppConference',
|
|||
|
|
label: "会议管理",
|
|||
|
|
components: {addMeeting, detail, list},
|
|||
|
|
provide() {
|
|||
|
|
return {
|
|||
|
|
top: this
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
props: {
|
|||
|
|
instance: Function,
|
|||
|
|
dict: Object,
|
|||
|
|
permissions: Function,
|
|||
|
|
},
|
|||
|
|
data() {
|
|||
|
|
return {
|
|||
|
|
//会议状态,0、草稿;1、未开始;2、进行中;3、已取消;4、已结束
|
|||
|
|
//参会状态,0、未确认;1、已确认;2、缺席
|
|||
|
|
currIndex: "0",
|
|||
|
|
currentComp: "",
|
|||
|
|
showDetail: false,
|
|||
|
|
detailRow: {},
|
|||
|
|
listType: '1',
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
computed:{
|
|||
|
|
tabs() {
|
|||
|
|
return [
|
|||
|
|
{label: "我参与的会议", name: "addMeeting", comp: list, detail: detail, permission: ""},
|
|||
|
|
{label: "我发起的会议", name: "addMeeting", comp: list, detail: detail, permission: ""},
|
|||
|
|
]
|
|||
|
|
},
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
methods: {
|
|||
|
|
goPage(params) {
|
|||
|
|
this.detailRow = params.row
|
|||
|
|
this.currentComp = params.comp
|
|||
|
|
|
|||
|
|
if(params.comp == 'detail' || params.comp == 'addMeeting') {
|
|||
|
|
this.showDetail = true
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
handleClick() {
|
|||
|
|
if (this.currIndex == 0) {
|
|||
|
|
this.listType = '1'
|
|||
|
|
} else {
|
|||
|
|
this.listType = '0'
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
goBack() {
|
|||
|
|
this.showDetail = false;
|
|||
|
|
if (this.currIndex == '0') {
|
|||
|
|
this.listType = '1'
|
|||
|
|
} else {
|
|||
|
|
this.listType = '0'
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
gotoAdd(obj) {
|
|||
|
|
this.showDetail = true
|
|||
|
|
this.detailRow = obj
|
|||
|
|
this.currentComp = 'addMeeting'
|
|||
|
|
},
|
|||
|
|
},
|
|||
|
|
}
|
|||
|
|
</script>
|
|||
|
|
<style lang="scss" scoped>
|
|||
|
|
.conference {
|
|||
|
|
height: 100%;
|
|||
|
|
|
|||
|
|
::v-deep .ai-list__content--right-wrapper {
|
|||
|
|
background-color: transparent !important;
|
|||
|
|
box-shadow: none !important;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
</style>
|