Browse Source

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

lkk 1 year ago
parent
commit
5eb21ab92f

+ 17 - 1
src/api/ghss/hgxfx.js

@@ -6,7 +6,8 @@ const hgxfxApi = {
     GetPage: '/apply/hgxfx/GetPage',
     GetScx: '/apply/hgxfx/GetScxList',
     UpdateScx: '/apply/hgxfx/UpdateScx',
-    ShapeUpload:'/file/uploadShpZip'
+    ShapeUpload:'/file/uploadShpZip',
+    GetLog: '/apply/hgxfx/GetLog',
 }
 
 /**
@@ -24,6 +25,21 @@ export function ShapeUpload(parameter) {
         }
     })
 }
+/**
+ * 根据任务编号查询任务
+ * @param parameter
+ * @returns {*}
+ */
+export function GetLog(parameter) {
+    return request({
+        method: 'get',
+        url: hgxfxApi.GetLog,
+        params: parameter,
+        headers: {
+            'Content-Type': 'application/json;charset=UTF-8'
+        }
+    })
+}
 /**
  * 登录
  * @param parameter

+ 11 - 7
src/views/cockpit/gkzb.vue

@@ -13,7 +13,7 @@
         </div>
         <div class="text">
           <p>耕地保护目标</p>
-          <span>{{ store.state.cockpit_gkzb.tbmj_ys }}</span>平方干米
+          <span>{{ store.state.cockpit_gkzb.tbmj_ys }}</span>k㎡
 
         </div>
       </div>
@@ -25,7 +25,7 @@
         </div>
         <div class="text">
           <p>永久基本农田保护</p>
-          <span>{{ store.state.cockpit_gkzb.yjjbntmj }}</span>平方干米
+          <span>{{ store.state.cockpit_gkzb.yjjbntmj }}</span>k㎡
 
         </div>
       </div>
@@ -39,7 +39,7 @@
           <p>生态保护红线</p>
           <span>
             {{ store.state.cockpit_gkzb.mj }}
-          </span>平方干米
+          </span>k㎡
 
         </div>
       </div>
@@ -51,7 +51,7 @@
         </div>
         <div class="text">
           <p>城市开发边界</p>
-          <span>{{ store.state.cockpit_gkzb.kfbjmj }}</span>平方干米
+          <span>{{ store.state.cockpit_gkzb.kfbjmj }}</span>k㎡
 
         </div>
       </div>
@@ -66,7 +66,7 @@
           <p>己入库控规范围
 
           </p>
-          <span>{{ store.state.cockpit_gkzb.ghdkmj }}</span>平方干米
+          <span>{{ store.state.cockpit_gkzb.ghdkmj }}</span>k㎡
 
         </div>
       </div>
@@ -91,14 +91,14 @@
           <p>己入库控规范围
 
           </p>
-          <span>123.124</span>k㎡
+          <span>{{ store.state.cockpit_gkzb.ghdkmj }}</span>k㎡
 
         </div>
         <div class="text">
           <p>覆盖城镇开发边界
 
           </p>
-          <span>123.23</span>k㎡
+          <span>{{ store.state.cockpit_gkzb.bfb }}</span>%
 
         </div>
       </div>
@@ -287,6 +287,10 @@ export default {
   width: 15rem;
   margin-left: 6rem;
 
+  p {
+    font-size: 12px;
+  }
+
   .text {
     width: 115px;
 

+ 170 - 3
src/views/cockpit/jcbd.vue

@@ -2,7 +2,87 @@
     <div class="jcbd">
         <div class="title">
             <div class="icon"></div>
-            <span>管控指标</span>
+            <span>基础本底</span>
+        </div>
+
+
+        <!-- <div class="content">
+            <div class="item">
+                <div class="icon">
+                    <div class="icon_zxkg">
+
+                    </div>
+                </div>
+                <div class="text">
+                    <span>{{ store.state.cockpit_gkzb.tbmj_ys }}</span>k㎡
+                </div>
+            </div>
+            <div class="item">
+                <div class="icon">
+                    <div class="icon_zxkg">
+
+                    </div>
+                </div>
+                <div class="text">
+                    <span>{{ store.state.cockpit_gkzb.tbmj_ys }}</span>k㎡
+                </div>
+            </div>
+            <div class="item">
+                <div class="icon">
+                    <div class="icon_zxkg">
+
+                    </div>
+                </div>
+                <div class="text">
+                    <span>{{ store.state.cockpit_gkzb.tbmj_ys }}</span>k㎡
+                </div>
+            </div>
+            <div class="item">
+                <div class="icon">
+                    <div class="icon_zxkg">
+
+                    </div>
+                </div>
+                <div class="text">
+                    <span>{{ store.state.cockpit_gkzb.tbmj_ys }}</span>k㎡
+                </div>
+            </div>
+            <div class="item">
+                <div class="icon">
+                    <div class="icon_zxkg">
+
+                    </div>
+                </div>
+                <div class="text">
+                    <span>{{ store.state.cockpit_gkzb.tbmj_ys }}</span>k㎡
+                </div>
+            </div>
+            <div class="item">
+                <div class="icon">
+                    <div class="icon_zxkg">
+
+                    </div>
+                </div>
+                <div class="text">
+                    <span>{{ store.state.cockpit_gkzb.tbmj_ys }}</span>k㎡
+                </div>
+            </div>
+        </div> -->
+
+        <div class="content">
+            <div class="item" v-for="(item, index) in obj">
+                <div class="icon">
+                    <div class="icon_zxkg" :style="{
+                        'background-image': 'url(' + item.img + ')',
+
+                    }">
+
+                    </div>
+                </div>
+                <div class="text">
+                    <span>{{ item.value }}</span>k㎡
+                </div>
+            </div>
         </div>
     </div>
 </template>
@@ -13,7 +93,35 @@
 export default {
     components: {},
     data() {
-        return {};
+        return {
+            obj: [
+                {
+                    name: "陆域",
+                    img: "/static/images/overview/jcbd_ly.png",
+                    value: 1233.32
+                }, {
+                    name: "海域",
+                    img: "/static/images/overview/jcbd_hy.png",
+                    value: 1233.32
+                }, {
+                    name: "海岸线",
+                    img: "/static/images/overview/jcbd_hax.png",
+                    value: 1233.32
+                }, {
+                    name: "耕地",
+                    img: "/static/images/overview/jcbd_gd.png",
+                    value: 1233.32
+                }, {
+                    name: "林地",
+                    img: "/static/images/overview/jcbd_ld.png",
+                    value: 1233.32
+                }, {
+                    name: "深林覆盖率",
+                    img: "/static/images/overview/jcbd_lyslfgl.png",
+                    value: 1233.32
+                },
+            ]
+        };
     },
     //监听属性 类似于data概念
     computed: {},
@@ -48,7 +156,6 @@ export default {
     -webkit-box-shadow: none;
     box-shadow: none;
     z-index: 100;
-    border: 1px solid red;
 }
 
 .title {
@@ -76,4 +183,64 @@ export default {
         bottom: 0.5rem;
     }
 }
+
+
+.content {
+    position: absolute;
+    left: 1%;
+    width: 100%;
+    height: 75%;
+    top: 28%;
+}
+
+.item {
+    width: 30%;
+    height: 30%;
+    display: inline-block;
+    position: relative;
+    float: left;
+    margin-bottom: 1rem;
+}
+
+.icon {
+    width: 50px;
+    padding: 1.5%;
+    border-radius: 8px;
+    display: inline-block;
+    height: 50px
+}
+
+.icon_zxkg {
+    background: no-repeat 50%;
+    background-image: url("/static/images/overview/jcbd_ly.png");
+    /* border: #00FFFF 1px solid; */
+    width: 40px;
+    height: 40px;
+    display: inline-block;
+
+}
+
+.text {
+    display: inline-block;
+    width: 74px;
+    position: relative;
+    bottom: 2.2rem;
+    left: 2.8rem;
+
+    p {
+        font-kerning: normal;
+        font-family: 'Arial Negreta', 'Arial Normal', 'Arial';
+        font-weight: 700;
+        font-style: normal;
+        font-size: 14px;
+        color: #FFFFFF;
+    }
+
+    span {
+        font-family: 'Arial Negreta', 'Arial Normal', 'Arial';
+        font-weight: 700;
+        font-style: normal;
+        color: #68F4FB;
+    }
+}
 </style>

