From d297fddadd429ffffbeb3f623f5ad860c33b3e5a Mon Sep 17 00:00:00 2001 From: 陈嘉乐 <cjl@hdlchina.com.cn> Date: 星期四, 07 一月 2021 15:41:48 +0800 Subject: [PATCH] 20201-1-7-1 --- HDL-ON_iOS/Resources/Language.ini | 8 + HDL-ON_Android/Assets/Language.ini | 1 .vs/HDL_APP_Project/xs/sqlite3/storage.ide-shm | 0 HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs | 112 ++++++++++++- HDL_ON/Common/R.cs | 1 HDL_ON/UI/UI2/3-Intelligence/Automation/SpeciaTime.cs | 126 ++++++++++++++- .vs/HDL_APP_Project/xs/sqlite3/storage.ide | 0 HDL_ON/UI/UI2/3-Intelligence/Automation/Time3.cs | 137 +++++++++++++--- .vs/HDL_APP_Project/xs/UserPrefs.xml | 38 +--- .vs/HDL_APP_Project/xs/sqlite3/storage.ide-wal | 0 10 files changed, 353 insertions(+), 70 deletions(-) diff --git a/.vs/HDL_APP_Project/xs/UserPrefs.xml b/.vs/HDL_APP_Project/xs/UserPrefs.xml index 5b0fe9d..89aaeeb 100644 --- a/.vs/HDL_APP_Project/xs/UserPrefs.xml +++ b/.vs/HDL_APP_Project/xs/UserPrefs.xml @@ -3,51 +3,39 @@ <MonoDevelop.Ide.Workbench ActiveDocument="HDL_ON/UI/UI2/3-Intelligence/Automation/Time3.cs"> <Files> <File FileName="HDL_ON/UI/UI2/3-Intelligence/Automation/FunTpye.cs" Line="268" Column="79" /> - <File FileName="HDL_ON/UI/UI2/3-Intelligence/Automation/TimeTpye.cs" Line="358" Column="10" /> - <File FileName="HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs" Line="192" Column="24" /> - <File FileName="HDL-ON_Android/Assets/Language.ini" Line="512" Column="5" /> - <File FileName="HDL_ON/Common/R.cs" Line="505" Column="47" /> - <File FileName="HDL_ON/UI/UI2/3-Intelligence/Automation/SpeciaTime.cs" Line="56" Column="41" /> - <File FileName="HDL_ON/UI/UI2/3-Intelligence/Automation/LogicView/AddOutputInputTextView.cs" Line="37" Column="35" /> - <File FileName="HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs" Line="157" Column="31" /> - <File FileName="HDL_ON/UI/UI2/3-Intelligence/Automation/LogicView/TopView.cs" Line="33" Column="30" /> - <File FileName="HDL_ON/UI/CSS/CSS.cs" Line="102" Column="42" /> - <File FileName="HDL_ON/UI/UI2/3-Intelligence/Automation/LogicView/SelectTypeView.cs" Line="88" Column="34" /> - <File FileName="HDL_ON/UI/UI2/3-Intelligence/Automation/PublicInterface.cs" Line="454" Column="28" /> - <File FileName="HDL_ON/UI/UI2/3-Intelligence/Automation/AddLogic.cs" Line="10" Column="16" /> - <File FileName="HDL_ON/UI/UI2/3-Intelligence/Automation/Time3.cs" Line="122" Column="63" /> + <File FileName="HDL_ON/UI/UI2/3-Intelligence/Automation/TimeTpye.cs" Line="93" Column="72" /> + <File FileName="HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs" /> + <File FileName="HDL-ON_Android/Assets/Language.ini" Line="547" Column="5" /> + <File FileName="HDL_ON/Common/R.cs" Line="541" Column="32" /> + <File FileName="HDL_ON/UI/UI2/3-Intelligence/Automation/SpeciaTime.cs" Line="89" Column="43" /> + <File FileName="HDL_ON/UI/UI2/3-Intelligence/Automation/LogicView/AddOutputInputTextView.cs" /> + <File FileName="HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs" Line="109" Column="34" /> + <File FileName="HDL_ON/UI/UI2/3-Intelligence/Automation/PublicInterface.cs" /> + <File FileName="HDL_ON/UI/UI2/3-Intelligence/Automation/AddLogic.cs" /> + <File FileName="HDL_ON/UI/UI2/3-Intelligence/Automation/LogicView/SelectTypeView.cs" Line="5" Column="18" /> + <File FileName="HDL_ON/UI/UI2/3-Intelligence/Automation/Time3.cs" Line="9" Column="16" /> </Files> <Pads> <Pad Id="ProjectPad"> <State name="__root__"> <Node name="HDL_APP_Project" expanded="True"> <Node name="HDL_ON" expanded="True"> - <Node name="Common" expanded="True" /> <Node name="UI" expanded="True"> - <Node name="CSS" expanded="True" /> <Node name="UI2" expanded="True"> <Node name="3-Intelligence" expanded="True"> <Node name="Automation" expanded="True"> - <Node name="LogicView" expanded="True" /> <Node name="Time3.cs" selected="True" /> </Node> </Node> - <Node name="FuntionControlView" expanded="True" /> </Node> </Node> </Node> <Node name="HDL-ON_Android" expanded="True"> - <Node name="Assets" expanded="True"> - <Node name="Phone" expanded="True"> - <Node name="LogicIcon" expanded="True" /> - </Node> - </Node> + <Node name="Assets" expanded="True" /> </Node> <Node name="HDL-ON_iOS" expanded="True"> <Node name="Resources" expanded="True"> - <Node name="Phone" expanded="True"> - <Node name="LogicIcon" expanded="True" /> - </Node> + <Node name="Phone" expanded="True" /> </Node> </Node> </Node> diff --git a/.vs/HDL_APP_Project/xs/sqlite3/storage.ide b/.vs/HDL_APP_Project/xs/sqlite3/storage.ide index 8bad8af..8f99206 100644 --- a/.vs/HDL_APP_Project/xs/sqlite3/storage.ide +++ b/.vs/HDL_APP_Project/xs/sqlite3/storage.ide Binary files differ diff --git a/.vs/HDL_APP_Project/xs/sqlite3/storage.ide-shm b/.vs/HDL_APP_Project/xs/sqlite3/storage.ide-shm index 7ad3dfe..f0e9ac1 100644 --- a/.vs/HDL_APP_Project/xs/sqlite3/storage.ide-shm +++ b/.vs/HDL_APP_Project/xs/sqlite3/storage.ide-shm Binary files differ diff --git a/.vs/HDL_APP_Project/xs/sqlite3/storage.ide-wal b/.vs/HDL_APP_Project/xs/sqlite3/storage.ide-wal index aa25243..ac71fd5 100644 --- a/.vs/HDL_APP_Project/xs/sqlite3/storage.ide-wal +++ b/.vs/HDL_APP_Project/xs/sqlite3/storage.ide-wal Binary files differ diff --git a/HDL-ON_Android/Assets/Language.ini b/HDL-ON_Android/Assets/Language.ini index e7dd2e2..775c474 100644 --- a/HDL-ON_Android/Assets/Language.ini +++ b/HDL-ON_Android/Assets/Language.ini @@ -544,6 +544,7 @@ 7083=姝e崍 7084=姝g偣 7085=鎻愬墠 +7086=鍒嗛挓 diff --git a/HDL-ON_iOS/Resources/Language.ini b/HDL-ON_iOS/Resources/Language.ini index 096fae2..9d998d2 100644 --- a/HDL-ON_iOS/Resources/Language.ini +++ b/HDL-ON_iOS/Resources/Language.ini @@ -538,6 +538,14 @@ 7077=鏃堕棿鏈缃紝璇疯缃椂闂淬�� 7078=鏉′欢鎴栬�呯洰鏍囦负绌恒�� 7079=缃戝叧涓嶅湪绾� +7080=鏃ュ嚭/鏃ヨ惤/姝e崍 +7081=鏃ュ嚭 +7082=鏃ヨ惤 +7083=姝e崍 +7084=姝g偣 +7085=鎻愬墠 +7086=鍒嗛挓 + 9000=璇蜂娇鐢ㄦ柊鐨勬墜鏈鸿处鍙风櫥褰旳PP 9001=璇蜂娇鐢ㄦ柊鐨勯偖绠辫处鍙风櫥褰旳PP diff --git a/HDL_ON/Common/R.cs b/HDL_ON/Common/R.cs index 2b19081..10c4f6d 100644 --- a/HDL_ON/Common/R.cs +++ b/HDL_ON/Common/R.cs @@ -538,6 +538,7 @@ public const int at = 7083; public const int punctually = 7084; public const int advanced = 7085; + public const int minute = 7086; diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs index f2e33f9..5aa2003 100644 --- a/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs +++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs @@ -38,8 +38,75 @@ inputView.btnIcon.UnSelectedImagePath = "LogicIcon/time.png"; foreach (var dic in dicList) { + string keyValue = dic["key"]; string value = dic["value"]; - inputView.btnText.Text = Language.StringByID(StringId.hour) + ": " + value; + if (keyValue == "timepoint") + { + inputView.btnText.Text = Language.StringByID(StringId.hour) + ": " + value; + } + else + { + string strtext = ""; + string statetext = ""; + switch (keyValue) + { + case "before_sunrise": + { + strtext = Language.StringByID(StringId.sunrise); + statetext = Language.StringByID(StringId.advanced); + + } + break; + case "before_sunset": + { + + strtext = Language.StringByID(StringId.sunset); + statetext = Language.StringByID(StringId.advanced); + + } break; + case "before_noon": + { + strtext = Language.StringByID(StringId.at); + statetext = Language.StringByID(StringId.advanced); + } + break; + case "after_sunrise": + { + strtext = Language.StringByID(StringId.sunrise); + statetext = Language.StringByID(StringId.delayLogic); + } break; + case "after_sunset": + { + strtext = Language.StringByID(StringId.sunset); + statetext = Language.StringByID(StringId.delayLogic); + } break; + case "after_noon": + { + strtext = Language.StringByID(StringId.at); + statetext = Language.StringByID(StringId.delayLogic); + } + break; + } + + if (value != "0") + { + if (value == "30") + { + statetext += value + Language.StringByID(StringId.s); + } + else + { + statetext += value + Language.StringByID(StringId.minute); + } + } + else + { + statetext = ""; + } + + inputView.btnText.Text = strtext; + inputView.btnState.Text = statetext; + } } } break; @@ -127,15 +194,44 @@ { case "1": { - FrameLayout fLayout = new FrameLayout + bool is_bool = false; + Input _input = Logic.currlogic.input[indexVulae]; + if (_input.condition_type == "1") { - BackgroundColor = CSS.CSS_Color.viewTrans60lucence, - }; - thisView.AddChidren(fLayout); - TimeTpye timeTpye = new TimeTpye(); - timeTpye.TimePoint(fLayout, edit, indexVulae); + var dicLists = _input.condition as List<Dictionary<string, string>>; + foreach (var dic in dicLists) + { + string keyValue = dic["key"]; + if (keyValue != "timepoint") + { + //閫氳繃閿�兼煡鎵鹃敭鍊兼槸鍚︽槸 + //锛堟棩鍑�/鏃ヨ惤/姝e崍锛� + is_bool = true; + break; + } + } + } + if (is_bool) + { + //璺宠浆鍒帮紙鏃ュ嚭/鏃ヨ惤/姝e崍锛夌晫闈� + SpeciaTime speciaTime = new SpeciaTime(); + MainPage.BasePageView.AddChidren(speciaTime); + speciaTime.Show(edit, indexVulae); + MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; + } + else + { + //璺宠浆鍒帮紙鏃堕棿鐐癸級鐣岄潰 + FrameLayout fLayout = new FrameLayout + { + BackgroundColor = CSS.CSS_Color.viewTrans60lucence, + }; + thisView.AddChidren(fLayout); + TimeTpye timeTpye = new TimeTpye(); + timeTpye.TimePoint(fLayout, edit, indexVulae); + } } break; case "2": @@ -159,8 +255,6 @@ MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; } break; - - } }; ///鍒犻櫎鎺т欢 diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/SpeciaTime.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/SpeciaTime.cs index 51beb72..6020246 100644 --- a/HDL_ON/UI/UI2/3-Intelligence/Automation/SpeciaTime.cs +++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/SpeciaTime.cs @@ -3,15 +3,15 @@ using System.Collections.Generic; namespace HDL_ON.UI.UI2.Intelligence.Automation { - public class SpeciaTime:FrameLayout + public class SpeciaTime : FrameLayout { - + public SpeciaTime() { Tag = "Logic"; } - public void Show(bool edit=false, int index=-1) + public void Show(bool edit = false, int index = -1) { #region 鐣岄潰甯冨眬 LogicView.TopView topView = new LogicView.TopView(); @@ -30,13 +30,30 @@ BackgroundColor = CSS.CSS_Color.viewMiddle, }; this.AddChidren(viewLayout); + #endregion + //锛堟棩鍑烘椂锛屾棩钀芥椂锛屾鍗堟椂锛� + string str1 = ""; + //锛堟彁鍓嶏紝寤舵椂锛� + string str2 = ""; + //锛堟彁鍓嶏紝寤舵椂澶氬皯鍒嗛挓锛� + string value= ""; + if (edit) + { + GetText(index, (s1, s2, s3) => { + str1 = s1; + str2 = s2; + value = s3; + + }); + + + } var list = new List<string> { Language.StringByID(StringId.sunrise)+Language.StringByID(StringId.h), Language.StringByID(StringId.sunset)+Language.StringByID(StringId.h), Language.StringByID(StringId.at)+Language.StringByID(StringId.h), }; - for (int i = 0; i < list.Count; i++) { LogicView.SelectTypeView timeView = new LogicView.SelectTypeView(); @@ -45,22 +62,111 @@ timeView.btnText.X = Application.GetRealWidth(16); timeView.btnLine.X = Application.GetRealWidth(16); timeView.btnLine.Width = Application.GetRealWidth(375 - 16 - 16); - timeView.btnText.Text= list[i]; - timeView.btnClick.Tag= list[i]; + timeView.btnText.Text = list[i]; + timeView.btnClick.Tag = list[i]; + if (str1 == list[i]) + { + string s = ""; + if (value != "0") + { + if (value == "30") + { + s= str2 +value+ Language.StringByID(StringId.s); + } + else + { + s = str2 + value + Language.StringByID(StringId.minute); + } + } + timeView.btnState.Visible = true; + timeView.btnState.Text = s; + } viewLayout.AddChidren(timeView.FLayoutView()); timeView.btnClick.MouseUpEventHandler += (sen, e) => { - Time3 time3 = new Time3(); MainPage.BasePageView.AddChidren(time3); - time3.Show(timeView.btnClick.Tag.ToString(),edit,index); + time3.Show(timeView.btnClick.Tag.ToString(), edit, index); MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; }; } - #endregion - + } + /// <summary> + /// 鑾蜂箣鍓嶇姸鎬佸�� + /// </summary> + /// <param name="index"></param> + /// <param name="action"></param> + public void GetText(int index, Action<string, string, string> action) { + //锛堟棩鍑烘椂锛屾棩钀芥椂锛屾鍗堟椂锛� + string str1 = ""; + //锛堟彁鍓嶏紝寤舵椂锛� + string str2 = ""; + //锛堟彁鍓嶏紝寤舵椂澶氬皯鍒嗛挓锛� + string valuestr = ""; + Input _input = Logic.currlogic.input[index]; + if (_input.condition_type == "1") + { + var dicLists = _input.condition as List<Dictionary<string, string>>; + foreach (var dic in dicLists) + { + string keyValue = dic["key"]; + valuestr = dic["value"]; + + if (keyValue != "timepoint") + { + switch (keyValue) + { + case "before_sunrise": + { + str1 = Language.StringByID(StringId.sunrise) + Language.StringByID(StringId.h); + str2 = Language.StringByID(StringId.advanced); + + } + break; + case "before_sunset": + { + + str1 = Language.StringByID(StringId.sunset) + Language.StringByID(StringId.h); + str2 = Language.StringByID(StringId.advanced); + + } + break; + case "before_noon": + { + str1 = Language.StringByID(StringId.at) + Language.StringByID(StringId.h); + str2 = Language.StringByID(StringId.advanced); + } + break; + case "after_sunrise": + { + str1 = Language.StringByID(StringId.sunrise) + Language.StringByID(StringId.h); + str2 = Language.StringByID(StringId.delayLogic); + } + break; + case "after_sunset": + { + str1 = Language.StringByID(StringId.sunset) + Language.StringByID(StringId.h); + str2 = Language.StringByID(StringId.delayLogic); + } + break; + case "after_noon": + { + str1 = Language.StringByID(StringId.at) + Language.StringByID(StringId.h); + str2 = Language.StringByID(StringId.delayLogic); + } + break; + } + + } + + } + + } + action(str1,str2, valuestr); + } + } } diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/Time3.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/Time3.cs index 2ef72e0..70ee478 100644 --- a/HDL_ON/UI/UI2/3-Intelligence/Automation/Time3.cs +++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/Time3.cs @@ -11,11 +11,11 @@ Tag = "Logic"; } - public void Show(string titelText,bool edit,int index) + public void Show(string titelText, bool edit, int index) { #region 鐣岄潰甯冨眬 LogicView.TopView topView = new LogicView.TopView(); - topView.frameLayout.Height = Application.GetRealHeight(64+20); + topView.frameLayout.Height = Application.GetRealHeight(64 + 20); this.AddChidren(topView.FLayoutView()); Button locationBtn = new Button { @@ -32,7 +32,7 @@ { Height = Application.GetRealHeight(14), Y = Application.GetRealHeight(57), - TextSize =LogicView.TextSize.text10, + TextSize = LogicView.TextSize.text10, TextColor = CSS.CSS_Color.textCancelColor, Text = "骞夸笢骞垮窞甯傜暘绂哄尯鐭虫ゼ闀�", }; @@ -41,17 +41,35 @@ { RemoveFromParent(); }; - topView.topNameBtn.Text=titelText; + topView.topNameBtn.Text = titelText; FrameLayout viewLayout = new FrameLayout { - Y = Application.GetRealHeight(64+20), + Y = Application.GetRealHeight(64 + 20), Width = Application.GetRealWidth(LogicView.TextSize.view375), - Height = Application.GetRealHeight(LogicView.TextSize.view667 - 64-20), + Height = Application.GetRealHeight(LogicView.TextSize.view667 - 64 - 20), BackgroundColor = CSS.CSS_Color.viewMiddle, }; this.AddChidren(viewLayout); + #endregion + //锛堟棩鍑烘椂锛屾棩钀芥椂锛屾鍗堟椂锛� + string str1 = ""; + //锛堟彁鍓嶏紝寤舵椂锛� + string str2 = ""; + //锛堟彁鍓嶏紝寤舵椂澶氬皯鍒嗛挓锛� + string value = ""; + if (edit) + { + new SpeciaTime().GetText(index, (s1, s2, s3) => + { + str1 = s1; + str2 = s2; + value = s3; + }); + + + } var list = new List<string> { Language.StringByID(StringId.punctually), Language.StringByID(StringId.advanced), @@ -67,12 +85,35 @@ timeView.btnLine.X = Application.GetRealWidth(16); timeView.btnLine.Width = Application.GetRealWidth(375 - 16 - 16); timeView.btnText.Text = list[i]; - timeView.btnClick.Tag= list[i]; - if (i==0) { + timeView.btnClick.Tag = list[i]; + if (i == 0) + { timeView.btnNextIcon.Visible = false; } - viewLayout.AddChidren(timeView.FLayoutView()); + //鍒ゆ柇鏄�(鏃ュ嚭,鏃ヨ惤,姝e崍) + if (str1 == titelText) + { + //鍒ゆ柇鏄�(鎻愬墠锛屽欢鏃�) + if (str2 == list[i]) + { + string s = ""; + if (value != "0") + { + if (value == "30") + { + s = value + Language.StringByID(StringId.s); + } + else + { + s =value + Language.StringByID(StringId.minute); + } + } + timeView.btnState.Visible = true; + timeView.btnState.Text = s; + } + } + viewLayout.AddChidren(timeView.FLayoutView()); timeView.btnClick.MouseUpEventHandler += (sen, e) => { string clickText = timeView.btnClick.Tag.ToString(); @@ -84,13 +125,39 @@ } else { - //鎻愬墠/寤舵椂 + //瀹氫箟涓�涓眬閮ㄥ彉閲� + string stateValue = ""; + //鍒ゆ柇鏄�(鏃ュ嚭,鏃ヨ惤,姝e崍) + if (str1 == titelText) + { + //鍒ゆ柇鏄�(鎻愬墠锛屽欢鏃�) + if (str2 == clickText) + { + string s = ""; + if (value != "0") + { + if (value == "30") + { + s = value + " s"; + } + else + { + s = value + " min"; + } + } + //鏇存柊鍊約tateValue + //涓轰簡鏄剧ず涔嬪墠鐨勭姸鎬� + stateValue = s; + } + + } + PublicInterface timePublicInterface = new PublicInterface(); var timelist = timePublicInterface.GetViewList("time"); - timePublicInterface.SingleSelectionShow(this, timelist, clickText, "" - , (value) => + timePublicInterface.SingleSelectionShow(this, timelist, clickText, stateValue + , (value1) => { - string timeValue = value.Split(" ")[0]; + string timeValue = value1.Split(" ")[0]; AddDic(keyValue, timeValue, edit, index); }); @@ -98,7 +165,7 @@ }; } - #endregion + } /// <summary> @@ -111,38 +178,56 @@ { string keyValue = ""; - if (clickText == Language.StringByID(StringId.advanced)) + if (titelText == Language.StringByID(StringId.sunrise) + Language.StringByID(StringId.h)) { - if (titelText == Language.StringByID(StringId.sunrise) + Language.StringByID(StringId.h)) + if (clickText == Language.StringByID(StringId.advanced)) { keyValue = "before_sunrise"; + } - else if (titelText == Language.StringByID(StringId.sunset) + Language.StringByID(StringId.h)) + else if (clickText == Language.StringByID(StringId.delayLogic)) { - keyValue = "before_sunset"; + keyValue = "after_sunrise"; } else { - keyValue = "at_sunrise"; + keyValue = "after_sunrise"; + } + } + else if (titelText == Language.StringByID(StringId.sunset) + Language.StringByID(StringId.h)) + { + + if (clickText == Language.StringByID(StringId.advanced)) + { + keyValue = "before_sunset"; + + } + else if (clickText == Language.StringByID(StringId.delayLogic)) + { + keyValue = "after_sunset"; + } + else + { + keyValue = "after_sunset"; } } else { + if (clickText == Language.StringByID(StringId.advanced)) + { + keyValue = "before_noon"; - if (titelText == Language.StringByID(StringId.sunrise) + Language.StringByID(StringId.h)) - { - keyValue = "after_sunrise"; } - else if (titelText == Language.StringByID(StringId.sunset) + Language.StringByID(StringId.h)) + else if (clickText == Language.StringByID(StringId.delayLogic)) { - keyValue = "鈥渁fter_sunset"; + keyValue = "after_noon"; } else { - keyValue = "at_sunset"; - + keyValue = "after_noon"; } + } return keyValue; } -- Gitblit v1.8.0