Files
UNION_HUTB/target/classes/static/components/difficulty/apply.vue
T
2026-09-09 09:14:28 +08:00

567 lines
23 KiB
Vue

<template>
<el-card class="box-card">
<div slot="header" class="clearfix">
<span style="color: #409EFF;font-size: 18px">填写申请信息</span>
</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-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-row>
<el-row gutter="20">
<el-col :span="8">
<el-form-item prop="zzmm" label="政治面貌">
<el-input maxlength="50" placeholder="请输入政治面貌" clearable v-model="form.zzmm"
type="text"></el-input>
</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="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="8">
<el-form-item prop="cjgzsj" label="参加工作时间">
<el-date-picker clearable
style="width: 100%"
v-model="form.cjgzsj"
type="month"
value-format="yyyy-MM"
placeholder="参加工作时间">
</el-date-picker>
</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-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="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 label="补助类型" prop="sq_bzlx">
<el-select v-model="form.sq_bzlx" style="width: 100%">
<el-option v-for="(v,k) in subsidy" :label="v" :value="k"
:key="k"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<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 sq_knlx" :key="k" :value="k"
:label="v"></el-option>
</el-select>
</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="jtnzsr" label="家庭年收入" class="int_input">
<el-input-number clearable style="width: 100%" v-model="form.jtnzsr" :min="0"
:max="9999999"
controls-position="right" placeholder="请填写年收入(元)">
</el-input-number>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item prop="jtrs" label="家庭人数" class="int_input">
<el-input-number clearable style="width: 100%" v-model="form.jtrs" :min="0" :max="99"
controls-position="right" placeholder="请填写家庭人数">
</el-input-number>
</el-form-item>
</el-col>
</el-row>
<el-row gutter="20">
<el-col :span="8">
<el-form-item prop="xzflx" label="现住房类型">
<el-select v-model="form.xzflx" placeholder="请选择住房类型" clearable style="width: 100%">
<el-option
v-for="item in fclxOptions"
:key="item"
:label="item"
:value="item">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item prop="jzmj" label="建筑面积" class="int_input">
<el-input-number clearable style="width: 100%" v-model="form.jzmj" :min="0"
:max="9999999"
controls-position="right" placeholder="请填写建筑面积(㎡)">
</el-input-number>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item prop="hyzt" label="婚姻状况" class="int_input">
<el-select v-model="form.hyzt" placeholder="请选择婚姻状况" clearable style="width: 100%">
<el-option
v-for="item in hyzkOptions"
:key="item"
:label="item"
:value="item">
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-form-item prop="jtzz" label="目前住址">
<el-input maxlength="50" placeholder="请输入目前住址" clearable v-model="form.jtzz"
type="text"></el-input>
</el-form-item>
<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"></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"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-form-item prop="zyzkyy" label="主要致困原因">
<el-checkbox-group
v-model="form.zyzkyy">
<el-checkbox v-for="item in zzyyOptions" :label="item" :key="item">{{ item }}</el-checkbox>
</el-checkbox-group>
</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.jtfc.push({})">
添加
</el-button>
<el-table :data="form.jtfc" border size="mini" style="width: 100%;height: 100%">
<el-table-column type="index" label="序号" align="center" header-align="center">
</el-table-column>
<el-table-column prop="fcly" label="房产来源" width="200px" align="center"
header-align="center">
<template slot-scope="scope">
<el-select v-model="scope.row.fcly" placeholder="请选择房产来源" clearable>
<el-option
v-for="item in fclyOptions"
:key="item"
:label="item"
:value="item">
</el-option>
</el-select>
</template>
</el-table-column>
<el-table-column prop="dz" label="地址" align="center" header-align="center">
<template slot-scope="scope">
<el-input placeholder="请输入地址" maxlength="300" v-model="scope.row.dz"
clearable></el-input>
</template>
</el-table-column>
<el-table-column prop="mj" label="面积" width="200px" align="center" header-align="center">
<template slot-scope="scope">
<el-input v-model="scope.row.mj"
onKeypress="return (/[\d]/.test(String.fromCharCode(event.keyCode)))"
placeholder="请输入面积" type="number">
<template style="border: none;background-color: white;" slot="append">
</template>
</el-input>
</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.jtfc.length==0"
@click="form.jtfc.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;">家庭车产</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.jtcc.push({})">
添加
</el-button>
<el-table
:data="form.jtcc"
border
size="mini"
style="width: 100%">
<el-table-column type="index" label="序号" align="center" header-align="center">
</el-table-column>
<el-table-column prop="pp" label="品牌" align="center" header-align="center">
<template slot-scope="scope">
<el-input placeholder="请输入品牌" maxlength="100" v-model="scope.row.pp"
clearable></el-input>
</template>
</el-table-column>
<el-table-column prop="xh" label="型号" align="center" header-align="center">
<template slot-scope="scope">
<el-input placeholder="请输入型号" maxlength="100" v-model="scope.row.xh"
clearable></el-input>
</template>
</el-table-column>
<el-table-column prop="jg" label="价格" width="200px" align="center" header-align="center">
<template slot-scope="scope">
<el-input v-model="scope.row.jg"
onKeypress="return (/[\d]/.test(String.fromCharCode(event.keyCode)))"
placeholder="请输入价格" type="number">
<template style="border: none;background-color: white;" slot="append">
</template>
</el-input>
</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.jtcc.length==0"
@click="form.jtcc.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;">主要家庭成员</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="auto">
<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="auto">
<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']}],
},
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 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.zw)
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>