This commit is contained in:
Paidax
2024-11-29 09:03:59 +08:00
commit 2ffadd89a7
3480 changed files with 879405 additions and 0 deletions
@@ -0,0 +1,284 @@
<style>
.el-descriptions__table {
table-layout: fixed !important;
}
.el-descriptions-item__cell {
text-align: center !important;
}
</style>
<template>
<div>
<el-tabs tab-position="top" v-model="activeName" v-loading="loading">
<el-tab-pane label="申请信息" name="1">
<el-descriptions :column="3" border class="table_fixed">
<el-descriptions-item label="经办人姓名">
{{viewData.manager_name}}
</el-descriptions-item>
<el-descriptions-item label="经办人工号">
{{viewData.manager_loginname}}
</el-descriptions-item>
<el-descriptions-item label="申请时间">
{{viewData.apply_time}}
</el-descriptions-item>
<el-descriptions-item label="慰问对象姓名">
{{viewData.be_username}}
</el-descriptions-item>
<el-descriptions-item label="慰问对象工号">
{{viewData.be_loginname}}
</el-descriptions-item>
<el-descriptions-item label="慰问对象单位">
{{viewData.be_unitname}}
</el-descriptions-item>
<el-descriptions-item label="收款人姓名">
{{viewData.payee_username}}
</el-descriptions-item>
<el-descriptions-item label="收款人工号">
{{viewData.payee_loginname}}
</el-descriptions-item>
<el-descriptions-item label="">
</el-descriptions-item>
<el-descriptions-item label="慰问类型">
{{viewData.typename}}
</el-descriptions-item>
<el-descriptions-item label="慰问金额">
{{viewData.money}}
</el-descriptions-item>
<el-descriptions-item label="慰问方式">
{{viewData.way}}
</el-descriptions-item>
<el-descriptions-item label="慰问时间">
{{viewData.occur_time}}
</el-descriptions-item>
<el-descriptions-item v-if="viewData.type === '2'" label="生育孩次">
{{viewData.birth_child_num}}
</el-descriptions-item>
<template v-if="viewData.type === '3' || viewData.type === '4'">
<el-descriptions-item label="治疗医院">
{{viewData.the_hospital}}
</el-descriptions-item>
<el-descriptions-item label="病房号">
{{viewData.the_hospital_house_num}}
</el-descriptions-item>
<el-descriptions-item label="床号">
{{viewData.the_hospital_house_bed_num}}
</el-descriptions-item>
<el-descriptions-item v-if="viewData.type == '4'" label="患病病种">
{{viewData.hospital_by}}
</el-descriptions-item>
</template>
<el-descriptions-item v-if="viewData.type == '6'" label="直系亲属">
{{viewData.deadimmediatefamily}}
</el-descriptions-item>
<el-descriptions-item label="申请事由" span="3">
{{viewData.remark}}
</el-descriptions-item>
<el-descriptions-item label="附件" span="3">
<file-upload v-if="viewData.files&&viewData.files.length"
:files="viewData.files"
:view="true"></file-upload>
<span v-else>暂无</span>
</el-descriptions-item>
<el-descriptions-item label="签字" span="3">
<div class="text-left">
<el-image v-if="viewData.manager_sign_data"
style="width: 300px; height: 100px"
:src="viewData.manager_sign_data"
fit="contain"></el-image>
<span v-else>暂无</span>
</div>
</el-descriptions-item>
</el-descriptions>
</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 label="分工会审核信息" name="3" v-if="viewData.ucr">
<el-descriptions :column="2" border class="table_fixed">
<el-descriptions-item label="审核人员">
{{ viewData.ucr.username }}
</el-descriptions-item>
<el-descriptions-item label="审核时间">
{{ viewData.ucr.time }}
</el-descriptions-item>
<el-descriptions-item label="审核意见" span="2">
<div class="text-left">
{{ viewData.ucr.opinion ? viewData.ucr.opinion : '暂无' }}
</div>
</el-descriptions-item>
<el-descriptions-item label="签字" span="2">
<div class="text-left">
<el-image v-if="viewData.ucr.sign"
style="width: 300px; height: 100px"
:src="viewData.ucr.sign"
fit="contain"></el-image>
<span v-else>暂无</span>
</div>
</el-descriptions-item>
</el-descriptions>
</el-tab-pane>
<el-tab-pane label="校工会审核信息" name="4" v-if="viewData.fr">
<el-descriptions :column="2" border class="table_fixed">
<el-descriptions-item label="审核人员">
{{ viewData.fr.username }}
</el-descriptions-item>
<el-descriptions-item label="审核时间">
{{ viewData.fr.time }}
</el-descriptions-item>
<el-descriptions-item label="审核意见" span="2">
<div class="text-left">
{{ viewData.fr.opinion ? viewData.fr.opinion : '暂无' }}
</div>
</el-descriptions-item>
<el-descriptions-item label="签字" span="2">
<div class="text-left">
<el-image v-if="viewData.fr.sign"
style="width: 300px; height: 100px"
:src="viewData.fr.sign"
fit="contain"></el-image>
<span v-else>暂无</span>
</div>
</el-descriptions-item>
</el-descriptions>
</el-tab-pane>
<el-tab-pane label="校工会主席审核信息" name="5" v-if="viewData.vcr">
<el-descriptions :column="2" border class="table_fixed">
<el-descriptions-item label="审核人员">
{{ viewData.vcr.username }}
</el-descriptions-item>
<el-descriptions-item label="审核时间">
{{ viewData.vcr.time }}
</el-descriptions-item>
<el-descriptions-item label="审核意见" span="2">
<div class="text-left">
{{ viewData.vcr.opinion ? viewData.vcr.opinion : '暂无' }}
</div>
</el-descriptions-item>
<el-descriptions-item label="签字" span="2">
<div class="text-left">
<el-image v-if="viewData.vcr.sign"
style="width: 300px; height: 100px"
:src="viewData.vcr.sign"
fit="contain"></el-image>
<span v-else>暂无</span>
</div>
</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>
</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,192 @@
<template>
<div style="padding-bottom: 20px;">
<van-form readonly input-align="right">
<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 readonly :value="viewData.typename" name="type" label="慰问类型"></van-field>
<van-field readonly :value="viewData.money" type="number" label="慰问金额"></van-field>
<van-field readonly :value="viewData.way" name="way" label="慰问方式"></van-field>
<van-field readonly :value="viewData.occur_time" name="occur_time" label="慰问时间"></van-field>
<van-field readonly :value="viewData.birth_child_num" name="birth_child_num" v-if="viewData.type === '2'" label="生育孩次"></van-field>
<template v-if="viewData.type === '3' || viewData.type === '4'">
<van-field readonly :value="viewData.the_hospital" name="the_hospital" label="治疗医院"></van-field>
<van-field readonly :value="viewData.the_hospital_house_num" name="the_hospital_house_num" label="病房号"></van-field>
<van-field readonly :value="viewData.the_hospital_house_bed_num" name="the_hospital_house_bed_num" label="床号"></van-field>
<van-field readonly :value="viewData.hospital_by" name="hospital_by" v-if="viewData.type === '4'" label="患病病种"></van-field>
</template>
<van-field readonly :value="viewData.deadImmediateFamily" name="deadImmediateFamily" v-if="viewData.type === '6'" 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-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_data"
v-if="viewData.manager_sign_data"/>
<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 label="审&ensp;核&ensp;人" :value="viewData.ucr.username" left-icon="contact"
readonly></van-field>
<van-field label="审核时间" :value="viewData.ucr.time" left-icon="clock-o"
readonly></van-field>
<van-field label="审核意见" left-icon="chat-o"
:value="viewData.ucr.opinion ? viewData.ucr.opinion : '暂无'"
readonly></van-field>
<van-field 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>
<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-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>