linwei
22 hours ago 0d1a0cfad99bce85d7ae376351afa995d1471b43
src/views/contradictionEventShow/index.vue
@@ -67,12 +67,45 @@
</template>
<script>
let cylinderLayer = null
let DataSourcesArray = []
let positionColor = [
  global.DC.Namespace.Cesium.Color.fromBytes(255, 97, 97, 20),
  global.DC.Namespace.Cesium.Color.fromBytes(255, 142, 97, 20),
  global.DC.Namespace.Cesium.Color.fromBytes(255, 192, 97, 20),
  global.DC.Namespace.Cesium.Color.fromBytes(252, 58, 242, 20),
  global.DC.Namespace.Cesium.Color.fromBytes(0, 185, 209, 20),
  global.DC.Namespace.Cesium.Color.fromBytes(250, 84, 28, 20),
  global.DC.Namespace.Cesium.Color.fromBytes(221, 255, 97, 20),
  global.DC.Namespace.Cesium.Color.fromBytes(51, 255, 0, 20),
  global.DC.Namespace.Cesium.Color.fromBytes(255, 97, 255, 20),
  global.DC.Namespace.Cesium.Color.fromBytes(97, 255, 181, 20),
  global.DC.Namespace.Cesium.Color.fromBytes(58, 181, 252, 20),
  global.DC.Namespace.Cesium.Color.fromBytes(252, 129, 58, 20),
  global.DC.Namespace.Cesium.Color.fromBytes(58, 252, 236, 20),
  global.DC.Namespace.Cesium.Color.fromBytes(97, 184, 255, 20),
  global.DC.Namespace.Cesium.Color.fromBytes(252, 58, 58, 20),
  global.DC.Namespace.Cesium.Color.fromBytes(97, 113, 255, 20),
  global.DC.Namespace.Cesium.Color.fromBytes(81, 252, 58, 20),
  global.DC.Namespace.Cesium.Color.fromBytes(126, 97, 255, 20),
  global.DC.Namespace.Cesium.Color.fromBytes(168, 252, 58, 20),
  global.DC.Namespace.Cesium.Color.fromBytes(171, 97, 255, 20),
  global.DC.Namespace.Cesium.Color.fromBytes(252, 249, 58, 20),
  global.DC.Namespace.Cesium.Color.fromBytes(210, 97, 255, 20),
  global.DC.Namespace.Cesium.Color.fromBytes(252, 174, 58, 20),
  global.DC.Namespace.Cesium.Color.fromBytes(255, 226, 97, 20),
  global.DC.Namespace.Cesium.Color.fromBytes(255, 97, 176, 20),
  global.DC.Namespace.Cesium.Color.fromBytes(58, 252, 155, 20),
  global.DC.Namespace.Cesium.Color.fromBytes(252, 58, 155, 20),
]
import { initMapPosition } from "@/utils/mapPositionInit"
import {
  getDisputeRecordList,
  getStatistic,
} from "@/api/contradictionEventShow/index.js"
import { getDictionaryListByCode } from "@/api/rentalInfo/index.js"
import { getPoliceStationTree } from "@/api/home/index.js"
import detailDialog from "./components/detailDialog.vue"
@@ -103,6 +136,7 @@
      },
      disputeTypeList: [],
      disputeSourceList: [],
      policeStationOptions: []
    }
  },
@@ -115,6 +149,7 @@
      that.getStatistic()
      that.getList()
    })
    this.getPoliceStationTree(1)
  },
  mounted () {
@@ -162,6 +197,67 @@
  },
  methods: {
    // 加载首页下拉列表数据
    getPoliceStationTree (type, id = '') {
      var that = this
      getPoliceStationTree(type, id).then(res => {
        if (type == 1) {
          this.policeStationOptions = res.data.data
          this.policeStationOptions.unshift({
            name: '全部',
            id: 1
          })
          this.initPoliceStationLayer()
        }
      })
    },
    // 加载面数据的方法
    initPoliceStationLayer () {
      const that = this
      cylinderLayer = new global.DC.PrimitiveLayer('cylinderLayer')
      global.viewer.addLayer(cylinderLayer)
      DataSourcesArray.forEach(item => {
        global.viewer.dataSources.remove(item, true)
      })
      this.policeStationOptions.forEach((item, index) => {
        if (item.position && item.position.length > 0) {
          item.position.forEach((sourceItem, sourceIndex) => {
            const Json = { ...JSON.parse(sourceItem) }
            global.DC.Namespace.Cesium.GeoJsonDataSource.load(Json, {
              stroke: positionColor[index],
              fill: positionColor[index], //注意:颜色必须大写,即不能为blue
              strokeWidth: 0,
              clampToGround: false
            }).then(function (dataSource) {
              let entities = dataSource.entities.values
              //修改entity样式
              for (let i = 0; i < entities.length; i++) {
                let entity = entities[i]
                entity.polyline = {
                  positions: entity.polygon.hierarchy._value.positions,
                  width: 4,
                  material: global.DC.Namespace.Cesium.Color.fromCssColorString('#19298d'),
                  clampToGround: true
                }
              }
              DataSourcesArray.push(dataSource)
              dataSource.show = true
              global.viewer.dataSources.add(dataSource)
            })
          })
        }
      })
    },
    // 统计
    getStatistic () {
      var that = this
@@ -430,6 +526,17 @@
  },
  destroyed () {
    DataSourcesArray.forEach(item => {
      global.viewer.dataSources.remove(item, true)
    })
    DataSourcesArray = []
    if (cylinderLayer != null) {
      cylinderLayer.remove()
      cylinderLayer = null
    }
    loading && loading.close()
    window.removeEventListener("resize", this.setTableHeight)