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,474 @@
<template>
<el-card shadow="never">
<div slot="header" class="clearfix">
<h3 style="color: #1867b0">填写申请信息</h3>
</div>
<el-form :model="form" ref="addform" :rules="formRules" label-width="120px">
<el-row gutter="20">
<el-col :span="8">
<el-form-item prop="user_name" label="申请人姓名">
<el-input disabled v-model="form.sqrname == null ? form.sqr : form.sqrname" type="text">
</el-input>
</el-form-item>
</el-col>
<!-- <el-col :span="8">
<el-form-item prop="apply_mode" label="申请模式">
<el-radio-group :disabled="form.id" v-model="form.apply_mode" @change="$emit('radio')"
style="width: 100%"
>
<el-radio-button label="1" border>本人申请</el-radio-button>
<el-radio-button label="2" border>替他人申请</el-radio-button>
</el-radio-group>
</el-form-item>
</el-col>-->
<el-col :span="8">
<el-form-item prop="user_name" label="申请人工号">
<el-input disabled v-model="form.sqrloginname"
type="text"></el-input>
</el-form-item>
</el-col>
<!-- <el-col :span="8">
<el-form-item prop="bbzrusername" label="受补助人">
<el-select v-if="form.id==null" clearable
v-model="form.bbzrusername" filterable remote
placeholder="输入工号或者姓名查找" :remote-method="querySqr" @change="userChange"
style="width: 100%">
<el-option v-for="o in subsidizedList"
:label="o.username+'('+o.loginname+')-'+o.unit_name" :value="o.id"
:key="o.id"></el-option>
</el-select>
<el-input maxlength="100" disabled v-else v-model="form.bbname"
type="text"></el-input>
</el-form-item>
</el-col>-->
<!-- <el-col :span="8">
<el-form-item prop="idcard" label="身份证号">
<el-input maxlength="50" placeholder="请输入身份证号" clearable
v-model="form.idcard"
type="text"></el-input>
</el-form-item>
</el-col>-->
<el-col :span="8">
<el-form-item prop="sex" label="性&emsp;&emsp;别">
<el-select v-model="form.sex" placeholder="请选择性别" clearable
style="width: 100%">
<el-option v-for="item in ['男','女']" :key="item" :label="item" :value="item">
</el-option>
</el-select>
</el-form-item>
</el-col>
<!-- <el-col :span="8">
<el-form-item prop="mz" label="民&emsp;&emsp;族">
<el-select v-model="form.mz" placeholder="请选择民族" filterable clearable style="width: 100%">
<el-option
v-for="item in mzOptions"
:key="item"
:label="item"
:value="item">
</el-option>
</el-select>
</el-form-item>
</el-col>-->
<!-- 职称本字段是通过人工选择输入下面的是直接读取数据库 -->
<!-- <el-form-item prop="zc" label="职&emsp;&emsp;称">
<el-select v-model="form.zc" placeholder="请选择或输入职称" filterable clearable
style="width: 100%">
<el-option
v-for="item in zcOptions"
:key="item"
:label="item"
:value="item">
</el-option>
</el-select>
</el-form-item>-->
<!-- <el-form-item prop="zc" label="职&emsp;&emsp;称">
<el-input placeholder="请填写职称" v-model="form.zc" maxlength="30"
type="text"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item prop="zw" label="职&emsp;&emsp;务">
<el-input maxlength="50" clearable placeholder="请填写职务" v-model="form.zw"
type="text"></el-input>
</el-form-item>
</el-col>-->
<el-col :span="8">
<el-form-item prop="unitname" label="所在单位">
<el-input maxlength="50" clearable placeholder="所在单位" v-model="form.unitname"
type="text"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item prop="brnzsr" label="本人月收入" class="int_input">
<el-input-number clearable style="width: 100%" v-model="form.brnzsr" :min="0"
:max="9999999"
controls-position="right" placeholder="请填写本人月收入(元)">
</el-input-number>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item prop="birthday" label="出生年月">
<el-date-picker
clearable
style="width: 100%"
v-model="form.birthday"
type="date"
value-format="yyyy-MM-dd"
placeholder="选择出生年月">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item prop="lxfs" label="手机号码">
<el-input maxlength="100" clearable placeholder="请填写手机号码" v-model="form.lxfs"
type="text"></el-input>
</el-form-item>
</el-col>
<el-col :span="16">
<el-form-item prop="jtzz" label="家庭地址">
<el-input maxlength="100" clearable placeholder="请填写家庭地址" v-model="form.jtzz"
type="text"></el-input>
</el-form-item>
</el-col>
<!-- <el-col :span="8">
<el-form-item prop="rsbz" label="人事编制">
<el-select v-model="form.rsbz" placeholder="请选择人事编制" clearable
style="width: 100%">
<el-option
v-for="item in bzOptions"
:key="item"
:label="item"
:value="item">
</el-option>
</el-select>
</el-form-item>
</el-col>-->
<!-- <el-col :span="12">
<el-form-item prop="sq_ksbz" label="科室班组">
<el-input maxlength="50" clearable placeholder="科室班组" v-model="form.sq_ksbz"
type="text"></el-input>
</el-form-item>
</el-col>-->
<!-- <el-col :span="8">
<el-form-item prop="ybzk" label="医保状况">
<el-select v-model="form.ybzk" placeholder="请选择医保状况" clearable style="width: 100%">
<el-option
v-for="item in ybOptions"
:key="item"
:label="item"
:value="item">
</el-option>
</el-select>
</el-form-item>
</el-col>-->
</el-row>
<!-- <el-row gutter="20">
<el-col :span="12">
<el-form-item label="补助类型" prop="sq_bzlx">
<el-select v-model="form.sq_bzlx" @change="$set(form,'sq_knlx','')"
@clear="$set(form,'sq_knlx','')" style="width: 100%">
<el-option v-for="(v,k) in difficulty.subsidy" :label="v" :value="k"
:key="k"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="困难类型" prop="sq_knlx">
<el-select v-model="form.sq_knlx" clearable style="width: 100%">
<el-option v-for="(v,k) in difficulty.getHard(form.sq_bzlx)" :key="k" :value="k"
:label="v"></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>-->
<!-- <el-row v-if="form.sq_knlx==1">
<el-col :span="12">
<el-form-item label="所在医院" prop="hospital">
<el-input placeholder="请填写所在所在医院" v-model="form.hospital"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="住院时间" prop="hospitalized_time">
<el-date-picker
clearable
style="width: 100%"
v-model="form.hospitalized_time"
type="date"
value-format="yyyy-MM-dd"
placeholder="选择住院时间">
</el-date-picker>
</el-form-item>
</el-col>
</el-row>-->
<!-- <el-row gutter="20">
<el-col :span="12">
<el-form-item prop="yhmc" label="发放补助银行">
<el-input maxlength="100" placeholder="请输入发放补助银行" clearable v-model="form.yhmc"
type="text" style="width: 100%"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item prop="yhkh" label="银行卡号">
<el-input maxlength="30" placeholder="请输入银行卡号" clearable v-model="form.yhkh"
type="text" style="width: 100%"></el-input>
</el-form-item>
</el-col>
</el-row>-->
<el-form-item prop="apply_reason" label="申请原因">
<el-input maxlength="500" :autosize="{ minRows: 5, maxRows: 10}" placeholder="请简述申请原因"
clearable
v-model="form.apply_reason"
type="textarea"></el-input>
</el-form-item>
<el-form-item prop="zyzkyybz" label="备&emsp;&emsp;注">
<el-input maxlength="500" placeholder="请简述备注" :autosize="{ minRows: 5, maxRows: 10}"
clearable v-model="form.zyzkyybz"
type="textarea"></el-input>
</el-form-item>
<el-divider content-position="left" class="dia"><span style="color: #3ea1ec;">家庭成员经济收入</span>
</el-divider>
<el-form-item>
<el-button style="float: right;margin-bottom: 10px" icon="el-icon-plus" size="mini"
@click="form.jtcys.push({})">
添加
</el-button>
<el-table
:data="form.jtcys"
border
size="mini"
style="width: 100%">
<el-table-column prop="xm" label="姓名" align="center" header-align="center">
<template slot-scope="scope">
<el-input placeholder="请输入姓名" maxlength="100" v-model="scope.row.xm"
clearable></el-input>
</template>
</el-table-column>
<el-table-column prop="nl" label="年龄" align="center" header-align="center">
<template slot-scope="scope">
<el-input-number clearable style="width: 100%" v-model="scope.row.nl" :min="0"
:max="99"
controls-position="right" placeholder="请填写年龄">
</el-input-number>
</template>
</el-table-column>
<el-table-column prop="gx" label="与本人关系" align="center" header-align="center">
<template slot-scope="scope">
<el-input placeholder="请输入与本人关系" maxlength="30" v-model="scope.row.gx"
clearable></el-input>
</template>
</el-table-column>
<el-table-column prop="nsr" label="月收入(元)" align="center" header-align="center">
<template slot-scope="scope">
<el-input-number clearable style="width: 100%" v-model="scope.row.nsr" :min="0"
:max="9999999"
controls-position="right" placeholder="请填写月收入">
</el-input-number>
</template>
</el-table-column>
<el-table-column label="操作" width="100px" align="center" header-align="center">
<template slot-scope="scope">
<el-button type="danger" size="mini" icon="el-icon-delete" circle
:disabled="form.jtcys.length==0"
@click="form.jtcys.splice(scope.$index,1)"></el-button>
</template>
</el-table-column>
</el-table>
</el-form-item>
<el-divider content-position="left" class="dia"><span
style="color: #3ea1ec;">&emsp;&emsp;</span></el-divider>
<el-form-item prop="files" label-width="">
<file-upload :files.sync="form.files" card></file-upload>
</el-form-item>
<el-divider content-position="left" class="dia"><span
style="color: #3ea1ec;">&emsp;&emsp;</span></el-divider>
<el-form-item prop="sign" label-width="">
<sign :qz.sync="form.sqsign"></sign>
</el-form-item>
</el-form>
<slot name="footer"></slot>
</el-card>
</template>
<script>
module.exports = {
props: {
form: {
type: Object,
default: {}
},
},
data() {
return {
formRules: {
bbzrusername: [{required: true, message: '必填', trigger: ['blur', 'change']}],
apply_reason: [{required: true, message: '必填', trigger: ['blur', 'change']}],
sex: [{required: true, message: '必填', trigger: ['blur', 'change']}],
unitname: [{required: true, message: '必填', trigger: ['blur', 'change']}],
brnzsr: [{required: true, message: '必填', trigger: ['blur', 'change']}],
birthday: [{required: true, message: '必填', trigger: ['blur', 'change']}],
lxfs: [{required: true, message: '必填', trigger: ['blur', 'change']}],
jtzz: [{required: true, message: '必填', trigger: ['blur', 'change']}],
},
subsidizedList: [],
mzOptions: [
'汉族',
'蒙古族',
'回族',
'藏族',
'维吾尔族',
'苗族',
'彝族',
'壮族',
'布依族',
'朝鲜族',
'满族',
'侗族',
'瑶族',
'白族',
'土家族',
'哈尼族',
'哈萨克族',
'傣族',
'黎族',
'傈僳族',
'佤族',
'畲族',
'高山族',
'拉祜族',
'水族',
'东乡族',
'纳西族',
'景颇族',
'柯尔克孜族',
'土族',
'达翰尔族',
'么佬族',
'羌族',
'布朗族',
'撒拉族',
'毛南族',
'仡佬族',
'锡伯族',
'阿昌族',
'普米族',
'塔吉克族',
'怒族',
'乌孜别克族',
'俄罗斯族',
'鄂温克族',
'德昂族',
'保安族',
'裕固族',
'京族',
'塔塔尔族',
'独龙族',
'鄂伦春族',
'赫哲族',
'门巴族',
'珞巴族',
'基诺族',
],
ybOptions: ['统筹', '社保'],
zcOptions: ['教授', '副教授', '讲师', '助教', '其他'],
bzOptions: ['事业编制职工(正式职工)', '合同制职工', '人事代理职工', '集体职工', '流动编制职工', '非事业编制职工', '博士后进站人员', '劳务派遣人员', '聘用工(各二级单位聘用)'],
subsidy: {
1: "日常补助慰问",
2: "“元旦、春节”困难补助慰问"
},
sq_knlx: {
1: "会员因病住院",
2: "家庭重大意外事故",
3: "会员去世",
4: "重大疾病(癌症)",
5: "困难家庭",
6: "精神疾病",
7: "长期病休",
8: "其它"
},
fclxOptions: ['商品房', '福利房', '经济适用房', '限价房', '自建房'],
hyzkOptions: ['未婚', '已婚', '离异', '丧偶', '再婚'],
fclyOptions: ['购买', '接收赠与', '继承', '其他来源'],
zzyyOptions: ['本人大病', '供养直系亲属大病', '本人残疾', '家属残疾', '本人下岗失业', '家属下岗失业', '收入低', '自然灾害', '重大事故', '子女上学', '其他'],
}
},
components: {
'sign': httpVueLoader('/components/sign/sign.vue?v=2.0.0'),
'file-upload': httpVueLoader('/components/plugins/FileUpload.vue'),
},
methods: {
async operation(flag) {
let method = this.form.id ? "/doEdit" : "/doAdd"
if (flag) {
const valid = await this.$refs["addform"].validate()
if (!valid) {
return
}
}
const loading = this.$loading({
lock: true,
text: '正在提交...',
spinner: 'el-icon-loading',
background: COVER_LAYER_COLOR
});
const formData = Object.assign({}, this.form);
formData.jtcys = JSON.stringify(formData.jtcys)
formData.files = JSON.stringify(formData.files)
formData.applicantsign = formData.sqsign
formData.flag = flag
const resp = await $.post(loc() + method, formData)
if (resp.code === 0) {
sublime.jumpPagePjax('/platform/fw/difficulty/applylist')
loading.close()
} else {
this.$notify.error({title: '失败', message: resp.msg});
loading.close()
}
},
async getUserData(userId) {
const {data} = await $.get("/platform/fw/condolence/apply/getUserData", {userId})
return data
},
async userChange() {
const userData = await this.getUserData(this.form.bbzrusername);
this.$set(this.form, 'sex', userData.sex)
this.$set(this.form, 'idcard', userData.idcard)
this.$set(this.form, 'yhkh', userData.bank_number)
this.$set(this.form, 'zzmm', userData.political)
this.$set(this.form, 'rsbz', userData.personType)
this.$set(this.form, 'mz', userData.nation)
this.$set(this.form, 'zw', userData.position)
this.$set(this.form, 'zc', userData.jobtitle)
this.$set(this.form, 'birthday', userData.birthday)
this.$set(this.form, 'lxfs', userData.mobile)
this.$set(this.form, 'unitname', userData.name)
},
querySqr(key) {
$.post(base + '/platform/fw/difficulty/apply/querySqr', {key: key}).then(res => {
this.subsidizedList = res.data;
});
}
}
}
</script>
@@ -0,0 +1,310 @@
<template>
<div class="difficulty-info">
<el-tabs tab-position="top" v-model="difficulty" 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="8">
<el-form-item prop="user_name" label="申请人姓名">
{{ viewData.sqrname }}
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item prop="sex" label="申请人工号">
{{ viewData.sqrloginname }}
</el-form-item>
</el-col>
<!-- <el-col :span="8">
<el-form-item prop="user_name" label="受补助人">
{{ viewData.bbname }}
</el-form-item>
</el-col>-->
<el-col :span="8">
<el-form-item prop="sex" label="性&emsp;&emsp;别">
{{ viewData.sex }}
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="所在单位">
{{ viewData.unitname }}
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item prop="user_age" label="本人月收入">
{{ viewData.brnzsr }}
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item prop="user_age" label="出生日期">
{{ viewData.birthday }}
</el-form-item>
</el-col>
<!-- <el-col :span="8">
<el-form-item label="在职状态">
{{ viewData.on_job ? '在职' : '退休' }}
</el-form-item>
</el-col>-->
<el-col :span="8">
<el-form-item label="联系电话">
{{ viewData.lxfs }}
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="家庭地址">
{{ viewData.jtzz }}
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="申请理由">
{{ viewData.apply_reason }}
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="备注">
{{ viewData.zyzkyybz }}
</el-form-item>
</el-col>
<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-col :span="24">
<el-form-item label="签&emsp;&emsp;字">
<el-image v-if="viewData.sqsign"
style="width: 300px; height: 100px"
:src="viewData.sqsign"
fit="contain"></el-image>
<span v-else>暂无</span>
</el-form-item>
</el-col>
</el-row>
</el-form>
</el-tab-pane>
<el-tab-pane label="家庭成员经济收入" name="2">
<el-table
:data="viewData.jtcys"
border
size="mini"
style="width: 100%">
<el-table-column prop="xm" label="姓名" align="center" header-align="center">
</el-table-column>
<el-table-column prop="nl" label="年龄" align="center" header-align="center">
</el-table-column>
<el-table-column prop="gx" label="与本人关系" align="center" header-align="center">
</el-table-column>
<el-table-column prop="nsr" label="月收入(元)" align="center" header-align="center">
</el-table-column>
</el-table>
</el-tab-pane>
<el-tab-pane label="分工会审核信息" name="5" v-if="viewData.upa">
<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.upa.username }}
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="审核时间:">
{{ viewData.upa.auditTime }}
</el-form-item>
</el-col>
</el-row>
<el-form-item label="审核意见:">
<div class="textarea-div">
{{ viewData.upa.auditOpinion ? viewData.upa.auditOpinion : '暂无' }}
</div>
</el-form-item>
<el-form-item label="签&emsp;&emsp;字:">
<el-image v-if="viewData.upa.auditSign"
style="width: 300px; height: 100px"
:src="viewData.upa.auditSign"
fit="contain"></el-image>
<span v-else>暂无</span>
</el-form-item>
</el-form>
</el-tab-pane>
<el-tab-pane label="校工会初审信息" name="9" v-if="viewData.tda">
<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.tda.username }}
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="审核时间:">
{{ viewData.tda.auditTime }}
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="初审金额:">
{{ viewData.xghbzje }}
</el-form-item>
</el-col>
</el-row>
<el-form-item label="审核意见:">
<div class="textarea-div">
{{ viewData.tda.auditOpinion ? viewData.tda.auditOpinion : '暂无' }}
</div>
</el-form-item>
<el-form-item label="签&emsp;&emsp;字:">
<el-image v-if="viewData.tda.auditSign"
style="width: 300px; height: 100px"
:src="viewData.tda.auditSign"
fit="contain"></el-image>
<span v-else>暂无</span>
</el-form-item>
</el-form>
</el-tab-pane>
<el-tab-pane label="校工会主席审核信息" name="10" v-if="viewData.sma">
<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.sma.username }}
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="审核时间:">
{{ viewData.sma.auditTime }}
</el-form-item>
</el-col>
<!-- <el-col :span="12">
<el-form-item label="补助金额:">
{{ viewData.xghbzje }}
</el-form-item>
</el-col>-->
</el-row>
<el-form-item label="审核意见:">
<div class="textarea-div">
{{ viewData.sma.auditOpinion ? viewData.sma.auditOpinion : '暂无' }}
</div>
</el-form-item>
<el-form-item label="签&emsp;&emsp;字:">
<el-image v-if="viewData.sma.auditSign"
style="width: 300px; height: 100px"
:src="viewData.sma.auditSign"
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 {
difficulty: "1",
viewData: {},
loading: true,
subsidy: {
1: "日常补助慰问",
2: "“元旦、春节”困难补助慰问"
},
sq_knlx: {
1: "会员因病住院",
2: "家庭重大意外事故",
3: "会员去世",
4: "重大疾病(癌症)",
5: "困难家庭",
6: "精神疾病",
7: "长期病休",
8: "其它"
},
}
},
components: {
'file-upload': httpVueLoader('/components/plugins/FileUpload.vue'),
},
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/difficulty/applylist/findOne", {id})
this.loading = false
if (data) {
this.viewData.files = []
this.difficulty = this.handle ? "999" : "1"
this.viewData = data
console.log(data)
if (this.viewData.files && this.viewData.files.length > 0) {
this.viewData.files = JSON.parse(data.files)
}
} else {
this.viewData = {}
this.$message({
message: "获取信息失败",
type: 'error'
});
}
}
}
}
</script>
<style>
.difficulty-info .el-timeline {
padding-left: 0;
}
.sign_img {
max-width: 300px;
max-height: 100px;
}
</style>