Files
UNION_HUTB/target/classes/static/components/club/clubUserApplyInfo.vue
T
2026-09-09 09:14:28 +08:00

166 lines
5.2 KiB
Vue

<template>
<el-tabs tab-position="top" v-model="clubUserInfo" v-loading="loading">
<el-tab-pane label="基础信息" name="1">
<vi-title title="基础信息"></vi-title>
<el-descriptions :column="3" border class="table_fixed">
<el-descriptions-item label="姓名">
{{viewData.username}}
</el-descriptions-item>
<el-descriptions-item label="性别">
{{viewData.sex}}
</el-descriptions-item>
<el-descriptions-item label="出生年月">
{{moment(viewData.birthday).format('YYYY-MM-DD')}}
</el-descriptions-item>
<el-descriptions-item label="出生地">
{{viewData.birthPlace}}
</el-descriptions-item>
<el-descriptions-item label="文化程度">
{{viewData.education}}
</el-descriptions-item>
<el-descriptions-item label="爱好">
{{viewData.hobby}}
</el-descriptions-item>
<el-descriptions-item label="工作部门">
{{viewData.unitName}}
</el-descriptions-item>
<el-descriptions-item label="职务">
{{viewData.position}}
</el-descriptions-item>
<el-descriptions-item label="电话">
{{viewData.mobile}}
</el-descriptions-item>
<el-descriptions-item label="电子邮箱">
{{viewData.email}}
</el-descriptions-item>
<el-descriptions-item label="家庭住址">
{{viewData.homeAddress}}
</el-descriptions-item>
<el-descriptions-item label="QQ">
{{viewData.QQNumber}}
</el-descriptions-item>
<el-descriptions-item label="身高">
{{viewData.bodyHeight}}
</el-descriptions-item>
<el-descriptions-item label="体重">
{{viewData.bodyWeight}}
</el-descriptions-item>
<el-descriptions-item label="身体状况">
{{viewData.health}}
</el-descriptions-item>
<el-descriptions-item label="经常从事的运动">
{{viewData.sport}}
</el-descriptions-item>
<el-descriptions-item label="是否有过特殊病史">
{{viewData.medicalHistory === true ? '是' : '否'}}
</el-descriptions-item>
<el-descriptions-item label="是否愿意参加本协会的活动">
{{viewData.joinActivity === true ? '是' : '否'}}
</el-descriptions-item>
<el-descriptions-item span="3" label="特别需要说明的问题(身体或心理)">
<div class="text-left" v-html="viewData.otherThing"></div>
</el-descriptions-item>
<!-- <el-descriptions-item span="3" label="备注">-->
<!-- <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">
<el-image
style="width: 100px; height: 120px"
:src="FILE_STREAM_PREVIEW_ADDRESS + '?id=' + viewData.photo"></el-image>
</div>
</el-descriptions-item>
</el-descriptions>
</el-tab-pane>
<el-tab-pane label="社团审核信息" name="2" v-if="hasPane(2) && viewData.clubAuditId">
<vi-title title="审核信息"></vi-title>
<el-descriptions :column="2" border class="table_fixed">
<el-descriptions-item label="审核人员">
{{ viewData.clubAudit.username }}
</el-descriptions-item>
<el-descriptions-item label="审核时间">
{{ viewData.clubAudit.auditTime }}
</el-descriptions-item>
<el-descriptions-item :span="2" label="审核意见">
{{ viewData.clubAudit.auditOpinion }}
</el-descriptions-item>
<!-- <el-descriptions-item label="签字" :span="3">-->
<!-- <el-image v-if="viewData.clubAudit.auditSign"-->
<!-- :src="viewData.clubAudit.auditSign"-->
<!-- fit="contain"-->
<!-- style="width: 300px; height: 100px"></el-image>-->
<!-- <span v-else>暂无</span>-->
<!-- </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>
</template>
<script>
module.exports = {
name: 'clubUserApplyInfo',
props: {
handle: {
type: Boolean,
default: false,
},
label: {
type: String,
default: '审核'
},
panes: {
type: Array,
default: () => {return []}
},
},
data() {
return {
clubUserInfo: "1",
viewData: {},
loading: true,
}
},
methods: {
hasPane(name) {
if (!this.handle) {
return true
}
return this.panes.includes(name)
},
async getInfo(id) {
this.loading = true
const {data, code, msg} = await $.get('/platform/sys/club/sq/findOne', {id})
this.loading = false
if (data) {
this.clubUserInfo = this.handle ? "999" : "1"
this.viewData = data
}
}
}
}
</script>
<style scoped>
.el-descriptions-item__cell {
text-align: center !important;
}
.table_fixed table{
table-layout: fixed;
}
</style>