Kaynağa Gözat

农业前端增加点位详情页面

wang_xy 2 yıl önce
ebeveyn
işleme
397ab8a4be

+ 8 - 0
src/api/datacenter.js

@@ -42,3 +42,11 @@ export function getFindAllZhanList(type,deptId) {
     method: 'get',
   })
 }
+
+//点击地图点位详情信息数据
+export function getPointDetails(id,type) {
+  return request({
+    url: '/center-agriculture/data/getPointDetails?id='+id+'&type='+type,
+    method: 'get',
+  })
+}

+ 0 - 3
src/views/bigdata/bigdata.vue

@@ -41,9 +41,6 @@
 			<!-- 第二纵向-->
 			<div class="bigdata-list wid-li-2 m-l-15">
 				<div class="bigdata-map mg-b-20">
-          <supermap ref="supermap" :mapDiv="'forestMap'" class="indexSupermapClass"
-                    :mapSite="{doubleClickZoom:false}" :codes="['9fa5']" :isSideBySide="false" @preview="preview" >
-          </supermap>
           <bigdataSupermap ref="bigdataSupermap" style="width: 100%;height: 59vh;" class="indexSupermapClass" :mapDiv="'bigdataMap'" dynamicPlotting="false"
                            :mapSite="{doubleClickZoom:false}" :codes="['9fa5']" :isSideBySide="false"/>
 				</div>

+ 26 - 14
src/views/datacenter.vue

@@ -28,7 +28,7 @@
       </div>
       <!-- 地图 -->
       <supermap ref="supermap" style="width: 100%;height: 100vh;" :mapDiv="'forestMap'" class="indexSupermapClass"
-                :mapSite="{doubleClickZoom:false}" :codes="['9fa5']" :isSideBySide="false"></supermap>
+                :mapSite="{doubleClickZoom:false}" :codes="['9fa5']" :isSideBySide="false" @showPointDetails="showPointDetails"></supermap>
       <!--      <button @click="showEventInfo1" style="position: absolute; right: 50%;top: 45%;z-index: 1000;">弹层事件演示用按钮-->
       <!--      </button>-->
       <!-- 右侧 -->
@@ -67,6 +67,7 @@
       </el-tooltip>
 
     </div>
+    <pointDetails ref="pointDetails"></pointDetails>
     <eventLocation ref="eventLocation"></eventLocation>
     <TVWall ref="TVWall"></TVWall>
   </div>
@@ -87,6 +88,8 @@ import vBottomMenu from '@/components/vBottomMenu.vue' //一体化公共底部
 import eventLocation from '@/components/eventLocation.vue' //事件定位弹窗
 import TVWall from '@/components/TVWall.vue' //电视墙弹窗
 
