浏览代码

合并中图代码,修改config.js

lkk 11 月之前
父节点
当前提交
e07156ae88

+ 123 - 12
src/views/ConstructionApplication3D/BenchmarkLandPriceAnalysis/BenchmarkLandPrice.vue

@@ -65,7 +65,7 @@
             </el-form>
             </el-form>
             <div class="SaveCenter">
             <div class="SaveCenter">
               <el-button type="primary" @click="submitForm('ruleForm')"
               <el-button type="primary" @click="submitForm('ruleForm')"
-                >添加</el-button
+                >开始分析</el-button
               >
               >
               <el-button @click="resetForm('ruleForm')">重置</el-button>
               <el-button @click="resetForm('ruleForm')">重置</el-button>
             </div>
             </div>
@@ -87,17 +87,72 @@
                   size="mini"
                   size="mini"
                   v-model="value1"
                   v-model="value1"
                   type="daterange"
                   type="daterange"
-                  range-separator=""
+                  range-separator=""
                   start-placeholder="开始日期"
                   start-placeholder="开始日期"
                   end-placeholder="结束日期"
                   end-placeholder="结束日期"
                 >
                 >
                 </el-date-picker>
                 </el-date-picker>
               </el-col>
               </el-col>
             </el-row>
             </el-row>
+            <el-row>
+              <el-col>
+                <el-row
+                  :gutter="10"
+                  v-for="itemModel in BenchmarkLandPriceList"
+                  :key="itemModel.id"
+                >
+                  <el-col :span="24">
+                    <el-card shadow="hover" class="card_body_style hover_style">
+                      <el-row>
+                        <el-col :span="24">
+                          {{ itemModel.ProjectName }}
+                        </el-col>
+                      </el-row>
+                      <el-row>
+                        <el-col :span="24">
+                          {{ itemModel.analysisDate }}
+                        </el-col>
+                      </el-row>
+                      <el-row>
+                        <el-col :span="6">
+                          <el-button
+                            v-if="itemModel.AnalysisStatus == '完成'"
+                            size="mini"
+                            type="primary"
+                            >{{ itemModel.AnalysisStatus }}</el-button
+                          >
+                          <el-button
+                            v-if="itemModel.AnalysisStatus == '正在分析'"
+                            size="mini"
+                            type="success"
+                            >{{ itemModel.AnalysisStatus }}</el-button
+                          >
+                          <el-button
+                            v-if="itemModel.AnalysisStatus == '异常'"
+                            size="mini"
+                            type="danger"
+                            >{{ itemModel.AnalysisStatus }}</el-button
+                          >
+                        </el-col>
+                        <el-col :span="18">
+                          <el-button size="mini" type="default">日志</el-button>
+                          <el-button
+                            size="mini"
+                            type="default"
+                            @click="openAnalyzeResults(itemModel)"
+                            >结果</el-button
+                          >
+                          <el-button size="mini" type="default">报告</el-button>
+                        </el-col>
+                      </el-row>
+                    </el-card>
+                  </el-col>
+                </el-row>
+              </el-col>
+            </el-row>
           </el-tab-pane>
           </el-tab-pane>
-          <el-tab-pane label="分析结果" name="third">分析结果</el-tab-pane>
-        </el-tabs></el-col
-      >
+        </el-tabs>
+      </el-col>
     </el-row>
     </el-row>
   </div>
   </div>
 </template>
 </template>
@@ -105,6 +160,7 @@
 import { v4 as uuidv4 } from "uuid";
 import { v4 as uuidv4 } from "uuid";
 import moment from "moment";
 import moment from "moment";
 import jzdjfxsmInfo from "./jzdjfxsmInfo.vue";
 import jzdjfxsmInfo from "./jzdjfxsmInfo.vue";
+import jzdjfxsmjg from "./jzdjfxsmjg.vue";
 import {
 import {
   cartesian3ToWGS84,
   cartesian3ToWGS84,
   mapQuery,
   mapQuery,
@@ -113,15 +169,14 @@ import {
   undergroundMode,
   undergroundMode,
 } from "@/utils/MapHelper/MapHelper.js";
 } from "@/utils/MapHelper/MapHelper.js";
 export default {
 export default {
-  name: "DemolitionList",
   data() {
   data() {
     return {
     return {
       zt_jzdj_ProjectType: window.dict.zt_jzdj_ProjectType,
       zt_jzdj_ProjectType: window.dict.zt_jzdj_ProjectType,
+      tooltip: createTooltip(document.body),
       /**
       /**
        * tabs 标签
        * tabs 标签
        */
        */
       activeName: "first",
       activeName: "first",
-
       //绘制事件
       //绘制事件
       handlerPolygon: null,
       handlerPolygon: null,
 
 
@@ -140,10 +195,16 @@ export default {
           { required: true, message: "请添加项目范围", trigger: "blur" },
           { required: true, message: "请添加项目范围", trigger: "blur" },
         ],
         ],
       },
       },
+      BenchmarkLandPriceList: [],
     };
     };
   },
   },
