Files
2026-09-08 19:49:21 +08:00

274 lines
11 KiB
Vue

<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="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="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-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-row>
<el-row :gutter="20">
<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-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-row>
<el-row gutter="20">
<el-col :span="8">
<el-form-item prop="unitname" label="所在单位">
<el-input maxlength="100" clearable placeholder="所在单位" v-model="form.unitname"
readonly
type="text"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item prop="unionname" label="所在分工会">
<el-input maxlength="100" clearable placeholder="所在分工会" v-model="form.unionname"
readonly
type="text"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row gutter="20">
<el-col :span="8">
<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="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 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="8">
<el-form-item label="所在医院" prop="hospital">
<el-input placeholder="请填写所在所在医院" v-model="form.hospital"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<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="请简述原因" 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>
<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']}],
},
subsidizedList: [],
}
},
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, 'birthday', userData.birthday)
this.$set(this.form, 'lxfs', userData.mobile)
this.$set(this.form, 'unitname', userData.unitname)
this.$set(this.form, 'unionname', userData.unionname)
},
querySqr(key) {
$.post(base + '/platform/fw/difficulty/apply/querySqr', {key: key}).then(res => {
this.subsidizedList = res.data;
});
}
}
}
</script>