Files
UNION_NJUST/target/classes/static/components/difficulty/apply.vue
T
2026-09-23 09:38:39 +08:00

448 lines
18 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<template>
<el-card>
<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-row>
<el-row gutter="20">
<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
:disabled="form.apply_mode==1" 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-row>
<el-row gutter="20">
<!-- <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-col :span="8">
<!-- 职称本字段是通过人工选择输入,下面的是直接读取数据库 -->
<!-- <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-row>
<el-row gutter="20">
<!-- <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="生&emsp;&emsp;日">
<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="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-row>
<el-row gutter="20">
<!-- <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
style="width: 100%"
v-model="form.hospitalized_time"
type="daterange"
value-format="yyyy-MM-dd"
range-separator="-"
start-placeholder="开始日期"
end-placeholder="结束日期">
</el-date-picker>
<!-- <el-date-picker
clearable
style="width: 100%"
v-model="form.hospitalized_time"
type="dates"
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="请简述原因" 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 label-width="0">
<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="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="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="gzdw" label="工作单位" align="center" header-align="center">
<template slot-scope="scope">
<el-input placeholder="请输入工作单位" maxlength="100" v-model="scope.row.gzdw"
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>
</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']}],
},
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' + new Date().getTime()),
'file-upload': httpVueLoader('/components/plugins/FileUpload.vue'),
},
methods: {
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;
});
},
},
async created() {
}
}
</script>