5 changed files with 396 additions and 35 deletions
			
			
		| @ -0,0 +1,263 @@ | |||
| <template> | |||
|   <div> | |||
|     <div class="dialog-h-content scroll-h"> | |||
| 
 | |||
|       <div v-if="initLoading" | |||
|            class="m-row"> | |||
|         <div class="m-info"> | |||
|           <div class="info-prop"> | |||
|             <span class="info-title-2">所属组织:</span> | |||
|             <span>{{ dataForm.agencyName }}</span> | |||
|           </div> | |||
| 
 | |||
|           <div class="info-prop"> | |||
|             <span class="info-title-2">所属网格:</span> | |||
|             <span>{{ dataForm.gridName?dataForm.gridName:'--' }}</span> | |||
|           </div> | |||
| 
 | |||
|           <div class="info-prop"> | |||
|             <span class="info-title-2">小区名称:</span> | |||
|             <span>{{ dataForm.neighborHoodName}}</span> | |||
|           </div> | |||
| 
 | |||
|           <div class="info-prop"> | |||
|             <span class="info-title-2">小区编码:</span> | |||
|             <span>{{ dataForm.coding?dataForm.coding:'--'}}</span> | |||
|           </div> | |||
| 
 | |||
|           <div v-if="dataForm.qrcodeUrl" | |||
|                style="display: flex;flex-direction: column;"> | |||
|             <img style="margin-left: 70px;width: 200px;" | |||
|                  :src="dataForm.qrcodeUrl"> | |||
|             <a style="margin-left: 80px" | |||
|                :href="dataForm.qrcodeUrl" | |||
|                target="_blank">下载</a> | |||
|           </div> | |||
| 
 | |||
|           <div class="info-prop"> | |||
|             <span class="info-title-2">关联物业:</span> | |||
|             <span>{{ dataForm.propertyShow?dataForm.propertyShow:'--'}}</span> | |||
|           </div> | |||
|           <div class="info-prop"> | |||
|             <span class="info-title-2">实有楼栋:</span> | |||
|             <span>{{dataForm.realBuilding?dataForm.realBuilding:0 }}</span> | |||
|           </div> | |||
| 
 | |||
|           <div class="info-prop"> | |||
|             <span class="info-title-2">详细地址:</span> | |||
|             <span>{{ dataForm.address }}</span> | |||
|           </div> | |||
| 
 | |||
|           <div class="info-prop"> | |||
|             <span class="info-title-2">地图位置:</span> | |||
|             <div class="div_map"> | |||
| 
 | |||
|               <div id="app_detail_community"></div> | |||
| 
 | |||
|             </div> | |||
|           </div> | |||
| 
 | |||
|         </div> | |||
|       </div> | |||
| 
 | |||
|     </div> | |||
|     <div class="div-btn"> | |||
|       <el-button size="small" | |||
|                  @click="handleCancle">关 闭</el-button> | |||
| 
 | |||
|     </div> | |||
|   </div> | |||
| </template> | |||
| 
 | |||
