From 63c0ecf98f3705b4c70e4bafee5f325966a5777b Mon Sep 17 00:00:00 2001 From: guoshipeng <3194674006@qq.com> Date: Thu, 06 Jul 2023 09:13:54 +0800 Subject: [PATCH] 提交 --- src/views/averageContrast/index.vue | 266 ++++++++++++++++++++++++++++++++++------------------ 1 files changed, 174 insertions(+), 92 deletions(-) diff --git a/src/views/averageContrast/index.vue b/src/views/averageContrast/index.vue index 4c9d7ed..508984d 100644 --- a/src/views/averageContrast/index.vue +++ b/src/views/averageContrast/index.vue @@ -1,14 +1,18 @@ <template> - <div style="width:100%"> + <div style="width: 100%"> <div class="topSelect"> <el-cascader v-model="newMac" :options="options" clearable placeholder="������������" - style="width: 354px;" + style="width: 354px" /> - <el-select v-model="value" placeholder="������������" style="margin-left:20px"> + <el-select + v-model="value" + placeholder="������������" + style="margin-left: 20px" + > <el-option v-for="item in newSensor" :key="item.value" @@ -20,15 +24,29 @@ <el-radio-button label="������" /> <el-radio-button label="������" /> </el-radio-group> --> - <component :is="dataType" style="padding-left:0;margin-left:20px;width:160px" @sendPickerChild="showPickerChild" /> + <el-date-picker + v-model="timevalue" + type="datetimerange" + range-separator="���" + value-format="yyyy-MM-dd HH" + start-placeholder="������������" + :picker-options="pickerOptions" + end-placeholder="������������" + style="margin-left: 1rem" + > + </el-date-picker> <!--������������--> <el-button @click="selectData" class="btn1">������</el-button> + </div> + <div class="topTitle"> + <div style="position: absolute">{{ selectyz }}</div> + <!-- <div style="text-align: center;width: 100%;">{{ newData }}��{{ newMac?newMac[0]:'' }}��{{ newMac?newMac[newMac.length - 1][0]:'' }}��{{ value |sensorFilter }}�����������</div> --> </div> <!-- <div class="topTitle"> <div style="position:absolute">(������:ug/m��)</div> <div style="text-align: center;width: 100%;">{{ newData }}��{{ newMac?newMac[0]:'' }}��{{ newMac?newMac[newMac.length - 1][0]:'' }}��{{ value |sensorFilter }}�����������</div> </div> --> - <LineChart :chart-data="lineChartData" /> + <LineChart :chart-data="lineChartData" style="height: 30rem" /> </div> </template> @@ -37,45 +55,47 @@ // ���������import������������������from'������������������'; // import LineChart from '@/components/Echarts/LineChartSpe' -import LineChart from '@/components/Echarts/LineChart' +import LineChart from '@/components/Echarts/LineChart2' import DatePicker from '@/components/Form/DatePicker' import MouthPicker from '@/components/Form/MouthPicker' import HourPicker from '@/components/Form/HourPicker' +import HourPicker2 from '@/components/Form/HourPicker2' import CustomPicker from '@/components/Form/CustomPicker' import json from '@/assets/json/sensor.json' const lineChartData = { newVisitis: { expectedData: [100, 120, 161, 134, 105, 160, 165], - actualData: [120, 82, 91, 154, 162, 140, 145] + actualData: [120, 82, 91, 154, 162, 140, 145], }, messages: { expectedData: [200, 192, 120, 144, 160, 130, 140], - actualData: [180, 160, 151, 106, 145, 150, 130] + actualData: [180, 160, 151, 106, 145, 150, 130], }, purchases: { expectedData: [80, 100, 121, 104, 105, 90, 100], - actualData: [120, 90, 100, 138, 142, 130, 130] + actualData: [120, 90, 100, 138, 142, 130, 130], }, shoppings: { expectedData: [130, 140, 141, 142, 145, 150, 160], - actualData: [120, 82, 91, 154, 162, 140, 130] - } + actualData: [120, 82, 91, 154, 162, 140, 130], + }, } export default { -// import ��������������������������������������������������� + // import ��������������������������������������������������� components: { LineChart, DatePicker, MouthPicker, HourPicker, - CustomPicker + HourPicker2, + CustomPicker, }, filters: { - sensorFilter: function(value) { + sensorFilter: function (value) { if (!value) return '' return json[value] - } + }, }, props: { // defaultData: Array @@ -83,7 +103,7 @@ data() { // ������������������ return { - dataType: 'HourPicker', + dataType: 'HourPicker2', lineChartData: lineChartData.purchases, props: { multiple: true }, options: [], @@ -94,19 +114,26 @@ // newMac2:'', newSensor: [], radio1: '������', - unit: 1, + unit: 0, type: 'select', + selectyz: '(������:ug/m��)', + timevalue: [], newLineChartData: { series: [], xAxis: [], - title: '' + title: '', }, newData: '', defaultData: [], newListData: [], chartSensorName: '', middleData: [], - seriesName: ['���������', '���������', '���������'] + seriesName: ['���������', '���������', '���������'], + pickerOptions: { + disabledDate: (time) => { + return time.getTime() > new Date() + }, + }, } }, // ������������ ���������data������ @@ -120,22 +147,59 @@ }, radio1(nv, ov) { if (nv === '������') { - this.dataType = 'HourPicker' + this.dataType = 'HourPicker2' this.unit = 1 } else if (nv === '������') { - this.dataType = 'DatePicker' + this.dataType = 'MouthPicker2' this.unit = 3 } - } + }, + value(one, two) { + if ( + one === 'a34004' || + one === 'a34002' || + one === 'a21004' || + one === 'a21026' || + one === 'a05024' || + one === 'a21001' + ) { + this.selectyz = '(������:ug/m��)' + } else if ( + one === 'a21005' || + one === 'a99054' || + one === 'a31001' || + one === 'a24088' + ) { + this.selectyz = '(������:mg/m��)' + } else if (one === 'a01001') { + this.selectyz = '(������:���)' + } else if (one === 'a01002') { + this.selectyz = '(������:%)' + } else if (one === 'a01007') { + this.selectyz = '(������:m/s)' + } else if (one === 'a01008') { + this.selectyz = '(������:���)' + } else if (one === 'a01006') { + this.selectyz = '(������:hpa)' + } else if (one === 'a00e12') { + this.selectyz = '(������:lux)' + } else if (one === 'a19002') { + this.selectyz = '(������:���)' + } else if (one === 'a00e03' || one === 'a00e04') { + this.selectyz = '(������:pcs/0.1L)' + } else if (one === 'a00e13') { + this.selectyz = '(������:db)' + } else if (one === 'a21028') { + this.selectyz = '(������:ppm)' + } + }, }, // ������������ - ��������������������������������� this ��������� created() { this.getData() }, // ������������ - ��������������������������� DOM ��������� - mounted() { - - }, + mounted() {}, beforeCreate() {}, // ������������ - ������������ beforeMount() {}, // ������������ - ������������ beforeUpdate() {}, // ������������ - ������������ @@ -151,19 +215,28 @@ url: '/monitorPoint/queryMonitorPoints', method: 'get', params: { - organizationId: this.$store.state.orgId - } + organizationId: this.$store.state.orgId, + }, }) .then((res) => { // console.log('������index������������������������') // console.log(res) this.defaultData = res.data.monitorPoints for (let i = 0; i < this.defaultData.length; i++) { - this.options.push({ value: this.defaultData[i].name, label: this.defaultData[i].name }) + this.options.push({ + value: this.defaultData[i].name, + label: this.defaultData[i].name, + }) this.options[i].children = [] if (this.defaultData[i].devices) { for (let j = 0; j < this.defaultData[i].devices.length; j++) { - this.options[i].children.push({ value: [this.defaultData[i].devices[j].name, this.defaultData[i].devices[j].mac], label: this.defaultData[i].devices[j].name }) + this.options[i].children.push({ + value: [ + this.defaultData[i].devices[j].name, + this.defaultData[i].devices[j].mac, + ], + label: this.defaultData[i].devices[j].name, + }) } } } @@ -178,25 +251,27 @@ url: '/deviceInfo/getMacSensors', method: 'post', data: { - macs: this.newMac1 - } - }).then((res) => { - // console.log(res) - this.newSensor = [] - var sensor = res.data - for (var i in sensor) { - this.newSensor.push({ value: i, label: sensor[i] }) - } - }).catch((err) => { - console.log(err) + macs: this.newMac1, + }, }) + .then((res) => { + // console.log(res) + this.newSensor = [] + var sensor = res.data + for (var i in sensor) { + this.newSensor.push({ value: i, label: sensor[i] }) + } + }) + .catch((err) => { + console.log(err) + }) }, // ������ selectData() { var newLineChartData = { series: [], xAxis: [], - title: [] + title: [], } this.newXData = [] this.$request({ @@ -205,37 +280,42 @@ params: { mac: this.newMac1[0], sensor_code: this.value, - date: this.newData - } - }).then((res) => { - // console.log('������������������������������') - // console.log(res) - const data = res.data - const lockLength = 0 - // for (let i = 0; i < data.length; i++) { - // for (let j = 0; j < data[i].values.length; j++) { - // if (lockLength < data[i].values.length) { - // newLineChartData.series.push({ data: [], name: '', type: 'line' }) - // newLineChartData.series[j].name = data[i].values[j].name - // newLineChartData.title.push(data[i].values[j].name) - // } - // lockLength++ - // newLineChartData.series[j].data.push(data[i].values[j].sensorValue) - // } - // } - for (let i = 0; i < 3; i++) { - newLineChartData.series.push({ data: [], name: '', type: 'line' }) - for (let j = 0; j < data.length; j++) { - newLineChartData.series[i].data.push(data[j].values[i]) - newLineChartData.series[i].name = this.seriesName[i] - newLineChartData.xAxis.push(data[j].time) - } - newLineChartData.title = this.seriesName - } - this.lineChartData = newLineChartData - }).catch((err) => { - console.log(err) + startTime: this.timevalue[0], + endTime: this.timevalue[1], + }, }) + .then((res) => { + // console.log('������������������������������') + // console.log(res) + const data = res.data + const lockLength = 0 + // for (let i = 0; i < data.length; i++) { + // for (let j = 0; j < data[i].values.length; j++) { + // if (lockLength < data[i].values.length) { + // newLineChartData.series.push({ data: [], name: '', type: 'line' }) + // newLineChartData.series[j].name = data[i].values[j].name + // newLineChartData.title.push(data[i].values[j].name) + // } + // lockLength++ + // newLineChartData.series[j].data.push(data[i].values[j].sensorValue) + // } + // } + for (let i = 0; i < 3; i++) { + newLineChartData.series.push({ data: [], name: '', type: 'line' }) + for (let j = 0; j < data.length; j++) { + newLineChartData.series[i].data.push(data[j].values[i]) + newLineChartData.series[i].name = this.seriesName[i] + } + newLineChartData.title = this.seriesName + } + for (let y = 0; y < data.length; y++) { + newLineChartData.xAxis.push(data[y].time) + } + this.lineChartData = newLineChartData + }) + .catch((err) => { + console.log(err) + }) }, // ��������������������������������������������� showPickerChild(data) { @@ -303,32 +383,34 @@ }, // ������������������������ filterSensorName() { - this.chartSensorName = this.$options.filters.sensorFilter(this.chartSensorKey[0].sensorCode) - } - } // ���������������keep-alive������������������������������������ + this.chartSensorName = this.$options.filters.sensorFilter( + this.chartSensorKey[0].sensorCode + ) + }, + }, // ���������������keep-alive������������������������������������ } </script> <style scoped lang="scss"> -.topSelect{ - display: flex; - margin-bottom: 20px; - padding: 20px 15px 0 15px; - span:first-child{ - flex: 1; - } - div:last-child{ - width: 300px; - line-height: 40px; - padding-left: 6px; - } +.topSelect { + display: flex; + margin-bottom: 20px; + padding: 20px 15px 0 15px; + span:first-child { + flex: 1; + } + div:last-child { + width: 300px; + line-height: 40px; + padding-left: 6px; + } } -.topTitle{ - display: flex; - justify-content: space-between; - margin-bottom: 20px; - padding: 0 15px; +.topTitle { + display: flex; + justify-content: space-between; + margin-bottom: 20px; + padding: 0 15px; } -.btn1{ +.btn1 { margin-left: 1%; height: 40px; } -- Gitblit v1.8.0