Browse Source

购房管理

shibei_master
wanggongfeng 3 years ago
parent
commit
1e7080e7ed
  1. 16
      src/views/components/resiChangeTransfer.vue
  2. 6
      src/views/modules/plugins/change/changedeath.vue
  3. 44
      src/views/modules/plugins/change/changerelocation.vue
  4. 6
      src/views/modules/plugins/change/changewelfare.vue
  5. 471
      src/views/modules/plugins/rent/renthouse.vue
  6. 606
      src/views/modules/plugins/rent/renthouseForm.vue

16
src/views/components/resiChangeTransfer.vue

@ -283,9 +283,7 @@ export default {
this.dataForm.idCard = row.ID_CARD
this.dataForm.mobile = row.MOBILE
this.dataForm.oldDept = row.GRID_ID
this.dataForm.oldAddress = row.HOME_ID
this.dataForm.ownerName = row.NAME
await this.loadHouseInfo(row.HOME_ID)
this.dataForm.name = row.NAME
this.dataForm.gender = row.GENDER
@ -295,6 +293,18 @@ export default {
await this.loadRootAgency()
await this.getAgencylist()
},
async loadHouseInfo (homeId) {
const url = "/gov/org/ichouse/" + homeId
const { data, code, msg } = await requestGet(url)
if (code === 0) {
this.dataForm.oldDept = ''
this.dataForm.oldAddress = row.houseName
this.dataForm.ownerName = row.ownerName
} else {
this.$message.error(msg)
}
},
//id

6
src/views/modules/plugins/change/changedeath.vue

@ -70,7 +70,11 @@
</el-table-column>
<!--<el-table-column prop="id" label="主键" header-align="center" align="center"></el-table-column>-->
<!--<el-table-column prop="userId" label="epmet用户主键" header-align="center" align="center"></el-table-column>-->
<el-table-column prop="name" label="姓名" header-align="center" align="center"></el-table-column>
<el-table-column prop="name" label="姓名" header-align="center" align="center">
<template slot-scope="scope">
<el-button @click="handleLook(scope.row)" type="text" size="small" class="btn-color-look">{{scope.row.name}}</el-button>
</template>
</el-table-column>
<el-table-column prop="idCard" label="身份证" header-align="center" align="center"></el-table-column>
<el-table-column prop="mobile" label="手机号" header-align="center" align="center"></el-table-column>
<el-table-column prop="gender" label="性别" header-align="center" align="center"></el-table-column>

44
src/views/modules/plugins/change/changerelocation.vue

@ -166,7 +166,11 @@
align="center"
width="50">
</el-table-column>
<el-table-column prop="name" label="姓名" header-align="center" align="center" min-width="120" show-overflow-tooltip></el-table-column>
<el-table-column prop="name" label="姓名" header-align="center" align="center" min-width="120" show-overflow-tooltip>
<template slot-scope="scope">
<el-button @click="handleLook(scope.row)" type="text" size="small" class="btn-color-look">{{scope.row.name}}</el-button>
</template>
</el-table-column>
<el-table-column prop="agencyName" label="所属网格" header-align="center" align="center" min-width="120" show-overflow-tooltip></el-table-column>
<el-table-column prop="oldAddress" label="所属房屋" header-align="center" align="center" min-width="120" show-overflow-tooltip></el-table-column>
<el-table-column prop="mobile" label="手机号" header-align="center" align="center" min-width="120" show-overflow-tooltip></el-table-column>
@ -190,6 +194,10 @@
</el-card>
<!-- 弹窗, 新增 / 修改 -->
<add-or-update v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="getDataList"></add-or-update>
<people-more v-if="showedPeopleMoreInfo && lookInfo.userId"
:userId="lookInfo.userId"
:gridName="lookInfo.gridName"
@close="handleCancleLook" />
</div>
</el-card>
</template>
@ -197,6 +205,8 @@
<script>
import mixinViewModule from '@/mixins/view-module'
import AddOrUpdate from './changerelocation-add-or-update'
import peopleMore from "@/views/modules/shequ/cpts/people-more";
import { requestPost } from "@/js/dai/request";
export default {
mixins: [mixinViewModule],
data () {
@ -224,11 +234,18 @@ export default {
buildId: '',
unitId: '',
homeId: '',
},
//
showedPeopleMoreInfo: false,
lookInfo: {
userId: '',
gridName: ''
}
}
},
components: {
AddOrUpdate
AddOrUpdate,
peopleMore
},
computed: {
changeVDisabled() {
@ -257,6 +274,29 @@ export default {
}
},
methods: {
async handleLook (row) {
if(row.agencyId !== ''){
const url = '/gov/org/grid/griddetail'
let params = {
gridId : row.agencyId,
}
const { data, code, msg } = await requestPost(url, params)
if(code === 0){
this.lookInfo.gridName = data.gridName
} else {
this.$message.error(msg)
}
}else{
this.lookInfo.gridName = ''
}
this.lookInfo.userId = row.icUserId
this.showedPeopleMoreInfo = true
},
handleCancleLook() {
this.lookInfo.userId = ''
this.lookInfo.gridName = ''
this.showedPeopleMoreInfo = false
},
resetForm(formName) {
for(const n in this.dataForm) {
this.dataForm[n] = ''

6
src/views/modules/plugins/change/changewelfare.vue

@ -68,7 +68,11 @@
<!--<el-table-column prop="id" label="主键" header-align="center" align="center"></el-table-column>-->
<!--<el-table-column prop="userId" label="epmet用户主键" header-align="center" align="center"></el-table-column>-->
<!--<el-table-column prop="gridId" label="epmet网格ID" header-align="center" align="center"></el-table-column>-->
<el-table-column prop="name" label="姓名" header-align="center" align="center"></el-table-column>
<el-table-column prop="name" label="姓名" header-align="center" align="center">
<template slot-scope="scope">
<el-button @click="handleLook(scope.row)" type="text" size="small" class="btn-color-look">{{scope.row.name}}</el-button>
</template>
</el-table-column>
<el-table-column prop="idCard" label="身份证" header-align="center" align="center"></el-table-column>
<el-table-column prop="mobile" label="手机号" header-align="center" align="center"></el-table-column>
<el-table-column prop="gender" label="性别" header-align="center" align="center"></el-table-column>

471
src/views/modules/plugins/rent/renthouse.vue

@ -1,56 +1,229 @@
<template>
<el-card shadow="never" class="aui-card--fill">
<div class="mod-rent__rentHouse}">
<el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataList()">
<el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataList()" label-width="100px">
<el-form-item label="所属网格"
prop="gridId">
<el-select
v-model.trim="dataForm.gridId"
placeholder="请选择"
clearable
@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="所属房屋" >
<div class="resi-cell-value">
<div class="resi-cell-col">
<el-form-item prop="villageId">
<el-select
v-model.trim="dataForm.villageId"
placeholder="请选择小区"
clearable
@clear="handleClearVillage"
@change="handleChangeV"
>
<el-option
v-for="item in optionsV"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item prop="buildId">
<el-select
v-model.trim="dataForm.buildId"
placeholder="楼号"
clearable
style="width: 120px;"
:disabled="changeVDisabled"
@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-form-item>
<el-form-item prop="unitId">
<el-select
v-model.trim="dataForm.unitId"
:disabled="changeBDisabled"
placeholder="单元"
clearable
style="width: 120px;"
@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-form-item>
<el-form-item prop="homeId">
<el-select
v-model.trim="dataForm.homeId"
:disabled="changeDDisabled"
placeholder="房号"
clearable
style="width: 120px;"
>
<el-option
v-for="item in optionsH"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</el-select>
</el-form-item>
</div>
</div>
</el-form-item>
<br/>
<el-form-item label="姓名"
prop="name">
<el-input v-model="dataForm.name"
size="small"
class="list_item_width_1"
clearable
placeholder="请输入姓名">
</el-input>
</el-form-item>
<el-form-item label="身份证"
prop="idCard">
<el-input v-model="dataForm.idCard"
size="small"
class="list_item_width_1"
clearable
placeholder="请输入身份证">
</el-input>
</el-form-item>
<el-form-item label="手机"
prop="mobile">
<el-input v-model="dataForm.mobile"
size="small"
class="list_item_width_1"
clearable
placeholder="请输入手机">
</el-input>
</el-form-item>
<br/>
<el-form-item label="房屋状态" prop="rentFlag">
<el-select v-model="dataForm.rentFlag" placeholder="房屋状态" clearable>
<el-option v-for="item in rentFlagArr" :key="item.dictValue" :label="item.dictName" :value="item.dictValue">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="购房时间"
prop="startTime">
<el-date-picker v-model="timeRange"
type="daterange"
clearable
size="small"
range-separator="至"
start-placeholder="选择日期"
end-placeholder="选择日期"
value-format="yyyy-MM-dd">
</el-date-picker>
</el-form-item>
<el-form-item>
<el-input v-model="dataForm.id" placeholder="id" clearable></el-input>
<el-button type="primary" size="small" @click="getDataList()">{{ $t('query') }}</el-button>
</el-form-item>
<el-form-item>
<el-button @click="getDataList()">{{ $t('query') }}</el-button>
<el-button class="diy-button--reset" size="small" @click="resetForm">重置</el-button>
</el-form-item>
<br/>
<el-form-item>
<el-button type="primary" @click="addOrUpdateHandle()">{{ $t('add') }}</el-button>
<el-button type="primary" size="small" @click="handleEdit()">{{ '购房登记' }}</el-button>
</el-form-item>
<el-form-item>
<el-button type="danger" @click="deleteHandle()">{{ $t('deleteBatch') }}</el-button>
<el-button type="warning" size="small" @click="exportHandle()">{{ $t('export') }}</el-button>
</el-form-item>
<!--<el-form-item>-->
<!--<el-button type="danger" @click="deleteHandle()">{{ $t('deleteBatch') }}</el-button>-->
<!--</el-form-item>-->
</el-form>
<el-table v-loading="dataListLoading" :data="dataList" border @selection-change="dataListSelectionChangeHandle" style="width: 100%">
<el-table-column type="selection" header-align="center" align="center" width="50"></el-table-column>
<el-table-column prop="id" label="房屋主键" header-align="center" align="center"></el-table-column>
<el-table-column prop="customerId" label="客户id" header-align="center" align="center"></el-table-column>
<el-table-column prop="neighborHoodId" label="小区id" header-align="center" align="center"></el-table-column>
<el-table-column prop="partId" label="片区id,neighbor_hood_part.id,可为空。" header-align="center" align="center"></el-table-column>
<el-table-column prop="buildingId" label="所属楼栋id" header-align="center" align="center"></el-table-column>
<el-table-column prop="buildingUnitId" label="所属单元id" header-align="center" align="center"></el-table-column>
<el-table-column prop="houseName" label="房屋名字后台插入时生成" header-align="center" align="center"></el-table-column>
<el-table-column prop="doorName" label="门牌号" header-align="center" align="center"></el-table-column>
<el-table-column prop="houseType" label="房屋类型,1楼房,2平房,3别墅" header-align="center" align="center"></el-table-column>
<el-table-column prop="purpose" label="存储字典value" header-align="center" align="center"></el-table-column>
<el-table-column prop="rentFlag" label="1:出租 0:自住 2:闲置" header-align="center" align="center"></el-table-column>
<el-table-column label="序号"
type="index"
fixed="left"
align="center"
width="50">
</el-table-column>
<el-table-column prop="villageName" label="所属小区" header-align="center" align="center"></el-table-column>
<el-table-column prop="buildName" label="所属楼栋" header-align="center" align="center"></el-table-column>
<el-table-column prop="unitName" label="单元号" header-align="center" align="center"></el-table-column>
<el-table-column prop="homeName" label="门牌号" header-align="center" align="center"></el-table-column>
<el-table-column prop="houseType" label="房屋类型" header-align="center" align="center">
<template slot-scope="scope">
{{
scope.row.houseType == '1'
? "楼房"
: scope.row.houseType == '2'
? "平房"
: scope.row.houseType == '3'
? "别墅"
: ""
}}
</template>
</el-table-column>
<el-table-column prop="purpose" label="用途" header-align="center" align="center">
<template slot-scope="scope">
{{
scope.row.purpose == '1'
? "住宅"
: scope.row.purpose == '2'
? "商业"
: scope.row.purpose == '3'
? "办公"
: scope.row.purpose == '4'
? "工业"
: scope.row.purpose == '5'
? "仓储"
: scope.row.purpose == '6'
? "商住混用"
: scope.row.purpose == '7'
? "其他"
: ""
}}
</template>
</el-table-column>
<el-table-column prop="rentFlag" label="房屋状态" header-align="center" align="center">
<template slot-scope="scope">
{{
scope.row.rentFlag == 1
? "出租"
: scope.row.rentFlag == 2
? "闲置"
: scope.row.rentFlag == 0
? "自住"
: ""
}}
</template>
</el-table-column>
<el-table-column prop="ownerName" label="房主姓名" header-align="center" align="center"></el-table-column>
<el-table-column prop="ownerPhone" label="房主电话" header-align="center" align="center"></el-table-column>
<el-table-column prop="ownerIdCard" label="房主身份证号" header-align="center" align="center"></el-table-column>
<el-table-column prop="sort" label="排序" header-align="center" align="center"></el-table-column>
<el-table-column prop="delFlag" label="删除标识 0未删除、1已删除" header-align="center" align="center"></el-table-column>
<el-table-column prop="revision" label="乐观锁" header-align="center" align="center"></el-table-column>
<el-table-column prop="createdBy" label="创建人" header-align="center" align="center"></el-table-column>
<el-table-column prop="createdTime" label="创建时间" header-align="center" align="center"></el-table-column>
<el-table-column prop="updatedBy" label="更新人" header-align="center" align="center"></el-table-column>
<el-table-column prop="updatedTime" label="更新时间" header-align="center" align="center"></el-table-column>
<el-table-column prop="communityId" label="社区ID" header-align="center" align="center"></el-table-column>
<el-table-column prop="communityName" label="社区" header-align="center" align="center"></el-table-column>
<el-table-column prop="gridId" label="网格ID" header-align="center" align="center"></el-table-column>
<el-table-column prop="gridName" label="网格" header-align="center" align="center"></el-table-column>
<el-table-column prop="villageId" label="房屋小区ID" header-align="center" align="center"></el-table-column>
<el-table-column prop="villageName" label="房屋小区" header-align="center" align="center"></el-table-column>
<el-table-column prop="buildId" label="楼号ID" header-align="center" align="center"></el-table-column>
<el-table-column prop="buildName" label="楼号" header-align="center" align="center"></el-table-column>
<el-table-column prop="unitId" label="单元ID" header-align="center" align="center"></el-table-column>
<el-table-column prop="unitName" label="单元" header-align="center" align="center"></el-table-column>
<el-table-column prop="homeId" label="房屋ID" header-align="center" align="center"></el-table-column>
<el-table-column prop="homeName" label="房屋" header-align="center" align="center"></el-table-column>
<el-table-column prop="purchaseDate" label="购房日期" header-align="center" align="center"></el-table-column>
<!--<el-table-column prop="purchaseDate" label="购房日期" header-align="center" align="center"></el-table-column>-->
<el-table-column :label="$t('handle')" fixed="right" header-align="center" align="center" width="150">
<template slot-scope="scope">
<el-button type="text" size="small" @click="addOrUpdateHandle(scope.row.id)">{{ $t('update') }}</el-button>
@ -69,6 +242,19 @@
</el-pagination>
<!-- 弹窗, 新增 / 修改 -->
<add-or-update v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="getDataList"></add-or-update>
<!-- 购房登记弹出框 -->
<el-dialog :visible.sync="formShow"
:close-on-click-modal="false"
:close-on-press-escape="false"
:title="formTitle"
width="900px"
top="5vh"
class="dialog-h"
@closed="diaClose">
<room-form ref="ref_form"
@dialogCancle="addFormCancle"
@dialogOk="addFormOk"></room-form>
</el-dialog>
</div>
</el-card>
</template>
@ -76,23 +262,222 @@
<script>
import mixinViewModule from '@/mixins/view-module'
import AddOrUpdate from './renthouse-add-or-update'
import roomForm from './renthouseForm'
export default {
mixins: [mixinViewModule],
data () {
return {
mixinViewModuleOptions: {
getDataListURL: '/rent/rentHouse/page',
getDataListURL: '/pli/power/rentHouse/page',
getDataListIsPage: true,
deleteURL: '/rent/rentHouse',
deleteIsBatch: true
deleteURL: '/pli/power/rentHouse',
deleteIsBatch: true,
exportURL: '/pli/power/rentHouse/export'
},
dataForm: {
id: ''
}
id: '',
name: '',
mobile: '',
idCard: '',
gridId: '',
villageId: '',
buildId: '',
unitId: '',
homeId: '',
rentFlag: ''
},
timeRange: '',
optionsV: [],
optionsB: [],
optionsH: [],
optionsD: [],
optionsG: [],
rentFlagArr: [
{ dictValue: 0, dictName: '自住' },
{ dictValue: 1, dictName: '出租' },
{ dictValue: 2, dictName: '闲置' }
],
//form
formShow: false,
formTitle: '购房登记',
}
},
components: {
AddOrUpdate
AddOrUpdate,
roomForm
},
computed: {
changeVDisabled() {
return !this.dataForm.villageId
},
changeBDisabled() {
return !this.dataForm.buildId
},
changeDDisabled() {
return !this.dataForm.unitId
}
},
created () {
this.getGridList()
this.getValiheList()
},
watch: {
timeRange (val) {
if (Array.isArray(val) && val.length == 2) {
this.dataForm.startTime = val[0];
this.dataForm.endTime = val[1];
} else {
this.dataForm.startTime = '';
this.dataForm.endTime = '';
}
}
},
methods: {
addFormCancle () {
this.formShow = false
},
addFormOk () {
this.formShow = false
this.getDataList()
},
handleEdit (row) {
this.formTitle = '购房登记'
this.formShow = true
this.$nextTick(() => {
this.$refs.ref_form.initForm('add', row, '')
})
},
resetForm(formName) {
for(const n in this.dataForm) {
this.dataForm[n] = ''
}
this.timeRange = ''
this.getDataList()
},
handleClearVillage() {
this.dataForm.buildId = ''
this.dataForm.homeId = ''
},
handleClearBuild() {
this.dataForm.buildId = ''
this.dataForm.unitId = ''
this.dataForm.homeId = ''
},
handleClearDan() {
this.dataForm.unitId = ''
this.dataForm.homeId = ''
},
handleChangeGrid(val) {
console.log('val', val)
this.dataForm.villageId = ''
this.dataForm.buildId = ''
this.dataForm.unitId = ''
this.dataForm.homeId = ''
this.getValiheList()
},
getGridList() {
const { user } = this.$store.state
this.$http
.post('/gov/org/customergrid/gridoption', { agencyId: user.agencyId, purpose: 'query' })
.then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg)
} else {
console.log('获取查询详情成功', res.data)
this.optionsG = res.data
}
})
.catch(() => {
return this.$message.error('网络错误')
})
},
getValiheList() {
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.optionsV = 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.optionsB = 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.optionsD = 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.optionsH = res.data
}
})
.catch(() => {
return this.$message.error('网络错误')
})
},
handleChangeV(val) {
console.log('val', val)
this.dataForm.buildId = ''
this.dataForm.unitId = ''
this.dataForm.homeId = ''
this.getBuildList()
},
handleChangeB(val) {
console.log('val', val)
this.dataForm.unitId = ''
this.dataForm.homeId = ''
this.getUniList()
},
handleChangeD(val) {
console.log('val', val)
this.dataForm.homeId = ''
this.getHouseList()
},
}
}
</script>

