From 2029e64ec0491f7e511dc15bffaf821bfbabe2de Mon Sep 17 00:00:00 2001
From: 黄学彪 <hxb@hdlchina.com.cn>
Date: 星期一, 20 七月 2020 14:10:22 +0800
Subject: [PATCH] 上传一个很特别的新版本
---
ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelFangyueFreshAirButtonSettionForm.cs | 391 ++++++++++++++++++++++++++++++++++++++++++++++---------
1 files changed, 327 insertions(+), 64 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelFangyueFreshAirButtonSettionForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelFangyueFreshAirButtonSettionForm.cs
index 6e119bd..7dec652 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelFangyueFreshAirButtonSettionForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelFangyueFreshAirButtonSettionForm.cs
@@ -1,4 +1,9 @@
锘縰sing System;
+using System.Collections.Generic;
+using Shared.Common;
+using Shared.Phone.UserCenter.Device.Bind;
+using Shared.Phone.UserCenter.DeviceBind;
+using ZigBee.Common;
using ZigBee.Device;
namespace Shared.Phone.UserCenter.DevicePanel
@@ -18,8 +23,45 @@
/// 璁惧鐨勬煇涓�鍥炶矾
/// </summary>
private CommonDevice deviceObj = null;
+ /// <summary>
+ /// 鏂伴鐩爣鍚嶅瓧
+ /// </summary>
+ private string bindFreshAirName = string.Empty;
+ /// <summary>
+ /// 娓╁害鐩爣鍚嶅瓧
+ /// </summary>
+ private string bindTemperatureName = string.Empty;
+ /// <summary>
+ /// 婀垮害鐩爣鍚嶅瓧
+ /// </summary>
+ private string bindHumidityName = string.Empty;
+ /// <summary>
+ /// PM鐩爣鍚嶅瓧
+ /// </summary>
+ private string bindPmName = string.Empty;
+ /// <summary>
+ /// 琚粦鐩爣鏄柊椋�
+ /// </summary>
+ private CommonDevice bindFreshAirDev;
+ /// <summary>
+ /// 琚粦鐩爣鏄俯搴�
+ /// </summary>
+ private CommonDevice bindTemperatureDev;
+ /// <summary>
+ /// 琚粦鐩爣鏄箍搴�
+ /// </summary>
+ private CommonDevice bindHumidityDev;
+ /// <summary>
+ /// 琚粦鐩爣鏄疨M2.5
+ /// </summary>
+ private CommonDevice bindPMDev;
+ // <summary>
+ /// 鎸夐敭涓缁戝畾鐨勭洰鏍囧垪琛�
+ /// </summary>
+ public List<BindObj.BindListResponseObj> bindList = new List<BindObj.BindListResponseObj>();
#endregion
+
#region 鈻� 鍒濆鍖朹____________________________
/// <summary>
@@ -29,6 +71,8 @@
public void ShowForm(CommonDevice i_device)
{
this.deviceObj = i_device;
+ //鑾峰彇鏁版嵁
+ InitInfo(deviceObj);
//璁剧疆澶撮儴淇℃伅
base.SetTitleText(Language.StringByID(R.MyInternationalizationString.uPanelSettion));
@@ -90,43 +134,216 @@
//娣诲姞鏂伴鐩爣
this.AddFreshAirRow();
//PM2.5鏉ユ簮
- //this.AddPMRow();
+ this.AddPMRow();
//娣诲姞娓╁害鏉ユ簮
- //this.AddTemperatureSensorRow();
+ this.AddTemperatureSensorRow();
//娣诲姞婀垮害鏉ユ簮
- //this.AddHumiditySourceRow();
- //娣诲姞鏂伴鐩爣
- //this.AddPMRow();
+ this.AddHumiditySourceRow();
//浜害璋冭妭
this.AddLevelRow();
}
#endregion
-
+
+ #region 鈻� 鍒濆鍖栨暟鎹甠________________________
+
+ /// <summary>
+ /// 鍒濆鍖栨暟鎹�
+ /// </summary>
+ void InitInfo(CommonDevice curControlDev)
+ {
+ System.Threading.Tasks.Task.Run(async () =>
+ {
+ try
+ {
+ Application.RunOnMainThread(() =>
+ {
+ CommonPage.Loading.Start("");
+ });
+
+ var result = await GetBindName(curControlDev);
+ if (!result)
+ {
+
+ Application.RunOnMainThread(() =>
+ {
+ new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(Common.CommonPage.Instance);
+ });
+ }
+ }
+ catch (Exception ex)
+ {
+ var mess = ex.Message;
+ }
+ finally
+ {
+ Application.RunOnMainThread(() =>
+ {
+ this.InitMenuRow();
+ CommonPage.Loading.Hide();
+ });
+ }
+ });
+ }
+
+ /// <summary>
+ /// 鑾峰彇缁戝畾鐩爣
+ /// </summary>
+ /// <param name="curControlDev"></param>
+ /// <returns></returns>
+ private async System.Threading.Tasks.Task<bool> GetBindName(CommonDevice curDev)
+ {
+ bool result = false;
+ //鑾峰彇闈㈡澘涓瓨鍦ㄧ殑缁戝畾鐩爣
+ FreshAir curControlDev = curDev as FreshAir;
+ var panelBindListRes = HdlDeviceBindLogic.Current.GetDeviceBindAsync(curControlDev);
+ if (panelBindListRes != null && panelBindListRes.getAllBindResponseData != null)
+ {
+ bindList = panelBindListRes.getAllBindResponseData.BindList;
+ foreach (var bDev in bindList)
+ {
+ var device = Common.LocalDevice.Current.GetDevice(bDev.BindMacAddr, bDev.BindEpoint);
+ if (device == null)
+ {
+ continue;
+ }
+ if (device.Type == DeviceType.FreshAir)
+ {
+ //鑾峰彇璁惧绫诲瀷鐨�
+ var deviceEnumInfo = Common.LocalDevice.Current.GetMyDeviceEnumInfo(new List<CommonDevice>() { device });
+ //鏂伴闈㈡澘鐨勬柊椋庤澶囷紝鍒欎笉鏄剧ず
+ if (deviceEnumInfo.ConcreteType == Common.DeviceConcreteType.ButtonPanel_FangyueFreshAir)
+ {
+ continue;
+ }
+ if (string.IsNullOrEmpty(bDev.ESName))
+ {
+ bindFreshAirName = Common.LocalDevice.Current.GetDeviceEpointName(device);
+ }
+ else
+ {
+ bindFreshAirName = bDev.ESName;
+ }
+
+ bindFreshAirDev = device;
+ }
+ if (device.Type == DeviceType.TemperatureSensor)
+ {
+ var bD = device as TemperatureSensor;
+ if (bD.SensorDiv == 1)
+ {
+ if (string.IsNullOrEmpty(bDev.ESName))
+ {
+ bindTemperatureName = Common.LocalDevice.Current.GetDeviceEpointName(device);
+ }
+ else
+ {
+ bindTemperatureName = bDev.ESName;
+ }
+ bindTemperatureDev = device;
+ }
+ if (bD.SensorDiv == 2)
+ {
+ if (string.IsNullOrEmpty(bDev.ESName))
+ {
+ bindHumidityName = Common.LocalDevice.Current.GetDeviceEpointName(device);
+ }
+ else
+ {
+ bindHumidityName = bDev.ESName;
+ }
+
+ bindHumidityDev = device;
+ }
+ }
+ if (device.Type == DeviceType.FreshAirHumiditySensor)
+ {
+ if (string.IsNullOrEmpty(bDev.ESName))
+ {
+ bindHumidityName = Common.LocalDevice.Current.GetDeviceEpointName(device);
+ }
+ else
+ {
+ bindHumidityName = bDev.ESName;
+ }
+
+ bindHumidityDev = device;
+ }
+ if (device.Type == DeviceType.PMSensor)
+ {
+ if (bDev.BindCluster == 1026)
+ {
+ bindTemperatureName = Common.LocalDevice.Current.GetDeviceEpointName(device) + "-" + Language.StringByID(R.MyInternationalizationString.TemperatureSensor);
+ bindTemperatureDev = device;
+ }
+ if (bDev.BindCluster == 1029)
+ {
+ bindHumidityName = Common.LocalDevice.Current.GetDeviceEpointName(device) + "-" + Language.StringByID(R.MyInternationalizationString.HumiditySensor);
+ bindHumidityDev = device;
+ }
+ if (bDev.BindCluster == 1066)
+ {
+ if (string.IsNullOrEmpty(bDev.ESName))
+ {
+ bindPmName = Common.LocalDevice.Current.GetDeviceEpointName(device);
+ }
+ else
+ {
+ bindPmName = bDev.ESName;
+ }
+
+ bindPMDev = device;
+ }
+ }
+ }
+ result = true;
+ }
+ return result;
+ }
+
+ #endregion
+
#region 鈻� 鏂伴鐩爣_________________________
/// <summary>
/// 鏂伴鐩爣琛�
/// </summary>
private void AddFreshAirRow()
{
- //鏂伴鐩爣
- var rowNewWind = new FrameRowControl(listview.rowSpace / 2);
- listview.AddChidren(rowNewWind);
- rowNewWind.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uNewWindTarget), 600);
- //搴曠嚎
- rowNewWind.AddBottomLine();
- //鍙崇澶�
- rowNewWind.AddRightArrow();
+ //鏂伴鐩爣
+ var rowNewWind = new FrameRowControl(listview.rowSpace / 2);
+ listview.AddChidren(rowNewWind);
+ rowNewWind.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uNewWindTarget), 600);
+ //搴曠嚎
+ rowNewWind.AddBottomLine();
+ //鍙崇澶�
+ rowNewWind.AddRightArrow();
+
var msg = Language.StringByID(R.MyInternationalizationString.nothing);
- // 鍥炶皟鏂伴缁戝畾鐩爣
- var btnNewWindStatu = rowNewWind.AddMostRightView(msg, 700);
- rowNewWind.ButtonClickEvent += (sender, e) =>
- {
- //var addDevicePage = new Shared.Phone.UserCenter.DeviceBind.PanelFangyueFreshAirTargetsForm(this.deviceObj, 1);
- //Shared.Phone.UserView.HomePage.Instance.AddChidren(addDevicePage);
- //Shared.Phone.UserView.HomePage.Instance.PageIndex += 1;
- //addDevicePage.Show();
- var form = new PanelFangyueFreshAirTargetForm();
- form.AddForm(this.deviceObj, string.Empty, 3);
+ if (!string.IsNullOrEmpty(bindFreshAirName))
+ {
+ msg = bindFreshAirName;
+ }
+ var btnNewWindStatu = rowNewWind.AddMostRightView(msg, 700);
+
+ rowNewWind.ButtonClickEvent += (sender, e) =>
+ {
+ var paneTargetsBaseFormp = new PaneTargetsBaseForm(this.deviceObj, bindFreshAirDev, BindInfo.BindType.FreshAir);
+ Shared.Phone.UserView.HomePage.Instance.AddChidren(paneTargetsBaseFormp);
+ Shared.Phone.UserView.HomePage.Instance.PageIndex += 1;
+ paneTargetsBaseFormp.Show();
+ paneTargetsBaseFormp.actionFreshAirTarget += (bindName) =>
+ {
+ Application.RunOnMainThread(() =>
+ {
+ if (string.IsNullOrEmpty(bindName))
+ {
+ btnNewWindStatu.Text = Language.StringByID(R.MyInternationalizationString.nothing);
+ }
+ else
+ {
+ btnNewWindStatu.Text = bindName;
+ }
+ });
+ };
};
}
#endregion
@@ -138,22 +355,39 @@
private void AddPMRow()
{
//PM2.5
- var rowNewWind = new FrameRowControl(listview.rowSpace / 2);
- listview.AddChidren(rowNewWind);
- rowNewWind.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.PM25Source), 600);
+ var rowPM = new FrameRowControl(listview.rowSpace / 2);
+ listview.AddChidren(rowPM);
+ rowPM.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.PM25Source), 600);
//搴曠嚎
- rowNewWind.AddBottomLine();
+ rowPM.AddBottomLine();
//鍙崇澶�
- rowNewWind.AddRightArrow();
+ rowPM.AddRightArrow();
var msg = Language.StringByID(R.MyInternationalizationString.nothing);
- // 鍥炶皟PM2.5鏉ユ簮缁戝畾鐩爣
- var btnNewWindStatu = rowNewWind.AddMostRightView(msg, 700);
- rowNewWind.ButtonClickEvent += (sender, e) =>
+ if (!string.IsNullOrEmpty(bindPmName))
{
- var addDevicePage = new Shared.Phone.UserCenter.DeviceBind.PanelFangyueFreshAirTargetsForm(this.deviceObj, 4);
- Shared.Phone.UserView.HomePage.Instance.AddChidren(addDevicePage);
+ msg = bindPmName;
+ }
+ var btnPMStatu = rowPM.AddMostRightView(msg, 700);
+ rowPM.ButtonClickEvent += (sender, e) =>
+ {
+ var paneTargetsBaseFormp = new PaneTargetsBaseForm(this.deviceObj, bindPMDev, BindInfo.BindType.PM);
+ Shared.Phone.UserView.HomePage.Instance.AddChidren(paneTargetsBaseFormp);
Shared.Phone.UserView.HomePage.Instance.PageIndex += 1;
- addDevicePage.Show();
+ paneTargetsBaseFormp.Show();
+ paneTargetsBaseFormp.actionPMTarget += (bindName) =>
+ {
+ Application.RunOnMainThread(() =>
+ {
+ if (string.IsNullOrEmpty(bindName))
+ {
+ btnPMStatu.Text = Language.StringByID(R.MyInternationalizationString.nothing);
+ }
+ else
+ {
+ btnPMStatu.Text = bindName;
+ }
+ });
+ };
};
}
#endregion
@@ -165,22 +399,39 @@
private void AddTemperatureSensorRow()
{
//娓╁害鏉ユ簮
- var rowNewWind = new FrameRowControl(listview.rowSpace / 2);
- listview.AddChidren(rowNewWind);
- rowNewWind.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.TemperatureSource), 600);
+ var rowTemPerature = new FrameRowControl(listview.rowSpace / 2);
+ listview.AddChidren(rowTemPerature);
+ rowTemPerature.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.TemperatureSource), 600);
//搴曠嚎
- rowNewWind.AddBottomLine();
+ rowTemPerature.AddBottomLine();
//鍙崇澶�
- rowNewWind.AddRightArrow();
+ rowTemPerature.AddRightArrow();
var msg = Language.StringByID(R.MyInternationalizationString.nothing);
- // 鍥炶皟娓╁害鏉ユ簮缁戝畾鐩爣
- var btnNewWindStatu = rowNewWind.AddMostRightView(msg, 700);
- rowNewWind.ButtonClickEvent += (sender, e) =>
+ if (!string.IsNullOrEmpty(bindTemperatureName))
{
- var addDevicePage = new Shared.Phone.UserCenter.DeviceBind.PanelFangyueFreshAirTargetsForm(this.deviceObj, 2);
- Shared.Phone.UserView.HomePage.Instance.AddChidren(addDevicePage);
+ msg = bindTemperatureName;
+ }
+ var btnTemperatureStatu = rowTemPerature.AddMostRightView(msg, 700);
+ rowTemPerature.ButtonClickEvent += (sender, e) =>
+ {
+ var paneTargetsBaseFormp = new PaneTargetsBaseForm(this.deviceObj, bindTemperatureDev, BindInfo.BindType.Temperature);
+ Shared.Phone.UserView.HomePage.Instance.AddChidren(paneTargetsBaseFormp);
Shared.Phone.UserView.HomePage.Instance.PageIndex += 1;
- addDevicePage.Show();
+ paneTargetsBaseFormp.Show();
+ paneTargetsBaseFormp.actionTemperatureTarget += (bindName) =>
+ {
+ Application.RunOnMainThread(() =>
+ {
+ if (string.IsNullOrEmpty(bindName))
+ {
+ btnTemperatureStatu.Text = Language.StringByID(R.MyInternationalizationString.nothing);
+ }
+ else
+ {
+ btnTemperatureStatu.Text = bindName;
+ }
+ });
+ };
};
}
#endregion
@@ -192,22 +443,39 @@
private void AddHumiditySourceRow()
{
//婀垮害
- var rowNewWind = new FrameRowControl(listview.rowSpace / 2);
- listview.AddChidren(rowNewWind);
- rowNewWind.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.HumiditySource), 600);
+ var rowHumidity = new FrameRowControl(listview.rowSpace / 2);
+ listview.AddChidren(rowHumidity);
+ rowHumidity.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.HumiditySource), 600);
//搴曠嚎
- rowNewWind.AddBottomLine();
+ rowHumidity.AddBottomLine();
//鍙崇澶�
- rowNewWind.AddRightArrow();
+ rowHumidity.AddRightArrow();
var msg = Language.StringByID(R.MyInternationalizationString.nothing);
- // 鍥炶皟婀垮害鏉ユ簮缁戝畾鐩爣
- var btnNewWindStatu = rowNewWind.AddMostRightView(msg, 700);
- rowNewWind.ButtonClickEvent += (sender, e) =>
+ if (!string.IsNullOrEmpty(bindHumidityName))
{
- var addDevicePage = new Shared.Phone.UserCenter.DeviceBind.PanelFangyueFreshAirTargetsForm(this.deviceObj, 3);
- Shared.Phone.UserView.HomePage.Instance.AddChidren(addDevicePage);
+ msg = bindHumidityName;
+ }
+ var btnHumidityStatu = rowHumidity.AddMostRightView(msg, 700);
+ rowHumidity.ButtonClickEvent += (sender, e) =>
+ {
+ var paneTargetsBaseFormp = new PaneTargetsBaseForm(this.deviceObj, bindHumidityDev, BindInfo.BindType.Humidity);
+ Shared.Phone.UserView.HomePage.Instance.AddChidren(paneTargetsBaseFormp);
Shared.Phone.UserView.HomePage.Instance.PageIndex += 1;
- addDevicePage.Show();
+ paneTargetsBaseFormp.Show();
+ paneTargetsBaseFormp.actionHumidityTarget += (bindName) =>
+ {
+ Application.RunOnMainThread(() =>
+ {
+ if (string.IsNullOrEmpty(bindName))
+ {
+ btnHumidityStatu.Text = Language.StringByID(R.MyInternationalizationString.nothing);
+ }
+ else
+ {
+ btnHumidityStatu.Text = bindName;
+ }
+ });
+ };
};
}
#endregion
@@ -228,13 +496,8 @@
rowLight.AddRightArrow();
rowLight.ButtonClickEvent += (sender, e) =>
{
- //缁欐柊椋庨潰鏉垮缓绔嬩竴涓柊鐨勬敮鎸侀潰鏉垮璞★紝鐢�200绔偣璁剧疆
- var panel = new Panel();
- panel.DeviceAddr = this.deviceObj.DeviceAddr;
- panel.DeviceEpoint = 200;
- panel.CurrentGateWayId = this.deviceObj.CurrentGateWayId;
- var form = new PanelFangyueFreshAirBackLightSettionForm();
- form.AddForm(panel);
+ var form = new PanelBrightnessAdjustForm();
+ form.AddForm(this.deviceObj);
};
}
#endregion
--
Gitblit v1.8.0