| <script> | |||
| import { mapGetters } from 'vuex' | |||
| import { Loading } from 'element-ui' // 引入Loading服务 | |||
| import { requestPost } from '@/js/dai/request' | |||
| import daiMap from "@/utils/dai-map"; | |||
| var map | |||
| var search | |||
| var markers | |||
| var infoWindowList | |||
| let loading // 加载动画 | |||
| export default { | |||
|   data () { | |||
|     return { | |||
| 
 | |||
|       btnDisable: false, | |||
|       initLoading: false, | |||
| 
 | |||
|       dataForm: { | |||
|         neighborHoodName: '', // 小区名称【不超过50字】 | |||
|         agencyId: '', // 所属组织ID | |||
|         agencyName: '', | |||
|         gridId: '', //所属网格ID | |||
|         propertyId: '', //关联物业 | |||
|         address: '', //详细地址 | |||
|         remark: '', //备注【最大500字】 | |||
|         location: '', //坐标位置 | |||
|         longitude: '', //经度 | |||
|         latitude: '', //纬度 | |||
|         realBuilding: 0, | |||
|         coding: '', | |||
|         sysCoding: '' | |||
|       }, | |||
| 
 | |||
| 
 | |||
|     } | |||
|   }, | |||
|   components: {}, | |||
|   mounted () { | |||
| 
 | |||
|   }, | |||
| 
 | |||
|   methods: { | |||
|     handleCancle () { | |||
|       this.diaDestroy() | |||
|       this.$emit('diaDetailClose') | |||
| 
 | |||
|     }, | |||
|     diaDestroy () { | |||
|       if (map) { | |||
|         // map.destroy() | |||
|       } | |||
|     }, | |||
| 
 | |||
|     async initForm (row) { | |||
|       this.dataForm = JSON.parse(JSON.stringify(row)) | |||
| 
 | |||
|       let propertyShowList = [] | |||
|       this.dataForm.propertyList.forEach(element => { | |||
|         propertyShowList.push(element.name) | |||
|       }); | |||
| 
 | |||
|       this.dataForm.propertyShow = propertyShowList.join(',') | |||
| 
 | |||
|       this.initLoading = true | |||
|       let { latitude, longitude } = this.$store.state.user; | |||
|       console.log('lat' + latitude + ',lon' + longitude) | |||
|       if (this.dataForm.latitude && this.dataForm.longitude) { | |||
|         latitude = this.dataForm.latitude | |||
|         longitude = this.dataForm.longitude | |||
|       } | |||
|       if (!latitude || latitude == "" || latitude == "0") { | |||
|         latitude = 39.9088810666821; | |||
|         longitude = 116.39743841556731; | |||
|       } | |||
| 
 | |||
|       this.$nextTick(() => { | |||
|         if (!map) { | |||
|           this.initMap(latitude, longitude) | |||
|         } else { | |||
|           map.setCenter(latitude, longitude); | |||
|           map.setMarker(latitude, longitude); | |||
|         } | |||
| 
 | |||
|       }) | |||
| 
 | |||
|     }, | |||
| 
 | |||
|     // 地图初始化函数,本例取名为init,开发者可根据实际情况定义 | |||
|     initMap (latitude, longitude) { | |||
| 
 | |||
|       map = new daiMap( | |||
|         document.getElementById("app_detail_community"), | |||
|         { latitude, longitude }, | |||
|         { | |||
|           zoom: 16.2, // 设置地图缩放级别 | |||
|           pitch: 43.5, // 设置俯仰角 | |||
|           rotation: 45, // 设置地图旋转角度 | |||
|         } | |||
|       ); | |||
| 
 | |||
|       // // 监听地图平移结束 | |||
|       // map.on("dragend", (e) => { | |||
|       //   this.handleMoveCenter(e); | |||
|       // }); | |||
| 
 | |||
|       map.setCenter(latitude, longitude); | |||
|       map.setMarker(latitude, longitude); | |||
| 
 | |||
|     }, | |||
| 
 | |||
| 
 | |||
| 
 | |||
|     resetData () { | |||
| 
 | |||
|       this.dataForm = { | |||
|         neighborHoodName: '', // 小区名称【不超过50字】 | |||
|         agencyId: '', // 所属组织ID | |||
|         agencyName: '', | |||
|         gridId: '', //所属网格ID | |||
|         propertyId: '', //关联物业 | |||
|         address: '', //详细地址 | |||
|         remark: '', //备注【最大500字】 | |||
|         location: '', //坐标位置 | |||
|         longitude: '', //经度 | |||
|         latitude: '', //纬度 | |||
|         realBuilding: 0, | |||
|         coding: '', | |||
|         sysCoding: '' | |||
|       } | |||
| 
 | |||
|     }, | |||
|     // 开启加载动画 | |||
|     startLoading () { | |||
|       loading = Loading.service({ | |||
|         lock: true, // 是否锁定 | |||
|         text: '正在加载……', // 加载中需要显示的文字 | |||
|         background: 'rgba(0,0,0,.7)' // 背景颜色 | |||
|       }) | |||
|     }, | |||
|     // 结束加载动画 | |||
|     endLoading () { | |||
|       // clearTimeout(timer); | |||
|       if (loading) { | |||
|         loading.close() | |||
|       } | |||
|     } | |||
|   }, | |||
|   computed: { | |||
|     dataRule () { | |||
|       return { | |||
|         neighborHoodName: [ | |||
|           { required: true, message: '小区名称不能为空', trigger: 'blur' }, | |||
|           { | |||
|             min: 1, | |||
|             max: 50, | |||
|             message: '小区名称长度在 1 到 50个字符', | |||
|             trigger: 'blur' | |||
|           } | |||
|         ], | |||
|         agencyId: [ | |||
|           { required: true, message: '所属组织不能为空', trigger: 'blur' } | |||
|         ], | |||
|         gridId: [ | |||
|           { required: true, message: '所属网格不能为空', trigger: 'blur' } | |||
|         ], | |||
|         coding: [ | |||
|           { required: true, message: '小区编码不能为空', trigger: 'blur' } | |||
|         ], | |||
|         address: [ | |||
|           { required: true, message: '详细地址不能为空', trigger: 'blur' } | |||
|         ], | |||
|         longitude: [ | |||
|           { required: true, message: '坐标不能为空', trigger: 'blur' } | |||
|         ] | |||
|       } | |||
|     }, | |||
|     propertyRule () { | |||
|       name: [ | |||
|         { required: true, message: '物业名称不能为空', trigger: 'blur' } | |||
|         // { min: 1, max: 50, message: '小区名称长度在 1 到 50个字符', trigger: 'blur' } | |||
|       ] | |||
|     } | |||
|   }, | |||
|   props: {} | |||
| } | |||
| </script> | |||
| <style lang="scss" scoped > | |||
| @import "@/assets/scss/modules/management/detail-main.scss"; | |||
| </style> | |||
| 
 | |||
| 
 | |||
| 
 | |||
					Loading…
					
					
				
		Reference in new issue