Files
zhgh_hrbnu/src/main/resources/static/components/activityBx/ActivityBxInfo.vue
T
2026-02-28 14:25:34 +08:00

524 lines
27 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<template>
<div class="activity-bx-info">
<el-tabs tab-position="top" v-model="activeName" v-loading="loading">
<el-tab-pane label="申请信息" name="1">
<border-table>
<table>
<tr>
<th>申请人</th>
<td>{{ viewData.user_name }}( {{ viewData.mobile }})</td>
<th>申请时间</th>
<td>{{ viewData.apply_time }}</td>
<th>申请类型</th>
<td>{{ viewData.apply_type == 1 ? "经费申报" : "报销申请" }}</td>
</tr>
<tr>
<th>活动时间</th>
<td>
<span v-if="viewData.startTime">{{ viewData.startTime }}——{{ viewData.endTime }}</span>
<span v-else>暂无</span>
</td>
<th>活动计划时间</th>
<td>{{ viewData.startPlannedDate }}——{{ viewData.endPlannedDate }}</td>
<th>项目编号</th>
<td>{{ viewData.projectCode }}</td>
</tr>
<tr>
<th>活动主体类型</th>
<td>{{ viewData.activity_type === 40002 ? "基层工会活动" : viewData.activity_type ===
40003 ? "协会活动"
: "校工会活动"}}</td>
<th>申报(承办)单位/协会</th>
<td>{{ viewData.fundsUnitName }}</td>
<th>活动人数</th>
<td>{{ viewData.activity_number || "暂无" }}</td>
</tr>
<tr>
<th>预算费用</th>
<td>{{ viewData.funds_money || "暂无" }}</td>
<th>实际费用</th>
<td>{{ viewData.activity_money || "暂无" }}</td>
<th>活动地点</th>
<td>{{ viewData.address }}</td>
</tr>
<!-- <tr>
<th>收款人</th>
<td>{{ viewData.payee_username || "暂无" }}({{ viewData.payee_loginname }})</td>
<th>支行名称</th>
<td>{{ viewData.activity_card_name || "暂无" }}</td>
<th>报销卡号</th>
<td>{{ viewData.activity_card_number || "暂无" }}</td>
</tr>-->
<tr>
<th>{{ viewData.apply_type == 1 ? "活动方案及简介" : "活动内容" }}</th>
<td colspan="5">
<div v-html="viewData.activity_content"></div>
</td>
</tr>
<tr>
<th>附件</th>
<td colspan="5">
<file-upload v-if="viewData.files && viewData.files.length" :files="viewData.files" :view="true"></file-upload>
<span v-else>暂无</span>
</td>
</tr>
<tr>
<th>签字</th>
<td colspan="5">
<el-image v-if="viewData.us_s" style="width: 300px; height: 100px" :src="viewData.us_s" fit="contain"></el-image>
<span v-else>暂无</span>
</td>
</tr>
</table>
</border-table>
</el-tab-pane>
<el-tab-pane label="费用及报销信息" name="2">
<el-divider content-position="left" style="margin-top: 0 !important"><span style="color: #3ea1ec">活动预算费用</span></el-divider>
<el-table :data="viewData.budgets" border size="mini" style="width: 100%">
<el-table-column sortable type="index" width="100" label="序号" align="center" header-align="center"></el-table-column>
<el-table-column prop="name" label="费用项目名称" align="center" header-align="center">
<!-- <template slot-scope="{row}">
<el-input maxlength="50" placeholder="费用项目名称" readonly v-model="row.name"
type="text"></el-input>
</template>-->
</el-table-column>
<el-table-column prop="budgetPrice" label="预算费用" align="center" header-align="center">
<!-- <template slot-scope="{row}">
<el-input-number placeholder="预算费用" disabled
:precision="2" v-model="row.budgetPrice"></el-input-number>
</template>-->
</el-table-column>
<template v-if="viewData.reimbursement_state_id">
<el-table-column prop="actualPrice" label="实际费用" align="center" header-align="center">
<!-- <template slot-scope="{row}">
<el-input-number disabled placeholder="实际费用" :precision="2" v-model="row.actualprice"></el-input-number>
</template>-->
</el-table-column>
<el-table-column prop="payeeId" label="收款人" align="center" header-align="center">
<template slot-scope="{ row }">
<span>{{ row.username && row.loginName ? row.username + "(" + row.loginName + ")" : "暂无" }}</span>
</template>
</el-table-column>
<el-table-column prop="bankName" label="支行名称" align="center" header-align="center"></el-table-column>
<el-table-column prop="bankCardNum" label="报销卡号" align="center" header-align="center"></el-table-column>
<el-table-column prop="remark" label="备注" align="center" header-align="center"></el-table-column>
</template>
</el-table>
<div v-if="viewData.reimbursement_state_id != null && viewData.reimbursement_state_id !== ''">
<el-divider content-position="left" class="dia"><span style="color: #3ea1ec; margin-top: 20px">其他报销附件</span></el-divider>
<border-table>
<table>
<tr>
<th>发票:</th>
<td colspan="5">
<file-upload
v-if="viewData.billFiles && viewData.billFiles.length"
:files="viewData.billFiles"
:view="true"
></file-upload>
<span v-else>暂无</span>
</td>
</tr>
<tr>
<th>活动报道照片/总结/链接:</th>
<td colspan="5">
<file-upload
v-if="viewData.photoFiles && viewData.photoFiles.length"
:files="viewData.photoFiles"
:view="true"
></file-upload>
<span v-else>暂无</span>
</td>
</tr>
<tr>
<th>奖品/纪念品/服装/道具等活动人员名单:</th>
<td colspan="5">
<file-upload
v-if="viewData.otherFiles && viewData.otherFiles.length"
:files="viewData.otherFiles"
:view="true"
></file-upload>
<span v-else>暂无</span>
</td>
</tr>
</table>
</border-table>
<!-- <el-divider content-position="left" class="dia"><span style="color: #3ea1ec;margin-top: 20px">新闻信息</span></el-divider>
<border-table>
<table>
<tr>
<th>新闻稿件说明:</th>
<td colspan="5">
{{ viewData.newsRemark }}
</td>
</tr>
<tr>
<th>新闻图片:</th>
<td colspan="5">
<file-upload v-if="viewData.picFiles&&viewData.picFiles.length" :files="viewData.picFiles"
:view="true"></file-upload>
<span v-else>暂无</span>
</td>
</tr>
<tr>
<th>新闻附件:</th>
<td colspan="5">
<file-upload v-if="viewData.newsFiles&&viewData.newsFiles.length" :files="viewData.newsFiles"
:view="true"></file-upload>
<span v-else>暂无</span>
</td>
</tr>
</table>
</border-table>-->
</div>
</el-tab-pane>
<el-tab-pane label="基层工会审核信息" name="3" v-if="viewData.division_chairman_name">
<el-form label-width="130px" style="padding: 20px 0">
<el-row gutter="20">
<el-col :span="12">
<el-form-item label="审核人员:">
{{ viewData.dc_username }}
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="审核时间:">
{{ viewData.division_chairman_time }}
</el-form-item>
</el-col>
</el-row>
<el-form-item label="审核意见:">
<div class="textarea-div">{{ viewData.division_chairman_idea ? viewData.division_chairman_idea : "暂无" }}</div>
</el-form-item>
<el-form-item label="签&emsp;&emsp;字:">
<el-image v-if="viewData.dc_s" style="width: 300px; height: 100px" :src="viewData.dc_s" fit="contain"></el-image>
<span v-else>暂无</span>
</el-form-item>
</el-form>
</el-tab-pane>
<el-tab-pane label="校工会文体部负责人审核信息" name="4" v-if="viewData.accounting_name">
<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.a_username }}
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="审核时间:">
{{ viewData.accounting_time }}
</el-form-item>
</el-col>
</el-row>
<el-form-item label="审核意见:">
<div class="textarea-div">{{ viewData.accounting_idea ? viewData.accounting_idea : "暂无" }}</div>
</el-form-item>
<el-form-item label="签&emsp;&emsp;字:">
<el-image v-if="viewData.a_s" style="width: 300px; height: 100px" :src="viewData.a_s" fit="contain"></el-image>
<span v-else>暂无</span>
</el-form-item>
</el-form>
</el-tab-pane>
<el-tab-pane label="校工会副主席审核信息" name="5" v-if="viewData.confirm_trade_name">
<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.ct_username }}
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="审核时间:">
{{ viewData.confirm_trade_time }}
</el-form-item>
</el-col>
</el-row>
<el-form-item label="审核意见:">
<div class="textarea-div">{{ viewData.confirm_trade_idea ? viewData.confirm_trade_idea : "暂无" }}</div>
</el-form-item>
<el-form-item label="签&emsp;&emsp;字:">
<el-image v-if="viewData.ct_s" style="width: 300px; height: 100px" :src="viewData.ct_s" fit="contain"></el-image>
<span v-else>暂无</span>
</el-form-item>
</el-form>
</el-tab-pane>
<el-tab-pane label="校工会分管副主席审核信息" name="6" v-if="viewData.union_chairman_name">
<el-form label-width="130px" style="padding: 20px 0">
<el-row gutter="20">
<el-col :span="12">
<el-form-item label="审核人员:">
{{ viewData.ucc_username }}
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="审核时间:">
{{ viewData.union_chairman_time }}
</el-form-item>
</el-col>
</el-row>
<el-form-item label="审核意见:">
<div class="textarea-div">{{ viewData.union_chairman_idea ? viewData.union_chairman_idea : "暂无" }}</div>
</el-form-item>
<el-form-item label="签&emsp;&emsp;字:">
<el-image v-if="viewData.ucc_s" style="width: 300px; height: 100px" :src="viewData.ucc_s" fit="contain"></el-image>
<span v-else>暂无</span>
</el-form-item>
</el-form>
</el-tab-pane>
<el-tab-pane label="校工会出纳审核信息" name="6" v-if="viewData.union_cashier_name">
<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.uc_username }}
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="审核时间:">
{{ viewData.union_cashier_time }}
</el-form-item>
</el-col>
</el-row>
<el-form-item label="审核意见:">
<div class="textarea-div">{{ viewData.union_cashier_idea ? viewData.union_cashier_idea : "暂无" }}</div>
</el-form-item>
<el-form-item label="签&emsp;&emsp;字:">
<el-image v-if="viewData.uc_s" style="width: 300px; height: 100px" :src="viewData.uc_s" fit="contain"></el-image>
<span v-else>暂无</span>
</el-form-item>
</el-form>
</el-tab-pane>
<el-tab-pane label="协会负责人审核信息(报销)" name="7" v-if="viewData.reimbursement_club_audit">
<el-form label-width="130px" style="padding: 20px 0">
<el-row gutter="20">
<el-col :span="12">
<el-form-item label="审核人员:">
{{ viewData.reimbursement_club_audit.username }}
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="审核时间:">
{{ viewData.reimbursement_club_audit.auditTime }}
</el-form-item>
</el-col>
</el-row>
<el-form-item label="审核意见:">
<div class="textarea-div">
{{ viewData.reimbursement_club_audit.auditOpinion ? viewData.reimbursement_club_audit.auditOpinion : "暂无" }}
</div>
</el-form-item>
<el-form-item label="签&emsp;&emsp;字:">
<el-image
v-if="viewData.reimbursement_club_audit.auditSign"
style="width: 300px; height: 100px"
:src="viewData.reimbursement_club_audit.auditSign"
fit="contain"
></el-image>
<span v-else>暂无</span>
</el-form-item>
</el-form>
</el-tab-pane>
<el-tab-pane label="基层工会主席审核信息(报销)" name="8" v-if="viewData.reimbursement_union_audit">
<el-form label-width="130px" style="padding: 20px 0">
<el-row gutter="20">
<el-col :span="12">
<el-form-item label="审核人员:">
{{ viewData.reimbursement_union_audit.username }}
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="审核时间:">
{{ viewData.reimbursement_union_audit.auditTime }}
</el-form-item>
</el-col>
</el-row>
<el-form-item label="审核意见:">
<div class="textarea-div">
{{ viewData.reimbursement_union_audit.auditOpinion ? viewData.reimbursement_union_audit.auditOpinion : "暂无" }}
</div>
</el-form-item>
<el-form-item label="签&emsp;&emsp;字:">
<el-image
v-if="viewData.reimbursement_union_audit.auditSign"
style="width: 300px; height: 100px"
:src="viewData.reimbursement_union_audit.auditSign"
fit="contain"
></el-image>
<span v-else>暂无</span>
</el-form-item>
</el-form>
</el-tab-pane>
<el-tab-pane label="校工会负责人审核信息(报销)" name="9" v-if="viewData.reimbursement_school_director">
<el-form label-width="130px" style="padding: 20px 0">
<el-row gutter="20">
<el-col :span="12">
<el-form-item label="审核人员:">
{{ viewData.reimbursement_school_director.username }}
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="审核时间:">
{{ viewData.reimbursement_school_director.auditTime }}
</el-form-item>
</el-col>
</el-row>
<el-form-item label="审核意见:">
<div class="textarea-div">
{{ viewData.reimbursement_school_director.auditOpinion ? viewData.reimbursement_school_director.auditOpinion : "暂无" }}
</div>
</el-form-item>
<el-form-item label="签&emsp;&emsp;字:">
<el-image
v-if="viewData.reimbursement_school_director.auditSign"
style="width: 300px; height: 100px"
:src="viewData.reimbursement_school_director.auditSign"
fit="contain"
></el-image>
<span v-else>暂无</span>
</el-form-item>
</el-form>
</el-tab-pane>
<el-tab-pane label="校工会主席审核信息(报销)" name="10" v-if="viewData.reimbursement_school_chairman">
<el-form label-width="130px" style="padding: 20px 0">
<el-row gutter="20">
<el-col :span="12">
<el-form-item label="审核人员:">
{{ viewData.reimbursement_school_chairman.username }}
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="审核时间:">
{{ viewData.reimbursement_school_chairman.auditTime }}
</el-form-item>
</el-col>
</el-row>
<el-form-item label="审核意见:">
<div class="textarea-div">
{{ viewData.reimbursement_school_chairman.auditOpinion ? viewData.reimbursement_school_chairman.auditOpinion : "暂无" }}
</div>
</el-form-item>
<el-form-item label="签&emsp;&emsp;字:">
<el-image
v-if="viewData.reimbursement_school_chairman.auditSign"
style="width: 300px; height: 100px"
:src="viewData.reimbursement_school_chairman.auditSign"
fit="contain"
></el-image>
<span v-else>暂无</span>
</el-form-item>
</el-form>
</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: {
handle: {
type: Boolean,
default: false
},
label: {
type: String,
default: "审核"
},
panes: {
type: Array,
default: []
}
},
data() {
return {
activeName: "1",
viewData: {
goods: [],
budgets: []
},
loading: true
}
},
components: {
"file-upload": httpVueLoader("/components/plugins/FileUpload.vue")
},
methods: {
hasPane(name) {
if (!this.handle) {
return true
}
return this.panes.includes(name)
},
async getActInfo(id) {
this.loading = true
const { data, code, msg } = await $.get("/platform/jf/activity_bx/reimbursement/findOne", { id })
this.loading = false
if (data) {
this.viewData.billFiles = []
this.viewData.photoFiles = []
this.viewData.otherFiles = []
this.viewData.picFiles = []
this.viewData.newsFiles = []
this.viewData.files = []
this.activeName = this.handle ? "999" : "1"
this.viewData = data
if (data.files && data.files.length > 0) this.viewData.files = JSON.parse(data.files)
if (data.billFiles && data.billFiles.length > 0) this.viewData.billFiles = JSON.parse(data.billFiles)
if (data.photoFiles && data.photoFiles.length > 0) this.viewData.photoFiles = JSON.parse(data.photoFiles)
if (data.otherFiles && data.otherFiles.length > 0) this.viewData.otherFiles = JSON.parse(data.otherFiles)
if (data.picFiles && data.picFiles.length > 0) this.viewData.picFiles = JSON.parse(data.picFiles)
if (data.newsFiles && data.newsFiles.length > 0) this.viewData.newsFiles = JSON.parse(data.newsFiles)
if (data.budgets && data.budgets.length > 0) this.viewData.budgets = JSON.parse(data.budgets)
// this.viewData.goods = data.Goods
} else {
this.viewData = {}
this.$message({
message: "获取信息失败",
type: "error"
})
}
}
}
}
</script>
<style>
.activity-bx-info .el-timeline {
padding-left: 0;
}
.sign_img {
max-width: 300px;
max-height: 100px;
}
.el-divider--horizontal {
margin-top: 30px !important;
margin-bottom: 40px;
}
</style>