+import pointDetails from './pointDetails.vue' //点位详情页面
+
 // import echarts from 'echarts'
 let echarts = require('echarts')
 export default {
@@ -95,7 +98,8 @@ export default {
     vheader,
     vBottomMenu,
     eventLocation,
-    TVWall
+    TVWall,
+    pointDetails
   },
   created() {
     /** ----------------------------------底部按钮公用组件开始------------------------------------- */
@@ -132,8 +136,7 @@ export default {
       indentleft: '',
       indentright: '',
       indentText: '收起左右栏',
-      indentdisabled: false
-
+      indentdisabled: false,
     }
   },
 
@@ -324,6 +327,12 @@ export default {
     showEventInfo2() {
       this.eventInfoVisible2 = true
     },
+
+    showPointDetails(pointParam){
+      //事件信息弹出
+      this.$refs.pointDetails.showPointDetails(pointParam);
+    },
+
     getResource() {
       let that = this
       //获取左侧菜单列表
@@ -356,6 +365,7 @@ export default {
         that.deptGroupList = res.data.dept;
         that.supermapDianList = res.data.list;
         that.source = [];
+        that.markersList = [];
         //点击左侧右侧数据展示及横向柱状图
         if (res.data != null && res.data.dept.length > 0) {
           for (let i = 0; i < res.data.dept.length; i++) {
@@ -368,8 +378,10 @@ export default {
           if(type=='hezuoshe'||type=='nongji'||type=='zhibao'||type=='xubao'||type=='yangzhi'){
             for (let i = 0; i < res.data.list.length; i++) {
               let markersMap = {
-                lng: res.data.list[i].longitude,
-                lat: res.data.list[i].latitude,
+                // lng: res.data.list[i].longitude,
+                // lat: res.data.list[i].latitude,
+                lng: 124.391266,
+                lat: 43.318594,
                 icon: 'marker',
                 bindPopupHtml: '' +
                   '<div class="map-tip">' +
@@ -395,8 +407,8 @@ export default {
                   '     </div>' +
                   '   </span>' +
                   '</div>',
-                click: '',
-                parameter: '',
+                click: 'showPointDetails',
+                parameter: {id:res.data.list[i].id,type:type},
                 keepBindPopup: false,
                 isAggregation: false
               }
@@ -421,10 +433,10 @@ export default {
           if (res.data != null && res.data.length > 0) {
             for (let i = 0; i < res.data.length; i++) {
               let markersMap = {
-                lng: res.data[i].longitude,
-                lat: res.data[i].latitude,
-                // lng: 124.391266,
-                // lat: 43.318594,
+                // lng: res.data[i].longitude,
+                // lat: res.data[i].latitude,
+                lng: 124.391266,
+                lat: 43.318594,
                 icon: 'marker',
                 bindPopupHtml: '' +
                   '<div class="map-tip">' +
@@ -450,8 +462,8 @@ export default {
                   '     </div>' +
                   '   </span>' +
                   '</div>',
-                click: '',
-                parameter: '',
+                click: 'showPointDetails',
+                parameter: {id:res.data.list[i].id,type:type},
                 keepBindPopup: false,
                 isAggregation: false
               }

+ 18 - 18
src/views/eventdetailsdialog.vue

@@ -33,26 +33,26 @@
                 </div>
                 <!-- 应急预案end -->
                 <!-- 左侧资源 -->
-                <div class="leftbar" style="width:fit-content !important;bottom:0rem;left: 1rem; top: unset;">
-                  <div class="forthis">
-                    <dv-border-box-7 backgroundColor="#040b1f" :color="['#25335d', '#5baffd']">
-                      <div class="i-list-con">
-                        <div class="d-l-con-icon" style="flex-direction:row;flex-wrap: nowrap;">
-                          <div class="icon-con" style="width: fit-content !important;"
-                               v-for="(item,index) in resourcesList" @click="listResourceByWz(item.type)">
-                            <div class="iconfont icon icon-normal" :class="item.icon"></div>
-                            <div class="icon-text">
-                              <h5>{{ item.resourceName }}</h5>
-                            </div>
-                          </div>
-                          <el-input type="number" v-model="radius" style="width: 80px;" placeholder="请输入搜索半径"/>
-                        </div>
-                      </div>
+                <!--<div class="leftbar" style="width:fit-content !important;bottom:0rem;left: 1rem; top: unset;">-->
+                  <!--<div class="forthis">-->
+                    <!--<dv-border-box-7 backgroundColor="#040b1f" :color="['#25335d', '#5baffd']">-->
+                      <!--<div class="i-list-con">-->
+                        <!--<div class="d-l-con-icon" style="flex-direction:row;flex-wrap: nowrap;">-->
+                          <!--<div class="icon-con" style="width: fit-content !important;"-->
+                               <!--v-for="(item,index) in resourcesList" @click="listResourceByWz(item.type)">-->
+                            <!--<div class="iconfont icon icon-normal" :class="item.icon"></div>-->
+                            <!--<div class="icon-text">-->
+                              <!--<h5>{{ item.resourceName }}</h5>-->
+                            <!--</div>-->
+                          <!--</div>-->
+                          <!--<el-input type="number" v-model="radius" style="width: 80px;" placeholder="请输入搜索半径"/>-->
+                        <!--</div>-->
+                      <!--</div>-->
 
-                    </dv-border-box-7>
-                  </div>
+                    <!--</dv-border-box-7>-->
+                  <!--</div>-->
 
-                </div>
+                <!--</div>-->
                 <!-- 左侧资源end -->
                 <!-- 底部工具栏 -->
                 <!--   <div class="dia-left-btm-tool">

+ 79 - 0
src/views/pointDetails.vue

@@ -0,0 +1,79 @@
+<template>
+  <div class="visual-con">
+    <el-dialog title="站点详情" :visible.sync="pointDetailsVisible" customClass="customWidth" v-if="pointDetailsVisible">
+      <div><span>名称:{{retMap.name}}</span></div>
+      <div><span>地址:{{retMap.address}}</span></div>
+      <div><span>注册登记机关:{{retMap.registration_authority}}</span></div>
+      <div><span>注册时间:{{retMap.register_date}}</span></div>
+      <div><span>注册资金:{{retMap.legal_person}}</span></div>
+      <div><span>法人姓名:{{retMap.phone}}</span></div>
+      <div><span>联系电话:{{retMap.members_num}}</span></div>
+      <div><span>所属部门:{{retMap.dept_name}}</span></div>
+      <div><span>地址坐标:{{retMap.longitude}},{{retMap.latitude}}</span></div>
+      <div v-if="type=='hezuoshe'">
+        <div><span>租用年限:{{retMap.Lease_term}}</span></div>
+        <div><span v-for="dict in dict.type.task_source" v-if="dict.value == retMap.hzs_type">合作社类型:{{dict.label}}</span></div>
+        <div><span>成员人数:{{retMap.members_num}}</span></div>
+        <div><span>带动农民数:{{retMap.driven_farmers_num}}</span></div>
+        <div><span>征地地址:{{retMap.land_address}}</span></div>
+      </div>
+      <div v-if="type=='nongji'">
+        <div><span>经费来源:{{retMap.land_use_mode}}</span></div>
+        <div><span>举办单位:{{retMap.Lease_term}}</span></div>
+        <div><span>从业人数:{{retMap.members_num}}</span></div>
+      </div>
+      <div v-if="type=='xubao'">
+        <div><span>经费来源:{{retMap.land_use_mode}}</span></div>
+        <div><span>举办单位:{{retMap.lease_term}}</span></div>
+        <div><span>从业人数:{{retMap.members_num}}</span></div>
+      </div>
+      <div v-if="type=='yangzhi'">
+        <div><span v-for="dict in dict.type.farm_farmer_type" v-if="dict.value == retMap.breeder_type">养殖户类型:{{dict.label}}</span></div>
+        <div><span v-for="dict in dict.type.farm_breed_type" v-if="dict.value == retMap.type">养殖类型:{{dict.label}}</span></div>
+        <div><span>养殖品种:{{retMap.varieties}}</span></div>
+        <div><span>养殖数量:{{retMap.quantity}}</span></div>
+        <div><span>粪污处理占地面积:{{retMap.excrement_area}}㎡</span></div>
+        <div><span>粪污处理产物:{{retMap.excrement_product}}</span></div>
+        <div><span>粪污处理说明:{{retMap.excrement_explain}}</span></div>
+      </div>
+      <div v-if="type=='zhibao'">
+        <div><span>经费来源:{{retMap.land_use_mode}}</span></div>
+        <div><span>举办单位:{{retMap.Lease_term}}</span></div>
+        <div><span>从业人数:{{retMap.members_num}}</span></div>
+      </div>
+      <div><span>备注信息:{{retMap.remarks}}</span></div>
+    </el-dialog>
+  </div>
+
+</template>
+
+<script>
+import {getPointDetails} from '@/api/datacenter'
+export default {
+    dicts: ['farm_hzs_type','farm_farmer_type','farm_breed_type'],
+    name: "pointDetails",
+    data() {
+      return {
+        pointDetailsVisible:false,
+        retMap:{},
+        type:'',
+      }
+    },
+    created(){
+    },
+    methods: {
+      showPointDetails(pointParam) {
+        this.pointDetailsVisible=true;
+        this.type=pointParam.type;
+        getPointDetails(pointParam.id,pointParam.type).then(res => {
+          this.retMap = res.data;
+        })
+      },
+    },
+}
+
+</script>
+
+<style scoped>
+
+</style>