From 4968711aebf4065e12fd6105e12118fdcf352efa Mon Sep 17 00:00:00 2001
From: quanyawei <401863037@qq.com>
Date: Mon, 24 Jun 2024 09:49:45 +0800
Subject: [PATCH] fix: bug修改
---
src/views/UVA/index.vue | 1061 ++++++++++++++++++++++++++++++++++++++++++----------------
1 files changed, 770 insertions(+), 291 deletions(-)
diff --git a/src/views/UVA/index.vue b/src/views/UVA/index.vue
index d9f8bc1..f5e7754 100644
--- a/src/views/UVA/index.vue
+++ b/src/views/UVA/index.vue
@@ -3,71 +3,77 @@
<el-container style="height: 100%">
<el-aside
width="300px"
- style="background-color: rgb(238, 241, 246); overflow-y: hidden"
+ style="background-color: rgb(238, 241, 246); overflow: hidden"
>
<div style="width: 274px; margin: 13px auto">
<el-date-picker
+ ref="datePick"
+ v-model="datenum"
:picker-options="pickerOptions"
placeholder="������������"
popper-class="jlpMySelectPopper"
- ref="datePick"
- v-model="datenum"
- @change="chooseDate"
value-format="yyyy-MM-dd"
- >
- </el-date-picker>
+ style="width: 280px"
+ @change="chooseDate"
+ @blur="chooseDate1"
+ @focus="chooseDate2"
+ />
</div>
-
- <!-- <el-card class="box-card" style="width: 274px; margin: 13px auto"> -->
-
- <!-- <div v-else style="height: 180px; width: 274px; overflow-x: hidden">
- <div
- style="
- width: 272px;
- text-align: center;
- height: 180px;
- line-height: 140px;
- font-size: 14px;
- color: #5a5c60;
- "
- >
- ���������������
- </div>
- </div> -->
- <!-- </el-card> -->
-
- <div style="width: 274px; margin: 350px auto; border-radius: 8px">
+ <div
+ style="width: 274px; margin: 10px auto; border-radius: 8px"
+ class="coll"
+ >
<!--accordion ���������������-->
<el-collapse
- v-model="asideData.activeNames"
- accordion
- style="box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1)"
- @change="handleChange"
- ref="collapse"
+ v-show="shou1 === true"
+ v-loading="loading"
>
<el-collapse-item
- v-for="(item1, index) in asideData.uavTimeFly"
- :key="index"
- :name="index"
- style="text-indent: 2em; position: relative"
+ style="text-indent: 2em; position: relative; padding-botton: 10px"
>
<template slot="title">
<img
style="position: absolute; left: 18px"
src="../../assets/images/uav/uav.png"
- />
+ >
<span
style="display: inline-block; position: absolute; left: 20px"
>
- {{ item1.name }}</span
+ ������������������������������</span>
+ </template>
+ </el-collapse-item>
+ </el-collapse>
+ <el-collapse
+ v-show="shou1 === false"
+ ref="collapse"
+ v-model="asideData.activeNames"
+ v-loading="loading"
+ accordion
+ style="box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1)"
+ @change="handleChange"
+ >
+ <el-collapse-item
+ v-for="(item1, index) in asideData.uavTimeFly"
+ :key="index"
+ :name="index"
+ style="text-indent: 2em; position: relative; padding-botton: 10px"
+ >
+ <template slot="title">
+ <img
+ style="position: absolute; left: 18px"
+ src="../../assets/images/uav/uav.png"
>
+ <span
+ style="display: inline-block; position: absolute; left: 20px"
+ >
+ {{ item1.name }}</span>
</template>
<el-scrollbar style="height: 200px; overflow-x: hidden">
<div
v-for="(item, index) in item1.timeSlot"
:key="index"
class="per-date_area"
- :class="{ activeArea: asideData.activeAreaKey === index }"
+ :class="{ activeArea: asideData.activeKey === index }"
@click="getFlyData(item, index, item1.mac)"
>
<div style="width: 100%; margin: 0 auto">
@@ -78,6 +84,7 @@
<span>{{
item.endTime.substr(11, item.startTime.length)
}}</span>
+ <span> ({{ item.total }}���) </span>
</div>
</div>
</el-scrollbar>
@@ -100,36 +107,122 @@
>
<div class="numss">
<el-radio-group
+ v-if="selecttrue === 1"
v-model="radioSeven"
size="medium"
+ style="margin-top: 10px; margin-left: 10px"
@change="changeCode"
>
- <el-radio-button label="PM2.5"></el-radio-button>
- <el-radio-button label="PM10"></el-radio-button>
- <el-radio-button label="SO2"></el-radio-button>
- <el-radio-button label="NO2"></el-radio-button>
- <el-radio-button label="CO"></el-radio-button>
- <el-radio-button label="03"></el-radio-button>
- <el-radio-button label="TVOC"></el-radio-button>
+ <el-radio-button label="PM2.5" />
+ <el-radio-button label="PM10" />
+ <el-radio-button label="SO2" />
+ <el-radio-button label="NO2" />
+ <el-radio-button label="CO" />
+ <el-radio-button label="03" />
+ <el-radio-button label="TVOC" />
</el-radio-group>
- <!-- <el-input
- placeholder="���������������"
- v-model="uvasize"
- class="inputNum"
- clearable
- >
- </el-input> -->
- <div v-if="selecttrue === 1" style="margin-left: 10px">
- <el-button type="primary" @click="gengD" class="gengD"
- >������������</el-button
+ <div
+ v-if="selecttrue === 2"
+ class="Duo"
+ >
+ <div class="spantuu">
+ <span>���������������������������(���): </span>
+ <el-input
+ ref="uvas"
+ v-model="tallone"
+ class="inputtu"
+ />
+ --
+ <el-input
+ ref="uvas"
+ v-model="talltwo"
+ class="inputtu"
+ />
+ </div>
+ <!-- <el-select v-model="Duovalue" placeholder="������������" class="slee">
+ <el-option
+ v-for="item in optionsduo"
+ :key="item.code"
+ :label="item.name"
+ :value="item.name"
+ >
+ </el-option>
+ </el-select> -->
+ <div class="spantu">
+ <span>������������(���): </span><el-input
+ ref="uvas"
+ v-model="uvasize"
+ class="inputtu"
+ clearable
+ placeholder="���������������"
+ />
+ </div>
+ <el-select
+ v-model="Duovalue"
+ placeholder="������������"
+ class="slee"
>
+ <el-option
+ v-for="item in optionsduo"
+ :key="item.code"
+ :label="item.name"
+ :value="item.name"
+ />
+ </el-select>
+ <!-- <div class="spantuu">
+ <span>���������������������������(���): </span>
+ <el-input
+ class="inputtu"
+ v-model="tallone"
+ ref="uvas"
+ ></el-input>
+ --
+ <el-input
+ class="inputtu"
+ v-model="talltwo"
+ ref="uvas"
+ ></el-input>
+ </div> -->
</div>
- <div v-if="selecttrue === 2" style="margin-left: 10px">
- <el-button class="gengD" @click="shou">������</el-button>
- <el-button type="primary" @click="selectDuo">������</el-button>
+ <div
+ v-if="selecttrue === 1"
+ style="margin-left: 10px"
+ >
+ <el-button
+ type="primary"
+ style="margin-top: 10px"
+ @click="gengD"
+ >
+ ������������
+ </el-button>
+ </div>
+ <div
+ v-if="selecttrue === 2"
+ style="margin-left: 10px; margin-top: 10px"
+ >
+ <el-button
+ size="medium"
+ type="primary"
+ icon="el-icon-setting"
+ @click="dialogFormVisible = true"
+ >
+ 6���������
+ </el-button>
+ <el-button
+ class="gengD"
+ @click="shou"
+ >
+ ������
+ </el-button>
+ <el-button
+ type="primary"
+ @click="selectDuo"
+ >
+ ������
+ </el-button>
</div>
</div>
- <div class="Duo" v-if="selecttrue === 2">
+ <!-- <div class="Duo" v-if="selecttrue === 2">
<el-select v-model="Duovalue" placeholder="������������" class="slee">
<el-option
v-for="item in optionsduo"
@@ -140,7 +233,7 @@
</el-option>
</el-select>
<div class="spantu">
- <span>������������(���):</span
+ <span>������������(���): </span
><el-input
class="inputtu"
v-model="uvasize"
@@ -150,17 +243,167 @@
></el-input>
</div>
<div class="spantuu">
- <span>���������������������������(���):</span>
- <el-input class="inputtu" v-model="tallone" ref="uvas"></el-input
- >-
+ <span>���������������������������(���): </span>
+ <el-input class="inputtu" v-model="tallone" ref="uvas"></el-input>
+ --
<el-input class="inputtu" v-model="talltwo" ref="uvas"></el-input>
+ </div>
+ </div> -->
+ </div>
+ <!-- <div v-if="noneData" class="noneData">������������������������������</div> -->
+ <div
+ id="map_container"
+ v-loading="loading1"
+ />
+ <div class="dataParameter">
+ <dir class="item">
+ <div
+ v-for="(item, index) in temMergeDataList"
+ v-show="index < 3"
+ :key="index"
+ >
+ <p> {{ item.name }}:{{ item.value }}</p>
+ </div>
+ </dir>
+ <div
+ class="item1"
+ style="margin-left: 10px;"
+ >
+ <div
+ v-for="(item, index) in temMergeDataList"
+ v-show="index > 2"
+ :key="index"
+ >
+ <p> {{ item.name }}:{{ item.value }}</p>
</div>
</div>
</div>
- <div v-if="noneData" class="noneData">������������������������������</div>
- <div id="map_container" v-loading="loading" />
</el-main>
</el-container>
+ <el-dialog
+ title="6���������"
+ :visible.sync="dialogFormVisible"
+ width="1000px"
+ >
+ <el-descriptions
+ title="������6���"
+ :column="3"
+ border
+ >
+ <el-descriptions-item
+ label="PM2.5 | ug/m��"
+ label-class-name="my-label"
+ content-class-name="my-content"
+ >
+ 22
+ </el-descriptions-item>
+ <el-descriptions-item label="PM10 | ug/m��">
+ 34
+ </el-descriptions-item>
+ <el-descriptions-item label="SO2 | ug/m��">
+ 4
+ </el-descriptions-item>
+ <el-descriptions-item label="NO2 | ug/m��">
+ 16
+ </el-descriptions-item>
+ <el-descriptions-item label="CO | mg/m��">
+ 0.5
+ </el-descriptions-item>
+ <el-descriptions-item label="O3 | ug/m��">
+ 149
+ </el-descriptions-item>
+ </el-descriptions>
+ <!-- <el-descriptions title="���������������" border>
+ </el-descriptions> -->
+ <div
+ style="
+ font-size: 16px;
+ font-weight: 700;
+ margin: 10px 0 20px 0;
+ font-size: 16px;
+ font-weight: 700;
+ color: #303133;
+ "
+ >
+ ���������������
+ </div>
+ <el-table
+ :data="sensorTableData"
+ border
+ >
+ <el-table-column
+ prop="sensorName"
+ label="������"
+ />
+ <el-table-column
+ prop="unit"
+ label="������"
+ />
+ <el-table-column label="������">
+ <template slot-scope="scope">
+ <el-input
+ v-model="scope.row.tab1"
+ placeholder="���������������"
+ />
+ <!-- <span v-show="!scope.row.show">{{ scope.row.tab1 }}</span> -->
+ </template>
+ </el-table-column>
+ <el-table-column label="������">
+ <template slot-scope="scope">
+ <el-input
+ v-model="scope.row.tab2"
+ placeholder="���������������"
+ />
+ </template>
+ </el-table-column>
+ <el-table-column label="������">
+ <template slot-scope="scope">
+ <el-input
+ v-model="scope.row.tab3"
+ placeholder="���������������"
+ />
+ </template>
+ </el-table-column>
+ <el-table-column label="������">
+ <template slot-scope="scope">
+ <el-input
+ v-model="scope.row.tab4"
+ placeholder="���������������"
+ />
+ </template>
+ </el-table-column>
+ <el-table-column label="������">
+ <template slot-scope="scope">
+ <el-input
+ v-model="scope.row.tab5"
+ placeholder="���������������"
+ />
+ </template>
+ </el-table-column>
+ <el-table-column label="������">
+ <template slot-scope="scope">
+ <el-input
+ v-model="scope.row.tab6"
+ placeholder="���������������"
+ />
+ </template>
+ </el-table-column>
+ </el-table>
+ <div
+ slot="footer"
+ class="dialog-footer"
+ >
+ <el-button @click="dialogFormVisible = false">
+ ��� ���
+ </el-button>
+ <el-button
+ type="primary"
+ @click="customLevel"
+ >
+ ��� ���
+ </el-button>
+ </div>
+ </el-dialog>
</div>
</template>
@@ -228,12 +471,20 @@
break
}
- if (dLat > 0) pLat = wgsLat
- else mLat = wgsLat
- if (dLon > 0) pLon = wgsLon
- else mLon = wgsLon
+ if (dLat > 0) {
+ pLat = wgsLat
+ } else {
+ mLat = wgsLat
+ }
+ if (dLon > 0) {
+ pLon = wgsLon
+ } else {
+ mLon = wgsLon
+ }
- if (++i > 10000) break
+ if (++i > 10000) {
+ break
+ }
}
return { lat: wgsLat, lon: wgsLon }
},
@@ -287,8 +538,12 @@
var y =
Math.sin((latA * this.PI) / 180.0) * Math.sin((latB * this.PI) / 180.0)
var s = x + y
- if (s > 1) s = 1
- if (s < -1) s = -1
+ if (s > 1) {
+ s = 1
+ }
+ if (s < -1) {
+ s = -1
+ }
var alpha = Math.acos(s)
var distance = alpha * earthR
return distance
@@ -354,19 +609,26 @@
export default {
filters: {
sensorFilter: function (value) {
- if (!value) return ''
+ if (!value) {
+ return ''
+ }
return json[value]
},
},
- data() {
+ data () {
return {
+ dialogFormVisible: false,
+ chosee: 1,
+ shou1: true,
+ zhanK1: 1,
zhanK: 1,
Duovalue: '',
- datenum: '',
+ datenum: new Date(),
+ // orderTime:[Date('2020-06-19'),Date('2021-06-19')]
selecttrue: 1,
pickerOptions: {
cellClassName: (time) => {
- let timeDate = moment(time.getTime()).format('yyyy-MM-DD')
+ const timeDate = moment(time.getTime()).format('yyyy-MM-DD')
if (this.timeNums.includes(timeDate)) {
return 'dateArrClass' // ������������������������������������������
}
@@ -374,13 +636,13 @@
},
tallone: 0,
- talltwo: 500,
+ talltwo: 120,
// ���������������
asideData: {
dates: [], // ������date������
activeNames: [0],
uavTimeFly: [], // ���������������������������������������������
- activeKey: 0,
+ activeKey: -1,
activeAreaKey: 0,
},
load: 1,
@@ -409,6 +671,7 @@
bdLon: null,
bdLat: null,
loading: false,
+ loading1: false,
snesorParams: [
'PM2.5',
'PM10',
@@ -434,7 +697,9 @@
// ������������ ������������
this.timeOne = minDate.getTime() // ��������������������� ������������������
// ������������������������������������������������������������
- if (maxDate) this.timeOne = ''
+ if (maxDate) {
+ this.timeOne = ''
+ }
},
disabledDate: (time) => {
if (this.timeOne) {
@@ -455,7 +720,6 @@
noneData: true,
defaultData: [],
carMac: null,
- dialogFormVisible: false,
optionsduo: [
{ code: 'a34004', name: 'PM2.5' },
{ code: 'a34002', name: 'PM10' },
@@ -609,7 +873,7 @@
endTime: '',
dataDate: '',
sensorTime: [],
- uvasize: 50,
+ uvasize: 20,
timeValue: [
new Date(2020, 1, 1, 0, 0, 0),
new Date(2022, 12, 31, 23, 59, 59),
@@ -617,15 +881,93 @@
timeNums: [],
batchs: '',
macs: '',
+ sensorTableData: [
+ {
+ sensorName: 'PM2.5',
+ unit: 'ug/m��',
+ tab1: '35',
+ tab2: '75',
+ tab3: '115',
+ tab4: '150',
+ tab5: '250',
+ tab6: '350',
+ },
+ {
+ sensorName: 'PM10',
+ unit: 'ug/m��',
+ tab1: '50',
+ tab2: '150',
+ tab3: '250',
+ tab4: '350',
+ tab5: '420',
+ tab6: '500',
+ },
+ {
+ sensorName: 'SO2',
+ unit: 'ug/m��',
+ tab1: '150',
+ tab2: '500',
+ tab3: '650',
+ tab4: '800',
+ tab5: '',
+ tab6: '',
+ },
+ {
+ sensorName: 'NO2',
+ unit: 'ug/m��',
+ tab1: '100',
+ tab2: '200',
+ tab3: '700',
+ tab4: '1200',
+ tab5: '2340',
+ tab6: '3090',
+ },
+ {
+ sensorName: 'CO',
+ unit: 'mg/m��',
+ tab1: '5',
+ tab2: '10',
+ tab3: '35',
+ tab4: '60',
+ tab5: '90',
+ tab6: '120',
+ },
+ {
+ sensorName: 'O3',
+ unit: 'ug/m��',
+ tab1: '160',
+ tab2: '200',
+ tab3: '300',
+ tab4: '400',
+ tab5: '800',
+ tab6: '1000',
+ },
+ {
+ sensorName: 'TVOC',
+ unit: 'mg/m��',
+ tab1: '0.1',
+ tab2: '0.3',
+ tab3: '0.5',
+ tab4: '0.7',
+ tab5: '0.9',
+ tab6: '1',
+ },
+ {
+ sensorName: '���������',
+ unit: 'ug/m��',
+ tab1: '300',
+ tab2: '500',
+ tab3: '1000',
+ tab4: '10000',
+ tab5: '20000',
+ tab6: '50000',
+ },
+ ],
+ temMergeDataList: []
}
},
- mounted() {
- this.$refs.datePick.focus()
- // this.getDate()
- // this.flyData()
- },
watch: {
- dataTypeValue(n, o) {
+ dataTypeValue (n, o) {
if (this.dataTypeValue === 'webSocket') {
this.dateValue = []
this.historyView = false
@@ -636,45 +978,70 @@
this.webSocketView = false
}
},
- dateValue(n, o) {
+ dateValue (n, o) {
if (n === null) {
this.dateValue = []
}
},
- viewKey(n, o) {
+ viewKey (n, o) {
// console.log(n)
},
deep: true,
immediate: true,
},
- created() {
+
+ mounted () {
+ this.$nextTick(() => {
+ this.initStart()
+ })
+
+ // this.$refs.datePick.focus()
+ // this.getDate()
+ // this.flyData()
+ },
+ created () {
this.newTime(this.timeValue)
this.newDate()
this.getDate()
+
+ // this.getFlyData()
},
methods: {
- selectDuo() {
+ customLevel () {
+ this.selectDuo()
+ this.dialogFormVisible = false
+ },
+ selectDuo () {
+ // console.log(2115);
+ if (this.chosee === 1) {
+ this.$message.warning('������������������������������������')
+ return
+ } else {
+ // console.log('132123');
+ this.loading1 = true
+ }
if (this.view) {
this.view.removeAllLayers()
this.map.clearOverlays()
}
this.$request({
// url: '/uav/queryDataByBatch',
- url: '/uav/test',
+ url: '/uav/getUav',
+ // url: '/uav/test',
method: 'post',
data: {
batch: this.batchs,
uvasize: this.uvasize,
- height: 0,
mac: this.macs,
+ height1: this.tallone,
+ height2: this.talltwo,
// batch: '2023-06-16 16:21:21',
},
}).then((res) => {
- console.log(res)
+ // console.log(res)
this.carData = []
if (res.data === 'null') {
this.noneData = true
- this.loading = false
return
}
for (var i = 0; i < res.data.length; i++) {
@@ -688,32 +1055,35 @@
}
this.changeCode(this.Duovalue)
this.initStart(this.carData)
- if (res.data.vos.length) {
- this.initStart(this.carData)
- }
})
},
- chooseDate() {
- this.$refs.datePick.focus() // ���������������������������������
+ chooseDate () {
+ // this.$refs.datePick.focus() // ���������������������������������
this.getTimeAreaData(this.datenum)
+ $('.coll').css('margin-top', '350px')
},
- // chooseDate1() {
- // this.$refs.datePick.focus() // ���������������������������������
- // this.$refs.uvas.focus()
- // },
- gengD() {
- if (this.zhanK === 1) {
- this.$message.warning('���������������������������������������')
- return
- }
+ chooseDate2 () {
+ // this.$refs.datePick.focus() // ���������������������������������
+ // this.getTimeAreaData(this.datenum)
+ $('.coll').css('margin-top', '350px')
+ },
+ chooseDate1 () {
+ $('.coll').css('margin-top', '10px')
+ // this.$refs.datePick.focus() // ���������������������������������
+ },
+ gengD () {
+ // if (this.zhanK === 1) {
+ // this.$message.warning('���������������������������������������')
+ // return
+ // }
this.selecttrue = 2
- $('.dds').css({ height: '150px' })
+ $('.numss').css({ width: '1050px' })
},
- shou() {
+ shou () {
this.selecttrue = 1
- $('.dds').css({ height: '100px' })
+ $('.numss').css({ width: '700px' })
},
- parseTime(time, cFormat) {
+ parseTime (time, cFormat) {
if (arguments.length === 0 || !time) {
return null
}
@@ -753,7 +1123,7 @@
})
return time_str
},
- newTime2(timeArr) {
+ newTime2 (timeArr) {
var arr = []
timeArr.map((v) => {
var date = new Date(v)
@@ -772,18 +1142,12 @@
})
return arr
},
- // ���������������������������������
- changeCarData(e) {
- this.carMac = e
- this.getStart()
- },
- // ���������������������������
// ���������������������������������������
- Rad(d) {
+ Rad (d) {
return (d * Math.PI) / 180.0 // ���������������������������������������������������
},
// ���������������������������������������������������������������������������������������
- GetDistance(lat1, lng1, lat2, lng2) {
+ GetDistance (lat1, lng1, lat2, lng2) {
var radLat1 = this.Rad(lat1)
var radLat2 = this.Rad(lat2)
var a = radLat1 - radLat2
@@ -804,7 +1168,7 @@
return s
},
// ���������������
- newDate() {
+ newDate () {
var aData = new Date()
var month =
aData.getMonth() < 9
@@ -814,7 +1178,7 @@
this.sensorDate = aData.getFullYear() + '-' + month + '-' + date
},
// ���������������
- newTime(timeArr) {
+ newTime (timeArr) {
let str = ''
let str2 = ''
this.sensorTime = []
@@ -830,7 +1194,7 @@
})
},
// ������������
- dateChange(e) {
+ dateChange (e) {
if (e === null) {
this.sensorDate = []
} else {
@@ -842,11 +1206,12 @@
}
this.dataType = 'history'
// this.map = null
- this.getStart()
}
},
// ���������������������������������
- getTimeAreaData(item) {
+ getTimeAreaData (item) {
+ // this.asideData.uavTimeFly = []
+ this.loading = true
this.$request({
url: 'uav/queryTimeSlot',
method: 'get',
@@ -855,33 +1220,45 @@
date: item,
},
}).then((res) => {
- this.asideData = []
- console.log(res.data.vos, 'res.data.vos')
- if (res.data.vos.length === 0) {
+ // console.log(res, 'res.data.vos')
+ if (res.code === -47) {
this.noneData = true
- this.loading = false
+ // this.asideData.uavTimeFly=res.message
+ this.shou1 = true
} else {
+ this.shou1 = false
this.asideData.uavTimeFly = res.data.vos
}
+ this.loading = false
// if (res.code === 0) {
// this.asideData.uavTimeFly = res.data.vos
// }
})
},
// ������������������
- handleChange(val) {
+ handleChange (val) {
// console.log(val, 222)
},
// ��������������������������������������� XY ������ map.lngLatToGeodeticCoord
// ������radio
- selectRedio(item) {
+ selectRedio (item) {
this.map.remove(this.textMarkers.markers)
this.textMarkers.markers = []
this.map.remove(this.Layler)
this.addLayers(item)
},
// ���������������
- getFlyData(item, index, mac) {
+ getFlyData (item, index, mac) {
+ // for (var i = 0; i < this.xie.date.length; i++) {
+ // this.xie.date[i].flyLat = this.xie.date[i].flyLat + ' ��'.toString()
+ // this.xie.date[i].flyLon = this.xie.date[i].flyLon + ' ��'.toString()
+ // this.xie.date[i].a34004 = this.xie.date[i].a34004
+ // this.carData.push(this.xie.date[i])
+ // }
+ // this.initStart(this.carData)
+ this.loading1 = true
+ this.asideData.activeKey = index
+ this.chosee = 2
this.batchs = item.batch
this.macs = mac
this.noneData = false
@@ -891,21 +1268,22 @@
}
this.$request({
// url: '/uav/queryDataByBatch',
- url: '/uav/test',
+ // url: '/uav/test',
+ url: '/uav/getUav',
method: 'post',
data: {
batch: item.batch,
uvasize: this.uvasize,
- height: 0,
+ height1: this.tallone,
+ height2: this.talltwo,
mac: mac,
// batch: '2023-06-16 16:21:21',
},
}).then((res) => {
- console.log(res)
+ // console.log(res)
this.carData = []
if (res.data === 'null') {
this.noneData = true
- this.loading = false
return
}
for (var i = 0; i < res.data.length; i++) {
@@ -919,7 +1297,7 @@
})
},
// ������������������������������������������
- getDate() {
+ getDate () {
this.$request({
url: '/uav/queryDate',
method: 'get',
@@ -930,96 +1308,70 @@
this.asideData.dates = JSON.parse(JSON.stringify(res.data.datesStr))
this.timeNums = this.asideData.dates
if (this.asideData.dates.length > 0) {
- this.getTimeAreaData(this.asideData.dates[0], 0)
- this.datenum = this.asideData.dates[0]
- setTimeout(() => {
- if (this.asideData.uavTimeFly[0].timeSlot) {
- console.log(
- this.asideData.uavTimeFly[0].timeSlot,
- 'this.asideData.uavTimeFly[0].timeSlot'
- )
- // console.log(
- // this.asideData.uavTimeFly[0].timeSlot,
- // 'this.asideData.uavTimeFly[0].timeSlot[0]'
- // )
- this.getFlyData(this.asideData.uavTimeFly[0].timeSlot[0], 0, mac)
- }
- }, 500)
+ this.getTimeAreaData(this.datenum, 0)
+ // this.datenum = this.asideData.dates[0]
+ // setTimeout(() => {
+ // if (this.asideData.uavTimeFly[0].timeSlot) {
+ // console.log(
+ // this.asideData.uavTimeFly[0].timeSlot,
+ // 'this.asideData.uavTimeFly[0].timeSlot'
+ // )
+ // // console.log(
+ // // this.asideData.uavTimeFly[0].timeSlot,
+ // // 'this.asideData.uavTimeFly[0].timeSlot[0]'
+ // // )
+ // this.getFlyData(this.asideData.uavTimeFly[0].timeSlot[0], 0, mac)
+ // }
+ // }, 500)
}
})
},
- initStart(res) {
- console.log(res, 'res')
+ initDataParams (res) {
+ const filteredObject = {}
+ for (let key in res) {
+ if (key.includes(this.sensorKey)) {
+ filteredObject[key] = res[key]
+ }
+ }
+ console.log('filteredArray', filteredObject)
+ let options = {MergeAvg: '������������������', MergedHighest: '���������������������', MergedLowest: '���������������������', NotMergedAvg: '���������������������', NotMergedHighest: '������������������������', NotMergedLowest: '������������������������'}
+ let optionKeys = Object.keys(options)
+ this.temMergeDataList = optionKeys.reduce((acc, key) => {
+ // ���������������������������data������������
+ let regex = new RegExp(key, 'i')
+ let matchedDataKey = Object.keys(filteredObject).find(k => regex.test(k))
+ if (matchedDataKey) {
+ acc.push({
+ name: options[key],
+ value: filteredObject[matchedDataKey]
+ })
+ }
+ return acc
+ }, [])
+
+ console.log(this.temMergeDataList)
+ },
+ initStart (res) {
+ console.log('res', res)
this.abc += 1
const that = this
+ if (res) this.initDataParams(res[0])
if (!res) {
- return
- }
- if (this.dataType === 'history') {
- this.responseJSON = res
- } else {
- this.responseJSON = res
- }
- // var sensorInfo = this.responseJSON
- // console.log('������snesor������������')
- // console.log(this.responseJSON)
- var trackPoints = []
- this.loading = false
- if (this.responseJSON.length > 0) {
- this.noneData = false
- $.each(this.responseJSON, (item, value) => {
- if (typeof value.flyLon === 'undefined') {
- showNoPoints()
- } else {
- var lng = parseFloat(
- value.flyLon.substr(0, value.flyLon.length - 1)
- )
- var lat = parseFloat(
- value.flyLat.substr(0, value.flyLat.length - 1)
- )
- if (lng < 70 || lng > 150 || lat > 60 || lat < 20) {
- return true
- }
- lng = GPS.gcj_encrypt(lat, lng).lon
- lat = GPS.gcj_encrypt(lat, lng).lat
- lng = GPS.bd_encrypt(lat, lng).lon
- lat = GPS.bd_encrypt(lat, lng).lat
- var point = new BMapGL.Point(lng, lat)
- point.a34004 = parseInt(value.a34004)
- point.a34002 = parseInt(value.a34002)
- point.a21026 = parseInt(value.a21026)
- point.a21004 = parseInt(value.a21004)
- point.a01006 = parseInt(value.a01006)
- point.a01001 = parseInt(value.a01001)
- point.a01002 = parseInt(value.a01002)
- point.a21005 = parseFloat(value.a21005).toFixed(3)
- point.a05024 = parseInt(value.a05024)
- point.a99054 = parseFloat(value.a99054).toFixed(3)
- point.dustld = value.dustld - 0
- trackPoints.push(point)
- }
- })
- that.sensor = this.sensorKey
- that.viewType = this.viewKey
- that.size = this.uvasize
- that.distance = that.size / 2 / Math.sin((1 * Math.PI) / 4)
- console.log(that.distance, 'that.distance')
- // ���������������������������������
- if (!that.showPoints) {
- that.map = new BMapGL.Map('map_container')
- }
- that.map.enableScrollWheelZoom(true) // ������������������������������������������������������
+ that.map = new BMapGL.Map('map_container')
+ console.log('BMapGL', BMapGL)
+ console.log('BMapGL', BMapGL)
+ console.log('window', window.BMapGL)
+ that.map.enableScrollWheelZoom(true) // ������������������������������������������������������s
that.map.setMapType(BMAP_EARTH_MAP) // ���������������������������������
that.map.setDisplayOptions({
street: false, // ������������������������������������������������������������
})
- that.map.setHeading(20) // ������������������
+ that.map.setHeading(0) // ������������������
if (that.viewKey === '2D') {
that.map.setTilt(0) // ������������
} else {
that.map.setTilt(52)
}
- // ������������������v3.0������������������������
that.map.setMapStyleV2({
styleJson: [
{
@@ -1053,6 +1405,76 @@
},
],
})
+ showNoPoints()
+ this.loading1 = false
+ return
+ }
+ if (this.dataType === 'history') {
+ this.responseJSON = res
+ } else {
+ this.responseJSON = res
+ }
+ // var sensorInfo = this.responseJSON
+ // console.log('������snesor������������')
+ // console.log(this.responseJSON)
+ var trackPoints = []
+ if (this.responseJSON.length > 0) {
+ this.noneData = false
+ $.each(this.responseJSON, (item, value) => {
+ if (typeof value.flyLon === 'undefined') {
+ showNoPoints()
+ } else {
+ var lng = parseFloat(
+ value.flyLon.substr(0, value.flyLon.length - 1)
+ )
+ var lat = parseFloat(
+ value.flyLat.substr(0, value.flyLat.length - 1)
+ )
+ if (lng < 70 || lng > 150 || lat > 60 || lat < 20) {
+ return true
+ }
+ // lng = GPS.gcj_encrypt(lat, lng).lon
+ // lat = GPS.gcj_encrypt(lat, lng).lat
+ // lng = GPS.bd_encrypt(lat, lng).lon
+ // lat = GPS.bd_encrypt(lat, lng).lat
+ // lng = GPS.bd_decrypt(lat, lng).lon
+ // lat = GPS.bd_decrypt(lat, lng).lat
+ var point = new BMapGL.Point(lng, lat)
+ point.a34004 = parseInt(value.a34004)
+ point.a34002 = parseInt(value.a34002)
+ point.a21026 = parseInt(value.a21026)
+ point.a21004 = parseInt(value.a21004)
+ point.a01006 = parseInt(value.a01006)
+ point.a01001 = parseInt(value.a01001)
+ point.a01002 = parseInt(value.a01002)
+ point.a21005 = parseFloat(value.a21005).toFixed(3)
+ point.a05024 = parseInt(value.a05024)
+ point.a99054 = parseFloat(value.a99054).toFixed(3)
+ point.dustld = value.dustld - 0
+ trackPoints.push(point)
+ }
+ })
+ that.sensor = this.sensorKey
+ that.viewType = this.viewKey
+ that.size = this.uvasize
+ that.distance = that.size / 2 / Math.sin((1 * Math.PI) / 4)
+ // ���������������������������������
+ // if (!that.showPoints) {
+ // console.log(111)
+ // that.map = new window.BMapGL.Map('map_container')
+ // }
+ // that.map.enableScrollWheelZoom(true) // ������������������������������������������������������s
+ // that.map.setMapType(BMAP_EARTH_MAP) // ���������������������������������
+ // that.map.setDisplayOptions({
+ // street: false, // ������������������������������������������������������������
+ // })
+ // that.map.setHeading(20) // ������������������
+ // if (that.viewKey === '2D') {
+ // that.map.setTilt(0) // ������������
+ // } else {
+ // that.map.setTilt(52)
+ // }
+ // ������������������v3.0������������������������
// that.map.setDisplayOptions({
// // ������������������
@@ -1060,7 +1482,7 @@
// building: true, // ������������������
// poiText: false, // ������poi������
// })
- // that.map.addControl(new BMapGL.NavigationControl3D()) // ������3d������
+ // that.map.addControl(new window.BMapGL.NavigationControl3D()) // ������3d������
if (this.responseJSON.length === 0) {
showNoPoints()
}
@@ -1071,20 +1493,21 @@
// console.log(that.mapZoom, 'that.mapZoom')
that.centerPoint = that.viewport.center
if (that.firstPlayFlag) {
- console.log(that.mapZoom, that.centerPoint, '1')
that.map.centerAndZoom(that.centerPoint, that.mapZoom)
that.view = new mapvgl.View({
map: that.map,
})
that.firstPlayFlag = false
+ that.loading1 = false
} else {
- console.log(that.mapZoom, that.centerPoint, '2')
this.view.removeAllLayers()
this.map.clearOverlays()
that.map.centerAndZoom(that.centerPoint, that.mapZoom)
that.view = new mapvgl.View({
map: that.map,
})
+ that.loading1 = false
+
// that.map.centerAndZoom(that.centerPoint, 18)
}
}
@@ -1092,7 +1515,7 @@
// draw(that.sensor, that.viewType, that.carMac)
// drawLine()// ������(���������������������)
// drawStartAndEnd() // ���������������������
- function draw(sensor, type, carMac) {
+ function draw (sensor, type, carMac) {
var levels = getGrading(sensor, type, carMac)
$.each(levels, function (index, value) {
var color = value.color
@@ -1120,7 +1543,7 @@
}
// ���������������������������������
- function drawPolygon(sensor) {
+ function drawPolygon (sensor) {
$.each(that.showPoints, function (item, point) {
var sw = getPoint(225, point.lng, point.lat, that.distance)
var ne = getPoint(45, point.lng, point.lat, that.distance)
@@ -1135,12 +1558,12 @@
new BMapGL.Point(sw.lng, ne.lat), // ���������
],
{
- strokeWeight: 0.1, //������������������,������������������
+ strokeWeight: 0.1, // ������������������,������������������
// strokeOpacity: 0.0, //������������������
- fillColor: color, //���������������������
- fillOpacity: 0.8, //������������������������0~1������
- strokeColor: 'black', //������������������
- strokeStyle: 'solid', //������������������solid���dashed���
+ fillColor: color, // ���������������������
+ fillOpacity: 0.8, // ������������������������0~1������
+ strokeColor: 'black', // ������������������
+ strokeStyle: 'solid', // ������������������solid���dashed���
}
)
that.map.addOverlay(polygon)
@@ -1150,7 +1573,7 @@
}
// ���������������������
- function drawStartAndEnd() {
+ function drawStartAndEnd () {
var startIcon = new BMapGL.Icon(
require('@/assets/images/start.png'),
new BMapGL.Size(48, 48)
@@ -1175,7 +1598,7 @@
}
// ���������������������
- function drawLine() {
+ function drawLine () {
var data = []
var points = []
$.each(trackPoints, function (index, value) {
@@ -1202,7 +1625,7 @@
}
// ������������>=size���������points
- function getShowPoints(size) {
+ function getShowPoints (size) {
var points = []
points.push(trackPoints[0])
for (var i = 1; i < trackPoints.length; i++) {
@@ -1216,6 +1639,7 @@
}
}
points.push(point1)
+ // console.log(points, 'image.png')
// if (flag) {
// points.push(point1)
// console.log(points, 'points')
@@ -1225,7 +1649,7 @@
}
// ���������������������������������������
- function getPoint(angle, lng, lat, distance) {
+ function getPoint (angle, lng, lat, distance) {
var EARTH_RADIUS = 6378137 // ������������������m
// ���������������������������������������
var ra = distance / EARTH_RADIUS
@@ -1250,7 +1674,7 @@
return new BMapGL.Point(lng, lat)
}
- function getGrading(sensor, type, carMac) {
+ function getGrading (sensor, type, carMac) {
var levels = []
var level0 = {}
var level1 = {}
@@ -1398,7 +1822,7 @@
levels.push(level0, level1, level2, level3, level4, level5, level6)
return levels
}
- function getColorAndLevel(senosor, data) {
+ function getColorAndLevel (senosor, data) {
var levelData = that.sensorTableData
var colorAndLevel = {}
var color
@@ -1597,7 +2021,7 @@
}
// point���������label������
- function setLabelStyle(content, point) {
+ function setLabelStyle (content, point) {
var label = new BMapGL.Label(
"<span class='my-maptip'>" + content + '<br /><span>', // ���lable������������
{
@@ -1624,7 +2048,7 @@
}
// ������������,������������������
- function showNoPoints() {
+ function showNoPoints () {
that.map.centerAndZoom('���������', 17)
setTimeout(function () {
document.getElementById('cpm').style.display = 'block'
@@ -1643,7 +2067,7 @@
})
// var that = this
- function clickChange() {
+ function clickChange () {
$('.carTop').on('click', () => {
// console.log('���������')
that.view.removeAllLayers()
@@ -1673,7 +2097,7 @@
clickChange()
}
},
- changeCode(value) {
+ changeCode (value) {
switch (value) {
case 'PM2.5':
this.sensorKey = 'a34004'
@@ -1711,20 +2135,26 @@
}
this.initStart(this.carData)
},
- changeCode1(index) {
- this.changeColor1 = index
- if (index === 0) {
- this.viewKey = '2D'
- } else {
- this.viewKey = '3D'
- }
- this.getStart()
- },
},
}
</script>
-<style lang="scss" >
+<style lang="scss" scoped>
+.main-container {
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-orient: vertical;
+ -webkit-box-direction: normal;
+ -ms-flex-flow: column;
+ flex-flow: column;
+ min-height: 100%;
+ -webkit-transition: margin-left 0.28s;
+ transition: margin-left 0.28s;
+ margin-left: 210px;
+ position: relative;
+ height: 100%;
+}
/deep/.BMap_cpyCtrl {
display: none;
}
@@ -1816,6 +2246,7 @@
}
.activeArea {
background-color: #f5f7fa;
+ color: rgb(36, 36, 36);
}
/*������������*/
.textShow {
@@ -1843,6 +2274,12 @@
.per-text-data:nth-last-child(1) {
padding-bottom: 8px;
}
+.el-collapse {
+ border-top: 1px solid #ebeef5;
+ border-bottom: 1px solid #ebeef5;
+ width: 280px;
+}
+
/deep/.el-scrollbar__wrap {
overflow-x: hidden;
//overflow-y: hidden;
@@ -1892,6 +2329,94 @@
/deep/.inputNum {
width: 4% !important;
}
+
+.numss {
+ width: 700px;
+ background-color: white;
+ margin-top: 17px;
+ display: flex;
+ height: 60px;
+}
+/deep/.el-select {
+ width: 8% !important;
+}
+.Duo {
+ display: flex;
+ overflow: hidden;
+ background-color: white;
+ width: 750px;
+ padding-left: 10px;
+}
+.spantu {
+ width: 190px;
+ // margin-top: 10px;
+ // margin-left: 20px;
+ // background-color: white;
+ // height: 40px;
+ display: flex;
+ margin-left: 10px;
+ line-height: 60px;
+ font-weight: 5px;
+ color: #696b6f;
+ .inputtu {
+ width: 40%;
+ margin-left: 5px;
+ }
+}
+.slee {
+ line-height: 60px;
+ width: 100px;
+ margin-left: 25px;
+}
+.spantuu {
+ width: 400px;
+ line-height: 60px;
+ color: #696b6f;
+ .inputtu {
+ width: 20%;
+ }
+}
+
+.BMap_cpyCtrl {
+ display: none;
+}
+.anchorBL {
+ display: none;
+}
+.el-collapse-item__arrow.is-active {
+ -webkit-transform: rotate(90deg);
+ transform: rotate(90deg);
+ position: absolute;
+ top: -3px;
+ right: -3px;
+}
+/* ������������������������ x ��������������� */
+.el-scrollbar__wrap {
+ overflow-x: hidden;
+}
+.dataParameter{
+ background-color: rgba(192, 192, 192, 0.4);
+ position: absolute;
+ bottom: 0px;
+ padding: 10px;
+ color: #000;
+ font-size: 16px;
+ cursor: pointer;
+ display: flex;
+ .item{
+ margin: 0px;
+ padding: 0px;
+ }
+}
+</style>
+<style >
+.jlpMySelectPopper.el-picker-panel {
+ width: 280px;
+ height: 330px;
+}
+.jlpMySelectPopper.el-date-picker table {
+ width: 88%;
+}
.dateArrClass {
position: relative;
}
@@ -1906,51 +2431,5 @@
z-index: 999;
background-color: #f40;
}
-.numss {
- width: 750px;
- background-color: white;
- padding: 10px;
- margin-top: 17px;
- display: flex;
-}
-/deep/.el-select {
- width: 8% !important;
-}
-.Duo {
- height: 70px;
- display: flex;
- overflow: hidden;
-}
-.spantu {
- width: 190px;
- // margin-top: 10px;
- // margin-left: 20px;
- // background-color: white;
- // height: 40px;
- display: flex;
- margin-left: 20px;
- line-height: 70px;
- font-weight: 5px;
- .inputtu {
- width: 35%;
- }
-}
-.slee {
- line-height: 70px;
-}
-.spantuu {
- width: 400px;
- line-height: 70px;
- .inputtu {
- width: 20%;
- }
-}
-.jlpMySelectPopper.el-picker-panel {
- width: 280px;
- height: 330px;
-}
-.jlpMySelectPopper.el-date-picker table {
- width: 88%;
-}
-</style>
\ No newline at end of file
+</style>
--
Gitblit v1.8.0