Forráskód Böngészése

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

maxiaoxiao 8 hónapja
szülő
commit
d106ff0a0f

+ 7 - 0
src/api/ghss/gdbh.js

@@ -50,4 +50,11 @@ export function DeleteGdbh(bsm) {
         method: 'get',
         params
     })
+}
+  export function getOneDetail(params) {
+    return request({
+        url: '/apply/gdbh/QueryGdbhJg/id',
+        method: 'get',
+        params
+    })
 }

+ 0 - 4
src/views/complianceAnalysis/components/lsjl.vue

@@ -85,7 +85,6 @@
 import parse from "wellknown";
 import { GetPage, Delect } from "@/api/ghss/hgxfx.js";
 import { Message, MessageBox } from "element-ui";
-import { rest } from "lodash";
 import { GetXzResList, DelXzRes } from "../../../api/ghss/ghxz.js";
 import { SelectGdbhList,DeleteGdbh } from "../../../api/ghss/gdbh.js";
 let dataSources;
@@ -159,7 +158,6 @@ export default {
               }
             });
           } else if (this.$props.type == "gdbh") {
-            console.log("耕地保护删除",item.bsm);
             DeleteGdbh(item.bsm).then((res) => {
               if (res.success) {
                 Message.success("删除成功!");
@@ -231,7 +229,6 @@ export default {
           this.datalist = [...this.datalist, ...res.data];
         });
       } else if (this.$props.type == "ghxz") {
-        console.log("我是规划选址");
         //规划选址历史记录
         let tempObj = { ...this.pageObj };
         let obj = {
@@ -256,7 +253,6 @@ export default {
           }, 100);
 
           if (res.code == 200) {
-            console.log("我是耕地保护");
             this.listdisabled = res.rows.length < 10;
             this.datalist = [...this.datalist, ...res.rows];
           }

+ 1 - 1
src/views/farmlandProtection/components/fxjg.vue

@@ -116,8 +116,8 @@ export default {
         mxbsm:mxbsm,
         yzbsm:val.bsm
       }
-      console.log(obj,":objobjobj")
       this.$emit("updateParent", "interObj", obj);
+      this.$emit("updateParent", "showInter", true);
 
     },
     initData() {

+ 4 - 1
src/views/farmlandProtection/components/fzjcyp.vue

@@ -25,7 +25,7 @@
         <el-button size="mini" @click="zdyModel">自定义模型</el-button>
       </div>
       <div class="treeDiv">
-        <el-table :data="anaModels" style="width: 100%" :show-header="false" @selection-change="handleSelectionChange">
+        <el-table ref="multipleTable" :data="anaModels" style="width: 100%" :show-header="false" @selection-change="handleSelectionChange">
           <el-table-column type="selection" width="33"> </el-table-column>
           <el-table-column prop="bsmmc" show-overflow-tooltip>
           </el-table-column>
@@ -160,6 +160,7 @@ export default {
         xmmc: "耕地保护项目_" + this.getCurrentDateTime(),
       };
       this.$refs.ruleForm.resetFields();
+      this.$refs.multipleTable.clearSelection();
       this.$refs.range.reset();
     },
     submitData() {
@@ -188,12 +189,14 @@ export default {
             loading.close();
             this.activeTabs = "lsju";
             this.$emit("updateParent", "activeTabs", "lsju");
+            this.$refs.multipleTable.clearSelection();
           }, 1000);
           AddGdbh(obj)
               .then((res) => {
                 loading.close();
                 this.activeTabs = "lsju";
                 this.$emit("updateParent", "activeTabs", "lsju");
+                this.$refs.multipleTable.clearSelection();
                 this.$message({
                   message: res.message,
                   type: res.success ? "success" : "warning",

+ 272 - 60
src/views/farmlandProtection/components/interDetails.vue

@@ -1,53 +1,146 @@
 <template>
   <div>
-    {{ interObj }}
-    <div class="sm-panel sm-function-module-query" v-drag>
-      <div class="sm-panel-header">
-        <span> 占压图斑</span>
-      </div>
-      <div class="tableCon">
-        <el-table
-          :header-cell-style="{
-            background: 'rgba(10, 25, 38, 0.6)',
-            color: '#66b1ff',
-            fontSize: '14px',
-            fontFamily: 'Microsoft YaHei',
-            fontWeight: '400',
-          }"
-          :data="tableData"
-          style="width: 100%"
-        >
-          <el-table-column
-            show-overflow-tooltip="true"
-            prop="id"
-            label="图斑编号"
+    <div class="DetilsCon">
+      <div class="sm-panel sm-function-module-query" v-drag>
+        <div class="sm-panel-header">
+          <span>占压耕地图斑</span>
+          <i class="el-icon-close" @click="closeInster"></i>
+        </div>
+        <div class="tableCon">
+          <el-table
+            :header-cell-style="{
+              background: 'rgba(10, 25, 38, 0.6)',
+              color: '#66b1ff',
+              fontSize: '14px',
+              fontFamily: 'Microsoft YaHei',
+              fontWeight: '400',
+            }"
+            :data="tableData"
+            style="width: 100%"
           >
-          </el-table-column>
-          <el-table-column
-            show-overflow-tooltip="true"
-            prop="siweiarea"
-            label="图斑面积"
+            <el-table-column
+              show-overflow-tooltip="true"
+              prop="id"
+              label="图斑编号"
+            >
+            </el-table-column>
+            <el-table-column
+              show-overflow-tooltip="true"
+              prop="siweiarea"
+              label="图斑面积"
+            >
+            </el-table-column>
+            <el-table-column width="100" label="操作">
+              <template slot-scope="scope">
+                <!-- <span>编辑</span> -->
+                <el-button size="mini" type="text" @click="flyTo(scope.row)"
+                  >定位</el-button
+                >
+                <el-button
+                  size="mini"
+                  type="text"
+                  @click="handleView(scope.row)"
+                  >详情</el-button
+                >
+              </template>
+            </el-table-column></el-table
           >
-          </el-table-column>
-          <el-table-column width="100" label="操作">
-            <template slot-scope="scope">
-              <!-- <span>编辑</span> -->
-              <el-button size="mini" type="text" @click="flyTo(scope.row)"
-                >定位</el-button
+        </div>
+      </div>
+    </div>
+    <div class="conViews" v-if="isShallow">
+      <div class="sm-panel sm-function-module-query" v-drag>
+        <div class="sm-panel-header">
+          <span>图斑详情</span>
+          <i class="el-icon-close" @click="isShallow = false"></i>
+        </div>
+        <el-tabs
+          type="border-card"
+          class="xz_box info"
+          v-model="activeTabs"
+          stretch
+        >
+          <el-tab-pane label="套合结果" name="thjg">
+            <!-- <div class="inter_result"></div> -->
+            <div class="Integration inter_result">
+              <div
+                class="Integration_list"
+                v-for="(item, i) in yzjgData"
+                :key="i"
               >
-              <el-button size="mini" type="text" @click="handleView(scope.row)"
-                >详情</el-button
+                <div
+                  v-for="(item2, c) in item.mx_data"
+                  :key="c"
+                  class="list_Cont"
+                >
+                  <div class="list_item">
+                    <div class="listText">
+                      <span style="color: #fff">{{ item2.bsmmc }}图斑数</span>
+                      <span
+                        style="
+                          color: #2d8cf0;
+                          font-weight: bold;
+                          cursor: pointer;
+                        "
+                        @click="resultDeatils(item2, item.mx_bsm)"
+                        >{{ item2.sumcount }}个</span
+                      >
+                    </div>
+                  </div>
+                  <div class="list_item">
+                    <div class="listText">
+                      <span style="color: #fff">{{ item2.bsmmc }}面积(㎡)</span>
+                      <span color="#80FFFF">{{ item2.sumvalue }}</span>
+                    </div>
+                  </div>
+                </div>
+              </div>
+            </div>
+          </el-tab-pane>
+          <!-- -->
+          <el-tab-pane label="基本信息" name="jbxx">
+            <div class="inter_result" v-if="activeTabs == 'jbxx'">
+              <el-table
+                :header-cell-style="{
+                  background: 'rgba(10, 25, 38, 0.6)',
+                  color: '#66b1ff',
+                  fontSize: '14px',
+                  fontFamily: 'Microsoft YaHei',
+                  fontWeight: '400',
+                }"
+                :data="jbxxData"
+                height="350"
+                style="width: 100%"
               >
-            </template>
-          </el-table-column></el-table
-        >
+                <el-table-column
+                  show-overflow-tooltip="true"
+                  prop="name"
+                  label="属性名称"
+                >
+                </el-table-column>
+                <el-table-column
+                  show-overflow-tooltip="true"
+                  prop="value"
+                  label="属性值"
+                >
+                </el-table-column>
+              </el-table>
+              <el-carousel indicator-position="outside">
+                <el-carousel-item v-for="item in 4" :key="item">
+                  <h3>{{ item }}</h3>
+                </el-carousel-item>
+              </el-carousel>
+            </div>
+          </el-tab-pane>
+        </el-tabs>
       </div>
     </div>
   </div>
 </template>
 
 <script>
-import { getYZ } from "../../../api/ghss/gdbh.js";
+import { name } from "file-loader";
+import { getYZ, getOneDetail } from "../../../api/ghss/gdbh.js";
 
 export default {
   props: {
@@ -57,48 +150,75 @@ export default {
   },
   data() {
     return {
-      tableData: [
-        {
-          id: 61,
-          siweiarea: 568605.55,
-        },
-        {
-          id: 69,
-          siweiarea: 93683.01,
-        },
-        {
-          id: 62,
-          siweiarea: 27863.95,
-        },
-      ],
+      activeTabs: "thjg",
+      tableData: [],
+      viewsData: null,
+      isShallow: false,
+      jbxxData: null,
+      yzjgData: [],
     };
   },
+  mounted() {
+    // this.init();
+  },
   methods: {
+    //关闭套合结果详情
+    closeInster() {
+      this.$emit("updateParent", "showInter", false);
+      this.isShallow = false
+    },
     flyTo(val) {},
-    handleView(val) {},
+    handleView(val) {
+      this.isShallow = true
+      getOneDetail({
+        bsm: this.interObj.bsm,
+        id: val.id,
+      }).then((res) => {
+        if (res.statuscode == 200) {
+          this.viewsData = res.data;
+          this.yzjgData = res.data.yzjg;
+          this.jbxxData = Object.keys(res.data.tbxx).map((key) => ({
+            name: key,
+            value: res.data.tbxx[key],
+          }));
+        } else {
+          this.$message.error(res.message);
+        }
+      });
+      this.isShallow = true;
+    },
     init() {
       getYZ(this.interObj).then((res) => {
         if (res.statuscode == 200) {
-          console.log(1111, res);
+          this.tableData = res.data;
         } else {
           this.$message.error(res.message);
         }
       });
     },
   },
-  mounted(){
-
-  },
+  mounted() {},
   watch: {
-    interObj(newValue) {
-        console.log('=======')
-      this.init();
+    // interObj(newValue) {
+    //   this.init();
+    // },
+    interObj: {
+      handler(newVal) {
+        this.init();
+      },
+      deep: true,
+      immediate: true,
     },
   },
 };
 </script>
 
 <style lang="scss" scoped>
+.DetilsCon {
+  position: relative;
+  right: 57%;
+}
+
 .tableCon {
   height: 40rem;
 
@@ -133,5 +253,97 @@ export default {
     background: rgba(10, 25, 38, 0) !important;
   }
 }
+
+/deep/ .el-icon-close:before {
+  position: absolute;
+  top: 10px;
+  right: 10px;
+  font-size: larger;
+  font-weight: bold;
+
+  &:hover {
+    color: aqua;
+  }
+}
+
+/deep/ .el-carousel__item h3 {
+  color: #475669;
+  font-size: 18px;
+  opacity: 0.75;
+  line-height: 200px;
+  text-align: center;
+  margin: 0;
+}
+
+/deep/ .el-carousel__container {
+  height: 200px;
+}
+
+/deep/ .el-carousel__item:nth-child(2n) {
+  background-color: #99a9bf;
+}
+
+/deep/ .el-carousel__item:nth-child(2n + 1) {
+  background-color: #d3dce6;
+}
+
+.inter_result {
+  height: 580px;
+}
+
+.Integration {
+  max-height: 580px;
+  overflow: hidden;
+  overflow-y: auto;
+
+  .Integration_list {
+    background-color: #0f7bc875;
+    display: flex;
+    justify-content: space-between;
+    margin-top: 8px;
+    flex-wrap: wrap;
+    padding: 10px;
+
+    .listCol {
+      width: 49%;
+      display: flex;
+      align-items: center;
+      white-space: nowrap;
+      margin-bottom: 5px;
+
+      .listText {
+        width: 100%;
+        display: flex;
+        flex-direction: column;
+
+        span {
+          height: 20px;
+          height: 20px;
+          line-height: 20px;
+        }
+      }
+    }
+    .list_Cont {
+      width: 100%;
+      display: flex;
+      align-items: center;
+      white-space: nowrap;
+      margin-bottom: 5px;
+      .list_item {
+        width: 50%;
+        .listText {
+          width: 100%;
+          display: flex;
+          flex-direction: column;
+
+          span {
+            height: 20px;
+            line-height: 20px;
+          }
+        }
+      }
+    }
+  }
+}
 </style>
 </style>

+ 165 - 164
src/views/farmlandProtection/index.vue

@@ -1,184 +1,185 @@
 <!--合规性分析-->
-<template >
-    <div class="ghzc siteselection">
-      <div class="innerContainer leftPane" v-drag @click.native.stop>
-        <h2 class="Pangetitle darg-div">
-          <span class="pange_text">耕地保护</span>
-        </h2>
-        <el-tabs type="border-card" class="xz_box" v-model="activeTabs" stretch @tab-click="tabClick">
-          <el-tab-pane label="辅助监测研判" name="fzjcyp">
-            <FZJCYP v-loading="loading" @updateParent="changeData" ref="fzjcyp"></FZJCYP>
-          </el-tab-pane>
-          <el-tab-pane label="历史记录" name="lsju">
-            <Lsjl :rzBsm="rzBsm" :activeTabs="activeTabs" @updateParent="changeData" type="gdbh" ref="lsju"></Lsjl>
-          </el-tab-pane>
-          <el-tab-pane label="分析结果" :disabled="activeTabs != 'scjg'" name="fxjg">
-            <div v-drag style="height: 100%;">
-              <FXJG :activeTabs="activeTabs" :loading="loading" :fxjgObj="nowObj" ref="fxjg"
-                v-if="activeTabs == 'fxjg'"></FXJG>
-            </div>
-          </el-tab-pane>
-        </el-tabs>
-      </div>
-      <!-- <RzDtails :rzBsm="rzBsm" @updateParent="changeData" :interObj="interObj"></RzDtails> -->
-    
+<template>
+  <div class="ghzc siteselection">
+    <div class="innerContainer leftPane" v-drag @click.native.stop>
+      <h2 class="Pangetitle darg-div">
+        <span class="pange_text">耕地保护</span>
+      </h2>
+      <el-tabs type="border-card" class="xz_box" v-model="activeTabs" stretch @tab-click="tabClick">
+        <el-tab-pane label="辅助监测研判" name="fzjcyp">
+          <FZJCYP v-loading="loading" @updateParent="changeData" ref="fzjcyp"></FZJCYP>
+        </el-tab-pane>
+        <el-tab-pane label="历史记录" name="lsju">
+          <Lsjl :rzBsm="rzBsm" :activeTabs="activeTabs" @updateParent="changeData" type="gdbh" ref="lsju"></Lsjl>
+        </el-tab-pane>
+        <el-tab-pane label="分析结果" :disabled="activeTabs != 'scjg'" name="fxjg">
+          <div v-drag style="height: 100%;">
+            <FXJG :activeTabs="activeTabs" @updateParent="changeData" :loading="loading" :fxjgObj="nowObj" ref="fxjg"
+              v-if="activeTabs == 'fxjg'"></FXJG>
+          </div>
+        </el-tab-pane>
+      </el-tabs>
     </div>
-  </template>
-  
-  <script>
-  import FZJCYP from "./components/fzjcyp.vue";
-  import FXJG from "./components/fxjg.vue";
-  import Lsjl from "../complianceAnalysis/components/lsjl.vue";
-  import RzDtails from "./components/interDetails.vue";
-  export default {
-    name: "farmlandProtection",
-    components: {
-      FZJCYP,
-      Lsjl,
-      FXJG,
-      RzDtails
+    <RzDtails :rzBsm="rzBsm" @updateParent="changeData" :interObj="interObj" v-if="showInter"></RzDtails>
+
+  </div>
+</template>
+
+<script>
+import FZJCYP from "./components/fzjcyp.vue";
+import FXJG from "./components/fxjg.vue";
+import Lsjl from "../complianceAnalysis/components/lsjl.vue";
+import RzDtails from "./components/interDetails.vue";
+export default {
+  name: "farmlandProtection",
+  components: {
+    FZJCYP,
+    Lsjl,
+    FXJG,
+    RzDtails
+  },
+  data() {
+    return {
+      activeTabs: "fzjcyp",
+      rzBsm: "",
+      rwBsm: "",
+      nowObj: {},
+      rzMc: "",
+      loading: false,
+      interObj: {},//套合信息存储
+      showInter: false,
+    };
+  },
+  created() { },
+  methods: {
+    changeData(name, updata) {
+      this[name] = updata;
     },
-    data() {
-      return {
-        activeTabs: "fzjcyp",
-        rzBsm: "",
-        rwBsm: "",
-        nowObj: {},
-        rzMc: "",
-        loading: false,
-        interObj:{},//套合信息存储
-      };
+    tabClick(evt) {
+      this.activeTabs = evt.name;
     },
-    created() { },
-    methods: {
-      changeData(name, updata) {
-        this[name] = updata;
-        console.log(this[name])
-      },
-      tabClick(evt) {
-        this.activeTabs = evt.name;
-      },
-    },
-    watch: {
-      activeTabs(newValue) {
-  
-        // if (newValue != "fzxz") this.$refs.fzxz.reset();
-        if (newValue != "lsju") this.$refs.lsju.reset();
-  
-        if (newValue == "lsju") {
-          this.$refs.lsju.reset();
-          this.$refs.lsju.changeForm();
-        }
-        if (newValue == "fxjg") {
+  },
+  watch: {
+    activeTabs(newValue) {
+
+      // if (newValue != "fzxz") this.$refs.fzxz.reset();
+      if (newValue != "lsju") this.$refs.lsju.reset();
+
+      if (newValue == "lsju") {
+        this.$refs.lsju.reset();
+        this.$refs.lsju.changeForm();
+      }
+      if (newValue == "fxjg") {
         this.$nextTick(() => {
           this.$refs.fxjg.initData();
         });
+      }else{
+        this.showInter = false
       }
-      },
     },
-  };
-  </script>
-  
-  <style lang="scss" scoped>
-  .siteselection {
-    .xz_box {
-      .title {
-        padding: 8px;
-        margin-bottom: 10px;
-  
-        span {
-          color: #605e5e;
-          padding-left: 8px;
-          border-left: 3px solid #3a8ee6;
-        }
-  
-        button {
-          padding: 0;
-          float: right;
-          margin-right: 5px;
-          min-height: unset;
-        }
+  },
+};
+</script>
+
+<style lang="scss" scoped>
+.siteselection {
+  .xz_box {
+    .title {
+      padding: 8px;
+      margin-bottom: 10px;
+
+      span {
+        color: #605e5e;
+        padding-left: 8px;
+        border-left: 3px solid #3a8ee6;
       }
-  
-      .el-form-item {
-        margin-bottom: 0;
+
+      button {
+        padding: 0;
+        float: right;
+        margin-right: 5px;
+        min-height: unset;
       }
-  
-      .xz_table {
-        height: 180px;
-  
-        /deep/.el-table__header-wrapper {
-          height: 40px;
-        }
-  
-        /deep/.el-table__body-wrapper {
-          height: calc(100% - 40px);
-          overflow-y: auto;
-        }
-      }
-  
-      .xz_type {
-        margin-bottom: 10px;
-        justify-content: space-evenly;
-  
-        div {
-          i {
-            font-size: 36px;
-          }
-        }
+    }
+
+    .el-form-item {
+      margin-bottom: 0;
+    }
+
+    .xz_table {
+      height: 180px;
+
+      /deep/.el-table__header-wrapper {
+        height: 40px;
       }
-  
-      .xz-btn {
-        width: 100%;
-        // background: #efefef;
-        position: absolute;
-        height: 55px;
-        z-index: 999;
-        bottom: 0;
-        right: 0;
-        display: flex;
-        align-items: center;
+
+      /deep/.el-table__body-wrapper {
+        height: calc(100% - 40px);
+        overflow-y: auto;
       }
-  
-      .jg-box {
-        td {
-          padding-left: 15px;
-        }
-  
-        .el-collapse-item__header {
-          span {
-            position: absolute;
-            right: 40px;
-          }
-        }
-  
-        .el-collapse-item__content {
-          padding-bottom: 0;
+    }
+
+    .xz_type {
+      margin-bottom: 10px;
+      justify-content: space-evenly;
+
+      div {
+        i {
+          font-size: 36px;
         }
       }
     }
-  
-    .tckz {
+
+    .xz-btn {
+      width: 100%;
+      // background: #efefef;
       position: absolute;
-      left: auto;
-      right: 10px;
-      bottom: 100px;
-      text-align: center;
-      // background-color: rgba(255, 255, 255, 0.85);
-      padding-top: 5px;
-      padding-bottom: 5px;
-      padding-right: 5px;
-      padding-left: 5px;
-      border-radius: 5px;
-  
-      >div {
-        padding: 5px;
-        text-align: left;
+      height: 55px;
+      z-index: 999;
+      bottom: 0;
+      right: 0;
+      display: flex;
+      align-items: center;
+    }
+
+    .jg-box {
+      td {
+        padding-left: 15px;
       }
+
+      .el-collapse-item__header {
+        span {
+          position: absolute;
+          right: 40px;
+        }
+      }
+
+      .el-collapse-item__content {
+        padding-bottom: 0;
+      }
+    }
+  }
+
+  .tckz {
+    position: absolute;
+    left: auto;
+    right: 10px;
+    bottom: 100px;
+    text-align: center;
+    // background-color: rgba(255, 255, 255, 0.85);
+    padding-top: 5px;
+    padding-bottom: 5px;
+    padding-right: 5px;
+    padding-left: 5px;
+    border-radius: 5px;
+
+    >div {
+      padding: 5px;
+      text-align: left;
     }
   }
-  </style>
-  <style lang="scss">
-  @import "../complianceAnalysis//ghzc.scss";
-  </style>
-  
+}
+</style>
+<style lang="scss">
+@import "../complianceAnalysis//ghzc.scss";
+</style>