606
src/views/modules/plugins/rent/renthouseForm.vue

@ -0,0 +1,606 @@
<template>
<div>
<div class="dialog-h-content scroll-h">
<el-form ref="ref_form"
:inline="true"
:model="dataForm"
:rules="dataRule"
:disabled="formType === 'detail'"
class="form">
<el-form-item label="所属网格"
prop="gridId" label-width="150px">
<el-select
v-model.trim="gridId"
placeholder="请选择"
clearable
@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="所属房屋" label-width="150px" prop="villageId">
<div class="resi-cell-value">
<div class="resi-cell-col">
<el-form-item prop="villageId">
<el-select
v-model.trim="villageId"
placeholder="请选择小区"
clearable
@clear="handleClearVillage"
@change="handleChangeV"
>
<el-option
v-for="item in optionsV"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item prop="buildId">
<el-select
v-model.trim="buildId"
placeholder="楼号"
clearable
style="width: 120px;"
:disabled="changeVDisabled"
@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-form-item>
<el-form-item prop="unitId">
<el-select
v-model.trim="unitId"
:disabled="changeBDisabled"
placeholder="单元"
clearable
style="width: 120px;"
@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-form-item>
<el-form-item prop="homeId">
<el-select
v-model.trim="homeId"
:disabled="changeDDisabled"
placeholder="房号"
clearable
style="width: 120px;"
@change="homeIdHandleChange"
>
<el-option
v-for="item in optionsH"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</el-select>
</el-form-item>
</div>
</div>
</el-form-item>
<!--<el-form-item label="房屋类型"-->
<!--prop="houseType"-->
<!--label-width="150px"-->
<!--style="display: block">-->
<!--<el-radio-group v-model="houseType">-->
<!--<el-radio :label="'1'">楼房</el-radio>-->
<!--<el-radio :label="'2'">平房</el-radio>-->
<!--<el-radio :label="'3'">别墅</el-radio>-->
<!--</el-radio-group>-->
<!--</el-form-item>-->
<!--<el-form-item label="房屋用途"-->
<!--prop="purpose"-->
<!--label-width="150px"-->
<!--style="display: block">-->
<!--<el-radio-group v-model="purpose">-->
<!--<el-radio :label="'1'">住宅</el-radio>-->
<!--<el-radio :label="'2'">商业</el-radio>-->
<!--<el-radio :label="'3'">办公</el-radio>-->
<!--<el-radio :label="'4'">工业</el-radio>-->
<!--<el-radio :label="'5'">仓储</el-radio>-->
<!--<el-radio :label="'6'">商住混用</el-radio>-->
<!--<el-radio :label="'7'">其他</el-radio>-->
<!--</el-radio-group>-->
<!--</el-form-item>-->
<el-form-item label="房屋状态"
prop="rentFlag"
label-width="150px"
style="display: block">
<el-radio-group v-model="rentFlag">
<el-radio :label="1">出租</el-radio>
<el-radio :label="2">闲置</el-radio>
<el-radio :label="0">自住</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="房主姓名"
prop="ownerName"
label-width="150px"
style="display: block">
<el-input class="item_width_1"
placeholder="请输入房主姓名"
v-model="dataForm.ownerName">
</el-input>
</el-form-item>
<el-form-item label="房主电话"
prop="ownerPhone"
label-width="150px"
style="display: block">
<el-input class="item_width_1"
type='number'
placeholder="请输入房主电话"
v-model="dataForm.ownerPhone">
</el-input>
</el-form-item>
<el-form-item label="房主身份证"
prop="ownerIdCard"
label-width="150px"
style="display: block">
<el-input class="item_width_1"
placeholder="请输入房主身份证"
v-model="dataForm.ownerIdCard">
</el-input>
</el-form-item>
<el-form-item label=" " prop="needUpdate" label-width="150px">
<el-checkbox v-model="dataForm.needUpdate">更新房屋信息</el-checkbox>
</el-form-item>
</el-form>
</div>
<div class="div_btn">
<el-button size="small"
@click="handleCancle"> </el-button>
<el-button size="small"
v-if="formType != 'detail'"
type="primary"
:disabled="btnDisable"
@click="handleComfirm"> </el-button>
</div>
</div>
</template>
<script>
import { mapGetters } from 'vuex'
import { Loading } from 'element-ui' // Loading
import { requestPost, requestGet } from '@/js/dai/request'
let loading //
export default {
data () {
return {
formType: 'add', // addeditdetail
btnDisable: false,
unitList: [],
houseId: '', //ID
houseType: '1',
purpose: '1',
rentFlag: 1,
dataForm: {
neighborHoodId: '', // ID
buildingId: '',//ID
buildingUnitId: '',//ID
doorName: '',//
houseType: '',//
purpose: '',//
rentFlag: 1,//10 12 0
ownerPhone: '', //
ownerName: '', //
ownerIdCard: '', //
needUpdate: false
},
keyWords: '',
agencyObj: {},
optionsV: [],
optionsB: [],
optionsH: [],
optionsD: [],
optionsG: [],
gridId: '',
villageId: '',
buildId: '',
unitId: '',
homeId: '',
}
},
components: {},
mounted () {
},
created () {
this.getGridList()
this.getValiheList()
},
methods: {
handleCancle () {
this.resetData()
this.$emit('dialogCancle')
},
async initForm (type, row, agencyObj) {
this.$refs.ref_form.resetFields();
// this.agencyObj = agencyObj
this.formType = type
// if (row) {
//
// this.houseId = row.houseId
// await this.loadHouseInfo()
//
// } else {
//
// this.dataForm.neighborHoodId = this.agencyObj.neighborHoodId
// this.dataForm.buildingId = this.agencyObj.id
// }
// await this.loadUnitList()
},
async loadHouseInfo () {
const url = "/gov/org/ichouse/" + this.houseId
const { data, code, msg } = await requestGet(url)
if (code === 0) {
// debugger
this.dataForm = { ...data }
this.houseType = this.dataForm.houseType
this.purpose = this.dataForm.purpose
this.rentFlag = parseInt(this.dataForm.rentFlag)
} else {
this.$message.error(msg)
}
},
//
// async loadUnitList () {
// const url = '/gov/org/building/buildingunitlist'
//
// let params = {
// buildingId: this.dataForm.buildingId
// }
//
// const { data, code, msg } = await requestPost(url, params)
//
// if (code === 0) {
// this.unitList = data
// } else {
// this.$message.error(msg)
// }
// },
handleClearVillage() {
this.buildId = ''
this.homeId = ''
},
handleClearBuild() {
this.buildId = ''
this.unitId = ''
this.homeId = ''
},
handleClearDan() {
this.unitId = ''
this.homeId = ''
},
handleChangeGrid(val) {
console.log('val', val)
this.villageId = ''
this.buildId = ''
this.unitId = ''
this.homeId = ''
this.getValiheList()
},
getGridList() {
const { user } = this.$store.state
this.$http
.post('/gov/org/customergrid/gridoption', { agencyId: user.agencyId, purpose: 'query' })
.then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg)
} else {
console.log('获取查询详情成功', res.data)
this.optionsG = res.data
}
})
.catch(() => {
return this.$message.error('网络错误')
})
},
getValiheList() {
const { user } = this.$store.state
this.$http
.post('/gov/org/icneighborhood/neighborhoodoption', {
gridId: this.gridId,
agencyId: ''
// agencyId: user.agencyId
})
.then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg)
} else {
console.log('获取查询详情成功', res.data)
this.optionsV = res.data
}
})
.catch(() => {
return this.$message.error('网络错误')
})
},
getBuildList() {
this.$http
.post('/gov/org/icbuilding/buildingoption', {
neighborHoodId: this.villageId
})
.then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg)
} else {
console.log('获取查询详情成功', res.data)
this.optionsB = res.data
}
})
.catch(() => {
return this.$message.error('网络错误')
})
},
getUniList() {
this.$http
.post('/gov/org/icbuildingunit/unitoption', {
buildingId: this.buildId
})
.then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg)
} else {
console.log('获取查询详情成功', res.data)
this.optionsD = res.data
}
})
.catch(() => {
return this.$message.error('网络错误')
})
},
getHouseList() {
this.$http
.post('/gov/org/ichouse/houseoption', { unitId: this.unitId })
.then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg)
} else {
console.log('获取查询详情成功', res.data)
this.optionsH = res.data
}
})
.catch(() => {
return this.$message.error('网络错误')
})
},
handleChangeV(val) {
console.log('val', val)
this.buildId = ''
this.unitId = ''
this.homeId = ''
this.getBuildList()
},
handleChangeB(val) {
console.log('val', val)
this.unitId = ''
this.homeId = ''
this.getUniList()
},
handleChangeD(val) {
console.log('val', val)
this.homeId = ''
this.getHouseList()
},
homeIdHandleChange(val){
this.houseId = val
this.loadHouseInfo()
},
async handleComfirm () {
this.btnDisable = true
setTimeout(() => {
this.btnDisable = false
}, 10000)
this.dataForm.houseType = this.houseType
this.dataForm.purpose = this.purpose
this.dataForm.rentFlag = this.rentFlag
//
this.dataForm.gridId = this.gridId
this.dataForm.villageId = this.villageId
this.dataForm.buildId = this.buildId
this.dataForm.unitId = this.unitId
this.dataForm.homeId = this.homeId
this.$refs['ref_form'].validate((valid, messageObj) => {
if (!valid) {
this.btnDisable = false
app.util.validateRule(messageObj)
} else {
this.addRoom()
}
})
},
async addRoom () {
const regCard = /(^\d{15}$)|(^\d{17}(\d|X)$)/; //1518151817X
if (this.dataForm.ownerIdCard && regCard.test(this.dataForm.ownerIdCard) === false) {
this.btnDisable = false
this.$message({
type: 'warning',
message: '请输入正确的身份证号码'
})
return false;
}
const regPhone = /^1(3|4|5|6|7|8|9)\d{9}$/; //
if (this.dataForm.ownerPhone && regPhone.test(this.dataForm.ownerPhone) === false) {
this.btnDisable = false
this.$message({
type: 'warning',
message: '请输入正确的手机号码'
})
return false;
}
let url = ''
if (this.formType === 'add') {
url = '/pli/power/rentHouse/'
} else {
url = '/gov/org/house/houseupdate'
this.dataForm.houseId = this.houseId
}
const { data, code, msg } = await requestPost(url, this.dataForm)
this.btnDisable = false
if (code === 0) {
this.$message({
type: 'success',
message: '操作成功'
})
this.resetData()
this.$emit('dialogOk')
} else {
this.$message.error(msg)
}
},
handleCancle () {
this.resetData()
this.$emit('dialogCancle')
},
resetData () {
this.houseId = '' //ID
this.houseType = '1'
this.purpose = '1'
this.rentFlag = 1
this.dataForm = {
neighborHoodId: '', // ID
buildingId: '',//ID
buildingUnitId: '',//ID
doorName: '',//
houseType: '1',//
purpose: '1',//
rentFlag: 0,//10
ownerPhone: '', //
ownerName: '', //
ownerIdCard: '' //
}
},
//
startLoading () {
loading = Loading.service({
lock: true, //
text: '正在加载……', //
background: 'rgba(0,0,0,.7)' //
})
},
//
endLoading () {
// clearTimeout(timer);
if (loading) {
loading.close()
}
}
},
computed: {
dataRule () {
return {
buildingUnitId: [
{ required: true, message: '所属单元不能为空', trigger: 'blur' },
],
doorName: [
{ required: true, message: '门牌号不能为空', trigger: 'blur' }
],
houseType: [
{ required: true, message: '房屋类型不能为空', trigger: 'blur' }
],
purpose: [
{ required: true, message: '房屋用途不能为空', trigger: 'blur' }
],
rentFlag: [
{ required: true, message: '是否出租不能为空', trigger: 'blur' }
],
ownerPhone: [
{ required: false }
],
ownerName: [
{ required: false }
],
ownerIdCard: [
{ required: false }
],
villageId: [
{ required: true, message: '所属房屋不能为空', trigger: 'blur' }
],
gridId: [
{ required: true, message: '所属网格不能为空', trigger: 'blur' }
],
}
},
},
props: {}
}
</script>
<style lang="scss" scoped >
@import "@/assets/scss/modules/visual/communityManageForm.scss";
</style>
Loading…
Cancel
Save