From 2cd13bc7d5f6b249b0cf81d1f6d82359ea0b8450 Mon Sep 17 00:00:00 2001
From: tianlinzhong <673359306@qq.com>
Date: Mon, 19 Jul 2021 17:59:56 +0800
Subject: [PATCH 1/4] Add Child Spaces Share Pie to Space Cost Report Web UI
---
web/src/components/MyEMS/Space/SpaceCost.js | 37 +++++++++++++++++++--
1 file changed, 35 insertions(+), 2 deletions(-)
diff --git a/web/src/components/MyEMS/Space/SpaceCost.js b/web/src/components/MyEMS/Space/SpaceCost.js
index 02c352ca..a59bc58f 100644
--- a/web/src/components/MyEMS/Space/SpaceCost.js
+++ b/web/src/components/MyEMS/Space/SpaceCost.js
@@ -83,7 +83,8 @@ const SpaceCost = ({ setRedirect, setRedirectUrl, t }) => {
const [spaceLineChartLabels, setSpaceLineChartLabels] = useState([]);
const [spaceLineChartData, setSpaceLineChartData] = useState({});
const [spaceLineChartOptions, setSpaceLineChartOptions] = useState([]);
-
+ const [childSpaceProportionList, setChildSpaceProportionList] = useState([]);
+
const [parameterLineChartLabels, setParameterLineChartLabels] = useState([]);
const [parameterLineChartData, setParameterLineChartData] = useState({});
const [parameterLineChartOptions, setParameterLineChartOptions] = useState([]);
@@ -318,7 +319,28 @@ const SpaceCost = ({ setRedirect, setRedirectUrl, t }) => {
costDataArray.push(costDataItem);
});
setCostShareData(costDataArray);
-
+
+ let childSpaceProportionArray = [];
+ json['child_space']['energy_category_names'].forEach((currentValue, energyCategoryIndex) => {
+ if (json['child_space']['child_space_names_array'][energyCategoryIndex].length > 0) {
+ let childSpaceProportionItem = {}
+ childSpaceProportionItem['data'] = []
+ json['child_space']['child_space_names_array'][energyCategoryIndex].forEach((currentSpaceName, spaceIndex) => {
+ let childSpaceProportionItemDataItem = {}
+ childSpaceProportionItemDataItem['id'] = spaceIndex;
+ childSpaceProportionItemDataItem['name'] = currentSpaceName;
+ childSpaceProportionItemDataItem['value'] = json['child_space']['subtotals_array'][energyCategoryIndex][spaceIndex];
+ childSpaceProportionItemDataItem['color'] = "#"+((1<<24)*Math.random()|0).toString(16);
+ childSpaceProportionItem['data'].push(childSpaceProportionItemDataItem);
+ });
+
+ childSpaceProportionItem['name'] = json['child_space']['energy_category_names'][energyCategoryIndex];
+ childSpaceProportionItem['unit'] = json['child_space']['units'][energyCategoryIndex];
+ childSpaceProportionArray.push(childSpaceProportionItem);
+ };
+ });
+ setChildSpaceProportionList(childSpaceProportionArray);
+
let timestamps = {}
json['reporting_period']['timestamps'].forEach((currentValue, index) => {
timestamps['a' + index] = currentValue;
@@ -637,6 +659,17 @@ const SpaceCost = ({ setRedirect, setRedirectUrl, t }) => {
+ {childSpaceProportionList.map(childSpaceProportionItem => (
+
+
+
+ ))}
Date: Mon, 26 Jul 2021 20:45:50 +0800
Subject: [PATCH 2/4] Added a total cost ratio chart
---
web/src/components/MyEMS/Space/SpaceCost.js | 35 +++++++++++++++++++++
1 file changed, 35 insertions(+)
diff --git a/web/src/components/MyEMS/Space/SpaceCost.js b/web/src/components/MyEMS/Space/SpaceCost.js
index a59bc58f..bcbc5971 100644
--- a/web/src/components/MyEMS/Space/SpaceCost.js
+++ b/web/src/components/MyEMS/Space/SpaceCost.js
@@ -84,6 +84,7 @@ const SpaceCost = ({ setRedirect, setRedirectUrl, t }) => {
const [spaceLineChartData, setSpaceLineChartData] = useState({});
const [spaceLineChartOptions, setSpaceLineChartOptions] = useState([]);
const [childSpaceProportionList, setChildSpaceProportionList] = useState([]);
+ const [childSpacesProportionList, setChildSpacesProportionList] = useState([]);
const [parameterLineChartLabels, setParameterLineChartLabels] = useState([]);
const [parameterLineChartData, setParameterLineChartData] = useState({});
@@ -341,6 +342,29 @@ const SpaceCost = ({ setRedirect, setRedirectUrl, t }) => {
});
setChildSpaceProportionList(childSpaceProportionArray);
+ let childSpacesProportionArray = [];
+ if (json['child_space']['child_space_names_array'].length > 0) {
+ let childSpacesProportionItem = {}
+ childSpacesProportionItem['data'] = []
+ json['child_space']['child_space_names_array'][0].forEach((currentSpaceName, spaceIndex) => {
+ let total = 0.0;
+ json['child_space']['energy_category_names'].forEach((currentValue, energyCategoryIndex) => {
+ total += json['child_space']['subtotals_array'][energyCategoryIndex][spaceIndex]
+ // total = total.toFixed()
+ });
+ let childSpacesProportionItemDataItem = {};
+ childSpacesProportionItemDataItem['id'] = spaceIndex;
+ childSpacesProportionItemDataItem['name'] = currentSpaceName;
+ childSpacesProportionItemDataItem['value'] = total;
+ childSpacesProportionItemDataItem['color'] = "#"+((1<<24)*Math.random()|0).toString(16);
+ childSpacesProportionItem['data'].push(childSpacesProportionItemDataItem);
+ });
+ childSpacesProportionItem['name'] = "";
+ childSpacesProportionItem['unit'] = "";
+ childSpacesProportionArray.push(childSpacesProportionItem);
+ };
+ setChildSpacesProportionList(childSpacesProportionArray);
+
let timestamps = {}
json['reporting_period']['timestamps'].forEach((currentValue, index) => {
timestamps['a' + index] = currentValue;
@@ -670,6 +694,17 @@ const SpaceCost = ({ setRedirect, setRedirectUrl, t }) => {
/>
))}
+ {childSpacesProportionList.map(childSpacesProportionItem => (
+
+
+
+ ))}
Date: Tue, 27 Jul 2021 18:40:25 +0800
Subject: [PATCH 3/4] Fixed some bugs
---
web/src/components/MyEMS/Space/SpaceCost.js | 23 +++++++--------------
web/src/i18n.js | 1 +
2 files changed, 8 insertions(+), 16 deletions(-)
diff --git a/web/src/components/MyEMS/Space/SpaceCost.js b/web/src/components/MyEMS/Space/SpaceCost.js
index bcbc5971..32fc073c 100644
--- a/web/src/components/MyEMS/Space/SpaceCost.js
+++ b/web/src/components/MyEMS/Space/SpaceCost.js
@@ -84,7 +84,7 @@ const SpaceCost = ({ setRedirect, setRedirectUrl, t }) => {
const [spaceLineChartData, setSpaceLineChartData] = useState({});
const [spaceLineChartOptions, setSpaceLineChartOptions] = useState([]);
const [childSpaceProportionList, setChildSpaceProportionList] = useState([]);
- const [childSpacesProportionList, setChildSpacesProportionList] = useState([]);
+ const [childSpacetotalProportion, setChildSpacetotalProportion] = useState([]);
const [parameterLineChartLabels, setParameterLineChartLabels] = useState([]);
const [parameterLineChartData, setParameterLineChartData] = useState({});
@@ -344,26 +344,21 @@ const SpaceCost = ({ setRedirect, setRedirectUrl, t }) => {
let childSpacesProportionArray = [];
if (json['child_space']['child_space_names_array'].length > 0) {
- let childSpacesProportionItem = {}
- childSpacesProportionItem['data'] = []
json['child_space']['child_space_names_array'][0].forEach((currentSpaceName, spaceIndex) => {
let total = 0.0;
json['child_space']['energy_category_names'].forEach((currentValue, energyCategoryIndex) => {
total += json['child_space']['subtotals_array'][energyCategoryIndex][spaceIndex]
- // total = total.toFixed()
+ total = total.toFixed()
});
let childSpacesProportionItemDataItem = {};
childSpacesProportionItemDataItem['id'] = spaceIndex;
childSpacesProportionItemDataItem['name'] = currentSpaceName;
childSpacesProportionItemDataItem['value'] = total;
childSpacesProportionItemDataItem['color'] = "#"+((1<<24)*Math.random()|0).toString(16);
- childSpacesProportionItem['data'].push(childSpacesProportionItemDataItem);
+ childSpacesProportionArray.push(childSpacesProportionItemDataItem);
});
- childSpacesProportionItem['name'] = "";
- childSpacesProportionItem['unit'] = "";
- childSpacesProportionArray.push(childSpacesProportionItem);
};
- setChildSpacesProportionList(childSpacesProportionArray);
+ setChildSpacetotalProportion(childSpacesProportionArray);
let timestamps = {}
json['reporting_period']['timestamps'].forEach((currentValue, index) => {
@@ -694,17 +689,13 @@ const SpaceCost = ({ setRedirect, setRedirectUrl, t }) => {
/>
))}
- {childSpacesProportionList.map(childSpacesProportionItem => (
- ))}
+
Date: Wed, 28 Jul 2021 12:35:17 +0800
Subject: [PATCH 4/4] added translation of Child Space Total Proportion for
SpaceCost in Web UI
---
web/src/components/MyEMS/Space/SpaceCost.js | 35 ++++++++++-----------
web/src/i18n.js | 10 +++---
2 files changed, 23 insertions(+), 22 deletions(-)
diff --git a/web/src/components/MyEMS/Space/SpaceCost.js b/web/src/components/MyEMS/Space/SpaceCost.js
index 32fc073c..024de40a 100644
--- a/web/src/components/MyEMS/Space/SpaceCost.js
+++ b/web/src/components/MyEMS/Space/SpaceCost.js
@@ -84,7 +84,7 @@ const SpaceCost = ({ setRedirect, setRedirectUrl, t }) => {
const [spaceLineChartData, setSpaceLineChartData] = useState({});
const [spaceLineChartOptions, setSpaceLineChartOptions] = useState([]);
const [childSpaceProportionList, setChildSpaceProportionList] = useState([]);
- const [childSpacetotalProportion, setChildSpacetotalProportion] = useState([]);
+ const [childSpaceSubtotalShareData, setChildSpaceSubtotalShareData] = useState([]);
const [parameterLineChartLabels, setParameterLineChartLabels] = useState([]);
const [parameterLineChartData, setParameterLineChartData] = useState({});
@@ -342,23 +342,22 @@ const SpaceCost = ({ setRedirect, setRedirectUrl, t }) => {
});
setChildSpaceProportionList(childSpaceProportionArray);
- let childSpacesProportionArray = [];
+ let childSpaceSubtotalShareDataArray = [];
if (json['child_space']['child_space_names_array'].length > 0) {
json['child_space']['child_space_names_array'][0].forEach((currentSpaceName, spaceIndex) => {
- let total = 0.0;
+ let subtotal = 0.0;
json['child_space']['energy_category_names'].forEach((currentValue, energyCategoryIndex) => {
- total += json['child_space']['subtotals_array'][energyCategoryIndex][spaceIndex]
- total = total.toFixed()
+ subtotal += json['child_space']['subtotals_array'][energyCategoryIndex][spaceIndex];
});
- let childSpacesProportionItemDataItem = {};
- childSpacesProportionItemDataItem['id'] = spaceIndex;
- childSpacesProportionItemDataItem['name'] = currentSpaceName;
- childSpacesProportionItemDataItem['value'] = total;
- childSpacesProportionItemDataItem['color'] = "#"+((1<<24)*Math.random()|0).toString(16);
- childSpacesProportionArray.push(childSpacesProportionItemDataItem);
+ let childSpaceSubtotalDataItem = {};
+ childSpaceSubtotalDataItem['id'] = spaceIndex;
+ childSpaceSubtotalDataItem['name'] = currentSpaceName;
+ childSpaceSubtotalDataItem['value'] = subtotal;
+ childSpaceSubtotalDataItem['color'] = "#"+((1<<24)*Math.random()|0).toString(16);
+ childSpaceSubtotalShareDataArray.push(childSpaceSubtotalDataItem);
});
};
- setChildSpacetotalProportion(childSpacesProportionArray);
+ setChildSpaceSubtotalShareData(childSpaceSubtotalShareDataArray);
let timestamps = {}
json['reporting_period']['timestamps'].forEach((currentValue, index) => {
@@ -689,12 +688,12 @@ const SpaceCost = ({ setRedirect, setRedirectUrl, t }) => {
/>
))}
-
-
-
+
+
+