+
\ No newline at end of file
diff --git a/bin/Release/assets/html/pages/系统总览.js b/bin/Release/assets/html/pages/系统总览.js
index 52d226f..55d9d29 100644
--- a/bin/Release/assets/html/pages/系统总览.js
+++ b/bin/Release/assets/html/pages/系统总览.js
@@ -76,20 +76,62 @@ window.onresize = () => {
}
function updatePageData() {
- // 查询数据获取环境信息
- $('#envIllumination').text('27.2 Lux')
- $('#envWindspeed').text('1.5 m/s')
- $('#envTemperture').text('27.8 ℃')
- $('#envHumidity').text('37.6 %')
+ // 获取统计数据(累计统计)
+ G.cppNative.getStatisticTotal().then((res => {
+ // {"ccers":100,"elect_charge":0,"elect_gen":153.8,"elect_in":130.2,"income_charge":100,"income_elect":100}
+ $('#windTurbineNum').text('8')
+ $('#solarNum').text('207')
+ $('#electricTotal').text(res['elect_gen'])
+ $('#electricInTotal').text(res['elect_in'])
+ $('#carbonReduction').text(res['ccers'])
+ }))
- // 查询获取统计信息
- $('#windTurbineNum').text('8')
- $('#solarNum').text('207')
- $('#electricTotal').text('153.21')
- $('#electricInTotal').text('120.35')
- $('#carbonReduction').text('36.17')
+ // 获取统计数据(日统计,7天的数据)
+ G.cppNative.getStatisticDay(7).then((res => {
+ var xAxisData = []
+ var solar = { d1: [], d2: [], d3: [] }
+ var storage = { d1: [], d2: [], d3: [] }
+ var load = { d1: [], d2: [], d3: [] }
+ var charge = { d1: [], d2: [], d3: [] }
+
+ res.forEach(item => {
+ solar.d1.push(item['elect_gen_solar'])
+ solar.d2.push(item['elect_in_solar'])
+
+ storage.d1.push(item['elect_store'])
+ storage.d2.push(item['elect_discharge'])
+
+ load.d1.push(item['elect_load'])
+ load.d2.push(item['elect_load'])
+
+ charge.d1.push(item['elect_charge'])
+ charge.d2.push(item['num_charge'])
+ })
+
+ // 服务端获取光伏设备7天统计数据,更新图表
+ // var data1 = [1, 2, 3, 4, 3, 2, 1]
+ // var data2 = [1, 2, 3, 4, 3, 2, 1]
+ // var data3 = [1, 2, 3, 4, 3, 2, 1]
+
+ mychartSolar.setOption({ series: [{ data: solar.d1 }, { data: solar.d2 }, { data: solar.d3 }] });
+ mychartStorage.setOption({ series: [{ data: storage.d1 }, { data: storage.d2 }, { data: storage.d3 }] });
+ mychartLoad.setOption({ series: [{ data: load.d1 }, { data: load.d2 }, { data: load.d3 }] });
+ mychartCharge.setOption({ series: [{ data: charge.d1 }, { data: charge.d2 }, { data: charge.d3 }] });
+ mychartAlert.setOption({ series: [{ data: solar.d1 }, { data: solar.d2 }, { data: solar.d3 }] });
+
+ }))
+
+ // 查询数据获取环境信息:光照、风速、环境温度、湿度
+ G.cppNative.getEnvironmentInfo().then(res => {
+ $('#envIllumination').text(res['illumination'] + ' Lux')
+ $('#envWindspeed').text(res['windspeed'] + ' m/s')
+ $('#envTemperture').text(res['temperature'] + ' ℃')
+ $('#envHumidity').text(res['humidity'] + ' %')
+
+ })
}
+/// 清理资源
var timerId = null
document.currentScript.addEventListener('DOMNodeRemoved', () => {
G.cppNative.log('DOMNodeRemoved: 运行监控')
diff --git a/src/widgets/WebHandler.cpp b/src/widgets/WebHandler.cpp
index c6197cf..36d9071 100644
--- a/src/widgets/WebHandler.cpp
+++ b/src/widgets/WebHandler.cpp
@@ -722,4 +722,77 @@ QVariantList MyWebHandler::getDeviceInfo(const QVariantList& types)
result << row;
}
return result;
+}
+
+QVariantMap MyWebHandler::getEnvironmentInfo()
+{
+ QVariantMap result;
+ result["illumination"] = 30.2;
+ result["windspeed"] = 2.6;
+ result["temperature"] = 27.8;
+ result["humidity"] = 36.9;
+ return result;
+}
+
+QVariantMap MyWebHandler::getFireInfo()
+{
+ QVariantMap result;
+
+ // 多个消防点位的信息
+ //感烟探测器 Smoke detector
+ //感温探测器 Heat detector
+ //火焰探测器 Flame detector
+
+ QVariantList list;
+ for (int i = 0; i<7; i++)
+ {
+ QVariantMap item;
+ item["pos"] = 1;
+ item["status"] = 0;
+ list << item;
+ }
+ result["data"] = list;
+
+ return result;
+}
+
+// 获取累计统计数据
+QVariantMap MyWebHandler::getStatisticTotal()
+{
+ QVariantMap result;
+
+ // 查询数据库获取累计统计数据
+
+ result["elect_gen"] = 153.8; // 累计发电量
+ result["elect_in"] = 130.2; // 累计入网电量
+ result["elect_charge"] = 0.0; // 累计充电电量
+ result["income_elect"] = 100.0; // 累计发电收益
+ result["income_charge"] = 100.0; // 累计充电收益
+ result["ccers"] = 100.0; // 累计碳减排量
+
+ return result;
+}
+
+// 获取按天统计数据
+QVariantList MyWebHandler::getStatisticDay(const QString& startDate, int nday)
+{
+ QVariantList result;
+
+ // 查询数据库获取累计统计数据
+ for (int i=1; i<=7; i++)
+ {
+ QVariantMap row;
+ row["dt"] = "";
+ row["elect_gen_solar"] = float(i);
+ row["elect_in_solar"] = float(i);
+ row["income_solar"] = float(i);
+ row["elect_store"] = float(i);
+ row["elect_discharge"] = float(i);
+ row["elect_load"] = float(i);
+ row["elect_charge"] = float(i);
+ row["num_charge"] = float(i);
+ row["income_charge"] = float(i);
+ result << row;
+ }
+ return result;
}
\ No newline at end of file
diff --git a/src/widgets/WebHandler.h b/src/widgets/WebHandler.h
index 097456c..376b5e5 100644
--- a/src/widgets/WebHandler.h
+++ b/src/widgets/WebHandler.h
@@ -38,21 +38,21 @@ public slots:
QString readFile(const QString& filename);
- // ================================================================================================================
+ ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// 登录,返回用户信息
void login(const QString& username, const QString& password);
// 登出
void loginOut(const QString& username);
- // ================================================================================================================
- // 用户管理接口
+ ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+ /// === 用户管理接口
QVariantMap queryUserList(int page, int pageSize);
int insertUser(QVariantMap params);
int deleteUser(const QString& userId);
int updateUser(const QString& userId, QVariantMap params);
- // ================================================================================================================
- // 角色管理接口
+ ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+ /// === 角色管理接口 ===
/**
* 查询角色列表, pageSize !=0 时分页查询
* @param [int page]: 当前的页码
@@ -66,15 +66,15 @@ public slots:
QVariantList queryRolePermissionList(int roleId);
int updateRolePermission(int roleId, QVariantList params);
- // ================================================================================================================
- // 权限管理接口
+ ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+ /// === 权限管理接口
QVariantMap queryPermissionList(int page, int pageSize);
int insertPermission(QVariantMap params);
int deletePermission(const QString& permissionId);
int updatePermission(const QString& permissionId, QVariantMap params);
- // ================================================================================================================
- // 设备管理接口
+ ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+ /// === 设备管理接口
QVariantMap queryDeviceList(int page, int pageSize);
QVariantList queryDevice(QVariantMap params);
@@ -83,41 +83,56 @@ public slots:
int updateDevice(const QString& deviceId, QVariantMap params);
QVariantList queryDeviceTypeList();
- // ================================================================================================================
- // 计费管理接口
+ ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+ /// === 计费管理接口
QVariantMap queryPriceList(int page, int pageSize);
int insertPrice(QVariantMap params);
int deletePrice(const QString& priceId);
int updatePrice(const QString& priceId, QVariantMap params);
QVariantList queryPriceTypeList();
- // ================================================================================================================
- // 策略管理接口
+ ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+ /// === 策略管理接口
QVariantMap queryPolicyList(int page, int pageSize);
int insertPolicy(QVariantMap params);
int deletePolicy(const QString& policyId);
int updatePolicy(const QString& policyId, QVariantMap params);
QVariantList queryPolicyTypeList();
- // ================================================================================================================
- // 系统日志接口
+ ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+ /// === 系统日志接口
QVariantMap querySyslogList(int page, int pageSize);
- // ================================================================================================================
- // 安全策略
+ ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+ /// === 安全策略 ===
QVariantMap querySecPolicyList(int page, int pageSize);
int insertSecPolicy(QVariantMap params);
int updateSecPolicy(const QString& policyId, QVariantMap params);
- // ================================================================================================================
- // 安全日志记录
+ ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+ /// === 安全日志记录 ===
QVariantMap querySecRecordList(int page, int pageSize);
int insertSecRecord(QVariantMap params);
int updateSecRecord(const QString& policyId, QVariantMap params);
- // ================================================================================================================
+ ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
QVariantList getDeviceInfo(const QVariantList& types);
+ ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+ /// === 环境信息 ===
+ QVariantMap getEnvironmentInfo();
+ QVariantMap getFireInfo();
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+ /// === 统计信息 ===
+ // 获取累计统计数据
+ QVariantMap getStatisticTotal();
+ // 获取按天统计数据
+ QVariantList getStatisticDay(const QString& startDate, int nday=7);
+ // 获取一天的
+
+
+
public:
QString nativeText_;
};
diff --git a/src/widgets/uihelper.h b/src/widgets/uihelper.h
index 82030c2..bfcc9db 100644
--- a/src/widgets/uihelper.h
+++ b/src/widgets/uihelper.h
@@ -154,7 +154,6 @@ public:
QLabel labV_;
};
-
class TableBase : public QObject
{
Q_OBJECT