dai 3 years ago
parent
commit
3ad1a6aab8
  1. 2
      src/views/components/editResi.vue
  2. 10
      src/views/components/editResi.vue.rej
  3. 12
      src/views/components/resiChangeTransfer.vue
  4. 190
      src/views/modules/plugins/rent/renthouse-add-or-update.vue
  5. 93
      src/views/modules/plugins/rent/renthouse.vue
  6. 290
      src/views/modules/plugins/rent/renthouseForm.vue
  7. 122
      src/views/modules/visual/plugin/power/components/screen-org-map.vue
  8. 121
      src/views/modules/visual/plugin/power/organization.vue

2
src/views/components/editResi.vue

@ -235,7 +235,7 @@
v-else-if="n.itemType === 'cascader'"
v-model.trim="form[n.columnName]"
:options="n.options"
:props="{ checkStrictly: false }"
:props="{ checkStrictly: true }"
:disabled="disabled"
clearable
size="small"

10
src/views/components/editResi.vue.rej

@ -0,0 +1,10 @@
diff a/src/views/components/editResi.vue b/src/views/components/editResi.vue (rejected hunks)
@@ -235,7 +235,7 @@
v-else-if="n.itemType === 'cascader'"
v-model.trim="form[n.columnName]"
:options="n.options"
- :props="{ checkStrictly: true }"
+ :props="{ checkStrictly: false }"
:disabled="disabled"
clearable
size="small"

12
src/views/components/resiChangeTransfer.vue

