From cb7fd6a89ad9fcd9cf575025ab43873f17bf17c8 Mon Sep 17 00:00:00 2001
From: 陈嘉乐 <cjl@hdlchina.com.cn>
Date: 星期四, 31 十二月 2020 16:46:59 +0800
Subject: [PATCH] 2020-12-31-1
---
ZigbeeApp/Shared/Phone/MainPage/ControlForm/Base/DeviceDetailCardCommonForm.cs | 93 ++++++++++++++++++++++++++--------------------
1 files changed, 53 insertions(+), 40 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/MainPage/ControlForm/Base/DeviceDetailCardCommonForm.cs b/ZigbeeApp/Shared/Phone/MainPage/ControlForm/Base/DeviceDetailCardCommonForm.cs
index 974445d..2fbc3d1 100755
--- a/ZigbeeApp/Shared/Phone/MainPage/ControlForm/Base/DeviceDetailCardCommonForm.cs
+++ b/ZigbeeApp/Shared/Phone/MainPage/ControlForm/Base/DeviceDetailCardCommonForm.cs
@@ -26,6 +26,10 @@
/// </summary>
public Common.Room nowSelectRoom = null;
/// <summary>
+ /// 鏍囪瀹冩槸鐢卞摢涓帶浠惰皟璧风殑
+ /// </summary>
+ public ViewGroup RowOrCardControl = null;
+ /// <summary>
/// 鐘舵�佹帶浠�
/// </summary>
private NormalViewControl btnStatu = null;
@@ -40,7 +44,7 @@
/// <summary>
/// 鏄惁鑾峰彇缃戝叧鍙嶉鐨勭粨鏋� 0:娌℃湁鑾峰彇寰楀埌 1:宸茬粡鑾峰彇寰楀埌
/// </summary>
- private int ResponeResult = 0;
+ public int ResponeResult = 0;
/// <summary>
/// 褰撳墠绔偣鐨勫姛鑳界被鍨�
/// </summary>
@@ -83,8 +87,19 @@
btnMore.InitControl();
btnMore.ButtonClickEvent += (sender, e) =>
{
- var detailInfo = new DeviceDetailInfoForm();
- detailInfo.AddForm(device, nowSelectRoom);
+ //鑾峰彇璁惧灞炰簬銆愭櫨琛f灦銆�
+ var deviceEnumInfo = Common.LocalDevice.Current.GetMyDeviceEnumInfo(new List<CommonDevice> { device });
+ if (deviceEnumInfo.ConcreteType == Common.DeviceConcreteType.Airer)
+ {
+ var form = new Shared.Phone.UserCenter.Device.DeviceFunctionSettionForm();
+ form.AddForm(device, true);
+ }
+ else
+ {
+ var detailInfo = new DeviceDetailInfoForm();
+ detailInfo.AddForm(device, nowSelectRoom);
+ }
+
};
//鍒濆鍖栦腑閮ㄤ俊鎭�
@@ -142,7 +157,7 @@
frameRoomBlack.Height = Application.GetRealHeight(138);
frameRoomBlack.Width = frameWhiteBack.Width;
frameRoomBlack.BackgroundColor = 0xff232323;
- frameRoomBlack.Radius= (uint)Application.GetRealHeight(17);
+ frameRoomBlack.Radius = (uint)Application.GetRealHeight(17);
frameRoomBlack.Gravity = Gravity.BottomCenter;
frameWhiteBack.AddChidren(frameRoomBlack);
@@ -228,16 +243,14 @@
this.ResponeResult = 0;
//鍏堣鎸囧畾鎺т欢涓嶈兘鐐瑰嚮
- var listSelect = new List<bool>();
foreach (var myContr in listControl)
{
myContr.CanClick = false;
- listSelect.Add(myContr.IsSelected);
}
HdlThreadLogic.Current.RunThread(() =>
{
- int waitime = 30;
+ int waitime = 40;
while (waitime > 0)
{
System.Threading.Thread.Sleep(100);
@@ -247,22 +260,24 @@
break;
}
waitime--;
+ //2绉掔殑鏃跺��,杩樻槸鎺ュ彈涓嶅埌鐨勮瘽,寮哄埗鍐嶆鍒锋柊璁惧鐘舵��
+ if (waitime == 20)
+ {
+ //浠庢柊鍙戦�佽幏鍙栬澶囩殑鐘舵��(寮哄埗)
+ this.device.HadReadDeviceStatu = false;
+ if (this.RowOrCardControl != null)
+ {
+ this.RowOrCardControl.GetType().InvokeMember("SendStatuComand", System.Reflection.BindingFlags.InvokeMethod, null, this.RowOrCardControl, null);
+ }
+ }
}
- if (waitime <= 0)
+ if (waitime <= 0 && this.Parent != null)
{
//娌℃湁鑾峰彇寰楀埌缁撴灉
HdlThreadLogic.Current.RunMain(() =>
{
var msgContr = new ShowMsgControl(ShowMsgType.Tip, Language.StringByID(R.MyInternationalizationString.FAIL));
msgContr.Show();
- //鍙樻洿鍥炲師鏉ョ殑鐘舵��
- for (int i = 0; i < listSelect.Count; i++)
- {
- if (listSelect[i] != listControl[i].IsSelected)
- {
- listControl[i].IsSelected = listSelect[i];
- }
- }
});
}
//寮�鍏虫寜閽彲浠ュ啀鐐瑰嚮
@@ -292,36 +307,35 @@
private void AddDeviceReportEvent()
{
string mainKeys = Common.LocalDevice.Current.GetDeviceMainKeys(this.device);
- //鑺傜偣鍙嶉
- HdlGatewayReceiveLogic.Current.AddAttributeEvent("DeviceDetailCardControl" + mainKeys, ReceiveComandDiv.A鑺傜偣鎺у埗鍙嶉, (report) =>
- {
- string mainKey2 = Common.LocalDevice.Current.GetDeviceMainKeys(report);
- if (mainKeys != mainKey2)
- {
- //涓嶆槸鍚屼竴涓笢瑗�
- return;
- }
- //妫�娴嬬粨鏋�
- if (this.CheckResponeResultStatu(ReceiveComandDiv.A鑺傜偣鎺у埗鍙嶉, report) == true)
- {
- //缁撴灉宸茬粡鎺ユ敹鍒�
- this.ResponeResult = 1;
- }
- });
//灞炴�т笂鎶�
HdlGatewayReceiveLogic.Current.AddAttributeEvent("DeviceDetailCardAttribute" + mainKeys, ReceiveComandDiv.A璁惧灞炴�т笂鎶�, (report) =>
{
string mainKey2 = Common.LocalDevice.Current.GetDeviceMainKeys(report);
- if (mainKeys != mainKey2)
+
+ if (this.device.Type == DeviceType.Airer && this.device.DeviceAddr == report.DeviceAddr)
{
- //涓嶆槸鍚屼竴涓笢瑗�
- return;
+ //鏅捐。鏋剁壒娈婏細5涓洖璺唬琛ㄤ笉鍚岀殑鍔熻兘锛屼絾鏄粯璁ゆ湰鍦板彧鏄剧ず浜嗙涓�涓洖璺�
+ //鎵�浠ユ潯浠剁壒娈婂垽鏂�
+ //妫�娴嬬粨鏋�
+ if (this.CheckResponeResultStatu(ReceiveComandDiv.A璁惧灞炴�т笂鎶�, report) == true)
+ {
+ //缁撴灉宸茬粡鎺ユ敹鍒�
+ this.ResponeResult = 1;
+ }
}
- //妫�娴嬬粨鏋�
- if (this.CheckResponeResultStatu(ReceiveComandDiv.A璁惧灞炴�т笂鎶�, report) == true)
+ else
{
- //缁撴灉宸茬粡鎺ユ敹鍒�
- this.ResponeResult = 1;
+ if (mainKeys != mainKey2)
+ {
+ //涓嶆槸鍚屼竴涓笢瑗�
+ return;
+ }
+ //妫�娴嬬粨鏋�
+ if (this.CheckResponeResultStatu(ReceiveComandDiv.A璁惧灞炴�т笂鎶�, report) == true)
+ {
+ //缁撴灉宸茬粡鎺ユ敹鍒�
+ this.ResponeResult = 1;
+ }
}
});
}
@@ -376,7 +390,6 @@
public override void CloseFormBefore()
{
string mainKeys = Common.LocalDevice.Current.GetDeviceMainKeys(this.device);
- HdlGatewayReceiveLogic.Current.RemoveEvent("DeviceDetailCardControl" + mainKeys);
HdlGatewayReceiveLogic.Current.RemoveEvent("DeviceDetailCardAttribute" + mainKeys);
//鍥炶皟鍑芥暟
--
Gitblit v1.8.0