From f759dc1e6f49c53733eafda82207c85af18f9931 Mon Sep 17 00:00:00 2001
From: 陈嘉乐 <cjl@hdlchina.com.cn>
Date: 星期四, 28 五月 2020 15:46:54 +0800
Subject: [PATCH] 2020-05-28-1
---
ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceMacInfoEditorForm.cs | 192 ++++++++++++++++++++---------------------------
1 files changed, 82 insertions(+), 110 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceMacInfoEditorForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceMacInfoEditorForm.cs
index 59fbecb..8082a1b 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceMacInfoEditorForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceMacInfoEditorForm.cs
@@ -264,11 +264,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();
+ }
+
}
//娣诲姞銆愬共鎺ョ偣璁剧疆銆戣
@@ -682,7 +691,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 +736,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 +749,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 +845,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]);
@@ -897,108 +932,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
@@ -1168,11 +1118,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 +1239,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 +1326,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