first commit

This commit is contained in:
Paidax
2024-07-03 17:06:36 +08:00
commit 03faa20548
3627 changed files with 874287 additions and 0 deletions
@@ -0,0 +1,548 @@
<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.projectJfName }}</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 style="word-break: break-all" 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.goods" 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="price" label="预算费用" align="center"
header-align="center">
<template slot-scope="{row}">
<el-input maxlength="50" placeholder="预算费用" readonly v-model="row.price"
type="text"></el-input>
</template>
</el-table-column>
<el-table-column prop="actualPrice" label="实际费用" align="center"
header-align="center">
<template slot-scope="{row}">
<el-input maxlength="50" readonly v-model="row.actualprice"
type="text"></el-input>
</template>
</el-table-column>
<el-table-column prop="notes" label="说明" align="center"
header-align="center">
<template slot-scope="{row}">
<el-input maxlength="50" placeholder="说明" readonly v-model="row.notes"
type="text"></el-input>
</template>
</el-table-column>
</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: []
},
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)
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>