From 627093aca723d4bfb971b97c828e8b3a22dbda78 Mon Sep 17 00:00:00 2001
From: 陈嘉乐 <cjl@hdlchina.com.cn>
Date: 星期五, 17 七月 2020 17:26:19 +0800
Subject: [PATCH] 2020-07-17-1
---
ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceMacInfoEditorForm.cs | 341 ++++++++++++++++++++++++++++++++++++++------------------
1 files changed, 230 insertions(+), 111 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceMacInfoEditorForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceMacInfoEditorForm.cs
index 59fbecb..c4a9f56 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceMacInfoEditorForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceMacInfoEditorForm.cs
@@ -248,6 +248,20 @@
//娣诲姞銆愬鍐呮満璁剧疆銆戣(绌鸿皟涓撶敤)
this.AddIndoorUnitSettionRow();
}
+ else if (deviceEnumInfo.ConcreteType == DeviceConcreteType.ButtonPanel_SimpleMultifunction)
+ {
+ //绠�绾﹀鍔熻兘闈㈡澘
+ this.AddIBindRow();
+ this.AddFunctionSettionRow();
+ this.AddHumiditySourceRow();
+ this.AddTemperatureSensorRow();
+
+ }
+ else if (deviceEnumInfo.ConcreteType == DeviceConcreteType.ButtonPanel_SimpleEnvironment)
+ {
+ //娣诲姞銆愮粦瀹氱洰鏍囥�戣(绠�绾︾幆澧冮潰鏉跨敤)
+ this.AddSimplePanelSettionRow();
+ }
else
{
//娣诲姞銆愬伐浣滄ā寮忋�戣(pir浼犳劅鍣ㄤ笓鐢�)
@@ -264,11 +278,20 @@
//娣诲姞銆愭寜閿缃�戣(闈㈡澘涓撶敤)
this.AddPanelSettionRow();
}
- //鏂规偊鏂伴闈㈡澘娌℃湁鍔熻兘璁剧疆
- if (deviceEnumInfo.ConcreteType != DeviceConcreteType.ButtonPanel_FangyueFreshAir)
+ //妫�娴嬭兘鍚︽樉绀哄姛鑳借缃殑鑿滃崟
+ if (this.CheckCanShowFunctionSettionRow() == true)
{
//娣诲姞銆愬姛鑳借缃�戣
- this.AddFunctionSettionRow();
+ if (deviceEnumInfo.ConcreteType == DeviceConcreteType.Sensor_PMTwoPointFive)
+ {
+ //PM浼犳劅鍣�
+ this.AddFunctionSettionRowPM();
+ }
+ else
+ {
+ this.AddFunctionSettionRow();
+ }
+
}
//娣诲姞銆愬共鎺ョ偣璁剧疆銆戣
@@ -522,6 +545,31 @@
};
}
+ #region 鈻� 绠�绾︾幆澧�(闈㈡澘)_____________________
+
+ /// <summary>
+ /// 娣诲姞銆愭寜閿缃�戣绠�绾︾幆澧�(闈㈡澘)
+ /// </summary>
+ private void AddSimplePanelSettionRow()
+ {
+ //鎸夐敭璁剧疆
+ string caption = Language.StringByID(R.MyInternationalizationString.uPanelSettion);
+ var btnFunction = new FrameRowControl(listview.rowSpace / 2);
+ listview.AddChidren(btnFunction);
+ btnFunction.AddLeftCaption(caption, 600);
+ //鍚戝彸鍥炬爣
+ btnFunction.AddRightArrow();
+ //搴曠嚎
+ btnFunction.AddBottomLine();
+ btnFunction.ButtonClickEvent += (sender, e) =>
+ {
+ var form = new DeviceBind.PanelSimpleEnvironmentTargetsForm();
+
+ };
+ }
+
+ #endregion
+
#endregion
#region 鈻� 鎸夐敭璁剧疆(鏂规偊)_____________________
@@ -682,7 +730,11 @@
//鍙湁鍥炶矾鏁板ぇ浜�1鎵嶈兘鏈夎繖涓彍鍗�
if (Common.LocalDevice.Current.GetDevicesCountByMac(listNewDevice[0].DeviceAddr) == 1)
{
- return;
+ //鏂伴灏忔ā鍧楀彧鏈変竴涓洖璺紝浣嗚姹傛柊椋庡皬妯″潡鐨勬柊椋庢湁鍔熻兘璁剧疆
+ if (deviceEnumInfo.ConcreteType != DeviceConcreteType.Relay_FangyueFreshAirModul)
+ {
+ return;
+ }
}
if (deviceEnumInfo.ConcreteType == DeviceConcreteType.ButtonPanel_FangyueEnvironment
|| deviceEnumInfo.ConcreteType == DeviceConcreteType.ButtonPanel_FangyueFreshAir)
@@ -723,7 +775,7 @@
|| deviceEnumInfo.ConcreteType == DeviceConcreteType.ButtonPanel_FangyueEight)
{
var form = new DevicePanel.PanelFangyueFunctionSettionForm();
- form.AddForm(listNewDevice[0]);
+ form.AddForm(listNewDevice[0], deviceEnumInfo);
}
//娌充笢鐨勯潰鏉胯澶�
else if (deviceEnumInfo.BeloneType == DeviceBeloneType.A鎸夐敭闈㈡澘 && deviceEnumInfo.IsHdlDevice == true)
@@ -736,6 +788,27 @@
var form = new DeviceFunctionSettionForm();
form.AddForm(listNewDevice[0], false);
}
+ };
+ }
+
+ /// <summary>
+ /// 娣诲姞浼犳劅鍣ㄣ�愬姛鑳借缃�戣
+ /// </summary>
+ private void AddFunctionSettionRowPM()
+ {
+ //鍔熻兘璁剧疆
+ string caption = Language.StringByID(R.MyInternationalizationString.uFunctionSettingUp);
+ var btnFunction = new FrameRowControl(listview.rowSpace / 2);
+ listview.AddChidren(btnFunction);
+ btnFunction.AddLeftCaption(caption, 600);
+ //鍚戝彸鍥炬爣
+ btnFunction.AddRightArrow();
+ //搴曠嚎
+ btnFunction.AddBottomLine();
+ btnFunction.ButtonClickEvent += (sender, e) =>
+ {
+ var form = new DeviceFunctionSettionForm();
+ form.AddForm(listNewDevice[0], false);
};
}
@@ -811,23 +884,24 @@
btnFunction.AddLeftCaption(caption, 600);
//寮�鍏冲浘鏍�
var btnSwitch = btnFunction.AddMostRightSwitchIcon();
- //濡傛灉褰撳墠浣忓畢鏄櫄鎷熶綇瀹呯殑璇�,璁╂墍鏈夎彍鍗曢兘涓嶈兘鐐瑰嚮
- if (Common.Config.Instance.Home.IsVirtually == true)
- {
- btnSwitch.CanClick = false;
- }
//搴曠嚎
btnFunction.AddBottomLine();
- btnSwitch.ButtonClickEvent += async (sender, e) =>
+ btnSwitch.ButtonClickEvent += (sender, e) =>
{
//鍒囨崲妯″紡
bool statu = !btnSwitch.IsSelected;
- var result = await HdlDeviceCurtainLogic.Current.SetHandPullControl(deviceCurtain, statu);
+ var result = HdlDeviceCurtainLogic.Current.SetHandPullControl(deviceCurtain, statu);
if (result == true)
{
btnSwitch.IsSelected = statu;
}
};
+ //濡傛灉鏄櫄鎷熶綇瀹�
+ if (Common.Config.Instance.Home.IsVirtually == true)
+ {
+ btnSwitch.IsSelected = ModelData.DeviceModelDataLogic.Current.GetCurtainHandPullControl(deviceCurtain);
+ return;
+ }
//娣诲姞灞炴�т笂鎶ョ洃鍚�
string mainkeys = LocalDevice.Current.GetDeviceMainKeys(this.listNewDevice[0]);
@@ -887,7 +961,115 @@
form.AddForm(listNewDevice[0].DeviceAddr);
};
}
+ #endregion
+ #region 鈻� 绠�绾﹀鍔熻兘闈㈡澘鐢╛__________________
+ /// <summary>
+ /// 娣诲姞銆愮粦瀹氱洰鏍囥�戣
+ /// </summary>
+ private void AddIBindRow()
+ {
+ string bindTargets = Language.StringByID(R.MyInternationalizationString.uBindTargets);
+ var btnBindTargets = new FrameRowControl(listview.rowSpace / 2);
+ listview.AddChidren(btnBindTargets);
+ btnBindTargets.AddLeftCaption(bindTargets, 600);
+ //鍚戝彸鍥炬爣
+ btnBindTargets.AddRightArrow();
+ //搴曠嚎
+ btnBindTargets.AddBottomLine();
+ btnBindTargets.ButtonClickEvent += (sender, e) =>
+ {
+ var form = new DeviceBind.PanelSimpleMutilfunctionTargetsForm();
+ };
+ }
+
+ /// <summary>
+ /// 婀垮害鏉ユ簮琛�
+ /// </summary>
+ private void AddHumiditySourceRow()
+ {
+ //婀垮害
+ var rowHumidity = new FrameRowControl(listview.rowSpace / 2);
+ listview.AddChidren(rowHumidity);
+ rowHumidity.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.HumiditySource), 600);
+ //搴曠嚎
+ rowHumidity.AddBottomLine();
+ //鍙崇澶�
+ rowHumidity.AddRightArrow();
+ var msg = Language.StringByID(R.MyInternationalizationString.nothing);
+ //if (!string.IsNullOrEmpty(bindHumidityName))
+ //{
+ // msg = bindHumidityName;
+ //}
+ var btnHumidityStatu = rowHumidity.AddMostRightView(msg, 700);
+ rowHumidity.ButtonClickEvent += (sender, e) =>
+ {
+ //var key = new Panel();
+ //var bindHumiditySensorPage = new Shared.Phone.UserCenter.DeviceBind.PanelSimpleMutilfunctionBindSensorForm(key, bindHumidityDev, 3);
+ //Shared.Phone.UserView.HomePage.Instance.AddChidren(bindHumiditySensorPage);
+ //Shared.Phone.UserView.HomePage.Instance.PageIndex += 1;
+ //bindHumiditySensorPage.Show();
+
+ //bindHumiditySensorPage.actionHumidityTarget += (bindName) =>
+ //{
+ // Application.RunOnMainThread(() =>
+ // {
+ // if (string.IsNullOrEmpty(bindName))
+ // {
+ // btnHumidityStatu.Text = Language.StringByID(R.MyInternationalizationString.nothing);
+ // }
+ // else
+ // {
+ // btnHumidityStatu.Text = bindName;
+ // }
+ // });
+ //};
+ };
+ }
+
+ /// <summary>
+ /// 娓╁害鏉ユ簮琛�
+ /// </summary>
+ private void AddTemperatureSensorRow()
+ {
+ //娓╁害鏉ユ簮
+ var rowTemPerature = new FrameRowControl(listview.rowSpace / 2);
+ listview.AddChidren(rowTemPerature);
+ rowTemPerature.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.TemperatureSource), 600);
+ //搴曠嚎
+ rowTemPerature.AddBottomLine();
+ //鍙崇澶�
+ rowTemPerature.AddRightArrow();
+ var msg = Language.StringByID(R.MyInternationalizationString.nothing);
+ //if (!string.IsNullOrEmpty(bindTemperatureName))
+ //{
+ // msg = bindTemperatureName;
+ //}
+ var btnTemperatureStatu = rowTemPerature.AddMostRightView(msg, 700);
+ rowTemPerature.ButtonClickEvent += (sender, e) =>
+ {
+ //var key = new Panel();
+ //var bindTemperatureSensorPage = new Shared.Phone.UserCenter.DeviceBind.PanelFangyueFreshAirTargetsForm(key, bindTemperatureDev, 2);
+ //Shared.Phone.UserView.HomePage.Instance.AddChidren(bindTemperatureSensorPage);
+ //Shared.Phone.UserView.HomePage.Instance.PageIndex += 1;
+ //bindTemperatureSensorPage.Show();
+
+ //bindTemperatureSensorPage.actionTemperatureTarget += (bindName) =>
+ //{
+ // Application.RunOnMainThread(() =>
+ // {
+ // if (string.IsNullOrEmpty(bindName))
+ // {
+ // btnTemperatureStatu.Text = Language.StringByID(R.MyInternationalizationString.nothing);
+ // }
+ // else
+ // {
+ // btnTemperatureStatu.Text = bindName;
+ // }
+ // });
+ //};
+ };
+ }
#endregion
#region 鈻� 鍔熻兘绫诲瀷(绌烘皵寮�鍏充笓鐢�)_____________
@@ -897,108 +1079,23 @@
/// </summary>
private void AddAirSwitchFunctionTypeRow()
{
- if (this.deviceEnumInfo.BeloneType != DeviceBeloneType.A鏅鸿兘绌哄紑)
+ //2020.04.28鍙樻洿:鏈変釜鍒澶囧畠闄や簡缁х數鍣ㄥ洖璺紝浠�涔堥兘娌℃湁浜�,
+ //杩欎釜鏃跺�欎篃瑕佺幇瀹炲嚭鏉�
+ if (this.listNewDevice.Count != 1)
{
- //涓嶆槸绌烘皵寮�鍏�
return;
}
-
- //鍔熻兘绫诲瀷
- string caption = Language.StringByID(R.MyInternationalizationString.uFunctionType);
- var DfunctionType = this.listNewDevice[0].DfunctionType;
-
- //鍔熻兘绫诲瀷鐨勭炕璇戝悕瀛�
- int nowSelectNo = 1;
- string strType = string.Empty;
- if (DfunctionType == DeviceFunctionType.A鐏厜)
+ if (this.listNewDevice[0].Type != DeviceType.OnOffOutput
+ && this.listNewDevice[0].Type != DeviceType.AirSwitch)
{
- strType = Language.StringByID(R.MyInternationalizationString.uLight);
- nowSelectNo = 1;
+ return;
}
- else if (DfunctionType == DeviceFunctionType.A寮�鍏�)
- {
- strType = Language.StringByID(R.MyInternationalizationString.uSwitch);
- nowSelectNo = 0;
- }
- else if (DfunctionType == DeviceFunctionType.A鎻掑骇)
- {
- strType = Language.StringByID(R.MyInternationalizationString.uSocket1);
- nowSelectNo = 2;
- }
-
- var btnFunction = new FrameCaptionViewControl(caption, strType, listview.rowSpace / 2);
- btnFunction.UseClickStatu = true;
- listview.AddChidren(btnFunction);
- btnFunction.InitControl();
+ //鑷畾涔夊姛鑳界被鍨嬫帶浠�
+ var rowFunction = new DeviceFunctionTypeRowControl(this.listNewDevice[0], listview.rowSpace / 2);
+ listview.AddChidren(rowFunction);
+ rowFunction.InitControl();
//搴曠嚎
- btnFunction.AddBottomLine();
- //鍙崇澶�
- btnFunction.AddRightArrow();
- btnFunction.ButtonClickEvent += (sender, e) =>
- {
- //鏄剧ず鍒楄〃
- var listText = new List<string>();
- listText.Add(Language.StringByID(R.MyInternationalizationString.uSwitch));//寮�鍏�
- listText.Add(Language.StringByID(R.MyInternationalizationString.uLight));//鐏厜
- listText.Add(Language.StringByID(R.MyInternationalizationString.uSocket1));//鎻掑骇
- //鏍囬:閫夋嫨鍔熻兘绫诲瀷
- var title = Language.StringByID(R.MyInternationalizationString.uSelectFunctionType);
-
- var form = new BottomItemSelectForm();
- form.CancelCallEvent = true;//鍏佽鍙栨秷
- form.AddForm(title, listText, nowSelectNo);
- form.FinishSelectEvent += (selectNo) =>
- {
- if (selectNo == -1)
- {
- //閫夋嫨鍙栨秷
- btnFunction.Text = string.Empty;
- }
- else
- {
- btnFunction.Text = listText[selectNo];
- }
- nowSelectNo = selectNo;
- //璁板綍璧峰綋鍓嶉�夋嫨鐨勫姛鑳界被鍨�
- if (selectNo == 0)
- {
- this.listNewDevice[0].DfunctionType = DeviceFunctionType.A寮�鍏�;
- if (this.listNewDevice[0].IsCustomizeImage == false)
- {
- //閲嶆柊璁剧疆鍥剧墖
- this.listNewDevice[0].IconPath = "Device/Switch.png";
- }
- }
- else if (selectNo == 1)
- {
- this.listNewDevice[0].DfunctionType = DeviceFunctionType.A鐏厜;
- if (this.listNewDevice[0].IsCustomizeImage == false)
- {
- //閲嶆柊璁剧疆鍥剧墖
- this.listNewDevice[0].IconPath = "Device/Light.png";
- }
- }
- else if (selectNo == 2)
- {
- this.listNewDevice[0].DfunctionType = DeviceFunctionType.A鎻掑骇;
- if (this.listNewDevice[0].IsCustomizeImage == false)
- {
- //閲嶆柊璁剧疆鍥剧墖
- this.listNewDevice[0].IconPath = "Device/Socket1.png";
- }
- }
- else
- {
- this.listNewDevice[0].DfunctionType = DeviceFunctionType.A鏈畾涔�;
- if (this.listNewDevice[0].IsCustomizeImage == false)
- {
- //閲嶆柊璁剧疆鍥剧墖
- this.listNewDevice[0].IconPath = "Device/Switch.png";
- }
- }
- this.listNewDevice[0].ReSave();
- };
- };
+ rowFunction.AddBottomLine();
}
#endregion
@@ -1085,7 +1182,7 @@
btnNewVersion.Visible = false;
btnNewVersion.X = Application.GetRealWidth(242);
btnNewVersion.Y = Application.GetRealHeight(23);
- rowUpDate.AddChidren(btnNewVersion, ChidrenBindMode.BindEventOnly);
+ rowUpDate.AddChidren(btnNewVersion, ChidrenBindMode.BindEvent);
rowUpDate.ButtonClickEvent += (sender, e) =>
{
@@ -1168,11 +1265,11 @@
/// 璁惧閲嶅懡鍚�
/// </summary>
/// <param name="i_deviceName">deviceName.</param>
- private async void DeviceReName(string i_deviceName, bool closeForm)
+ private void DeviceReName(string i_deviceName, bool closeForm)
{
//淇敼MAC鍚�
string deviceName = i_deviceName.Trim();
- var result = await Common.LocalDevice.Current.ReMacName(this.listNewDevice, deviceName);
+ var result = Common.LocalDevice.Current.ReMacName(this.listNewDevice, deviceName);
if (result == false)
{
return;
@@ -1289,6 +1386,12 @@
//绉婚櫎鑾峰彇璁惧纭欢淇℃伅鐨勭洃鍚嚎绋�
HdlDeviceHardInfoLogic.Current.RemoveDeviceHardInfoThread(listNewDevice[0]);
+ //璁惧鏂板叆缃�
+ if (UserCenterResourse.DicActionForm.ContainsKey("AddDeviceTypeListForm") == true)
+ {
+ this.LoadFormMethodByName("DeviceListMainForm", "RefreshDeviceRow", new object[] { listNewDevice[0].DeviceAddr });
+ }
+
base.CloseFormBefore();
}
@@ -1370,6 +1473,22 @@
});
}
+ /// <summary>
+ /// 妫�娴嬭兘鍚︽樉绀哄姛鑳借缃殑鑿滃崟
+ /// </summary>
+ /// <returns></returns>
+ private bool CheckCanShowFunctionSettionRow()
+ {
+ //鏂规偊鏂伴闈㈡澘娌℃湁鍔熻兘璁剧疆
+ if (deviceEnumInfo.ConcreteType == DeviceConcreteType.ButtonPanel_FangyueFreshAir
+ || deviceEnumInfo.ConcreteType == DeviceConcreteType.ButtonPanel_FourButtonScene
+ || deviceEnumInfo.ConcreteType == DeviceConcreteType.ButtonPanel_TwoButtonCurtain)
+ {
+ return false;
+ }
+ return true;
+ }
+
#endregion
}
}
--
Gitblit v1.8.0