Files
zhgh_hmc/src/main/resources/static/components/club/clubRegistInfo.vue
T
2025-02-25 16:15:19 +08:00

270 lines
11 KiB
Vue

<template>
<el-tabs tab-position="top" v-model="clubInfo" v-loading="loading">
<el-tab-pane label="基础信息" name="1">
<vi-title title="协会信息"></vi-title>
<el-descriptions :column="4" border class="table_fixed">
<el-descriptions-item label="协会名称">
{{viewData.name}}
</el-descriptions-item>
<el-descriptions-item label="申请时间">
{{viewData.create_time}}
</el-descriptions-item>
<el-descriptions-item label="协会编码">
{{viewData.code}}
</el-descriptions-item>
<el-descriptions-item label="发起人">
{{ viewData.sponsorName }}
</el-descriptions-item>
<el-descriptions-item label="协会类型">
{{ viewData.typeName }}
</el-descriptions-item>
<el-descriptions-item label="报名联系人">
{{ viewData.fzrName }}
</el-descriptions-item>
<el-descriptions-item label="所属单位">
{{ viewData.concatPersonUnitName }}
</el-descriptions-item>
<el-descriptions-item label="联系人电话">
{{ viewData.concatPersonMobile }}
</el-descriptions-item>
<el-descriptions-item label="联系人邮箱">
{{ viewData.concatPersonEmail }}
</el-descriptions-item>
<el-descriptions-item label="成立时间">
{{ viewData.foundTime }}
</el-descriptions-item>
<el-descriptions-item label="会费标准">
<!-- {{viewData.dues_standard}}-->
{{ '30元/人' }}
</el-descriptions-item>
<el-descriptions-item label="状态">
{{viewData.stateName}}
</el-descriptions-item>
<el-descriptions-item span="4">
<template slot="label">协会介绍</template>
<div class="text-left" v-html="viewData.stjs"></div>
</el-descriptions-item>
<el-descriptions-item span="4">
<template slot="label">协会宗旨</template>
<div class="text-left" v-html="viewData.stzz"></div>
</el-descriptions-item>
<el-descriptions-item span="2">
<template slot="label">钉钉二维码</template>
<file-upload v-if="viewData.QQGroupCode && viewData.QQGroupCode.length > 0"
:files="JSON.parse(viewData.QQGroupCode)"
:view="true"></file-upload>
</el-descriptions-item>
<!-- <el-descriptions-item span="2">
<template slot="label">微信群二维码</template>
<file-upload v-if="viewData.wechatGroupCode && viewData.wechatGroupCode.length > 0"
:files="JSON.parse(viewData.wechatGroupCode)"
:view="true"></file-upload>
</el-descriptions-item>-->
<el-descriptions-item span="2">
<template slot="label">申请成立报告</template>
<file-upload v-if="viewData.establishReport && viewData.establishReport.length > 0"
:files="JSON.parse(viewData.establishReport)"
:view="true"></file-upload>
</el-descriptions-item>
<el-descriptions-item span="2">
<template slot="label">章程草案</template>
<file-upload v-if="viewData.rulesFile && viewData.rulesFile.length > 0"
:files="JSON.parse(viewData.rulesFile)"
:view="true"></file-upload>
</el-descriptions-item>
<!-- <el-descriptions-item span="2">
<template slot="label">经费来源及管理办法</template>
<file-upload v-if="viewData.manageFile && viewData.manageFile.length > 0"
:files="JSON.parse(viewData.manageFile)"
:view="true"></file-upload>
</el-descriptions-item>-->
<el-descriptions-item span="2">
<template slot="label">年度活动计划</template>
<file-upload v-if="viewData.yearPlanFile && viewData.yearPlanFile.length > 0"
:files="JSON.parse(viewData.yearPlanFile)"
:view="true"></file-upload>
</el-descriptions-item>
<el-descriptions-item span="4">
<template slot="label">其他附件</template>
<file-upload v-if="viewData.files && viewData.files.length > 0"
:files="JSON.parse(viewData.files)"
:view="true"></file-upload>
</el-descriptions-item>
</el-descriptions>
<vi-title title="成员列表" style="margin-top: 20px"></vi-title>
<el-table :data="viewData.clubuser" size="small" border max-height="500"
:header-cell-style="{background:'#F5F5F5',color:'#606266'}">
<el-table-column align="center" header-align="center" label="序号" type="index"
width="80px"></el-table-column>
<el-table-column label="人员身份" width="150px" prop="sf" header-align="center"
align="center">
<template slot-scope="scope">
<el-lable v-if="scope.row.sf === 1">会长</el-lable>
<el-lable v-if="scope.row.sf === 2">成员</el-lable>
<el-lable v-if="scope.row.sf === 3">副会长</el-lable>
<el-lable v-if="scope.row.sf === 4">秘书长</el-lable>
<el-lable v-if="scope.row.sf === 5">副秘书长</el-lable>
</template>
</el-table-column>
<el-table-column label="工号" width="150px" prop="loginname" header-align="center"
align="center"></el-table-column>
<el-table-column label="姓名" width="150px" prop="username" header-align="center"
align="center"></el-table-column>
<el-table-column label="性别" width="150px" prop="sex" header-align="center"
align="center"></el-table-column>
<el-table-column label="电话" width="150px" prop="mobile" header-align="center"
align="center"></el-table-column>
<el-table-column label="所属单位" prop="unitname" header-align="center" show-overflow-tooltip
align="center"></el-table-column>
<el-table-column label="是否同意邀请" prop="unitname" header-align="center"
align="center">
<template v-slot="{row}">
<span class="text-success" v-if="row.invite === true && row.status === 5"></span>
<span v-if="row.invite === true && row.status !== 5"></span>
<span v-if="row.invite === false">未邀请</span>
</template>
</el-table-column>
</el-table>
</el-tab-pane>
<el-tab-pane label="分工会审核信息" name="2" v-if="hasPane(2) && viewData.unitPartAuditId">
<vi-title title="审核信息"></vi-title>
<el-descriptions :column="2" border class="table_fixed">
<el-descriptions-item label="审核人员">
{{ viewData.unitPartAudit?.username }}
</el-descriptions-item>
<el-descriptions-item label="审核时间">
{{ viewData.unitPartAudit?.auditTime }}
</el-descriptions-item>
<el-descriptions-item :span="2" label="审核意见">
{{ viewData.unitPartAudit?.auditOpinion }}
</el-descriptions-item>
</el-descriptions>
</el-tab-pane>
<el-tab-pane label="校工会办公室主管审核信息" name="3" v-if="hasPane(3) && viewData.xtAuditId">
<vi-title title="审核信息"></vi-title>
<el-descriptions :column="2" border class="table_fixed">
<el-descriptions-item label="审核人员">
{{ viewData.xtAudit?.username }}
</el-descriptions-item>
<el-descriptions-item label="审核时间">
{{ viewData.xtAudit?.auditTime }}
</el-descriptions-item>
<el-descriptions-item :span="2" label="审核意见">
{{ viewData.xtAudit?.auditOpinion }}
</el-descriptions-item>
<el-descriptions-item label="审核附件">
<file-upload v-if="viewData.schoolReplyFile && viewData.schoolReplyFile.length > 0"
:files="JSON.parse(viewData.schoolReplyFile)"
:view="true"></file-upload>
</el-descriptions-item>
</el-descriptions>
</el-tab-pane>
<el-tab-pane label="分管副主席审核信息" name="4" v-if="hasPane(4) && viewData.xldAuditId">
<vi-title title="审核信息"></vi-title>
<el-descriptions :column="2" border class="table_fixed">
<el-descriptions-item label="审核人员">
{{ viewData.xldAudit?.username }}
</el-descriptions-item>
<el-descriptions-item label="审核时间">
{{ viewData.xldAudit?.auditTime }}
</el-descriptions-item>
<el-descriptions-item :span="2" label="审核意见">
{{ viewData.xldAudit?.auditOpinion }}
</el-descriptions-item>
</el-descriptions>
</el-tab-pane>
<el-tab-pane label="校工会审核信息" name="5" v-if="hasPane(5) && viewData.xghAuditId">
<vi-title title="审核信息"></vi-title>
<el-descriptions :column="2" border class="table_fixed">
<el-descriptions-item label="审核人员">
{{ viewData.xghAudit?.username }}
</el-descriptions-item>
<el-descriptions-item label="审核时间">
{{ viewData.xghAudit?.auditTime }}
</el-descriptions-item>
<el-descriptions-item label="审核意见">
{{ viewData.xghAudit?.auditOpinion }}
</el-descriptions-item>
<el-descriptions-item label="成立时间">
{{ viewData.foundTime }}
</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: 'clubRegistInfo',
props: {
handle: {
type: Boolean,
default: false,
},
label: {
type: String,
default: '审核'
},
panes: {
type: Array,
default: () => {return []}
},
},
data() {
return {
clubInfo: "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/clubMyApply/findOne', {id})
this.loading = false
if (data) {
this.clubInfo = this.handle ? "999" : "1"
this.viewData = data
}
}
}
}
</script>
<style scoped>
.el-descriptions-item__cell {
text-align: center !important;
}
.el-descriptions-item__label {
min-width: 200px !important;
}
.el-descriptions .is-bordered .el-descriptions-item__cell {
min-width: 200px !important;
}
</style>