Browse Source

Merge branch 'dev-身份验证1114'

feature/welfareImport
jiangyy 3 years ago
parent
commit
6f7960c784
  1. 597
      src/views/modules/base/huji/immigration/edit.vue

597
src/views/modules/base/huji/immigration/edit.vue

@ -1,366 +1,285 @@
<template>
<div>
<div class="dialog-h-content scroll-h">
<el-form
ref="ref_form"
:inline="true"
:model="fmData"
:rules="dataRule"
:disabled="formType === 'detail'"
class="form"
>
<el-form-item
label="所属网格 "
prop="gridId"
label-width="150px"
style="display: block"
>
<el-select
v-model.trim="fmData.gridId"
placeholder="请选择"
size="small"
clearable
class="item_width_1"
:disabled="formType === 'edit'"
@change="handleChangeGrid"
>
<el-option
v-for="item in optionsG"
:key="item.value"
:label="item.label"
:value="item.value"
>
<el-form ref="ref_form"
:inline="true"
:model="fmData"
:rules="dataRule"
:disabled="formType === 'detail'"
class="form">
<el-form-item label="所属网格 "
prop="gridId"
label-width="150px"
style="display: block">
<el-select v-model.trim="fmData.gridId"
placeholder="请选择"
size="small"
clearable
class="item_width_1"
:disabled="formType === 'edit'"
@change="handleChangeGrid">
<el-option v-for="item in optionsG"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item
label="所属房屋 "
prop="homeId"
label-width="150px"
style="display: block"
>
<el-input
v-if="formType == 'detail'"
class="item_width_2"
placeholder="请输入来源地"
disabled
v-model="fmData.allName"
/>
<el-form-item label="所属房屋 "
prop="homeId"
label-width="150px"
style="display: block">
<el-input v-if="formType == 'detail'"
class="item_width_2"
placeholder="请输入来源地"
disabled
v-model="fmData.allName" />
<template v-else>
<el-select
v-model.trim="fmData.villageId"
placeholder="请选择小区"
size="small"
clearable
class="resi-cell-select"
@clear="handleClearVillage"
@change="handleChangeV"
:disabled="formType === 'edit'"
style="margin-right: 8px; width: 120px"
>
<el-option
v-for="item in optionsV"
:key="item.value"
:label="item.label"
:value="item.value"
>
<el-select v-model.trim="fmData.villageId"
placeholder="请选择小区"
size="small"
clearable
class="resi-cell-select"
@clear="handleClearVillage"
@change="handleChangeV"
:disabled="formType === 'edit'"
style="margin-right: 8px; width: 120px">
<el-option v-for="item in optionsV"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
<el-select
v-model.trim="fmData.buildId"
placeholder="楼号"
size="small"
clearable
style="margin-right: 8px; width: 120px"
class="resi-cell-select"
:disabled="changeVDisabled || formType === 'edit'"
@clear="handleClearBuild"
@change="handleChangeB"
>
<el-option
v-for="item in optionsB"
:key="item.value"
:label="item.label"
:value="item.value"
>
<el-select v-model.trim="fmData.buildId"
placeholder="楼号"
size="small"
clearable
style="margin-right: 8px; width: 120px"
class="resi-cell-select"
:disabled="changeVDisabled || formType === 'edit'"
@clear="handleClearBuild"
@change="handleChangeB">
<el-option v-for="item in optionsB"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
<el-select
v-model.trim="fmData.unitId"
:disabled="changeBDisabled || formType === 'edit'"
placeholder="单元"
size="small"
clearable
style="margin-right: 8px; width: 120px"
class="resi-cell-select"
@click="handleClearDan"
@change="handleChangeD"
>
<el-option
v-for="item in optionsD"
:key="item.value"
:label="item.label"
:value="item.value"
>
<el-select v-model.trim="fmData.unitId"
:disabled="changeBDisabled || formType === 'edit'"
placeholder="单元"
size="small"
clearable
style="margin-right: 8px; width: 120px"
class="resi-cell-select"
@click="handleClearDan"
@change="handleChangeD">
<el-option v-for="item in optionsD"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
<el-select
v-model.trim="fmData.homeId"
:disabled="changeDDisabled || formType === 'edit'"
placeholder="房号"
size="small"
clearable
@change="handleChangeH"
style="width: 120px"
class="resi-cell-select"
>
<el-option
v-for="item in optionsH"
:key="item.value"
:label="item.label"
:value="item.value"
>
<el-select v-model.trim="fmData.homeId"
:disabled="changeDDisabled || formType === 'edit'"
placeholder="房号"
size="small"
clearable
@change="handleChangeH"
style="width: 120px"
class="resi-cell-select">
<el-option v-for="item in optionsH"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</template>
</el-form-item>
<el-form-item
label="姓名"
prop="name"
label-width="150px"
style="display: block"
>
<el-input
class="item_width_1"
style="margin-right: 20px"
placeholder="请输入姓名 "
v-model="fmData.name"
:disabled="formType === 'edit'"
maxlength="30"
>
<el-form-item label="姓名"
prop="name"
label-width="150px"
style="display: block">
<el-input class="item_width_1"
style="margin-right: 20px"
placeholder="请输入姓名 "
v-model="fmData.name"
:disabled="formType === 'edit'"
maxlength="30">
</el-input>
<el-checkbox v-model="fmData.isWelfare" true-label="1" false-label="0">享受福利</el-checkbox>
<el-checkbox v-model="fmData.isWelfare"
true-label="1"
false-label="0">享受福利</el-checkbox>
<template v-if="formType === 'edit'">
<el-checkbox
v-model="fmData.isCheck"
true-label="1"
false-label="0"
:disabled="initCheck == 1"
@change="checkResiAvailable"
>补充居民信息</el-checkbox
>
<el-checkbox v-model="fmData.isCheck"
true-label="1"
false-label="0"
:disabled="initCheck == 1"
@change="checkResiAvailable">补充居民信息</el-checkbox>
</template>
<el-checkbox
v-else
v-model="fmData.isCheck"
true-label="1"
false-label="0"
@change="checkResiAvailable"
>补充居民信息</el-checkbox
>
<el-checkbox v-else
v-model="fmData.isCheck"
true-label="1"
false-label="0"
@change="checkResiAvailable">补充居民信息</el-checkbox>
</el-form-item>
<el-form-item
label="手机号"
prop="mobile"
label-width="150px"
style="display: block"
>
<el-input
class="item_width_1"
type="number"
maxlength="11"
show-word-limit
placeholder="请输入手机号 "
:disabled="formType === 'edit'"
v-model="fmData.mobile"
>
<el-form-item label="手机号"
prop="mobile"
label-width="150px"
style="display: block">
<el-input class="item_width_1"
type="number"
maxlength="11"
show-word-limit
placeholder="请输入手机号 "
:disabled="formType === 'edit'"
v-model="fmData.mobile">
</el-input>
</el-form-item>
<el-form-item
label="证件号"
prop="idCard"
label-width="150px"
style="display: block"
>
<el-input
class="item_width_1"
placeholder="请输入身份证号或护照号"
v-model="fmData.idCard"
:disabled="formType === 'edit'"
@blur="handleBlurId"
></el-input>
<el-form-item label="证件号"
prop="idCard"
label-width="150px"
style="display: block">
<el-input class="item_width_1"
placeholder="请输入身份证号或护照号"
v-model="fmData.idCard"
:disabled="formType === 'edit'"
@blur="handleBlurId"></el-input>
</el-form-item>
<el-form-item
label="性别"
prop="principalName"
label-width="150px"
style="display: block"
>
<el-select
v-model.trim="fmData.gender"
placeholder="性别"
size="small"
clearable
class="item_width_1"
:disabled="true"
>
<el-option
v-for="item in optionsGender"
:key="item.value"
:label="item.label"
:value="item.value"
>
<el-form-item label="性别"
prop="principalName"
label-width="150px"
style="display: block">
<el-select v-model.trim="fmData.gender"
placeholder="性别"
size="small"
clearable
class="item_width_1"
:disabled="true">
<el-option v-for="item in optionsGender"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item
label="年龄"
prop="age"
label-width="150px"
style="display: block"
>
<el-input
class="item_width_1"
type="number"
show-word-limit
placeholder="请输入"
v-model="fmData.age"
:disabled="true"
>
<el-form-item label="年龄"
prop="age"
label-width="150px"
style="display: block">
<el-input class="item_width_1"
type="number"
show-word-limit
placeholder="请输入"
v-model="fmData.age"
:disabled="true">
</el-input>
</el-form-item>
<el-form-item
label="迁入日期"
prop="inTime"
label-width="150px"
style="display: block"
>
<el-date-picker
v-model="fmData.inTime"
type="date"
placeholder="迁入时间"
value-format="yyyy-MM-dd"
class="item_width_1"
:disabled="formType === 'edit'"
>
<el-form-item label="迁入日期"
prop="inTime"
label-width="150px"
style="display: block">
<el-date-picker v-model="fmData.inTime"
type="date"
placeholder="迁入时间"
value-format="yyyy-MM-dd"
class="item_width_1"
:disabled="formType === 'edit'">
</el-date-picker>
</el-form-item>
<el-form-item
label="迁入原因"
prop="inReason"
label-width="150px"
style="display: block"
>
<el-input
type="textarea"
class="item_width_2"
placeholder="请输入迁入原因"
v-model="fmData.inReason"
>
<el-form-item label="迁入原因"
prop="inReason"
label-width="150px"
style="display: block">
<el-input type="textarea"
class="item_width_2"
placeholder="请输入迁入原因"
v-model="fmData.inReason">
</el-input>
</el-form-item>
<el-form-item
label="来源地"
prop="sourceAddress"
label-width="150px"
style="display: block"
>
<el-input
v-if="formType == 'detail'"
class="item_width_2"
placeholder="请输入来源地"
disabled
v-model="fmData.sourceAddress"
/>
<el-cascader v-else ref="nowArea" class="item_width_1" :props="areaProps"
v-model="nowAllCode" clearable @change="handleNowArea"></el-cascader>
<el-form-item label="来源地"
prop="sourceAddress"
label-width="150px"
style="display: block">
<el-input v-if="formType == 'detail'"
class="item_width_2"
placeholder="请输入来源地"
disabled
v-model="fmData.sourceAddress" />
<el-cascader v-else
ref="nowArea"
class="item_width_1"
:props="areaProps"
v-model="nowAllCode"
clearable
@change="handleNowArea"></el-cascader>
</el-form-item>
<el-form-item
label="详细地址"
prop="address"
label-width="150px"
style="display: block"
>
<el-input
class="item_width_1"
placeholder="请输入详细地址"
v-model="fmData.address"
>
<el-form-item label="详细地址"
prop="address"
label-width="150px"
style="display: block">
<el-input class="item_width_1"
placeholder="请输入详细地址"
v-model="fmData.address">
</el-input>
</el-form-item>
<el-form-item
label="迁移证号码"
prop="moveNumber"
label-width="150px"
style="display: block"
>
<el-input
class="item_width_1"
placeholder="请输入迁移证号码"
v-model="fmData.moveNumber"
>
<el-form-item label="迁移证号码"
prop="moveNumber"
label-width="150px"
style="display: block">
<el-input class="item_width_1"
placeholder="请输入迁移证号码"
v-model="fmData.moveNumber">
</el-input>
</el-form-item>
<el-form-item
label="户主姓名"
prop="householderName"
label-width="150px"
style="display: block"
>
<el-input
class="item_width_1"
placeholder="请输入户主姓名"
v-model="fmData.householderName"
>
<el-form-item label="户主姓名"
prop="householderName"
label-width="150px"
style="display: block">
<el-input class="item_width_1"
placeholder="请输入户主姓名"
v-model="fmData.householderName">
</el-input>
</el-form-item>
<el-form-item
label="与户主关系"
prop="householderRelation"
label-width="150px"
style="display: block"
>
<el-select
v-model.trim="fmData.householderRelation"
placeholder="与户主关系"
size="small"
clearable
class="item_width_1"
>
<el-option
v-for="item in optionsRelation"
:key="item.value"
:label="item.label"
:value="item.value"
>
<el-form-item label="与户主关系"
prop="householderRelation"
label-width="150px"
style="display: block">
<el-select v-model.trim="fmData.householderRelation"
placeholder="与户主关系"
size="small"
clearable
class="item_width_1">
<el-option v-for="item in optionsRelation"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
</el-form>
</div>
<div class="div_btn resi-btns">
<el-button size="small" @click="handleCancle"> </el-button>
<el-button
v-if="formType != 'detail'"
type="primary"
size="small"
:disabled="btnDisable"
@click="handleComfirm"
> </el-button
>
<el-button size="small"
@click="handleCancle"> </el-button>
<el-button v-if="formType != 'detail'"
type="primary"
size="small"
:disabled="btnDisable"
@click="handleComfirm"> </el-button>
</div>
</div>
</template>
@ -371,7 +290,7 @@ import formVltHelper from 'dai-js/tools/formVltHelper'
import { computedCard } from '@/utils/index'
import { isCard, isMobile } from '@/utils/validate'
function iniFmData() {
function iniFmData () {
return {
gridId: '',
villageId: '',
@ -400,7 +319,7 @@ function iniFmData() {
}
export default {
data() {
data () {
return {
formType: 'add', // addeditdetail
@ -436,7 +355,7 @@ export default {
},
components: {},
computed: {
dataRule() {
dataRule () {
let checkIdCard = (rule, value, callback) => {
if (value === '') {
callback(new Error('请输入证件号'))
@ -469,26 +388,26 @@ export default {
sourceAddress: [
{ required: true, message: '来源地不能为空', trigger: 'blur' }
],
address: [
{ required: true, message: '详细地址不能为空', trigger: 'blur' }
]
// address: [
// { required: true, message: '', trigger: 'blur' }
// ]
}
},
changeVDisabled() {
changeVDisabled () {
return !this.fmData.villageId
},
changeBDisabled() {
changeBDisabled () {
return !this.fmData.buildId
},
changeDDisabled() {
changeDDisabled () {
return !this.fmData.unitId
}
},
props: {},
watch: {},
async mounted() {
async mounted () {
console.log('mounted-----我执行了')
await this.getGridList()
@ -496,13 +415,13 @@ export default {
},
methods: {
lzayLoadArea(node, resolve) {
lzayLoadArea (node, resolve) {
// this.getArea(node, resolve)
setTimeout(() => {
this.getArea(node, resolve)
}, 200)
},
async checkResiAvailable() {
async checkResiAvailable () {
const {
fmData: { idCard, isResiUser }
} = this
@ -528,7 +447,7 @@ export default {
}
}
},
handleNowArea(val) {
handleNowArea (val) {
console.log('val-----', val)
console.log('label-----', this.$refs.nowArea.getCheckedNodes())
if (val.length > 0) {
@ -544,7 +463,7 @@ export default {
this.fmData.sourceAddressPathCode = ''
}
},
handleBlurId(val) {
handleBlurId (val) {
const { sex, age } = computedCard(this.fmData.idCard)
if (val) {
this.fmData.age = age
@ -553,20 +472,20 @@ export default {
}
},
handleClearVillage() {
handleClearVillage () {
this.fmData.buildId = ''
this.fmData.homeId = ''
},
handleClearBuild() {
handleClearBuild () {
this.fmData.buildId = ''
this.fmData.unitId = ''
this.fmData.homeId = ''
},
handleClearDan() {
handleClearDan () {
this.fmData.unitId = ''
this.fmData.homeId = ''
},
handleChangeGrid(val) {
handleChangeGrid (val) {
console.log('val', val)
this.fmData.villageId = ''
this.fmData.buildId = ''
@ -576,7 +495,7 @@ export default {
this.fmData.householderRelation = ''
this.getValiheList()
},
handleChangeV(val) {
handleChangeV (val) {
console.log('val', val)
this.fmData.buildId = ''
this.fmData.unitId = ''
@ -585,7 +504,7 @@ export default {
this.fmData.householderRelation = ''
this.getBuildList()
},
handleChangeB(val) {
handleChangeB (val) {
console.log('val', val)
this.fmData.unitId = ''
this.fmData.homeId = ''
@ -593,14 +512,14 @@ export default {
this.fmData.householderRelation = ''
this.getUniList()
},
handleChangeD(val) {
handleChangeD (val) {
console.log('val', val)
this.fmData.homeId = ''
this.fmData.householderName = ''
this.fmData.householderRelation = ''
this.getHouseList()
},
handleChangeH(val) {
handleChangeH (val) {
console.log('val', val)
this.getHouseMaster()
},
@ -629,7 +548,7 @@ export default {
}
},
getRelationList() {
getRelationList () {
const { user } = this.$store.state
this.$http
.post('/sys/dict/data/relationship', {
@ -648,7 +567,7 @@ export default {
})
},
getGridList() {
getGridList () {
const { user } = this.$store.state
this.$http
.post('/gov/org/customergrid/gridoption', {
@ -667,7 +586,7 @@ export default {
return this.$message.error('网络错误')
})
},
getValiheList() {
getValiheList () {
const { user } = this.$store.state
this.$http
.post('/gov/org/icneighborhood/neighborhoodoption', {
@ -687,7 +606,7 @@ export default {
return this.$message.error('网络错误')
})
},
getBuildList() {
getBuildList () {
this.$http
.post('/gov/org/icbuilding/buildingoption', {
neighborHoodId: this.fmData.villageId
@ -704,7 +623,7 @@ export default {
return this.$message.error('网络错误')
})
},
getUniList() {
getUniList () {
this.$http
.post('/gov/org/icbuildingunit/unitoption', {
buildingId: this.fmData.buildId
@ -721,7 +640,7 @@ export default {
return this.$message.error('网络错误')
})
},
getHouseList() {
getHouseList () {
this.$http
.post('/gov/org/ichouse/houseoption', { unitId: this.fmData.unitId })
.then(({ data: res }) => {
@ -737,7 +656,7 @@ export default {
})
},
getHouseMaster() {
getHouseMaster () {
const { homeId } = this.fmData
if (!homeId) return (this.alreadyHaveMaster = false)
@ -763,7 +682,7 @@ export default {
})
},
async initForm(type, id) {
async initForm (type, id) {
this.$refs.ref_form.resetFields()
this.formType = type
@ -778,7 +697,7 @@ export default {
this.getHouseList()
}
},
async getDatail(moveInId) {
async getDatail (moveInId) {
let url = '/epmetuser/icMoveIn/detail'
const params = {
@ -792,7 +711,7 @@ export default {
} else this.$message.error(msg)
},
async handleComfirm() {
async handleComfirm () {
// setTimeout(() => {
// this.btnDisable = false
@ -834,7 +753,7 @@ export default {
})
},
async submit() {
async submit () {
let url = ''
if (this.formType === 'add') {
@ -861,11 +780,11 @@ export default {
}
},
handleCancle() {
handleCancle () {
this.resetData()
this.$emit('dialogCancle')
},
resetData() {
resetData () {
this.orgId = ''
this.nowAllCode = []
this.btnDisable = false

Loading…
Cancel
Save