Procházet zdrojové kódy

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

maxiaoxiao před 1 rokem
rodič
revize
07346a6a7d

+ 1 - 1
src/components/Query/clickQuery/CockpitVector.vue

@@ -85,7 +85,7 @@ export default {
     },
     viewer_flag(newVal) {
       if (newVal) {
-        viewer.dataSources.removeAll();
+        // viewer.dataSources.removeAll();
         store.state.vectordataid = 0
       }
     },

+ 3 - 4
src/views/cockpit/common/VectorSpace/BoxCommonVector.vue

@@ -405,16 +405,15 @@ export default {
     },
     watch: {
         cockpit_vector(newVal, oldVal) {
-            console.log('newVal: ', newVal);
             this.title = newVal.title
             this.word = newVal.word
-            if (newVal.tableData.length > 0) {
+            if (newVal.tableData && newVal.tableData.length > 0) {
 
                 this.active_dableData = newVal.tableData
                 this.tableData = newVal.tableData
                 this.init_vector()
 
-            } else {
+            } else if(this.title){
                 this.init_vector()
             }
             if (newVal.goitem) {
@@ -433,7 +432,7 @@ export default {
             viewer.dataSources.add(BoxCommonVector_entity);
 
         });
-    }
+    },
 
 };
 </script>

+ 8 - 5
src/views/cockpit/hysy.vue

@@ -9,7 +9,7 @@
             </el-select>
         </div>
 
-        <div class="hy_tabs" v-show="left_value == options[1].value">
+        <div class="hy_tabs" v-show="left_value == options[0].value">
             <el-tabs v-model="activeName" @tab-click="handleClick">
                 <el-tab-pane label="期限监测" name="first">
                     <DiscountedAColumnar class="discounteda_columnar_hy" />
@@ -26,7 +26,7 @@
                 </el-tab-pane>
             </el-tabs>
         </div>
-        <div class="hy_tabs" v-show="left_value == options[0].value">
+        <div class="hy_tabs" v-show="left_value == options[1].value">
             <DiscountedAColumnar class="discounteda_columnar_hy nyyd" />
 
         </div>
@@ -44,10 +44,12 @@ export default {
         return {
             activeName: 'first',
             radio: 'cut',
-            left_value: 'lsyd',
+            left_value: 'lsyd_qxjc',
             options: [
+                { value: "lsyd_qxjc", label: "临时用地(期限检测)" },
+                { value: "lsyd_fkjc", label: "临时用地(复垦监测)" },
+
                 { value: "nzyd", label: "农转用地" },
-                { value: "lsyd", label: "临时用地" },
             ],
         };
     },
@@ -517,7 +519,8 @@ export default {
     width: 20vw;
     height: 11rem;
 }
