From 92f690c0557409b6c23e6b864a6623912c67df4e Mon Sep 17 00:00:00 2001 From: wxr <464027401@qq.com> Date: 星期二, 06 六月 2023 11:50:49 +0800 Subject: [PATCH] Merge branch 'Dev-Branch' into Dev-Wxr --- HDL-ON_iOS/Resources/Language.ini | 16 ++ HDL-ON_Android/Assets/Language.ini | 16 ++ HDL_ON/UI/UI2/3-Intelligence/Automation/LogicMethod.cs | 10 + HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs | 57 +++++++ HDL-ON_Android/Resources/Resource.designer.cs | 2 HDL-ON_iOS/HDL-ON_iOS.csproj | 27 +++ HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs | 103 ++++++++++++++ HDL_ON/UI/UI2/3-Intelligence/Automation/Logic.cs | 4 HDL_ON/UI/UI2/3-Intelligence/Automation/Send.cs | 8 + HDL_ON/Common/R.cs | 13 + HDL_ON/UI/UI2/3-Intelligence/Automation/LogicView/TimeView.cs | 137 +++++++++++++++++++ HDL_ON/UI/UI2/3-Intelligence/Automation/MainView.cs | 2 12 files changed, 382 insertions(+), 13 deletions(-) diff --git a/HDL-ON_Android/Assets/Language.ini b/HDL-ON_Android/Assets/Language.ini index 5edc896..9b3e021 100644 --- a/HDL-ON_Android/Assets/Language.ini +++ b/HDL-ON_Android/Assets/Language.ini @@ -1149,6 +1149,9 @@ 7166=Camera 7167=Main switch 7168=PM10 +7169=Time of duration +7170=Human presence detection +7171=continue 8501=Video door lock 8502=Electric quantity @@ -2432,6 +2435,10 @@ 7166=鎽勫儚澶� 7167=鎬绘帶寮�鍏� 7168=PM10 +7169=鎸佺画鏃堕棿 +7170=浜轰綋瀛樺湪妫�娴� +7171=鎸佺画 + 8501=瑙嗛闂ㄩ攣 @@ -3711,6 +3718,9 @@ 7166=Camera 7167=Main switch 7168=PM10 +7169=Time of duration +7170=Human presence detection +7171=continue 8501=Video door lock 8502=Electric quantity @@ -4985,6 +4995,9 @@ 7166=Camera 7167=Main switch 7168=PM10 +7169=Time of duration +7170=Human presence detection +7171=continue 8501=Video door lock 8502=Electric quantity @@ -6258,6 +6271,9 @@ 7166=Camera 7167=Main switch 7168=PM10 +7169=Time of duration +7170=Human presence detection +7171=continue 8501=Video door lock 8502=Electric quantity diff --git a/HDL-ON_Android/Resources/Resource.designer.cs b/HDL-ON_Android/Resources/Resource.designer.cs index b127030..acf2224 100644 --- a/HDL-ON_Android/Resources/Resource.designer.cs +++ b/HDL-ON_Android/Resources/Resource.designer.cs @@ -14,7 +14,7 @@ { - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Xamarin.Android.Build.Tasks", "12.2.8.165")] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Xamarin.Android.Build.Tasks", "1.0.0.0")] public partial class Resource { diff --git a/HDL-ON_iOS/HDL-ON_iOS.csproj b/HDL-ON_iOS/HDL-ON_iOS.csproj index f55067f..e420bca 100644 --- a/HDL-ON_iOS/HDL-ON_iOS.csproj +++ b/HDL-ON_iOS/HDL-ON_iOS.csproj @@ -80,6 +80,8 @@ <Reference Include="System.Xml" /> <Reference Include="System.Core" /> <Reference Include="Xamarin.iOS" /> + <Reference Include="System.Numerics" /> + <Reference Include="System.Numerics.Vectors" /> <Reference Include="System.Web.Services" /> <Reference Include="Shared.IOS.TBL"> <HintPath>..\DLL\Shared.IOS.TBL.dll</HintPath> @@ -118,10 +120,16 @@ </ItemGroup> <ItemGroup> <PackageReference Include="Newtonsoft.Json"> - <Version>13.0.3</Version> + <Version>13.0.1</Version> </PackageReference> <PackageReference Include="MQTTnet"> <Version>3.1.0</Version> + </PackageReference> + <PackageReference Include="Microsoft.AppCenter.Analytics"> + <Version>4.4.0</Version> + </PackageReference> + <PackageReference Include="Microsoft.AppCenter.Crashes"> + <Version>4.4.0</Version> </PackageReference> <PackageReference Include="ZXing.Net.Mobile"> <Version>2.4.1</Version> @@ -439,6 +447,20 @@ <ImageAsset Include="Assets.xcassets\wifi_bg.imageset\wifi_bg.png" /> <ImageAsset Include="Assets.xcassets\device_bg.imageset\Contents.json" /> <ImageAsset Include="Assets.xcassets\device_bg.imageset\device_bg.png" /> + <ImageAsset Include="Assets.xcassets\LaunchImage.launchimage\12422688.png" /> + <ImageAsset Include="Assets.xcassets\LaunchImage.launchimage\8281792.png" /> + <ImageAsset Include="Assets.xcassets\LaunchImage.launchimage\26881242.png" /> + <ImageAsset Include="Assets.xcassets\LaunchImage.launchimage\1792828.png" /> + <ImageAsset Include="Assets.xcassets\LaunchImage.launchimage\11252436.png" /> + <ImageAsset Include="Assets.xcassets\LaunchImage.launchimage\24361125.png" /> + <ImageAsset Include="Assets.xcassets\LaunchImage.launchimage\640960.png" /> + <ImageAsset Include="Assets.xcassets\LaunchImage.launchimage\6401136.png" /> + <ImageAsset Include="Assets.xcassets\LaunchImage.launchimage\320480.png" /> + <ImageAsset Include="Assets.xcassets\LaunchImage.launchimage\640960-1.png" /> + <ImageAsset Include="Assets.xcassets\LaunchImage.launchimage\6401136-1.png" /> + <ImageAsset Include="Assets.xcassets\LaunchImage.launchimage\12422208.png" /> + <ImageAsset Include="Assets.xcassets\LaunchImage.launchimage\7501334.png" /> + <ImageAsset Include="Assets.xcassets\LaunchImage.launchimage\22081242.png" /> <ImageAsset Include="Resources\Assets.xcassets\Contents.json" /> <ImageAsset Include="Resources\Assets.xcassets\launchIcon2.imageset\Contents.json" /> <ImageAsset Include="Resources\Assets.xcassets\launchIcon2.imageset\launchIcon2.png" /> @@ -1566,7 +1588,6 @@ <BundleResource Include="Resources\Phone\FunctionIcon\Icon\securitydoorezviz.png" /> <BundleResource Include="Resources\Phone\FunctionIcon\DoorLock\VideoDoorlockClose1.png" /> <BundleResource Include="Resources\Phone\FunctionIcon\DoorLock\VideoDoorLockOpen1.png" /> - <BundleResource Include="Resources\Phone\LogicIcon\selectlocation.png" /> </ItemGroup> <ItemGroup> <ITunesArtwork Include="iTunesArtwork" /> @@ -1588,6 +1609,8 @@ <ImageAsset Include="Assets.xcassets\AppIcon.appiconset\58x58-1.png" /> <ImageAsset Include="Assets.xcassets\AppIcon.appiconset\40x40-2.png" /> <ImageAsset Include="Assets.xcassets\AppIcon.appiconset\80x80-1.png" /> + <ImageAsset Include="Assets.xcassets\LaunchImage.launchimage\.DS_Store" /> + <ImageAsset Include="Assets.xcassets\LaunchImage.launchimage\Contents.json" /> <ImageAsset Include="Assets.xcassets\AppIcon.appiconset\1024.png" /> </ItemGroup> <ItemGroup> diff --git a/HDL-ON_iOS/Resources/Language.ini b/HDL-ON_iOS/Resources/Language.ini index 5edc896..9b3e021 100644 --- a/HDL-ON_iOS/Resources/Language.ini +++ b/HDL-ON_iOS/Resources/Language.ini @@ -1149,6 +1149,9 @@ 7166=Camera 7167=Main switch 7168=PM10 +7169=Time of duration +7170=Human presence detection +7171=continue 8501=Video door lock 8502=Electric quantity @@ -2432,6 +2435,10 @@ 7166=鎽勫儚澶� 7167=鎬绘帶寮�鍏� 7168=PM10 +7169=鎸佺画鏃堕棿 +7170=浜轰綋瀛樺湪妫�娴� +7171=鎸佺画 + 8501=瑙嗛闂ㄩ攣 @@ -3711,6 +3718,9 @@ 7166=Camera 7167=Main switch 7168=PM10 +7169=Time of duration +7170=Human presence detection +7171=continue 8501=Video door lock 8502=Electric quantity @@ -4985,6 +4995,9 @@ 7166=Camera 7167=Main switch 7168=PM10 +7169=Time of duration +7170=Human presence detection +7171=continue 8501=Video door lock 8502=Electric quantity @@ -6258,6 +6271,9 @@ 7166=Camera 7167=Main switch 7168=PM10 +7169=Time of duration +7170=Human presence detection +7171=continue 8501=Video door lock 8502=Electric quantity diff --git a/HDL_ON/Common/R.cs b/HDL_ON/Common/R.cs index 1d4c2ab..971b2ab 100644 --- a/HDL_ON/Common/R.cs +++ b/HDL_ON/Common/R.cs @@ -3238,6 +3238,19 @@ /// PM210 /// </summary> public const int pm10 = 7168; + /// <summary> + /// 鎸佺画鏃堕棿 + /// </summary> + public const int chixushijian = 7169; + /// <summary> + /// 浜轰綋瀛樺湪妫�娴� + /// </summary> + public const int rentijiance = 7170; + /// <summary> + /// 鎸佺画 + /// </summary> + public const int chixu = 7171; + /// <summary> /// 瑙嗛闂ㄩ攣 diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs index 0cf91cc..32a9a61 100644 --- a/HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs +++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs @@ -36,6 +36,12 @@ /// 鍙瀵硅涓撶敤 /// </summary> private string identifier; + /// <summary> + /// 浜轰綋浼犳劅鍣ㄦ寔缁椂闂翠笓鐢� + /// </summary> + private string hold_time=string.Empty; + + private static ConditionDeviceFunList m_Current = null; @@ -184,6 +190,59 @@ if (edit) { GetEditState(device, index, view.btnState, null, null, null); + } + } + break; + //浜轰綋瀛樺湪浼犳劅鍣� + case SPK.SensorPirHold: + { + + + LogicView.FunTypeView view1 = new LogicView.FunTypeView(); + view1.btnText.TextID = StringId.rentijiance; + view1.btnText.Name = Language.StringByID(StringId.rentijiance); + fLayout.AddChidren(view1.FLayoutView()); + view1.btnClick.MouseUpEventHandler += (sender, e) => + { + DeviceView(device, view1.btnState, StringId.youren, StringId.wuren); + + }; + + LogicView.FunTypeView view2 = new LogicView.FunTypeView(); + view2.frameLayout.Y = view1.frameLayout.Bottom; + view2.btnText.TextID = StringId.chixushijian; + fLayout.AddChidren(view2.FLayoutView()); + view2.btnClick.MouseUpEventHandler += (sender, e) => + { + //涓荤晫闈㈡帶浠� + FrameLayout fLayout = new FrameLayout + { + BackgroundColor = CSS.CSS_Color.viewTrans60lucence, + }; + this.AddChidren(fLayout); + TimeView(fLayout, device, view2.btnState); + + }; + + + if (edit) + { + try + { + Input inputs = Logic.currlogic.input[index]; + if (!string.IsNullOrEmpty(inputs.hold_time) && int.Parse(inputs.hold_time) > 0) + { + int time = int.Parse(inputs.hold_time); + int h = time / (60 * 60); + int m = time % (60 * 60) / 60; + int s = (time % (60 * 60) % 60); + view2.btnState.Text = inputs.hold_time + "s"; + view2.btnState.Name = h + ":" + m + ":" + s; + this.hold_time = inputs.hold_time; + } + } + catch { } + GetEditState(device, index, view1.btnState, view2.btnState, null, null); } } break; @@ -694,6 +753,11 @@ inputDevice.condition_type = "9"; inputDevice.identifier = this.identifier; } + else if (device.spk == SPK.SensorPirHold) + { + //浜轰綋瀛樺湪浼犳劅鍣� + inputDevice.hold_time = this.hold_time; + } if (edit) @@ -737,6 +801,7 @@ } } + /// <summary> /// 璁惧閫夋嫨鏉′欢鐣岄潰 /// </summary> @@ -779,6 +844,7 @@ } } break; + case SPK.SensorPirHold: case SPK.SensorDuiShe: case SPK.SensorShanLan: case SPK.SensorPir: @@ -1191,6 +1257,43 @@ } /// <summary> + /// 鏃堕棿鏂规硶 + /// </summary> + /// <param name="fLayout">鍦ㄥ摢涓晫闈㈡樉绀�</param> + /// <param name="edit">锛坱rue=缂栬緫锛沠alse=鏂板缓锛�</param> + /// <param name="index">缂栬緫鏉′欢鐨勭储寮�</param> + private void TimeView(FrameLayout fLayout,Function device, Button button) + { + + LogicView.TimeView timePointView = new LogicView.TimeView(); + timePointView.FLayoutView(fLayout); + timePointView.Time(fLayout, button.Name, (timeValue) => + { + try + { + if (timeValue.Contains(":")) + { + string[] ary = timeValue.Split(':'); + + int h = int.Parse(ary[0]) * 60 * 60; + int m = int.Parse(ary[1]) * 60; + int s = int.Parse(ary[2]); + this.hold_time = (h + m + s).ToString(); + if (button != null) + { + button.Text = this.hold_time + "s"; + button.Name = timeValue; + } + selectedState = device.spk + "_" + timeValue; + } + } + catch { } + + }); + + } + + /// <summary> /// 鏄剧ず缂栬緫涔嬪墠鐨勮澶囩姸鎬� /// </summary> /// <param name="device">缂栬緫璁惧</param> diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs index 7055171..014f3bb 100644 --- a/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs +++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs @@ -247,7 +247,7 @@ { inputView.btnState.Text = Language.StringByID(StringId.kaiqi); } - + } break; case SPK.SensorUtrasonic: @@ -307,12 +307,14 @@ { string value = this.GetValue(dicList); inputView.btnState.Text = Language.StringByID(StringId.wuren); - if (value == "fall") { + if (value == "fall") + { inputView.btnState.Text = Language.StringByID(StringId.diedao); } } break; - case SPK.SensorEnvironment:case SPK.SensorEnvironmentHailin: + case SPK.SensorEnvironment: + case SPK.SensorEnvironmentHailin: case SPK.SensorEnvironment2: case SPK.SensorEnvironment3: { @@ -376,7 +378,7 @@ case SPK.SensorTemperature: { - string str =this.GetText(dicList, "temperature"); + string str = this.GetText(dicList, "temperature"); inputView.btnState.Text = str; } break; @@ -451,7 +453,7 @@ } - + } inputView.btnState.Text = s; } @@ -462,7 +464,32 @@ { inputView.btnState.Text = Language.StringByID(StringId.quyuruqingaojing); } - + + } + break; + case SPK.SensorPirHold: + { + string value = this.GetKeyValue("people_status", dicList); + if (string.IsNullOrEmpty(value)) + { + inputView.btnState.Text = inputCondition.hold_time + "s"; + break; + + } + + inputView.btnState.Text = Language.StringByID(StringId.wuren); + if (value == "true") + { + inputView.btnState.Text = Language.StringByID(StringId.youren); + + } + if (!string.IsNullOrEmpty(inputCondition.hold_time) && int.Parse(inputCondition.hold_time) > 0) + { + + inputView.btnState.Text += "鎸佺画" + inputCondition.hold_time + "s"; + } + + } break; } @@ -1978,6 +2005,7 @@ } } break; + case SPK.SensorGas: case SPK.SensorSmoke: { @@ -2046,6 +2074,23 @@ } } break; + case SPK.SensorPirHold: + { + 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) diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/Logic.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/Logic.cs index 370900f..e043cf8 100644 --- a/HDL_ON/UI/UI2/3-Intelligence/Automation/Logic.cs +++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/Logic.cs @@ -106,6 +106,10 @@ /// condition_type=9鏃朵娇鐢� /// </summary> public string identifier = ""; + /// <summary> + /// 浜轰綋绉诲姩浼犳劅鍣紙甯︽寔缁椂闂达級 + /// </summary> + public string hold_time = ""; public List<Dictionary<string, string>> condition = new List<Dictionary<string, string>>(); /// <summary> /// 鍦扮悊鍥存爮閰嶇疆 diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicMethod.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicMethod.cs index 9ed7f66..4cd73dc 100644 --- a/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicMethod.cs +++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicMethod.cs @@ -356,7 +356,7 @@ { return "MusicIcon/localMusic.png"; } - else if (SPK.SensorPm10 == device.spk) + else if (SPK.SensorPm10 == device.spk || SPK.SensorPirHold == device.spk) { return "LogicIcon/sensor.png"; } @@ -467,6 +467,8 @@ case SPK.SensorTVOC: case SPK.SensorHcho: case SPK.SensorHelp: + case SPK.SensorPirHold: + { strPath = "LogicIcon/sensor.png"; } @@ -562,6 +564,7 @@ || device.spk == SPK.SensorHcho || device.spk == SPK.SensorHelp || device.spk == SPK.SensorPm10 + || device.spk == SPK.SensorPirHold ); if (sensor != null) { @@ -686,6 +689,7 @@ functionTypeList.Add(SPK.SensorHcho); functionTypeList.Add(SPK.SensorHelp); functionTypeList.Add(SPK.SensorPm10); + functionTypeList.Add(SPK.SensorPirHold); } @@ -781,6 +785,7 @@ functionTypeList.Add(SPK.SensorPm10); functionTypeList.Add(SPK.VideoDoorLock); functionTypeList.Add(SPK.AcIr); + functionTypeList.Add(SPK.SensorPirHold); } @@ -842,6 +847,7 @@ deviceTypeList.Add(SPK.SensorPm10); deviceTypeList.Add(SPK.VideoDoorLock); deviceTypeList.Add(SPK.AcIr); + deviceTypeList.Add(SPK.SensorPirHold); } break; @@ -1186,7 +1192,7 @@ // new Entity.Function { sid = "1234567892", name = "婀垮害浼犳劅鍣�", spk = Entity.SPK.SensorHumidity }, //new Entity.Function { sid = "12345678933456", name = "闂ㄩ攣", spk = Entity.SPK.DoorLock }, // new Entity.Function { sid = "1234567895444", name = "瑙嗛闂ㄩ攣", spk = Entity.SPK.VideoDoorLock }, - new Entity.Function { sid = "12345678968888", name = "pm10", spk = Entity.SPK.LightDimming }, + new Entity.Function { sid = "12345678968888", name = "浜轰綋瀛樺湪浼犳劅鍣�", spk = Entity.SPK.SensorPirHold }, // new Entity.Function { sid = "1234567897", name = "姣背娉紶鎰熷櫒1", spk = Entity.SPK.SenesorMegahealth2 }, // new Entity.Function { sid = "1234567899", name = "闂ㄧ浼犳劅鍣�", spk = Entity.SPK.SensorDoorWindow }, // new Entity.Function { sid = "12345678991234", name = "HDL鏈烘鎵�", spk = Entity.SPK.MechanicalArm }, diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicView/TimeView.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicView/TimeView.cs index a79324c..b45c5ae 100644 --- a/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicView/TimeView.cs +++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicView/TimeView.cs @@ -81,7 +81,7 @@ frameLayout.AddChidren(btnLine); } /// <summary> - /// 閫変腑鏃堕棿鐨勬柟娉� + /// 閫変腑鏃堕棿鐨勬柟娉�(鏃讹紝鍒�) /// </summary> /// <param name="fLayout">鐖舵帶浠�</param> /// <param name="currState">涔嬪墠鐘舵�佸��</param> @@ -156,6 +156,120 @@ string hour = GethStringList()[index1].Split(' ')[0]; string minuet = GetmStringList()[index2].Split(' ')[0]; timepoint = hour + ":" + minuet; + }; + //纭畾鐐瑰嚮浜嬩欢 + btnConfirm.MouseUpEventHandler += (sender, e3) => + { + action(timepoint); + //绉婚櫎fLayout鐣岄潰 + fLayout.RemoveFromParent(); + + }; + } + /// <summary> + /// 閫変腑鏃堕棿鐨勬柟娉�(鏃讹紝鍒嗭紝绉�) + /// </summary> + /// <param name="fLayout">鐖舵帶浠�</param> + /// <param name="currState">涔嬪墠鐘舵�佸��</param> + /// <param name="action">杩斿洖鏃堕棿鍊�</param> + public void Time(FrameLayout fLayout, string currState, Action<string> action) + { + //鍙栨秷鐐瑰嚮浜嬩欢 + btnCancel.MouseUpEventHandler += (sender, e1) => + { + //绉婚櫎fLayout鐣岄潰 + fLayout.RemoveFromParent(); + }; + //鍔犺浇鏁版嵁鐣岄潰鐨勮缃柟娉�(鍒楄〃浜掍笉鑱斿姩) + mUIPickerView.setNPicker(GethStringList(), GetmStringList(), GetsStringList()); + var systemHour = DateTime.Now.Hour; //鑾峰彇灏忔椂 + var systeMinute = DateTime.Now.Minute;//鑾峰彇鍒嗛挓 + var systeSecond = DateTime.Now.Second;//鑾峰彇绉� + + int systemHourIndex = 0; + int systeMinuteIndex = 0; + int systeSecondIndex = 0; + for (int i = 0; i < GethIntList().Count; i++) + { + var currhour = GethIntList()[i]; + if (systemHour == currhour) + { + systemHourIndex = i; + break; + } + } + for (int i = 0; i < GetmIntList().Count; i++) + { + var currminute = GetmIntList()[i]; + if (systeMinute == currminute) + { + systeMinuteIndex = i; + break; + } + } + for (int i = 0; i < GetsIntList().Count; i++) + { + var currsecond= GetsIntList()[i]; + if (systeSecond == currsecond) + { + systeSecondIndex = i; + break; + } + } + + //榛樿鍒濆閫変腑鐘舵�� + mUIPickerView.setCurrentItems(systemHourIndex, systeMinuteIndex, systeSecondIndex); + string currH = ""; + string currM = ""; + string currS = ""; + if (systemHour < 10) + { + currH = "0" + systemHour.ToString(); + } + else + { + currH = systemHour.ToString(); + } + if (systeMinute < 10) + { + currM = "0" + systeMinute.ToString(); + } + else + { + currM = systeMinute.ToString(); + } + if (systeSecond < 10) + { + currS = "0" + systeMinute.ToString(); + } + else + { + currS = systeMinute.ToString(); + } + //瀹氫箟涓�涓眬閮ㄥ彉閲忚褰曢�変腑鏃堕棿 + string timepoint = currH + ":" + currM + ":" + currS; + if (!string.IsNullOrEmpty(currState)) + { + int hIndex = GetValueIndex(currState, 0, 1, GethIntList()); + int mIndex = GetValueIndex(currState, 1, 0, GetmIntList()); + int sIndex = GetValueIndex(currState, 2, 0, GetsIntList()); + //鏇存柊鍒濆鐘舵�� + mUIPickerView.setCurrentItems(hIndex, mIndex, sIndex); + timepoint = currState; + } + + + //閫変腑鏃堕棿鍥炶皟鏂规硶,鏃堕棿鍙樺寲涓�娆″洖璋冧竴娆� + mUIPickerView.OnSelectChangeEvent += (index1, index2, index3) => + { + try + { + string hour = GethStringList()[index1].Split(' ')[0]; + string minuet = GetmStringList()[index2].Split(' ')[0]; + string second = GetmStringList()[index3].Split(' ')[0]; + timepoint = hour + ":" + minuet + ":" + second; + } + catch { } }; //纭畾鐐瑰嚮浜嬩欢 btnConfirm.MouseUpEventHandler += (sender, e3) => @@ -306,7 +420,22 @@ } return mList; } - + /// <summary> + /// 鑾峰彇60绉掑垪琛� + /// </summary> + /// <returns></returns> + public List<int> GetsIntList() + { + //鍒濆鍖栧垪琛� + var mList = new List<int>(); + for (int i = 0; i < 60; i++) + { + //娣诲姞鏁版嵁 + mList.Add(i); + } + return mList; + } + /// <summary> /// 鑾峰彇鏃堕棿鍊� /// </summary> @@ -317,6 +446,10 @@ /// <returns></returns> public int GetValueIndex(string str, int digit, int startIndex, List<int> list) { + if (string.IsNullOrEmpty(str)) + { + return 0; + } int index = 0; int value = 0; if (str.Contains(":")) diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/MainView.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/MainView.cs index 98e5cd6..84ea1a0 100644 --- a/HDL_ON/UI/UI2/3-Intelligence/Automation/MainView.cs +++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/MainView.cs @@ -366,6 +366,7 @@ //2-鍔熻兘鍥炬爣 //3-浜戠鍥炬爣 //4-鍦烘櫙鍥炬爣 + //5-鍦扮悊鍥存爮 for (int i = 0; i < logic.input.Count; i++) { if (logic.input[i] == null) @@ -407,6 +408,7 @@ } break; + } if (!iconIntValue.Contains(iconInt)) diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/Send.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/Send.cs index 8ea607a..7274673 100644 --- a/HDL_ON/UI/UI2/3-Intelligence/Automation/Send.cs +++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/Send.cs @@ -114,6 +114,10 @@ { var inputTypeJOb = new JObject { }; inputTypeJOb.Add("sid", dictionary.sid); + if (!string.IsNullOrEmpty(dictionary.hold_time)) + { + inputTypeJOb.Add("hold_time", dictionary.hold_time); + } inputTypeJOb.Add("condition_type", dictionary.condition_type); if (dictionary.condition_type=="9") { inputTypeJOb.Add("identifier", dictionary.identifier); @@ -241,6 +245,10 @@ { var inputTypeJOb = new JObject { }; inputTypeJOb.Add("sid", dictionary.sid); + if (!string.IsNullOrEmpty(dictionary.hold_time)) + { + inputTypeJOb.Add("hold_time", dictionary.hold_time); + } inputTypeJOb.Add("condition_type", dictionary.condition_type); if (dictionary.condition_type == "9") { -- Gitblit v1.8.0