瀏覽代碼

智能选址前端修改

liutao 3 月之前
父節點
當前提交
8085f7c0ed

+ 41 - 268
web_ui/src/views/industrial-land/AiIndustriaLandDetail.vue

@@ -132,7 +132,7 @@
               <div class="title" @click="resetAnswer(index)">
                 {{ item.name }}
               </div>
-              <div class="jsz" v-if="item.loading && !showResult">
+              <div class="jsz"  v-if="item.loading && !showResult">
                 <Spin />
                 {{ hintText }}
               </div>
@@ -192,39 +192,6 @@
                       </p>
                     </div>
                   </div>
-                  <!-- <div
-                      class="tr"
-                      @mouseover="mouseover(i)"
-                      @mouseout="mouseout(i)"
-                      v-for="(citem, i) in xgdk"
-                      :key="i"
-                      :class="[{ checked: i == dkIndex || i == hoverDkIndex }]"
-                    >
-                      <div class="it xh">{{ i + 1 }}</div>
-                      <div class="it c" @click="showDetailModal(citem, i)">
-                        {{ citem.name }}
-                      </div>
-                      <div class="it">
-                        {{ citem.area ? (citem.area * 0.0015).toFixed(2) : "-" }}
-                      </div>
-                      <div class="it text">
-                        {{ citem.unit_price ? citem.unit_price : "-" }}
-                      </div>
-                      <div class="it blue xh">
-                        {{
-                          citem.comprehensive_score
-                            ? citem.comprehensive_score
-                            : "-"
-                        }}
-                      </div>
-                      <div class="it xh">
-                        <img
-                          class="info"
-                          @click="goLocation(citem, i)"
-                          src="~@/assets/image/icon-loc-blue.png"
-                        />
-                      </div>
-                    </div> -->
                 </template>
                 <div v-else class="hintText">未查询到相关地块数据!</div>
               </div>
@@ -318,7 +285,6 @@
   </div>
 </template>
 <script>
-import polygons from '../../../static/json/杭州市.json'
 import industrialTop from '@/components/IndustrialTop'
 import znxzDetail from './ZnxzDetail.vue'
 import znxzCompare from './ZnxzCompare.vue'
