From 2ec9898778d3beda89278e2a53ac0e68b3035d29 Mon Sep 17 00:00:00 2001 From: 陈嘉乐 <cjl@hdlchina.com.cn> Date: 星期三, 01 七月 2020 15:06:24 +0800 Subject: [PATCH] 2020-7-1-2 --- ZigbeeApp/Shared/Phone/Device/Logic/LogicCommunalPage.cs | 339 +++++++++++++++++++++++++++++++++++++------------------ 1 files changed, 226 insertions(+), 113 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/Device/Logic/LogicCommunalPage.cs b/ZigbeeApp/Shared/Phone/Device/Logic/LogicCommunalPage.cs old mode 100755 new mode 100644 index 69a957f..d937307 --- a/ZigbeeApp/Shared/Phone/Device/Logic/LogicCommunalPage.cs +++ b/ZigbeeApp/Shared/Phone/Device/Logic/LogicCommunalPage.cs @@ -23,6 +23,7 @@ { #region View甯冨眬浠g爜 + UserView.HomePage.Instance.ScrollEnabled = false;//閿佷綇宸︽粦 TopView view = new TopView(); this.AddChidren(view.TopRowView()); if (Common.Logic.CurrentLogic.LogicId != 0) @@ -35,13 +36,14 @@ } view.clickBtn.MouseDownEventHandler += (sender, e) => { + // UserView.HomePage.Instance.ScrollEnabled = true;//鎭㈠宸︽粦 action(); RemoveFromParent(); }; var middle = new VerticalScrolViewLayout { Y = view.topRowLayout.Bottom, - Height = Application.GetRealHeight(1920 - 184-180), + Height = Application.GetRealHeight(Method.H - 184-180), BackgroundColor = ZigbeeColor.Current.LogicMiddleBackgroundColor, }; this.AddChidren(middle); @@ -179,6 +181,9 @@ { SelectedDeviceView selecteddevice = new SelectedDeviceView(); selecteddevice.Show(middle); + selecteddevice.stateRow.AddRightView(selecteddevice.edit); + selecteddevice.stateRow.AddRightView(selecteddevice.del); + var Type = int.Parse(ListConditions[i]["Type"]); var conditions = ListConditions[i]; string name = ""; @@ -275,7 +280,7 @@ case 1: { var deviceinof = Method.GetCommonDevice(conditions["MacAddr"], conditions["Epoint"]); - name = deviceinof.DeviceEpointName; + name = LocalDevice.Current.GetDeviceEpointName(deviceinof); selecteddevice.regionNameBtn.Visible = true; Method.RoomNmae(selecteddevice.regionNameBtn, deviceinof); @@ -307,11 +312,7 @@ { case 13: { - if (intvalue == "1") - { - state=Language.StringByID( MyInternationalizationString.someone); - } - else + if (conditions.ContainsKey("IgnoreTime")) { int minute = int.Parse(conditions["IgnoreTime"]) / 60; int second = int.Parse(conditions["IgnoreTime"]) % 60; @@ -335,48 +336,55 @@ } } + else + { + state = Language.StringByID(MyInternationalizationString.someone); + } + } break; case 21: case 22: { - if (intvalue == "1") + if (conditions.ContainsKey("IgnoreTime")) { - state =Language.StringByID( MyInternationalizationString.logicopen); - } - else - { - if (conditions.ContainsKey("IgnoreTime")) + + int minute = int.Parse(conditions["IgnoreTime"]) / 60; + int second = int.Parse(conditions["IgnoreTime"]) % 60; + if (minute != 0 && second != 0) { - - int minute = int.Parse(conditions["IgnoreTime"]) / 60; - int second = int.Parse(conditions["IgnoreTime"]) % 60; - if (minute != 0 && second != 0) - { - state = minute.ToString() + Language.StringByID(MyInternationalizationString.minute) + second.ToString() + Language.StringByID(MyInternationalizationString.second) + Language.StringByID(MyInternationalizationString.closetime); - - } - else - { - if (minute == 0 && second != 0) - { - state = second.ToString() + Language.StringByID(MyInternationalizationString.second) + Language.StringByID(MyInternationalizationString.closetime); - - } - if (minute != 0 && second == 0) - { - state = minute.ToString() + Language.StringByID(MyInternationalizationString.Minute) + Language.StringByID(MyInternationalizationString.closetime); - - } - - } + state = minute.ToString() + Language.StringByID(MyInternationalizationString.minute) + second.ToString() + Language.StringByID(MyInternationalizationString.second) + Language.StringByID(MyInternationalizationString.closetime); } else { - state =Language.StringByID(MyInternationalizationString.logicclose); + if (minute == 0 && second != 0) + { + state = second.ToString() + Language.StringByID(MyInternationalizationString.second) + Language.StringByID(MyInternationalizationString.closetime); + + } + if (minute != 0 && second == 0) + { + state = minute.ToString() + Language.StringByID(MyInternationalizationString.Minute) + Language.StringByID(MyInternationalizationString.closetime); + + } + } + } + else + { + if (intvalue == "1") + { + state = Language.StringByID(MyInternationalizationString.logicopen); + } + else + { + state = Language.StringByID(MyInternationalizationString.logicclose); + } + + } + } break; case 40: @@ -418,6 +426,44 @@ } break; + case 541: + { + if (conditions["Cluster_ID"] == "1024") { + state = Language.StringByID(MyInternationalizationString.ambientLight)+"<"+conditions["AttriButeData1"]+"lux"+ Language.StringByID(MyInternationalizationString.hour1); + } + else + { + if (conditions.ContainsKey("IgnoreTime")) + { + int minute = int.Parse(conditions["IgnoreTime"]) / 60; + int second = int.Parse(conditions["IgnoreTime"]) % 60; + if (minute != 0 && second != 0) + { + state = minute.ToString() + Language.StringByID(MyInternationalizationString.minute) + second.ToString() + Language.StringByID(MyInternationalizationString.second) + Language.StringByID(MyInternationalizationString.unattendedtime1); + + } + else + { + if (minute == 0 && second != 0) + { + state = second.ToString() + Language.StringByID(MyInternationalizationString.second) + Language.StringByID(MyInternationalizationString.unattendedtime1); + + } + if (minute != 0 && second == 0) + { + state = minute.ToString() + Language.StringByID(MyInternationalizationString.Minute) + Language.StringByID(MyInternationalizationString.unattendedtime1); + + } + + } + } + else + { + state = Language.StringByID(MyInternationalizationString.someone); + } + } + } + break; default: { if (intvalue == "1") @@ -445,7 +491,7 @@ { if (Common.Logic.CurrentLogic.Accounts[a]["UserId"] == conditions["AttriButeData2"]) { - state = Common.Logic.CurrentLogic.Accounts[a]["Account"]; + state = Common.Logic.CurrentLogic.Accounts[a]["AccountName"]; break; } @@ -494,16 +540,18 @@ s = "鈮�"; } break; - } + } + ///杞崲娓╁害鍊�/100 + string srtValue = (int.Parse(conditions["AttriButeData1"]) / 100).ToString(); if (conditions["Cluster_ID"] == "1026") { icon = "ZigeeLogic/temperature.png"; - state = s + conditions["AttriButeData1"] + "鈩�"; + state = s + srtValue + "鈩�"; } else { icon = "ZigeeLogic/humidity.png"; - state = s + conditions["AttriButeData1"] + "%"; + state = s + srtValue + "%"; } break; @@ -556,11 +604,11 @@ { if (conditions["AtHome"] == "1") { - state = Language.StringByID(MyInternationalizationString.athome) + radius["Radius"] + "绫�"; + state = Language.StringByID(MyInternationalizationString.athome) + radius["Radius"] + Language.StringByID(MyInternationalizationString.mi); } else { - state = Language.StringByID(MyInternationalizationString.leavehome) + radius["Radius"] + "绫�"; + state = Language.StringByID(MyInternationalizationString.leavehome) + radius["Radius"] + Language.StringByID(MyInternationalizationString.mi); } } } @@ -583,6 +631,7 @@ selecteddevice.selecetddevicestateBtn.Text = state; } ///缂栬緫 + selecteddevice.edit.Tag = i.ToString(); selecteddevice.edit.MouseUpEventHandler += (sender, e) => { switch (Type) @@ -615,7 +664,7 @@ { var flMain = new FrameLayout { BackgroundColor = ZigbeeColor.Current.LogicViewBackgroundColor }; this.AddChidren(flMain); - CurrentDeviceState.CurrentDeviceView(flMain, deviceinof, true, "condition_logic"); + CurrentDeviceState.CurrentDeviceView(flMain, deviceinof, true, "condition_logic",int.Parse(selecteddevice.edit.Tag.ToString())); } else { @@ -655,10 +704,11 @@ alert.ConfirmClickEvent += () => { Common.Logic.CurrentLogic.Conditions.Remove(conditions); - var logicCommunalPage = new LogicCommunalPage(); - UserView.HomePage.Instance.AddChidren(logicCommunalPage); - UserView.HomePage.Instance.PageIndex += 1; - logicCommunalPage.Show(() => { }); + selecteddevice.selecetdFrameLayout.RemoveFromParent(); + //var logicCommunalPage = new LogicCommunalPage(); + //UserView.HomePage.Instance.AddChidren(logicCommunalPage); + //UserView.HomePage.Instance.PageIndex += 1; + //logicCommunalPage.Show(() => { }); }; }; @@ -679,10 +729,7 @@ addactionview.clickBtn.MouseUpEventHandler+= (sender, e) => { Common.Logic.CurrentLogic.LogicName = logicTextBox.Text.Trim(); - var deviceTarget = new DeviceTarget(); - UserView.HomePage.Instance.AddChidren(deviceTarget); - UserView.HomePage.Instance.PageIndex += 1; - deviceTarget.Show(); + Method.View(IfString.Action_Logic,IfString.Action_LogicScene); }; List<Dictionary<string, object>> ListActions = new List<Dictionary<string, object>>(); @@ -701,10 +748,7 @@ addflview.clickBtn.MouseUpEventHandler += (sender, e) => { Common.Logic.CurrentLogic.LogicName = logicTextBox.Text.Trim(); - var deviceTarget = new DeviceTarget(); - UserView.HomePage.Instance.AddChidren(deviceTarget); - UserView.HomePage.Instance.PageIndex += 1; - deviceTarget.Show(); + Method.View(IfString.Action_Logic, IfString.Action_LogicScene); }; } else @@ -721,13 +765,13 @@ switch (linkType) { case 0: + case 8: { var deviceinof = Method.GetCommonDevice(actions["DeviceAddr"].ToString(), actions["Epoint"].ToString()); - name = deviceinof.DeviceEpointName; + name = LocalDevice.Current.GetDeviceEpointName(deviceinof); actiondevice.regionNameBtn.Visible = true; Method.RoomNmae(actiondevice.regionNameBtn, deviceinof); - switch (deviceinof.Type) { case DeviceType.OnOffOutput: @@ -968,16 +1012,108 @@ } } break; + case DeviceType.DoorLock: + { + //闂ㄩ攣鐗规畩 + icon = "ZigeeLogic/doorlock.png"; + if (actions["PassData"].ToString() == "055704010112") + { + state = Language.StringByID(MyInternationalizationString.logicopen); + } + else + { + state = Language.StringByID(MyInternationalizationString.logicclose); + } + } + break; + case DeviceType.ColorTemperatureLight: + { + icon = "ZigeeLogic/nightLight.png"; + var taskList = actions["TaskList"] as List<Dictionary<string, string>>; + if (taskList == null) + { + continue; + } + foreach (var tasks in taskList) + { + switch (tasks["TaskType"]) + { + case "1": + { + if (tasks["Data1"] == "0") + { + state += Language.StringByID(MyInternationalizationString.close) + ";"; + } + else + { + state += Language.StringByID(MyInternationalizationString.open) + ";"; + } + } + break; + } + } + foreach (var tasks in taskList) + { + switch (tasks["TaskType"]) + { + + case "3": + { + var intvalue = int.Parse(tasks["Data1"]); + var lightbrightnessvalue = (intvalue * 100) / 254; + state += Language.StringByID(MyInternationalizationString.brightness) + lightbrightnessvalue.ToString() + "%;"; + } + break; + + } + } + foreach (var tasks in taskList) + { + switch (tasks["TaskType"]) + { + + case "7": + { + if (tasks["Data1"] == "0") + { + state += Language.StringByID(MyInternationalizationString.buzzer) + Language.StringByID(MyInternationalizationString.close) + ";"; + } + else + { + state += Language.StringByID(MyInternationalizationString.buzzer) + Language.StringByID(MyInternationalizationString.open) + ";"; + } + } + break; + + } + } + foreach (var tasks in taskList) + { + switch (tasks["TaskType"]) + { + + case "8": + { + var intvalue = int.Parse(tasks["Data1"]); + var colorTemperatureValue = 1000000/(intvalue *100); + state += Language.StringByID(MyInternationalizationString.colorTemperature) + colorTemperatureValue.ToString() + "K"; + } + break; + } + } + + state=state.TrimEnd(';');//鍘绘帀鏈�鍚庨偅涓�";" + } + break; } - } break; case 2: { - //鍦ㄦ湰鍦版煡鎵捐鍦烘櫙; - var sceneinof = UserCenter.HdlSceneLogic.Current.GetSceneUIBySceneId(Convert.ToInt32(actions["DeviceAddr"].ToString())); + //鍦ㄦ湰鍦版煡鎵捐鍦烘櫙; + var sceneinof = UserCenter.HdlSceneLogic.Current.GetSceneUIBySceneId(Convert.ToInt32(actions["DeviceAddr"].ToString())); //鏈湴娌℃湁瀛樺湪; if (sceneinof == null) { @@ -1052,7 +1188,7 @@ var seconds = delaytimevalue % 60; icon = "ZigeeLogic/delay.png"; - + if (Minutes != 0) { if (seconds == 0) @@ -1073,6 +1209,13 @@ }; break; } + + if (linkType != 2) + { + actiondevice.stateRow.AddRightView(actiondevice.edit); + } + actiondevice.stateRow.AddRightView(actiondevice.del); + if (linkType == 6 || linkType == 7) { actiondevice.ordinaryBtn.Visible = true; @@ -1089,17 +1232,28 @@ actiondevice.selecetddevicestateBtn.Text = state; } ///缂栬緫 + actiondevice.edit.Tag = i.ToString(); actiondevice.edit.MouseUpEventHandler += (sender, e) => { switch (linkType) { - + case 8: case 0: { var deviceinof = Method.GetCommonDevice(actions["DeviceAddr"].ToString(), actions["Epoint"].ToString()); - var flMain = new FrameLayout { BackgroundColor = ZigbeeColor.Current.LogicViewBackgroundColor }; - this.AddChidren(flMain); - CurrentDeviceState.CurrentDeviceView(flMain, deviceinof, true, "action_logic"); + if (deviceinof.Type != DeviceType.ColorTemperatureLight) + { + var flMain = new FrameLayout { BackgroundColor = ZigbeeColor.Current.LogicViewBackgroundColor }; + this.AddChidren(flMain); + CurrentDeviceState.CurrentDeviceView(flMain, deviceinof, true, "action_logic",int.Parse(actiondevice.edit.Tag.ToString())); + } + else + { + var nightlight = new Nightlight(); + UserView.HomePage.Instance.AddChidren(nightlight); + UserView.HomePage.Instance.PageIndex += 1; + nightlight.Show(deviceinof, true, "logic", actions); + } } break; case 6: @@ -1119,6 +1273,7 @@ delayTime.Show(int.Parse(actiondevice.edit.Tag.ToString()), true); } break; + } }; ///鍒犻櫎鎺т欢 @@ -1132,11 +1287,12 @@ alert.ConfirmClickEvent += () => { Common.Logic.CurrentLogic.Actions.Remove(actions); + actiondevice.selecetdFrameLayout.RemoveFromParent(); // devicesFrameLayout.RemoveFromParent(); - var logicCommunalPage = new LogicCommunalPage(); - UserView.HomePage.Instance.AddChidren(logicCommunalPage); - UserView.HomePage.Instance.PageIndex += 1; - logicCommunalPage.Show(() => { }); + //var logicCommunalPage = new LogicCommunalPage(); + //UserView.HomePage.Instance.AddChidren(logicCommunalPage); + //UserView.HomePage.Instance.PageIndex += 1; + //logicCommunalPage.Show(() => { }); }; }; @@ -1305,50 +1461,7 @@ }; } - /// <summary> - /// 闂幇寮忔彁绀烘鐨勬柟娉� - /// </summary> - /// <param name="tipText">鎻愮ず鍐呭</param> - /// <param name="second">鍋滅暀鏃堕棿鍗曚綅涓簊</param> - public void TipView(string tipText, int second = 1) - { - - var frameLayout = new FrameLayout { BackgroundColor = 0x50000000 }; - this.AddChidren(frameLayout); - - var btn = new Button - { - Gravity = Gravity.Center, - Text = tipText, - BackgroundColor = 0xff1f1f1f, - Width = Application.GetRealWidth(500), - Height = Application.GetRealHeight(100), - Radius = (uint)Application.GetRealHeight(50), - }; - frameLayout.AddChidren(btn); - - var dateTime1 = DateTime.Now; - new System.Threading.Thread(() => - { - Application.RunOnMainThread(() => - { - while (true) - { - if ((DateTime.Now - dateTime1).TotalMilliseconds > second * 1000) - { - //榛樿涓�绉掑叧闂� - frameLayout.RemoveFromParent(); - break; - } - } - }); - }) - { IsBackground = true }.Start(); - - } - - - + } } -- Gitblit v1.8.0