@ -169,7 +169,7 @@
<script>
import util from '@js/util.js';
import { Loading } from 'element-ui' // Loading
import { requestPost } from '@/js/dai/request'
import { requestPost, requestGet } from '@/js/dai/request'
let loading //
export default {
@ -283,7 +283,7 @@ export default {
this.dataForm.idCard = row.ID_CARD
this.dataForm.mobile = row.MOBILE
await this.loadHouseInfo(row.HOME_ID)
await this.loadHouseInfo(row.HOME_ID_VALUE)
this.dataForm.name = row.NAME
this.dataForm.gender = row.GENDER
@ -294,13 +294,13 @@ export default {
await this.getAgencylist()
},
async loadHouseInfo (homeId) {
const url = "/gov/org/ichouse/" + homeId
async loadHouseInfo (homeIdValue) {
const url = "/gov/org/ichouse/" + homeIdValue
const { data, code, msg } = await requestGet(url)
if (code === 0) {
this.dataForm.oldDept = ''
this.dataForm.oldAddress = row.houseName
this.dataForm.ownerName = row.ownerName
this.dataForm.oldAddress = data.houseName
this.dataForm.ownerName = data.ownerName
} else {
this.$message.error(msg)
}

190
src/views/modules/plugins/rent/renthouse-add-or-update.vue

@ -1,109 +1,62 @@
<template>
<el-dialog :visible.sync="visible" :title="!dataForm.id ? $t('add') : $t('update')" :close-on-click-modal="false" :close-on-press-escape="false">
<el-form :model="dataForm" :rules="dataRule" ref="dataForm" @keyup.enter.native="dataFormSubmitHandle()" :label-width="$i18n.locale === 'en-US' ? '120px' : '80px'">
<el-form-item label="客户id" prop="customerId">
<el-input v-model="dataForm.customerId" placeholder="客户id"></el-input>
</el-form-item>
<el-form-item label="小区id" prop="neighborHoodId">
<el-input v-model="dataForm.neighborHoodId" placeholder="小区id"></el-input>
</el-form-item>
<el-form-item label="片区id,neighbor_hood_part.id,可为空。" prop="partId">
<el-input v-model="dataForm.partId" placeholder="片区id,neighbor_hood_part.id,可为空。"></el-input>
</el-form-item>
<el-form-item label="所属楼栋id" prop="buildingId">
<el-input v-model="dataForm.buildingId" placeholder="所属楼栋id"></el-input>
</el-form-item>
<el-form-item label="所属单元id" prop="buildingUnitId">
<el-input v-model="dataForm.buildingUnitId" placeholder="所属单元id"></el-input>
</el-form-item>
<el-form-item label="房屋名字后台插入时生成" prop="houseName">
<el-input v-model="dataForm.houseName" placeholder="房屋名字后台插入时生成"></el-input>
</el-form-item>
<el-form-item label="门牌号" prop="doorName">
<el-input v-model="dataForm.doorName" placeholder="门牌号"></el-input>
</el-form-item>
<el-form-item label="房屋类型,1楼房,2平房,3别墅" prop="houseType">
<el-input v-model="dataForm.houseType" placeholder="房屋类型,1楼房,2平房,3别墅"></el-input>
</el-form-item>
<el-form-item label="存储字典value" prop="purpose">
<el-input v-model="dataForm.purpose" placeholder="存储字典value"></el-input>
</el-form-item>
<el-form-item label="1:出租 0:自住 2:闲置" prop="rentFlag">
<el-input v-model="dataForm.rentFlag" placeholder="1:出租 0:自住 2:闲置"></el-input>
</el-form-item>
<el-form-item label="房主姓名" prop="ownerName">
<el-input v-model="dataForm.ownerName" placeholder="房主姓名"></el-input>
</el-form-item>
<el-form-item label="房主电话" prop="ownerPhone">
<el-input v-model="dataForm.ownerPhone" placeholder="房主电话"></el-input>
</el-form-item>
<el-form-item label="房主身份证号" prop="ownerIdCard">
<el-input v-model="dataForm.ownerIdCard" placeholder="房主身份证号"></el-input>
</el-form-item>
<el-form-item label="排序" prop="sort">
<el-input v-model="dataForm.sort" placeholder="排序"></el-input>
</el-form-item>
<el-form-item label="删除标识 0未删除、1已删除" prop="delFlag">
<el-input v-model="dataForm.delFlag" placeholder="删除标识 0未删除、1已删除"></el-input>
</el-form-item>
<el-form-item label="乐观锁" prop="revision">
<el-input v-model="dataForm.revision" placeholder="乐观锁"></el-input>
</el-form-item>
<el-form-item label="创建人" prop="createdBy">
<el-input v-model="dataForm.createdBy" placeholder="创建人"></el-input>
</el-form-item>
<el-form-item label="创建时间" prop="createdTime">
<el-input v-model="dataForm.createdTime" placeholder="创建时间"></el-input>
</el-form-item>
<el-form-item label="更新人" prop="updatedBy">
<el-input v-model="dataForm.updatedBy" placeholder="更新人"></el-input>
</el-form-item>
<el-form-item label="更新时间" prop="updatedTime">
<el-input v-model="dataForm.updatedTime" placeholder="更新时间"></el-input>
</el-form-item>
<el-form-item label="社区ID" prop="communityId">
<el-input v-model="dataForm.communityId" placeholder="社区ID"></el-input>
</el-form-item>
<el-form-item label="社区" prop="communityName">
<el-input v-model="dataForm.communityName" placeholder="社区"></el-input>
</el-form-item>
<el-form-item label="网格ID" prop="gridId">
<el-input v-model="dataForm.gridId" placeholder="网格ID"></el-input>
</el-form-item>
<el-form-item label="网格" prop="gridName">
<el-input v-model="dataForm.gridName" placeholder="网格"></el-input>
</el-form-item>
<el-form-item label="房屋小区ID" prop="villageId">
<el-input v-model="dataForm.villageId" placeholder="房屋小区ID"></el-input>
</el-form-item>
<el-form-item label="房屋小区" prop="villageName">
<el-input v-model="dataForm.villageName" placeholder="房屋小区"></el-input>
</el-form-item>
<el-form-item label="楼号ID" prop="buildId">
<el-input v-model="dataForm.buildId" placeholder="楼号ID"></el-input>
</el-form-item>
<el-form-item label="楼号" prop="buildName">
<el-input v-model="dataForm.buildName" placeholder="楼号"></el-input>
</el-form-item>
<el-form-item label="单元ID" prop="unitId">
<el-input v-model="dataForm.unitId" placeholder="单元ID"></el-input>
</el-form-item>
<el-form-item label="单元" prop="unitName">
<el-input v-model="dataForm.unitName" placeholder="单元"></el-input>
</el-form-item>
<el-form-item label="房屋ID" prop="homeId">
<el-input v-model="dataForm.homeId" placeholder="房屋ID"></el-input>
</el-form-item>
<el-form-item label="房屋" prop="homeName">
<el-input v-model="dataForm.homeName" placeholder="房屋"></el-input>
</el-form-item>
<el-form-item label="购房日期" prop="purchaseDate">
<el-input v-model="dataForm.purchaseDate" placeholder="购房日期"></el-input>
</el-form-item>
<el-dialog :visible.sync="visible" :title="!dataForm.id ? $t('add') : '查看'" :close-on-click-modal="false" :close-on-press-escape="false">
<el-form :model="dataForm" :rules="dataRule" ref="dataForm" @keyup.enter.native="dataFormSubmitHandle()" label-width="120px" disabled>
<el-form-item label="房屋类型" prop="houseType">
<el-select v-model="dataForm.houseType" placeholder="房屋类型" clearable>
<el-option v-for="item in houseTypeArr" :key="item.dictValue" :label="item.dictName" :value="item.dictValue">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="用途" prop="purpose">
<el-select v-model="dataForm.purpose" placeholder="用途" clearable>
<el-option v-for="item in purposeArr" :key="item.dictValue" :label="item.dictName" :value="item.dictValue">
</el-option>
</el-select>
</el-form-item>
<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="ownerName">
<el-input v-model="dataForm.ownerName" placeholder="房主姓名"></el-input>
</el-form-item>
<el-form-item label="房主电话" prop="ownerPhone">
<el-input v-model="dataForm.ownerPhone" placeholder="房主电话"></el-input>
</el-form-item>
<el-form-item label="房主身份证号" prop="ownerIdCard">
<el-input v-model="dataForm.ownerIdCard" placeholder="房主身份证号"></el-input>
</el-form-item>
<el-form-item label="网格" prop="gridName">
<el-input v-model="dataForm.gridName" placeholder="网格"></el-input>
</el-form-item>
<el-form-item label="房屋小区" prop="villageName">
<el-input v-model="dataForm.villageName" placeholder="房屋小区"></el-input>
</el-form-item>
<el-form-item label="楼号" prop="buildName">
<el-input v-model="dataForm.buildName" placeholder="楼号"></el-input>
</el-form-item>
<el-form-item label="单元" prop="unitName">
<el-input v-model="dataForm.unitName" placeholder="单元"></el-input>
</el-form-item>
<el-form-item label="房屋" prop="homeName">
<el-input v-model="dataForm.homeName" placeholder="房屋"></el-input>
</el-form-item>
<el-form-item label="购房日期" prop="purchaseDate">
<el-date-picker v-model="dataForm.purchaseDate"
type="date"
value-format="yyyy-MM-dd HH:mm:ss"
format="yyyy-MM-dd"
placeholder="选择日期"
style="width:200px"
:clearable="false">
</el-date-picker>
</el-form-item>
</el-form>
<template slot="footer">
<el-button @click="visible = false">{{ $t('cancel') }}</el-button>
<el-button type="primary" @click="dataFormSubmitHandle()">{{ $t('confirm') }}</el-button>
<el-button type="primary" size="small" @click="visible = false">{{ '返回' }}</el-button>
<!--<el-button type="primary" @click="dataFormSubmitHandle()">{{ $t('confirm') }}</el-button>-->
</template>
</el-dialog>
</template>
@ -130,12 +83,6 @@ export default {
ownerPhone: '',
ownerIdCard: '',
sort: '',
delFlag: '',
revision: '',
createdBy: '',
createdTime: '',
updatedBy: '',
updatedTime: '',
communityId: '',
communityName: '',
gridId: '',
@ -149,7 +96,26 @@ export default {
homeId: '',
homeName: '',
purchaseDate: ''
}
},
houseTypeArr: [
{ dictValue: '1', dictName: '楼房' },
{ dictValue: '2', dictName: '平房' },
{ dictValue: '3', dictName: '别墅' }
],
rentFlagArr: [
{ dictValue: 0, dictName: '自住' },
{ dictValue: 1, dictName: '出租' },
{ dictValue: 2, dictName: '闲置' }
],
purposeArr: [
{ dictValue: '1', dictName: '住宅' },
{ dictValue: '2', dictName: '商业' },
{ dictValue: '3', dictName: '办公' },
{ dictValue: '4', dictName: '工业' },
{ dictValue: '5', dictName: '仓储' },
{ dictValue: '6', dictName: '商住混用' },
{ dictValue: '7', dictName: '其他' }
],
}
},
computed: {
@ -269,7 +235,7 @@ export default {
},
//
getInfo () {
this.$http.get(`/rent/rentHouse/${this.dataForm.id}`).then(({ data: res }) => {
this.$http.get(`/pli/power/rentHouse/${this.dataForm.id}`).then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg)
}
@ -285,7 +251,7 @@ export default {
if (!valid) {
return false
}
this.$http[!this.dataForm.id ? 'post' : 'put']('/rent/rentHouse/', this.dataForm).then(({ data: res }) => {
this.$http[!this.dataForm.id ? 'post' : 'put']('/pli/power/rentHouse/', this.dataForm).then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg)
}

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

@ -1,7 +1,7 @@
<template>
<el-card shadow="never" class="aui-card--fill">
<div class="mod-rent__rentHouse}">
<el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataList()" label-width="100px">
<el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataList()" label-width="70px">
<el-form-item label="所属网格"
prop="gridId">
<el-select
@ -100,8 +100,8 @@
<br/>
<el-form-item label="姓名"
prop="name">
<el-input v-model="dataForm.name"
prop="ownerName">
<el-input v-model="dataForm.ownerName"
size="small"
class="list_item_width_1"
clearable
@ -109,8 +109,8 @@
</el-input>
</el-form-item>
<el-form-item label="身份证"
prop="idCard">
<el-input v-model="dataForm.idCard"
prop="ownerIdCard">
<el-input v-model="dataForm.ownerIdCard"
size="small"
class="list_item_width_1"
clearable
@ -118,8 +118,8 @@
</el-input>
</el-form-item>
<el-form-item label="手机"
prop="mobile">
<el-input v-model="dataForm.mobile"
prop="ownerPhone">
<el-input v-model="dataForm.ownerPhone"
size="small"
class="list_item_width_1"
clearable
@ -169,11 +169,11 @@
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">
<el-table-column prop="villageName" label="所属小区" header-align="center" align="center" show-overflow-tooltip></el-table-column>
<el-table-column prop="buildName" label="所属楼栋" header-align="center" align="center" min-width="70" show-overflow-tooltip></el-table-column>
<el-table-column prop="unitName" label="单元号" header-align="center" align="center" min-width="70" show-overflow-tooltip></el-table-column>
<el-table-column prop="homeName" label="门牌号" header-align="center" align="center" min-width="70" show-overflow-tooltip></el-table-column>
<el-table-column prop="houseType" label="房屋类型" header-align="center" align="center" min-width="70" show-overflow-tooltip>
<template slot-scope="scope">
{{
scope.row.houseType == '1'
@ -186,7 +186,7 @@
}}
</template>
</el-table-column>
<el-table-column prop="purpose" label="用途" header-align="center" align="center">
<el-table-column prop="purpose" label="用途" header-align="center" align="center" min-width="70" show-overflow-tooltip>
<template slot-scope="scope">
{{
scope.row.purpose == '1'
@ -207,7 +207,7 @@
}}
</template>
</el-table-column>
<el-table-column prop="rentFlag" label="房屋状态" header-align="center" align="center">
<el-table-column prop="rentFlag" label="房屋状态" header-align="center" align="center" min-width="70" show-overflow-tooltip>
<template slot-scope="scope">
{{
scope.row.rentFlag == 1
@ -220,13 +220,13 @@
}}
</template>
</el-table-column>
<el-table-column prop="ownerName" label="房主姓名" header-align="center" align="center"></el-table-column>
<el-table-column prop="ownerName" label="房主姓名" header-align="center" align="center" min-width="70" show-overflow-tooltip></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="purchaseDate" label="购房日期" header-align="center" align="center"></el-table-column>-->
<el-table-column prop="ownerIdCard" label="房主身份证号" header-align="center" align="center" show-overflow-tooltip></el-table-column>
<el-table-column prop="purchaseDate" label="购房日期" header-align="center" align="center" min-width="100" show-overflow-tooltip></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>
<el-button type="text" size="small" @click="addOrUpdateHandle(scope.row.id)">{{ '查看' }}</el-button>
<el-button type="text" size="small" @click="deleteHandle(scope.row.id)">{{ $t('delete') }}</el-button>
</template>
</el-table-column>
@ -270,21 +270,21 @@ export default {
mixinViewModuleOptions: {
getDataListURL: '/pli/power/rentHouse/page',
getDataListIsPage: true,
deleteURL: '/pli/power/rentHouse',
deleteURL: '/pli/power/rentHouse/delete',
deleteIsBatch: true,
exportURL: '/pli/power/rentHouse/export'
},
dataForm: {
id: '',
name: '',
mobile: '',
idCard: '',
gridId: '',
villageId: '',
buildId: '',
unitId: '',
homeId: '',
rentFlag: ''
name: '',
mobile: '',
idCard: '',
gridId: '',
villageId: '',
buildId: '',
unitId: '',
homeId: '',
rentFlag: ''
},
timeRange: '',
optionsV: [],
@ -293,9 +293,9 @@ export default {
optionsD: [],
optionsG: [],
rentFlagArr: [
{ dictValue: 0, dictName: '自住' },
{ dictValue: 1, dictName: '出租' },
{ dictValue: 2, dictName: '闲置' }
{ dictValue: 0, dictName: '自住' },
{ dictValue: 1, dictName: '出租' },
{ dictValue: 2, dictName: '闲置' }
],
//form
formShow: false,
@ -333,6 +333,37 @@ export default {
}
},
methods: {
diaClose(){
},
exportHandle () {
const url = this.mixinViewModuleOptions.exportURL
this.$http({
method: 'GET',
url,
responseType: 'blob',
params: this.dataForm
}).then(res => {
// this.download(res.data, title + '.xls')
if (res.headers["content-disposition"]) {
let fileName = window.decodeURI(res.headers["content-disposition"].split(";")[1].split("=")[1])
console.log('filename', fileName)
let blob = new Blob([res.data], { type: 'application/vnd.ms-excel' })
var url = window.URL.createObjectURL(blob)
var aLink = document.createElement('a')
aLink.style.display = 'none'
aLink.href = url
aLink.setAttribute('download', fileName)
document.body.appendChild(aLink)
aLink.click()
document.body.removeChild(aLink) //
window.URL.revokeObjectURL(url) //blob
} else this.$message.error('下载失败')
}).catch(err => {
console.log('err', err)
return this.$message.error('网络错误')
})
},
addFormCancle () {
this.formShow = false
},

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

@ -49,7 +49,6 @@
<el-select
v-model.trim="buildId"
placeholder="楼号"
clearable
style="width: 120px;"
:disabled="changeVDisabled"
@clear="handleClearBuild"
@ -69,7 +68,6 @@
v-model.trim="unitId"
:disabled="changeBDisabled"
placeholder="单元"
clearable
style="width: 120px;"
@click="handleClearDan"
@change="handleChangeD"
@ -88,7 +86,6 @@
v-model.trim="homeId"
:disabled="changeDDisabled"
placeholder="房号"
clearable
style="width: 120px;"
@change="homeIdHandleChange"
>
@ -105,35 +102,16 @@
</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="purchaseDate" label-width="150px">
<el-date-picker v-model="dataForm.purchaseDate"
type="date"
value-format="yyyy-MM-dd"
format="yyyy-MM-dd"
placeholder="选择日期"
style="width:200px"
:clearable="false">
</el-date-picker>
</el-form-item>
<el-form-item label="房屋状态"
prop="rentFlag"
label-width="150px"
@ -176,7 +154,7 @@
</el-input>
</el-form-item>
<el-form-item label=" " prop="needUpdate" label-width="150px">
<el-checkbox v-model="dataForm.needUpdate">更新房屋信息</el-checkbox>
<el-checkbox v-model="needUpdate">更新房屋信息</el-checkbox>
</el-form-item>
</el-form>
@ -205,7 +183,6 @@ export default {
return {
formType: 'add', // addeditdetail
btnDisable: false,
unitList: [],
houseId: '', //ID
houseType: '1',
@ -222,31 +199,86 @@ export default {
ownerPhone: '', //
ownerName: '', //
ownerIdCard: '', //
needUpdate: false
needUpdate: false,
purchaseDate: '',
villageId: '',
buildId: '',
unitId: ''
},
keyWords: '',
agencyObj: {},
optionsV: [],
optionsB: [],
optionsH: [],
optionsD: [],
optionsG: [],
gridId: '',
villageId: '',
buildId: '',
unitId: '',
homeId: '',
optionsV: [],
optionsB: [],
optionsH: [],
optionsD: [],
optionsG: [],
gridId: '',
gridName: '',
villageId: '',
villageName: '',
buildId: '',
buildName: '',
unitId: '',
unitName: '',
homeId: '',
homeName: '',
needUpdate: false
}
},
components: {},
mounted () {
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' }
],
purchaseDate: [
{ required: true, message: '购房时间不能为空', trigger: 'blur' }
]
}
},
changeVDisabled() {
return !this.villageId
},
changeBDisabled() {
return !this.buildId
},
changeDDisabled() {
return !this.unitId
}
},
},
created () {
this.getGridList()
this.getValiheList()
@ -261,25 +293,16 @@ export default {
async initForm (type, row, agencyObj) {
this.$refs.ref_form.resetFields();
// this.agencyObj = agencyObj
this.resetData()
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 () {
if(this.houseId === '' || this.houseId === null){
this.$message.error('请选择房号')
return false
}
const url = "/gov/org/ichouse/" + this.houseId
@ -292,7 +315,6 @@ export default {
this.houseType = this.dataForm.houseType
this.purpose = this.dataForm.purpose
this.rentFlag = parseInt(this.dataForm.rentFlag)
this.dataForm.needUpdate = false
} else {
@ -301,23 +323,6 @@ export default {
},
//
// 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 = ''
@ -332,6 +337,13 @@ export default {
this.homeId = ''
},
handleChangeGrid(val) {
//
this.optionsG.find((item) => {
if (item.value === val) {
this.gridName = item.label
}
})
console.log('val', val)
this.villageId = ''
this.buildId = ''
@ -425,6 +437,12 @@ export default {
})
},
handleChangeV(val) {
//
this.optionsV.find((item) => {
if (item.value === val) {
this.villageName = item.label
}
})
console.log('val', val)
this.buildId = ''
this.unitId = ''
@ -432,17 +450,35 @@ export default {
this.getBuildList()
},
handleChangeB(val) {
//
this.optionsB.find((item) => {
if (item.value === val) {
this.buildName = item.label
}
})
console.log('val', val)
this.unitId = ''
this.homeId = ''
this.getUniList()
},
handleChangeD(val) {
//
this.optionsD.find((item) => {
if (item.value === val) {
this.unitName = item.label
}
})
console.log('val', val)
this.homeId = ''
this.getHouseList()
},
homeIdHandleChange(val){
//
this.optionsH.find((item) => {
if (item.value === val) {
this.homeName = item.label
}
})
this.houseId = val
this.loadHouseInfo()
},
@ -457,18 +493,25 @@ export default {
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.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.dataForm.gridName = this.gridName
this.dataForm.villageName = this.villageName
this.dataForm.buildName = this.buildName
this.dataForm.unitName = this.unitName
this.dataForm.homeName = this.homeName
this.dataForm.needUpdate = this.needUpdate
this.$refs['ref_form'].validate((valid, messageObj) => {
if (!valid) {
this.btnDisable = false
app.util.validateRule(messageObj)
} else {
this.dataForm.id = ''
this.addRoom()
}
@ -521,12 +564,6 @@ export default {
},
handleCancle () {
this.resetData()
this.$emit('dialogCancle')
},
resetData () {
this.houseId = '' //ID
this.houseType = '1'
@ -542,63 +579,26 @@ export default {
rentFlag: 0,//10
ownerPhone: '', //
ownerName: '', //
ownerIdCard: '' //
ownerIdCard: '', //
needUpdate: false,
purchaseDate: '',
id: ''
}
this.gridId = ''
this.villageId = ''
this.buildId = ''
this.unitId = ''
this.homeId = ''
this.gridName = ''
this.villageName = ''
this.buildName = ''
this.unitName = ''
this.homeName = ''
this.needUpdate = false
},
//
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>

122
src/views/modules/visual/plugin/power/components/screen-org-map.vue

@ -31,6 +31,12 @@ let gaodeMapLayer // 背景地图图层
let markerSource
let markerLayer
let markerSource_1
let markerLayer_1
let markerSource_2
let markerLayer_2
let parentLayer;//
@ -130,7 +136,8 @@ export default {
orgData: {},//
iconCoordinators: [],
parentPolygon: [],
subAgencyArray: []
subAgencyArray: [],
centerFlag: 'point',//flag point fit
}
},
async mounted() {
@ -148,6 +155,8 @@ export default {
//
this.loadPolygon()
this.setMapLocation()
},
methods: {
initMap () {
@ -179,6 +188,45 @@ export default {
// console.log(transform(e.coordinate, 'EPSG:3857', 'EPSG:4326'));
})
},
//
setMapLocation () {
if (!this.zoom) {
this.setZoom(this.orgData.agencyLevel)
}
this.centerPoint = []
//
if (parentLayer.getSource().getFeatures()[0]) {//
this.centerFlag = 'flag_parent'
} else if (polygonLayer.getSource().getFeatures()[0]) {//,
this.centerFlag = 'flag_polygon'
} else if (this.orgData.longitude && this.orgData.latitude) {
this.centerPoint.push(this.orgData.longitude)
this.centerPoint.push(this.orgData.latitude)
this.centerFlag = 'point'
} else {
this.centerPoint = centerPointGlobal
this.centerFlag = 'point'
}
// debugger
if (this.centerFlag === 'flag_parent') {
let parentFeatures = parentLayer.getSource().getFeatures()[0]
let polygon = parentFeatures.getGeometry();
map.getView().fit(polygon, map.getSize());
this.zoom = map.getView().getZoom() - 1
} else if (this.centerFlag === 'flag_polygon') {
let polygonFeatures = polygonLayer.getSource().getFeatures()[0]
let polygon = polygonFeatures.getGeometry();
map.getView().fit(polygon, map.getSize());
this.zoom = map.getView().getZoom() - 1
} else {
mapView.setCenter(this.centerPoint);
}
mapView.setZoom(this.zoom);
},
firstCenterMap () {
this.centerPoint = []
if (this.orgData.longitude && this.orgData.latitude) {
@ -190,6 +238,9 @@ export default {
}
},
addMarker (list, icon=iconArray[0], scale=1) {
if (markerSource) {
markerSource.clear()
}
markerSource = new VectorSource({
// features: new GeoJSON().readFeatures(geojsonObject)
})
@ -245,6 +296,70 @@ export default {
markerSource.addFeatures(features)
map.addLayer(markerLayer)
},
addMarker_1 (list, icon=iconArray[0], scale=1) {
if (markerSource_1) {
markerSource_1.clear()
}
markerSource_1 = new VectorSource({
// features: new GeoJSON().readFeatures(geojsonObject)
})
markerLayer_1 = new VectorLayer({
source: markerSource_1,
zIndex: 50
})
let features = []
list.forEach((item, index) => {
const point = [parseFloat(item.longitude), parseFloat(item.latitude)]
let marker = new Feature({
geometry: new Point(point),
properties: {
...item
}
})
let iconStyle = new Style({
image: new Icon({
scale: scale,
src: icon
})
})
marker.setStyle(iconStyle)
features.push(marker)
})
markerSource_1.addFeatures(features)
map.addLayer(markerLayer_1)
},
addMarker_2 (list, icon=iconArray[0], scale=1) {
if (markerSource_2) {
markerSource_2.clear()
}
markerSource_2 = new VectorSource({
// features: new GeoJSON().readFeatures(geojsonObject)
})
markerLayer_2 = new VectorLayer({
source: markerSource_2,
zIndex: 50
})
let features = []
list.forEach((item, index) => {
const point = [parseFloat(item.longitude), parseFloat(item.latitude)]
let marker = new Feature({
geometry: new Point(point),
properties: {
...item
}
})
let iconStyle = new Style({
image: new Icon({
scale: scale,
src: icon
})
})
marker.setStyle(iconStyle)
features.push(marker)
})
markerSource_2.addFeatures(features)
map.addLayer(markerLayer_2)
},
//
async loadOrgData () {
@ -276,8 +391,6 @@ export default {
},
//
loadParentPolygon () {
parentSource.clear()//
let featureData = []//
if (this.parentPolygon && this.parentPolygon.length > 0) {//
let oneData = {}
@ -435,7 +548,6 @@ export default {
parentSource = new VectorSource({
//features: (new GeoJSON()).readFeatures(geojsonObject)
});
parentLayer = new VectorLayer({
source: parentSource,
style: parentStyleFunction,
@ -505,9 +617,7 @@ export default {
source: iconSource,
zIndex: 70
});
map.addLayer(iconLayer);
},
},

121
src/views/modules/visual/plugin/power/organization.vue

@ -17,6 +17,7 @@
:options="agencytree"
v-model="agencyId"
:show-all-levels="false"
@change="handleChangeAgencytree"
:props="{ expandTrigger: 'hover', emitPath: false, label: 'orgName', value: 'orgId', children: 'subOrgList' }"
clearable/>
</div>
@ -202,6 +203,7 @@ export default {
let params = {
axisStructId: this.axisStructId,
pageSize: this.pageSize,
agencyId: this.agencyId,
pageNo: this.pageNo,
}
const url = "/pli/power/data/kernelHousehold/list"
@ -284,6 +286,7 @@ export default {
getMapData() {
const params1 = {
axisStructId: this.axisStructId,
agencyId: this.agencyId,
limit: 99
}
//
@ -321,7 +324,7 @@ export default {
this.xiaozuList.push(ob)
})
this.$nextTick(() => {
this.$refs.orgMap.addMarker(this.xiaozuList, lyxzIcon)
this.$refs.orgMap.addMarker_1(this.xiaozuList, lyxzIcon)
})
}).catch(err => {
this.$message.error(err)
@ -339,7 +342,7 @@ export default {
this.zhongxinhuList.push(ob)
})
this.$nextTick(() => {
this.$refs.orgMap.addMarker(this.zhongxinhuList, dyzxhIcon)
this.$refs.orgMap.addMarker_2(this.zhongxinhuList, dyzxhIcon)
})
}).catch(err => {
this.$message.error(err)
@ -353,60 +356,80 @@ export default {
// },
//
async getAgencylist () {
const url = '/data/aggregator/org/agencytree'
let params = {
agencyId: this.agencyId,
client:'gov'
}
const { data, code, msg } = await requestPost(url,params)
if (code === 0) {
let _data
if (data) {
_data = this.removeByOrgType(data, 'agency')
if (_data) {
this.agencytree = this.removeEmptySubOrgList(_data)
this.agencyId = this.agencytree ? this.agencytree[0].orgId : ''
}
const url = '/data/aggregator/org/agencytree'
let params = {
agencyId: this.agencyId,
client:'gov'
}
const { data, code, msg } = await requestPost(url,params)
if (code === 0) {
let _data
if (data) {
_data = this.removeByOrgType(data, 'agency')
if (_data) {
this.agencytree = this.removeEmptySubOrgList(_data)
// id
this.agencyId = this.agencytree[0].subOrgList && this.agencytree[0].subOrgList.length > 0 ? this.setListAgencyId_one(this.agencytree[0].subOrgList) : this.agencytree[0].orgId
}
} else {
this.$message.error(msg)
}
} else {
this.$message.error(msg)
}
},
removeByOrgType (orgArray, orgType) {
if (orgArray && orgArray.length > 0) {
for (let p = orgArray.length - 1; p >= 0; p--) {
let orgInfo = orgArray[p]
if (orgInfo) {
if (orgInfo.orgType !== orgType) {
orgArray.splice(p, 1)
} else {
this.removeByOrgType(orgInfo.subOrgList, orgType)
}
removeByOrgType (orgArray, orgType) {
if (orgArray && orgArray.length > 0) {
for (let p = orgArray.length - 1; p >= 0; p--) {
let orgInfo = orgArray[p]
if (orgInfo) {
if (orgInfo.orgType !== orgType) {
orgArray.splice(p, 1)
} else {
this.removeByOrgType(orgInfo.subOrgList, orgType)
}
}
}
return orgArray
},
removeEmptySubOrgList (orgArray) {
orgArray.forEach((orgInfo) => {
if (orgInfo && orgInfo.subOrgList) {
if (orgInfo.subOrgList.length === 0) {
orgInfo.subOrgList = undefined
} else {
this.removeEmptySubOrgList(orgInfo.subOrgList)
}
}
return orgArray
},
removeEmptySubOrgList (orgArray) {
orgArray.forEach((orgInfo) => {
if (orgInfo && orgInfo.subOrgList) {
if (orgInfo.subOrgList.length === 0) {
orgInfo.subOrgList = undefined
} else {
this.removeEmptySubOrgList(orgInfo.subOrgList)
}
})
return orgArray;
},
async handleChangeAgency (value) {
let selAgency = this.$refs["myCascader"].getCheckedNodes()[0].data
// this.agencyName = this.$refs["myCascader"].getCheckedNodes()[0].label
this.agencyName = selAgency.name
this.agencyId = selAgency.agencyId
this.level = selAgency.level === 'grid' ? 'grid' : 'agency'
}
})
return orgArray;
},
// orgId
setListAgencyId_one(subOrgList) {
if (subOrgList[0].subOrgList && subOrgList[0].subOrgList.length > 0) {
this.setAgencyId_two(subOrgList[0].subOrgList)
} else {
return subOrgList[0].orgId
}
},
setAgencyId_two(subOrgList) {
if (subOrgList[0].subOrgList && subOrgList[0].subOrgList.length > 0) {
this.setListAgencyId_one(subOrgList[0].subOrgList)
} else {
return subOrgList[0].orgId
}
},
async handleChangeAgencytree() {
this.pageNo = 1
this.pageSize = 5
this.total = 0
this.dangqunList = [] //
this.xiaozuList = [] //
this.zhongxinhuList = [] //
this.tableData = []
this.axisStructId = ''
await this.getStructTree()
await this.getCount()
await this.getMapData()
},
},
}

Loading…
Cancel
Save