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,305 @@
<template>
<div>
<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.manager_name }}
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="被慰问人">
{{ viewData.be_username }}
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="慰问类型">
{{ viewData.type_name }}
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="被慰方式">
{{ viewData.way }}
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="慰问金额">
{{ viewData.money }}
</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.occur_time }}
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="参加慰问人员">
{{ viewData.personnel }}
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="备&emsp;&emsp;注">
{{ viewData.remark }}
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="购置物品及价格" v-if="viewData.way=='慰问品 (C)'"></el-form-item>
</el-col>
<el-table :data="viewData.goods" v-if="viewData.way=='慰问品 (C)'" 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>
<el-row gutter="20">
<el-col :span="24">
<el-form-item label="签&emsp;&emsp;字:">
<el-image v-if="viewData.manager_sign"
style="width: 300px; height: 100px"
:src="viewData.manager_sign"
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 prop="user_name" 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="2" v-if="hasPane(2)&&viewData.ucr">
<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.ucr.username }}
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="审核时间:">
{{ viewData.ucr.time }}
</el-form-item>
</el-col>
</el-row>
<el-form-item label="审核意见:">
<div class="textarea-div">{{ viewData.ucr.opinion ? viewData.ucr.opinion : '暂无' }}</div>
</el-form-item>
<el-form-item label="签&emsp;&emsp;字:">
<el-image v-if="viewData.ucr.sign"
style="width: 300px; height: 100px"
:src="viewData.ucr.sign"
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.fr">
<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.fr.username }}
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="审核时间:">
{{ viewData.fr.time }}
</el-form-item>
</el-col>
</el-row>
<el-form-item label="审核意见:">
<div class="textarea-div">{{ viewData.fr.opinion ? viewData.fr.opinion : '暂无' }}</div>
</el-form-item>
<el-form-item label="签&emsp;&emsp;字:">
<el-image v-if="viewData.fr.sign"
style="width: 300px; height: 100px"
:src="viewData.fr.sign"
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.vcr">
<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.vcr.username }}
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="审核时间:">
{{ viewData.vcr.time }}
</el-form-item>
</el-col>
</el-row>
<el-form-item label="审核意见:">
<div class="textarea-div">{{ viewData.vcr.opinion ? viewData.vcr.opinion : '暂无' }}</div>
</el-form-item>
<el-form-item label="签&emsp;&emsp;字:">
<el-image v-if="viewData.vcr.sign"
style="width: 300px; height: 100px"
:src="viewData.vcr.sign"
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.ecr">
<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.ecr.username }}
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="审核时间:">
{{ viewData.ecr.time }}
</el-form-item>
</el-col>
</el-row>
<el-form-item label="审核意见:">
<div class="textarea-div">{{ viewData.ecr.opinion ? viewData.ecr.opinion : '暂无' }}</div>
</el-form-item>
<el-form-item label="签&emsp;&emsp;字:">
<el-image v-if="viewData.ecr.sign"
style="width: 300px; height: 100px"
:src="viewData.ecr.sign"
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: []
},
},
filters: {
money(val) {
return val ? val : 0
}
},
data() {
return {
activeName: "1",
viewData: {},
loading: true,
}
},
components: {
'file-upload': httpVueLoader('/components/plugins/FileUpload.vue'),
},
watch: {},
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/fw/condolence/findOne", {id})
this.loading = false
if (data) {
this.activeName = this.handle ? "999" : "1"
condolence.toFormData(data)
this.viewData = data
this.viewData.goods = data.goods
} else {
this.viewData = {}
this.$message({
message: "获取信息失败",
type: 'error'
});
}
},
},
created() {
}
}
</script>
<style>
.sign_img {
max-width: 300px;
max-height: 100px;
}
</style>
@@ -0,0 +1,70 @@
<template>
<div>
<van-cell class="cell-card">
<van-field readonly :value="viewData.manager_name" label="经办人" input-align="right"></van-field>
<van-field readonly :value="viewData.apply_time" label="申请时间" input-align="right"></van-field>
<van-field readonly :value="viewData.be_username" label="被慰问人"
input-align="right"></van-field>
<van-field readonly :value="viewData.bank_card" label="银行卡号" input-align="right"></van-field>
<van-field readonly name="type" :value="condolence.type[viewData.type]" label="慰问类型"
input-align="right"></van-field>
<van-field readonly name="way" :value="condolence.way[viewData.way]" label="慰问方式" input-align="right"></van-field>
<van-field readonly :value="viewData.money" type="number" label="慰问金额" input-align="right"></van-field>
<van-field readonly :value="viewData.personnel" label="参加慰问人员" input-align="right"></van-field>
<van-field readonly :value="viewData.remark" label="备&emsp;&emsp;注" input-align="right"
rows="2" maxlength="200" type="textarea" show-word-limit autosize></van-field>
<!-- <van-field label="附&emsp;&emsp;件">-->
<!-- <template #input>-->
<!-- <van-uploader disabled v-model="viewData.files"></van-uploader>-->
<!-- </template>-->
<!-- </van-field>-->
<van-field name="sign" label="签字">
<template #input>
<van-image width="200" height="100" :src="viewData.manager_sign" />
</template>
</van-field>
</van-cell>
</div>
</template>
<script>
module.exports = {
props: {
id: {
type: String,
default: ''
},
},
data() {
return {
viewData: {},
}
},
methods: {
async getInfo(id) {
const {data, code, msg} = await $.get("/platform/fw/condolence/findOne", {id})
if (data) {
condolence.toFormData(data)
this.viewData = data
} else {
this.viewData = {}
this.$toast.fail('获取信息失败');
}
},
},
async created() {
await this.getInfo(this.id)
}
}
</script>