diff --git a/common/http.api.js b/common/http.api.js index 1f14aa4..7d94df6 100644 --- a/common/http.api.js +++ b/common/http.api.js @@ -400,6 +400,8 @@ const install = (Vue, vm) => { GetFireConfig: (params = {}) => vm.$u.post(config.adminPath + "/business/topologyAttribute/DataConfig", params), + getPvElecData: (params = {}) => + vm.$u.post(config.adminPath + "/business/openStation/getPvData", params) }, diff --git a/manifest.json b/manifest.json index be967d9..27f72e6 100644 --- a/manifest.json +++ b/manifest.json @@ -2,8 +2,8 @@ "name" : "Zeta Cloud", "appid" : "__UNI__86592F3", "description" : "Zetatech", - "versionName" : "2.0.13", - "versionCode" : 218, + "versionName" : "2.0.16", + "versionCode" : 221, "transformPx" : false, "sassImplementationName" : "node-sass", "app-plus" : { @@ -62,33 +62,33 @@ }, "icons" : { "android" : { - "hdpi" : "D:/zhuomian/mipmap-hdpi/72x72.png", - "xhdpi" : "D:/zhuomian/mipmap-xhdpi/96x96.png", - "xxhdpi" : "D:/zhuomian/mipmap-xxhdpi/144x144.png", - "xxxhdpi" : "D:/zhuomian/mipmap-xxxhdpi/1024x1024.png" + "hdpi" : "unpackage/res/icons/72x72.png", + "xhdpi" : "unpackage/res/icons/96x96.png", + "xxhdpi" : "unpackage/res/icons/144x144.png", + "xxxhdpi" : "unpackage/res/icons/192x192.png" }, "ios" : { - "appstore" : "D:/zhuomian/1/1024x1024.png", + "appstore" : "unpackage/res/icons/1024x1024.png", "ipad" : { - "app" : "D:/zhuomian/申请邓白氏编码资料表/mipmap-mdpi/76x76.png", - "app@2x" : "D:/zhuomian/申请邓白氏编码资料表/mipmap-xhdpi/152x152.png", - "notification" : "D:/zhuomian/mipmap-mdpi/20x20.png", - "notification@2x" : "D:/zhuomian/mipmap-mdpi/40x40.png", - "proapp@2x" : "D:/zhuomian/申请邓白氏编码资料表/mipmap-xhdpi/167x167.png", - "settings" : "D:/zhuomian/mipmap-mdpi/29x29.png", - "settings@2x" : "D:/zhuomian/mipmap-xhdpi/58x58.png", - "spotlight" : "D:/zhuomian/mipmap-mdpi/40x40.png", - "spotlight@2x" : "D:/zhuomian/mipmap-xxxhdpi/80x80.png" + "app" : "unpackage/res/icons/76x76.png", + "app@2x" : "unpackage/res/icons/152x152.png", + "notification" : "unpackage/res/icons/20x20.png", + "notification@2x" : "unpackage/res/icons/40x40.png", + "proapp@2x" : "unpackage/res/icons/167x167.png", + "settings" : "unpackage/res/icons/29x29.png", + "settings@2x" : "unpackage/res/icons/58x58.png", + "spotlight" : "unpackage/res/icons/40x40.png", + "spotlight@2x" : "unpackage/res/icons/80x80.png" }, "iphone" : { - "app@2x" : "D:/zhuomian/mipmap-xhdpi/120x120.png", - "app@3x" : "D:/zhuomian/mipmap-xxhdpi/180x180.png", - "notification@2x" : "D:/zhuomian/mipmap-xhdpi/40x40.png", - "notification@3x" : "D:/zhuomian/mipmap-xxhdpi/60x60.png", - "settings@2x" : "D:/zhuomian/mipmap-xhdpi/58x58.png", - "settings@3x" : "D:/zhuomian/mipmap-xxhdpi/87x87.png", - "spotlight@2x" : "D:/zhuomian/mipmap-xxxhdpi/80x80.png", - "spotlight@3x" : "D:/zhuomian/mipmap-xhdpi/120x120.png" + "app@2x" : "unpackage/res/icons/120x120.png", + "app@3x" : "unpackage/res/icons/180x180.png", + "notification@2x" : "unpackage/res/icons/40x40.png", + "notification@3x" : "unpackage/res/icons/60x60.png", + "settings@2x" : "unpackage/res/icons/58x58.png", + "settings@3x" : "unpackage/res/icons/87x87.png", + "spotlight@2x" : "unpackage/res/icons/80x80.png", + "spotlight@3x" : "unpackage/res/icons/120x120.png" } } }, @@ -96,9 +96,9 @@ "androidStyle" : "default", "androidTranslucent" : true, "android" : { - "hdpi" : "D:/zhuomian/3.png", - "xhdpi" : "D:/zhuomian/2.png", - "xxhdpi" : "D:/zhuomian/1.png" + "hdpi" : "D:/zzfiles/zz-Upload-APP/zetatech-app-logo/Android启动图片设置/480x762new.png", + "xhdpi" : "D:/zzfiles/zz-Upload-APP/zetatech-app-logo/Android启动图片设置/720x1242new.png", + "xxhdpi" : "D:/zzfiles/zz-Upload-APP/zetatech-app-logo/Android启动图片设置/1080x1882new.png" }, "iosStyle" : "common", "ios" : { diff --git a/pages/home-page/device-detail/components/ammeter.vue b/pages/home-page/device-detail/components/ammeter.vue index c5bf18b..d1252cf 100644 --- a/pages/home-page/device-detail/components/ammeter.vue +++ b/pages/home-page/device-detail/components/ammeter.vue @@ -903,7 +903,19 @@ } }, color: ['#009458', '#f0c252', '#0f94da'], - legend: {}, + legend: { + type: 'scroll', + orient: 'horizontal', + icon: "rect", + bottom: 0, + left: 0, + right: 0, + itemWidth: 10, + itemHeight: 10, + textStyle: { + fontSize: 10, + } + }, xAxis: { type: 'category', boundaryGap: false, @@ -1085,7 +1097,19 @@ } }, color: ['#009458', '#f0c252', '#0f94da'], - legend: {}, + legend: { + type: 'scroll', + orient: 'horizontal', + icon: "rect", + bottom: 0, + left: 0, + right: 0, + itemWidth: 10, + itemHeight: 10, + textStyle: { + fontSize: 10, + } + }, xAxis: { type: 'category', boundaryGap: false, diff --git a/pages/home-page/device-detail/components/mppt.vue b/pages/home-page/device-detail/components/mppt.vue index b84eeee..d7b7452 100644 --- a/pages/home-page/device-detail/components/mppt.vue +++ b/pages/home-page/device-detail/components/mppt.vue @@ -20,71 +20,6 @@ - @@ -234,8 +169,6 @@ }, ], } - - ], imageCanvasData: [ { @@ -331,7 +264,7 @@ const xAxis = []; val.forEach((v) => { xAxis.push(v.data); - gonglv.push(v.planCurve); + gonglv.push(v.inCoreDataCurve); // soc.push(v.inCoreDataCurve); }); this.curve_option = { @@ -512,13 +445,11 @@ this.textCanvasData[1].font[1].text = res.data.highV?.value ? res.data.highV.value + " V" : 0 + " V"; this.textCanvasData[2].font[1].text = res.data.lowV?.value ? res.data.lowV.value + " V" : 0 + " V"; this.textCanvasData[3].font[1].text = res.data.lowI?.value ? res.data.lowI.value + " A" : 0 + " A"; - this.textCanvasData[5].font[1].text = res.data.onGrid?.value ? - this.$t('homePage.device.grid') : - this.$t('homePage.device.offGrid'); - if(res.data.outputPower?.value){ - this.textCanvasData[6].font[1].text = this.getFlowDirection(res.data.outputPower?.value, res - .data.flowDirection) - } + this.textCanvasData[4].font[1].text = res.data.onGrid?.value ? this.$t('homePage.device.grid') : this.$t('homePage.device.offGrid'); + if(res.data.pvActivePower?.value){ + this.textCanvasData[5].font[1].text = this.getFlowDirection(res.data.pvActivePower?.value, res + .data.runState?.value) + } this.canvasData = [...this.textCanvasData, ...this.imageCanvasData, ...this.lineCanvasData] }) .finally((res) => { diff --git a/pages/login/index.scss b/pages/login/index.scss index 28fc011..07fc458 100644 --- a/pages/login/index.scss +++ b/pages/login/index.scss @@ -92,9 +92,9 @@ } .center-logo { - width: 410rpx; - height: 150rpx; - top: 100rpx; + width: 220rpx; + height: 140rpx; + top: 80rpx; position: absolute; } diff --git a/pages/login/index.vue b/pages/login/index.vue index fb030e3..a80ae0c 100644 --- a/pages/login/index.vue +++ b/pages/login/index.vue @@ -7,7 +7,7 @@ ZETA CLOUD - + diff --git a/pages/tabbar/components/dischargeChart/index.vue b/pages/tabbar/components/dischargeChart/index.vue index bc4f073..53ed8e8 100644 --- a/pages/tabbar/components/dischargeChart/index.vue +++ b/pages/tabbar/components/dischargeChart/index.vue @@ -14,7 +14,11 @@ return { charge_option: {}, stationId: null, - chartLoading: false + chartLoading: false, + chartChargePv:{ + chartChargeEle:[], + chartPv:[] + } } }, props: { @@ -27,13 +31,16 @@ currentStation() { return this.vuex_currentStation; }, + inverterFlag(){ + return this.vuex_inverterFlag; + }, }, watch: { currentStation: { handler(val) { if (val && val.id) { this.stationId = val.id - this.GetChargeChart() + this.getData(); } }, deep: true, @@ -42,7 +49,7 @@ activeTime: { handler(val) { if (val && this.stationId) { - this.GetChargeChart() + this.getData(); } }, deep: true, @@ -51,8 +58,32 @@ }, methods: { - getData() { - this.GetChargeChart() + async getData() { + await this.GetChargeChart() + if(this.inverterFlag === 1){ + this.GetPvChart() + } + }, + async GetPvChart() { + this.chartLoading = true + //充放电曲线 + let self = this; + return new Promise((resolve, reject) => { + self.$u.api.homePageData + .getPvElecData({ + stationId: this.stationId, + type: this.activeTime, + }) + .then((res) => { + self.chartLoading = false; + self.chartChargePv.chartPv = res.data; + self.initChargeChart(self.chartChargePv); + resolve(); + }) + .catch((err) => { + reject("错误"); + }); + }); }, async GetChargeChart() { this.chartLoading = true @@ -66,7 +97,11 @@ }) .then((res) => { self.chartLoading = false - self.initChargeChart(res.data); + if(self.inverterFlag !== 1){ + self.initChargeChart(res.data); + }else{ + self.chartChargePv.chartChargeEle = res.data; + } resolve(); }) .catch((err) => { @@ -80,12 +115,13 @@ let discharge_data = []; let pv_data = []; let benefit_data = []; - if (val && val.length > 0) { - val.forEach((item) => { + let self = this; + if (val.chartChargeEle && val.chartChargeEle.length > 0) { + val.chartChargeEle.forEach((item,idx) => { x_data.push(item.date); charge_data.push(item.chargeElec); discharge_data.push(item.dischargeElec); - pv_data.push(item.pvChargeElec); + if(self.inverterFlag === 1){pv_data.push(val.chartPv.length > 0? val.chartPv[idx].powerGenerate:'0')}; benefit_data.push(item.income); }); } else { @@ -95,6 +131,43 @@ pv_data = [0, 0, 0, 0, 0, 0, 0]; benefit_data = [0, 0, 0, 0, 0, 0, 0]; } + let optionConfigPv = { + color: ["#009458", "#BFE49F", "#3977B1"], + legend:[this.$t('homePage.home.charge'), this.$t('homePage.home.disCharge'), this.$t( + 'homePage.home.photovoltaicCharge')], + series: [{ + data: charge_data, + type: "bar", + name: this.$t('homePage.home.charge'), + }, + { + data: discharge_data, + type: "bar", + name: this.$t('homePage.home.disCharge'), + }, + { + data: pv_data, + type: "bar", + name: this.$t('homePage.home.photovoltaicCharge'), + } + + ] + }; + let optionConfig = { + color: ["#009458", "#BFE49F"], + legend:[this.$t('homePage.home.charge'), this.$t('homePage.home.disCharge')], + series: [{ + data: charge_data, + type: "bar", + name: this.$t('homePage.home.charge'), + }, + { + data: discharge_data, + type: "bar", + name: this.$t('homePage.home.disCharge'), + } + ] + }; //充放电图表 this.charge_option = { tooltip: { @@ -144,7 +217,7 @@ return [x, y]; }, }, - color: ["#009458", "#BFE49F", "#3977B1"], + color: self.inverterFlag === 1? optionConfigPv.color:optionConfig.color, legend: { animation: false, right: "0", @@ -152,8 +225,7 @@ icon: "rect", itemWidth: 10, itemHeight: 10, - data: [this.$t('homePage.home.charge'), this.$t('homePage.home.disCharge'), this.$t( - 'homePage.home.photovoltaicCharge')], + data: self.inverterFlag === 1? optionConfigPv.legend:optionConfig.legend, }, grid: { left: "15%", @@ -211,23 +283,7 @@ }, }, }, - series: [{ - data: charge_data, - type: "bar", - name: this.$t('homePage.home.charge'), - }, - { - data: discharge_data, - type: "bar", - name: this.$t('homePage.home.disCharge'), - }, - { - data: pv_data, - type: "bar", - name: this.$t('homePage.home.photovoltaicCharge'), - }, - - ], + series: self.inverterFlag === 1? optionConfigPv.series:optionConfig.series, }; }, }, diff --git a/pages/tabbar/components/topology/ceshiL.vue b/pages/tabbar/components/topology/ceshiL.vue index 0e56d45..6f9bb85 100644 --- a/pages/tabbar/components/topology/ceshiL.vue +++ b/pages/tabbar/components/topology/ceshiL.vue @@ -1,1922 +1,2246 @@ - - - \ No newline at end of file diff --git a/pages/tabbar/components/topology/ceshiS.vue b/pages/tabbar/components/topology/ceshiS.vue deleted file mode 100644 index ec09adb..0000000 --- a/pages/tabbar/components/topology/ceshiS.vue +++ /dev/null @@ -1,1223 +0,0 @@ - - - - - \ No newline at end of file diff --git a/pages/tabbar/components/topology/cixi.vue b/pages/tabbar/components/topology/cixi.vue index 2690a85..09470ea 100644 --- a/pages/tabbar/components/topology/cixi.vue +++ b/pages/tabbar/components/topology/cixi.vue @@ -1014,7 +1014,7 @@ stationId: this.stationId, }) .then((res) => { - console.log(this.textCanvasData); + // console.log(this.textCanvasData); this.partList = res.data this.textCanvasData[5].font[1].text = this.partList.length ? this.partList[0].soc + '' : ""; this.textCanvasData[6].font[1].text = this.partList.length ? this.partList[0].soh + '' : ""; diff --git a/pages/tabbar/components/topology/pv2AndStorageSts.vue b/pages/tabbar/components/topology/pv2AndStorageSts.vue new file mode 100644 index 0000000..86669ef --- /dev/null +++ b/pages/tabbar/components/topology/pv2AndStorageSts.vue @@ -0,0 +1,1209 @@ + + + diff --git a/pages/tabbar/components/topology/pv8FourthTopCenter.vue b/pages/tabbar/components/topology/pv8FourthTopCenter.vue new file mode 100644 index 0000000..6f9bb85 --- /dev/null +++ b/pages/tabbar/components/topology/pv8FourthTopCenter.vue @@ -0,0 +1,2246 @@ + + + \ No newline at end of file diff --git a/pages/tabbar/dashboard.vue b/pages/tabbar/dashboard.vue index 65c07dd..d4e0c32 100644 --- a/pages/tabbar/dashboard.vue +++ b/pages/tabbar/dashboard.vue @@ -53,7 +53,12 @@ - + + + + + + @@ -122,9 +127,10 @@ import Section from "@/components/section/index"; import charts from "@/components/charts/index"; import cixi from './components/topology/cixi' - import ceshiT from './components/topology/ceshiT.vue' + import pv2AndStorageSts from './components/topology/pv2AndStorageSts.vue' + // import pv8FourthTopCenter from './components/topology/ceshiL.vue' import ceshiL from './components/topology/ceshiL.vue' - import ceshiS from './components/topology/ceshiS.vue' + import pv8FourthTopCenter from './components/topology/pv8FourthTopCenter.vue' import pv2first from './components/topology/pv2first.vue' @@ -153,9 +159,9 @@ export default { components: { - ceshiT, + pv2AndStorageSts, ceshiL, - ceshiS, + pv8FourthTopCenter, pv2first, myGrid, stationDropdow, @@ -209,7 +215,8 @@ {name:'pv1AndStorage_261',value:1}, {name:'pv1AndStorage_sts_261',value:2}, {name:'pv2AndStorage_261',value:3}, - {name:'pv2AndStorage_sts_261',value:4} + {name:'pv2AndStorage_sts_261',value:4}, + {name:'pv8FourthTopCenter',value:5} ], pvTopologyType:0, society: [{ @@ -313,6 +320,9 @@ if (this.$refs.deviceFire) { this.$refs.deviceFire.getData(this.stationId) } + if (this.$refs.dischargeChart) { + this.$refs.dischargeChart.getData() + } }); }); } @@ -578,7 +588,7 @@ .loading-tip { width: 650rpx; - height: 710rpx; + // height: 710rpx; position: relative; } .top-right-box { diff --git a/pages/tabbar/mine.vue b/pages/tabbar/mine.vue index 4d42b3f..f7d90cc 100644 --- a/pages/tabbar/mine.vue +++ b/pages/tabbar/mine.vue @@ -12,7 +12,7 @@ - + @@ -306,9 +306,9 @@ .image { flex-shrink: 0; - width: 60%; - margin-top: 100rpx; - height: 150rpx; + width: 40%; + margin-top: 80rpx; + height: 200rpx; image { width: 100%; diff --git a/static/topology/pv8pcs4.png b/static/topology/pv8pcs4.png new file mode 100644 index 0000000..2b435db Binary files /dev/null and b/static/topology/pv8pcs4.png differ diff --git a/unpackage/res/icons/1024x1024.png b/unpackage/res/icons/1024x1024.png new file mode 100644 index 0000000..e2af1fd Binary files /dev/null and b/unpackage/res/icons/1024x1024.png differ diff --git a/unpackage/res/icons/120x120.png b/unpackage/res/icons/120x120.png new file mode 100644 index 0000000..8517962 Binary files /dev/null and b/unpackage/res/icons/120x120.png differ diff --git a/unpackage/res/icons/144x144.png b/unpackage/res/icons/144x144.png new file mode 100644 index 0000000..56b8e7f Binary files /dev/null and b/unpackage/res/icons/144x144.png differ diff --git a/unpackage/res/icons/152x152.png b/unpackage/res/icons/152x152.png new file mode 100644 index 0000000..7a3a510 Binary files /dev/null and b/unpackage/res/icons/152x152.png differ diff --git a/unpackage/res/icons/167x167.png b/unpackage/res/icons/167x167.png new file mode 100644 index 0000000..c6d17fd Binary files /dev/null and b/unpackage/res/icons/167x167.png differ diff --git a/unpackage/res/icons/180x180.png b/unpackage/res/icons/180x180.png new file mode 100644 index 0000000..6d1e3f7 Binary files /dev/null and b/unpackage/res/icons/180x180.png differ diff --git a/unpackage/res/icons/192x192.png b/unpackage/res/icons/192x192.png new file mode 100644 index 0000000..8bddf83 Binary files /dev/null and b/unpackage/res/icons/192x192.png differ diff --git a/unpackage/res/icons/20x20.png b/unpackage/res/icons/20x20.png new file mode 100644 index 0000000..0c6fbb4 Binary files /dev/null and b/unpackage/res/icons/20x20.png differ diff --git a/unpackage/res/icons/29x29.png b/unpackage/res/icons/29x29.png new file mode 100644 index 0000000..8adbcea Binary files /dev/null and b/unpackage/res/icons/29x29.png differ diff --git a/unpackage/res/icons/40x40.png b/unpackage/res/icons/40x40.png new file mode 100644 index 0000000..eaa4ae3 Binary files /dev/null and b/unpackage/res/icons/40x40.png differ diff --git a/unpackage/res/icons/58x58.png b/unpackage/res/icons/58x58.png new file mode 100644 index 0000000..3997f44 Binary files /dev/null and b/unpackage/res/icons/58x58.png differ diff --git a/unpackage/res/icons/60x60.png b/unpackage/res/icons/60x60.png new file mode 100644 index 0000000..f831bab Binary files /dev/null and b/unpackage/res/icons/60x60.png differ diff --git a/unpackage/res/icons/72x72.png b/unpackage/res/icons/72x72.png new file mode 100644 index 0000000..2d973c3 Binary files /dev/null and b/unpackage/res/icons/72x72.png differ diff --git a/unpackage/res/icons/76x76.png b/unpackage/res/icons/76x76.png new file mode 100644 index 0000000..1a232d7 Binary files /dev/null and b/unpackage/res/icons/76x76.png differ diff --git a/unpackage/res/icons/80x80.png b/unpackage/res/icons/80x80.png new file mode 100644 index 0000000..cb41773 Binary files /dev/null and b/unpackage/res/icons/80x80.png differ diff --git a/unpackage/res/icons/87x87.png b/unpackage/res/icons/87x87.png new file mode 100644 index 0000000..4a6dcf3 Binary files /dev/null and b/unpackage/res/icons/87x87.png differ diff --git a/unpackage/res/icons/96x96.png b/unpackage/res/icons/96x96.png new file mode 100644 index 0000000..800aba2 Binary files /dev/null and b/unpackage/res/icons/96x96.png differ