2 changed files with 1740 additions and 687 deletions
@ -0,0 +1,921 @@ |
|||||
|
<template> |
||||
|
<!-- <el-dialog :visible.sync="visible" :title="!dataForm.id ? $t('add') : $t('update')"--> |
||||
|
<!-- :close-on-click-modal="false"--> |
||||
|
<!-- :close-on-press-escape="false"--> |
||||
|
<!-- center>--> |
||||
|
<div> |
||||
|
<div class="dialog-h-content scroll-h"> |
||||
|
<el-form :model="dataForm" |
||||
|
:rules="dataRule" |
||||
|
ref="dataForm" |
||||
|
@keyup.enter.native="dataFormSubmitHandle()" |
||||
|
class="form" |
||||
|
:disabled="this.isLook"> |
||||
|
<el-form-item label="所属网格" |
||||
|
label-width="150px" |
||||
|
prop="gridId"> |
||||
|
<el-select class="item_width_2" |
||||
|
v-model.trim="dataForm.gridId" |
||||
|
placeholder="请选择" |
||||
|
clearable |
||||
|
@change="handleChangeGrid"> |
||||
|
<el-option v-for="item in gridList" |
||||
|
@click.native="gridClick(item)" |
||||
|
:key="item.value" |
||||
|
:label="item.label" |
||||
|
:value="item.value"> |
||||
|
</el-option> |
||||
|
</el-select> |
||||
|
</el-form-item> |
||||
|
<el-form-item v-if="dataForm.homeId === null" |
||||
|
label="小区" |
||||
|
label-width="150px" |
||||
|
prop="villageName"> |
||||
|
<el-input class="item_width_2" |
||||
|
style="width: 200px; margin-right: 20px" |
||||
|
clearable |
||||
|
v-model="dataForm.villageName" |
||||
|
placeholder="小区"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item v-if="dataForm.homeId === null" |
||||
|
label="楼号" |
||||
|
label-width="150px" |
||||
|
prop="buildName"> |
||||
|
<el-input class="item_width_2" |
||||
|
style="width: 200px; margin-right: 20px" |
||||
|
clearable |
||||
|
v-model="dataForm.buildName" |
||||
|
placeholder="楼号"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item v-if="dataForm.homeId === null" |
||||
|
label="单元号" |
||||
|
label-width="150px" |
||||
|
prop="unitName"> |
||||
|
<el-input class="item_width_2" |
||||
|
style="width: 200px; margin-right: 20px" |
||||
|
clearable |
||||
|
v-model="dataForm.unitName" |
||||
|
placeholder="单元号"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item v-if="dataForm.homeId === null" |
||||
|
label="房号" |
||||
|
label-width="150px" |
||||
|
prop="homeName"> |
||||
|
<el-input class="item_width_2" |
||||
|
style="width: 200px; margin-right: 20px" |
||||
|
clearable |
||||
|
v-model="dataForm.homeName" |
||||
|
placeholder="房号"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item v-if="dataForm.homeId !== null" |
||||
|
label="所属房屋" |
||||
|
label-width="150px" |
||||
|
prop="homeId"> |
||||
|
<el-select v-model.trim="dataForm.villageId" |
||||
|
placeholder="请选择小区" |
||||
|
size="small" |
||||
|
clearable |
||||
|
class="resi-cell-select" |
||||
|
@change="handleChangeV" |
||||
|
style="margin-right: 8px; width: 120px"> |
||||
|
<el-option v-for="item in villageList" |
||||
|
@click.native="villageClick(item)" |
||||
|
:key="item.value" |
||||
|
:label="item.label" |
||||
|
:value="item.value"> |
||||
|
</el-option> |
||||
|
</el-select> |
||||
|
<el-select v-model.trim="dataForm.buildId" |
||||
|
placeholder="楼号" |
||||
|
size="small" |
||||
|
clearable |
||||
|
:disabled="changeVDisabled" |
||||
|
class="resi-cell-select resi-cell-select-middle" |
||||
|
@change="handleChangeB" |
||||
|
style="margin-right: 8px; width: 120px"> |
||||
|
<el-option v-for="item in buildList" |
||||
|
@click.native="buildClick(item)" |
||||
|
:key="item.value" |
||||
|
:label="item.label" |
||||
|
:value="item.value"> |
||||
|
</el-option> |
||||
|
</el-select> |
||||
|
<el-select v-model.trim="dataForm.unitId" |
||||
|
placeholder="单元" |
||||
|
size="small" |
||||
|
clearable |
||||
|
:disabled="changeBDisabled" |
||||
|
class="resi-cell-select resi-cell-select-middle" |
||||
|
@change="handleChangeD" |
||||
|
style="margin-right: 8px; width: 120px"> |
||||
|
<el-option v-for="item in unitList" |
||||
|
@click.native="unitClick(item)" |
||||
|
:key="item.value" |
||||
|
:label="item.label" |
||||
|
:value="item.value"> |
||||
|
</el-option> |
||||
|
</el-select> |
||||
|
<el-select v-model.trim="dataForm.homeId" |
||||
|
placeholder="房号" |
||||
|
size="small" |
||||
|
clearable |
||||
|
:disabled="changeDDisabled" |
||||
|
class="resi-cell-select resi-cell-select-middle" |
||||
|
@change="handleChangeH" |
||||
|
style="width: 120px"> |
||||
|
<el-option v-for="item in homeList" |
||||
|
@click.native="homeClick(item)" |
||||
|
:key="item.value" |
||||
|
:label="item.label" |
||||
|
:value="item.value"> |
||||
|
</el-option> |
||||
|
</el-select> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="户口性质" |
||||
|
label-width="150px" |
||||
|
prop="householdType"> |
||||
|
<el-select class="item_width_2" |
||||
|
v-model.trim="dataForm.householdType" |
||||
|
placeholder="请选择" |
||||
|
clearable> |
||||
|
<el-option v-for="item in household" |
||||
|
:key="item.value" |
||||
|
:label="item.label" |
||||
|
:value="item.value"> |
||||
|
</el-option> |
||||
|
</el-select> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="姓名" |
||||
|
label-width="150px" |
||||
|
prop="name"> |
||||
|
<el-input class="item_width_2" |
||||
|
style="width: 200px; margin-right: 20px" |
||||
|
clearable |
||||
|
v-model="dataForm.name" |
||||
|
placeholder="姓名"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="联系电话" |
||||
|
label-width="150px" |
||||
|
prop="mobile"> |
||||
|
<el-input v-model="dataForm.mobile" |
||||
|
class="item_width_2" |
||||
|
clearable |
||||
|
style="width: 200px; margin-right: 20px" |
||||
|
placeholder="联系电话"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="证件号" |
||||
|
label-width="150px" |
||||
|
prop="idCard"> |
||||
|
<el-input v-model="dataForm.idCard" |
||||
|
class="item_width_2" |
||||
|
clearable |
||||
|
style="width: 200px; margin-right: 20px" |
||||
|
placeholder="证件号"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="是否接种" |
||||
|
label-width="150px" |
||||
|
prop="isVaccination"> |
||||
|
<el-select class="item_width_2" |
||||
|
v-model.trim="dataForm.isVaccination" |
||||
|
placeholder="请选择" |
||||
|
@change="isVacChange"> |
||||
|
<el-option v-for="item in isVaccinationOption" |
||||
|
:key="item.value" |
||||
|
:label="item.label" |
||||
|
:value="item.value"> |
||||
|
</el-option> |
||||
|
</el-select> |
||||
|
</el-form-item> |
||||
|
<el-form-item v-if="dataForm.isVaccination === '1'" |
||||
|
label="第一次接种时间" |
||||
|
label-width="150px"> |
||||
|
<el-date-picker v-model="dataForm.firstVacTime" |
||||
|
type="date" |
||||
|
clearable |
||||
|
placeholder="选择日期时间" |
||||
|
value-format="yyyy-MM-dd" |
||||
|
style="width: 200px; margin-right: 20px"> |
||||
|
</el-date-picker> |
||||
|
</el-form-item> |
||||
|
<el-form-item v-if="dataForm.isVaccination === '1'" |
||||
|
label="第一次接种地点" |
||||
|
label-width="150px"> |
||||
|
<el-select class="item_width_2" |
||||
|
v-model.trim="dataForm.firstVacSite" |
||||
|
placeholder="请选择" |
||||
|
clearable |
||||
|
style="width: 200px; margin-right: 20px"> |
||||
|
<el-option v-for="item in vacSiteOption" |
||||
|
:key="item.value" |
||||
|
:label="item.label" |
||||
|
:value="item.value"> |
||||
|
</el-option> |
||||
|
</el-select> |
||||
|
</el-form-item> |
||||
|
<el-form-item v-if="dataForm.isVaccination === '1'" |
||||
|
label="第二次接种时间" |
||||
|
label-width="150px"> |
||||
|
<el-date-picker v-model="dataForm.secondVacTime" |
||||
|
type="date" |
||||
|
clearable |
||||
|
placeholder="选择日期时间" |
||||
|
value-format="yyyy-MM-dd" |
||||
|
style="width: 200px; margin-right: 20px"> |
||||
|
</el-date-picker> |
||||
|
</el-form-item> |
||||
|
<el-form-item v-if="dataForm.isVaccination === '1'" |
||||
|
label="第二次接种地点" |
||||
|
label-width="150px"> |
||||
|
<el-select class="item_width_2" |
||||
|
v-model.trim="dataForm.secondVacSite" |
||||
|
placeholder="请选择" |
||||
|
clearable |
||||
|
style="width: 200px; margin-right: 20px"> |
||||
|
<el-option v-for="item in vacSiteOption" |
||||
|
:key="item.value" |
||||
|
:label="item.label" |
||||
|
:value="item.value"> |
||||
|
</el-option> |
||||
|
</el-select> |
||||
|
</el-form-item> |
||||
|
<el-form-item v-if="dataForm.isVaccination === '1'" |
||||
|
label="第三次接种时间" |
||||
|
label-width="150px"> |
||||
|
<el-date-picker v-model="dataForm.thirdVacTime" |
||||
|
type="date" |
||||
|
clearable |
||||
|
placeholder="选择日期时间" |
||||
|
value-format="yyyy-MM-dd" |
||||
|
style="width: 200px; margin-right: 20px"> |
||||
|
</el-date-picker> |
||||
|
</el-form-item> |
||||
|
<el-form-item v-if="dataForm.isVaccination === '1'" |
||||
|
label="第三次接种地点" |
||||
|
label-width="150px"> |
||||
|
<el-select class="item_width_2" |
||||
|
v-model.trim="dataForm.thirdVacSite" |
||||
|
placeholder="请选择" |
||||
|
clearable |
||||
|
style="width: 200px; margin-right: 20px"> |
||||
|
<el-option v-for="item in vacSiteOption" |
||||
|
:key="item.value" |
||||
|
:label="item.label" |
||||
|
:value="item.value"> |
||||
|
</el-option> |
||||
|
</el-select> |
||||
|
</el-form-item> |
||||
|
<el-form-item v-if="dataForm.isVaccination === '0'" |
||||
|
label="原因" |
||||
|
label-width="150px"> |
||||
|
<el-select class="item_width_2" |
||||
|
v-model.trim="dataForm.reason" |
||||
|
placeholder="请选择" |
||||
|
clearable> |
||||
|
<el-option v-for="item in reasonOption" |
||||
|
:key="item.value" |
||||
|
:label="item.label" |
||||
|
:value="item.value"> |
||||
|
</el-option> |
||||
|
</el-select> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="备注" |
||||
|
label-width="150px"> |
||||
|
<el-input class="item_width_1" |
||||
|
type="textarea" |
||||
|
maxlength="500" |
||||
|
show-word-limit |
||||
|
:rows="3" |
||||
|
placeholder="请输入备注,不超过500字" |
||||
|
v-model="dataForm.note"></el-input> |
||||
|
</el-form-item> |
||||
|
</el-form> |
||||
|
<div class="div_btn resi-btns"> |
||||
|
<!-- <template slot="footer">--> |
||||
|
<el-button @click=handleCancle>{{ $t('cancel') }}</el-button> |
||||
|
<el-button v-if="!this.isLook" |
||||
|
type="primary" |
||||
|
@click="dataFormSubmitHandle()" |
||||
|
:disabled="btnDisable">{{ $t('confirm') }}</el-button> |
||||
|
<!-- </template>--> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
<!-- </el-dialog>--> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
import debounce from 'lodash/debounce' |
||||
|
import { requestPost } from '@/js/dai/request' |
||||
|
import nextTick from "dai-js/tools/nextTick"; |
||||
|
import { Loading } from "element-ui"; |
||||
|
import formVltHelper from "dai-js/tools/formVltHelper"; |
||||
|
let loading; // 加载动画 |
||||
|
export default { |
||||
|
data () { |
||||
|
return { |
||||
|
formType: "add", |
||||
|
visible: false, |
||||
|
btnDisable: false, |
||||
|
gridList: [], |
||||
|
villageList: [], |
||||
|
buildList: [], |
||||
|
unitList: [], |
||||
|
homeList: [], |
||||
|
household: [ |
||||
|
{ value: '0', label: '户籍' }, |
||||
|
{ value: '1', label: '外来' }, |
||||
|
], |
||||
|
isVaccinationOption: [ |
||||
|
{ value: '0', label: '否' }, |
||||
|
{ value: '1', label: '是' }, |
||||
|
], |
||||
|
vacSiteOption: [ |
||||
|
{ value: '本街道内接种', label: '本街道内接种' }, |
||||
|
{ value: '区内其他街道接种', label: '区内其他街道接种' }, |
||||
|
{ value: '区外其他地区接种', label: '区外其他地区接种' }, |
||||
|
], |
||||
|
reasonOption: [ |
||||
|
{ value: '禁忌症', label: '禁忌症' }, |
||||
|
{ value: '拒绝接种', label: '拒绝接种' }, |
||||
|
{ value: '其他原因', label: '其他原因' }, |
||||
|
], |
||||
|
dataForm: { |
||||
|
id: '', |
||||
|
customerId: '', |
||||
|
gridId: '', |
||||
|
gridName: '', |
||||
|
agencyId: '', |
||||
|
pids: '', |
||||
|
villageId: '', |
||||
|
villageName: '', |
||||
|
buildId: '', |
||||
|
buildName: '', |
||||
|
unitId: '', |
||||
|
unitName: '', |
||||
|
homeId: '', |
||||
|
homeName: '', |
||||
|
householdType: '', |
||||
|
name: '', |
||||
|
mobile: '', |
||||
|
idCard: '', |
||||
|
isVaccination: '1', |
||||
|
firstVacTime: '', |
||||
|
firstVacSite: '', |
||||
|
secondVacTime: '', |
||||
|
secondVacSite: '', |
||||
|
thirdVacTime: '', |
||||
|
thirdVacSite: '', |
||||
|
reason: '', |
||||
|
note: '', |
||||
|
checkState: '0', |
||||
|
checkReason: '', |
||||
|
}, |
||||
|
isLook: false |
||||
|
} |
||||
|
}, |
||||
|
computed: { |
||||
|
changeVDisabled () { |
||||
|
return !this.dataForm.villageId |
||||
|
}, |
||||
|
changeBDisabled () { |
||||
|
return !this.dataForm.buildId |
||||
|
}, |
||||
|
changeDDisabled () { |
||||
|
return !this.dataForm.unitId |
||||
|
}, |
||||
|
dataRule () { |
||||
|
return { |
||||
|
customerId: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
gridId: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
gridName: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
agencyId: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
pids: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
villageId: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
villageName: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
buildId: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
buildName: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
unitId: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
unitName: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
homeId: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
homeName: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
householdType: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
name: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
mobile: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
idCard: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
isVaccination: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
firstVacTime: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
firstVacSite: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
secondVacTime: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
secondVacSite: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
thirdVacTime: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
thirdVacSite: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
reason: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
note: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
] |
||||
|
} |
||||
|
} |
||||
|
}, |
||||
|
async mounted () { |
||||
|
const { user } = this.$store.state |
||||
|
this.agencyId = user.agencyId |
||||
|
//获取网格下拉框数据 |
||||
|
await this.loadGrid() |
||||
|
this.getVillageList() |
||||
|
this.getBuildList() |
||||
|
this.getUniList() |
||||
|
this.getHouseList() |
||||
|
}, |
||||
|
methods: { |
||||
|
async init (row, isLook) { |
||||
|
if (isLook) { |
||||
|
this.isLook = true |
||||
|
} else { |
||||
|
this.isLook = false |
||||
|
} |
||||
|
if (row) { |
||||
|
this.dataForm.id = row.id |
||||
|
} |
||||
|
const { user } = this.$store.state |
||||
|
this.agencyId = user.agencyId |
||||
|
this.visible = true; |
||||
|
this.$nextTick(() => { |
||||
|
this.$refs['dataForm'].resetFields() |
||||
|
if (this.dataForm.id !== '') { |
||||
|
this.getInfo() |
||||
|
} else { |
||||
|
this.dataForm = { |
||||
|
id: '', |
||||
|
customerId: '', |
||||
|
gridId: '', |
||||
|
gridName: '', |
||||
|
agencyId: '', |
||||
|
pids: '', |
||||
|
villageId: '', |
||||
|
villageName: '', |
||||
|
buildId: '', |
||||
|
buildName: '', |
||||
|
unitId: '', |
||||
|
unitName: '', |
||||
|
homeId: '', |
||||
|
homeName: '', |
||||
|
householdType: '', |
||||
|
name: '', |
||||
|
mobile: '', |
||||
|
idCard: '', |
||||
|
isVaccination: '1', |
||||
|
firstVacTime: '', |
||||
|
firstVacSite: '', |
||||
|
secondVacTime: '', |
||||
|
secondVacSite: '', |
||||
|
thirdVacTime: '', |
||||
|
thirdVacSite: '', |
||||
|
reason: '', |
||||
|
note: '', |
||||
|
checkState: '0', |
||||
|
checkReason: '' |
||||
|
} |
||||
|
} |
||||
|
}) |
||||
|
}, |
||||
|
async initForm (type, row) { |
||||
|
// this.$refs.ref_form.resetFields(); |
||||
|
this.formType = type; |
||||
|
console.log(row); |
||||
|
if (row) { |
||||
|
// this.fmData = { ...this.fmData, ...row }; |
||||
|
await this.getInfo(row.id); |
||||
|
this.getValiheList(); |
||||
|
this.getBuildList(); |
||||
|
this.getUniList(); |
||||
|
this.getHouseList(); |
||||
|
} |
||||
|
}, |
||||
|
// 开启加载动画 |
||||
|
startLoading () { |
||||
|
loading = Loading.service({ |
||||
|
lock: true, // 是否锁定 |
||||
|
text: "正在加载……", // 加载中需要显示的文字 |
||||
|
background: "rgba(0,0,0,.7)", // 背景颜色 |
||||
|
}); |
||||
|
}, |
||||
|
// 结束加载动画 |
||||
|
endLoading () { |
||||
|
// clearTimeout(timer); |
||||
|
if (loading) { |
||||
|
loading.close(); |
||||
|
} |
||||
|
}, |
||||
|
// 获取信息 |
||||
|
async getInfo () { |
||||
|
this.$http.get(`/epmetuser/icVaccinePrarmeter/${this.dataForm.id}`).then(({ data: res }) => { |
||||
|
if (res.code !== 0) { |
||||
|
; return this.$message.error(res.msg); |
||||
|
} |
||||
|
this.dataForm = { |
||||
|
...this.dataForm, |
||||
|
...res.data |
||||
|
} |
||||
|
this.getVillageList() |
||||
|
this.getBuildList() |
||||
|
this.getUniList() |
||||
|
this.getHouseList() |
||||
|
}).catch(() => { }) |
||||
|
}, |
||||
|
async loadGrid () { |
||||
|
const url = "/gov/org/customergrid/gridoption" |
||||
|
let params = { |
||||
|
agencyId: this.agencyId, |
||||
|
purpose: 'addorupdate' |
||||
|
} |
||||
|
const { data, code, msg } = await requestPost(url, params) |
||||
|
if (code === 0) { |
||||
|
this.gridList = data |
||||
|
|
||||
|
} else { |
||||
|
this.$message.error(msg) |
||||
|
} |
||||
|
}, |
||||
|
|
||||
|
getVillageList () { |
||||
|
const { user } = this.$store.state |
||||
|
this.$http |
||||
|
.post('/gov/org/icneighborhood/neighborhoodoption', { |
||||
|
gridId: this.dataForm.gridId, |
||||
|
agencyId: '' |
||||
|
// agencyId: user.agencyId |
||||
|
}) |
||||
|
.then(({ data: res }) => { |
||||
|
if (res.code !== 0) { |
||||
|
return this.$message.error(res.msg) |
||||
|
} else { |
||||
|
console.log('获取查询小区成功', res.data) |
||||
|
this.villageList = res.data |
||||
|
} |
||||
|
}) |
||||
|
.catch(() => { |
||||
|
return this.$message.error('网络错误') |
||||
|
}) |
||||
|
}, |
||||
|
getBuildList () { |
||||
|
this.$http |
||||
|
.post('/gov/org/icbuilding/buildingoption', { |
||||
|
neighborHoodId: this.dataForm.villageId |
||||
|
}) |
||||
|
.then(({ data: res }) => { |
||||
|
if (res.code !== 0) { |
||||
|
return this.$message.error(res.msg) |
||||
|
} else { |
||||
|
console.log('获取查询小区成功', res.data) |
||||
|
this.buildList = res.data |
||||
|
} |
||||
|
}) |
||||
|
.catch(() => { |
||||
|
return this.$message.error('网络错误') |
||||
|
}) |
||||
|
}, |
||||
|
getUniList () { |
||||
|
this.$http |
||||
|
.post('/gov/org/icbuildingunit/unitoption', { |
||||
|
buildingId: this.dataForm.buildId |
||||
|
}) |
||||
|
.then(({ data: res }) => { |
||||
|
if (res.code !== 0) { |
||||
|
return this.$message.error(res.msg) |
||||
|
} else { |
||||
|
console.log('获取查询单元成功', res.data) |
||||
|
this.unitList = res.data |
||||
|
} |
||||
|
}) |
||||
|
.catch(() => { |
||||
|
return this.$message.error('网络错误') |
||||
|
}) |
||||
|
}, |
||||
|
getHouseList () { |
||||
|
this.$http |
||||
|
.post('/gov/org/ichouse/houseoption', { unitId: this.dataForm.unitId }) |
||||
|
.then(({ data: res }) => { |
||||
|
if (res.code !== 0) { |
||||
|
return this.$message.error(res.msg) |
||||
|
} else { |
||||
|
console.log('获取查询房屋成功', res.data) |
||||
|
this.homeList = res.data |
||||
|
} |
||||
|
}) |
||||
|
.catch(() => { |
||||
|
return this.$message.error('网络错误') |
||||
|
}) |
||||
|
}, |
||||
|
handleChangeGrid (val) { |
||||
|
this.dataForm.villageId = '' |
||||
|
this.dataForm.buildId = '' |
||||
|
this.dataForm.unitId = '' |
||||
|
this.dataForm.homeId = '' |
||||
|
this.dataForm.gridName = '' |
||||
|
this.dataForm.agencyId = '' |
||||
|
this.dataForm.villageName = '' |
||||
|
this.dataForm.buildName = '' |
||||
|
this.dataForm.unitName = '' |
||||
|
this.dataForm.homeName = '' |
||||
|
this.getVillageList() |
||||
|
}, |
||||
|
handleChangeV (val) { |
||||
|
console.log('val', val) |
||||
|
this.dataForm.buildId = '' |
||||
|
this.dataForm.unitId = '' |
||||
|
this.dataForm.homeId = '' |
||||
|
this.dataForm.villageName = '' |
||||
|
this.dataForm.buildName = '' |
||||
|
this.dataForm.unitName = '' |
||||
|
this.dataForm.homeName = '' |
||||
|
this.getBuildList() |
||||
|
}, |
||||
|
handleChangeB (val) { |
||||
|
console.log('val', val) |
||||
|
this.dataForm.unitId = '' |
||||
|
this.dataForm.homeId = '' |
||||
|
this.dataForm.buildName = '' |
||||
|
this.dataForm.unitName = '' |
||||
|
this.dataForm.homeName = '' |
||||
|
this.getUniList() |
||||
|
}, |
||||
|
handleChangeD (val) { |
||||
|
console.log('val', val) |
||||
|
this.dataForm.homeId = '' |
||||
|
this.dataForm.unitName = '' |
||||
|
this.dataForm.homeName = '' |
||||
|
this.getHouseList() |
||||
|
}, |
||||
|
handleChangeH (val) { |
||||
|
console.log('val', val) |
||||
|
this.dataForm.homeName = '' |
||||
|
}, |
||||
|
gridClick (data) { |
||||
|
this.dataForm.gridName = data.label; |
||||
|
this.dataForm.agencyId = data.pid; |
||||
|
}, |
||||
|
villageClick (data) { |
||||
|
this.dataForm.villageName = data.label; |
||||
|
}, |
||||
|
buildClick (data) { |
||||
|
this.dataForm.buildName = data.label; |
||||
|
}, |
||||
|
unitClick (data) { |
||||
|
this.dataForm.unitName = data.label; |
||||
|
}, |
||||
|
homeClick (data) { |
||||
|
this.dataForm.homeName = data.label; |
||||
|
}, |
||||
|
isVacChange (val) { |
||||
|
if (val === '0') { |
||||
|
this.dataForm.firstVacTime = ''; |
||||
|
this.dataForm.firstVacSite = ''; |
||||
|
this.dataForm.secondVacTime = ''; |
||||
|
this.dataForm.secondVacSite = ''; |
||||
|
this.dataForm.thirdVacTime = ''; |
||||
|
this.dataForm.thirdVacSite = ''; |
||||
|
} |
||||
|
}, |
||||
|
resetData () { |
||||
|
this.dataForm = { |
||||
|
id: '', |
||||
|
customerId: '', |
||||
|
gridId: '', |
||||
|
gridName: '', |
||||
|
agencyId: '', |
||||
|
pids: '', |
||||
|
villageId: '', |
||||
|
villageName: '', |
||||
|
buildId: '', |
||||
|
buildName: '', |
||||
|
unitId: '', |
||||
|
unitName: '', |
||||
|
homeId: '', |
||||
|
homeName: '', |
||||
|
householdType: '', |
||||
|
name: '', |
||||
|
mobile: '', |
||||
|
idCard: '', |
||||
|
isVaccination: '1', |
||||
|
firstVacTime: '', |
||||
|
firstVacSite: '', |
||||
|
secondVacTime: '', |
||||
|
secondVacSite: '', |
||||
|
thirdVacTime: '', |
||||
|
thirdVacSite: '', |
||||
|
reason: '', |
||||
|
note: '', |
||||
|
checkState: '0', |
||||
|
checkReason: '' |
||||
|
} |
||||
|
}, |
||||
|
closeDialog () { |
||||
|
this.$refs[dataForm].resetFields(); |
||||
|
// this.formData = {} |
||||
|
// this.resetData() |
||||
|
}, |
||||
|
handleCancle () { |
||||
|
this.resetData() |
||||
|
this.$emit('dialogCancle') |
||||
|
|
||||
|
}, |
||||
|
// 表单提交 |
||||
|
async dataFormSubmitHandle () { |
||||
|
this.btnDisable = true; |
||||
|
setTimeout(() => { |
||||
|
this.btnDisable = false; |
||||
|
}, 10000); |
||||
|
//验证手机号码 |
||||
|
const regPhone = /^1(3|4|5|6|7|8|9)\d{9}$/; |
||||
|
if (regPhone.test(this.dataForm.mobile) === false) { |
||||
|
this.btnDisable = false |
||||
|
this.$message({ |
||||
|
type: 'warning', |
||||
|
message: '请输入正确的手机号码' |
||||
|
}) |
||||
|
return false; |
||||
|
} |
||||
|
if (this.dataForm.isVaccination === '1') { |
||||
|
if (this.dataForm.firstVacTime === '') { |
||||
|
this.$message({ |
||||
|
type: 'warning', |
||||
|
message: '请选择第一次接种时间' |
||||
|
}) |
||||
|
return false; |
||||
|
} |
||||
|
if (this.dataForm.firstVacSite === '') { |
||||
|
this.$message({ |
||||
|
type: 'warning', |
||||
|
message: '请输入第一次接种地点' |
||||
|
}) |
||||
|
return false; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
await this.$refs['dataForm'].validate((valid) => { |
||||
|
if (!valid) { |
||||
|
return false |
||||
|
} |
||||
|
this.submit(); |
||||
|
}) |
||||
|
}, |
||||
|
async submit () { |
||||
|
let url = ""; |
||||
|
if (!this.dataForm.id) { |
||||
|
url = "/epmetuser/icVaccinePrarmeter/save"; |
||||
|
} else if (this.dataForm.id) { |
||||
|
url = "/epmetuser/icVaccinePrarmeter/update"; |
||||
|
} else { |
||||
|
return; |
||||
|
} |
||||
|
const { data, code, msg } = await requestPost(url, this.dataForm); |
||||
|
|
||||
|
if (code === 0) { |
||||
|
this.$message({ |
||||
|
type: "success", |
||||
|
message: "操作成功", |
||||
|
}); |
||||
|
this.$emit('dialogOk') |
||||
|
this.resetData() |
||||
|
this.btnDisable = false |
||||
|
} else { |
||||
|
this.btnDisable = false; |
||||
|
this.$message.error(msg); |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
</script> |
||||
|
<style lang="scss" scoped> |
||||
|
@import "@/assets/scss/buttonstyle.scss"; |
||||
|
@import "@/assets/scss/modules/management/epidemic.scss"; |
||||
|
.resi-container .resi-card-table { |
||||
|
::v-deep .el-table th { |
||||
|
color: #fff; |
||||
|
background-color: rgba(33, 149, 254, 1); |
||||
|
// border-right: 1px solid rgba(33, 149, 254, 1); |
||||
|
} |
||||
|
} |
||||
|
.resi-table { |
||||
|
::v-deep .el-button--text { |
||||
|
text-decoration: underline; |
||||
|
} |
||||
|
} |
||||
|
.resi-card-table { |
||||
|
margin-top: 20px; |
||||
|
} |
||||
|
.resi-row-btn { |
||||
|
margin-bottom: 13px; |
||||
|
.upload-btn { |
||||
|
display: inline-block; |
||||
|
margin: 0 10px; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
.resi-btns { |
||||
|
margin-top: 20px; |
||||
|
text-align: center; |
||||
|
} |
||||
|
|
||||
|
.resi-container .resi-card { |
||||
|
position: relative; |
||||
|
overflow: visible; |
||||
|
} |
||||
|
|
||||
|
.demo-form-inline { |
||||
|
// display: flex; |
||||
|
// align-items: center; |
||||
|
// margin-bottom: 20px; |
||||
|
|
||||
|
.resi-cell-label { |
||||
|
flex-shrink: 0; |
||||
|
min-width: 0; |
||||
|
box-sizing: border-box; |
||||
|
margin-right: 15px; |
||||
|
// text-align: right; |
||||
|
// line-height: 32; |
||||
|
} |
||||
|
.resi-cell-label1 { |
||||
|
width: max-content; |
||||
|
} |
||||
|
.resi-cell-value-radio { |
||||
|
display: flex; |
||||
|
align-items: center; |
||||
|
min-height: 32px; |
||||
|
} |
||||
|
.resi-cell-input { |
||||
|
width: 200px; |
||||
|
} |
||||
|
.resi-cell--daterange { |
||||
|
max-width: 260px; |
||||
|
} |
||||
|
.resi-cell-select { |
||||
|
width: 200px; |
||||
|
box-sizing: border-box; |
||||
|
margin-right: 10px; |
||||
|
&-middle { |
||||
|
width: 120px; |
||||
|
} |
||||
|
&-small { |
||||
|
width: 88px; |
||||
|
} |
||||
|
} |
||||
|
.resi-cell-select:last-child { |
||||
|
margin-right: 0; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
.mt10 { |
||||
|
margin-top: 10px; |
||||
|
} |
||||
|
</style> |
Loading…
Reference in new issue