Files
UNION_NSI/target/classes/static/components/club/clubUserApplyInfo.vue
T
2026-09-08 19:49:21 +08:00

188 lines
6.1 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 label="年审信息" name="3" v-if="hasPane(3) && viewData.yearClubAuditId">
<vi-title title="审核信息"></vi-title>
<el-descriptions :column="2" border class="table_fixed">
<el-descriptions-item label="审核人员">
{{ viewData.yearAudit.username }}
</el-descriptions-item>
<el-descriptions-item label="审核时间">
{{ viewData.yearAudit.auditTime }}
</el-descriptions-item>
<el-descriptions-item :span="2" label="审核意见">
{{ viewData.yearAudit.auditOpinion }}
</el-descriptions-item>
<el-descriptions-item label="签字" :span="3">
<el-image v-if="viewData.yearAudit.auditSign"
:src="viewData.yearAudit.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>