Browse Source

修改地图加载方式;

feature
luyan 3 years ago
parent
commit
4e4e0ce593
  1. 174
      src/views/modules/base/community/buildForm.vue

174
src/views/modules/base/community/buildForm.vue

@ -2,46 +2,24 @@
<div>
<div class="dialog-h-content scroll-h">
<el-form ref="ref_form"
:inline="true"
:model="dataForm"
:rules="dataRule"
label-width="150px"
class="g-edit-form">
<el-form-item label="所属小区"
style="display: block">
<el-form ref="ref_form" :inline="true" :model="dataForm" :rules="dataRule" label-width="150px" class="g-edit-form">
<el-form-item label="所属小区" style="display: block">
<span>{{ agencyObj.agencyName }}{{ agencyObj.gridName }}{{ agencyObj.label }}</span>
</el-form-item>
<el-form-item label="楼栋名称"
prop="buildingName"
style="display: block">
<el-input class="u-edit-width-normal"
maxlength="10"
placeholder="请输入楼栋名称"
v-model="dataForm.buildingName">
<el-form-item label="楼栋名称" prop="buildingName" style="display: block">
<el-input class="u-edit-width-normal" maxlength="10" placeholder="请输入楼栋名称" v-model="dataForm.buildingName">
</el-input>
</el-form-item>
<el-form-item label="楼栋编码"
prop="coding"
style="display: block">
<el-input class="u-edit-width-normal"
maxlength="50"
placeholder="请输入楼栋编码"
v-model="dataForm.coding">
<el-form-item label="楼栋编码" prop="coding" style="display: block">
<el-input class="u-edit-width-normal" maxlength="50" placeholder="请输入楼栋编码" v-model="dataForm.coding">
</el-input>
<el-button style="margin-left: 10px"
type="text"
class="div-table-button--blue"
icon="el-icon-upload2"
size="small"
@click="handleCode">生成</el-button>
<el-button style="margin-left: 10px" type="text" class="div-table-button--blue" icon="el-icon-upload2"
size="small" @click="handleCode">生成</el-button>
</el-form-item>
<el-form-item label="楼栋类型"
prop="type"
style="display: block">
<el-form-item label="楼栋类型" prop="type" style="display: block">
<el-radio-group v-model="buildType">
<el-radio :label="'1'">商品房</el-radio>
@ -57,103 +35,55 @@
v-model="dataForm.sort"
label="排序"></el-input-number>
</el-form-item> -->
<el-form-item label="单元数"
style="display: block"
prop="totalUnitNum">
<el-input-number class="item_width_4"
v-model="dataForm.totalUnitNum"
:min="1"
:max="9999"
<el-form-item label="单元数" style="display: block" prop="totalUnitNum">
<el-input-number class="item_width_4" v-model="dataForm.totalUnitNum" :min="1" :max="9999"
label="单元数"></el-input-number>
</el-form-item>
<el-form-item label="层数"
style="display: block"
prop="totalFloorNum">
<el-input-number class="item_width_4"
v-model="dataForm.totalFloorNum"
:min="0"
:max="9999"
<el-form-item label="层数" style="display: block" prop="totalFloorNum">
<el-input-number class="item_width_4" v-model="dataForm.totalFloorNum" :min="0" :max="9999"
label="层数"></el-input-number>
</el-form-item>
<el-form-item label="总户数"
style="display: block"
prop="totalHouseNum">
<el-input-number class="item_width_4"
v-model="dataForm.totalHouseNum"
:min="0"
:max="9999"
<el-form-item label="总户数" style="display: block" prop="totalHouseNum">
<el-input-number class="item_width_4" v-model="dataForm.totalHouseNum" :min="0" :max="9999"
label="总户数"></el-input-number>
</el-form-item>
<el-form-item label="人口数"
style="display: block"
prop="realPerson">
<el-input-number class="item_width_4"
v-model="dataForm.realPerson"
:min="0"
:max="9999"
<el-form-item label="人口数" style="display: block" prop="realPerson">
<el-input-number class="item_width_4" v-model="dataForm.realPerson" :min="0" :max="9999"
label="人口数"></el-input-number>
</el-form-item>
<el-form-item label="楼长姓名"
prop="buildingLeaderName"
style="display: block">
<el-input class="u-edit-width-normal"
placeholder="请输入楼长姓名"
v-model="dataForm.buildingLeaderName">
<el-form-item label="楼长姓名" prop="buildingLeaderName" style="display: block">
<el-input class="u-edit-width-normal" placeholder="请输入楼长姓名" v-model="dataForm.buildingLeaderName">
</el-input>
</el-form-item>
<el-form-item label="楼长电话"
prop="buildingLeaderMobile"
style="display: block">
<el-input class="u-edit-width-normal"
type='number'
placeholder="请输入楼长电话"
<el-form-item label="楼长电话" prop="buildingLeaderMobile" style="display: block">
<el-input class="u-edit-width-normal" type='number' placeholder="请输入楼长电话"
v-model="dataForm.buildingLeaderMobile">
</el-input>
</el-form-item>
<el-form-item label="地图位置"
prop="longitude"
style="display: block">
<el-form-item label="地图位置" prop="longitude" style="display: block">
<div class="u-edit-width-normal m-edit-map">
<el-select v-model="searchValue"
filterable
class="u-edit-width-normal m-edit-map-search"
remote
:reserve-keyword="true"
placeholder="请输入关键词"
:remote-method="remoteMethod"
:loading="loading">
<el-option v-for="(item,index) in searchOptions"
@click.native="handleClickKey(index)"
:key="item.value"
:label="item.label"
:value="item.value">
<el-select v-model="searchValue" filterable class="u-edit-width-normal m-edit-map-search" remote
:reserve-keyword="true" placeholder="请输入关键词" :remote-method="remoteMethod" :loading="loading">
<el-option v-for="(item, index) in searchOptions" @click.native="handleClickKey(index)" :key="item.value"
:label="item.label" :value="item.value">
</el-option>
</el-select>
<div id="app_build"
class="m-map-item"></div>
<div id="app_build" class="m-map-item"></div>
</div>
</el-form-item>
<el-form-item label="楼栋地址"
prop="coordinatePosition"
style="display: block">
<el-form-item label="楼栋地址" prop="coordinatePosition" style="display: block">
<!-- <span>{{ dataForm.coordinatePosition }}</span> -->
<el-input class="u-edit-width-normal"
placeholder="请选择楼栋地址"
v-model="dataForm.coordinatePosition" />
<el-input class="u-edit-width-normal" placeholder="请选择楼栋地址" v-model="dataForm.coordinatePosition" />
</el-form-item>
</el-form>
</div>
<div class="m-edit-btn">
<el-button size="small"
@click="handleCancle"> </el-button>
<el-button size="small"
type="primary"
class="diy-button--blue"
:disabled="btnDisable"
@click="handleComfirm"> </el-button>
<el-button size="small" @click="handleCancle"> </el-button>
<el-button size="small" type="primary" class="diy-button--blue" :disabled="btnDisable" @click="handleComfirm">
</el-button>
</div>
</div>
</template>
@ -169,7 +99,7 @@ var markers
var infoWindowList
let loading //
export default {
data () {
data() {
return {
formType: 'add', // addeditdetail
searchOptions: [],
@ -208,12 +138,12 @@ export default {
}
},
components: {},
mounted () {
mounted() {
},
methods: {
async initForm (type, row, agencyObj) {
async initForm(type, row, agencyObj) {
this.$refs.ref_form.resetFields();
let { latitude, longitude } = this.$store.state.user;
this.agencyObj = agencyObj
@ -233,16 +163,11 @@ export default {
this.dataForm.longitude = longitude
}
this.$nextTick(() => {
if (!map) {
this.initMap(this.dataForm.latitude, this.dataForm.longitude);
} else {
map.setCenter(this.dataForm.latitude, this.dataForm.longitude);
map.setMarker(this.dataForm.latitude, this.dataForm.longitude);
}
})
},
async handleComfirm () {
async handleComfirm() {
this.btnDisable = true
setTimeout(() => {
this.btnDisable = false
@ -258,19 +183,16 @@ export default {
})
},
async handleCode () {
async handleCode() {
const { data, code, msg } = await requestPost(
"/actual/base/communityBuilding/getBuildingCoding/" + this.dataForm.neighborHoodId);
console.log('data----', data)
console.log('code----', code)
console.log('msg----', msg)
if (msg == "success" && code == 0) {
this.dataForm.coding = data.coding
this.dataForm.sysCoding = data.sysCoding
}
},
async addBuild () {
async addBuild() {
if (this.dataForm.buildingLeaderMobile) {
const regPhone = /^1(3|4|5|6|7|8|9)\d{9}$/; //
if (this.dataForm.buildingLeaderMobile && regPhone.test(this.dataForm.buildingLeaderMobile) === false) {
@ -288,7 +210,6 @@ export default {
url = '/actual/base/communityBuilding/saveCommunityBuilding'
} else {
url = '/actual/base/communityBuilding/updateCommunityBuilding'
this.dataForm.buildingId = this.buildingId
}
@ -310,14 +231,13 @@ export default {
},
handleCancle () {
handleCancle() {
this.resetData()
this.$emit('dialogCancle')
},
// init
initMap (latitude, longitude) {
initMap(latitude, longitude) {
map = new daiMap(
document.getElementById("app_build"),
{ latitude, longitude },
@ -339,7 +259,7 @@ export default {
},
async handleMoveCenter () {
async handleMoveCenter() {
//
const { lat, lng } = map.getCenter();
this.dataForm.latitude = lat;
@ -355,7 +275,7 @@ export default {
}
},
async remoteMethod (query) {
async remoteMethod(query) {
if (query !== '') {
this.loading = true;
@ -386,7 +306,7 @@ export default {
}
},
handleClickKey (index) {
handleClickKey(index) {
let selPosition = this.resultList[index]
let lonlat = selPosition.lonlat.split(" ")
map.setCenter(lonlat[1], lonlat[0]);
@ -397,7 +317,7 @@ export default {
},
resetData () {
resetData() {
this.searchValue = ''
this.searchOptions = []
this.resultList = []
@ -426,7 +346,7 @@ export default {
}
},
//
startLoading () {
startLoading() {
loading = Loading.service({
lock: true, //
text: '正在加载……', //
@ -434,7 +354,7 @@ export default {
})
},
//
endLoading () {
endLoading() {
// clearTimeout(timer);
if (loading) {
loading.close()
@ -442,7 +362,7 @@ export default {
}
},
computed: {
dataRule () {
dataRule() {
return {
buildingName: [
{ required: true, message: '楼栋名称不能为空', trigger: 'blur' },

Loading…
Cancel
Save