Procházet zdrojové kódy

Merge branch 'master' of http://114.244.114.158:8802/siwei/real3d-portalsite

lkk před 1 rokem
rodič
revize
6a3ab9c4d8

+ 2 - 2
src/components/Combinations/toolBar/toolBar.scss

@@ -56,8 +56,8 @@
     -ms-flex-pack: start;
     justify-content: flex-start;
     position: absolute;
-    top: 16px;
-    right: 234px;
+    top: 54px;
+    right: 1px;
     margin: 5px 0 0 5px;
     // background: url(/static/images/bigscreen/filter-bg.png) no-repeat;
     background-size: cover;

+ 4 - 4
src/components/Combinations/toolBar/toolBar.vue

@@ -1,7 +1,7 @@
 <template>
   <!-- 暂时隐藏工具栏 -->
-  <!-- <div v-if="ToolBarShow"> -->
-  <div v-if="false">
+  <div v-if="ToolBarShow">
+    <!-- <div v-if="true"> -->
 
     <!-- <div class="resourceTree" @click="choose(0)"></div> -->
     <div class="toolBar">
@@ -45,8 +45,8 @@
       <!-- </ul> -->
       <div style="display: none" class="sm-tool-btn" @click="toggleVisibility" :class="{ 'sm-tool-btn-only': !show }">
         <span class="iconfont" :class="!show
-            ? 'iconiEarth-R8-xiugai_shouqi'
-            : 'iconiEarth-R8-xiugai_zhankai'
+          ? 'iconiEarth-R8-xiugai_shouqi'
+          : 'iconiEarth-R8-xiugai_zhankai'
           "></span>
       </div>
     </div>

+ 1 - 1
src/components/Viewer/smViewer.scss

@@ -23,7 +23,7 @@
     height: 100% !important;
     position: absolute !important;
     left: 0% !important;