-.nyyd{
+
+.nyyd {
     margin-top: 3.5rem;
 }
 </style>

+ 2 - 0
src/views/cockpit/tdsy.vue

@@ -243,6 +243,8 @@ export default {
       store.setViewerFlagb(false);
       store.state.vectorData = arr;
       store.setActiveToolBar(9);
+      store.setCockpit_vector({
+        title: "",})
     },
     drawWktPloygon(item, itemColor, id) {
       let geom = {

+ 1 - 0
src/views/cockpit/wpjg.vue

@@ -658,6 +658,7 @@ export default {
     color: #64daff;
     line-height: 16px;
     text-align: left;
+    font-size: 12px;
   }
 }
 

+ 239 - 0
src/views/cockpit/ydjc.vue

@@ -0,0 +1,239 @@
+<template>
+    <div class="ydjc">
+        <Title title='用地监管'></Title>
+        <div class="selectTab">
+            <el-select v-model="value" placeholder="请选择" :popper-append-to-body="false" @change="changeChartsLeft">
+                <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value">
+                </el-option>
+            </el-select>
+        </div>
+        <!-- 临时用地(期限检测) -->
+        <div v-show="value == options[0].value">
+            <div class="stacontent_ydjc">
+                <div class="item">
+                    <span class="dlabel">临时用地面积:</span>
+                    <span class="dvalue">21.24公顷</span>
+                </div>
+                <div class="item">
+                    <span class="dlabel"> 临时用地项目数:</span>
+                    <span class="dvalue">543个</span>
+                </div>
+            </div>
+        </div>
+        <!-- 临时用地(复垦监测) -->
+        <div v-show="value == options[1].value">
+            <div class="stacontent_ydjc">
+                <div class="item">
+                    <span class="dlabel">应复垦面积:</span>
+                    <span class="dvalue">21.24公顷</span>
+                </div>
+                <div class="item">
+                    <span class="dlabel"> 已复垦面积:</span>
+                    <span class="dvalue">21.24公顷</span>
+                </div>
+                <div class="item">
+                    <span class="dlabel"> 复垦率:</span>
+                    <span class="dvalue">10.67%</span>
+                </div>
+                <div class="item">
+                    <span class="dlabel"> 超期未复垦率:</span>
+                    <span class="dvalue">11.00%</span>
+                </div>
+            </div>
+        </div>
+    </div>
+</template>
+
+<script>
+//这里可以导入其他文件(比如:组件,工具js,第三方插件js,json文件,图片文件等等)
+import { QueryOne, QueryList } from "../../api/cockpitNew";
+import DiscountedAColumnar from './common/DiscountedAColumnar.vue';
+import Title from './common/Title.vue';
+export default {
+    components: { DiscountedAColumnar, Title },
+    data() {
+        return {
+            options: [
+                { value: "lsyd_qxjc", label: "临时用地(期限检测)" },
+                { value: "lsyd_fkjc", label: "临时用地(复垦监测)" },
+
+                { value: "nzyd", label: "农转用地" },
+            ],
+            value: 'lsyd_qxjc'
+        };
+    },
+    //监听属性 类似于data概念
+    computed: {},
+    //监控data中的数据变化
+    watch: {},
+    //方法集合
+    beforeCreate() { }, //生命周期 - 创建之前
+    created() {
+
+    }, //生命周期 - 创建完成(可以访问当前this实例)
+    beforeMount() { }, //生命周期 - 挂载之前
+    methods: {
+        changeChartsLeft(e) {
+            console.log('e: ', e);
+
+        }
+    },
+    mounted() {
+        const that = this;
+        this.$nextTick((res) => {
+            // this.init_info();
+
+        })
+    },
+    beforeUpdate() { }, //生命周期 - 更新之前
+    updated() { }, //生命周期 - 更新之后
+    beforeDestroy() { }, //生命周期 - 销毁之前
+    destroy() { },//生命周期 - 销毁完成
+    activated() { }, //若组件实例是 <KeepAlive> 缓存树的一部分,当组件被插入到 DOM 中时调用。
+    deactivated() { } //若组件实例是 <KeepAlive> 缓存树的一部分,当组件从 DOM 中被移除时调用。
+};
+</script>
+
+
+
+<style lang="scss"  scoped>
+.ydjc {
+
+    z-index: 100;
+}
+
+.title {
+
+    border-width: 0px;
+    width: 100%;
+    height: 36px;
+    background: no-repeat;
+    background-size: 100% 100%;
+    background-image: url("/static/images/overview/titlebox.gif");
+    /* display: -webkit-box; */
+    display: -ms-flexbox;
+    /* display: flex; */
+    -webkit-box-pack: justify;
+    -ms-flex-pack: justify;
+    justify-content: space-between;
+    position: relative;
+
+    span {
+        color: #fff;
+        font-size: 14px;
+        font-weight: bold;
+        position: absolute;
+        top: 0.3rem;
+        left: 2.5rem;
+    }
+}
+
+
+.selectTab {
+    position: absolute;
+    top: 3px;
+    right: 48px;
+    z-index: 100;
+
+    /deep/ .el-input__inner {
+        // padding-right: 30px;
+        width: 128px !important;
+        height: 24px !important;
+        line-height: 24px;
+        padding-left: 22px;
+        padding-right: 0px;
+        font-size: 12px;
+        color: #bcd3e5;
+        border: none;
+        // background: url("/static/images/overview/selectBg.png") no-repeat !important;
+        background-color: rgba(0, 0, 0, 0) !important;
+        background-size: 100% 100%;
+    }
+
+    /deep/ .el-input__icon {
+        line-height: 1;
+    }
+
+    /deep/ .el-input__suffix {
+        right: -36px;
+    }
+
+    /deep/ .el-select-dropdown__list {
+        color: #bcd3e5 !important;
+        background: linear-gradient(180deg,
+                rgba(3, 115, 177, 0) 11%,
+                rgba(3, 115, 177, 0.48) 100%);
+        border-image: linear-gradient(360deg,
+                rgba(75, 185, 250, 0.2),
+                rgba(75, 185, 250, 0.05)) 1 1 !important;
+        border: none;
+    }
+
+    /deep/ .el-select-dropdown__item.hover,
+    .el-select-dropdown__item:hover {
+        background-color: rgba(87, 163, 226, 0.5);
+    }
+
+    /deep/ .el-select-dropdown__item {
+        color: #ecf6ff;
+    }
+}
+
+/deep/ {
+    .el-select-dropdown__item.selected {
+        color: #409eff;
+    }
+}
+
+/deep/ .el-popper[x-placement^="bottom"] {
+    margin-top: 12px;
+    background: #163253;
+}
+
+/deep/ .el-select-dropdown {
+    border: none;
+}
+
+/deep/ .el-popper[x-placement^="bottom"] .popper__arrow::after {
+    border-bottom-color: #163253;
+    top: 0;
+}
+
+
+
+.stacontent_ydjc {
+    width: 100%;
+    height: 24px;
+    margin-top: 0.5rem;
+    margin-bottom: 1.5rem;
+
+    .item {
+        width: 49%;
+        height: 30%;
+        display: inline-block;
+        // border: #00FFFF 1px solid;
+    }
+
+    .cursor {
+        cursor: pointer;
+    }
+
+    .dlabel {
+        font-family: HarmonyOS Sans Naskh Arabic UI, HarmonyOS Sans Naskh Arabic UI;
+        font-weight: 400;
+        font-size: 14px;
+        color: #bcd3e5;
+        line-height: 24px;
+        text-align: left;
+    }
+
+    .dvalue {
+        font-family: HarmonyOS Sans SC, HarmonyOS Sans SC;
+        font-weight: bold;
+        color: #64daff;
+        line-height: 16px;
+        text-align: left;
+        font-size: 12px;
+    }
+}
+</style>

+ 113 - 5
src/views/siteselection/components/dkDetails.vue

@@ -1,6 +1,9 @@
 <template>
-  <div class="dkxq_Container">
-    {{ title }}
+  <div class="dkxq_Container" v-if="isDateilsShow">
+    <div class="sm-panel-header">
+      <span>{{ title }}</span>
+      <span class="closeBtn" @click="close">&times;</span>
+    </div>
     <pie
       v-if="title == '现状信息'"
       :class="`echart`"
@@ -8,18 +11,60 @@
       @echartClick="echartClick"
       :ref="`echartRef`"
     ></pie>
+    <div
+      v-loading="loading"
+      element-loading-text="拼命加载中"
+      element-loading-spinner="el-icon-loading"
+      element-loading-background="rgba(0, 0, 0, 0.8)"
+      class="loadingDiv"
+      v-if="title == '规划信息'"
+    >
+      <el-collapse
+        v-for="(value, index_item) in collapseList"
+        :key="index_item"
+        @change="handleChange"
+      >
+        <el-collapse-item
+          :title="'地块' + (index_item + 1)"
+          name="1"
+        >
+          <div
+            class="list_vector_multi"
+            v-for="(value_field, index_field) in value"
+            :key="index_field"
+            @click="go(value)"
+            v-if="value_field.filed != 'geom'"
+          >
+            <!-- v-if="value_field.filed != 'geom'" -->
+            <div class="filed_box">
+              {{ value_field.filedZH }}
+            </div>
+            :
+            <div class="filed_box">
+              {{ value_field.data }}
+            </div>
+          </div>
+        </el-collapse-item>
+      </el-collapse>
+    </div>
   </div>
 </template>
 
 <script>
 import pie from "@/components/echartsTemplate/pie.vue";
 import { AddHgxfxV1 } from "@/api/ghss/hgxfx.js";
+import { GetTableData } from "@/api/cockpitNew";
+// 使用
 export default {
   components: { pie },
   props: {},
   data() {
     return {
       title: "",
+      itemObj: {},
+      collapseList: [],
+      loading: true,
+      isDateilsShow:false
     };
   },
   methods: {
@@ -57,10 +102,47 @@ export default {
     setEchart(data, type) {
       console.log("res.data", this.$refs.echartRef);
       this.$nextTick(() => {
-        this.$refs.echartRef.setOptions({ data, type });
+        this.$refs.echartRef.setOptions({
+          data,
+          type,
+          max: 6,
+          legend_right: "20%",
+        });
       });
     },
     echartClick(name) {},
+
+    getCollapseList() {
+      this.loading = true
+      this.collapseList = []
+      function cutStringFromFirstSemiColon(str) {
+        var index = str.indexOf(";"); // 获取第一个分号的索引
+        if (index !== -1) {
+          return str.substring(index + 1); // 从分号开始截取到字符串末尾
+        }
+        return str; // 如果没有找到分号,返回原字符串
+      }
+
+      var resultString = cutStringFromFirstSemiColon(this.itemObj.geom);
+      // console.log(wkt,'wktwkt');
+      let obj = {
+        wkt: resultString,
+        id: "dd699f839bc04969ae2dc2e1964d0ad1",
+      };
+      GetTableData(obj).then((res) => {
+        let tempArr = res.data.child;
+
+        tempArr.forEach((item) => {
+          if (item.dataname == "权属") {
+            this.collapseList = item.data;
+          }
+        });
+        this.loading = false
+      });
+    },
+    close(){
+      this.isDateilsShow = false
+    }
   },
   mounted() {},
   computed: {},
@@ -69,7 +151,7 @@ export default {
 
 <style lang="scss">
 .dkxq_Container {
-  width: 430px;
+  width: 19rem;
   height: 600px;
   background-color: pink;
   position: fixed;
@@ -87,8 +169,34 @@ export default {
   overflow-x: hidden;
   overflow-y: auto;
   .echart {
-    width: 400px;
+    width: 19rem;
     height: 450px;
   }
 }
+
+.list_vector_multi {
+  background-image: url("/static/images/ghzc/内容框.png");
+
+  width: 18rem;
+  border-top: 1px solid #ccc;
+  font-size: 14px;
+  padding: 0.1rem 0rem 0.1rem 0rem;
+  border-left: 1px solid #ccc;
+
+  border-right: 1px solid #ccc;
+
+  // border-bottom:1px solid #CCC ;
+}
+
+.list_vector_multi:last-child {
+  border-bottom: 1px solid #ccc;
+}
+.filed_box {
+  display: inline-block;
+}
+.loadingDiv{
+  width: 100%;
+  // height: 100%;
+  height: calc(100% - 36px);
+}
 </style>

+ 7 - 4
src/views/siteselection/components/xzjg.vue

@@ -167,7 +167,7 @@ export default {
       arrww: [],
       tempdataSourcesId: null,
       xzjgBSM: "",
-      echarts: [],
+      itemObj: {},
     };
   },
   mounted() {
@@ -304,11 +304,16 @@ export default {
     },
     //规划信息
     planInfo(e, item) {
-      console.log(e, item, "规划");
+      this.$refs.dkDetails.itemObj = item
+      this.$refs.dkDetails.title = '规划信息'
+      this.$refs.dkDetails.isDateilsShow = true
+      this.$refs.dkDetails.getCollapseList()
     },
     //现状信息
     nowInfo(e, item) {
       this.$refs.dkDetails.show(item, "现状信息");
+      this.$refs.dkDetails.isDateilsShow = true
+
     },
 
     deleteprogramme(e, item) {
@@ -333,7 +338,6 @@ export default {
       this.bgList = [];
     },
     mapview(item) {
-      console.log(item);
       this.drawWktPloygon(item.geom, "#ff0000", item.id);
     },
 
@@ -373,7 +377,6 @@ export default {
     },
     //监听区域id的变化,用于删除上一次点击生成的geojson区域面
     tempdataSourcesId(newVal, oldVal) {
-      console.log(newVal, oldVal, "newVal, oldVal");
       if (oldVal) {
         viewer.dataSources.remove(dataSources[oldVal]);
       }

+ 5 - 2
src/views/viewer.vue

@@ -26,7 +26,7 @@
 
                 </div>
                 <div class="hysy_box">
-                    <HYSY ref="hysy_ref" />
+                    <ydjc ref="ydjc_ref" />
                 </div>
             </div>
 
@@ -43,6 +43,8 @@
 import KJZB from './cockpit/kjgh';
 import TDSC from './cockpit/tdsc';
 import HYSY from './cockpit/hysy';
+import YDHC from './cockpit/ydjc';
+
 import TDSY from './cockpit/tdsy';
 import BJXM from './cockpit/bjxm';
 import GDBH from './cockpit/gdbh';
@@ -59,10 +61,11 @@ import * as tdsy from "@/views/cockpit/js/tdsy";
 
 import { cockpitInfo } from '@/api/cockpit'
 import * as cockpit from "@/common/js/cockpit.js";
+import Ydjc from './cockpit/ydjc.vue';
 
 export default {
     name: 'viewer',
-    components: { KJZB, BJXM, TDSC, HYSY, TDSY, GDBH, STXF, WPJG, datePicker, JCBD, Boxcommon, InfoVector },
+    components: { KJZB, BJXM, TDSC, HYSY, TDSY, GDBH, STXF, WPJG, datePicker, JCBD, Boxcommon, InfoVector,YDHC, Ydjc },
     data() {
         return {
             params: {