Showing
4 changed files
with
227 additions
and
22 deletions
| @@ -8,26 +8,28 @@ function initChart(canvas: any, width: any, height: any, data: any, dpr: any) { | @@ -8,26 +8,28 @@ function initChart(canvas: any, width: any, height: any, data: any, dpr: any) { | ||
| 8 | devicePixelRatio: dpr // new | 8 | devicePixelRatio: dpr // new |
| 9 | }); | 9 | }); |
| 10 | canvas.setChart(chart); | 10 | canvas.setChart(chart); |
| 11 | - var color = ["#165DFF", "#14C9C9"] | 11 | + var color = ["#165DFF", "#14C9C9", "#fac858", "#ee6666"] |
| 12 | var option = { | 12 | var option = { |
| 13 | 13 | ||
| 14 | legend: { | 14 | legend: { |
| 15 | - // data: ['预算', '实际'],//legend | ||
| 16 | - top: 20, | 15 | + data: data.nameList,//legend |
| 16 | + top: 5, | ||
| 17 | right: 20, | 17 | right: 20, |
| 18 | icon: "rect", | 18 | icon: "rect", |
| 19 | + width: "80%", | ||
| 19 | textStyle: { | 20 | textStyle: { |
| 20 | fontSize: 12, | 21 | fontSize: 12, |
| 21 | color: '#323241', | 22 | color: '#323241', |
| 22 | }, | 23 | }, |
| 24 | + | ||
| 23 | itemHeight: 4, | 25 | itemHeight: 4, |
| 24 | itemWidth: 16 | 26 | itemWidth: 16 |
| 25 | }, | 27 | }, |
| 26 | grid: { | 28 | grid: { |
| 27 | containLabel: true, | 29 | containLabel: true, |
| 28 | bottom: "10", | 30 | bottom: "10", |
| 29 | - left:"10", | ||
| 30 | - right:"10" | 31 | + left: "10", |
| 32 | + right: "10" | ||
| 31 | }, | 33 | }, |
| 32 | color: color, | 34 | color: color, |
| 33 | tooltip: { | 35 | tooltip: { |
| @@ -36,12 +38,13 @@ function initChart(canvas: any, width: any, height: any, data: any, dpr: any) { | @@ -36,12 +38,13 @@ function initChart(canvas: any, width: any, height: any, data: any, dpr: any) { | ||
| 36 | }, | 38 | }, |
| 37 | xAxis: { | 39 | xAxis: { |
| 38 | type: 'category', | 40 | type: 'category', |
| 39 | - boundaryGap: true,//不从0开始 | 41 | + // boundaryGap: false,//不从0开始 |
| 40 | axisLine: {//不显示 | 42 | axisLine: {//不显示 |
| 41 | show: false | 43 | show: false |
| 42 | }, | 44 | }, |
| 43 | axisLabel: { | 45 | axisLabel: { |
| 44 | show: true, // x轴文字是否显示,刻度值 | 46 | show: true, // x轴文字是否显示,刻度值 |
| 47 | + interval: 10, | ||
| 45 | textStyle: { | 48 | textStyle: { |
| 46 | color: '#999999', // 文本颜色 | 49 | color: '#999999', // 文本颜色 |
| 47 | fontSize: 10 // 文本字体大小 | 50 | fontSize: 10 // 文本字体大小 |
| @@ -51,8 +54,8 @@ function initChart(canvas: any, width: any, height: any, data: any, dpr: any) { | @@ -51,8 +54,8 @@ function initChart(canvas: any, width: any, height: any, data: any, dpr: any) { | ||
| 51 | show: false, | 54 | show: false, |
| 52 | alignWithLabel: true | 55 | alignWithLabel: true |
| 53 | }, | 56 | }, |
| 54 | - data: ['周一', '周二', '周三', '周四', '周五', '周六', '周日'], | ||
| 55 | - // show: false | 57 | + data: data.dateList, |
| 58 | + show: false | ||
| 56 | }, | 59 | }, |
| 57 | yAxis: { | 60 | yAxis: { |
| 58 | x: 'center', | 61 | x: 'center', |
| 1 | // pages/monitor/monitor.ts | 1 | // pages/monitor/monitor.ts |
| 2 | import Toast from '@vant/weapp/toast/toast'; | 2 | import Toast from '@vant/weapp/toast/toast'; |
| 3 | import { API_CONST } from "./../../api/smartElectric"; | 3 | import { API_CONST } from "./../../api/smartElectric"; |
| 4 | -import { getUnitEvent, getCardEvent } from './../../utils/util' | 4 | +import { getUnitEvent, getCardEvent, getEchartLineType } from './../../utils/util' |
| 5 | import { HTTPService as HTTP } from "./../../services/HTTPService"; | 5 | import { HTTPService as HTTP } from "./../../services/HTTPService"; |
| 6 | 6 | ||
| 7 | Page({ | 7 | Page({ |
| @@ -99,15 +99,25 @@ Page({ | @@ -99,15 +99,25 @@ Page({ | ||
| 99 | tableList: [], | 99 | tableList: [], |
| 100 | allcardList: [],// 卡片list数据 | 100 | allcardList: [],// 卡片list数据 |
| 101 | myLineObj: { | 101 | myLineObj: { |
| 102 | - dataList: [[18, 36, 65, 30, 78, 40, 33], [12, 50, 51, 35, 70, 30, 20]], | ||
| 103 | - nameList: ['预算', '实际'] | 102 | + dataList: [], |
| 103 | + nameList: [] | ||
| 104 | }, | 104 | }, |
| 105 | homeLineObj: { | 105 | homeLineObj: { |
| 106 | - dataList: [[180, 306, 65, 30, 78, 40, 133], [12, 50, 251, 235, 170, 30, 20]], | ||
| 107 | - nameList: ['总电压', '总电流'] | 106 | + dataList: [], |
| 107 | + nameList: [] | ||
| 108 | }, | 108 | }, |
| 109 | tableHeaderList: [ | 109 | tableHeaderList: [ |
| 110 | { | 110 | { |
| 111 | + type: "INDEX", | ||
| 112 | + val: "bms", | ||
| 113 | + one: "", | ||
| 114 | + two: "", | ||
| 115 | + three: "", | ||
| 116 | + key_one: "", | ||
| 117 | + key_two: "", | ||
| 118 | + key_three: "" | ||
| 119 | + }, | ||
| 120 | + { | ||
| 111 | type: "BMS", | 121 | type: "BMS", |
| 112 | val: "bms", | 122 | val: "bms", |
| 113 | one: "BMS-最高电压模块", | 123 | one: "BMS-最高电压模块", |
| @@ -166,6 +176,7 @@ Page({ | @@ -166,6 +176,7 @@ Page({ | ||
| 166 | */ | 176 | */ |
| 167 | onLoad() { | 177 | onLoad() { |
| 168 | this.__getOpenQxCustomHczdInde() | 178 | this.__getOpenQxCustomHczdInde() |
| 179 | + this.__getOpenQxCustomHczdGetDateEchartLine("INDEX_MAP") | ||
| 169 | }, | 180 | }, |
| 170 | 181 | ||
| 171 | /** | 182 | /** |
| @@ -179,7 +190,9 @@ Page({ | @@ -179,7 +190,9 @@ Page({ | ||
| 179 | * 生命周期函数--监听页面显示 | 190 | * 生命周期函数--监听页面显示 |
| 180 | */ | 191 | */ |
| 181 | onShow() { | 192 | onShow() { |
| 182 | - | 193 | + // const pages = getCurrentPages() // 切换tabbar 刷新页面是否执行 |
| 194 | + // const perpage = pages[pages.length - 1] | ||
| 195 | + // perpage.onLoad() | ||
| 183 | }, | 196 | }, |
| 184 | 197 | ||
| 185 | /** | 198 | /** |
| @@ -200,7 +213,7 @@ Page({ | @@ -200,7 +213,7 @@ Page({ | ||
| 200 | * 页面相关事件处理函数--监听用户下拉动作 | 213 | * 页面相关事件处理函数--监听用户下拉动作 |
| 201 | */ | 214 | */ |
| 202 | onPullDownRefresh() { | 215 | onPullDownRefresh() { |
| 203 | - | 216 | + this.__getOpenQxCustomHczdInde() |
| 204 | }, | 217 | }, |
| 205 | 218 | ||
| 206 | /** | 219 | /** |
| @@ -235,10 +248,12 @@ Page({ | @@ -235,10 +248,12 @@ Page({ | ||
| 235 | return "EM" | 248 | return "EM" |
| 236 | break; | 249 | break; |
| 237 | default: | 250 | default: |
| 238 | - return "" | 251 | + return "INDEX" |
| 239 | break; | 252 | break; |
| 240 | } | 253 | } |
| 241 | }, | 254 | }, |
| 255 | + | ||
| 256 | + | ||
| 242 | tabsItemChange(e: any) { | 257 | tabsItemChange(e: any) { |
| 243 | this.setData({ | 258 | this.setData({ |
| 244 | dashboardList: [], | 259 | dashboardList: [], |
| @@ -267,9 +282,13 @@ Page({ | @@ -267,9 +282,13 @@ Page({ | ||
| 267 | allcardList: allcardListNew, | 282 | allcardList: allcardListNew, |
| 268 | tableHeader: tableHeaderNew | 283 | tableHeader: tableHeaderNew |
| 269 | }) | 284 | }) |
| 270 | - if (idx !== 0) { | ||
| 271 | - this.__getOpenQxCustomHczdGetDate(idxToName) | 285 | + if (idx !== "0") { |
| 286 | + this.__getOpenQxCustomHczdGetDate(idxToName)// list | ||
| 287 | + this.__getOpenQxCustomHczdGetDateEchartLine(`${idxToName}_MAP`) // 非首页曲线图 | ||
| 288 | + } else { | ||
| 289 | + this.__getOpenQxCustomHczdGetDateEchartLine("INDEX_MAP") // 首页 曲线图 | ||
| 272 | } | 290 | } |
| 291 | + | ||
| 273 | console.log(dashboardListNew, 'dashboardListdashboardList', this.data.dashboardList) | 292 | console.log(dashboardListNew, 'dashboardListdashboardList', this.data.dashboardList) |
| 274 | 293 | ||
| 275 | }, | 294 | }, |
| @@ -287,6 +306,7 @@ Page({ | @@ -287,6 +306,7 @@ Page({ | ||
| 287 | } | 306 | } |
| 288 | }).then((data: any) => { | 307 | }).then((data: any) => { |
| 289 | Toast.clear() | 308 | Toast.clear() |
| 309 | + wx.stopPullDownRefresh() | ||
| 290 | console.log(data, '-----------datat') | 310 | console.log(data, '-----------datat') |
| 291 | if (data.success) { | 311 | if (data.success) { |
| 292 | 312 | ||
| @@ -577,7 +597,7 @@ Page({ | @@ -577,7 +597,7 @@ Page({ | ||
| 577 | }) | 597 | }) |
| 578 | }, | 598 | }, |
| 579 | 599 | ||
| 580 | - __getOpenQxCustomHczdGetDate(type: String) {//列表滚动数据 | 600 | + __getOpenQxCustomHczdGetDate(type: String) {//列表滚动数据 |
| 581 | HTTP.POST({ | 601 | HTTP.POST({ |
| 582 | ...API_CONST.home.getDate, | 602 | ...API_CONST.home.getDate, |
| 583 | payload: { | 603 | payload: { |
| @@ -602,5 +622,46 @@ Page({ | @@ -602,5 +622,46 @@ Page({ | ||
| 602 | } | 622 | } |
| 603 | 623 | ||
| 604 | }) | 624 | }) |
| 625 | + }, | ||
| 626 | + | ||
| 627 | + | ||
| 628 | + __getOpenQxCustomHczdGetDateEchartLine(type: String) {//曲线图 | ||
| 629 | + HTTP.POST({ | ||
| 630 | + ...API_CONST.home.getDate, | ||
| 631 | + payload: { | ||
| 632 | + corpCode: "default", | ||
| 633 | + type: type | ||
| 634 | + } | ||
| 635 | + }).then((res: any) => { | ||
| 636 | + console.log(res, 'res-----------getDate') | ||
| 637 | + var that = this | ||
| 638 | + if (res.success) { | ||
| 639 | + that.setData({ | ||
| 640 | + myLineObj: {}, | ||
| 641 | + homeLineObj: {} | ||
| 642 | + }) | ||
| 643 | + if (type === "INDEX_MAP") { | ||
| 644 | + that.setData({ | ||
| 645 | + myLineObj: getEchartLineType(type, res.data) | ||
| 646 | + }) | ||
| 647 | + } else { | ||
| 648 | + that.setData({ | ||
| 649 | + homeLineObj: getEchartLineType(type, res.data) | ||
| 650 | + }) | ||
| 651 | + } | ||
| 652 | + | ||
| 653 | + } else { | ||
| 654 | + that.setData({ | ||
| 655 | + myLineObj: {}, | ||
| 656 | + homeLineObj: {} | ||
| 657 | + }) | ||
| 658 | + wx.showToast({ | ||
| 659 | + title: '请求失败', | ||
| 660 | + icon: 'error', | ||
| 661 | + duration: 2000 | ||
| 662 | + }); | ||
| 663 | + } | ||
| 664 | + | ||
| 665 | + }) | ||
| 605 | } | 666 | } |
| 606 | }) | 667 | }) |
| @@ -32,7 +32,7 @@ | @@ -32,7 +32,7 @@ | ||
| 32 | </view> | 32 | </view> |
| 33 | <view class="deviceStatistics" wx:if="{{allData&&allData.deviceInfo }}"> | 33 | <view class="deviceStatistics" wx:if="{{allData&&allData.deviceInfo }}"> |
| 34 | <topTitle topTitleName="设备统计"></topTitle> | 34 | <topTitle topTitleName="设备统计"></topTitle> |
| 35 | - <circularDiagram deviceInfo="{{allData.deviceInfo}}"></circularDiagram> | 35 | + <circularDiagram deviceInfo="{{allData.deviceInfo}}"></circularDiagram> |
| 36 | <deviceData deviceDataList="{{deviceDataList}}"></deviceData> | 36 | <deviceData deviceDataList="{{deviceDataList}}"></deviceData> |
| 37 | </view> | 37 | </view> |
| 38 | <view class="overallOperationStatus" wx:if="{{overallDataList.length>0}}"> | 38 | <view class="overallOperationStatus" wx:if="{{overallDataList.length>0}}"> |
| @@ -43,7 +43,7 @@ | @@ -43,7 +43,7 @@ | ||
| 43 | <topTitle topTitleName="场景统计"></topTitle> | 43 | <topTitle topTitleName="场景统计"></topTitle> |
| 44 | <sceneStatistics></sceneStatistics> | 44 | <sceneStatistics></sceneStatistics> |
| 45 | </view> | 45 | </view> |
| 46 | - <view class="loadCurveEchart"> | 46 | + <view class="loadCurveEchart" wx:if="{{myLineObj&&myLineObj.dataList.length>0}}"> |
| 47 | <topTitle topTitleName="负荷曲线"></topTitle> | 47 | <topTitle topTitleName="负荷曲线"></topTitle> |
| 48 | <loadCurveEchart echartData="{{myLineObj}}"></loadCurveEchart> | 48 | <loadCurveEchart echartData="{{myLineObj}}"></loadCurveEchart> |
| 49 | </view> | 49 | </view> |
| @@ -63,7 +63,7 @@ | @@ -63,7 +63,7 @@ | ||
| 63 | <dashboardList dashboardList="{{dashboardList}}"></dashboardList> | 63 | <dashboardList dashboardList="{{dashboardList}}"></dashboardList> |
| 64 | </view> | 64 | </view> |
| 65 | 65 | ||
| 66 | - <view class="loadCurveEchart_home"> | 66 | + <view class="loadCurveEchart_home" wx:if="{{homeLineObj&&homeLineObj.dataList.length>0}}"> |
| 67 | <loadCurveEchart echartData="{{homeLineObj}}"></loadCurveEchart> | 67 | <loadCurveEchart echartData="{{homeLineObj}}"></loadCurveEchart> |
| 68 | </view> | 68 | </view> |
| 69 | 69 |
| @@ -986,4 +986,145 @@ export const getCardEvent = (n: number, Obj: any) => { | @@ -986,4 +986,145 @@ export const getCardEvent = (n: number, Obj: any) => { | ||
| 986 | 986 | ||
| 987 | return res | 987 | return res |
| 988 | } | 988 | } |
| 989 | +// echarts 曲线数据统一处理 | ||
| 990 | +export const getEchartLineType = (type: String, arrayList: Array<any>) => { | ||
| 991 | + let lineObjLegend = {} | ||
| 992 | + let dateList: Array<String> =arrayList.map((item: any) => { | ||
| 993 | + return item.date | ||
| 994 | + }) | ||
| 995 | + switch (type) { | ||
| 996 | + case "INDEX_MAP": //首页 | ||
| 997 | + let bmsList: Array<String> = arrayList.map((item: any) => { | ||
| 998 | + return item.bms02 | ||
| 999 | + }) | ||
| 989 | 1000 | ||
| 1001 | + let cpList: Array<String> = arrayList.map((item: any) => { | ||
| 1002 | + return item.cp02 | ||
| 1003 | + }) | ||
| 1004 | + | ||
| 1005 | + let pvList: Array<String> = arrayList.map((item: any) => { | ||
| 1006 | + return item.pv03 | ||
| 1007 | + }) | ||
| 1008 | + | ||
| 1009 | + let emList: Array<String> = arrayList.map(() => { | ||
| 1010 | + return "0" | ||
| 1011 | + }) | ||
| 1012 | + lineObjLegend = { | ||
| 1013 | + dataList: [pvList, bmsList, cpList, emList], | ||
| 1014 | + nameList: ["PV-总功只留功率", "BMS-总电流", "CP-当前功率", "EM-电流变比"], | ||
| 1015 | + dateList: dateList | ||
| 1016 | + } | ||
| 1017 | + return lineObjLegend | ||
| 1018 | + break; | ||
| 1019 | + | ||
| 1020 | + case "BMS_MAP": // BMS监控 | ||
| 1021 | + let bmsOne: Array<String> = arrayList.map((item: any) => { | ||
| 1022 | + return item.bms01 | ||
| 1023 | + }) | ||
| 1024 | + | ||
| 1025 | + let bmsTwo: Array<String> = arrayList.map((item: any) => { | ||
| 1026 | + return item.bms02 | ||
| 1027 | + }) | ||
| 1028 | + | ||
| 1029 | + let bmsThree: Array<String> = arrayList.map((item: any) => { | ||
| 1030 | + return item.bms03 | ||
| 1031 | + }) | ||
| 1032 | + | ||
| 1033 | + let bmsFour: Array<String> = arrayList.map((item: any) => { | ||
| 1034 | + return item.bms05 | ||
| 1035 | + }) | ||
| 1036 | + lineObjLegend = { | ||
| 1037 | + dataList: [bmsOne, bmsTwo, bmsThree, bmsFour], | ||
| 1038 | + nameList: ["BMS-允许放电电流", "BMS-总电流", "BMS-总电压", "BMS-SOC"], | ||
| 1039 | + dateList: dateList | ||
| 1040 | + } | ||
| 1041 | + return lineObjLegend | ||
| 1042 | + | ||
| 1043 | + case "PCS_MAP": // PCS 监视 | ||
| 1044 | + let pcsOne: Array<String> = arrayList.map((item: any) => { | ||
| 1045 | + return item.bms01 | ||
| 1046 | + }) | ||
| 1047 | + | ||
| 1048 | + let pcsTwo: Array<String> = arrayList.map((item: any) => { | ||
| 1049 | + return item.bms02 | ||
| 1050 | + }) | ||
| 1051 | + | ||
| 1052 | + let pcsThree: Array<String> = arrayList.map((item: any) => { | ||
| 1053 | + return item.bms03 | ||
| 1054 | + }) | ||
| 1055 | + | ||
| 1056 | + | ||
| 1057 | + lineObjLegend = { | ||
| 1058 | + dataList: [pcsOne, pcsTwo, pcsThree], | ||
| 1059 | + nameList: ["PCS-交流A相电流", "PCS-最大放电电流", "PCS-交流C相电流"], | ||
| 1060 | + dateList: dateList | ||
| 1061 | + } | ||
| 1062 | + return lineObjLegend | ||
| 1063 | + | ||
| 1064 | + case "CP_MAP": // CP 充电桩 | ||
| 1065 | + let cpOne: Array<String> = arrayList.map((item: any) => { | ||
| 1066 | + return item.pcs21 | ||
| 1067 | + }) | ||
| 1068 | + | ||
| 1069 | + let cpTwo: Array<String> = arrayList.map((item: any) => { | ||
| 1070 | + return item.pcs22 | ||
| 1071 | + }) | ||
| 1072 | + | ||
| 1073 | + let cpThree: Array<String> = arrayList.map((item: any) => { | ||
| 1074 | + return item.pcs23 | ||
| 1075 | + }) | ||
| 1076 | + | ||
| 1077 | + | ||
| 1078 | + lineObjLegend = { | ||
| 1079 | + dataList: [cpOne, cpTwo, cpThree], | ||
| 1080 | + nameList: ["PCS-交流A相电流", "PCS-交流B相电流", "PCS-交流C相电流"], | ||
| 1081 | + dateList: dateList | ||
| 1082 | + } | ||
| 1083 | + return lineObjLegend | ||
| 1084 | + | ||
| 1085 | + case "PV_MAP": // PV 光伏 | ||
| 1086 | + let pvOne: Array<String> = arrayList.map((item: any) => { | ||
| 1087 | + return item.pv10 | ||
| 1088 | + }) | ||
| 1089 | + | ||
| 1090 | + let pvTwo: Array<String> = arrayList.map((item: any) => { | ||
| 1091 | + return item.pv11 | ||
| 1092 | + }) | ||
| 1093 | + | ||
| 1094 | + let pvThree: Array<String> = arrayList.map((item: any) => { | ||
| 1095 | + return item.pv12 | ||
| 1096 | + }) | ||
| 1097 | + | ||
| 1098 | + | ||
| 1099 | + lineObjLegend = { | ||
| 1100 | + dataList: [pvOne, pvTwo, pvThree], | ||
| 1101 | + nameList: ["PV-交流A相电流", "PV-交流B相电流", "PV-交流C相电流"], | ||
| 1102 | + dateList: dateList | ||
| 1103 | + } | ||
| 1104 | + return lineObjLegend | ||
| 1105 | + case "EM_MAP": // EM 电能表 | ||
| 1106 | + let emOne: Array<String> = arrayList.map((item: any) => { | ||
| 1107 | + return item.em01 | ||
| 1108 | + }) | ||
| 1109 | + | ||
| 1110 | + let emTwo: Array<String> = arrayList.map((item: any) => { | ||
| 1111 | + return item.em02 | ||
| 1112 | + }) | ||
| 1113 | + | ||
| 1114 | + let emThree: Array<String> = arrayList.map((item: any) => { | ||
| 1115 | + return item.em03 | ||
| 1116 | + }) | ||
| 1117 | + | ||
| 1118 | + | ||
| 1119 | + lineObjLegend = { | ||
| 1120 | + dataList: [emOne, emTwo, emThree], | ||
| 1121 | + nameList: ["EM-CA线电流", "EM-BC线电流", "EM-AB线电流"], | ||
| 1122 | + dateList: dateList | ||
| 1123 | + } | ||
| 1124 | + return lineObjLegend | ||
| 1125 | + | ||
| 1126 | + default: | ||
| 1127 | + return lineObjLegend | ||
| 1128 | + break; | ||
| 1129 | + } | ||
| 1130 | +} |