From 43b0d5870d528f23ecd6aeceb6cfd4325188b46f Mon Sep 17 00:00:00 2001 From: wxr <464027401@qq.com> Date: 星期四, 01 七月 2021 15:50:43 +0800 Subject: [PATCH] Revert "1" --- HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs | 502 ++++++++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 456 insertions(+), 46 deletions(-) diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs index bcd03de..a2407f3 100644 --- a/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs +++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs @@ -17,12 +17,6 @@ for (int i = 0; i < Logic.currlogic.input.Count; i++) { Input inputCondition = Logic.currlogic.input[i]; - if (inputCondition == null) - { - //闃叉鏈夌殑绌哄璞★紱 - //姝e父鎯呭喌涓嬩笉浼氳鐜拌薄锛� - continue; - } ///鍚勭鏉′欢鐨刅iew LogicView.AddOutputInputView inputView = new LogicView.AddOutputInputView(); inputView.FLayoutView(viewLayout); @@ -56,7 +50,7 @@ { strtext = Language.StringByID(StringId.sunrise); statetext = Language.StringByID(StringId.advanced); - + } break; case "before_sunset": @@ -64,8 +58,9 @@ strtext = Language.StringByID(StringId.sunset); statetext = Language.StringByID(StringId.advanced); - - } break; + + } + break; case "before_noon": { strtext = Language.StringByID(StringId.at); @@ -76,12 +71,14 @@ { strtext = Language.StringByID(StringId.sunrise); statetext = Language.StringByID(StringId.delayLogic); - } break; + } + break; case "after_sunset": { strtext = Language.StringByID(StringId.sunset); statetext = Language.StringByID(StringId.delayLogic); - } break; + } + break; case "after_noon": { strtext = Language.StringByID(StringId.at); @@ -167,6 +164,156 @@ } } break; + //浼犳劅鍣� + case SPK.SensorSmoke: + case SPK.SensorGas: + { + foreach (var dic in dicList) + { + string value = dic["value"]; + if (value == "alarm") + { + inputView.btnState.Text = Language.StringByID(StringId.xieluo); + + } + else + { + inputView.btnState.Text = Language.StringByID(StringId.wuxieluo); + } + } + } + break; + case SPK.SensorWater: + { + foreach (var dic in dicList) + { + string value = dic["value"]; + if (value == "alarm") + { + inputView.btnState.Text = Language.StringByID(StringId.luoshui); + + } + else + { + inputView.btnState.Text = Language.StringByID(StringId.wuluoshui); + } + } + } + break; + case SPK.SensorDryContact: + { + foreach (var dic in dicList) + { + + string value = dic["value"]; + if (value == "on") + { + inputView.btnState.Text = Language.StringByID(StringId.onLogic); + + } + else + { + inputView.btnState.Text = Language.StringByID(StringId.offLogic); + } + } + } + break; + case SPK.SensorShanLan: + case SPK.SensorDuiShe: + case SPK.SensorPir: + { + foreach (var dic in dicList) + { + + string value = dic["value"]; + if (value == "true") + { + inputView.btnState.Text = Language.StringByID(StringId.youren); + + } + else + { + inputView.btnState.Text = Language.StringByID(StringId.wuren); + } + } + } + break; + case SPK.SensorDoorWindow: + { + foreach (var dic in dicList) + { + + string value = dic["value"]; + if (value == "open") + { + inputView.btnState.Text = Language.StringByID(StringId.kaiqi); + + } + else + { + inputView.btnState.Text = Language.StringByID(StringId.bihe); + } + } + } + break; + case SPK.SensoruUtrasonic: + { + string str = ""; + foreach (var dic in dicList) + { + string value = dic["value"]; + switch (dic["key"]) + { + case "status": + { + if (value == "true") + { + str+= Language.StringByID(StringId.youren)+";"; + } + else + { + str += Language.StringByID(StringId.wuren) + ";"; + } + + + } + break; + case "dismantle": + { + if (value == "true") + { + str += Language.StringByID(StringId.zaixian); + } + else + { + str += Language.StringByID(StringId.buzaixian); + } + } + break; + + } + + } + inputView.btnState.Text = str; + } + break; + case SPK.SenesorMegahealth: + { + foreach (var dic in dicList) + { + string value = dic["value"]; + if (value == "fall") + { + inputView.btnState.Text = Language.StringByID(StringId.diedao); + } + else + { + inputView.btnState.Text = Language.StringByID(StringId.wuren); + } + } + } + break; + } } break; @@ -186,10 +333,12 @@ case "outdoor_temp": { strvalue = value; - if (comparator==">") { + if (comparator == ">") + { strtext = Language.StringByID(StringId.wendugaoyu); } - else if(comparator == "<"){ + else if (comparator == "<") + { strtext = Language.StringByID(StringId.wendudiyu); } @@ -218,7 +367,7 @@ } - + } inputView.btnText.Text = strtext; inputView.btnState.Text = strvalue; @@ -251,9 +400,9 @@ strtext = Language.StringByID(StringId.rain); } break; - + } - inputView.btnText.TextID =StringId.tianqibianhua; + inputView.btnText.TextID = StringId.tianqibianhua; inputView.btnState.Text = strtext; } } @@ -363,12 +512,12 @@ { if (comparator == ">") { - intValue=StringId.wendugaoyu; + intValue = StringId.wendugaoyu; } else if (comparator == "<") { intValue = StringId.wendudiyu; - + } } @@ -434,16 +583,10 @@ /// <param name="viewLayout">涓婁笅婊戝姩鎺т欢</param> public static void OutputTarget(FrameLayout thisView, VerticalScrolViewLayout viewLayout) { - + for (int i = 0; i < Logic.currlogic.output.Count; i++) { Output outputTarget = Logic.currlogic.output[i]; - if (outputTarget == null) - { - //闃叉鏈夌殑绌哄璞★紱 - //姝e父鎯呭喌涓嬩笉浼氳鐜拌薄锛� - continue; - } ///鍚勭鏉′欢鐨刅iew LogicView.AddOutputInputView targetView = new LogicView.AddOutputInputView(); targetView.FLayoutView(viewLayout); @@ -453,6 +596,8 @@ targetView.btnClick.Tag = outputTarget.sid; ///鏉′欢鐘舵�佹暟缁� List<Dictionary<string, string>> dicList = outputTarget.status as List<Dictionary<string, string>>; + //鏄剧ず鐘舵�佸�� + string stateStr = ""; //鏄剧ず杈撳嚭鏉′欢鍚勭绫诲瀷鐘舵�� switch (outputTarget.target_type) { @@ -466,8 +611,7 @@ targetView.btnText.Text = device.name; //鏀瑰彉璁惧鍚嶇О鏄剧ず鎺т欢瀹藉害 targetView.btnText.Width = Application.GetRealWidth(80); - //绗竴涓彉閲忔樉绀虹姸鎬佸�� - string stateStr = ""; + //鍖哄埆涓嶅悓璁惧锛屾樉绀轰笉鍚岃澶囩姸鎬� switch (device.spk) { @@ -487,7 +631,6 @@ stateStr = Language.StringByID(StringId.offLogic); } } - targetView.btnState.Text = stateStr; } break; case SPK.LightRGB: @@ -513,7 +656,7 @@ { stateStr = brightness + "%"; } - targetView.btnState.Text = stateStr; + } break; case SPK.CurtainSwitch: @@ -542,20 +685,21 @@ break; } } - targetView.btnState.Text = stateStr; } break; - case SPK.AcStandard: { + case SPK.AcStandard: + { string on_off = GetKeyValue("on_off", dicList); string set_temp = GetKeyValue("set_temp", dicList); string mode = GetKeyValue("mode", dicList); string fan = GetKeyValue("fan", dicList); - if (on_off != "") { + if (on_off != "") + { switch (on_off) { case "on": { - stateStr = Language.StringByID(StringId.onLogic)+","; + stateStr = Language.StringByID(StringId.onLogic) + ","; } break; case "off": @@ -563,7 +707,7 @@ stateStr = Language.StringByID(StringId.offLogic) + ","; } break; - + } } @@ -580,7 +724,7 @@ { case "cool": { - stateStr += Language.StringByID(StringId.coolLogic)+","; + stateStr += Language.StringByID(StringId.coolLogic) + ","; } break; case "heat": @@ -609,7 +753,7 @@ { case "high": { - stateStr += Language.StringByID(StringId.HighWindSpeed)+","; + stateStr += Language.StringByID(StringId.HighWindSpeed) + ","; } break; case "medium": @@ -632,10 +776,11 @@ } if (on_off != "" && on_off == "off") { - targetView.btnState.Text = Language.StringByID(StringId.offLogic); + stateStr = Language.StringByID(StringId.offLogic); } - else { - targetView.btnState.Text = stateStr.TrimEnd(','); + else + { + stateStr = stateStr.TrimEnd(','); } @@ -675,7 +820,7 @@ { case "day": { - stateStr += Language.StringByID(StringId.dayMode)+","; + stateStr += Language.StringByID(StringId.dayMode) + ","; } break; case "night": @@ -729,11 +874,11 @@ } if (on_off != "" && on_off == "off") { - targetView.btnState.Text =Language.StringByID(StringId.offLogic); + stateStr = Language.StringByID(StringId.offLogic); } else { - targetView.btnState.Text = stateStr.TrimEnd(','); + stateStr = stateStr.TrimEnd(','); } } @@ -748,26 +893,35 @@ targetView.btnIcon.UnSelectedImagePath = "LogicIcon/scene.png"; targetView.btnNextIcon.Visible = false; //鏄剧ず鍦烘櫙鍚嶇О - targetView.btnText.Text = scene.name; + stateStr = scene.name; } break; case "3": { - targetView.btnIcon.UnSelectedImagePath = "LogicIcon/delayed.png"; + targetView.btnIcon.UnSelectedImagePath = "LogicIcon/time.png"; foreach (var dic in dicList) { string value = dic["value"]; - targetView.btnText.Text = value; + stateStr = value; } } break; + } + + if (outputTarget.target_type == "1") + { + targetView.btnState.Text =new InpOrOutLogicMethod { }.GetTimeText(outputTarget.delay) + stateStr; + } + else + { + targetView.btnText.Text = new InpOrOutLogicMethod { }.GetTimeText(outputTarget.delay)+ stateStr; } //鍐嶆缂栬緫鏉′欢鐘舵�佺偣鍑讳簨浠� targetView.btnClick.MouseUpEventHandler += (sen, e) => { Button button = (Button)sen; //鎵惧埌褰撳墠缂栬緫鐨勭储寮� - int indexVulae =0; + int indexVulae = 0; for (int index = 0; index < Logic.currlogic.output.Count; index++) { Output target = Logic.currlogic.output[index]; @@ -808,6 +962,25 @@ } break; } + }; + //寤舵椂鐐瑰嚮浜嬩欢 + targetView.btnDelay.MouseUpEventHandler += (sen, e) => + { + + InpOrOutLogicMethod inpOrOutLogicMethod = new InpOrOutLogicMethod(); + inpOrOutLogicMethod.Delayed(thisView, outputTarget, (value) => + { + outputTarget.delay = value.ToString(); + if (outputTarget.target_type == "1") + { + targetView.btnState.Text = new InpOrOutLogicMethod { }.GetTimeText(outputTarget.delay) + stateStr; + } + else + { + targetView.btnText.Text = new InpOrOutLogicMethod { }.GetTimeText(outputTarget.delay) + stateStr; + } + }); + }; ///鍒犻櫎鎺т欢 targetView.btnDel.MouseUpEventHandler += (sender, e) => @@ -1076,6 +1249,144 @@ } break; + case SPK.SensorGas: + case SPK.SensorSmoke: + { + foreach (var dic in dicList) + { + string value = dic["value"]; + if (value == "alarm") + { + button1.Text = Language.StringByID(StringId.xieluo); + } + else + { + button1.Text = Language.StringByID(StringId.wuxieluo); + } + } + } + break; + case SPK.SensorWater: + { + foreach (var dic in dicList) + { + string value = dic["value"]; + if (value == "alarm") + { + button1.Text = Language.StringByID(StringId.luoshui); + } + else + { + button1.Text = Language.StringByID(StringId.wuluoshui); + } + } + } + break; + case SPK.SensorDryContact: + { + foreach (var dic in dicList) + { + string value = dic["value"]; + if (value == "on") + { + button1.Text = Language.StringByID(StringId.onLogic); + } + else + { + button1.Text = Language.StringByID(StringId.offLogic); + } + } + } + break; + case SPK.SensorShanLan: + case SPK.SensorDuiShe: + case SPK.SensorPir: + { + foreach (var dic in dicList) + { + string value = dic["value"]; + if (value == "true") + { + button1.Text = Language.StringByID(StringId.youren); + } + else + { + button1.Text = Language.StringByID(StringId.wuren); + } + } + } + break; + case SPK.SensorDoorWindow: + { + foreach (var dic in dicList) + { + string value = dic["value"]; + if (value == "open") + { + button1.Text = Language.StringByID(StringId.kaiqi); + } + else + { + button1.Text = Language.StringByID(StringId.bihe); + } + } + } + break; + case SPK.SensoruUtrasonic: + { + foreach (var dic in dicList) + { + string value = dic["value"]; + switch (dic["key"]) + { + case "status": + { + if (value == "true") + { + button1.Text = Language.StringByID(StringId.youren); + } + else + { + button1.Text = Language.StringByID(StringId.wuren); + } + + + } + break; + case "dismantle": + { + if (value == "true") + { + button1.Text = Language.StringByID(StringId.zaixian); + } + else + { + button1.Text = Language.StringByID(StringId.buzaixian); + } + } + break; + + } + + } + } + break; + case SPK.SenesorMegahealth: + { + foreach (var dic in dicList) + { + string value = dic["value"]; + if (value == "fall") + { + button1.Text = Language.StringByID(StringId.diedao); + } + else + { + button1.Text = Language.StringByID(StringId.wuren); + } + } + } + break; } } /// <summary> @@ -1258,5 +1569,104 @@ catch { } return name; } + + + /// <summary> + /// 寤舵椂鏃堕棿鏂规硶 + /// </summary> + /// <param name="fLayout">鍦ㄥ摢涓晫闈㈡樉绀�</param> + /// <param name="edit">锛坱rue=缂栬緫锛沠alse=鏂板缓锛�</param> + /// <param name="index">缂栬緫鏉′欢鐨勭储寮�</param> + private void Delayed(FrameLayout thisFLayout, Output output,Action<int>action) + { + FrameLayout fLayout = new FrameLayout + { + BackgroundColor = CSS.CSS_Color.viewTrans60lucence, + }; + thisFLayout.AddChidren(fLayout); + LogicView.TimeView timePointView = new LogicView.TimeView(); + timePointView.FLayoutView(fLayout); + EventHandler<MouseEventArgs> RemovefLayout = (sender, e1) => + { + //绉婚櫎fLayout鐣岄潰 + fLayout.RemoveFromParent(); + }; + //鍙栨秷鐐瑰嚮浜嬩欢 + timePointView.btnCancel.MouseUpEventHandler += RemovefLayout; + + //鍔犺浇鏁版嵁鐣岄潰鐨勮缃柟娉�(鍒楄〃浜掍笉鑱斿姩) + timePointView.mUIPickerView.setNPicker(timePointView.GetmStringList(), timePointView.GetsStringList(), null); + //榛樿鍒濆閫変腑鐘舵�� + timePointView.mUIPickerView.setCurrentItems(0, 5, 0); + //瀹氫箟涓�涓眬閮ㄥ彉閲忚褰曢�変腑鏃堕棿 + int timepoint = 5; + + if (output.delay != "0") + { + int intValue = int.Parse(output.delay); + var m = intValue / 60; + var s = intValue % 60; + + string timeValue = m.ToString() + ":" + s.ToString(); + int mIndex = timePointView.GetValueIndex(timeValue, 0, 1, timePointView.GetmIntList()); + int sIndex = timePointView.GetValueIndex(timeValue, 1, 0, timePointView.GetmIntList()); + //鏇存柊鍒濆鐘舵�� + timePointView.mUIPickerView.setCurrentItems(mIndex, sIndex, 0); + timepoint = intValue; + } + + + //閫変腑鏃堕棿鍥炶皟鏂规硶,鏃堕棿鍙樺寲涓�娆″洖璋冧竴娆� + timePointView.mUIPickerView.OnSelectChangeEvent += (index1, index2, index3) => + { + string minuet = timePointView.GethStringList0()[index1].Split(' ')[0]; + string second = timePointView.GetmStringList()[index2].Split(' ')[0]; + int minuetIntValue = int.Parse(minuet); + int secondIntValue = int.Parse(second); + timepoint = minuetIntValue*60+secondIntValue; + }; + //纭畾鐐瑰嚮浜嬩欢 + timePointView.btnConfirm.MouseUpEventHandler += (sender, e3) => + { + if (timepoint==0) + { + //鎻愮ず + return; + } + fLayout.RemoveFromParent(); + action(timepoint); + }; + } + /// <summary> + /// 鑾峰彇鏃堕棿鏂囨湰鎻忚堪 + /// </summary> + /// <param name="strTimeValue">鏃堕棿鍊硷紙鍗曚綅s绉掞級</param> + /// <returns></returns> + private string GetTimeText(string strTimeValue) + { + var timeValue = int.Parse(strTimeValue); + string state = ""; + var minutes = timeValue / 60; + var seconds = timeValue % 60; + if (minutes != 0) + { + if (seconds == 0) + { + state = minutes.ToString() + Language.StringByID(StringId.minute); + } + else + { + state = minutes.ToString() + Language.StringByID(StringId.minute) + seconds.ToString() + Language.StringByID(StringId.s); + } + } + else + { + if (seconds != 0) + { + state = seconds.ToString() + Language.StringByID(StringId.s); + } + } + return state; + } } } -- Gitblit v1.8.0