Files
zhgh_hmc/src/main/resources/static/components/jdh/JdhTwoInfo.vue
T
2024-11-29 09:03:59 +08:00

169 lines
5.2 KiB
Vue

<style>
.el-descriptions__table {
table-layout: fixed !important;
}
.el-descriptions-item__cell {
text-align: center !important;
}
</style>
<template>
<div>
<el-tabs tab-position="top" v-model="activeName" v-loading="loading">
<el-tab-pane label="会议信息" name="1">
<el-descriptions class="margin-top" title="" :column="3" border>
<el-descriptions-item span="3">
<template slot="label">会议名称</template>
<div v-html="viewData.meeting_name"></div>
</el-descriptions-item>
<el-descriptions-item>
<template slot="label">申请人</template>
<div v-html="viewData.username"></div>
</el-descriptions-item>
<el-descriptions-item>
<template slot="label">申请时间</template>
<div v-html="viewData.create_time"></div>
</el-descriptions-item>
<el-descriptions-item>
<template slot="label">所在单位</template>
<div v-html="viewData.unit_name"></div>
</el-descriptions-item>
<el-descriptions-item>
<template slot="label">届次</template>
<div v-html="viewData.jdhallname"></div>
</el-descriptions-item>
<el-descriptions-item span="2">
<template slot="label">审核状态</template>
<div :style="'color:'+viewData.color">{{ viewData.state_name }}</div>
</el-descriptions-item>
<el-descriptions-item span="3">
<template slot="label">会议议题</template>
<div class="text-left" v-html="viewData.meeting_topic"></div>
</el-descriptions-item>
<el-descriptions-item span="3">
<template slot="label">备注</template>
<div class="text-left" v-html="viewData.remark"></div>
</el-descriptions-item>
<el-descriptions-item span="3">
<template slot="label">附件</template>
<div class="text-left">
<file-upload v-if="viewData.files&&viewData.files.length"
:files="viewData.files"
:view="true"></file-upload>
<span v-else>暂无</span>
</div>
</el-descriptions-item>
</el-descriptions>
</el-tab-pane>
<el-tab-pane label="院级党委意见" name="2" v-if="viewData.party_committee_id">
<el-form label-width="130px" style="padding: 20px 0">
<el-form-item label="审核信息&emsp;" label-width="135px" class="view-header"></el-form-item>
<el-row gutter="20">
<el-col :span="12">
<el-form-item label="审核人:">
{{ viewData.party_name }}
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="审核时间:">
{{ viewData.party_committee_time }}
</el-form-item>
</el-col>
</el-row>
<el-form-item label="审核意见:">
{{ viewData.party_committee_opinion }}
</el-form-item>
</el-form>
</el-tab-pane>
<el-tab-pane label="校工会意见" name="3" v-if="viewData.school_union_id">
<el-descriptions class="margin-top" title="" :column="2" border>
<el-descriptions-item>
<template slot="label">批复人</template>
<div v-html="viewData.school_name"></div>
</el-descriptions-item>
<el-descriptions-item>
<template slot="label">批复时间</template>
<div v-html="viewData.school_union_time"></div>
</el-descriptions-item>
<el-descriptions-item span="2">
<template slot="label">批复意见</template>
<div v-html="viewData.school_union_opinion"></div>
</el-descriptions-item>
</el-descriptions>
</el-tab-pane>
<el-tab-pane v-if="handle" :label="label" name="999">
<slot name="handle"></slot>
</el-tab-pane>
</el-tabs>
</div>
</template>
<script>
module.exports = {
props: {
id: String,
handle: {
type: Boolean,
default: false,
},
label: {
type: String,
default: '批复'
},
panes: {
type: Array,
default: []
}
},
data() {
return {
activeName: '1',
loading: true,
viewData: {},
replyFiles: []
}
},
components: {
'file-upload': httpVueLoader('/components/plugins/FileUpload.vue'),
},
methods: {
hasPane(name) {
if (!this.handle) {
return true
}
return this.panes.includes(name)
},
async getMeetingInfo(id) {
const {data} = await $.get(base + "/platform/jdh/level2/info/getMeetingInfo", {id})
return data
},
async openView(id) {
this.loading = true
this.viewData = await this.getMeetingInfo(id)
if (this.viewData) {
if (this.viewData.files) {
this.viewData.files = JSON.parse(this.viewData.files)
}
this.activeName = this.handle ? "999" : "1"
} else {
this.viewData = {}
this.$message.error("获取会议信息失败");
}
this.loading = false
}
}
}
</script>
<style>
</style>