From ec38056995178c94bea0689d6c6fd64ed5da8014 Mon Sep 17 00:00:00 2001
From: quanyawei <401863037@qq.com>
Date: Wed, 27 Dec 2023 15:38:28 +0800
Subject: [PATCH] fix:日期限制取消
---
src/views/UVA/index.vue | 1061 ++++++++++++++++++++++++++++++++++++++++++++++------------
1 files changed, 834 insertions(+), 227 deletions(-)
diff --git a/src/views/UVA/index.vue b/src/views/UVA/index.vue
index afaad8e..0266911 100644
--- a/src/views/UVA/index.vue
+++ b/src/views/UVA/index.vue
@@ -3,56 +3,25 @@
<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"
>
- <el-card class="box-card" style="width: 274px; margin: 13px auto">
- <div slot="header" class="clearfix">
- <div>
- <img
- style="float: left; width: 20px; margin: 15px 0 0 18px"
- src="../../assets/images/uav/calendar.png"
- alt=""
- />
- <span
- style="
- display: inline-block;
- float: left;
- font-size: 16px;
- margin-left: 10px;
- "
- >���������������������</span
- >zzzz
- </div>
- </div>
- <el-scrollbar
- v-if="asideData.dates.length > 0"
- style="height: 200px; overflow-x: hidden"
- class="text item"
- >
- <div
- v-for="(item, index) in asideData.dates"
- class="per-date"
- :class="{ active: asideData.activeKey === index }"
- @click="getTimeAreaData(item, index)"
- :key="index"
- >
- <img
- style="float: left; width: 14px; margin: 18px 0 0 0"
- src="../../assets/images/uav/calendar.png"
- alt=""
- />
- <span
- style="
- display: inline-block;
- float: left;
- font-size: 14px;
- margin-left: 15px;
- "
- >{{ item }}</span
- >
- </div>
- </el-scrollbar>
- <div v-else style="height: 180px; width: 274px; overflow-x: hidden">
+ <div style="width: 274px; margin: 13px auto">
+ <el-date-picker
+ ref="datePick"
+ v-model="datenum"
+ :picker-options="pickerOptions"
+ placeholder="������������"
+ popper-class="jlpMySelectPopper"
+ value-format="yyyy-MM-dd"
+ 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;
@@ -65,12 +34,36 @@
>
���������������
</div>
- </div>
- </el-card>
- <div style="width: 274px; margin: 13px auto; border-radius: 8px">
+ </div> -->
+ <!-- </el-card> -->
+
+ <div
+ style="width: 274px; margin: 10px auto; border-radius: 8px"
+ class="coll"
+ >
<!--accordion ���������������-->
+ <el-collapse v-show="shou1 === true" v-loading="loading">
+ <el-collapse-item
+ 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"
+ >
+ ������������������������������</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"
@@ -79,7 +72,7 @@
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
@@ -97,8 +90,8 @@
v-for="(item, index) in item1.timeSlot"
:key="index"
class="per-date_area"
- :class="{ activeArea: asideData.activeAreaKey === index }"
- @click="getFlyData(item, index)"
+ :class="{ activeArea: asideData.activeKey === index }"
+ @click="getFlyData(item, index, item1.mac)"
>
<div style="width: 100%; margin: 0 auto">
<span>{{
@@ -108,6 +101,7 @@
<span>{{
item.endTime.substr(11, item.startTime.length)
}}</span>
+ <span> ({{ item.total }}���) </span>
</div>
</div>
</el-scrollbar>
@@ -121,32 +115,200 @@
position: fixed;
z-index: 20;
padding-left: 20px;
- height: 75px;
- line-height: 80px;
+ height: 100px;
width: 100%;
font-size: 18px;
- font-weight: bold;
background-color: rgba(192, 192, 192, 0.4);
"
+ class="dds"
>
- <el-radio-group
- v-model="radioSeven"
- size="medium"
- @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-group>
+ <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 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>
+ <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 === 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">
+ <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
+ class="inputtu"
+ v-model="uvasize"
+ clearable
+ placeholder="���������������"
+ ref="uvas"
+ ></el-input>
+ </div>
+ <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>
- <div v-if="noneData" class="noneData">������������������������������</div>
- <div id="map_container" v-loading="loading" />
+ <!-- <div v-if="noneData" class="noneData">������������������������������</div> -->
+ <div id="map_container" v-loading="loading1" />
</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>
@@ -154,6 +316,7 @@
import json from '@/assets/json/sensor.json'
import $ from 'jquery'
import '@/assets/icon/iconfont.css'
+import moment from 'moment'
var GPS = {
PI: 3.14159265358979324,
@@ -213,12 +376,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 }
},
@@ -272,8 +443,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
@@ -339,18 +514,40 @@
export default {
filters: {
sensorFilter: function (value) {
- if (!value) return ''
+ if (!value) {
+ return ''
+ }
return json[value]
},
},
data() {
return {
+ dialogFormVisible: false,
+ chosee: 1,
+ shou1: true,
+ zhanK1: 1,
+ zhanK: 1,
+ Duovalue: '',
+ datenum: new Date(),
+ // orderTime:[Date('2020-06-19'),Date('2021-06-19')]
+ selecttrue: 1,
+ pickerOptions: {
+ cellClassName: (time) => {
+ const timeDate = moment(time.getTime()).format('yyyy-MM-DD')
+ if (this.timeNums.includes(timeDate)) {
+ return 'dateArrClass' // ������������������������������������������
+ }
+ },
+ },
+
+ tallone: 0,
+ talltwo: 120,
// ���������������
asideData: {
dates: [], // ������date������
activeNames: [0],
uavTimeFly: [], // ���������������������������������������������
- activeKey: 0,
+ activeKey: -1,
activeAreaKey: 0,
},
load: 1,
@@ -365,6 +562,7 @@
{ code: 'a05024', name: 'O3' },
{ code: 'a99054', name: 'TVOC' },
],
+ valuetime: '2023-01-01',
defautRadio: { code: 'a34004', name: 'PM2.5' },
Layler: null, // ������������
textMarkers: { code: '', markers: [] }, // ������������������
@@ -377,7 +575,8 @@
radioSeven: 'PM2.5',
bdLon: null,
bdLat: null,
- loading: true,
+ loading: false,
+ loading1: false,
snesorParams: [
'PM2.5',
'PM10',
@@ -397,42 +596,15 @@
radio1: null,
viewOptions: ['������', '������'],
dateValue: [],
- pickerOptions: {
- disabledDate(time) {
- return time.getTime() > Date.now()
- },
- shortcuts: [
- {
- text: '������',
- onClick(picker) {
- picker.$emit('pick', new Date())
- },
- },
- {
- text: '������',
- onClick(picker) {
- const date = new Date()
- date.setTime(date.getTime() - 3600 * 1000 * 24)
- picker.$emit('pick', date)
- },
- },
- {
- text: '���������',
- onClick(picker) {
- const date = new Date()
- date.setTime(date.getTime() - 3600 * 1000 * 24 * 7)
- picker.$emit('pick', date)
- },
- },
- ],
- },
timeOne: '',
threeOptions: {
onPick: ({ maxDate, minDate }) => {
// ������������ ������������
this.timeOne = minDate.getTime() // ��������������������� ������������������
// ������������������������������������������������������������
- if (maxDate) this.timeOne = ''
+ if (maxDate) {
+ this.timeOne = ''
+ }
},
disabledDate: (time) => {
if (this.timeOne) {
@@ -450,10 +622,30 @@
},
},
sensorDate: null,
- noneData: false,
+ noneData: true,
defaultData: [],
carMac: null,
- dialogFormVisible: false,
+ optionsduo: [
+ { code: 'a34004', name: 'PM2.5' },
+ { code: 'a34002', name: 'PM10' },
+ { code: 'a21026', name: 'SO2' },
+ { code: 'a21004', name: 'NO2' },
+ { code: 'a21005', name: 'CO' },
+ { code: 'a05024', name: 'O3' },
+ { code: 'a99054', name: 'TVOC' },
+ {
+ code: 'a01006',
+ name: '������',
+ },
+ {
+ code: 'a01001',
+ name: '������',
+ },
+ {
+ code: 'a01002',
+ name: '������',
+ },
+ ],
sensorTableData: [
{
sensorName: 'PM2.5',
@@ -535,6 +727,19 @@
tab5: '20000',
tab6: '50000',
},
+
+ {
+ sensorName: '������',
+ unit: 'hpa',
+ },
+ {
+ sensorName: '������',
+ unit: '%',
+ },
+ {
+ sensorName: '������',
+ unit: '���',
+ },
],
carWs: null,
map: null,
@@ -573,15 +778,97 @@
endTime: '',
dataDate: '',
sensorTime: [],
+ uvasize: 20,
timeValue: [
new Date(2020, 1, 1, 0, 0, 0),
new Date(2022, 12, 31, 23, 59, 59),
],
+ 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',
+ },
+ ],
}
- },
- mounted() {
- // this.getDate()
- // this.flyData()
},
watch: {
dataTypeValue(n, o) {
@@ -606,14 +893,140 @@
deep: true,
immediate: true,
},
+
+ mounted() {
+ this.$nextTick(() => {
+ this.initStart()
+ })
+
+ // this.$refs.datePick.focus()
+ // this.getDate()
+ // this.flyData()
+ },
created() {
this.newTime(this.timeValue)
this.newDate()
this.getDate()
- // this.$watch('carMac', () => {
- // })
+
+ // this.getFlyData()
},
methods: {
+ 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/getUav',
+ // url: '/uav/test',
+ method: 'post',
+ data: {
+ batch: this.batchs,
+ uvasize: this.uvasize,
+ mac: this.macs,
+ height1: this.tallone,
+ height2: this.talltwo,
+ // batch: '2023-06-16 16:21:21',
+ },
+ }).then((res) => {
+ // console.log(res)
+ this.carData = []
+ if (res.data === 'null') {
+ this.noneData = true
+ return
+ }
+ for (var i = 0; i < res.data.length; i++) {
+ res.data[i].flyLat = res.data[i].flyLat + ' ��'.toString()
+ res.data[i].flyLon = res.data[i].flyLon + ' ��'.toString()
+ // res.data[i].a34004 = Math.floor(Math.random() * 100 + 1)
+ this.carData.push(res.data[i])
+ }
+ if (this.Duovalue != '') {
+ this.radioSeven = ''
+ }
+ this.changeCode(this.Duovalue)
+ this.initStart(this.carData)
+ })
+ },
+ chooseDate() {
+ // this.$refs.datePick.focus() // ���������������������������������
+ this.getTimeAreaData(this.datenum)
+ $('.coll').css('margin-top', '350px')
+ },
+ 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
+ $('.numss').css({ width: '1050px' })
+ },
+ shou() {
+ this.selecttrue = 1
+ $('.numss').css({ width: '700px' })
+ },
+ parseTime(time, cFormat) {
+ if (arguments.length === 0 || !time) {
+ return null
+ }
+ const format = cFormat || '{y}-{m}-{d} {h}:{i}:{s}'
+ let date
+ if (typeof time === 'object') {
+ date = time
+ } else {
+ if (typeof time === 'string') {
+ if (/^[0-9]+$/.test(time)) {
+ time = parseInt(time)
+ } else {
+ time = time.replace(new RegExp(/-/gm), '/')
+ }
+ }
+
+ if (typeof time === 'number' && time.toString().length === 10) {
+ time = time * 1000
+ }
+ date = new Date(time)
+ }
+ const formatObj = {
+ y: date.getFullYear(),
+ m: date.getMonth() + 1,
+ d: date.getDate(),
+ h: date.getHours(),
+ i: date.getMinutes(),
+ s: date.getSeconds(),
+ a: date.getDay(),
+ }
+ const time_str = format.replace(/{([ymdhisa])+}/g, (result, key) => {
+ const value = formatObj[key]
+ if (key === 'a') {
+ return ['���', '���', '���', '���', '���', '���', '���'][value]
+ }
+ return value.toString().padStart(2, '0')
+ })
+ return time_str
+ },
newTime2(timeArr) {
var arr = []
timeArr.map((v) => {
@@ -633,12 +1046,6 @@
})
return arr
},
- // ���������������������������������
- changeCarData(e) {
- this.carMac = e
- this.getStart()
- },
- // ���������������������������
// ���������������������������������������
Rad(d) {
return (d * Math.PI) / 180.0 // ���������������������������������������������������
@@ -703,13 +1110,12 @@
}
this.dataType = 'history'
// this.map = null
- this.getStart()
}
},
// ���������������������������������
- getTimeAreaData(item, index) {
- this.asideData.activeAreaKey = -1
- this.asideData.activeKey = index
+ getTimeAreaData(item) {
+ // this.asideData.uavTimeFly = []
+ this.loading = true
this.$request({
url: 'uav/queryTimeSlot',
method: 'get',
@@ -718,14 +1124,16 @@
date: item,
},
}).then((res) => {
- console.log(res.data.vos.length, '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
- return false
- }else{
+ // 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
// }
@@ -744,35 +1152,52 @@
this.addLayers(item)
},
// ���������������
- getFlyData(item, index) {
- console.log(index, 'index')
- console.log(item.batch)
+ 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
if (this.view) {
this.view.removeAllLayers()
this.map.clearOverlays()
}
this.$request({
- url: '/uav/queryDataByBatch',
- method: 'get',
- params: {
+ // url: '/uav/queryDataByBatch',
+ // url: '/uav/test',
+ url: '/uav/getUav',
+ method: 'post',
+ data: {
batch: item.batch,
+ uvasize: this.uvasize,
+ 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
}
- if (res.data.vos.length) {
- for (var i = 0; i < res.data.vos.length; i++) {
- this.carData.push(JSON.parse(res.data.vos[i].value))
- }
- this.initStart(this.carData)
+ for (var i = 0; i < res.data.length; i++) {
+ res.data[i].flyLat = res.data[i].flyLat + ' ��'.toString()
+ res.data[i].flyLon = res.data[i].flyLon + ' ��'.toString()
+ // res.data[i].a34004 = Math.floor(Math.random() * 100 + 1)
+ this.carData.push(res.data[i])
}
+ this.initStart(this.carData)
+ this.zhanK = 2
})
},
// ������������������������������������������
@@ -785,25 +1210,80 @@
},
}).then((res) => {
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)
- setTimeout(() => {
- if (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)
- }
- }, 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');
this.abc += 1
const that = this
if (!res) {
+ 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(0) // ������������������
+ if (that.viewKey === '2D') {
+ that.map.setTilt(0) // ������������
+ } else {
+ that.map.setTilt(52)
+ }
+ that.map.setMapStyleV2({
+ styleJson: [
+ {
+ featureType: 'road',
+ elementType: 'all',
+ stylers: {
+ color: '#ffffff',
+ visibility: 'off',
+ },
+ },
+ {
+ featureType: 'building',
+ elementType: 'all',
+ stylers: {
+ visibility: 'off',
+ },
+ },
+ {
+ featureType: 'poilabel',
+ elementType: 'all',
+ stylers: {
+ visibility: 'off',
+ },
+ },
+ {
+ featureType: 'manmade',
+ elementType: 'all',
+ stylers: {
+ visibility: 'off',
+ },
+ },
+ ],
+ })
+ showNoPoints()
+ this.loading1 = false
return
}
if (this.dataType === 'history') {
@@ -815,98 +1295,96 @@
// 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') {
+ if (typeof value.flyLon === 'undefined') {
showNoPoints()
} else {
var lng = parseFloat(
- value.flylon.substr(0, value.flylon.length - 1)
+ value.flyLon.substr(0, value.flyLon.length - 1)
)
var lat = parseFloat(
- value.flylat.substr(0, value.flylat.length - 1)
+ 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.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)
- if (
- value.dustld - 0 !== 0 &&
- value.dustld - 0 < 100 &&
- (that.carMac === 'p5dnd7a0243622' ||
- that.carMac === 'p5dnd7a0243625')
- ) {
- point.dustld = 100
- } else {
- point.dustld = value.dustld - 0
- }
- // point.dustld = value.dustld - 0
+ point.dustld = value.dustld - 0
trackPoints.push(point)
}
})
that.sensor = this.sensorKey
that.viewType = this.viewKey
- that.size = 10
+ that.size = this.uvasize
that.distance = that.size / 2 / Math.sin((1 * Math.PI) / 4)
// ���������������������������������
- if (!that.showPoints) {
- that.map = new BMapGL.Map('map_container')
- }
- that.map.enableScrollWheelZoom(true) // ������������������������������������������������������
- 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)
- }
+ // 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({
// // ������������������
- // skyColors: ['rgba(186, 0, 255, 0)', 'rgba(186, 0, 255, 0.2)'], // ������������
- // building: false, // ������������������
- // poiText: true, // ������poi������
+ // // skyColors: ['rgba(186, 0, 255, 0)', 'rgba(186, 0, 255, 0.2)'], // ������������
+ // 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()
}
that.showPoints = getShowPoints(that.size)
that.viewport = that.map.getViewport(eval(that.showPoints))
- console.log(eval(that.showPoints), 'eval(that.showPoints)') // ������������������������������(���������������������������,���������������������������������������������������������
+ // console.log(eval(that.showPoints), 'eval(that.showPoints)') // ������������������������������(���������������������������,���������������������������������������������������������
that.mapZoom = that.viewport.zoom
- console.log(that.mapZoom, 'that.mapZoom')
+ // 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)
}
}
@@ -957,10 +1435,12 @@
new BMapGL.Point(sw.lng, ne.lat), // ���������
],
{
- strokeWeight: 0.5,
- strokeOpacity: 0.0,
- fillColor: color,
- fillOpacity: 1,
+ strokeWeight: 0.1, // ������������������,������������������
+ // strokeOpacity: 0.0, //������������������
+ fillColor: color, // ���������������������
+ fillOpacity: 0.8, // ������������������������0~1������
+ strokeColor: 'black', // ������������������
+ strokeStyle: 'solid', // ������������������solid���dashed���
}
)
that.map.addOverlay(polygon)
@@ -1035,10 +1515,12 @@
flag = false
}
}
- if (flag) {
- points.push(point1)
- console.log(points,'points');
- }
+ points.push(point1)
+ // console.log(points, 'image.png')
+ // if (flag) {
+ // points.push(point1)
+ // console.log(points, 'points')
+ // }
}
return points
}
@@ -1097,7 +1579,7 @@
$.each(that.showPoints, function (index, value) {
var sw = getPoint(225, value.lng, value.lat, that.distance)
- var ne = getPoint(45, value.lng, value.lat, that.distance)
+ var ne = getPoint(45, value.lng, value.lat, 30)
var polygon = []
var point1 = []
var point2 = []
@@ -1370,6 +1852,24 @@
level = 6
}
break
+ case 'a01006':
+ if (data) {
+ color = '#00e400'
+ level = 1
+ }
+ break
+ case 'a01001':
+ if (data) {
+ color = '#00e400'
+ level = 1
+ }
+ break
+ case 'a01002':
+ if (data) {
+ color = '#00e400'
+ level = 1
+ }
+ break
case 'dustld':
if (data < levelData[7].tab1) {
color = '#00e400'
@@ -1497,26 +1997,41 @@
case 'TVOC':
this.sensorKey = 'a99054'
break
+ case '������':
+ this.sensorKey = 'a01002'
+ break
+ case '������':
+ this.sensorKey = 'a01001'
+ break
+ case '������':
+ this.sensorKey = 'a01006'
+ break
case 'dustld':
this.sensorKey = 'dustld'
break
}
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" 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;
}
@@ -1546,12 +2061,6 @@
z-index: 10;
}
-/deep/ .el-input__inner {
- height: 40px;
-}
-/deep/ .el-picker-panel__body {
- width: 280px;
-}
.el-main {
padding: 0;
width: 100%;
@@ -1576,6 +2085,7 @@
height: 38px;
border-radius: 0;
width: 80px;
+ line-height: 0.5;
}
.per-date {
height: 50px;
@@ -1613,6 +2123,7 @@
}
.activeArea {
background-color: #f5f7fa;
+ color: rgb(36, 36, 36);
}
/*������������*/
.textShow {
@@ -1640,6 +2151,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;
@@ -1686,5 +2203,95 @@
font-size: 14px;
font-family: '������������';
}
-</style>
+/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;
+}
+</style>
+<style >
+.jlpMySelectPopper.el-picker-panel {
+ width: 280px;
+ height: 330px;
+}
+.jlpMySelectPopper.el-date-picker table {
+ width: 88%;
+}
+.dateArrClass {
+ position: relative;
+}
+.dateArrClass > div ::after {
+ content: '';
+ position: absolute;
+ right: 8px;
+ top: 23px;
+ width: 5px;
+ height: 5px;
+ border-radius: 50%;
+ z-index: 999;
+ background-color: #f40;
+}
+</style>
--
Gitblit v1.8.0