-    top: 9% !important;
+    top: 6% !important;
 }
 
 .cesiumbtn {

+ 8 - 7
src/components/echartsTemplate/3dBar.vue

@@ -35,7 +35,7 @@ let option = {
     axisLabel: {
       color: "#fff",
       rotate: 0,
-      interval: 0,//代表显示所有x轴标签显示//设置为 1,表示『隔一个标签显示一个标签』
+      interval: 0, //代表显示所有x轴标签显示//设置为 1,表示『隔一个标签显示一个标签』
     },
     // 不显示x轴刻度
     axisTick: {
@@ -44,7 +44,6 @@ let option = {
   },
   // 设置y轴
   yAxis: {
-    
     // 显示y轴
     axisLine: {
       show: false,
@@ -93,7 +92,7 @@ let seriesItem = {
             xAxisPoint: api.coord([api.value(0), 0]),
           },
           style: {
-            fill: colors[params.seriesIndex][0],
+            fill: colors[params.seriesIndex % 3][0],
             //   new echarts.graphic.LinearGradient(0, 0, 0, 1, [
             //     {
             //       offset: 0,
@@ -117,7 +116,7 @@ let seriesItem = {
             xAxisPoint: api.coord([api.value(0), 0]),
           },
           style: {
-            fill: colors[params.seriesIndex][1],
+            fill: colors[params.seriesIndex % 3][1],
             //   new echarts.graphic.LinearGradient(0, 0, 0, 1, [
             //     {
             //       offset: 0,
@@ -144,11 +143,11 @@ let seriesItem = {
             fill: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
               {
                 offset: 0,
-                color: colors[params.seriesIndex][2],
+                color: colors[params.seriesIndex % 3][2],
               },
               {
                 offset: 1,
-                color: colors[params.seriesIndex][3],
+                color: colors[params.seriesIndex % 3][3],
               },
             ]),
           },
@@ -243,10 +242,12 @@ export default {
       this.myChart.setOption(option);
     },
     options3d(v) {
+      option.grid.bottom = v.gridbottom;
       option.xAxis.data = v.xData;
+      option.series = [];
       v.yData.forEach((item, k) => {
         let o = cloneDeep(seriesItem); // JSON.parse(JSON.stringify(seriesItem));
-        // o.name = v.legend[k];
+        o.name = v.xData[k];
         o.data = item;
         // if (v.interval) {
         //   option.xAxis.axisLabel.interval = 0;

+ 6 - 9
src/components/echartsTemplate/3dPie.vue

@@ -19,7 +19,7 @@ let option = {
     itemHeight: 12, // 设置高度
     data: [],
     bottom: "40%",
-    right: "10%",
+    right: "2%",
 
     itemGap: 10,
     textStyle: {
@@ -101,14 +101,14 @@ export default {
     };
   },
   methods: {
-    setOptions(data) {
+    setOptions(data, boxHeight) {
       if (!this.myChart) {
         // var dom = document.getElementById("pie_echart");
         this.myChart = echarts.init(this.$refs.echart);
       }
-      this.initEchartXzqh(data);
+      this.initEchartXzqh(data, boxHeight);
     },
-    initEchartXzqh(optionsData) {
+    initEchartXzqh(optionsData, boxHeight) {
       let _this = this;
       option.legend.formatter = function (name) {
         const sItem = optionsData.find((item) =>
@@ -118,11 +118,10 @@ export default {
           return `{name|${name}}  {value|${sItem.value}}  {unit|${_this.$props.unit}} `;
           // return name + 'sItem.value';
         } else {
-          console.log("name",name2);
-
           return name;
         }
       };
+      option.grid3D.boxHeight = boxHeight || 1;
       const series = this.getPie3D(optionsData, 0.6);
       option.series = series;
 
@@ -341,9 +340,7 @@ export default {
       return series;
     },
   },
-  mounted() {
-
-  },
+  mounted() {},
 };
 </script>
 <style lang="scss" scoped>

Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 0 - 0
src/data/460200_full.json


+ 11 - 3
src/router/index.js

@@ -70,9 +70,17 @@ let routerPush = Router.prototype.push;
 Router.prototype.push = function push(location) {
     return routerPush.call(this, location).catch(err => err)
 }
-
-export default new Router({
+const router = new Router({
     mode: 'history', // 去掉url中的#
     scrollBehavior: () => ({ y: 0 }),
     routes: constantRoutes
-})
+})
+router.afterEach((to, from) => {
+
+    // // 三维报建
+    // if (to.path == "/checkmodel") {
+
+    // }
+
+})
+export default router;

+ 22 - 6
src/store/store.js

@@ -35,7 +35,7 @@ var store2 = {
         splitType: 'NONE',//分屏类型
         sceneLayerlist: [],
         flattenNames: [],//存储压平的名称数组
-        cockpit_date:null,
+        cockpit_date: null,
         cockpit_hysy: {
             text: {
                 xzqhdm_number: 0,
@@ -57,9 +57,23 @@ var store2 = {
                 bar: [],
             }
         },
-        regional_information:{
-            id:4602,
-            name:'',
+        regional_information: {
+            id: 4602,
+            name: '',
+        },
+        cockpit_gkzb: {
+            // 生态保护红线面积
+            mj: 0,
+            // 路域生态保护红线
+            ly_mj: 0,
+            // 近海岸面积
+            hy_mj: 0,
+            // 永久基本农田保护面积
+            yjjbntmj: 0,
+            // 城市开发边界
+            kfbjmj: 0,
+            // 覆盖城镇开发边界
+            bfb: 0,
         }
     },
     setisInitViewer(newValue) {
@@ -84,7 +98,7 @@ var store2 = {
     setS3MList(newValue) {//压平
         this.state.S3MList = newValue;
     },
-    setRegionalInformation(newValue){//行政区划信息存储
+    setRegionalInformation(newValue) {//行政区划信息存储
         this.state.regional_information = newValue;
     },
     setModelLayerList(newValue) {
@@ -178,8 +192,10 @@ var store2 = {
     },
     setCockpitTdsc(newValue) {
         this.state.cockpit_tdsc.flag = newValue;
-    },setCockpitDate(newValue) {
+    }, setCockpitDate(newValue) {
         this.state.cockpit_date = newValue;
+    }, setCockpitGkzb(newValue) {
+        this.state.cockpit_gkzb = newValue;
     },
 }
 

+ 23 - 25
src/views/cockpitNew1/gdbh.vue

@@ -29,8 +29,8 @@ export default {
         { name: "高标准农田", prop: "gzl_yjjbntmj", unit: "km²" }, //耕地保有量
         { name: "补充耕地项目", prop: "xzqhdm_number", unit: "个" },
         { name: "永久基本农田", prop: "yjjbntmj", unit: "km²" },
-        { name: "补充耕地面积", prop: "mj", unit: "km²" }
-      ]
+        { name: "补充耕地面积", prop: "mj", unit: "km²" },
+      ],
     };
   },
   //监听属性 类似于data概念
@@ -48,9 +48,9 @@ export default {
     GetQueryOne_nt(datas) {
       let params = {
         ...datas,
-        jscType: "jsc_gdbh_ztgh_nt"
+        jscType: "jsc_gdbh_ztgh_nt",
       };
-      QueryOne(params).then(res => {
+      QueryOne(params).then((res) => {
         this.sdata = { ...this.sdata, ...res.data };
       });
     },
@@ -58,9 +58,8 @@ export default {
       let params = {
         ...datas,
         jscType: "jsc_gdbh_ztgh_bc",
-        id: 4603
       };
-      QueryOne(params).then(res => {
+      QueryOne(params).then((res) => {
         this.sdata = { ...this.sdata, ...res.data };
       });
     },
@@ -68,29 +67,28 @@ export default {
       let optionsData = [];
       let params = {
         ...datas,
-        jscType: "jsc_gdbh_yelx_nt"
+        jscType: "jsc_gdbh_yelx_nt",
       };
-      QueryList(params).then(res => {
-        res.data.forEach(edata => {
+      QueryList(params).then((res) => {
+        res.data.forEach((edata) => {
           optionsData.push({ name: edata.dlbmmc, value: edata.yjjbntmj });
-          this.eData.yData.push([edata.xzqhdm_number, edata.zlmj, edata.tzje]);
         });
         this.$nextTick(() => {
-          this.$refs.echartRef.setOptions(optionsData);
+          this.$refs.echartRef.setOptions(optionsData, 1 / 100000);
         });
       });
-    }
+    },
   },
   mounted() {
-    const optionsData = [
-      { name: "水田", value: 50 },
-      { name: "水浇地", value: 20 },
-      { name: "旱地", value: 30 }
-    ];
-    this.$nextTick(() => {
-      this.$refs.echartRef.setOptions(optionsData);
-    });
-  }
+    // const optionsData = [
+    //   { name: "水田", value: 50 },
+    //   { name: "水浇地", value: 20 },
+    //   { name: "旱地", value: 30 },
+    // ];
+    // this.$nextTick(() => {
+    //   this.$refs.echartRef.setOptions(optionsData);
+    // });
+  },
 };
 </script>
 <style lang="scss" scoped>
@@ -99,14 +97,14 @@ export default {
   .content {
     // border: #00FFFF 1px solid;
     position: absolute;
-    left: 5%;
-    width: 400px;
+    left: 2%;
+    width: 98%;
     height: 140px;
     top: 10px;
   }
 
   .item {
-    width: 45%;
+    width: 50%;
     height: 45px;
     display: inline-block;
     // border: #00FFFF 1px solid;
@@ -137,7 +135,7 @@ export default {
   .text {
     display: inline-block;
     // border: #00FFFF 1px solid;
-    width: 100px;
+    width: calc(100% - 50px);
     margin-bottom: 4px;
 
     p {

+ 71 - 28
src/views/cockpitNew1/gkzb.vue

@@ -25,7 +25,7 @@
         </div>
         <div class="text">
           <p>永久基本农田保护</p>
-          <span>126.01</span>平方干米
+          <span>{{ store.state.cockpit_gkzb.yjjbntmj }}</span>平方干米
 
         </div>
       </div>
@@ -37,7 +37,9 @@
         </div>
         <div class="text">
           <p>生态保护红线</p>
-          <span>1518</span>平方干米
+          <span>
+            {{ store.state.cockpit_gkzb.mj }}
+          </span>平方干米
 
         </div>
       </div>
@@ -49,7 +51,7 @@
         </div>
         <div class="text">
           <p>城市开发边界</p>
-          <span>225.42</span>公顷
+          <span>{{ store.state.cockpit_gkzb.kfbjmj }}</span>平方干米
 
         </div>
       </div>
@@ -61,7 +63,7 @@
         </div>
         <div class="text">
           <p>陆域生态保护红线</p>
-          <span>777.37</span>公顷
+          <span>{{ store.state.cockpit_gkzb.ly_mj }}</span>平方干米
 
         </div>
       </div>
@@ -89,7 +91,7 @@
           <p>近岸海域海洋生态保护红线
 
           </p>
-          <span>740.63</span>公顷
+          <span>{{ store.state.cockpit_gkzb.hy_mj }}</span>平方干米
 
         </div>
       </div>
@@ -103,7 +105,7 @@
           <p>覆盖城镇开发边界
 
           </p>
-          <span>66.32</span>%
+          <span>{{ store.state.cockpit_gkzb.bfb }}</span>%
 
         </div>
       </div>
@@ -118,37 +120,78 @@ import { cockpitInfo } from '@/api/cockpit'
 export default {
   components: {},
   data() {
-    return {};
+    return {
+      yjjbntmj: 0,
+      kfbjmj: 0,
+      bfb: 0,
+      mj: 0,
+      ly_mj: 0,
+      hy_mj: 0,
+    };
   },
   //监听属性 类似于data概念
   computed: {},
   //监控data中的数据变化
   watch: {},
   //方法集合
-  methods: {},
+  methods: {
+    async initData() {
+      const that = this;
+      // console.log(store.state.cockpit_date, "store.cockpit_date");
+
+
+      let obj = {
+        // beginTime: store.state.cockpit_date[0],
+        // endTime: store.state.cockpit_date[1],
+        jscType: 'jsc_gkzb_ztgu_stbh',
+        id: '4602'
+      };
+      let data = await cockpitInfo(obj);
+
+
+      // that.mj = data.data[0].mj
+      // // 路域生态保护红线
+      // that.ly_mj = data.data[0].ly_mj
+      // // 近海岸面积
+      // that.hy_mj = data.data[0].hy_mj
+
+
+      let obj_yjjbntmj = {
+        jscType: 'jsc_gdbh_ztgh_nt',
+        id: '4602'
+      };
+      let obj_yjjbntmj_data = await cockpitInfo(obj_yjjbntmj);
+      // 永久基本农田保护面积
+      // that.yjjbntmj = obj_yjjbntmj_data.data[0].yjjbntmj;
+
+
+      let obj_kfbjmj = {
+        jscType: 'jsc_gkzb_ztgh_kfbj',
+        id: '4602'
+      };
+      let obj_kfbjmj_data = await cockpitInfo(obj_kfbjmj);
+      // // 城市开发边界
+      // that.kfbjmj = obj_kfbjmj_data.data[0].kfbjmj;
+      // // 覆盖城镇开发边界
+      // that.bfb = obj_kfbjmj_data.data[0].bfb * 100;
+
+      store.setCockpitGkzb({
+        mj: data.data[0].mj,// 生态保护红线面积
+        ly_mj: data.data[0].ly_mj,// 路域生态保护红线
+        hy_mj: data.data[0].hy_mj,//近海岸面积
+        yjjbntmj: obj_yjjbntmj_data.data[0].yjjbntmj,// 永久基本农田保护面积
+        kfbjmj: obj_kfbjmj_data.data[0].kfbjmj,// 城市开发边界
+        bfb: obj_kfbjmj_data.data[0].bfb * 100,// 覆盖城镇开发边界
+
+      });
+
+    }
+  },
   beforeCreate() { }, //生命周期 - 创建之前
   created() { }, //生命周期 - 创建完成(可以访问当前this实例)
   beforeMount() { }, //生命周期 - 挂载之前
-  async mounted() {
-    const that = this;
-    // console.log(store.state.cockpit_date, "store.cockpit_date");
-
-
-    // let obj = {
-    //   // beginTime: store.state.cockpit_date[0],
-    //   // endTime: store.state.cockpit_date[1],
-    //   jscType: 'jsc_gkzb_ztgu_stbh',
-    //   id: '4602'
-    // };
-    // let data = await cockpitInfo(obj);
-    // console.log(data, "data");
-
-    // // 生态保护红线面积
-    // data.data[0].mj
-    // // 路与生态保护红线
-    // data.data[0].ly_mj
-    // // 近海岸面积
-    // data.data[0].hy_mj
+  mounted() {
+    this.initData();
 
   }, //生命周期 - 挂在完成
   beforeUpdate() { }, //生命周期 - 更新之前

+ 12 - 6
src/views/cockpitNew1/hysy.vue

@@ -66,8 +66,7 @@ export default {
     //方法集合
     beforeCreate() { }, //生命周期 - 创建之前
     created() {
-        this.label_data();
-        this.echart_data();
+
     }, //生命周期 - 创建完成(可以访问当前this实例)
     beforeMount() { }, //生命周期 - 挂载之前
     methods: {
@@ -341,9 +340,11 @@ export default {
         },
         async label_data() {
             const that = this;
+            console.log(store.state.cockpit_date, "store.state.cockpit_date");
+
             let obj = {
-                beginTime: '20240101',
-                endTime: '20240501',
+                beginTime: store.state.cockpit_date[0],
+                endTime: store.state.cockpit_date[1],
                 jscType: 'jsc_hysyq_ztsh',
                 id: '4602'
             };
@@ -358,8 +359,8 @@ export default {
         async echart_data() {
             const that = this;
             let obj = {
-                beginTime: '20240101',
-                endTime: '20240601',
+                beginTime: store.state.cockpit_date[0],
+                endTime: store.state.cockpit_date[1],
                 jscType: 'jsc_hysyq_yelx',
                 id: '4602'
             }
@@ -382,6 +383,11 @@ export default {
         }
     },
     mounted() {
+        const that = this;
+        this.$nextTick((res) => {
+            that.label_data();
+            that.echart_data();
+        })
     },
     beforeUpdate() { }, //生命周期 - 更新之前
     updated() { }, //生命周期 - 更新之后

+ 17 - 9
src/views/cockpitNew1/serCenter.vue

@@ -4,7 +4,7 @@
       <!-- <div class="icon" :class="`icongdbh${i}`"></div> -->
       <div class="text">
         <p>{{ sd.name }}</p>
-        <span class="sdvalue">{{ sd.value || 0 }}</span>
+        <span class="sdvalue">{{ sdata[sd.props] || 0 }}</span>
         <span class="unit">{{ sd.unit }}</span>
       </div>
     </div>
@@ -19,13 +19,21 @@ export default {
   data() {
     return {
       sdlist: [
-        { name: "陆域", value: "", unit: "km²" },
-        { name: "海域", value: "", unit: "km²" },
-        { name: "海岸线", value: "", unit: "km²" },
-        { name: "耕地", value: "", unit: "km²" },
-        { name: "林地", value: "", unit: "km²" },
-        { name: "森林覆盖率", value: "", unit: "%" }
-      ]
+        { name: "陆域", props: "ly", unit: "km²" },
+        { name: "海域", props: "hy", unit: "km²" },
+        { name: "海岸线", props: "hax", unit: "km²" },
+        { name: "耕地", props: "gd", unit: "km²" },
+        { name: "林地", props: "ld", unit: "km²" },
+        { name: "森林覆盖率", props: "slfgl", unit: "%" },
+      ],
+      sdata: {
+        ly: 1621.4,
+        hy: 3226,
+        hax: 264.42,
+        gd: 121.4,
+        ld: 121.4,
+        slfgl: 21.4,
+      },
     };
   },
   //监听属性 类似于data概念
@@ -35,7 +43,7 @@ export default {
   //方法集合
 
   methods: {},
-  mounted() {}
+  mounted() {},
 };
 </script>
 <style lang="scss" scoped>

+ 55 - 37
src/views/cockpitNew1/stxf.vue

@@ -4,7 +4,7 @@
       <!-- #content="row" -->
       <div class="selectTab">
         <el-select
-          v-model="value"
+          v-model="tab"
           placeholder="请选择"
           :popper-append-to-body="false"
           @change="changeCharts"
@@ -19,26 +19,16 @@
         </el-select>
       </div>
     </template>
+    <div class="time1" v-if="tab == 'ssxf'">2023-2025年</div>
     <div class="stacontent">
-      <div class="item">
+      <div class="item" v-for="(sd, index) in sdlist[tab]" :key="index">
         <div class="itembg"></div>
-        <div class="text">综合整治项目</div>
-        <span>{{ sdata.xzqhdm_number || 0 }}</span>
-        个
-      </div>
-      <div class="item">
-        <div class="itembg"></div>
-        <div class="text">土地整治面积</div>
-        <span>{{ sdata.zlmj || 0 }}</span>
-        公顷
-      </div>
-      <div class="item">
-        <div class="itembg"></div>
-        <div class="text">总投资</div>
-        <span>{{ sdata.tzje || 0 }}</span>
-        万元
+        <div class="text">{{ sd.name }}</div>
+        <span>{{ sdata[tab][sd.prop] || 0 }}</span>
+        {{ sd.unit }}
       </div>
     </div>
+    <div class="time2" v-if="tab == 'ssxf'">截止2024年5月</div>
     <Bar3d id="stxf_echart" ref="echartRef"></Bar3d>
   </borderTemplate>
 </template>
@@ -56,20 +46,37 @@ export default {
       options: [
         { value: "tdxf", label: "土地综合整治" },
         { value: "ssxf", label: "山水工程" },
-        { value: "haxf", label: "海岸线保护" }
+        { value: "haxf", label: "海岸线保护" },
       ],
-      value: "tdxf",
+      tab: "ssxf",
       paramdatas: {},
-      sdata: {},
+      sdlist: {
+        tdxf: [
+          { name: "综合整治项目", prop: "xzqhdm_number", unit: "个" },
+          { name: "土地整治面积", prop: "zlmj", unit: "公顷" },
+          { name: "总投资", prop: "tzje", unit: "万元" },
+        ],
+        ssxf: [
+          { name: "山水项目", prop: "xzqhdm_number", unit: "个" },
+          { name: "整治面积", prop: "zlmj", unit: "公顷" },
+          { name: "总投资", prop: "tzje", unit: "万元" },
+        ],
+        haxf: [
+          { name: "海岸线长度", prop: "xzqhdm_number", unit: "千米" },
+          { name: "自然岸线保有率", prop: "zlmj", unit: "%" },
+          { name: "海岸线整治修复项目", prop: "tzje", unit: "个" },
+        ],
+      },
+      sdata: { tdxf: {}, ssxf: {}, haxf: {} },
       eData: {
         xData: ["农用地", "建设用地", "生态修复", "历史文化保护"],
         yData: [
           [10, 10, 10, 10],
           [10, 10, 30, 10],
-          [10, 10, 10, 40]
+          [10, 10, 10, 40],
         ],
-        legend: [""]
-      }
+        legend: [""],
+      },
     };
   },
   //监听属性 类似于data概念
@@ -83,16 +90,18 @@ export default {
     // //第二个图表
     setData(datas) {
       this.paramdatas = datas;
-      if (this.value == "ssxf") {
+      if (this.tab == "ssxf") {
         this.GetQueryOne(datas);
         this.GetQueryList(datas);
       } else {
-        this.sdata = { xzqhdm_number: "", zlmj: ",", tzje: "" };
+        this.sdata.tdxf = { xzqhdm_number: 100, zlmj: 0, tzje: 20 };
+        this.sdata.haxf = { xzqhdm_number: 40, zlmj: 30, tzje: 3 };
+        this.eData.gridbottom = "10%";
         this.eData.xData = ["农用地", "建设用地", "生态修复", "历史文化保护"];
         this.eData.yData = [
-          [10, 10, 10, 10],
-          [10, 10, 30, 10],
-          [10, 10, 10, 40]
+          [10, 10, 10],
+          [10, 10, 30],
+          [10, 10, 10],
         ];
         this.$nextTick(() => {
           this.$refs.echartRef.setOptions(this.eData);
@@ -102,21 +111,22 @@ export default {
     GetQueryOne(datas) {
       let params = {
         ...datas,
-        jscType: `jsc_stxf_ztgh_${this.value}` //"jsc_stxf_ztgh_ssxf"
+        jscType: `jsc_stxf_ztgh_${this.tab}`, //"jsc_stxf_ztgh_ssxf"
       };
-      QueryOne(params).then(res => {
-        this.sdata = res.data || {};
+      QueryOne(params).then((res) => {
+        this.sdata[this.tab] = res.data || {};
       });
     },
     GetQueryList(datas) {
       this.eData.xData = [];
       this.eData.yData = [];
+      this.eData.gridbottom = "40%";
       let params = {
         ...datas,
-        jscType: `jsc_stxf_ywlx_${this.value}` // "jsc_stxf_ywlx_ssxf"
+        jscType: `jsc_stxf_ywlx_${this.tab}`, // "jsc_stxf_ywlx_ssxf"
       };
-      QueryList(params).then(res => {
-        res.data.forEach(edata => {
+      QueryList(params).then((res) => {
+        res.data.forEach((edata) => {
           this.eData.xData.push(edata.jd_type);
           this.eData.yData.push([edata.xzqhdm_number, edata.zlmj, edata.tzje]);
         });
@@ -124,9 +134,9 @@ export default {
           this.$refs.echartRef.setOptions(this.eData);
         });
       });
-    }
+    },
   },
-  mounted() {}
+  mounted() {},
 };
 </script>
 <style lang="scss" scoped>
@@ -141,7 +151,7 @@ export default {
 }
 
 .item {
-  width: 112px;
+  width: calc(100% / 3); //112px;
   height: 44px;
   position: relative;
   text-align: center;
@@ -150,6 +160,7 @@ export default {
     height: 34px;
     position: absolute;
     top: 10px;
+    left: 10px;
     background: no-repeat;
     background-image: url("/static/images/overview/Tab.png");
   }
@@ -173,4 +184,11 @@ export default {
   //   left: -28%;
   //   top: 7%;
 }
+.time1,
+.time2 {
+  font-weight: bold;
+  font-size: 14px;
+  color: #bcd3e5;
+  margin-top: 10px;
+}
 </style>

+ 15 - 16
src/views/cockpitNew1/wpjg.vue

@@ -32,13 +32,13 @@ let rcolors = [
   "#62ECEC",
   "#FF7F48",
   "#1E803A",
-  "#D4E0FF"
+  "#D4E0FF",
 ];
 export default {
   components: { borderTemplate, sankey },
   data() {
     return {
-      sdata: {}
+      sdata: {},
     };
   },
   //监听属性 类似于data概念
@@ -54,41 +54,40 @@ export default {
     getQueryListyelx(datas) {
       let data = [];
       let links = [];
-
       let params = {
         ...datas,
-        jscType: "jsc_wpjc_yelx"
+        jscType: "jsc_wpjc_yelx",
       };
-      QueryList(params).then(res => {
-        res.data.forEach(edata => {
+      QueryList(params).then((res) => {
+        res.data.forEach((edata) => {
           if (edata.qlx_type_name && edata.hlx_type_name) {
             links.push({
               source: edata.qlx_type_name,
               target: edata.hlx_type_name,
-              value: edata.xzqdm_num
+              value: edata.xzqdm_num,
             });
-            if (data.findIndex(a => a.name == edata.qlx_type_name) < 0)
+            if (data.findIndex((a) => a.name == edata.qlx_type_name) < 0)
               data.push({ name: edata.qlx_type_name });
-            if (data.findIndex(a => a.name == edata.hlx_type_name) < 0)
+            if (data.findIndex((a) => a.name == edata.hlx_type_name) < 0)
               data.push({ name: edata.hlx_type_name });
+            this.$nextTick(() => {
+              this.$refs.echartRef.setOptions(data, links);
+            });
           }
         });
-        this.$nextTick(() => {
-          this.$refs.echartRef.setOptions(data, links);
-        });
       });
     },
     GetQueryListztsh(datas) {
       let params = {
         ...datas,
-        jscType: "jsc_wpjc_ztsh"
+        jscType: "jsc_wpjc_ztsh",
       };
-      QueryList(params).then(res => {
+      QueryList(params).then((res) => {
         this.sdata = res.data && res.data.length > 0 ? res.data[0] : {};
       });
-    }
+    },
   },
-  mounted() {}
+  mounted() {},
 };
 </script>
 <style lang="scss" scoped>

+ 32 - 19
src/views/map3d.vue

@@ -74,8 +74,8 @@
         <span>admin</span>
         <el-tooltip class="item" effect="dark" content="退出" placement="top">
           <i style="width: 24px;height: 24px;background-image: url('/static/images/overview/icon_LogOut.png'); cursor: pointer;"
-          @click="exit"></i>
-    </el-tooltip>
+            @click="exit"></i>
+        </el-tooltip>
       </div>
     </div>
     <div class="routerContainer">
@@ -91,11 +91,8 @@
     <div class="masking_bottom"></div>
     <div class="masking_right"></div>
     <div class="masking_right"></div> -->
-    <el-drawer :visible.sync="drawer" :with-header="false" :append-to-body="true" :show-close="false" >
-      <iframe
-        :src="aiModel"
-        style="width: 100%; height: 100%; position: absolute"
-      ></iframe>
+    <el-drawer :visible.sync="drawer" :with-header="false" :append-to-body="true" :show-close="false">
+      <iframe :src="aiModel" style="width: 100%; height: 100%; position: absolute"></iframe>
     </el-drawer>
 
   </div>
@@ -114,8 +111,8 @@ export default {
       formattedText: "",
       formattedTime: "",
       activeMenuId: 0,
-      drawer:false,
-      aiModel:window.aiModel
+      drawer: false,
+      aiModel: window.aiModel
     };
   },
   created() {
@@ -135,9 +132,22 @@ export default {
       this.$refs.routeViewRef["switch"]();
     },
     handleMenuSelect(item) {
-      console.log(item);
-
       this.$router.push({ path: item });
+
+      if (item == "/checkmodel") {
+        store.setToolBarShow(true); //显示工具栏
+        // this.$refs.routeViewRef["switch"]();
+
+      } else {
+        store.setToolBarShow(false); //显示工具栏
+        // this.$refs.routeViewRef["switch"]();
+
+      }
+
+
+
+
+
       // 菜单切换的时候取消左或者右高亮菜单
       // var lis = document.querySelectorAll('.el-menu-demo1 li');
       // console.log(lis, "lis");
@@ -229,6 +239,7 @@ export default {
   color: cornflowerblue;
   cursor: pointer;
 }
+
 .ai {
   position: absolute;
   right: 110px;
@@ -236,6 +247,7 @@ export default {
   color: cornflowerblue;
   font-size: 24px;
 }
+
 .user {
   width: 85px;
   height: 40px;
@@ -422,13 +434,13 @@ export default {
 
 .el-menu-demo {
   border: none !important;
-  height: 100%;
+  height: 5%;
   background-color: transparent;
   position: relative;
-  left: 8rem;
   background-color: rgba(4, 16, 36, 0) !important;
   position: fixed;
-  left: 14.5rem;
+  left: 9.3rem;
+
   top: 1rem;
   font-weight: 700;
 
@@ -443,10 +455,10 @@ export default {
 
 .el-menu-demo1 {
   border: none !important;
-  height: 100%;
+  height: 5%;
   background-color: transparent;
   position: fixed;
-  right: 21.9rem;
+  right: 16.9rem;
   top: 1.1rem;
   background-color: rgba(4, 16, 36, 0) !important;
   font-weight: 700;
@@ -461,7 +473,8 @@ export default {
     border: none;
     color: white;
     width: 120px;
-    margin-right: -1.2rem;
+    // margin-right: -1.2rem;
+    margin-right: 1rem;
   }
 
   .el-menu-item:hover {
@@ -492,7 +505,7 @@ export default {
   border: none;
   color: white;
   width: 120px;
-  margin-right: -1.2rem;
+  margin-right: 1rem;
 }
 
 .el-menu-item:hover {
@@ -512,7 +525,7 @@ export default {
   border: none;
   color: white;
   width: 120px;
-  margin-right: -1.2rem;
+  margin-right: 1rem;
 }
 
 .el-menu--popup .el-submenu {

+ 64 - 13
src/views/viewer.vue

@@ -2,7 +2,7 @@
     <div v-show="flag">
         <datePicker @dateChange="dateChange"></datePicker>
         <ser-center></ser-center>
-        <GKZB />
+        <GKZB ref="gkzb_ref"/>
         <BJXM />
         <TDSC />
         <HYSY ref="hysy_ref" />
@@ -53,9 +53,9 @@ export default {
         switch() {
             this.flag = !this.flag;
         },
-        setDatas(){
-            this.$refs.gdbh_ref.setData({ id: this.params.id });
+        setDatas() {
             this.$refs.gdbh_ref.setData({ id: this.params.id });
+            this.$refs.stxf_ref.setData({ id: this.params.id });
             this.$refs.wpjg_ref.setData(this.params);
         },
         dateChange(date) {
@@ -66,8 +66,8 @@ export default {
         async hysyq(address) {
             // 选中xzqh查询
             let obj = {
-                beginTime: '20240101',
-                endTime: '20240501',
+                beginTime: store.state.cockpit_date[0],
+                endTime: store.state.cockpit_date[1],
                 jscType: 'jsc_hysyq_ztsh',
                 id: address
             };
@@ -75,17 +75,16 @@ export default {
 
             let obg_text = {
                 xzqhdm_number: data.data[0].xzqhdm_number,
-                zhmj: data.data[0].zhmj,
+                zhmj: data.data[0].zhmj == undefined ? 0 : data.data[0].zhmj,
 
             }
-            console.log(obg_text, "obg_echart");
-
+            obg_text.zhmj == null ? 0 : obg_text.zhmj;
             store.setCockpitHysyText(obg_text);
 
             // 图表数据
             let obj_echart = {
-                beginTime: '20240101',
-                endTime: '20240501',
+                beginTime: store.state.cockpit_date[0],
+                endTime: store.state.cockpit_date[1],
                 jscType: 'jsc_hysyq_yelx',
                 id: address
             };
@@ -96,6 +95,12 @@ export default {
                 bar: data_echart.data.map(item => item.zhmj)
 
             }
+            console.log(obg_echart.x.length == 0, "obg_echart.x.length");
+
+            obg_echart.x.length == 0 ? obg_echart.x = ['渔业基础设施用海', '开放式养殖用海', '旅游基础设施用海', '浴场用海',
+                '游乐场用海'] : obg_echart.x = obg_echart.x;
+
+            obg_echart.bar.length == 0 ? obg_echart.bar = [0, 0, 0, 0, 0,] : obg_echart.bar = obg_echart.bar;
 
             store.setCockpitHysyEchart(obg_echart);
 
@@ -111,6 +116,49 @@ export default {
             that.$refs.hysy_ref["label_data"]();
             that.$refs.hysy_ref["echart_data"]();
         },
+        async gkzb_xzqh(address) {
+            let obj = {
+                // beginTime: store.state.cockpit_date[0],
+                // endTime: store.state.cockpit_date[1],
+                jscType: 'jsc_gkzb_ztgu_stbh',
+                id: address
+            };
+            let data = await cockpitInfo(obj);
+
+            let obj_yjjbntmj = {
+                jscType: 'jsc_gdbh_ztgh_nt',
+                id: address
+            };
+            let obj_yjjbntmj_data = await cockpitInfo(obj_yjjbntmj);
+            // 永久基本农田保护面积
+            // that.yjjbntmj = obj_yjjbntmj_data.data[0].yjjbntmj;
+
+
+            let obj_kfbjmj = {
+                jscType: 'jsc_gkzb_ztgh_kfbj',
+                id: address
+            };
+            let obj_kfbjmj_data = await cockpitInfo(obj_kfbjmj);
+            // // 城市开发边界
+            // that.kfbjmj = obj_kfbjmj_data.data[0].kfbjmj;
+            // // 覆盖城镇开发边界
+            // that.bfb = obj_kfbjmj_data.data[0].bfb * 100;
+            store.setCockpitGkzb({
+                mj: data.data[0].mj,// 生态保护红线面积
+                ly_mj: data.data[0].ly_mj,// 路域生态保护红线
+                hy_mj: data.data[0].hy_mj,//近海岸面积
+                yjjbntmj: obj_yjjbntmj_data.data[0].yjjbntmj,// 永久基本农田保护面积
+                kfbjmj: obj_kfbjmj_data.data[0].kfbjmj,// 城市开发边界
+                bfb: obj_kfbjmj_data.data[0].bfb * 100,// 覆盖城镇开发边界
+
+            });
+            console.log(store.state.cockpit_gkzb, "sadas");
+
+        },
+        async gkzb() {
+            const that = this;
+            that.$refs.gkzb_ref["initData"]();
+        },
         async pick_xzqh() {
             const that = this;
             const handler = new Cesium.ScreenSpaceEventHandler(viewer.scene.canvas);
@@ -174,7 +222,7 @@ export default {
                             that.hysyq(address);
                             // 驾驶舱土地收储
                             that.tdsc_xzqh(address);
-
+                            that.gkzb_xzqh(address);
 
                         } else {
 
@@ -200,6 +248,9 @@ export default {
                     that.hysyq_xzqh();
                     // 土地收储
                     that.tdsc();
+                    // 管控指标
+                    that.gkzb();
+
 
                 }
 
@@ -265,9 +316,9 @@ export default {
                         material: Cesium.Color.fromCssColorString(that.xzqh_color),
                         height: 100,
                         extrudedHeight: 450,
-                        outline : true,
+                        outline: true,
                         // outlineColor : Cesium.Color.BLACK
-                        outlineColor : Cesium.Color.fromCssColorString('#55A1E3')
+                        outlineColor: Cesium.Color.fromCssColorString('#55A1E3')
                     }
                 });
 

Některé soubory nejsou zobrazeny, neboť je v těchto rozdílových datech změněno mnoho souborů