+ 2 - 10
src/views/complianceAnalysis/components/hgxsc.vue

@@ -68,11 +68,7 @@ export default {
   components: {
     range,
   },
-  props: {
-    activeTabs: {
-      type: String,
-    },
-  },
+  props: {},
 
   data() {
     return {
@@ -268,11 +264,7 @@ export default {
       });
     },
   },
-  watch: {
-    activeTabs(newValue) {
-      if (newValue != "hgxsc") this.reset();
-    },
-  },
+  watch: {},
 };
 </script>
 

+ 7 - 12
src/views/complianceAnalysis/components/lsjl.vue

@@ -53,7 +53,7 @@
               type="primary"
               size="mini"
               style="margin-left: 5px"
-              @click="checkDetails(item)"
+              @click.stop="checkDetails(item)"
               >结果</el-button
             >
             <el-button
@@ -86,12 +86,12 @@ export default {
     rzBsm: {
       type: String,
     },
-    activeTabs: {
-      type: String,
-    },
     historyList: {
       type: Array,
     },
+    type: {
+      type: String,
+    },
   },
   data() {
     return {
@@ -112,7 +112,7 @@ export default {
     // this.getData();
     if (this.historyList) {
       this.datalist = this.historyList;
-    }else{
+    } else {
       this.datalist = hgxfx.datalist;
     }
   },
@@ -147,8 +147,8 @@ export default {
       //   if (res.success) {
       // this.$emit("updateParent", "scjgObj=JSON.parse(JSON.stringify(res.data))
       // this.$emit("updateParent", "scjgObj=JSON.parse(JSON.stringify(res.data))
-      this.$emit("updateParent", "activeTabs", "scjg");
-      this.$emit("updateXZJG", "activeTabs", "xzjg");
+      let next = this.$props.type == "hgxfx" ? "scjg" : "xzjg";
+      this.$emit("updateParent", "activeTabs", next);
       console.log(555555, item);
       //   }
       // });
@@ -199,11 +199,6 @@ export default {
     },
   },
   watch: {
-    activeTabs(newValue) {
-      if (newValue != "lsjl") {
-        viewer.dataSources.removeAll();
-      }
-    },
     rzBsm() {
       this.changeForm();
     },

+ 120 - 0
src/views/complianceAnalysis/components/rzDtails.vue

@@ -0,0 +1,120 @@
+<template>
+  <div>
+    <el-dialog
+      :title="rzMc"
+      v-model="dialog"
+      width="600px"
+      :before-close="handleClose"
+    >
+      <el-scrollbar class="logs height-350 max-width">
+        <el-timeline class="max-box box-sizing">
+          <el-timeline-item
+            v-for="item in data"
+            :key="item.bsm"
+            :timestamp="item.rzsj"
+            :type="
+              item.rzlx == 'info'
+                ? 'success'
+                : item.rzlx == 'warning'
+                ? 'warning'
+                : 'danger'
+            "
+          >
+            <div class="" style="white-space: normal">
+              {{ item.rzlr }}
+            </div>
+          </el-timeline-item>
+        </el-timeline>
+      </el-scrollbar>
+      <template #footer>
+        <span class="dialog-footer">
+          <el-button @click="handleClose" class="btn-style">确 定</el-button>
+        </span>
+      </template>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import { GetLog } from "@/api/ghss/hgxfx.js";
+export default {
+  props: {
+    rzBsm: {
+      type: String,
+    },
+    rzMc: {
+      type: String,
+    },
+  },
+  data() {
+    return {
+      data: [],
+      dialog: false,
+      timer: "",
+    };
+  },
+  mounted() {
+    clearTimeout(this.timer);
+  },
+  methods: {
+    handleClose() {
+      parent.emit("update:rzBsm", "");
+    },
+    getRzData() {
+      GetLog({ bsm: this.$props.rzBsm }).then((res) => {
+        if (res.success) {
+          this.data = res.data;
+          // if (res.data.rwzt != (2 || 3)) {
+          //   this.timer = setTimeout(() => {
+          //      this.$props.rzBsm != "" && this.getRzData();
+          //   }, 3000);
+          // }
+          if (!res.data[0]) {
+            this.timer = setTimeout(() => {
+              this.$props.rzBsm != "" && this.getRzData();
+            }, 3000);
+          } else if (
+            res.data[0].rzlr == "分析完成" ||
+            res.data[0].rzlx == "error"
+          ) {
+          } else {
+            this.timer = setTimeout(() => {
+              this.$props.rzBsm != "" && this.getRzData();
+            }, 3000);
+          }
+        }
+      });
+    },
+  },
+  watch: {
+    rzBsm(newValue) {
+      if (newValue != "") {
+        this.dialog = true;
+        console.log("-------")
+        this.getRzData();
+      } else {
+        this.dialog = false;
+      }
+    },
+  },
+};
+</script>
+
+<style lang="scss" scoped>
+.logs {
+  background: rgb(255, 255, 255);
+  border: 1px solid #d2d2d3;
+  :deep(.el-timeline-item) {
+    padding-bottom: 5px;
+  }
+  ul {
+    padding-left: 35px;
+    li {
+      line-height: 35px;
+    }
+  }
+}
+:deep(.el-dialog__body) {
+  padding: 10px 20px;
+}
+</style>

+ 5 - 8
src/views/complianceAnalysis/components/scjg.vue

@@ -129,6 +129,10 @@ export default {
         "_blank"
       );
     },
+    reset() {
+      this.dataSources = {};
+      viewer.dataSources.removeAll();
+    },
   },
 
   // watch(
@@ -140,14 +144,7 @@ export default {
   //       });
   //     }
   //   );
-  watch: {
-    activeTabs(newValue) {
-      if (newValue != "scjg") {
-        this.dataSources = {};
-        viewer.dataSources.removeAll();
-      }
-    },
-  },
+  watch: {},
 };
 </script>
 

+ 20 - 5
src/views/complianceAnalysis/index.vue

@@ -3,26 +3,32 @@
   <div class="ghzc complianceAnalysis">
     <div class="innerContainer leftPane">
       <h2 class="vl-notice-title">
-        <span class="lv-title">合规性分析{{ activeTabs }}</span>
+        <span class="lv-title">合规性分析</span>
         <span class="lv-icon-maxmini"> </span>
         <i class="icon-remove"></i>
       </h2>
       <el-tabs type="border-card" class="xz_box" v-model="activeTabs" stretch>
         <el-tab-pane label="合规性分析" name="hgxsc">
-          <Hgxsc :activeTabs="activeTabs" @updateParent="changeData"></Hgxsc>
+          <Hgxsc @updateParent="changeData" ref="hgxfx"></Hgxsc>
         </el-tab-pane>
         <el-tab-pane label="历史记录" name="lsju">
-          <Lsjl :rzBsm="rzBsm" @updateParent="changeData"></Lsjl>
+          <Lsjl
+            type="hgxfx"
+            :rzBsm="rzBsm"
+            @updateParent="changeData"
+            ref="lsju"
+          ></Lsjl>
         </el-tab-pane>
         <el-tab-pane
           label="检查结果"
-          :disabled="activeTabs != 'scjg'"
           name="scjg"
+          :disabled="activeTabs != 'scjg'"
         >
-          <Scjg :scjgObj="scjgObj" :jgTable="jgTable"></Scjg
+          <Scjg :scjgObj="scjgObj" :jgTable="jgTable" ref="scjg"></Scjg
         ></el-tab-pane>
       </el-tabs>
     </div>
+    <RzDtails :rzBsm="rzBsm" :rzMc="rzMc"></RzDtails>
   </div>
 </template>
 
@@ -30,6 +36,7 @@
 import Hgxsc from "./components/hgxsc.vue";
 import Lsjl from "./components/lsjl.vue";
 import Scjg from "./components/scjg.vue";
+import RzDtails from "./components/rzDtails.vue";
 // import TabelView from "./components/tabelView.vue";
 export default {
   name: "complianceAnalysis",
@@ -37,6 +44,7 @@ export default {
     Hgxsc,
     Lsjl,
     Scjg,
+    RzDtails,
     // TabelView,
   },
   data() {
@@ -81,6 +89,13 @@ export default {
       this[name] = updata;
     },
   },
+  watch: {
+    activeTabs(newValue) {
+      if (newValue != "hgxfx") this.$refs.scjg.reset();
+      else if (newValue != "lsju") this.$refs.scjg.reset();
+      else if (newValue != "scjg") this.$refs.scjg.reset();
+    },
+  },
 };
 </script>
 

+ 1 - 1
src/views/siteselection/index.vue

@@ -22,7 +22,7 @@
             :rzBsm="rzBsm"
             :activeTabs="activeTabs"
             :historyList="historyList"
-            @updateXZJG="changeData"
+            @updateParent="changeData"
           ></Lsjl>
         </el-tab-pane>
         <!-- :disabled="activeTabs != 'scjg'" -->

File diff suppressed because it is too large
+ 0 - 0
static/data/ghss/三线分析.geojson


BIN
static/images/overview/jcbd_gd.png


BIN
static/images/overview/jcbd_hax.png


BIN
static/images/overview/jcbd_hy.png


BIN
static/images/overview/jcbd_ld.png


BIN
static/images/overview/jcbd_ly.png


BIN
static/images/overview/jcbd_lyslfgl.png


Some files were not shown because too many files changed in this diff