@@ -398,8 +364,6 @@ export default {
       count: 0,
       activeItem: { id: 1 },
       id: 'industriaMap' + new Date().getTime(),
-      latitude: 31.86119,
-      longitude: 117.283042,
       layers: [],
       showResult: false,
       showDetail: false,
@@ -547,31 +511,7 @@ export default {
       //
       // },
       legend: [
-        // {
-        //   name: "可利用资源",
-        //   fill: "#e48b8b50",
-        //   border: "#000000",
-        // },
-        // {
-        //   name: "永久基本农田",
-        //   fill: "#fefe6050",
-        //   border: "#d7d6d6",
-        // },
-        // {
-        //   name: "生态保护红线",
-        //   fill: "#4d9757",
-        //   border: "#4d9757",
-        // },
-        // {
-        //   name: "控规详细性规划",
-        //   children: [
-        //     {
-        //       name: "工业",
-        //       fill: "#66290080",
-        //       border: "#66290080",
-        //     },
-        //   ],
-        // },
+
         {
           name: '可利用资源',
           children: [
@@ -640,7 +580,6 @@ export default {
     this.$nextTick(() => {
       this.activeIndex = 0
       this.initMap()
-      this.calcRadarScan()
       // this.checkPermision();
     })
   },
@@ -705,113 +644,6 @@ export default {
             that.permission = res.data
             if (that.permission) {
               that.activeIndex = 0
-              // if (that.type) {
-              //   that.tabs.forEach((item, index) => {
-              //     if (that.type == item) {
-              //       that.activeIndex = index;
-              //     }
-              //   });
-              // }
-
-              // that.toggleTab(that.activeIndex);
-              // that.xgdk = [
-              //   {
-              //     id: 7162,
-              //     name: "桐庐经济开发区85号工业地块",
-              //     county: "桐庐县",
-              //     location: "桐庐县中联路和城南路交叉口西北侧",
-              //     area: 33042,
-              //     comprehensive_score: 98,
-              //     center_wkt: "POINT(119.683179367182 29.7668594386792)",
-              //   },
-              //   {
-              //     id: 6936,
-              //     name: "桐庐县江南镇工业园区2023-2号地块",
-              //     county: "桐庐县",
-              //     location: "桐庐县窄溪路和金堂路交叉口南侧",
-              //     area: 32730,
-              //     comprehensive_score: 96,
-              //     center_wkt: "POINT(119.776661041068 29.8674845992439)",
-              //   },
-              //   {
-              //     id: 6053,
-              //     name: "青山湖科技城单元 LA011102-02、 LA011102-03 地块",
-              //     county: null,
-              //     location:
-              //       "青山湖科技城单元LA011102-02、LA011102-03地块(东至鹤川路,南至蒋墅街,西至发达路,北至科技大道)",
-              //     area: 31965,
-              //     comprehensive_score: 93,
-              //     center_wkt: "POINT(119.833330942318 30.2587063318842)",
-              //   },
-              //   {
-              //     id: 7003,
-              //     name: "梅城镇五马洲工业园区C-04-1号",
-              //     county: "建德市",
-              //     location: "梅城镇五马洲工业园区",
-              //     area: 33431,
-              //     comprehensive_score: 69,
-              //     center_wkt: "POINT(119.455506193026 29.5194122302608)",
-              //   },
-              //   {
-              //     id: 5913,
-              //     name: "青山湖科技城单元LA010206-02地块",
-              //     county: null,
-              //     location:
-              //       "青山湖科技城单元LA010206-02地块(东至泉口服务中心,南至市地街,西至干校路,北至长西线)",
-              //     area: 32489,
-              //     comprehensive_score: 65,
-              //     center_wkt: "POINT(119.792292133488 30.3242359513533)",
-              //   },
-              //   {
-              //     id: 6975,
-              //     name: "塘栖张家墩产业园地块1",
-              //     county: "临平区",
-              //     location:
-              //       "塘栖镇酒店埭社区;东至规划绿地、南至规划绿地、西至规划绿地、北至张家墩路。",
-              //     area: 32228,
-              //     comprehensive_score: 60,
-              //     center_wkt: "POINT(120.16357939569 30.4705788185453)",
-              //   },
-              //   {
-              //     id: 5411,
-              //     name: "富政工出[2024]9号",
-              //     county: "富阳区",
-              //     location: "鹿山街道工业功能区",
-              //     area: 34575,
-              //     comprehensive_score: 60,
-              //     center_wkt: "POINT(119.896504461223 29.9860460585603)",
-              //   },
-              //   {
-              //     id: 7365,
-              //     name: "义桥镇建设工矿仓储项目",
-              //     county: "萧山区",
-              //     location:
-              //       "位于萧山区义桥镇田丰村、七里店村、勤里村,东至田丰村、七里店村土地,南至七里店村土地,西至田丰村土地,北至田丰村、勤里村土地。",
-              //     area: 33797,
-              //     comprehensive_score: 57,
-              //     center_wkt: "POINT(120.162338981989 30.0555790489407)",
-              //   },
-              //   {
-              //     id: 7223,
-              //     name: "浦沿单元BJ040501-14地块",
-              //     county: "滨江区",
-              //     location:
-              //       "东至规划量子巷;南至浦炬街绿化;西至紫云路;北至规划回龙庵路。",
-              //     area: 33867,
-              //     comprehensive_score: 55,
-              //     center_wkt: "POINT(120.157534740039 30.1548281617972)",
-              //   },
-              //   {
-              //     id: 7013,
-              //     name: "杭州钱江经济开发区奉欣路以南工业地块三(C-3)",
-              //     county: "余杭区",
-              //     location: "仁和街道奉口村",
-              //     area: 35231,
-              //     comprehensive_score: 55,
-              //     center_wkt: "POINT(120.069254227924 30.4426198260172)",
-              //   },
-              // ];
-              // that.showXgdkCenterPoint();
             }
           }
         })
@@ -997,7 +829,6 @@ export default {
           item.checked = false
         }
       })
-      let myCenter = new L.LatLng(this.latitude, this.longitude) // 设置地图中心
       this.map = L.map(this.id, {
         zoom: window.ApplicationConfig.mapOptions['zoom'],
         center: window.ApplicationConfig.mapOptions['center'],
@@ -1042,35 +873,7 @@ export default {
       //   }
       // );
       // this.map.addLayer(cia);
-      // let dtLayers = {
-      //   name: "底图",
-      //   layers: [
-      //     {
-      //       name: "浙江影像",
-      //       id: "zjyx",
-      //       checked: true,
-      //       type: "wmts",
-      //       url: "https://kjzl.zrzyt.zj.gov.cn/zdzy/gtkj/zjgt48/34048bffdd0d4d148ca4a40da7eade21/services/wmts/imgmap/default/oss",
-      //       layername: "imgmap",
-      //     },
-      //     {
-      //       name: "浙江注记",
-      //       id: "zjzj",
-      //       checked: true,
-      //       type: "wmts",
-      //       url: "https://zdzy.zrzyt.zj.gov.cn/gtkj/zjgt49/2003392c13044d3ab3097b0a4328ecf2/services/wmts/imgmap_lab/default/oss",
-      //       layername: "imgmap_lab",
-      //     },
-      //   ],
-      // };
-
-      // var zjyx = dtLayers.layers[0];
-      // this.switchMapLayer(zjyx);
-      // var zjzj = dtLayers.layers[1];
-      // this.switchMapLayer(zjzj);
-
-      //定位浙江省
-      // this.location(polygons)
+
       //默认加载所有选中图层
       this.layers.forEach(layerGroup => {
         layerGroup.layers.forEach(oneLayer => {
@@ -1268,10 +1071,6 @@ export default {
     },
     //地块图斑定位
     goLocation(item, index) {
-      // if (this.showDetail && this.activeItem.id != item.id) {
-      //   this.showDetail = false
-      // }
-      // this.activeItem = item;
       if (this.geojsonLayer) {
         this.map.removeLayer(this.geojsonLayer)
         this.geojsonLayer = null
@@ -1279,13 +1078,6 @@ export default {
       if (this.identifyGeojsonLayer) {
         this.map.removeLayer(this.identifyGeojsonLayer)
       }
-      // if (index != undefined) {
-      //   if (this.dkIndex != index) {
-      //     this.dkGeo = null
-      //     this.dkGeoJson = null
-      //   }
-      //   this.dkIndex = index
-      // }
 
       let query =
             window.ApplicationConfig.geoserverUrl +
@@ -1765,51 +1557,54 @@ export default {
               !executed
             ) {
               T.loading = false
-              T.summary = lastChoice.content.replaceAll('\n```json\n', '')
+              T.summary = lastChoice.content.replaceAll('\n```json\n', '').replaceAll('```json\n', '')
                   .replaceAll('\n```\n', '')
               T.hzData.forEach((item, index) => {
                 if (index == T.hzData.length - 1) {
-                  T.hzData[index].summary = lastChoice.content.replaceAll('\n```json\n', '')
+                  T.hzData[index].summary = lastChoice.content.replaceAll('\n```json\n', '').replaceAll('```json\n', '')
                   .replaceAll('\n```\n', '')
                   T.$forceUpdate()
                 }
               })
             }
-            if (agentName === 'summary' && executed && execRes) {
+            if(agentName === 'summary') {
+              if (!executed) {
+                T.loading = false
+                this.hintText='结果整理中...';
+              } else if (execRes) {
               // T.summary = execRes;
-              T.showResult = true
-              T.radarShow = false
-              T.loading = false
-              if (lastUpRes) {
-                var exec_res = lastUpRes.exec_res
-                  .replaceAll('\n```json\n', '')
-                  .replaceAll('\n```\n', '')
-                exec_res = JSON.parse(exec_res)
-                var dk = exec_res
-                // dk.sort(function (a, b) {
-                //   return b.comprehensive_score - a.comprehensive_score;
-                // });
-                console.log('dk: ', dk)
-                T.xgdk = dk
-                T.clearMark()
-                T.showXgdkCenterPoint()
-                T.answer = e.data
-                T.burialPoint()
-              } else {
-                T.xgdk = []
-                T.clearMark()
-              }
-              T.activeIndex = T.steps.length - 1
-              // T.hintText = "检索完成";
-              T.hzData.forEach((item, index) => {
-                if (index == T.hzData.length - 1) {
-                  T.hzData[index].summary = execRes
-                  T.hzData[index].loading = false
-                  T.zwinputText = ''
-                }
-              })
-              clearInterval(T.checkInterval)
+                  T.showResult = true
+                  T.radarShow = false
+                  T.loading = false
+                  if (lastUpRes) {
+                    var exec_res = lastUpRes.exec_res
+                      .replaceAll('\n```json\n', '').replaceAll('```json\n', '')
+                      .replaceAll('\n```\n', '')
+                    exec_res = JSON.parse(exec_res)
+                    var dk = exec_res
+                    console.log('dk: ', dk)
+                    T.xgdk = dk
+                    T.clearMark()
+                    T.showXgdkCenterPoint()
+                    T.answer = e.data
+                    T.burialPoint()
+                  } else {
+                    T.xgdk = []
+                    T.clearMark()
+                  }
+                  T.activeIndex = T.steps.length - 1
+                  // T.hintText = "检索完成";
+                  T.hzData.forEach((item, index) => {
+                    if (index == T.hzData.length - 1) {
+                      T.hzData[index].summary = execRes
+                      T.hzData[index].loading = false
+                      T.zwinputText = ''
+                    }
+                  })
+                  clearInterval(T.checkInterval)
+            }
             }
+          
           } else {
             T.messages.push({
               id: conversationId,
@@ -1861,28 +1656,7 @@ export default {
       ])
     },
 
-    calcRadarScan() {
-      const { offsetHeight, offsetWidth } = document.body
-      let width = offsetWidth - 488
 
-      if (width > offsetHeight) {
-        width = offsetHeight
-
-        this.radarScanStyle = {
-          width: offsetHeight + 'px',
-          height: offsetHeight + 'px',
-          top: 0,
-          left: (offsetWidth - 488 - width) / 2 + 488 + 'px'
-        }
-      } else {
-        this.radarScanStyle = {
-          width: width + 'px',
-          height: width + 'px',
-          left: '488px',
-          top: (offsetHeight - width) / 2 + 'px'
-        }
-      }
-    }
   }
 }
 </script>
@@ -2290,7 +2064,6 @@ export default {
           line-height: 36px;
           margin-bottom: 36px;
         }
-
         .jsz {
           margin: 0 0px 17px 0px;
           display: flex;

+ 0 - 289
web_ui/src/views/land/LandDetail.vue

@@ -1,289 +0,0 @@
-<template>
-  <div class="land-container">
-    <div class="close" @click="close()"></div>
-    <div class="container">
-      <div class="header-panel" style="display: flex">
-        <div class="name">供地</div>
-      </div>
-
-      <div class="content-panel">
-        <div class="attr-panel">
-          <VuePerfectScrollbar
-            v-bind:style="{
-              width: '100%',
-              height: '100%',
-            }"
-          >
-            <div class="dk-panel">
-              <div class="label">
-                <span>地块名称:</span> {{ item ? item.dkmc : "" }}
-              </div>
-              <div class="label"><span>地块面积:</span> {{ item?item.area:'' }}</div>
-            </div>
-            <div class="dk-panel">
-              <div class="label mt">地块位置:</div>
-              <div class="label">{{ item?item.dkwz:'' }}</div>
-            </div>
-            <div class="navs-panel">
-              <div class="item-panel">
-                <div class="item">
-                  <div class="value">{{ item?item.crmj:'' }}平方米</div>
-                  <div class="line"></div>
-                  <div class="value">出让面积</div>
-                </div>
-                <div class="item">
-                  <div class="value" v-if="item&&item.xzqmc">
-                    {{ item.xzqmc }}
-                  </div>
-                  <div class="value" v-else>/</div>
-                  <div class="line"></div>
-                  <div class="value">行政区名称</div>
-                </div>
-              </div>
-            </div>
-          </VuePerfectScrollbar>
-        </div>
-      </div>
-    </div>
-  </div>
-</template>
-<script>
-import VuePerfectScrollbar from "vue-perfect-scrollbar";
-export default {
-  props: {
-    contentHeight: Number,
-    contentWidth: Number,
-    item: Object,
-  },
-  components: {
-    VuePerfectScrollbar,
-  },
-  data() {
-    return {};
-  },
-  mounted() {},
-  created() {},
-  methods: {
-    close() {
-      this.$parent.close();
-      this.$nextTick(() => {});
-    },
-    setInfo() {},
-  },
-  watch: {
-    item: function (val) {
-      this.setInfo();
-    },
-  },
-};
-</script>
-<style lang="scss" scoped>
-.land-container {
-  background: linear-gradient(0deg, #003065 0%, #003f86 100%);
-  border: 1px solid;
-  width: 100%;
-  height: 100%;
-  border-image: linear-gradient(-9deg, #0c3579, #60bcff, #0c3579) 1 1;
-  box-shadow: 0px 0px 4px 0px rgba(0, 210, 255, 0.54);
-  border-radius: 2px;
-  position: relative;
-
-  .close {
-    position: absolute;
-    top: 8px;
-    right: 17px;
-    cursor: pointer;
-    width: 25px;
-    height: 25px;
-    background: url("~@/assets/image/map/icon_close_white.png") no-repeat 0px
-      0px;
-    background-size: 100% 100%;
-  }
-
-  .container {
-    padding: 25px 17px 19px 17px;
-    width: 100%;
-    height: 100%;
-    float: left;
-
-    .header-panel {
-      float: left;
-      height: 16px;
-      width: 100%;
-      background: url("~@/assets/image/map/line.png") no-repeat 0px 0px;
-      background-size: 100% 100%;
-      float: left;
-      position: relative;
-
-      .name {
-        position: absolute;
-        top: -18px;
-        left: 26px;
-        font-size: 22px;
-        font-family: HYYaKuHeiW;
-        font-weight: 400;
-        color: #c4f3ff;
-      }
-
-      .line {
-        height: 16px;
-        width: 100%;
-      }
-    }
-
-    .content-panel {
-      width: 100%;
-      height: calc(100% - 16px);
-      padding-top: 26px;
-      float: left;
-
-      .attr-panel {
-        float: left;
-        height: 100%;
-        width: 100%;
-        padding-top: 10px;
-
-        .dk-panel {
-          display: flex;
-          flex-direction: column;
-
-          .label {
-            display: flex;
-            margin-bottom: 10px;
-            justify-content: space-between;
-            font-size: 18px;
-            font-family: PingFang SC;
-            font-weight: 400;
-            color: #c4f3ff;
-          }
-          .mt {
-            margin-bottom: 0px;
-          }
-          .btn {
-            border: 1px solid;
-            height: 40px;
-            line-height: 40px;
-            width: calc(50% - 12.5px);
-            text-align: center;
-            // padding: 0px 8px;
-            background: rgba(0, 210, 255, 0.05);
-            border-image: linear-gradient(-9deg, #0c3579, #60bcff, #0c3579) 1 1;
-            box-shadow: 0px 0px 4px 0px rgba(0, 210, 255, 0.54);
-            border-radius: 2px;
-          }
-          .dk-item {
-            position: relative;
-            width: calc(50% - 12.5px);
-          }
-          .i-label {
-            border: 1px solid;
-            background: rgba(0, 210, 255, 0.05);
-            border-image: linear-gradient(-9deg, #0c3579, #60bcff, #0c3579) 1 1;
-            box-shadow: 0px 0px 4px 0px rgba(0, 210, 255, 0.54);
-            border-radius: 2px;
-            font-size: 18px;
-            font-family: PingFang SC;
-            font-weight: 400;
-            color: #c4f3ff;
-            // width: 186px;
-            height: 40px;
-            line-height: 40px;
-            text-align: center;
-          }
-        }
-
-        .mt37 {
-          margin-top: 15px;
-        }
-
-        .mt27 {
-          // margin-top: 18px;
-        }
-
-        .navs-panel {
-          margin-top: 15px;
-
-          .item-panel {
-            display: flex;
-            justify-content: space-between;
-
-            .item {
-              height: 66px;
-              width: calc(50% - 12.5px);
-              border: 1px solid;
-              background: rgba(0, 210, 255, 0.05);
-              border-image: linear-gradient(-9deg, #0c3579, #60bcff, #0c3579) 1
-                1;
-              box-shadow: 0px 0px 4px 0px rgba(0, 210, 255, 0.54);
-              border-radius: 2px;
-              padding-top: 2px;
-
-              .line {
-                float: left;
-                width: calc(100% - 64px);
-                height: 1px;
-                margin-left: 32px;
-                background: #4572b8;
-              }
-
-              .value {
-                width: 100%;
-                text-align: center;
-                float: left;
-                font-size: 20px;
-                font-family: PingFang SC;
-                font-weight: 400;
-                color: #c4f3ff;
-                white-space: nowrap;
-              }
-            }
-          }
-
-          .mt18 {
-            margin-top: 18px;
-          }
-        }
-      }
-
-      .pic-panel {
-        margin-left: 33px;
-        float: left;
-        width: 55%;
-        display: none;
-        height: 100%;
-        // background: url(~@/assets/image/staticImage/icon_pic.png) no-repeat 0px 0px;
-        // background-size: 100% 100%;
-      }
-    }
-  }
-}
-
-.pic-modal {
-  .ivu-modal {
-    .ivu-modal-content {
-      background: #003e84 !important;
-
-      .ivu-modal-body {
-        padding: 0px;
-
-        .preview-container {
-          background: #003e84;
-        }
-
-        .icon {
-          width: 100%;
-        }
-      }
-
-      .ivu-modal-header {
-        background: #003e84;
-        height: 40px;
-      }
-
-      .ivu-modal-footer {
-        display: none !important;
-      }
-    }
-  }
-}
-</style>

+ 0 - 218
web_ui/src/views/land/ZnxzCompare.vue

@@ -1,218 +0,0 @@
-<template>
-  <div class="znxz-compare">
-    <div class="title">
-      <span>选址对比</span>
-      <img src="~@/assets/image/icon-close.png" @click="close" />
-    </div>
-    <vue-perfect-scrollbar class="xz-cont" :settings="settings">
-      <div class="t-item">
-        <div class="th t1">基本信息</div>
-        <div class="th t2">
-          <div class="name">萧山区市北单位XSC Q1302-B1/B2地块</div>
-          <div class="btn">取消对比</div>
-        </div>
-        <div class="th t3">
-          <div class="name">萧山区市北单位XSC Q1302-B1/B2地块</div>
-          <div class="btn">取消对比</div>
-        </div>
-      </div>
-      <div class="t-item">
-        <div class="td t1 a">行政区名称</div>
-        <div class="td t2">xxxxxx</div>
-        <div class="td t3">xxxxxxx</div>
-      </div>
-      <div class="t-item">
-        <div class="td t1 a">所在街道</div>
-        <div class="td t2">萧山区</div>
-        <div class="td t3">萧山区</div>
-      </div>
-      <div class="t-item">
-        <div class="td t1 a">地块面积</div>
-        <div class="td t2">xxxx</div>
-        <div class="td t3">xxxx</div>
-      </div>
-      <div class="t-item">
-        <div class="td t1 a">规划用途</div>
-        <div class="td t2">工业用地</div>
-        <div class="td t3">工业用地</div>
-      </div>
-      <div class="t-item">
-        <div class="td t1 a">主导产业</div>
-        <div class="td t2">xxx</div>
-        <div class="td t3">xxx</div>
-      </div>
-      <div class="t-item">
-        <div class="td t1 a">是否符合规划</div>
-        <div class="td t2">是</div>
-        <div class="td t3">是</div>
-      </div>
-      <div class="t-item">
-        <div class="td t1 a">是否完成征地</div>
-        <div class="td t2">是</div>
-        <div class="td t3">是</div>
-      </div>
-      <div class="t-item">
-        <div class="td t1 a">是否完成拆迁</div>
-        <div class="td t2">是</div>
-        <div class="td t3">是</div>
-      </div>
-      <div class="t-bt">投资条件</div>
-      <div class="t-item">
-        <div class="td t1 a">固定投资强度</div>
-        <div class="td t2">1</div>
-        <div class="td t3">1</div>
-      </div>
-      <div class="t-item">
-        <div class="td t1 a">亩均税收</div>
-        <div class="td t2">xxx</div>
-        <div class="td t3">xxx</div>
-      </div>
-      <div class="t-item">
-        <div class="td t1 a">单位能耗</div>
-        <div class="td t2">xxx</div>
-        <div class="td t3">xxx</div>
-      </div>
-      <div class="t-item">
-        <div class="td t1 a">单位排放</div>
-        <div class="td t2">xxx</div>
-        <div class="td t3">xxx</div>
-      </div>
-      <div class="t-bt">周边配套</div>
-      <div class="t-item">
-        <div class="td t1 a">高速</div>
-        <div class="td t2">xxx</div>
-        <div class="td t3">xxx</div>
-      </div>
-      <div class="t-item">
-        <div class="td t1 a">机场</div>
-        <div class="td t2">xxx</div>
-        <div class="td t3">xxx</div>
-      </div>
-    </vue-perfect-scrollbar>
-  </div>
-</template>
-<script>
-export default {
-  data() {
-    return {
-      settings: {
-        maxScrollbarLength: 60,
-      },
-    };
-  },
-  methods: {
-    close() {
-      this.$emit("db-close");
-    },
-  },
-};
-</script>
-<style lang="scss" scoped>
-.znxz-compare {
-  width: 446px;
-  height: 100%;
-  position: absolute;
-  z-index: 11;
-  left: 0;
-  top: 0;
-  background: #ffffff;
-  box-shadow: 0px 6px 5px 0px rgba(194, 210, 237, 0.3);
-  border-radius: 5px;
-  border: 1px solid #e4e7ea;
-  .title {
-    height: 50px;
-    padding: 0px 18px;
-    justify-content: space-between;
-    align-items: center;
-    display: flex;
-    background: #e2edf9;
-    border-radius: 5px 5px 0px 0px;
-    img {
-      cursor: pointer;
-      width: 16px;
-      height: 16px;
-    }
-    font-family: Alibaba PuHuiTi 2;
-    font-weight: bold;
-    font-size: 20px;
-    color: #333333;
-  }
-  .xz-cont {
-    margin: 23px 22px 20px 24px;
-    width: 400px;
-    height: calc(100% - 93px);
-    background: #ffffff;
-    border-radius: 8px;
-    border: 1px solid #d5e9ff;
-    .t-item {
-      display: flex;
-      border-bottom: 1px solid #d5e9ff;
-      .th {
-        width: 140px;
-        display: flex;
-        align-items: center;
-        padding: 20px 0px;
-        text-align: center;
-        justify-content: center;
-        flex-direction: column;
-        .name {
-          font-family: Microsoft YaHei;
-          font-weight: 400;
-          font-size: 14px;
-          color: #333333;
-        }
-        .btn {
-          width: 80px;
-          margin-top: 4px;
-          cursor: pointer;
-          height: 24px;
-          line-height: 24px;
-          text-align: center;
-          background: #d5e9ff;
-          border-radius: 12px;
-          font-family: Microsoft YaHei;
-          font-weight: 400;
-          font-size: 12px;
-          color: #2f91ff;
-        }
-      }
-      .td {
-        width: 140px;
-        height: 40px;
-        align-items: center;
-        justify-content: center;
-        display: flex;
-      }
-      .t1 {
-        width: 116px;
-      }
-      .a {
-        font-family: Microsoft YaHei;
-        font-weight: 400;
-        font-size: 14px;
-        color: #96a1ad;
-      }
-
-      .t2 {
-        width: 140px;
-        border-left: 1px solid #d5e9ff;
-        border-right: 1px solid #d5e9ff;
-      }
-      .t3 {
-        width: 144px;
-      }
-    }
-    .t-bt {
-      height: 40px;
-      display: flex;
-      align-items: center;
-      justify-content: center;
-      border-bottom: 1px solid #d5e9ff;
-      font-family: Microsoft YaHei;
-      font-weight: bold;
-      font-size: 14px;
-      color: #333333;
-    }
-  }
-}
-</style>

+ 0 - 496
web_ui/src/views/land/ZnxzDetail.vue

@@ -1,496 +0,0 @@
-<template>
-  <div class="znxz-detail">
-    <div class="title">
-      <span>萧山区市北单位XSCQ1302-B1/B2地块</span>
-      <img src="~@/assets/image/icon-close.png" @click="goClose" />
-    </div>
-    <div class="content">
-      <div class="tabs">
-        <div
-          class="item"
-          v-for="(item, index) in tabs"
-          :key="index"
-          :class="[
-            {
-              checked: selectIndex == index,
-              bl: index == 0,
-              br: index == tabs.length - 1,
-            },
-          ]"
-          @click="toggleTab(index)"
-        >
-          {{ item }}
-        </div>
-      </div>
-      <vue-perfect-scrollbar class="tab-panel" :settings="settings">
-        <template v-if="selectIndex == 0">
-          <div class="item" v-for="item in dkxx" :key="item.name">
-            <div class="name">{{ item.name }}</div>
-            <div class="value">{{ item.value }}</div>
-          </div>
-        </template>
-        <template v-if="selectIndex == 1">
-          <div class="zb-tabs">
-            <div
-              class="z-item"
-              v-for="(item, index) in zbTabs"
-              :key="index"
-              @click="toggltZbIndex(index)"
-            >
-              <img :src="require(`@/assets/image/${item.icon}.png`)" />
-              <div class="name">{{ item.name }}</div>
-              <div class="checked" v-if="zbIndex == index"></div>
-            </div>
-          </div>
-          <div class="zb-panel">
-            <div class="c-item" v-for="item in yyList" :key="item.label">
-              <div class="name">
-                <div class="icon">{{ item.label }}</div>
-                <div class="bt">{{ item.name }}</div>
-              </div>
-              <div class="value">{{ item.dis }}</div>
-            </div>
-          </div>
-        </template>
-        <template v-if="selectIndex == 2">
-          <div class="table-panel">
-            <div class="th">
-              <div class="it xh">序号</div>
-              <div class="it text">政策名称</div>
-              <div class="it">发布时间</div>
-            </div>
-            <div
-              class="tr"
-              v-for="(item, i) in yhzc"
-              :key="i"
-              :class="{ 'white-bg': i % 2 == 0 }"
-            >
-              <div class="it xh">{{ i + 1 }}</div>
-              <div class="it text">
-                {{ item.name }}
-              </div>
-              <div class="it">{{ item.time }}</div>
-            </div>
-          </div>
-        </template>
-        <template v-if="selectIndex == 3">
-          <div class="table-panel">
-            <div class="th">
-              <div class="it">序号</div>
-              <div class="it">企业名称</div>
-              <div class="it">主导产业</div>
-              <div class="it">占地规模(亩)</div>
-            </div>
-            <div
-              class="tr"
-              v-for="(item, i) in zbcy"
-              :key="i"
-              :class="{ 'white-bg': i % 2 == 0 }"
-            >
-              <div class="it">{{ i + 1 }}</div>
-              <div class="it">
-                {{ item.name }}
-              </div>
-              <div class="it">{{ item.zdcy }}</div>
-              <div class="it">{{ item.zdgm }}</div>
-            </div>
-          </div>
-        </template>
-      </vue-perfect-scrollbar>
-    </div>
-  </div>
-</template>
-<script>
-export default {
-  data() {
-    return {
-      settings: {
-        maxScrollbarLength: 60,
-      },
-      zbcy: [
-        {
-          name: "企业1",
-          zdcy: "集成电路",
-          zdgm: 11,
-        },
-        {
-          name: "企业2",
-          zdcy: "集成电路",
-          zdgm: 11,
-        },
-        {
-          name: "企业3",
-          zdcy: "集成电路",
-          zdgm: 11,
-        },
-        {
-          name: "企业4",
-          zdcy: "集成电路",
-          zdgm: 11,
-        },
-        {
-          name: "企业5",
-          zdcy: "集成电路",
-          zdgm: 11,
-        },
-        {
-          name: "企业6",
-          zdcy: "集成电路",
-          zdgm: 11,
-        },
-        {
-          name: "企业7",
-          zdcy: "集成电路",
-          zdgm: 11,
-        },
-        {
-          name: "企业8",
-          zdcy: "集成电路",
-          zdgm: 11,
-        },
-      ],
-      yhzc: [
-        {
-          name: "《杭州市规划和自然资源局关于进一步强化工业用地有效保障的通知》",
-          time: "2021-12-17",
-        },
-        {
-          name: "《杭州市规划和自然资源局关于进一步强化工业用地有效保障的通知》",
-          time: "2021-03-25",
-        },
-        {
-          name: "《杭州市规划和自然资源局关于进一步强化工业用地有效保障的通知》",
-          time: "2021-12-17",
-        },
-        {
-          name: "《杭州市规划和自然资源局关于进一步强化工业用地有效保障的通知》",
-          time: "2021-03-25",
-        },
-      ],
-      yyList: [
-        { name: "杭州萧山康久互联网医院", dis: "272m", label: "A" },
-        {
-          name: "杭州微医数智健康管理有限公司杭州微医医院",
-          dis: "339m",
-          label: "B",
-        },
-        {
-          name: "杭州嘉彧健康管理有限公司萧山顺发恒园口腔诊所",
-          dis: "552m",
-          label: "C",
-        },
-        { name: "萧山经济技术开发区博奥医院", dis: "615m", label: "D" },
-        {
-          name: "萧山开发区社区卫生服务中心信息港社区卫生服务站",
-          dis: "694m",
-          label: "E",
-        },
-        {
-          name: "杭州蓝牙健康管理有限公司萧山明星路口腔诊所",
-          dis: "850m",
-          label: "F",
-        },
-      ],
-      selectIndex: 0,
-      tabs: ["地块信息", "周边配套", "优惠政策", "周边产业"],
-      zbTabs: [
-        { name: "医院", icon: "icon-yy" },
-        { name: "学校", icon: "icon-xx" },
-        { name: "商场", icon: "icon-sc" },
-        { name: "餐饮", icon: "icon-cy" },
-        { name: "药店", icon: "icon-yd" },
-      ],
-      zbIndex: 0,
-      dkxx: [
-        {
-          name: "地块名称",
-          value: "XXXX",
-        },
-        {
-          name: "行政区名称",
-          value: "萧山区",
-        },
-        {
-          name: "街道乡镇名称",
-          value: "XXXX",
-        },
-        {
-          name: "开发区名称",
-          value: "XXXX",
-        },
-        {
-          name: "土地坐落",
-          value: "XXXXXXX",
-        },
-        {
-          name: "规划用途",
-          value: "工业用地",
-        },
-        {
-          name: "地块面积(亩 )",
-          value: "30.27亩",
-        },
-        {
-          name: "主导产业",
-          value: "XXXX",
-        },
-        {
-          name: "是否符合规划",
-          value: "是",
-        },
-        {
-          name: "是否宪成征地",
-          value: "是",
-        },
-        {
-          name: "是否完成捍迁",
-          value: "是",
-        },
-        {
-          name: "固定投资强度",
-          value: "1",
-        },
-        {
-          name: "亩均税收",
-          value: "13.1",
-        },
-        {
-          name: "单位彪耗",
-          value: "12.2",
-        },
-        {
-          name: "单位排放",
-          value: "15.1",
-        },
-      ],
-    };
-  },
-  methods: {
-    toggleTab(index) {
-      this.selectIndex = index;
-    },
-    toggltZbIndex(index) {
-      this.zbIndex = index;
-    },
-    goClose() {
-      this.$emit("close");
-    },
-  },
-};
-</script>
-<style lang="scss" scoped>
-.znxz-detail {
-  width: 100%;
-  height: 100%;
-  background: #ffffff;
-  box-shadow: 0px 6px 5px 0px rgba(194, 210, 237, 0.3);
-  border-radius: 5px;
-  border: 1px solid #e4e7ea;
-  .title {
-    height: 50px;
-    background: #e2edf9;
-    display: flex;
-    padding: 0px 18px;
-    align-items: center;
-    justify-content: space-between;
-    border-radius: 5px 5px 0px 0px;
-    span {
-      font-family: Alibaba PuHuiTi 2;
-      font-weight: normal;
-      font-size: 20px;
-      color: #333333;
-    }
-    img {
-      width: 16px;
-      height: 16px;
-      cursor: pointer;
-    }
-  }
-  .content {
-    padding: 23px 22px 20px 24px;
-    height: calc(100% - 50px);
-    .tabs {
-      display: flex;
-      margin-bottom: 18px;
-      .item {
-        width: 100px;
-        border: 0.5px solid #d9dde1;
-        height: 38px;
-        cursor: pointer;
-        text-align: center;
-        line-height: 38px;
-        background: #ffffff;
-        font-family: Microsoft YaHei;
-        font-weight: 400;
-        font-size: 16px;
-        color: #666666;
-      }
-      .checked {
-        background: #1684fc;
-        border: 1px solid #d9dde1;
-        font-family: Microsoft YaHei;
-        font-weight: 400;
-        font-size: 16px;
-        color: #ffffff;
-      }
-      .bl {
-        border-top-left-radius: 8px;
-        border-bottom-left-radius: 8px;
-      }
-      .br {
-        border-top-right-radius: 8px;
-        border-bottom-right-radius: 8px;
-      }
-    }
-    .tab-panel {
-      height: calc(100% - 56px);
-      .item {
-        display: flex;
-        margin-bottom: 16px;
-        padding-left: 20px;
-        .name {
-          width: 96px;
-          text-align: right;
-          font-family: Microsoft YaHei;
-          font-weight: 400;
-          font-size: 16px;
-          color: #96a1ad;
-        }
-        .value {
-          margin-left: 40px;
-          font-family: Microsoft YaHei;
-          font-weight: 400;
-          font-size: 16px;
-          color: #333333;
-        }
-      }
-    }
-    .zb-tabs {
-      display: flex;
-      width: 100%;
-      border-bottom: 1px solid #d9dde1;
-      justify-content: space-between;
-      .z-item {
-        position: relative;
-        flex-direction: column;
-        cursor: pointer;
-        display: flex;
-        justify-content: center;
-        img {
-          width: 36px;
-          height: 36px;
-        }
-        .name {
-          width: 36px;
-          font-family: Microsoft YaHei;
-          font-weight: 400;
-          font-size: 16px;
-          text-align: center;
-          color: #333333;
-          margin: 8px 0px;
-        }
-        .checked {
-          width: 32px;
-          position: absolute;
-          bottom: 0;
-          height: 4px;
-          background: #1684fc;
-          border-radius: 2px;
-        }
-      }
-      .item:last-child {
-        margin-right: 0px;
-      }
-    }
-    .zb-panel {
-      height: calc(100% - 70px);
-      .c-item {
-        margin-top: 40px;
-        display: flex;
-        justify-content: space-between;
-        .name {
-          display: flex;
-
-          .icon {
-            width: 29px;
-            background: url("~@/assets/image/icon-lo.png") no-repeat center;
-            background-size: 100% 100%;
-            margin-right: 10px;
-            font-family: Microsoft YaHei;
-            font-weight: 400;
-            font-size: 16px;
-            color: #ffffff;
-            height: 38px;
-            text-align: center;
-            line-height: 30px;
-          }
-          .bt {
-            font-family: Microsoft YaHei;
-            font-weight: 400;
-            width: 208px;
-            font-size: 16px;
-            color: #333333;
-          }
-        }
-        .value {
-          font-family: Microsoft YaHei;
-          font-weight: 400;
-          font-size: 16px;
-          color: #859bc7;
-        }
-      }
-    }
-    .table-panel {
-      .th {
-        height: 40px;
-        background: #eceef1;
-        border-radius: 2px;
-        display: flex;
-
-        .it {
-          flex: 1.2;
-          font-family: Microsoft YaHei;
-          font-weight: 400;
-          font-size: 14px;
-          height: 40px;
-          text-align: center;
-          line-height: 40px;
-          color: #96a1ad;
-        }
-        .xh {
-          flex: 0.8;
-        }
-        .text {
-          flex: 3;
-        }
-      }
-      .tr {
-        height: 70px;
-        background: #eef1f5;
-        display: flex;
-        border-radius: 2px;
-        align-items: center;
-        .it {
-          flex: 1.2;
-          text-align: center;
-          font-family: Microsoft YaHei;
-          font-weight: 400;
-          padding: 0px 3px;
-          font-size: 14px;
-          color: #333333;
-        }
-        .xh {
-          flex: 0.8;
-        }
-        .text {
-          flex: 3;
-          text-align: justify;
-        }
-      }
-      .white-bg {
-        background: #fff;
-      }
-    }
-  }
-}
-</style>

File diff suppressed because it is too large
+ 0 - 0
web_ui/static/json/杭州市.json


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