|
@@ -15,84 +15,77 @@
|
|
|
<el-form v-if="showForm" ref="formRef" class="applyForm" :model="form" :rules="rules" label-width="140px"
|
|
|
size="large" :inline="true">
|
|
|
<h3>申请信息</h3>
|
|
|
- <el-form-item label="行政区划" prop="xzqh" class="formWidth2">
|
|
|
- <RegionCascaderSelect v-model="form.xzqh" style="width: 100%" valueProp="code" :isDataRoot="true">
|
|
|
- </RegionCascaderSelect>
|
|
|
- </el-form-item>
|
|
|
-
|
|
|
- <el-form-item label="申请人姓名" prop="sqrXm" class="formWidth2">
|
|
|
+ <el-form-item label="申请人姓名" prop="sqrXm">
|
|
|
<el-input v-model="form.sqrXm" placeholder="请输入申请人姓名"/>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="性别" prop="xb" class="formWidth2">
|
|
|
+ <el-form-item label="性别" prop="xb">
|
|
|
<el-select v-model="form.xb" placeholder="请选择性别">
|
|
|
- <el-option v-for="dict in dict.type.C0007" :key="dict.value" :label="dict.label" :value="dict.value">
|
|
|
- </el-option>
|
|
|
+ <el-option v-for="dict in C0007" :key="dict.value" :label="dict.label" :value="dict.value"></el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
-
|
|
|
- <el-form-item label="出生日期" prop="csrq" class="formWidth2">
|
|
|
- <el-date-picker clearable v-model="form.csrq" type="date" value-format="yyyyMMdd" placeholder="请选择出生日期">
|
|
|
- </el-date-picker>
|
|
|
+ <el-form-item label="联系电话" prop="sqrLxdh">
|
|
|
+ <el-input v-model="form.sqrLxdh" placeholder="请输入申请人联系电话"/>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="居住地址" prop="jzdz" class="formWidth2">
|
|
|
- <el-input v-model="form.jzdz" placeholder="请输入居住地址"/>
|
|
|
+ <el-form-item label="身份证号" prop="sqrZjhm">
|
|
|
+ <el-input v-model="form.sqrZjhm" placeholder="请输入申请人身份证号" maxlength="18"/>
|
|
|
</el-form-item>
|
|
|
-
|
|
|
- <el-form-item label="申请人联系电话" prop="sqrLxdh" class="formWidth2">
|
|
|
- <el-input v-model="form.sqrLxdh" placeholder="请输入申请人联系电话"/>
|
|
|
+ <el-form-item label="出生日期" prop="csrq">
|
|
|
+ <el-date-picker v-model="form.csrq" type="date" value-format="YYYYMMDD" placeholder="请选择出生日期" clearable/>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="行政区划" prop="xzqh">
|
|
|
+ <RegionCascaderSelect v-model="form.xzqh" style="width: 100%" valueProp="code" :isDataRoot="true" :checkStrictly="false"/>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="申请人身份证号" prop="sqrZjhm" class="formWidth2">
|
|
|
- <el-input v-model="form.sqrZjhm" placeholder="请输入申请人身份证号"/>
|
|
|
+ <el-form-item class="el-form-item2" label="居住地址" prop="jzdz">
|
|
|
+ <el-input v-model="form.jzdz" placeholder="请输入居住地址"/>
|
|
|
</el-form-item>
|
|
|
|
|
|
- <el-form-item label="代办人姓名" prop="dbrXm" class="formWidth2">
|
|
|
+ <el-form-item label="代办人姓名" prop="dbrXm">
|
|
|
<el-input v-model="form.dbrXm" placeholder="请输入代办人姓名"/>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="代办人身份证号" prop="dbrZjhm" class="formWidth2">
|
|
|
+ <el-form-item label="代办人身份证号" prop="dbrZjhm">
|
|
|
<el-input v-model="form.dbrZjhm" placeholder="请输入代办人身份证号"/>
|
|
|
</el-form-item>
|
|
|
|
|
|
- <el-form-item label="代办人联系电话" prop="dbrLxdh" class="formWidth2">
|
|
|
+ <el-form-item label="代办人联系电话" prop="dbrLxdh">
|
|
|
<el-input v-model="form.dbrLxdh" placeholder="请输入代办人联系电话"/>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="代办人与申请人关系" prop="gx" class="formWidth2">
|
|
|
+ <el-form-item label="代办人与申请人关系" prop="gx">
|
|
|
<el-select v-model="form.gx" placeholder="请选择代办人与申请人关系">
|
|
|
- <el-option v-for="dict in dict.type.C0032" :key="dict.value" :label="dict.label" :value="dict.value">
|
|
|
+ <el-option v-for="dict in C0032" :key="dict.value" :label="dict.label" :value="dict.value">
|
|
|
</el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
|
|
|
- <el-form-item label="是否补发" prop="isBf" class="formWidth2">
|
|
|
+ <el-form-item label="是否补发" prop="isBf">
|
|
|
<el-select v-model="form.isBf" placeholder="请选择是否补发">
|
|
|
- <el-option v-for="dict in dict.type.CZ035" :key="dict.value" :label="dict.label" :value="dict.value">
|
|
|
+ <el-option v-for="dict in CZ035" :key="dict.value" :label="dict.label" :value="dict.value">
|
|
|
</el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
- <div class="flexBox" v-if="form.isBf == '1'">
|
|
|
- <el-form-item label="补发月数" prop="bfys" class="formWidth2">
|
|
|
- <number placeholder="补发月数" v-model="form.bfys" :min="0" :max="10000"/>
|
|
|
- </el-form-item>
|
|
|
-
|
|
|
- <el-form-item label="补发金额" prop="bfje" class="formWidth2">
|
|
|
- <number placeholder="补发金额" v-model="form.bfje" :min="0" :max="10000000000" :precision="2"/>
|
|
|
- </el-form-item>
|
|
|
- </div>
|
|
|
- <el-form-item label="开户银行" prop="khyh" class="formWidth2">
|
|
|
- <el-cascader :props="props" :options="dict.tree.C0044" v-model="form.khyh" placeholder="请选择开户银行">
|
|
|
+ <el-form-item v-if="form.isBf== 1" label="补发月数" prop="bfys">
|
|
|
+ <number placeholder="补发月数" v-model="form.bfys" :min="0" :max="10000"/>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="开户银行" prop="khyh">
|
|
|
+ <el-cascader :props="props" :options="C0044" v-model="form.khyh" placeholder="请选择开户银行">
|
|
|
</el-cascader>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="银行账号" prop="yhzh" class="formWidth2">
|
|
|
+ <el-form-item label="银行账号" prop="yhzh">
|
|
|
<el-input v-model="form.yhzh" placeholder="请输入银行账号"/>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="开户名称" prop="khmc" class="formWidth2">
|
|
|
+ <el-form-item label="开户名称" prop="khmc">
|
|
|
<el-input v-model="form.khmc" placeholder="请输入开户名称"/>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="附件">
|
|
|
+ <el-form-item class="el-form-item3" label="附件">
|
|
|
<file-upload v-model="form.fj"/>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="头像" prop="tx" class="formWidth2">
|
|
|
+ <el-form-item label="头像" prop="tx">
|
|
|
<image-upload v-model="form.tx"/>
|
|
|
</el-form-item>
|
|
|
+ <el-form-item class="el-form-item1">
|
|
|
+ <el-button v-loading="loading" element-loading-background="rgba(255, 255, 255, 0.3)" class="submitBtn"
|
|
|
+ type="danger" @click="onSubmit(formRef)">提 交
|
|
|
+ </el-button>
|
|
|
+ </el-form-item>
|
|
|
</el-form>
|
|
|
<div v-else class="backInfo">您已成功提交申请<br/><span>页面即将自动返回上页...</span></div>
|
|
|
</div>
|
|
@@ -103,11 +96,11 @@
|
|
|
<script setup>
|
|
|
import { getCurrentInstance, reactive, ref } from 'vue';
|
|
|
import { useRouter } from 'vue-router';
|
|
|
-import { subsidyApply } from '@/api/home';
|
|
|
+import { addGlbt } from '@/api/home';
|
|
|
import { Regular, chineseOne, idCard } from '@/utils/regular';
|
|
|
|
|
|
const { proxy } = getCurrentInstance();
|
|
|
-const { C0007, C0032, C0035, C0044 } = proxy.useDict('C0007', 'C0032', 'C0035', 'C0044');
|
|
|
+const { C0007, C0032, CZ035, C0044 } = proxy.useDict('C0007', 'C0032', 'CZ035', 'C0044');
|
|
|
let router = useRouter(), timer;
|
|
|
|
|
|
/* --------表单相关start---------- */
|
|
@@ -116,54 +109,45 @@ const formRef = ref();
|
|
|
const showForm = ref(true);
|
|
|
const form = reactive({});
|
|
|
const rules = reactive({
|
|
|
- xm: [
|
|
|
- { required: true, message: '姓名不能为空', trigger: 'blur' },
|
|
|
- { max: 72, message: '姓名不能超过72个字符', trigger: 'blur' },
|
|
|
- { validator: chineseOne, trigger: 'blur' }
|
|
|
+ xzqh: [
|
|
|
+ { required: true, message: '行政区划不能为空', trigger: 'blur' },
|
|
|
+ ],
|
|
|
+ sqrXm: [
|
|
|
+ { required: true, message: '申请人姓名不能为空', trigger: 'blur' },
|
|
|
+ { max: 72, message: '申请人姓名不能超过72个字符', trigger: 'blur' },
|
|
|
+ { validator: chineseOne, trigger: 'blur' },
|
|
|
],
|
|
|
- zjlx: [{ required: true, message: '证件类型不能为空', trigger: 'change' }],
|
|
|
- zjhm: [
|
|
|
- { required: true, message: '证件号码不能为空', trigger: 'blur' },
|
|
|
- { validator: idCard, trigger: 'blur' }
|
|
|
+ xb: [
|
|
|
+ { required: true, message: '性别不能为空', trigger: 'change' }
|
|
|
],
|
|
|
- csrq: [{ required: true, message: '出生日期不能为空', trigger: 'change' }],
|
|
|
- xb: [{ required: true, message: '性别不能为空', trigger: 'change' }],
|
|
|
- gj: [
|
|
|
- { required: true, message: '国籍不能为空', trigger: 'blur' },
|
|
|
- { max: 3, message: '国籍不能超过3个字符', trigger: 'blur' }
|
|
|
+ csrq: [
|
|
|
+ { required: true, message: '出生日期不能为空', trigger: 'blur' },
|
|
|
],
|
|
|
- mz: [{ required: true, message: '民族不能为空', trigger: 'change' }],
|
|
|
- // whcd: [{ required: true, message: '文化程度不能为空', trigger: 'change' }],
|
|
|
- hyzk: [{ required: true, message: '婚姻状况不能为空', trigger: 'change' }],
|
|
|
- // zzmm: [{ required: true, message: '政治面貌不能为空', trigger: 'change' }],
|
|
|
- sjhm: [{ pattern: Regular.Mobile, message: '手机号格式不对', trigger: 'blur' }],
|
|
|
- gddh: [{ pattern: Regular.Phone, message: '固话格式:0431-88xxxxxx', trigger: 'blur' }],
|
|
|
- btlx: [{ required: true, message: '补贴类型不能为空', trigger: 'change' }],
|
|
|
- xqpglx: [{ required: true, message: '需求评估类型不能为空', trigger: 'change' }],
|
|
|
- hjlb: [{ required: true, message: '户籍类别不能为空', trigger: 'change' }],
|
|
|
- hjszd: [{ required: true, message: '户籍所在地不能为空', trigger: 'blur' }],
|
|
|
- jg: [{ required: true, message: '籍贯不能为空', trigger: 'blur' }],
|
|
|
- // xjd: [{ required: true, message: '现居地不能为空', trigger: 'blur' }],
|
|
|
- cjzh: [{ max: 20, message: '残疾证号不能超过20个字符', trigger: 'blur' }],
|
|
|
- sfcjsb: [{ required: true, message: '是否参加社保不能为空', trigger: 'change' }],
|
|
|
- sfxschx: [{ required: true, message: '是否享受长护险不能为空', trigger: 'blur' }],
|
|
|
- sbkh: [{ max: 18, message: '社保卡号不能超过18个字符', trigger: 'blur' }],
|
|
|
- jhrxm: [
|
|
|
- { max: 72, message: '监护人姓名不能超过72个字符', trigger: 'blur' },
|
|
|
+ jzdz: [
|
|
|
+ { required: true, message: '居住地址不能为空', trigger: 'blur' },
|
|
|
+ { max: 100, message: '居住地址不能超过100个字符', trigger: 'blur' },
|
|
|
],
|
|
|
- jhrsjhm: [{ pattern: Regular.Mobile, message: '手机号格式不对', trigger: 'blur' }],
|
|
|
- khyh: [{ required: true, message: '开户银行代码不能为空', trigger: 'change' }],
|
|
|
- yhzh: [{ required: true, max: 19, message: '银行账号不能超过19个字符', trigger: 'blur' }],
|
|
|
- khmc: [
|
|
|
- { required: true, message: '开户名称不能为空', trigger: 'blur' },
|
|
|
- { max: 72, message: '开户名称不能超过72个字符', trigger: 'blur' }
|
|
|
+ sqrLxdh: [
|
|
|
+ { required: true, message: '申请人联系电话不能为空', trigger: 'blur', },
|
|
|
+ { max: 18, message: '申请人联系电话不能超过18个字符', trigger: 'blur', },
|
|
|
],
|
|
|
- dbrxm: [
|
|
|
+ sqrZjhm: [
|
|
|
+ { required: true, message: '申请人身份证号不能为空', trigger: 'blur', },
|
|
|
+ { validator: idCard, trigger: 'blur' },
|
|
|
+ ],
|
|
|
+ dbrXm: [
|
|
|
{ max: 72, message: '代办人姓名不能超过72个字符', trigger: 'blur' },
|
|
|
+ { validator: chineseOne, trigger: 'blur' },
|
|
|
+ ],
|
|
|
+ dbrZjhm: [],
|
|
|
+ dbrLxdh: [
|
|
|
+ { max: 18, message: '代办人联系电话不能超过18个字符', trigger: 'blur', },
|
|
|
],
|
|
|
- dbrdh: [
|
|
|
- // { max: 18, message: '代办人联系电话不能超过18个字符', trigger: 'blur' }
|
|
|
- { pattern: Regular.Mobile, message: '号码格式:131xxxxxxxx或010-88xxxxx', trigger: 'blur' }
|
|
|
+ isBf: [
|
|
|
+ { required: true, message: '是否补发不能为空', trigger: 'blur' },
|
|
|
+ ],
|
|
|
+ tx: [
|
|
|
+ { required: false, message: '头像不能为空', trigger: 'blur' }
|
|
|
],
|
|
|
});
|
|
|
|
|
@@ -172,8 +156,18 @@ async function onSubmit(formEl) {
|
|
|
await formEl.validate((valid, fields) => {
|
|
|
loading.value = true;
|
|
|
if (valid) {
|
|
|
- console.log('onSubmit', form);
|
|
|
- subsidyApply(form).then((res) => {
|
|
|
+ let xzqh = ''
|
|
|
+ if (Array.isArray(form.xzqh)) {
|
|
|
+ xzqh = form.xzqh[form.xzqh.length - 1]
|
|
|
+ } else {
|
|
|
+ let data = JSON.parse(form.xzqh)
|
|
|
+ xzqh = data[data.length - 1]
|
|
|
+ }
|
|
|
+ let postData = {
|
|
|
+ ...form,
|
|
|
+ xzqh: xzqh
|
|
|
+ }
|
|
|
+ addGlbt(postData).then((res) => {
|
|
|
console.log('res', res);
|
|
|
showForm.value = false;
|
|
|
timer = setTimeout(() => router.push('/gljtsq'), 2000);
|
|
@@ -250,6 +244,7 @@ async function onSubmit(formEl) {
|
|
|
|
|
|
:deep(.el-form-item) {
|
|
|
width: 45%;
|
|
|
+ vertical-align: top;
|
|
|
}
|
|
|
|
|
|
:deep(.el-select) {
|
|
@@ -268,6 +263,20 @@ async function onSubmit(formEl) {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ .el-form-item2 {
|
|
|
+ width: 100%;
|
|
|
+
|
|
|
+ .el-input {
|
|
|
+ width: 92%;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .el-form-item3 {
|
|
|
+ .el-form-item__content {
|
|
|
+ line-height: 20px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
.submitBtn {
|
|
|
width: 12%;
|
|
|
margin: 0 auto;
|