first commit

This commit is contained in:
2026-09-09 09:14:28 +08:00
commit 5343198112
5199 changed files with 1052895 additions and 0 deletions
@@ -0,0 +1,376 @@
<template>
<div class="activity-bx-info">
<el-tabs tab-position="top" v-model="activeName" v-loading="loading">
<el-tab-pane label="申请信息" name="1">
<el-form label-suffix="" label-position="left" style="padding: 20px 0">
<el-row gutter="20">
<el-col :span="12">
<el-form-item label="申请人姓名">
{{ viewData.user_name }}
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="申请时间">
{{ viewData.apply_time }}
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="活动时间">
{{ viewData.activity_time }}
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="活动人数">
{{ viewData.activity_number }}
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="报销金额">
{{ viewData.activity_money }}
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="报销卡号">
{{ viewData.activity_card_number }}
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="活动地点">
{{ viewData.venue }}
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="备&emsp;&emsp;注">
<div style="word-break: break-all" v-html="viewData.activity_content"></div>
</el-form-item>
</el-col>
</el-row>
<el-col :span="24">
<el-form-item label="购置物品及价格"></el-form-item>
</el-col>
<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="物品名称" 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="物品价格" v-model="row.price"
type="text"></el-input>
</template>
</el-table-column>
</el-table>
<el-row gutter="20">
<el-col :span="24">
<el-form-item label="签&emsp;&emsp;字:">
<el-image v-if="viewData.us_s"
style="width: 300px; height: 100px"
:src="viewData.us_s"
fit="contain"></el-image>
<span v-else>暂无</span>
</el-form-item>
</el-col>
</el-row>
<el-row gutter="20">
<el-col :span="24">
<el-form-item label="附&emsp;&emsp;件">
<file-upload v-if="viewData.files&&viewData.files.length"
:files="viewData.files"
:view="true"></file-upload>
<span v-else>暂无</span>
</el-form-item>
</el-col>
</el-row>
</el-form>
</el-tab-pane>
<!-- <el-tab-pane label="附件" name="100">
<el-form label-position="top">
&lt;!&ndash; <el-form-item label="活动资料" v-if="viewData.activity_id">
<span v-if="!Object.keys(viewData.activity_files).length">暂无</span>
<div class="block">
<el-timeline>
<el-timeline-item v-for="(v,k) in viewData.activity_files" :timestamp="k" placement="top"
icon="el-icon-more"
type="primary">
<el-card v-for="file in v" style="margin-bottom: 20px;position: relative">
<div style="display: flex;flex-direction:row;">
<h4>{{ file.name }}&emsp;</h4>
<h4><span style="font-size: 14px;color: rgb(200,200,200)">{{ file.type }}</span></h4>
</div>
<div style="margin: 20px 0">
<file-upload :files="file.files"
:view="true"></file-upload>
</div>
<div style="text-align: right" class="text-primary">{{ file.user_name }}</div>
</el-card>
</el-timeline-item>
</el-timeline>
</div>
</el-form-item>&ndash;&gt;
<el-form-item label="附&emsp;&emsp;件">
<file-upload v-if="viewData.files&&viewData.files.length"
:files="viewData.files"
:view="true"></file-upload>
<span v-else>暂无</span>
</el-form-item>
</el-form>
</el-tab-pane>-->
<el-tab-pane label="基层工会核批信息" name="2" v-if="hasPane(2)&&viewData.division_chairman_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.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="3" v-if="hasPane(3)&&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="4" v-if="hasPane(4)&&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="5" v-if="hasPane(5)&&viewData.union_chairman_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.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="hasPane(6)&&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_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.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 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.files = []
this.activeName = this.handle ? "999" : "1"
this.viewData = data
this.viewData.files = JSON.parse(data.files)
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;
}
</style>
@@ -0,0 +1,73 @@
<template>
<div>
<el-row class="header navbar bg-white shadow">
<div class="btn-group tool-button mt5">
<el-date-picker
v-model="page_form.year"
type="year"
value-format="yyyy" style="width: 150px"
placeholder="选择年" @change="$emit('search')">
</el-date-picker>
</div>
<div class="btn-group tool-button mt5">
<el-input placeholder="请输入内容" clearable v-model="page_form.searchKeyword"
@keyup.enter.native="$emit('search')">
<el-select v-model="page_form.searchName" slot="prepend" placeholder="查询类型"
style="width: 120px;">
<el-option label="姓名" value="username"></el-option>
<el-option label="工号" value="loginname"></el-option>
</el-select>
</el-input>
</div>
<slot name="column"></slot>
<div class="btn-group tool-button mt5">
<el-button type="primary" icon="el-icon-search" @click="$emit('search')"></el-button>
</div>
<!-- <div class="pull-right offscreen-right mt5" v-if="has_add">
<el-button icon="el-icon-edit" @click="$emit('openAdd')">申请活动报销</el-button>
</div>-->
<div class="pull-right offscreen-right mt5" v-if="has_sh">
<el-radio-group v-model="page_form.isAudit" @change="$emit('search')">
<el-radio-button :label="1">全部</el-radio-button>
<el-radio-button :label="2">已审核</el-radio-button>
<el-radio-button :label="3">未审核</el-radio-button>
</el-radio-group>
</div>
</el-row>
</div>
</template>
<script>
module.exports = {
props: {
page_form: '',
has_add: {
type: Boolean,
default: false
},
has_sh: {
type: Boolean,
default: false
},
has_type: {
type: Boolean,
default: false
},
},
data() {
return {}
},
watch: {},
methods: {},
async created() {
}
}
</script>