This commit is contained in:
Paidax
2025-06-12 14:24:57 +08:00
parent 2409b3ddfe
commit 726dfd50be
321 changed files with 2483 additions and 1911 deletions
@@ -197,10 +197,10 @@
border-right: 3px solid rgb(240, 240, 240);
}
::-webkit-scrollbar {
/*::-webkit-scrollbar {
width: 6px;
height: 6px
}
}*/
::-webkit-scrollbar-track {
background-color: #f1f1f1
@@ -45,17 +45,17 @@ const initTableMixins = {
}
if (!file.size) {
this.notifyWarning('您选择的是空文件!')
this.$message.warning('您选择的是空文件!')
removeFile()
}
if (type && type.length && !type.includes(file.name.split('.').pop().toLowerCase())) {
this.notifyWarning(`文件只能是 ${type.map(v => v.toUpperCase()).join('/')} 格式!`)
this.$message.warning(`文件只能是 ${type.map(v => v.toUpperCase()).join('/')} 格式!`)
removeFile()
}
if (size && !file.size < size) {
this.notifyWarning(`文件大小不能超过 ${size / 1024 / 1024}MB`)
this.$message.warning(`文件大小不能超过 ${size / 1024 / 1024}MB`)
removeFile()
}
@@ -163,4 +163,4 @@ const initTableMixins = {
}
}
}
}
}
@@ -155,7 +155,7 @@ module.exports = {
if (resp.code === 0) {
this.applyPageData()
this.$emit('flush')
this.notifySuccess(resp.msg)
this.$message.success(resp.msg)
}else{
this.notifyError(resp.msg)
}
@@ -202,7 +202,7 @@ module.exports = {
if (resp.code === 0) {
this.applyPageData()
this.$emit('flush')
this.notifySuccess(resp.msg)
this.$message.success(resp.msg)
}else{
this.notifyError(resp.msg)
}
@@ -2,353 +2,88 @@
<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>
<el-divider content-position="left" style="margin-top: 0 !important;"><span style="color: #3ea1ec;">基础信息</span></el-divider>
<border-table>
<table>
<tr>
<th>项目名称</th>
<td>{{ viewData.activity_name }}</td>
<th>项目类型</th>
<td>{{ viewData.apply_time }}</td>
<th>申请{{ viewData.activity_type == '40003' ? "协会" : "单位" }}</th>
<td>{{ viewData.fundsUnitName }}</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.user_name }}( {{ viewData.mobile }})</td>
<th>联系方式</th>
<td>{{ viewData.mobile }}</td>
<th>申请时间</th>
<td>{{ viewData.apply_time }}</td>
</tr>
<tr>
<th>签字</th>
<td colspan="5">
<el-image v-if="viewData.user_signature"
style="width: 300px; height: 100px"
:src="CREATE_PREVIEW_URL(viewData.user_signature)"
fit="contain"></el-image>
<span v-else>暂无</span>
</td>
</tr>
</table>
</border-table>
<tr>
<th>预算费用</th>
<td>{{ viewData.funds_money || "暂无" }}</td>
<th>实际费用</th>
<td>{{ viewData.activity_money || "暂无" }}</td>
<th>活动地点</th>
<td>{{ viewData.address }}</td>
</tr>
&lt;!&ndash; <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>&ndash;&gt;
<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="CREATE_PREVIEW_URL(viewData.us_s)"
fit="contain"></el-image>
<span v-else>暂无</span>
</td>
</tr>
</table>
</border-table>-->
<tissue-info class="tissue-info" ref="info"></tissue-info>
</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-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 }}</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-column type="index" width="80" label="序号"></el-table-column>
<el-table-column prop="category" label="科目"></el-table-column>
<el-table-column prop="name" label="具体内容"></el-table-column>
<el-table-column prop="type" label="类别"></el-table-column>
<el-table-column prop="actualPrice" label="金额"></el-table-column>
<el-table-column prop="username" label="收款对象(个人/单位)"></el-table-column>
<el-table-column prop="bankName" label="支行名称"></el-table-column>
<el-table-column prop="bankCardNum" label="报销卡号"></el-table-column>
<el-table-column prop="remark" label="备注"></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-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-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="CREATE_PREVIEW_URL(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="CREATE_PREVIEW_URL(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="CREATE_PREVIEW_URL(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="CREATE_PREVIEW_URL(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="CREATE_PREVIEW_URL(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"
<el-tab-pane label="协会会长审核信息" name="7"
v-if="viewData.reimbursement_club_audit">
<el-descriptions :column="2" border class="table_fixed">
<el-descriptions-item label="审核人员">
@@ -371,7 +106,7 @@
</el-descriptions-item>
</el-descriptions>
</el-tab-pane>
<el-tab-pane label="基层工会主席审核信息(报销)" name="8"
<el-tab-pane label="基层工会审核信息" name="8"
v-if="viewData.reimbursement_union_audit">
<el-descriptions :column="2" border class="table_fixed">
<el-descriptions-item label="审核人员">
@@ -394,7 +129,7 @@
</el-descriptions-item>
</el-descriptions>
</el-tab-pane>
<el-tab-pane label="校工会负责人审核信息(报销)" name="9"
<el-tab-pane label="校工会办公室主管审核信息" name="9"
v-if="viewData.reimbursement_school_director">
<el-descriptions :column="2" border class="table_fixed">
<el-descriptions-item label="审核人员">
@@ -417,7 +152,7 @@
</el-descriptions-item>
</el-descriptions>
</el-tab-pane>
<el-tab-pane label="校工会主席审核信息(报销)" name="10"
<el-tab-pane label="校工会主席审核信息" name="10"
v-if="viewData.reimbursement_school_chairman">
<el-descriptions :column="2" border class="table_fixed">
<el-descriptions-item label="审核人员">
@@ -427,9 +162,7 @@
{{ viewData.reimbursement_school_chairman.auditTime }}
</el-descriptions-item>
<el-descriptions-item :span="2" label="审核意见">
{{
viewData.reimbursement_school_chairman.auditOpinion ? viewData.reimbursement_school_chairman.auditOpinion : "暂无"
}}
{{viewData.reimbursement_school_chairman.auditOpinion ? viewData.reimbursement_school_chairman.auditOpinion : "暂无" }}
</el-descriptions-item>
<el-descriptions-item :span="2" label="签字">
<el-image v-if="viewData.reimbursement_school_chairman.auditSign"
@@ -441,6 +174,28 @@
</el-descriptions>
</el-tab-pane>
<el-tab-pane label="校财务审核信息" name="11"
v-if="viewData.reimbursement_school_finance">
<el-descriptions :column="2" border class="table_fixed">
<el-descriptions-item label="审核人员">
{{ viewData.reimbursement_school_finance.username }}
</el-descriptions-item>
<el-descriptions-item label="审核时间">
{{ viewData.reimbursement_school_finance.auditTime }}
</el-descriptions-item>
<el-descriptions-item :span="2" label="审核意见">
{{viewData.reimbursement_school_finance.auditOpinion ? viewData.reimbursement_school_finance.auditOpinion : "暂无" }}
</el-descriptions-item>
<el-descriptions-item :span="2" label="签字">
<el-image v-if="viewData.reimbursement_school_finance.auditSign"
style="width: 300px; height: 100px"
:src="viewData.reimbursement_school_finance.auditSign"
fit="contain"></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>
@@ -477,7 +232,7 @@ module.exports = {
},
components: {
"file-upload": httpVueLoader("/components/plugins/FileUpload.vue"),
"tissue-info": httpVueLoader("/components/activity/school/tissueInfo.vue")
// "tissue-info": httpVueLoader("/components/activity/school/tissueInfo.vue")
},
methods: {
hasPane(name) {
@@ -507,9 +262,9 @@ module.exports = {
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
this.$nextTick(() => {
this.$refs.info.getInfo(data.activity_id)
})
// this.$nextTick(() => {
// this.$refs.info.getInfo(data.activity_id)
// })
} else {
this.viewData = {}
this.$message({
@@ -472,7 +472,7 @@ module.exports = {
success: (data) => {
this.importLoading = false
if (data.code === 0) {
this.notifySuccess("核对成功!")
this.$message.success("核对成功!")
this.errorInfoData = data.data
this.formData.existsLoginNameRedisKey = data.data.existsLoginNameRedisKey
} else {
@@ -485,7 +485,7 @@ module.exports = {
this.errorInfoData = data.data
},
error: (data) => {
this.notifyWarning("导入失败")
this.$message.warning("导入失败")
this.importLoading = false
}
});
@@ -562,7 +562,7 @@ module.exports = {
this.tableData = resp.data.list
this.pageForm.totalCount = resp.data.totalCount
} else {
this.notifyWarning(resp.msg)
this.$message.warning(resp.msg)
}
},
async doSetActivityUser() {
@@ -600,7 +600,7 @@ module.exports = {
// this.userScopeDialog = false
await this.getActivityGroup()
this.doSearch()
this.notifySuccess(resp.msg)
this.$message.success(resp.msg)
this.formData = {
setGroupType: null,
setGroupId: null,
@@ -98,7 +98,7 @@ module.exports = {
if (resp.code === 0) {
this.pageData()
this.$refs.table.clearSelection();
this.notifySuccess(resp.msg)
this.$message.success(resp.msg)
}else{
this.notifyError(resp.msg)
}
@@ -523,7 +523,7 @@ module.exports = {
this.tableData = resp.data.list
this.pageForm.totalCount = resp.data.totalCount
} else {
this.notifyWarning(resp.msg)
this.$message.warning(resp.msg)
}
},
async doSetActivityUser() {
@@ -561,7 +561,7 @@ module.exports = {
// this.userScopeDialog = false
await this.getActivityGroup()
this.doSearch()
this.notifySuccess(resp.msg)
this.$message.success(resp.msg)
this.formData = {
setGroupType: null,
setGroupId: null,