From 06a11cbc631b4e362cef0e3c487d680f2c0266a7 Mon Sep 17 00:00:00 2001 From: chenzeping <ChenZeping02609@163.com> Date: 星期二, 20 四月 2021 17:53:43 +0800 Subject: [PATCH] 废水图表实时数据展示 --- src/components/BaseNav/WasteWater/RealData.vue | 1099 ++++++++++++------------------------------- src/components/BaseNav/WasteWater/PublicBorder.vue | 62 ++ src/components/BaseNav/WasteWater/WasteWaterIndex.vue | 168 ------ src/components/BaseNav/WasteWater/PublicForm.vue | 144 +++++ 4 files changed, 534 insertions(+), 939 deletions(-) diff --git a/src/components/BaseNav/WasteWater/PublicBorder.vue b/src/components/BaseNav/WasteWater/PublicBorder.vue new file mode 100644 index 0000000..404833d --- /dev/null +++ b/src/components/BaseNav/WasteWater/PublicBorder.vue @@ -0,0 +1,62 @@ +<template> + <div class="public-border"> + <span></span> + <span></span> + <span></span> + <span></span> + </div> +</template> + +<script> +export default { + name: 'PublicBorder' +} +</script> + +<style lang="less" scoped> +.public-border { + position: relative; + background-color: @background-color; + border: 1px solid #396d83; +} + +.public-border span:nth-child(1) { + position: absolute; + left: -1px; + top: -1px; + padding: 6px; + border-style: solid; + border-color: #02a6b5; + border-width: 1px 0 0 1px; +} + +.public-border span:nth-child(2) { + position: absolute; + right: -1px; + top: -1px; + padding: 6px; + border-style: solid; + border-color: #02a6b5; + border-width: 1px 1px 0 0; +} + +.public-border span:nth-child(3) { + position: absolute; + right: -1px; + bottom: -1px; + padding: 6px; + border-style: solid; + border-color: #02a6b5; + border-width: 0 1px 1px 0; +} + +.public-border span:nth-child(4) { + position: absolute; + left: -1px; + bottom: -1px; + padding: 6px; + border-style: solid; + border-color: #02a6b5; + border-width: 0 0 1px 1px; +} +</style> diff --git a/src/components/BaseNav/WasteWater/PublicForm.vue b/src/components/BaseNav/WasteWater/PublicForm.vue new file mode 100644 index 0000000..d1df7dd --- /dev/null +++ b/src/components/BaseNav/WasteWater/PublicForm.vue @@ -0,0 +1,144 @@ +<template> + <div class="public-form"> + <div class="from-search"> + <div class="pickerMon"> + <div class="pickerData"> + <span> 寮�濮嬫椂闂�:</span> + <span class="pickerTable"> + <el-date-picker type="datetime" v-model="formInline.timeStart"></el-date-picker> + </span> + </div> + <div class="pickerData"> + <span>缁撴潫鏃堕棿:</span> + <span class="pickerTable"> + <el-date-picker type="datetime" v-model="formInline.timeEnd"></el-date-picker> + </span> + </div> + </div> + <div> + <span>閲囨牱鐐规暟:</span> + <el-select v-model="formInline.region" placeholder="50"> + <el-option label="0" value="0"></el-option> + <el-option label="25" value="25"></el-option> + <el-option label="50" value="50"></el-option> + <el-option label="75" value="75"></el-option> + <el-option label="100" value="100"></el-option> + </el-select> + </div> + <div class="detailbtn" @click="onSubmit">鏌ヨ</div> + </div> + </div> +</template> + +<script> +export default { + name: 'PublicForm', + data () { + return { + formInline: { + timeStart: '', + timeEnd: '' + } + } + }, + methods: { + onSubmit () { + console.log('onsubmit') + } + } +} +</script> + +<style lang="less" scoped> +.public-form { + width: 100%; + border-top: 1px solid #396d83; + //margin: 10px 10px 10px 10px; + .from-search { + display: flex; + padding: 5px; + + > div { + margin-left: 10px + } + + .pickerMon { + display: flex; + + > div:first-child { + margin-right: 10px; + } + + .pickerData { + flex: 1; + display: flex; + + > span { + line-height: 22px + } + + .pickerTable { + margin-left: 3px; + } + } + } + + /deep/ .el-date-editor--datetime { + width: 100%; + } + + /deep/ .el-input__inner { + position: relative; + width: 140px; + background-color: #2e4967; + color: #fff; + font-size: 12px; + height: 24px; + padding: 0; + border-color: #00fff6; + text-align: center; + z-index: 9999; + //padding-left:20px ; + //padding: 0!important; + } + + /deep/ .el-input__icon { + display: block; + width: 140px; + height: 22px; + line-height: 22px; + cursor: pointer; + font-size: 0; + } + + .echatsInput { + color: #00ffff; + background-color: #2e4967; + border: none; + border-radius: 6px; + width: 80px; + height: 22px; + } + + input::-webkit-calendar-picker-indicator { + opacity: 100; + } + + .detailbtn { + background-color: #2e4967; + text-align: center; + padding: 0 7px; + line-height: 20px; + border-radius: 4px; + margin-right: 6px; + } + + } + + .el-dialog-div { + //height: 50vh!important; + overflow: auto; + //overflow: hidden; + } +} +</style> diff --git a/src/components/BaseNav/WasteWater/RealData.vue b/src/components/BaseNav/WasteWater/RealData.vue index c96fd27..2cf6000 100644 --- a/src/components/BaseNav/WasteWater/RealData.vue +++ b/src/components/BaseNav/WasteWater/RealData.vue @@ -52,7 +52,7 @@ dataStandard: [ { current: { - name: '姘哀鍖栫墿1', + name: '姘哀鍖栫墿', val: 29.93 }, standard: { @@ -108,10 +108,10 @@ yname: ' 娴撳害(mg/m鲁)' }, - JSONTimeData: { - id: 21, - unionTagCodeList: [] - } + // 瀹炴椂鏁版嵁鍒楄〃 + RealTimeDataList: [], + bzz: null, + bzzList: [] } }, mounted () { @@ -120,6 +120,10 @@ }) }, methods: { + // 鐐瑰嚮鏌ヨ鎸夐挳鍔熻兘 + onSubmit () { + this.DrawEXHRealTimeDateChart() + }, // 鍒濆鍖栨暟鎹幏鍙杄charts鐨刼ptions鏁版嵁 async initEchartsData () { // 鐢ㄤ簬鎺ュ彛鏁版嵁璇锋眰鐨勫弬鏁� 寮�濮�/缁撴潫鏃堕棿 || 鍙�夋嫨鏌ヨ鐨勫紑濮�/缁撴潫鏃堕棿 @@ -132,547 +136,253 @@ $step: 15 } const result = (await mapApi.DataItems(data)).data - console.log(result) - - // this.hash(result) - // this.hashtime(result) - // this.dealwithData(result) - this.DrawEXHRealTimeDateChart() - this.myChart.hideLoading() + this.getRtdb15s(result) }, - // 鏁版嵁澶勭悊 - dealwithData (result) { - // 澶勭悊鏁版嵁寮�濮� - const d = result - // const nameList = [] // 瀛樻斁鍥句緥 + // echarts鏁版嵁澶勭悊 + getRtdb15s (res) { + if (res.length > 0) { + // 澶勭悊鏁版嵁寮�濮� + const d = res + const nameList = [] // 瀛樻斁鍥句緥 + // 鏁版嵁绫诲瀷// var data={name:'',value:[now1.getFullYear(), now1.getMonth() + 1, now1.getDate().join('/'),value]} + let data = {} + // 瀛樻斁data鐨勬暟缁� + let datalist + // var bzh = [] - let data // 鏁版嵁绫诲瀷// var data={name:'',value:[now1.getFullYear(), now1.getMonth() + 1, now1.getDate().join('/'),value]} - // const datalist // 瀛樻斁data鐨勬暟缁� - // const bzh = [] - for (let i = 0; i < d.length; i++) { - const name = d[i].UnionTagCode - const newdate = d[i].ReadTime - data = { - name: name, - value: [newdate, d[i].TagValue] + for (let i = 0; i < d.length; i++) { + if (d[i].ErrorMessage != null) { + continue + } + // 涓存椂name鏁版嵁 + const nameListTemp = [ + { + 'TJIP45.lscl2tbAIA-10505-1': '姘哀鍖栫墿', + 'TJIP45.lscl2tbAIA-10505-2': '鐑熷皹', + 'TJIP45.lscl2tb552AISA11202A': '浜屾哀鍖栫7', + 'TJIP45.lscl2tb552AISA11201B': 'ph', + 'TJIP45.lscl2tb552AI10710': '浜屾哀鍖栫⒊' + } + ] + + const name = nameListTemp[0][d[i].UnionTagCode] + + if (nameList.length === 0) { + nameList.push(name) + const newdate = new Date(d[i].ReadTime) + data = { + name: name, + value: [newdate, d[i].TagValue] + } + datalist = { + name: name, + data: [data] + } + + this.RealTimeDataList.push(datalist) + console.log(this.RealTimeDataList) + + // bzh.push(d[i].StdValue); + } else if (nameList.indexOf(name) < 0) { + nameList.push(name) + // bzh.push(d[i].StdValue); + + const newdate = new Date(d[i].ReadTime) + + data = { + name: name, + value: [newdate, d[i].TagValue] + } + datalist = { + name: name, + data: [data] + } + this.RealTimeDataList.push(datalist) + } else if (i === d.length - 1) { + if (nameList.indexOf(name) < 0) { + nameList.push(name) + // bzh.push(d[i].StdValue); + const newdate = new Date(d[i].ReadTime) + data = { + name: name, + value: [newdate, d[i].TagValue] + } + datalist = { + name: name, + data: [data] + } + this.RealTimeDataList.push(datalist) + } else { + const newdate = new Date(d[i].ReadTime) + data = { + name: name, + value: [newdate, d[i].TagValue] + } + for (var k = 0; k < this.RealTimeDataList.length; k++) { + if (this.RealTimeDataList[k].name === name) { + this.RealTimeDataList[k].data.push(data) + } + } + } + } else { + const newdate = new Date(d[i].ReadTime) + data = { + name: name, + value: [newdate, d[i].TagValue] + } + for (let k = 0; k < this.RealTimeDataList.length; k++) { + if (this.RealTimeDataList[k].name === name) { + this.RealTimeDataList[k].data.push(data) + } + } + } } - console.log(data) - // for (var k = 0; k < RealTimeDataList.length; k++) { - // if (RealTimeDataList[k].name == name) { - // RealTimeDataList[k].data.push(data) - // } - // } + + const divid = 'mycharteff_second' + const title = name + + const lengList = [] + let objTemp = [] + console.log(objTemp) + + for (let l = 0; l < nameList.length; l++) { + let obj + let iconurl + if (nameList[l] === 'ph') { + iconurl = 'image://../assets/imgs/legend/WenDu.png' + } else if (nameList[l] === '姘哀鍖栫墿') { + iconurl = 'image://../assets/imgs/legend/NOX.png' + } else if (nameList[l] === '鐑熷皹') { + iconurl = 'image://../assets/imgs/legend/zongdan.png' + } else if (nameList[l] === '浜屾哀鍖栫7') { + iconurl = 'image://../assets/imgs/legend/YanChen.png' + } else if (nameList[l] === '浜屾哀鍖栫⒊') { + iconurl = 'image://../assets/imgs/legend/VOCs.png' + } + + if (nameList[l] === '搴熸按' || nameList[l] === '搴熸按娴侀噺') { // 灏嗗簾姘存祦閲忔帓鍒版暟缁勬渶鍚� + // eslint-disable-next-line no-const-assign + objTemp = { + name: nameList[l], + icon: iconurl, + textStyle: { + color: '#ccc' + }, + itemWidth: 20, + itemHeight: 5 + } + } else { + obj = { + name: nameList[l], + icon: iconurl, + textStyle: { + color: '#ccc' + }, + itemWidth: 20, + itemHeight: 5 + } + lengList.push(obj) + } + // console.log(lengList) + } + lengList.push(objTemp) + + const legend = lengList + // const xdata = dateList.reverse(); + const ydatas = [] + + for (let j = 0; j < nameList.length; j++) { + let zdcbcolor, zxcolor + if (nameList[j] === 'ph') { + zdcbcolor = 'red' + zxcolor = '#f206ff' + } else if (nameList[j] === '鐑熷皹') { + zdcbcolor = 'red' + zxcolor = '#e0ffff' + } else if (nameList[j] === '姘哀鍖栫墿') { + zdcbcolor = 'red' + zxcolor = '#00B0F0' + } else if (nameList[j] === '浜屾哀鍖栫⒊') { + zdcbcolor = 'red' + zxcolor = '#9ACD32' + } else if (nameList[j] === '浜屾哀鍖栫7') { + zdcbcolor = 'red' + zxcolor = '#f48183' + } + let ydata + // 涓存椂鏁版嵁 + const BBZMAPPING = [ + { + COD: 35, + 搴熸按娴侀噺: null, + 鎬绘爱: 15, + 鎬荤7: 0.3, + 榛贰: 3 + } + ] + for (let m = 0; m < this.RealTimeDataList.length; m++) { + let stdValue = null + if (this.RealTimeDataList[m].name === nameList[j]) { + // for (let p in BBZMAPPING) { + // stdValue = BBZMAPPING[this.RealTimeDataList[m].name] + // } + BBZMAPPING.forEach((item) => { + stdValue = BBZMAPPING[this.RealTimeDataList[m].name] + }) + ydata = { + name: nameList[j], + data: this.RealTimeDataList[m].data, + zdcbcolor: zdcbcolor, + zxcolor: zxcolor, + bzz: stdValue + } + this.bzz = { + name: nameList[j], + bzhui: stdValue + } + this.bzzList.push(this.bzz) + ydatas.push(ydata) + } + } + } + const yname = '娴撳害(mg/l)' + this.DrawRealTimeDateChart(divid, title, legend, ydatas, yname) + // + // this.IntervalRealTimeDate(id, unionTagCodeList, BBZMAPPING) + this.IntervalRealTimeDate() } }, - // hash (result) { - // // const hash = [] - // // for (let i = 0; i < result.length; i++) { - // // if (hash.indexOf(result[i].UnionTagCode) === -1) { - // // hash.push(result[i].UnionTagCode) - // // } - // // } - // // console.log(hash) - // // this.JSONTimeData.unionTagCodeList = hash - // // var lengList = [] - // var lengList = result - // var objTemp - // - // for (var l = 0; l < lengList.length; l++) { - // var obj - // var iconurl - // if (lengList[l] == 'COD') { - // iconurl = 'image://../assets/imgs/legend/SO2.png' - // } else if (nameList[l] == '姘ㄦ爱') { - // iconurl = 'image://../assets/imgs/legend/NOX.png' - // } else if (nameList[l] == '鎬荤7') { - // iconurl = 'image://../assets/imgs/legend/YanChen.png' - // } else if (nameList[l] == '鎬绘爱') { - // iconurl = 'image://../assets/imgs/legend/zongdan.png' - // } else { - // iconurl = 'image://../assets/imgs/legend/VOCs.png' - // } - // - // if (nameList[l] == '搴熸按' || nameList[l] == '搴熸按娴侀噺') { // 灏嗗簾姘存祦閲忔帓鍒版暟缁勬渶鍚� - // objTemp = { - // name: nameList[l], - // icon: iconurl, - // textStyle: { - // color: '#ccc' - // }, - // itemWidth: 20, - // itemHeight: 5 - // } - // } else { - // obj = { - // name: nameList[l], - // icon: iconurl, - // textStyle: { - // color: '#ccc' - // }, - // itemWidth: 20, - // itemHeight: 5 - // } - // lengList.push(obj) - // } - // } - // lengList.push(objTemp) - // }, - hashtime (result) { - const hashtime = [] - for (let i = 0; i < result.length; i++) { - if (hashtime.indexOf(result[i].ReadTime) === -1) { - hashtime.push(result[i].ReadTime) - } - } - console.log(hashtime) - }, - DrawEXHRealTimeDateChart () { - // 璧嬪�肩殑鏁版嵁 - // var legend = this.echartsOptions.legend - // var ydatas = this.echartsOptions.ydatas - const yname = this.echartsOptions.yname - const ydatas = [ - { - name: '姘哀鍖栫墿', - zdcbcolor: '#00B0F0', - zxcolor: '#00B0F0', - bzz: 50, - data: [{ - name: '姘哀鍖栫墿', - value: ['2021/04/13 09:18:19', 39.51431] - }, - { - name: '姘哀鍖栫墿', - value: ['2021/04/13 09:18:34', 38.76508] - }, - { - name: '姘哀鍖栫墿', - value: ['2021/04/13 09:18:49', 37.57471] - }, - { - name: '姘哀鍖栫墿', - value: ['2021/04/13 09:19:04', 36.3796] - }, - { - name: '姘哀鍖栫墿', - value: ['2021/04/13 09:19:19', 36.10718] - }, - { - name: '姘哀鍖栫墿', - value: ['2021/04/13 09:19:34', 35.81126] - }, - { - name: '姘哀鍖栫墿', - value: ['2021/04/13 09:19:49', 35.9184] - }, - { - name: '姘哀鍖栫墿', - value: ['2021/04/13 09:20:04', 36.08839] - }, - { - name: '姘哀鍖栫墿', - value: ['2021/04/13 09:20:19', 36.3718] - }, - { - name: '姘哀鍖栫墿', - value: ['2021/04/13 09:20:34', 36.8966] - }, - { - name: '姘哀鍖栫墿', - value: ['2021/04/13 09:20:49', 37.3998] - }, - { - name: '姘哀鍖栫墿', - value: ['2021/04/13 09:21:04', 37.11937] - }, - { - name: '姘哀鍖栫墿', - value: ['2021/04/13 09:21:19', 36.12424] - }, - { - name: '姘哀鍖栫墿', - value: ['2021/04/13 09:21:34', 34.99567] - }, - { - name: '姘哀鍖栫墿', - value: ['2021/04/13 09:21:49', 34.48063] - }, - { - name: '姘哀鍖栫墿', - value: ['2021/04/13 09:22:04', 34.62222] - }, - { - name: '姘哀鍖栫墿', - value: ['2021/04/13 09:22:19', 34.84583] - }, - { - name: '姘哀鍖栫墿', - value: ['2021/04/13 09:22:34', 35.80923] - }, - { - name: '姘哀鍖栫墿', - value: ['2021/04/13 09:22:49', 35.93465] - }, - { - name: '姘哀鍖栫墿', - value: ['2021/04/13 09:23:04', 35.78891] - }, - { - name: '姘哀鍖栫墿', - value: ['2021/04/13 09:23:19', 35.54268] - }] - }, - { - name: '浜屾哀鍖栫~', - data: [{ - name: '浜屾哀鍖栫~', - value: ['2021/04/13 09:18:19', 5.112573] - }, - { - name: '浜屾哀鍖栫~', - value: ['2021/04/13 09:18:34', 4.578955] - }, - { - name: '浜屾哀鍖栫~', - value: ['2021/04/13 09:18:49', 4.869465] - }, - { - name: '浜屾哀鍖栫~', - value: ['2021/04/13 09:19:04', 5.270735] - }, - { - name: '浜屾哀鍖栫~', - value: ['2021/04/13 09:19:19', 5.355475] - }, - { - name: '浜屾哀鍖栫~', - value: ['2021/04/13 09:19:34', 5.242907] - }, - { - name: '浜屾哀鍖栫~', - value: ['2021/04/13 09:19:49', 5.230558] - }, - { - name: '浜屾哀鍖栫~', - value: ['2021/04/13 09:20:04', 5.262951] - }, - { - name: '浜屾哀鍖栫~', - value: ['2021/04/13 09:20:19', 5.268744] - }, - { - name: '浜屾哀鍖栫~', - value: ['2021/04/13 09:20:34', 5.159671] - }, - { - name: '浜屾哀鍖栫~', - value: ['2021/04/13 09:20:49', 4.955352] - }, - { - name: '浜屾哀鍖栫~', - value: ['2021/04/13 09:21:04', 5.110546] - }, - { - name: '浜屾哀鍖栫~', - value: ['2021/04/13 09:21:19', 5.235723] - }, - { - name: '浜屾哀鍖栫~', - value: ['2021/04/13 09:21:34', 5.443502] - }, - { - name: '浜屾哀鍖栫~', - value: ['2021/04/13 09:21:49', 5.708939] - }, - { - name: '浜屾哀鍖栫~', - value: ['2021/04/13 09:22:04', 5.882327] - }, - { - name: '浜屾哀鍖栫~', - value: ['2021/04/13 09:22:19', 6.017494] - }, - { - name: '浜屾哀鍖栫~', - value: ['2021/04/13 09:22:34', 5.410021] - }, - { - name: '浜屾哀鍖栫~', - value: ['2021/04/13 09:22:49', 5.379694] - }, - { - name: '浜屾哀鍖栫~', - value: ['2021/04/13 09:23:04', 5.551433] - }, - { - name: '浜屾哀鍖栫~', - value: ['2021/04/13 09:23:19', 5.819743] - }], - zdcbcolor: 'red', - zxcolor: '#fff21c', - bzz: 50 - }, - { - name: '搴熸皵娴侀噺', - data: [{ - name: '搴熸皵娴侀噺', - value: ['2021/04/13 09:18:19', 5.012617] - }, - { - name: '搴熸皵娴侀噺', - value: ['2021/04/13 09:18:34', 4.992213] - }, - { - name: '搴熸皵娴侀噺', - value: ['2021/04/13 09:18:49', 5.026886] - }, - { - name: '搴熸皵娴侀噺', - value: ['2021/04/13 09:19:04', 5.052861] - }, - { - name: '搴熸皵娴侀噺', - value: ['2021/04/13 09:19:19', 5.038826] - }, - { - name: '搴熸皵娴侀噺', - value: ['2021/04/13 09:19:34', 5.062339] - }, - { - name: '搴熸皵娴侀噺', - value: ['2021/04/13 09:19:49', 5.071915] - }, - { - name: '搴熸皵娴侀噺', - value: ['2021/04/13 09:20:04', 5.053693] - }, - { - name: '搴熸皵娴侀噺', - value: ['2021/04/13 09:20:19', 5.03562] - }, - { - name: '搴熸皵娴侀噺', - value: ['2021/04/13 09:20:34', 5.043983] - }, - { - name: '搴熸皵娴侀噺', - value: ['2021/04/13 09:20:49', 5.059231] - }, - { - name: '搴熸皵娴侀噺', - value: ['2021/04/13 09:21:04', 5.042176] - }, - { - name: '搴熸皵娴侀噺', - value: ['2021/04/13 09:21:19', 5.028253] - }, - { - name: '搴熸皵娴侀噺', - value: ['2021/04/13 09:21:34', 5.024891] - }, - { - name: '搴熸皵娴侀噺', - value: ['2021/04/13 09:21:49', 5.01542] - }, - { - name: '搴熸皵娴侀噺', - value: ['2021/04/13 09:22:04', 5.025787] - }, - { - name: '搴熸皵娴侀噺', - value: ['2021/04/13 09:22:19', 5.038269] - }, - { - name: '搴熸皵娴侀噺', - value: ['2021/04/13 09:22:34', 5.01441] - }, - { - name: '搴熸皵娴侀噺', - value: ['2021/04/13 09:22:49', 5.010105] - }, - { - name: '搴熸皵娴侀噺', - value: ['2021/04/13 09:23:04', 5.012341] - }, - { - name: '搴熸皵娴侀噺', - value: ['2021/04/13 09:23:19', 4.996146] - }], - zdcbcolor: 'red', - zxcolor: '#9ACD32', - bzz: null - }, - { - name: '鐑熷皹', - data: [{ - name: '鐑熷皹', - value: [['2021/04/13 09:18:19', 0.8297127]] - }, - { - name: '鐑熷皹', - value: ['2021/04/13 09:18:34', 0.8347292] - }, - { - name: '鐑熷皹', - value: ['2021/04/13 09:18:49', 0.9218481] - }, - { - name: '鐑熷皹', - value: ['2021/04/13 09:19:04', 0.913429] - }, - { - name: '鐑熷皹', - value: ['2021/04/13 09:19:19', 0.9026684] - }, - { - name: '鐑熷皹', - value: ['2021/04/13 09:19:34', 0.8060119] - }, - { - name: '鐑熷皹', - value: ['2021/04/13 09:19:49', 0.781314] - }, - { - name: '鐑熷皹', - value: ['2021/04/13 09:20:04', 0.8958074] - }, - { - name: '鐑熷皹', - value: ['2021/04/13 09:20:19', 0.9093901] - }, - { - name: '鐑熷皹', - value: ['2021/04/13 09:20:34', 0.8743498] - }, - { - name: '鐑熷皹', - value: ['2021/04/13 09:20:49', 0.9024854] - }, - { - name: '鐑熷皹', - value: ['2021/04/13 09:21:04', 0.9456897] - }, - { - name: '鐑熷皹', - value: ['2021/04/13 09:21:19', 0.9747347] - }, - { - name: '鐑熷皹', - value: ['2021/04/13 09:21:34', 0.9200308] - }, - { - name: '鐑熷皹', - value: ['2021/04/13 09:21:49', 0.8987293] - }, - { - name: '鐑熷皹', - value: ['2021/04/13 09:22:04', 0.8613345] - }, - { - name: '鐑熷皹', - value: ['2021/04/13 09:22:19', 0.8747463] - }, - { - name: '鐑熷皹', - value: ['2021/04/13 09:22:34', 0.8883187] - }, - { - name: '鐑熷皹', - value: ['2021/04/13 09:22:49', 0.881333] - }, - { - name: '鐑熷皹', - value: ['2021/04/13 09:23:04', 0.9142911] - }, - { - name: '鐑熷皹', - value: ['2021/04/13 09:23:19', 0.9569058] - }], - zdcbcolor: 'red', - zxcolor: '#f48183', - bzz: 10 - }] - // const legend = [ - // // data: 'legend' - // { - // name: '姘哀鍖栫墿', - // icon: 'image://../assets/imgs/legend/NOX.png', - // textStyle: { color: '#ccc' }, - // itemWidth: 20, - // itemHeight: 15 - // }, - // { - // icon: 'image://../assets/imgs/legend/SO2.png', - // itemHeight: 5, - // itemWidth: 20, - // name: '浜屾哀鍖栫~', - // textStyle: { - // color: '#CCC' - // } - // }, - // { - // icon: 'image://../assets/imgs/legend/YanChen.png', - // itemHeight: 5, - // itemWidth: 20, - // name: '鐑熷皹', - // textStyle: { color: '#ccc' } - // }, - // { - // icon: 'image://../assets/imgs/legend/VOCs.png', - // itemHeight: 5, - // itemWidth: 20, - // name: '搴熸皵娴侀噺', - // textStyle: { color: '#ccc' } - // } - // ] - // const iconlist = ['image://../assets/imgs/legend/NOX.png', 'image://../assets/imgs/legend/VOCs.png'] - // { - // icon: 'image://../assets/imgs/legend/NOX.png' - // }, { - // icon: 'image://../assets/imgs/legend/SO2.png' - // }, { - // icon: 'image://../assets/imgs/legend/YanChen.png' - // }, - // { - // icon: 'image://../assets/imgs/legend/VOCs.png' - // }] - - // 鍒濆鍖杄charts + // 鑾峰彇鏁版嵁鐢ㄤ簬echarts鍥捐〃缁樺埗 + DrawRealTimeDateChart (id, title, legend, ydatas, yname) { this.myChart = this.$echarts.init(this.$refs.echarts) - - // echarts鐨剆eries鏁版嵁 const serLists = [] - // for (var j = 0; j < ydatas.length; j++) { - // var len = ydatas[j].data.length - // for (var k = 0; k < len; k++) { - // var it = ydatas[j].data[k] - // var it2 = parseFloat(it).toFixed(2) - // ydatas[j].data[k] = it2 - // } - // } + let dataUnit for (let i = 0; i < ydatas.length; i++) { - var bz = ydatas[i].bzz - var obj + const zdcbcolor = ydatas[i].zdcbcolor + const bz = ydatas[i].bzz + let obj if (bz) { obj = { name: ydatas[i].name, - smooth: true, + // symbol:'circle', // 鎶樼偣褰㈢姸 + // symbolSize: 3, //澶у皬 + smooth: true, // 鐩寸嚎 锛宼rue 涓烘洸绾� itemStyle: { normal: { color: function (c) { // 鏍规嵁value 鏄剧ず涓嶅悓鐨勬姌鐐归鑹� - // var biaozhuiz - // for (var i = 0; i < exhbzzList.length; i++) { - // if (exhbzzList[i].name == c.seriesName) { - // biaozhuiz = exhbzzList[i].bzhui - // } - // } - // if (c.value[1] > biaozhuiz) { - // return zdcbcolor - // } else if (c.value[1] > biaozhuiz * 0.9) { - // return '#FFA500' - // } else { - // return '#33c95f' - // } + let biaozhuiz + for (var i = 0; i < this.bzzList.length; i++) { + if (this.bzzList[i].name === c.seriesName) { + biaozhuiz = this.bzzList[i].bzhui + } + } + if (c.value[1] > biaozhuiz) { + return zdcbcolor + } else if (c.value[1] > biaozhuiz * 0.9) { + return '#FFA500' + } else { + return '#33c95f' + } }, lineStyle: { // 鎶樼嚎鐨勯鑹� color: ydatas[i].zxcolor, @@ -683,6 +393,7 @@ show: false } } + }, type: 'line', data: ydatas[i].data, @@ -702,13 +413,17 @@ type: 'dashed', width: 2 } - }] + } + ] } } } else { obj = { name: ydatas[i].name, - smooth: true, + // symbol:'circle', // 鎶樼偣褰㈢姸 + // symbolSize: 3, //澶у皬 + smooth: true, // 鐩寸嚎 锛宼rue 涓烘洸绾� + yAxisIndex: 1, itemStyle: { normal: { color: function (c) { // 鏍规嵁value 鏄剧ず涓嶅悓鐨勬姌鐐归鑹� @@ -723,18 +438,30 @@ show: false } } + }, type: 'line', data: ydatas[i].data } } + if (ydatas[i].name === '搴熸皵娴侀噺' || ydatas[i].name === '搴熸皵') { obj.yAxisIndex = 1 + } + // 涓存椂 + const datatype = 1 + if (datatype === 1) { + dataUnit = '娴侀噺(m鲁/d)' + } else { + dataUnit = '娴侀噺(m鲁/h)' } serLists.push(obj) } const option = { - tooltip: { + /* title: { + text: title, + }, */ + tooltip: { // 鎻愮ず妗� trigger: 'axis', axisPointer: { type: 'cross', @@ -743,27 +470,41 @@ } }, formatter: function (params) { - var s = params[0].name + '<br />' - for (var i = 0; i < params.length; i++) { + let s = params[0].name + '<br />' + for (let i = 0; i < params.length; i++) { // var name = params[i].name // 鍥捐〃title鍚嶇О - var seriesName = params[i].seriesName + const seriesName = params[i].seriesName // 鍊� - var value = params[i].value[1] - // var valueFliter = this.formatter(value) - var maker = params[i].marker - if (seriesName === '浜屾哀鍖栫~') { - maker = '<span style="display:inline-block;margin-right:5px;border-radius:10px;width:10px;height:10px;background-color:#fff21c;"></span>' - } else if (seriesName === '姘哀鍖栫墿') { - maker = '<span style="display:inline-block;margin-right:5px;border-radius:10px;width:10px;height:10px;background-color:#00B0F0;"></span>' - } else if (seriesName === '鐑熷皹') { - maker = '<span style="display:inline-block;margin-right:5px;border-radius:10px;width:10px;height:10px;background-color:#f48183;"></span>' - } else if (seriesName === '娓╁害') { - maker = '<span style="display:inline-block;margin-right:5px;border-radius:10px;width:10px;height:10px;background-color:#F206FF;"></span>' - } else { - maker = '<span style="display:inline-block;margin-right:5px;border-radius:10px;width:10px;height:10px;background-color:#4ec99c;"></span>' + const value = params[i].value[1] + + // var valueFliter = formatter(value) + const valueFliter = parseFloat(value).toFixed(2) + + let maker = params[i].marker + let colo = '' + switch (seriesName) { + case 'ph': + colo = '#f206ff' + break + case '姘哀鍖栫墿': + colo = '#00B0F0' + break + case '鐑熷皹': + colo = '#e0ffff' + break + case '浜屾哀鍖栫⒊': + colo = '#9ACD32' + break + case '浜屾哀鍖栫7': + colo = '#f48183' + break + default: + colo = '' + break } - s += maker + seriesName + ':' + value + '<br />' + maker = '<span style="display:inline-block;margin-right:5px;border-radius:10px;width:10px;height:10px;background-color:' + colo + ';"></span>' + s += maker + seriesName + ':' + valueFliter + '<br />' } return s } @@ -775,25 +516,12 @@ } }, grid: { - top: '20%' + top: '20%', + bottom: '15%' }, - // legend: { - // data: legend - // }, - legend: [ - { - // icon: iconlist.map(item => { - // return item - // }), - icon: 'image://../assets/imgs/legend/VOCs.png', - itemHeight: 20, - itemWidth: 30, - textStyle: { color: '#ccc' }, - data: ydatas.map(item => { - return item.name - }) - } - ], + legend: { + data: legend + }, dataZoom: [{ type: 'inside', start: 0, @@ -812,38 +540,39 @@ shadowOffsetY: 2 } }], - xAxis: { + xAxis: { // x 杞磋缃� type: 'time', boundaryGap: false, - axisLabel: { + axisLabel: { // x杞村叏閮ㄦ樉绀� + // rotate: 30, margin: 6, interval: 0, textStyle: { color: '#fff' } }, - splitLine: { + splitLine: { // 缃戞牸鍨傜洿绾夸负 铏氱嚎 show: true, lineStyle: { type: 'dashed' } }, - axisTick: { + axisTick: { // x 杞村埢搴︽樉绀� show: false }, axisLine: { lineStyle: { color: '#FFFFFF', - width: 1 + width: 1// 杩欓噷鏄负浜嗙獊鍑烘樉绀哄姞涓婄殑 } } + // data: xdata }, yAxis: [{ type: 'value', name: yname, max: function (value) { - var ma = value.max > 100 ? value.max : 100 - return parseInt(ma) + return parseInt(value.max + 30) }, axisLabel: { formatter: '{value}', @@ -856,16 +585,16 @@ }, splitLine: { show: false - }, + }, // y杞� 缃戞牸绾夸笉鏄剧ず, axisLine: { lineStyle: { color: '#FFFFFF', - width: 1 + width: 1// 杩欓噷鏄负浜嗙獊鍑烘樉绀哄姞涓婄殑 } } }, { type: 'value', - name: '搴熸皵娴侀噺(m3/h)', + name: dataUnit, axisLabel: { formatter: '{value}', textStyle: { @@ -877,215 +606,29 @@ }, splitLine: { show: false - }, + }, // y杞� 缃戞牸绾夸笉鏄剧ず, + // inverse: true, + // nameLocation: 'start', + // max:500, axisLine: { lineStyle: { color: '#FFFFFF', - width: 1 + width: 1// 杩欓噷鏄负浜嗙獊鍑烘樉绀哄姞涓婄殑 } } }], series: serLists } this.myChart.setOption(option) - window.addEventListener('resize', this.myChart.resize) - // 鏄剧ず鍔犺浇鍔ㄧ敾 - this.myChart.showLoading() - // this.IntervalEXHRealTimeDate() - - // this.myChart.on('legendselectchanged', function (params) { - // var StdVal = null - // var op = { yAxis: {} } - // var max_val_list = [] // 鎵�鏈夋樉绀烘姌绾跨殑鏍囧噯鍊� - // if (exhbzzList && exhbzzList.length > 0) { - // $.each(exhbzzList, function (index, item) { - // params.selected[item.name] ? max_val_list.push(item.bzhui) : '' - // if (item.name === params.name) { - // item.name === 'VOCs' ? StdVal = 20 : StdVal = item.bzhui - // } - // }) - // } - // max_val_list = max_val_list.sort(function (a, b) { return a - b }) // 鎺掑簭 - // op.yAxis.max = function (value) { - // var ma = value.max < StdVal ? StdVal : Math.ceil(value.max) - // max_val_list ? ma = max_val_list[max_val_list.length - 1] : ''// 閫夋嫨鏈�澶у�� - // return ma - // } - // myChart.setOption(op) - // }) - // myChart.on('click', function (params) { - // var nowDate = new Date().Format() - // }) }, - // 鐐瑰嚮鏌ヨ鎸夐挳鍔熻兘 - onSubmit () { - this.DrawEXHRealTimeDateChart() - this.myChart.hideLoading() + // 瀹氭椂鍣� 鏍规嵁鏃堕棿闂撮殧璇锋眰鏁版嵁 + IntervalRealTimeDate (id, unionTagCodeList, BBZMAPPING) { + // const interValHander = setInterval(function () { + // this.initEchartsData() + console.log('闂撮殧璇锋眰鏁版嵁') + // }, 1500) + // console.log(interValHander) } - // getRtdbFormat (res) { - // var data = res.collection.items - // var dataArray = [] - // for (var i = 0; i < data.length; i++) { - // var dataFormat = { - // UnionTagCode: data[i].data[0].value, - // TagValue: parseFloat(data[i].data[1].value), - // ReadTime: data[i].data[3].value, - // ErrorMessage: data[i].data[5].value - // } - // dataArray.push(dataFormat) - // } - // return dataArray - // }, - // 1.鍧愭爣杞村疄鐜�,鐢诲疄鏃舵暟鎹� - // getRtdb15s (unionTagCodeList, startTime, endTime, step, res) { - // if (this.res.length > 0) { - // // 澶勭悊鏁版嵁寮�濮� - // var d = res - // var nameList = [] // 瀛樻斁鍥句緥 - // - // var data // 鏁版嵁绫诲瀷// var data={name:'',value:[now1.getFullYear(), now1.getMonth() + 1, now1.getDate().join('/'),value]} - // var datalist // 瀛樻斁data鐨勬暟缁� - // // var bzh = [] - // for (var i = 0; i < d.length; i++) { - // if (d[i].ErrorMessage != null) { - // continue - // } - // // var name = CFG.DATA_REALTIME_TAGCODETABLE[d[i].UnionTagCode].TagName - // - // if (nameList.length === 0) { - // nameList.push(name) - // - // var newdate = new Date(this.res.ReadTime) - // data = { - // name: name, - // value: [newdate, this.res.TagValue] - // } - // - // datalist = { - // name: name, - // data: [data] - // } - // - // this.EXHRealTimeDataList.push(datalist) - // } else if (nameList.indexOf(name) < 0) { - // nameList.push(name) - // - // // var newdate = new Date(d[i].ReadTime) - // - // data = { - // name: name, - // value: [newdate, d[i].TagValue] - // } - // datalist = { - // name: name, - // data: [data] - // } - // this.EXHRealTimeDataList.push(datalist) - // } else if (i === d.length - 1) { - // if (nameList.indexOf(name) < 0) { - // nameList.push(name) - // - // // var newdate = new Date(d[i].ReadTime) - // - // data = { - // name: name, - // value: [newdate, d[i].TagValue] - // } - // datalist = { - // name: name, - // data: [data] - // } - // // EXHRealTimeDataList.push(datalist) - // } else { - // // var newdate = new Date(d[i].ReadTime) - // data = { - // name: name, - // value: [newdate, d[i].TagValue] - // } - // for (var k = 0; k < this.EXHRealTimeDataList.length; k++) { - // if (this.EXHRealTimeDataList[k].name === name) { - // this.EXHRealTimeDataList[k].data.push(data) - // } - // } - // } - // } else { - // const newdate = new Date(d[i].ReadTime) - // data = { - // name: name, - // value: [newdate, d[i].TagValue] - // } - // for (let k = 0; k < this.EXHRealTimeDataList.length; k++) { - // if (this.EXHRealTimeDataList[k].name === name) { - // this.EXHRealTimeDataList[k].data.push(data) - // } - // } - // } - // } - // - // // var divid = 'mychart_ss' - // // var title = name - // var lengList = [] - // var objTemp - // - // for (var l = 0; l < nameList.length; l++) { - // var obj - // var iconurl - // if (nameList[l] === '浜屾哀鍖栫~') { - // iconurl = 'image://../assets/imgs/legend/SO2.png' - // } else if (nameList[l] === '姘哀鍖栫墿') { - // iconurl = 'image://../assets/imgs/legend/NOX.png' - // } else if (nameList[l] === '鐑熷皹') { - // iconurl = 'image://../assets/imgs/legend/YanChen.png' - // } else if (nameList[l] === '闈炵敳鐑锋�荤儍') { - // iconurl = 'image://../assets/imgs/legend/grn.png' - // } else if (nameList[l] === '娓╁害') { - // iconurl = 'image://../assets/imgs/legend/WenDu.png' - // } else { - // iconurl = 'image://../assets/imgs/legend/VOCs.png' - // } - // - // if (nameList[l] === '搴熸皵' || nameList[l] === '搴熸皵娴侀噺') { // 灏嗗簾姘旀祦閲忔帓鍒版暟缁勬渶鍚� - // objTemp = { - // name: nameList[l], - // icon: iconurl, - // textStyle: { - // color: '#ccc' - // }, - // itemWidth: 20, - // itemHeight: 5 - // } - // } else { - // obj = { - // name: nameList[l], - // icon: iconurl, - // textStyle: { - // color: '#ccc' - // }, - // itemWidth: 20, - // itemHeight: 5 - // } - // lengList.push(obj) - // } - // } - // lengList.push(objTemp) - // - // this.DrawEXHRealTimeDateChart(this.echartsOptions.id, this.echartsOptions.title, this.echartsOptions.legend, this.echartsOptions.ydatas, this.echartsOptions.yname) - // } - // }, - // 閽╁瓙璋冪敤瀹炴椂 - // IntervalEXHRealTimeDate () { - // // 瀹氭椂鍣ㄥ嚱鏁� - // this.DrawEXHRealTimeDateChart() - // setInterval(function () { - // // $('.RealTime').empty() - // this.startTime = dayjs().subtract(5, 'minute').format('YYYY-MM-DD HH:mm:ss') - // this.endTime = dayjs().format('YYYY-MM-DD HH:mm:ss') - // this.step = '15' - // // this.getRtdb15s(this.unionTagCodeList, this.startTime, this.endTime, this.step, this.res) - // // PreQueryTime=endTime; - // }, 1500) - // } - } } </script> diff --git a/src/components/BaseNav/WasteWater/WasteWaterIndex.vue b/src/components/BaseNav/WasteWater/WasteWaterIndex.vue index 030c173..ff50e1f 100644 --- a/src/components/BaseNav/WasteWater/WasteWaterIndex.vue +++ b/src/components/BaseNav/WasteWater/WasteWaterIndex.vue @@ -4,7 +4,7 @@ <public-tabs :storagePlaceId="storagePlaceId"></public-tabs> </template> <template v-slot:publicPart> - <div class="publicPart"> + <div class="public-part"> <span></span> <span></span> <span></span> @@ -56,86 +56,20 @@ }, data () { return { - activeName: 'first', - currentTab: RealData, - active: '0', - displayContentTable: '', - flag: false, - tabTaggle (taggleMenu, num) { - this.currentTab = taggleMenu - this.active = num - } + activeName: 'first' } - }, - mounted () { - this.$nextTick(() => { - this.refsData() - }) }, methods: { handleClick (tab, event) { console.log(tab, event) - }, - refsData () { - // 璇锋眰鏁版嵁闇�瑕佹惡甯︾殑鍙傛暟 - // const data = this.EpsGisMonPointId - this.$refs.refsTabsData.refsDataTabs() } } } </script> <style lang="less" scoped> -.public-bounced { - z-index: 2000; - position: absolute; - top: 35%; - left: 20%; - .public-bounced-title { - cursor: move; - height: 0.1rem; - padding: 10px 0; - display: flex; - align-items: center; - justify-content: space-between; - - span { - color: #f4f7ff; - margin: 0 15px; - font-size: 14px; - } - - i { - color: #C0C4CC; - margin: 0 15px; - font-size: 22px; - cursor: pointer; - } - - i:hover { - color: #00fff6; - } - } - - .public-bounced-content { - padding: 0.1rem; - display: flex; - //align-items: center; - //justify-content: space-around; - - .public-bounced-content-left { - //width: 4.8rem; - } - - .public-bounced-content-right { - //width: 3rem; - margin-left: 0.1rem; - } - } -} - -.publicPart { +.public-part { position: relative; margin-bottom: 0.1rem; background-color: @background-color; @@ -145,7 +79,7 @@ border: 1px solid #396d83; } -.publicPart span:nth-child(1) { +.public-part span:nth-child(1) { position: absolute; left: -2px; top: -2px; @@ -155,7 +89,7 @@ border-width: 2px 0 0 2px; } -.publicPart span:nth-child(2) { +.public-part span:nth-child(2) { position: absolute; right: -2px; top: -2px; @@ -165,7 +99,7 @@ border-width: 2px 2px 0 0; } -.publicPart span:nth-child(3) { +.public-part span:nth-child(3) { position: absolute; right: -2px; bottom: -2px; @@ -175,7 +109,7 @@ border-width: 0 2px 2px 0; } -.publicPart span:nth-child(4) { +.public-part span:nth-child(4) { position: absolute; left: -2px; bottom: -2px; @@ -183,94 +117,6 @@ border-style: solid; border-color: #02a6b5; border-width: 0 0 2px 2px; -} - -.win { - position: relative; - background: @background-color; - border: 0.8px solid #396d83; -} - -.border_corner { - z-index: 999; - position: absolute; - width: 10px; - height: 10px; - background: rgba(0, 0, 0, 0); - border: 1.5px solid #47d5ea; -} - -.border_corner_left_top { - top: 0; - left: 0; - border-right: none; - border-bottom: none; -} - -.border_corner_right_top { - top: 0; - right: 0; - border-left: none; - border-bottom: none; -} - -.border_corner_left_bottom { - bottom: 0; - left: 0; - border-right: none; - border-top: none; -} - -.border_corner_right_bottom { - bottom: 0; - right: 0; - border-left: none; - border-top: none; -} - -.tab { - display: flex; - border-bottom: 1px solid #396d83; - padding: 0.02rem 0.04rem; -} - -.tab li { - background-color: #243a55; - line-height: 0.15rem; - height: 0.15rem; - text-align: center; - border-radius: 5px; - margin-right: 0.04rem; - padding: 0 0.04rem; -} - -.tab li.hover, -.tab li:hover { - background-color: #0e639e; - color: #fff; - cursor: pointer; -} - -.legend { - position: absolute; - top: 0.05rem; - right: 0; - display: flex; - justify-items: center; -} - -.legend i { - display: block; - width: 0.2rem; - height: 0.09rem; - margin: 0 0.1rem 0 0.05rem; - border-radius: 0.02rem; -} - -.legend span { - line-height: 0.09rem; - height: 0.09rem; - font-size: 0.06rem; } </style> -- Gitblit v1.8.0