-
+  mounted() {
+    this.init();
+  },
   methods: {
   methods: {
+    init() {
+      this.BenchmarkLandPriceList = window.BenchmarkLandPriceList;
+    },
     /**
     /**
      * tas切换
      * tas切换
      * @param {String} tab
      * @param {String} tab
@@ -203,13 +264,13 @@ export default {
         }
         }
       });
       });
       this.handlerPolygon.movingEvt.addEventListener((windowPosition) => {
       this.handlerPolygon.movingEvt.addEventListener((windowPosition) => {
-        window.tooltip.showAt(
+        that.tooltip.showAt(
           windowPosition,
           windowPosition,
           "<p>点击鼠标左键开始绘制分析区域</p>"
           "<p>点击鼠标左键开始绘制分析区域</p>"
         );
         );
       });
       });
       this.handlerPolygon.drawEvt.addEventListener((result) => {
       this.handlerPolygon.drawEvt.addEventListener((result) => {
-        window.tooltip.setVisible(false);
+        that.tooltip.setVisible(false);
         var polygon = result.object;
         var polygon = result.object;
         if (!polygon) {
         if (!polygon) {
           return;
           return;
@@ -235,7 +296,7 @@ export default {
         this.handlerPolygon.deactivate();
         this.handlerPolygon.deactivate();
         this.handlerPolygon = null;
         this.handlerPolygon = null;
       }
       }
-      window.tooltip.setVisible(false);
+      this.tooltip.setVisible(false);
     },
     },
 
 
     submitForm(formName) {
     submitForm(formName) {
@@ -261,6 +322,37 @@ export default {
       this.clear();
       this.clear();
       this.$refs[formName].resetFields();
       this.$refs[formName].resetFields();
     },
     },
+
+    /**
+     * 打开分析结果弹窗
+     * @param BenchmarkLandPrice 基准地价信息
+     */
+    openAnalyzeResults(BenchmarkLandPrice) {
+      if (this.FXJGInfolayerid) {
+        this.$layer.close(this.FXJGInfolayerid);
+      }
+      let that = this;
+      let w = document.body.offsetWidth;
+      let h = document.body.offsetHeight;
+      //左上角(left=弹窗宽/2;top=弹窗高/2+header高)
+      //右上角 (left=w-弹窗宽+(弹窗宽/2);top=弹窗高/2+header高);
+      let left = w - 430 + 430 / 2;
+      let top = 830 / 2 + 60;
+      this.FXJGInfolayerid = this.$layer.iframe({
+        content: {
+          content: jzdjfxsmjg, //传递的组件对象
+          parent: this, //当前的vue对象
+          data: { info: { BenchmarkLandPrice } }, //props
+        },
+        offset: [left, top], //left top
+        area: ["430px", "830px"], //宽 高
+        title: "分析结果",
+        maxmin: false,
+        shade: false, //是否显示遮罩
+        shadeClose: false, //点击遮罩是否关闭
+        cancel: () => {},
+      });
+    },
   },
   },
   beforeDestroy() {
   beforeDestroy() {
     this.clear();
     this.clear();
@@ -270,4 +362,23 @@ export default {
 <style lang="scss">
 <style lang="scss">
 @import "@/../../zt.scss";
 @import "@/../../zt.scss";
 </style>
 </style>
-<style scoped></style>
+<style scoped>
+.el-date-editor--daterange.el-input__inner {
+  width: auto;
+  background-color: rgba(4, 28, 50, 0.5);
+  border: 1px solid rgba(15, 122, 200, 0.4);
+}
+.card_body_style {
+  border: 1px dashed #02a7f0;
+}
+.hover_style:hover {
+  border: 1px solid #02a7f0;
+}
+.con-col {
+  display: flex;
+  flex-flow: column nowrap;
+  justify-content: center;
+  align-items: center;
+  border-radius: 4px;
+}
+</style>

+ 561 - 0
src/views/ConstructionApplication3D/BenchmarkLandPriceAnalysis/jzdjfxsmjg.vue

@@ -0,0 +1,561 @@
+<template>
+  <div style="width: 100%; padding: 1rem 1rem 0rem 1rem; color: white">
+    <el-row :gutter="10" style="display: flex; align-items: center">
+      <el-col :span="18">
+        {{ info.BenchmarkLandPrice.ProjectName }}
+      </el-col>
+      <el-col :span="6">
+        <el-button size="mini" type="default">导出报告</el-button>
+      </el-col>
+    </el-row>
+    <el-row :gutter="10">
+      <el-col :span="12">
+        <el-row :gutter="10" class="container_center">
+          <el-col
+            :span="8"
+            class="container_center"
+            style="
+              height: 3rem;
+              background-color: rgba(2, 167, 240, 1);
+              border-radius: 6px;
+            "
+          >
+            <i style="font-size: 2rem" class="el-icon-office-building"></i>
+          </el-col>
+          <el-col
+            :span="16"
+            class="container_center"
+            style="justify-content: flex-start"
+          >
+            <div class="con-col" style="align-items: flex-start">
+              <a style="color: white">分析面积(平方米)</a>
+              <a style="font-weight: bold; color: rgba(2, 167, 240, 1)"
+                >66666</a
+              >
+            </div>
+          </el-col>
+        </el-row>
+      </el-col>
+      <el-col :span="12">
+        <el-row :gutter="10" class="container_center">
+          <el-col
+            :span="8"
+            class="container_center"
+            style="
+              height: 3rem;
+              background-color: rgba(2, 167, 240, 1);
+              border-radius: 6px;
+            "
+          >
+            <i style="font-size: 2rem" class="el-icon-bank-card"></i>
+          </el-col>
+          <el-col
+            :span="16"
+            class="container_center"
+            style="justify-content: flex-start"
+          >
+            <div class="con-col" style="align-items: flex-start">
+              <a style="color: white">总地价(万元)</a>
+              <a style="font-weight: bold; color: rgba(2, 167, 240, 1)"
+                >55555</a
+              >
+            </div>
+          </el-col>
+        </el-row>
+      </el-col>
+    </el-row>
+    <el-row :gutter="10">
+      <el-col :span="12">
+        <el-row :gutter="10" class="container_center">
+          <el-col
+            :span="8"
+            class="container_center"
+            style="
+              height: 3rem;
+              background-color: rgba(2, 167, 240, 1);
+              border-radius: 6px;
+            "
+          >
+            <i style="font-size: 2rem" class="el-icon-discount"></i>
+          </el-col>
+          <el-col
+            :span="16"
+            class="container_center"
+            style="justify-content: flex-start"
+          >
+            <div class="con-col" style="align-items: flex-start">
+              <a style="color: white">国有建设</a>
+              <a style="color: white">用地地价(万元)</a>
+              <a style="font-weight: bold; color: rgba(2, 167, 240, 1)"
+                >66666</a
+              >
+            </div>
+          </el-col>
+        </el-row>
+      </el-col>
+      <el-col :span="12">
+        <el-row :gutter="10" class="container_center">
+          <el-col
+            :span="8"
+            class="container_center"
+            style="
+              height: 3rem;
+              background-color: rgba(2, 167, 240, 1);
+              border-radius: 6px;
+            "
+          >
+            <i style="font-size: 2rem" class="el-icon-price-tag"></i>
+          </el-col>
+          <el-col
+            :span="16"
+            class="container_center"
+            style="justify-content: flex-start"
+          >
+            <div class="con-col" style="align-items: flex-start">
+              <a style="color: white">集体建设</a>
+              <a style="color: white">用地地价(万元)</a>
+              <a style="font-weight: bold; color: rgba(2, 167, 240, 1)"
+                >55555</a
+              >
+            </div>
+          </el-col>
+        </el-row>
+      </el-col>
+    </el-row>
+    <el-row :gutter="10" style="display: flex; align-items: center">
+      <el-col :span="24">
+        土地用途:
+        <el-select
+          size="mini"
+          v-model="jzdj_LandUse"
+          placeholder="请选择土地用途"
+          clearable
+        >
+          <el-option
+            v-for="dict in zt_jzdj_LandUse"
+            :key="dict.value"
+            :label="dict.label"
+            :value="dict.value"
+          />
+        </el-select>
+      </el-col>
+    </el-row>
+    <el-row :gutter="10">
+      <el-col :span="24">
+        <div id="echartFGY" ref="echartFGY" class="EchartsWH">
+          <div
+            id="GYEcharts"
+            ref="GYEcharts"
+            :style="{ width: '100%', height: '100%' }"
+          ></div>
+        </div>
+      </el-col>
+    </el-row>
+    <el-row :gutter="10">
+      <el-col :span="24">
+        <div id="echartFJT" ref="echartFJT" class="EchartsWH">
+          <div
+            id="JTEcharts"
+            ref="JTEcharts"
+            :style="{ width: '100%', height: '100%' }"
+          ></div>
+        </div>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+<script>
+import { v4 as uuidv4 } from "uuid";
+import moment from "moment";
+import jzdjfxsmInfo from "./jzdjfxsmInfo.vue";
+import elementResizeDetectorMaker from "element-resize-detector";
+import {
+  cartesian3ToWGS84,
+  mapQuery,
+  flatten,
+  mercator2lonLat,
+  undergroundMode,
+} from "@/utils/MapHelper/MapHelper.js";
+export default {
+  data() {
+    return {
+      tooltip: createTooltip(document.body),
+      zt_jzdj_LandUse: window.dict.zt_jzdj_LandUse,
+      /**
+       * tabs 标签
+       */
+      activeName: "first",
+      //绘制事件
+      handlerPolygon: null,
+      jzdj_LandUse: "商服用地",
+      rules: {
+        ProjectName: [
+          { required: true, message: "请输入项目名称", trigger: "blur" },
+        ],
+        ProjectScope: [
+          { required: true, message: "请添加项目范围", trigger: "blur" },
+        ],
+      },
+      BenchmarkLandPriceList: [],
+      GYmyChart: null,
+      JTmyChart: null,
+    };
+  },
+  props: {
+    info: {
+      type: Object,
+      default: () => {
+        return {};
+      },
+    },
+    layerid: {
+      type: String,
+      default: "",
+    },
+    lydata: {
+      type: Object,
+      default: () => {
+        return {};
+      },
+    },
+    lyoption: {
+      type: Object,
+      default: () => {
+        return {};
+      },
+    },
+  },
+  mounted() {
+    const erd = elementResizeDetectorMaker();
+    let that = this;
+    erd.listenTo([this.$refs.echartFGY, this.$refs.echartFJT], () => {
+      that.$nextTick(() => {
+        //监听到事件后执行的业务逻辑
+        window.echarts.init(this.$refs.GYEcharts).resize();
+        window.echarts.init(this.$refs.JTEcharts).resize();
+      });
+    });
+    this.init();
+  },
+  methods: {
+    init() {
+      this.BenchmarkLandPriceList = window.BenchmarkLandPriceList;
+      this.initGY();
+      this.initJT();
+    },
+    /**
+     * tas切换
+     * @param {String} tab
+     * @param {Object} event
+     */
+    handleClick(tab, event) {
+      console.log(tab, event);
+    },
+
+    /**
+     *基准地价说明
+     */
+    jzdjsmShow() {
+      var that = this;
+      if (that.layerid) that.$layer.close(that.layerid);
+      var width = "40rem";
+      var height = "30rem";
+
+      that.layerid = that.$layer.iframe({
+        content: {
+          content: jzdjfxsmInfo, //传递的组件对象
+          parent: this, //当前的vue对象
+          data: {}, //props
+        },
+
+        area: [width.toString(), height.toString()],
+        title: "基准地价分析说明",
+        maxmin: false,
+        shade: false, //是否显示遮罩
+        shadeClose: false, //点击遮罩是否关闭
+        cancel: () => {
+          //关闭事件
+          // alert("关闭iframe");
+        },
+      });
+    },
+    /**
+     * 绘制范围
+     */
+    getProjectScope() {
+      let that = this;
+      this.clear();
+      this.handlerPolygon = new Cesium.DrawHandler(
+        viewer,
+        Cesium.DrawMode.Polygon,
+        Cesium.ClampMode.Space
+      );
+      this.handlerPolygon.activate();
+      this.handlerPolygon.activeEvt.addEventListener(function (isActive) {
+        if (isActive == true) {
+          viewer.enableCursorStyle = false;
+          viewer._element.style.cursor = "";
+          document.body.classList.add("drawCur");
+        } else {
+          viewer.enableCursorStyle = true;
+          document.body.classList.remove("drawCur");
+        }
+      });
+      this.handlerPolygon.movingEvt.addEventListener((windowPosition) => {
+        that.tooltip.showAt(
+          windowPosition,
+          "<p>点击鼠标左键开始绘制分析区域</p>"
+        );
+      });
+      this.handlerPolygon.drawEvt.addEventListener((result) => {
+        that.tooltip.setVisible(false);
+        var polygon = result.object;
+        if (!polygon) {
+          return;
+        }
+        let points = [];
+        let positions = polygon.positions;
+        //遍历多边形,取出所有点
+        for (var i = 0, len = positions.length; i < len; i++) {
+          let xyz = cartesian3ToWGS84(positions[i]);
+          points.push({ x: xyz.lng, y: xyz.lat, z: xyz.alt });
+        }
+        if (points.length > 0) {
+          if (points[0] != points[points.length - 1]) {
+            points.push(points[0]);
+          }
+        }
+        that.form.ProjectScope = points;
+      });
+    },
+    clear() {
+      if (this.handlerPolygon) {
+        this.handlerPolygon.clear();
+        this.handlerPolygon.deactivate();
+        this.handlerPolygon = null;
+      }
+      this.tooltip.setVisible(false);
+    },
+
+    submitForm(formName) {
+      let that = this;
+      this.$refs[formName].validate((valid) => {
+        if (valid) {
+          that.form.id = uuidv4();
+          that.form.analysisDate = moment(new Date()).format(
+            "YYYY-MM-DD HH:mm:ss"
+          );
+          window.BenchmarkLandPriceList.push(that.form);
+          that.resetForm(formName);
+          that.$message({
+            message: "保存成功",
+            type: "success",
+          });
+        } else {
+          return false;
+        }
+      });
+    },
+    resetForm(formName) {
+      this.clear();
+      this.$refs[formName].resetFields();
+    },
+
+    // 打开分析结果弹窗
+    openAnalyzeResults() {
+      if (this.FXJGInfolayerid) {
+        this.$layer.close(this.FXJGInfolayerid);
+      }
+      let that = this;
+      let w = document.body.offsetWidth;
+      let h = document.body.offsetHeight;
+      //左上角(left=弹窗宽/2;top=弹窗高/2+header高)
+      //右上角 (left=w-弹窗宽+(弹窗宽/2);top=弹窗高/2+header高);
+      let left = w - 430 + 430 / 2;
+      let top = 430 / 2 + 60;
+      this.FXJGInfolayerid = this.$layer.iframe({
+        content: {
+          content: HighLimitAnalysis, //传递的组件对象
+          parent: this, //当前的vue对象
+          data: { info: {} }, //props
+        },
+        offset: [left, top], //left top
+        area: ["430px", "430px"], //宽 高
+        title: "分析结果",
+        maxmin: false,
+        shade: false, //是否显示遮罩
+        shadeClose: false, //点击遮罩是否关闭
+        cancel: () => {},
+      });
+    },
+
+    initGY() {
+      this.GYmyChart = window.echarts.init(this.$refs.GYEcharts);
+
+      var option = {
+        color: [
+          "#5470c6",
+          "#91cc75",
+          "#fac858",
+          "#ee6666",
+          "#73c0de",
+          "#3ba272",
+          "#fc8452",
+          "#9a60b4",
+          "#ea7ccc",
+        ],
+        tooltip: {
+          trigger: "item",
+        },
+
+        legend: {
+          orient: "vertical",
+          left: "right",
+          top: "center",
+          textStyle: {
+            color: "#FFFFFF",
+          },
+        },
+        series: [
+          {
+            name: "Access From",
+            type: "pie",
+            radius: ["40%", "70%"],
+            center: ["35%", "50%"], // 将饼图的中心点向左调整到容器宽度的30%,纵坐标保持在中心
+            avoidLabelOverlap: false,
+            itemStyle: {
+              borderRadius: 10,
+              borderColor: "#fff",
+              borderWidth: 2,
+            },
+            label: {
+              show: false,
+              position: "center",
+            },
+            emphasis: {
+              label: {
+                show: true,
+                fontSize: 20,
+                fontWeight: "bold",
+              },
+            },
+            labelLine: {
+              show: false,
+            },
+            data: [
+              { value: 1048, name: "I" },
+              { value: 735, name: "II" },
+              { value: 580, name: "III" },
+              { value: 484, name: "IV" },
+              { value: 300, name: "V" },
+            ],
+          },
+        ],
+      };
+
+      this.GYmyChart.setOption(option);
+    },
+    initJT() {
+      this.JTmyChart = window.echarts.init(this.$refs.JTEcharts);
+
+      var option = {
+        color: [
+          "#5470c6",
+          "#91cc75",
+          "#fac858",
+          "#ee6666",
+          "#73c0de",
+          "#3ba272",
+          "#fc8452",
+          "#9a60b4",
+          "#ea7ccc",
+        ],
+        tooltip: {
+          trigger: "item",
+        },
+        legend: {
+          orient: "vertical",
+          left: "right",
+          top: "center",
+          textStyle: {
+            color: "#FFFFFF",
+          },
+        },
+        series: [
+          {
+            name: "Access From",
+            type: "pie",
+            radius: ["40%", "70%"],
+            center: ["35%", "50%"], // 将饼图的中心点向左调整到容器宽度的30%,纵坐标保持在中心
+            avoidLabelOverlap: false,
+            itemStyle: {
+              borderRadius: 10,
+              borderColor: "#fff",
+              borderWidth: 2,
+            },
+            label: {
+              show: false,
+              position: "center",
+            },
+            emphasis: {
+              label: {
+                show: true,
+                fontSize: 20,
+                fontWeight: "bold",
+              },
+            },
+            labelLine: {
+              show: false,
+            },
+            data: [
+              { value: 1048, name: "I" },
+              { value: 735, name: "II" },
+              { value: 580, name: "III" },
+              { value: 484, name: "IV" },
+              { value: 300, name: "V" },
+            ],
+          },
+        ],
+      };
+
+      this.JTmyChart.setOption(option);
+    },
+  },
+  beforeDestroy() {
+    this.clear();
+  },
+};
+</script>
+<style lang="scss">
+@import "@/../../zt.scss";
+</style>
+<style scoped>
+.el-date-editor--daterange.el-input__inner {
+  width: auto;
+  background-color: rgba(4, 28, 50, 0.5);
+  border: 1px solid rgba(15, 122, 200, 0.4);
+}
+.card_body_style {
+  border: 1px dashed #02a7f0;
+}
+.hover_style:hover {
+  border: 1px solid #02a7f0;
+}
+.con-col {
+  display: flex;
+  flex-flow: column nowrap;
+  justify-content: center;
+  align-items: center;
+  border-radius: 4px;
+}
+
+.container_center {
+  display: flex;
+  align-items: center; /* 垂直居中 */
+  justify-content: center; /* 水平居中,如果也需要水平居中的话 */
+}
+.EchartsWH {
+  width: 100%;
+  height: 16rem;
+}
+</style>

+ 6 - 4
src/views/ConstructionApplication3D/NightscapeAnalysis/NightscapeAnalysis.vue

@@ -138,6 +138,7 @@ import { v4 as uuidv4 } from "uuid";
 export default {
 export default {
   data() {
   data() {
     return {
     return {
+      tooltip: createTooltip(document.body),
       GeoJsonLayerList: [],
       GeoJsonLayerList: [],
       liudongGntities: [],
       liudongGntities: [],
       sharedState: store.state,
       sharedState: store.state,
@@ -1124,6 +1125,7 @@ export default {
       }
       }
     },
     },
     initPointLightSourceDrawHandler() {
     initPointLightSourceDrawHandler() {
+      let that = this;
       this.clearLightSource();
       this.clearLightSource();
       this.pointLightSourceDrawHandler = new Cesium.DrawHandler(
       this.pointLightSourceDrawHandler = new Cesium.DrawHandler(
         viewer,
         viewer,
@@ -1143,7 +1145,7 @@ export default {
       });
       });
       this.pointLightSourceDrawHandler.movingEvt.addEventListener(
       this.pointLightSourceDrawHandler.movingEvt.addEventListener(
         (windowPosition) => {
         (windowPosition) => {
-          window.tooltip.showAt(
+          that.tooltip.showAt(
             windowPosition,
             windowPosition,
             `<p>${Resource.clickToConfirmThePositionOfTheLightSource}</p><p>${Resource.clickLightChangeAttributes}</p>`
             `<p>${Resource.clickToConfirmThePositionOfTheLightSource}</p><p>${Resource.clickLightChangeAttributes}</p>`
           );
           );
@@ -1185,7 +1187,7 @@ export default {
         this.entityPointLightPairs.set(entityAsKey, pointLight);
         this.entityPointLightPairs.set(entityAsKey, pointLight);
         this.pointLightSourceDrawHandler.clear();
         this.pointLightSourceDrawHandler.clear();
         this.pointLightSourceDrawHandler = null;
         this.pointLightSourceDrawHandler = null;
-        window.tooltip.setVisible(false);
+        this.tooltip.setVisible(false);
       });
       });
     },
     },
     initSpotOrDirectionalLightSourceDrawHandler() {
     initSpotOrDirectionalLightSourceDrawHandler() {
@@ -1211,7 +1213,7 @@ export default {
       );
       );
       this.spotOrDirectionalLightSourceDrawHandler.movingEvt.addEventListener(
       this.spotOrDirectionalLightSourceDrawHandler.movingEvt.addEventListener(
         (windowPosition) => {
         (windowPosition) => {
-          window.tooltip.showAt(
+          this.tooltip.showAt(
             windowPosition,
             windowPosition,
             `<p>${Resource.ClickLineDirectionLightSource}</p><p>${Resource.clickLightChangeAttributes}</p>`
             `<p>${Resource.ClickLineDirectionLightSource}</p><p>${Resource.clickLightChangeAttributes}</p>`
           );
           );
@@ -1281,7 +1283,7 @@ export default {
           this.spotOrDirectionalLightPositions = [];
           this.spotOrDirectionalLightPositions = [];
           this.spotOrDirectionalLightSourceDrawHandler.clear();
           this.spotOrDirectionalLightSourceDrawHandler.clear();
           this.spotOrDirectionalLightSourceDrawHandler = null;
           this.spotOrDirectionalLightSourceDrawHandler = null;
-          window.tooltip.setVisible(false);
+          this.tooltip.setVisible(false);
         }
         }
       );
       );
 
 

+ 4 - 6
src/views/ConstructionApplication3D/SunlightAnalysis/SunlightAnalysis.vue

@@ -105,6 +105,7 @@
 export default {
 export default {
   data() {
   data() {
     return {
     return {
+      tooltip: createTooltip(document.body),
       form: {
       form: {
         timeInterval: 60,
         timeInterval: 60,
         spacing: 10,
         spacing: 10,
@@ -158,9 +159,6 @@ export default {
   },
   },
   computed: {},
   computed: {},
   mounted() {
   mounted() {
-    if (!window.tooltip) {
-      window.tooltip = createTooltip(viewer._element);
-    }
     this.init();
     this.init();
   },
   },
   methods: {
   methods: {
@@ -207,13 +205,13 @@ export default {
         }
         }
       });
       });
       handlerPolygon.movingEvt.addEventListener((windowPosition) => {
       handlerPolygon.movingEvt.addEventListener((windowPosition) => {
-        window.tooltip.showAt(
+        that.tooltip.showAt(
           windowPosition,
           windowPosition,
           "<p>点击鼠标左键开始绘制分析区域</p>"
           "<p>点击鼠标左键开始绘制分析区域</p>"
         );
         );
       });
       });
       handlerPolygon.drawEvt.addEventListener((result) => {
       handlerPolygon.drawEvt.addEventListener((result) => {
-        window.tooltip.setVisible(false);
+        that.tooltip.setVisible(false);
         let positions = that.positions;
         let positions = that.positions;
         let points = that.points;
         let points = that.points;
 
 
@@ -289,7 +287,7 @@ export default {
       if (this.handlerPolygon) {
       if (this.handlerPolygon) {
         this.handlerPolygon.deactivate();
         this.handlerPolygon.deactivate();
       }
       }
-      window.tooltip.setVisible(false);
+      this.tooltip.setVisible(false);
       // common.clearHandlerDrawing();
       // common.clearHandlerDrawing();
       // viewer.entities.removeAll();
       // viewer.entities.removeAll();
 
 

+ 4 - 3
src/views/ConstructionApplication3D/billboard/addBillboardPoject.vue

@@ -71,6 +71,7 @@ import {
 export default {
 export default {
   data() {
   data() {
     return {
     return {
+      tooltip: createTooltip(document.body),
       form: {
       form: {
         id: "",
         id: "",
         projectname: "",
         projectname: "",
@@ -168,13 +169,13 @@ export default {
         }
         }
       });
       });
       this.handlerPolygon.movingEvt.addEventListener((windowPosition) => {
       this.handlerPolygon.movingEvt.addEventListener((windowPosition) => {
-        window.tooltip.showAt(
+        that.tooltip.showAt(
           windowPosition,
           windowPosition,
           "<p>点击鼠标左键开始绘制分析区域</p>"
           "<p>点击鼠标左键开始绘制分析区域</p>"
         );
         );
       });
       });
       this.handlerPolygon.drawEvt.addEventListener((result) => {
       this.handlerPolygon.drawEvt.addEventListener((result) => {
-        window.tooltip.setVisible(false);
+        that.tooltip.setVisible(false);
         let positions = [];
         let positions = [];
         let points = [];
         let points = [];
         var polygon = result.object;
         var polygon = result.object;
@@ -201,7 +202,7 @@ export default {
         this.handlerPolygon.deactivate();
         this.handlerPolygon.deactivate();
         this.handlerPolygon = null;
         this.handlerPolygon = null;
       }
       }
-      window.tooltip.setVisible(false);
+      this.tooltip.setVisible(false);
     },
     },
   },
   },
   beforeDestroy() {
   beforeDestroy() {

+ 37 - 41
src/views/siteselection/components/fzxz.vue

@@ -1,21 +1,15 @@
 <template>
 <template>
   <div class="hgxsc">
   <div class="hgxsc">
-    <!-- <div class="site-title">
-      选址范围
-      <span>导入</span>
-      <span>绘制</span>
-    </div> -->
-    <div class="rangDiv">
-      <div class="block-title">选址范围</div>
-      <range :keys="['hx', 'sc']" class="range" ref="range" />
-    </div>
     <el-form
     <el-form
       :model="ruleForm"
       :model="ruleForm"
       ref="ruleForm"
       ref="ruleForm"
       label-width="100px"
       label-width="100px"
       :rules="rules"
       :rules="rules"
     >
     >
-      <div class="block-title">基本信息</div>
+      <!-- <div class="block-title">基本信息</div> -->
+      <el-form-item label="选址范围:" prop="xzmj">
+        <range type="hgxfx" :keys="['hx', 'sc']" class="range" ref="range" />
+      </el-form-item>
       <el-form-item label="项目名称:" prop="xmmc">
       <el-form-item label="项目名称:" prop="xmmc">
         <el-input
         <el-input
           v-model="ruleForm.xmmc"
           v-model="ruleForm.xmmc"
@@ -116,6 +110,7 @@
 import yxyzPop from "./yxyzPop.vue"; ///mapview/range
 import yxyzPop from "./yxyzPop.vue"; ///mapview/range
 import range from "@/components/mapview/range.vue"; ///mapview/range
 import range from "@/components/mapview/range.vue"; ///mapview/range
 import { GetDldmTree } from "../../../api/ghss/ghxz.js";
 import { GetDldmTree } from "../../../api/ghss/ghxz.js";
+import hgxfx from "../../../../static/data/ghss/data.js";
 export default {
 export default {
   components: {
   components: {
     yxyzPop,
     yxyzPop,
@@ -134,6 +129,7 @@ export default {
     return {
     return {
       xz: [],
       xz: [],
       ruleForm: {
       ruleForm: {
+        xzmj: 0,
         xmmc: "",
         xmmc: "",
         jsdw: "",
         jsdw: "",
         xmlx: "",
         xmlx: "",
@@ -143,6 +139,8 @@ export default {
         sjy: "国土空间总体规划", //数据源
         sjy: "国土空间总体规划", //数据源
       },
       },
       rules: {
       rules: {
+        xzmj: [{ required: true, message: "请填写范围的数据" }],
+        // xzmj: [{ required: true, message: "请绘制选址范围" }],
         xmmc: [
         xmmc: [
           { required: true, message: "请输入项目名称", trigger: "blur" },
           { required: true, message: "请输入项目名称", trigger: "blur" },
           { min: 3, max: 10, message: "长度在 3 到 5 个字符", trigger: "blur" },
           { min: 3, max: 10, message: "长度在 3 到 5 个字符", trigger: "blur" },
@@ -451,26 +449,29 @@ export default {
       //       this.$emit("updateParent", "loading", false);
       //       this.$emit("updateParent", "loading", false);
       //       this.reset();
       //       this.reset();
       //     }, 500);
       //     }, 500);
+
+      //更新范围
+      var _temp = this.$refs.range.getRange();
+      // this.ruleForm.xzfw = _temp.xzfw;
+      this.ruleForm.xzmj = _temp.xzmj || hgxfx.xzmj;
       this.$refs.ruleForm.validate((valid) => {
       this.$refs.ruleForm.validate((valid) => {
         if (valid) {
         if (valid) {
           const loading = this.$loading({
           const loading = this.$loading({
-          lock: true,
-          text: '分析中',
-          spinner: 'el-icon-loading',
-          background: 'rgba(0, 0, 0, 0.7)'
-        });
-        setTimeout(() => {
-          loading.close();
-          this.activeTabs = 'lsju'
-          this.$emit('updateParent','activeTabs','lsju')
-          this.$message({
-          message: '分析成功!',
-          type: 'success'
-        });
-          this.reset();
-        }, 2000);
- 
-
+            lock: true,
+            text: "分析中",
+            spinner: "el-icon-loading",
+            background: "rgba(0, 0, 0, 0.7)",
+          });
+          setTimeout(() => {
+            loading.close();
+            this.activeTabs = "lsju";
+            this.$emit("updateParent", "activeTabs", "lsju");
+            this.$message({
+              message: "分析成功!",
+              type: "success",
+            });
+            this.reset();
+          }, 2000);
         } else {
         } else {
           console.log("error submit!!");
           console.log("error submit!!");
           return false;
           return false;
@@ -486,10 +487,11 @@ export default {
         ydmjs: "", //用地面积开始
         ydmjs: "", //用地面积开始
         ydmje: "", //用地面积结束
         ydmje: "", //用地面积结束
         sjy: "国土空间总体规划", //数据源
         sjy: "国土空间总体规划", //数据源
+        xzmj: 0,
       }),
       }),
-      this.tableData = []
-        this.$refs.ruleForm.resetFields();
-        this.$refs.range.reset();
+        (this.tableData = []);
+      this.$refs.ruleForm.resetFields();
+      this.$refs.range.reset();
     },
     },
     // 影响因子条件展示
     // 影响因子条件展示
     yztj(val) {
     yztj(val) {
@@ -521,10 +523,12 @@ export default {
     justify-content: space-between;
     justify-content: space-between;
   }
   }
   .range {
   .range {
+    // flex: 1;
+    // width: calc(100% - 100px);
+    // position: absolute;
+    // left: 100px;
     flex: 1;
     flex: 1;
-    width: calc(100% - 100px);
-    position: absolute;
-    left: 100px;
+    width: 100%;
   }
   }
 
 
   .treeDiv {
   .treeDiv {
@@ -533,14 +537,6 @@ export default {
     // padding: 7px;
     // padding: 7px;
     margin-bottom: 10px;
     margin-bottom: 10px;
     overflow-y: auto;
     overflow-y: auto;
-
-    // 设置行的背景颜色
-    // /deep/ .el-table tr:nth-child(even) {
-    //   background-color: transparent !important;
-    // }
-    // /deep/ .el-table tr:nth-child(odd) {
-    //   background-color: transparent !important;
-    // }
   }
   }
 }
 }
 /deep/ .el-input .el-input--mini .el-input--suffix {
 /deep/ .el-input .el-input--mini .el-input--suffix {

+ 36 - 11
static/Config/config.js

@@ -165,7 +165,6 @@ window.projectinformation = [
     fundingsource: "企业投资",
     fundingsource: "企业投资",
   },
   },
 ];
 ];
-
 //报建模型
 //报建模型
 window.constructionmodel = [
 window.constructionmodel = [
   {
   {
@@ -173,8 +172,8 @@ window.constructionmodel = [
     projectinformationid: "ertyuiop",
     projectinformationid: "ertyuiop",
     modelname: "报建模型1",
     modelname: "报建模型1",
     creationtime: "2024-04-24 17:22:13",
     creationtime: "2024-04-24 17:22:13",
-    url: "http://192.168.60.2:8090/iserver/services/3D-fangan2/rest/realspace",
-    dataurl: "http://192.168.60.2:8090/iserver/services/data-fangan2/rest/data",
+    url: "http://192.168.60.2:8090/iserver/services/3D-fangan/rest/realspace",
+    dataurl: "http://192.168.60.2:8090/iserver/services/data-fangan/rest/data",
     dataSourceName: "DongAnZhuoYueCheng",
     dataSourceName: "DongAnZhuoYueCheng",
     datasetName: "建筑轮廓",
     datasetName: "建筑轮廓",
     selectionStatus: false,
     selectionStatus: false,
@@ -213,7 +212,7 @@ window.constructionmodel = [
 
 
     url: "http://192.168.60.2:8090/iserver/services/3D-fangan2/rest/realspace",
     url: "http://192.168.60.2:8090/iserver/services/3D-fangan2/rest/realspace",
     dataurl: "http://192.168.60.2:8090/iserver/services/data-fangan2/rest/data",
     dataurl: "http://192.168.60.2:8090/iserver/services/data-fangan2/rest/data",
-    dataSourceName: "sanyatieluxiaoqu2",
+    dataSourceName: "DongAnZhuoYueCheng2",
     datasetName: "建筑轮廓",
     datasetName: "建筑轮廓",
     selectionStatus: true,
     selectionStatus: true,
     designunit: "筑博设计股份有限公司",
     designunit: "筑博设计股份有限公司",
@@ -226,7 +225,6 @@ window.constructionmodel = [
   },
   },
 ];
 ];
 
 
-
 //图层服务查询分组树
 //图层服务查询分组树
 window.layerTree = [
 window.layerTree = [
   {
   {
@@ -426,7 +424,7 @@ window.layerTree = [
         date_server: {
         date_server: {
           nvfid: "4526wsd78",
           nvfid: "4526wsd78",
           server_name: "地类图斑",
           server_name: "地类图斑",
-          url: "http://192.168.60.2:8090/iserver/services/data-sanyamap1-2/rest/data",
+          url: "http://192.168.60.2:8090/iserver/services/data-sanyamap1/rest/data",
           dataSourceName: "sanya",
           dataSourceName: "sanya",
           datasetName: "地类图斑",
           datasetName: "地类图斑",
         },
         },
@@ -568,7 +566,7 @@ window.layerTree = [
         date_server: {
         date_server: {
           nvfid: "4526wsd78",
           nvfid: "4526wsd78",
           server_name: "规划地块",
           server_name: "规划地块",
-          url: "http://192.168.60.2:8090/iserver/services/data-sanyamap1-2/rest/data",
+          url: "http://192.168.60.2:8090/iserver/services/data-sanyamap1/rest/data",
           dataSourceName: "sanya",
           dataSourceName: "sanya",
           datasetName: "规划地块",
           datasetName: "规划地块",
         },
         },
@@ -670,7 +668,7 @@ window.layerTree = [
         date_server: {
         date_server: {
           nvfid: "4526wsd78",
           nvfid: "4526wsd78",
           server_name: "建筑退线",
           server_name: "建筑退线",
-          url: "http://192.168.60.2:8090/iserver/services/data-sanyamap1-2/rest/data",
+          url: "http://192.168.60.2:8090/iserver/services/data-sanyamap1/rest/data",
           dataSourceName: "sanya",
           dataSourceName: "sanya",
           datasetName: "建筑退线",
           datasetName: "建筑退线",
         },
         },
@@ -772,7 +770,7 @@ window.layerTree = [
         date_server: {
         date_server: {
           nvfid: "4526wsd78",
           nvfid: "4526wsd78",
           server_name: "道路中线",
           server_name: "道路中线",
-          url: "http://192.168.60.2:8090/iserver/services/data-sanyamap1-2/rest/data",
+          url: "http://192.168.60.2:8090/iserver/services/data-sanyamap1/rest/data",
           dataSourceName: "sanya",
           dataSourceName: "sanya",
           datasetName: "道路中线",
           datasetName: "道路中线",
         },
         },
@@ -792,7 +790,7 @@ window.layerTree = [
         date_server: {
         date_server: {
           nvfid: "4526wsd78",
           nvfid: "4526wsd78",
           server_name: "禁止开口线",
           server_name: "禁止开口线",
-          url: "http://192.168.60.2:8090/iserver/services/data-sanyamap1-2/rest/data",
+          url: "http://192.168.60.2:8090/iserver/services/data-sanyamap1/rest/data",
           dataSourceName: "sanya",
           dataSourceName: "sanya",
           datasetName: "禁止开口线",
           datasetName: "禁止开口线",
         },
         },
@@ -812,7 +810,7 @@ window.layerTree = [
         date_server: {
         date_server: {
           nvfid: "4526wsd78",
           nvfid: "4526wsd78",
           server_name: "道路红线",
           server_name: "道路红线",
-          url: "http://192.168.60.2:8090/iserver/services/data-sanyamap1-2/rest/data",
+          url: "http://192.168.60.2:8090/iserver/services/data-sanyamap1/rest/data",
           dataSourceName: "sanya",
           dataSourceName: "sanya",
           datasetName: "道路红线",
           datasetName: "道路红线",
         },
         },
@@ -1010,6 +1008,14 @@ window.dict = {
     { label: "工业建筑", value: "工业建筑" },
     { label: "工业建筑", value: "工业建筑" },
     { label: "农业建筑", value: "农业建筑" },
     { label: "农业建筑", value: "农业建筑" },
   ],
   ],
+  //基准地价中土地用途
+  zt_jzdj_LandUse: [
+    { label: "商服用地", value: "商服用地" },
+    { label: "住宅用地", value: "住宅用地" },
+    { label: "工矿仓储用地", value: "工矿仓储用地" },
+    { label: "公共服务项目用地(一)", value: "公共服务项目用地(一)" },
+    { label: "公共服务项目用地(二)", value: "公共服务项目用地(二)" },
+  ],
 };
 };
 //白膜可通过这里添加自发光纹理
 //白膜可通过这里添加自发光纹理
 window.NightViewLayerName = [
 window.NightViewLayerName = [
@@ -1449,5 +1455,24 @@ window.BenchmarkLandPriceList = [
     ProjectType: "居住建筑",
     ProjectType: "居住建筑",
     ConstructionUnit: "建设单位名称",
     ConstructionUnit: "建设单位名称",
     analysisDate: "2024-06-01 10:11:21",
     analysisDate: "2024-06-01 10:11:21",
+    AnalysisStatus: "完成",
+  },
+  {
+    id: "wesdsdfw",
+    ProjectScope: [],
+    ProjectName: "基准地价分析2",
+    ProjectType: "居住建筑",
+    ConstructionUnit: "建设单位名称",
+    analysisDate: "2024-06-01 10:11:21",
+    AnalysisStatus: "正在分析",
+  },
+  {
+    id: "wessfdsdfw",
+    ProjectScope: [],
+    ProjectName: "基准地价分析3",
+    ProjectType: "居住建筑",
+    ConstructionUnit: "建设单位名称",
+    analysisDate: "2024-06-01 10:11:21",
+    AnalysisStatus: "异常",
   },
   },
 ];
 ];

二进制
static/images/ghzc/second_titlebg.png