first commit

This commit is contained in:
2026-09-23 09:38:39 +08:00
commit 98a8b8cace
6257 changed files with 1266718 additions and 0 deletions
@@ -0,0 +1,316 @@
<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.apply_time }}
</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.be_user_loginname }}
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="性别">
{{ viewData.be_user_sex }}
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="身份证号">
{{ viewData.be_user_idcard }}
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="职务/职称">
{{ viewData.be_user_zwzc }}
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="联系电话">
{{ viewData.be_user_mobile }}
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="单位">
{{ viewData.be_user_unitname }}
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="慰问类型">
{{ viewData.typename }}
</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.way }}
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="慰问金垫付人姓名">
{{ viewData.solatiumAdvancesPeoplesName }}
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="工资号">
{{ viewData.solatiumAdvancesArtificialNumber }}
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="24">
<el-form-item label="申请事由">
{{ viewData.remark }}
</el-form-item>
</el-col>
</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.ulr">
<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.ulr.username }}
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="审核时间:">
{{ viewData.ulr.time }}
</el-form-item>
</el-col>
</el-row>
<el-form-item label="审核意见:">
<div class="textarea-div">{{ viewData.ulr.opinion ? viewData.ulr.opinion : '暂无' }}</div>
</el-form-item>
<el-form-item label="签&emsp;&emsp;字">
<el-image v-if="viewData.ulr.sign"
style="width: 300px; height: 100px"
:src="viewData.ulr.sign"
fit="contain"></el-image>
<span v-else>暂无</span>
</el-form-item>
</el-form>
</el-tab-pane>
<el-tab-pane v-if="hasPane(3)&&viewData.ucr" label="部门工会主席审核信息" name="3">
<el-form label-width="130px" label-suffix=":" style="padding: 20px 0">
<vi-title title="审核信息"></vi-title>
<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 v-if="hasPane(4)&&viewData.fr" label="二级党组织审核信息" name="4">
<el-form label-width="130px" label-suffix=":" style="padding: 20px 0">
<vi-title title="审核信息"></vi-title>
<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 v-if="hasPane(5)&&viewData.vcr" label="校工会审核信息" name="5">
<el-form label-width="130px" label-suffix=":" style="padding: 20px 0">
<vi-title title="审核信息"></vi-title>
<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>{{ viewData.money }}</div>
</el-form-item>
<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 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
} else {
this.viewData = {}
this.$message({
message: "获取信息失败",
type: 'error'
});
}
},
},
created() {
}
}
</script>
<style>
.sign_img {
max-width: 300px;
max-height: 100px;
}
</style>
@@ -0,0 +1,228 @@
<template>
<div style="padding-bottom: 20px;">
<van-form readonly goods>
<div class="van-cell-group__title">
<div class="van-sidebar-item van-sidebar-item--select">
申请信息
</div>
</div>
<van-cell-group>
<van-field readonly :value="viewData.manager_name" label="申请人"></van-field>
<van-field readonly :value="viewData.apply_time" label="申请时间"></van-field>
<van-field readonly :value="viewData.be_username" label="慰问对象"></van-field>
<van-field :value="viewData.be_user_sex" label="性别" readonly></van-field>
<van-field :value="viewData.be_user_idcard" label="身份证号" readonly></van-field>
<van-field :value="viewData.be_user_zwzc" label="职务/职称" readonly></van-field>
<van-field :value="viewData.be_user_mobile" label="联系电话" readonly></van-field>
<van-field :value="viewData.be_user_unitname" label="单位" readonly></van-field>
<!-- <van-field readonly :value="viewData.payee_username?viewData.payee_username:'暂无'" label="收款人"></van-field>
<van-field readonly :value="viewData.payee_bank_number?viewData.payee_bank_number:'暂无'"
label="收款人卡号"></van-field>
<van-field readonly :value="viewData.payee_bank_name?viewData.payee_bank_name:'暂无'" label="收款人开户行"></van-field>-->
<van-field readonly name="type" :value="viewData.typename" label="慰问类型"></van-field>
<van-field readonly name="way" :value="viewData.way" label="慰问方式"></van-field>
<van-field :value="viewData.solatiumAdvancesPeoplesName" label="慰问金垫付人姓名" readonly></van-field>
<van-field :value="viewData.solatiumAdvancesArtificialNumber" label="工资号" readonly></van-field>
<!-- <van-field readonly :value="viewData.money" type="number" label="慰问金额"></van-field>-->
<van-field readonly :value="viewData.apply_time" type="number" label="申请时间"></van-field>
<!-- <van-field readonly :value="viewData.hospital_stay" type="number" label="住院时间"
v-if="viewData.starting_time"></van-field>
<van-field readonly :value="viewData.the_hospital" type="number" label="所在医院"
v-if="viewData.starting_time"></van-field>
<van-field readonly :value="viewData.occur_time" type="number" label="慰问时间"></van-field>-->
<van-field readonly :value="viewData.remark" label="申请事由"
input-align="left"
style="flex-flow: column"
rows="2" maxlength="200" type="textarea" show-word-limit autosize></van-field>
<!-- <van-cell-group class="mt10 up_down">
<div class="van-cell" style="flex-flow: column">
<div class="van-cell__title van-field__label" style="display: flex;justify-content: space-between">
<div style="display: flex;">
<div class="van-field__left-icon">
<i class="van-icon van-icon-friends-o"></i>
</div>
<div class="van-cell__title van-field__label" style="width: auto">
<span>购置物品及价格</span>
</div>
</div>
</div>
<van-divider></van-divider>
<div v-if="viewData.goods && viewData.goods.length>0">
<div v-for="(o,i) in viewData.goods" class="mt5">
<div style="font-weight: 700;display: flex;justify-content: space-between">
<span>物品{{ toChinesNum(i + 1) }}</span>
</div>
<van-form readonly goods>
<van-field label="名称" :value="o.name"></van-field>
<van-field label="价格" :value="o.price"></van-field>
</van-form>
</div>
</div>
<div v-else style="height: 100px">
</div>
</div>
</van-cell-group>-->
<van-field label="附件" style="flex-flow: column" input-align="left">
<template #label>
<div class="mb10">附&emsp;&emsp;件</div>
</template>
<template #input>
<vant-file-upload :files.sync="viewData.files" view :del="false"
v-if="viewData.files&&viewData.files.length"></vant-file-upload>
<span v-else>暂无</span>
</template>
</van-field>
<van-field name="sign" label="签字">
<template #input>
<van-image width="200" height="100" :src="viewData.manager_sign" v-if="viewData.manager_sign"/>
<span v-else>暂无</span>
</template>
</van-field>
</van-cell-group>
</van-form>
<template v-if="viewData.ucr">
<div class="van-cell-group__title mt20">
<div class="van-sidebar-item van-sidebar-item--select">
部门工会审核信息
</div>
</div>
<van-cell-group>
<div style="padding-left: 16px">
<van-field goods label="审&ensp;核&ensp;人" :value="viewData.ucr.username" left-icon="contact"
readonly></van-field>
<van-field goods label="审核时间" :value="viewData.ucr.time" left-icon="clock-o"
readonly></van-field>
<van-field goods label="审核意见" left-icon="chat-o"
:value="viewData.ucr.opinion ? viewData.ucr.opinion : '暂无'"
readonly></van-field>
<van-field goods name="sign" label="签字">
<template #input>
<van-image width="200" height="100" :src="viewData.ucr.sign" v-if="viewData.ucr.sign"/>
<span v-else>暂无</span>
</template>
</van-field>
</div>
</van-cell-group>
</template>
<template v-if="viewData.fr">
<div class="van-cell-group__title mt20">
<div class="van-sidebar-item van-sidebar-item--select">
二级党组织审核信息
</div>
</div>
<van-cell-group>
<div style="padding-left: 16px">
<van-field label="审&ensp;核&ensp;人" :value="viewData.fr.username" left-icon="contact" readonly></van-field>
<van-field label="审核时间" :value="viewData.fr.time" left-icon="clock-o"
readonly></van-field>
<van-field label="审核意见" left-icon="chat-o" :value="viewData.fr.opinion ? viewData.fr.opinion : '暂无'"
readonly></van-field>
<van-field name="sign" label="签字">
<template #input>
<van-image width="200" height="100" :src="viewData.fr.sign" v-if="viewData.fr.sign"/>
<span v-else>暂无</span>
</template>
</van-field>
</div>
</van-cell-group>
</template>
<template v-if="viewData.vcr">
<div class="van-cell-group__title mt20">
<div class="van-sidebar-item van-sidebar-item--select">
校工会审核信息
</div>
</div>
<van-cell-group class="mt20">
<div style="padding-left: 16px">
<van-field label="审&ensp;核&ensp;人" :value="viewData.vcr.username" left-icon="contact" readonly></van-field>
<van-field label="审核时间" :value="viewData.vcr.time" left-icon="clock-o"
readonly></van-field>
<van-field label="审核意见" left-icon="chat-o" :value="viewData.vcr.opinion ? viewData.vcr.opinion : '暂无'"
readonly></van-field>
<van-field name="sign" label="签字">
<template #input>
<van-image width="200" height="100" :src="viewData.vcr.sign" v-if="viewData.vcr.sign"/>
<span v-else>暂无</span>
</template>
</van-field>
</div>
</van-cell-group>
</template>
<template v-if="handle">
<slot name="handle"></slot>
</template>
</div>
</template>
<script>
module.exports = {
props: {
handle: {
type: Boolean,
default: false,
},
title: {
type: String,
default: '审核'
},
id: {
type: String,
default: ''
},
},
data() {
return {
viewData: {},
}
},
components: {
'vant-file-upload': httpVueLoader('/components/plugins/VantFileUpload.vue')
},
methods: {
async getInfo(id) {
const {data, code, msg} = await $.get("/platform/fw/condolence/findOne", {id})
if (data) {
condolence.toFormData(data)
this.viewData = data
this.viewData.hospital_stay = data.starting_time + "-" + data.end_time
} else {
this.viewData = {}
this.$toast.fail('获取信息失败');
}
},
},
async created() {
await this.getInfo(this.id)
}
}
</script>
<style>
.van-field__control {
text-align: right !important;
}
.van-cell-group__title {
padding-left: 0 !important;
}
.van-sidebar-item {
font-size: 16px !important;
text-indent: 4px !important;
}
.van-sidebar-item--select::before {
left: 5px !important;
}
</style>