131 lines
3.0 KiB
Vue
131 lines
3.0 KiB
Vue
<template>
|
||
<div class="main-box">
|
||
<a-card :bordered="false">
|
||
<!-- 基本信息-->
|
||
<div class="basic-info basic-box">
|
||
<h3 class="title">基本信息</h3>
|
||
<a-spin :spinning="basicLoading">
|
||
<a-row :gutter="10">
|
||
<a-col :span="12" class="basic-info-item"><label>理事会名称:</label><span>{{ councilDetail.name }}</span>
|
||
</a-col>
|
||
<a-col :span="12" class="basic-info-item"><label>负责人:</label><span>{{ councilDetail.principal }}</span>
|
||
</a-col>
|
||
<a-col :span="24" class="basic-info-item"><label>目标简述:</label><span>{{ councilDetail.remarks }}</span>
|
||
</a-col>
|
||
</a-row>
|
||
</a-spin>
|
||
</div>
|
||
|
||
<!-- 理事会会议-->
|
||
<div class="meeting basic-box">
|
||
<h3 class="title">理事会会议</h3>
|
||
<meeting-list :other-params="meetingOtherParams"></meeting-list>
|
||
</div>
|
||
|
||
<!-- 其他分发资料-->
|
||
<div class="meeting basic-box">
|
||
<div class="file-title"><h3 class="title">其他分发资料</h3><span>(如月报、调研表等)</span></div>
|
||
<file-list ref="fileList"></file-list>
|
||
</div>
|
||
</a-card>
|
||
</div>
|
||
</template>
|
||
|
||
<script>
|
||
import MeetingList from '@comp/detailPage/MeetingList'
|
||
import FileList from '@comp/detailPage/FileList'
|
||
import { getCouncilDetailById } from '@api/incomePaymentsApi'
|
||
|
||
export default {
|
||
name: 'CouncilDetailPage',
|
||
components: { MeetingList, FileList },
|
||
data() {
|
||
return {
|
||
basicLoading: false,
|
||
// 理事会详情数据
|
||
councilDetail: {},
|
||
// 文件数据
|
||
fileList: [],
|
||
// 理事会会议的其他字段
|
||
meetingOtherParams: {
|
||
councilId: this.$route.query.id
|
||
}
|
||
}
|
||
},
|
||
created() {
|
||
this.getCouncilDetail()
|
||
},
|
||
methods: {
|
||
getCouncilDetail() {
|
||
if (!this.$route.query.id) {
|
||
return
|
||
}
|
||
this.basicLoading = true
|
||
this.$nextTick(() => {
|
||
this.$refs.fileList.loading = true
|
||
})
|
||
let param = {id: this.$route.query.id}
|
||
getCouncilDetailById(param).then(res => {
|
||
if (res.success) {
|
||
this.councilDetail = res.result
|
||
this.$refs.fileList.dataSource = res.result.files || []
|
||
} else {
|
||
this.$message.warn(res.message)
|
||
}
|
||
}).finally(() => {
|
||
this.basicLoading = false
|
||
this.$nextTick(() => {
|
||
this.$refs.fileList.loading = false
|
||
})
|
||
})
|
||
}
|
||
}
|
||
}
|
||
</script>
|
||
|
||
<style scoped lang="less">
|
||
@import '~@assets/less/common.less';
|
||
|
||
.title {
|
||
position: relative;
|
||
}
|
||
|
||
.title::before {
|
||
position: absolute;
|
||
top: 4px;
|
||
left: -10px;
|
||
content: "";
|
||
height: 20px;
|
||
width: 2px;
|
||
background: #069f99;
|
||
}
|
||
|
||
.basic-box {
|
||
padding: 0 20px 10px 20px;
|
||
}
|
||
|
||
.basic-info {
|
||
|
||
.ant-col {
|
||
margin: 5px 0;
|
||
}
|
||
|
||
&-item {
|
||
display: flex;
|
||
|
||
label {
|
||
flex-shrink: 0;
|
||
}
|
||
}
|
||
}
|
||
|
||
.file-title {
|
||
display: flex;
|
||
align-items: center;
|
||
span {
|
||
margin-left: 10px;
|
||
margin-bottom: 5px;
|
||
}
|
||
}
|
||
</style>
|