From d05533c164bcf83fe5ce0bc98e5596aea4a3f0ef Mon Sep 17 00:00:00 2001 From: xm <1271024303@qq.com> Date: 星期二, 23 十一月 2021 17:29:16 +0800 Subject: [PATCH] 2021-11-23-03 --- HDL_ON/UI/UI2/3-Intelligence/Automation/AddInputType.cs | 553 +++++++++++++++++++++++++++--------------------------- 1 files changed, 277 insertions(+), 276 deletions(-) diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/AddInputType.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/AddInputType.cs index 6fa0d75..3d72d3f 100644 --- a/HDL_ON/UI/UI2/3-Intelligence/Automation/AddInputType.cs +++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/AddInputType.cs @@ -3,225 +3,226 @@ using Shared; namespace HDL_ON.UI.UI2.Intelligence.Automation { - public class AddInputType : FrameLayout + public class AddInputType : FrameLayout + { + public AddInputType() { - public AddInputType() + Tag = "Logic"; + } + public void Show() + { + + LogicView.TopView topView = new LogicView.TopView(); + this.AddChidren(topView.FLayoutView()); + topView.clickBackBtn.MouseUpEventHandler += (e, sen) => + { + RemoveFromParent(); + }; + topView.topNameBtn.TextID = StringId.selectionCondition; + + FrameLayout viewLayout = new FrameLayout + { + Y = Application.GetRealHeight(64), + Width = Application.GetRealWidth(LogicView.TextSize.view375), + Height = Application.GetRealHeight(LogicView.TextSize.view667 - 64), + BackgroundColor = CSS.CSS_Color.viewMiddle, + }; + this.AddChidren(viewLayout); + #region 鏃堕棿 鍔熻兘 瀹ゅ鍙樺寲 + //鏃堕棿 + LogicView.SelectTypeView timeView = new LogicView.SelectTypeView(); + timeView.btnText.TextID = StringId.time; + timeView.btnIcon.UnSelectedImagePath = "LogicIcon/time.png"; + if (MainView.IsGatewayType) + { + viewLayout.AddChidren(timeView.FLayoutView()); + } + + //鍔熻兘 + LogicView.SelectTypeView functionView = new LogicView.SelectTypeView(); + functionView.frameLayout.Y = timeView.frameLayout.Bottom; + functionView.btnText.TextID = StringId.funLogic; + functionView.btnIcon.UnSelectedImagePath = "LogicIcon/functionicon.png"; + viewLayout.AddChidren(functionView.FLayoutView()); + if (!MainView.IsGatewayType) + { + functionView.frameLayout.Y = Application.GetRealHeight(0); + } + + //鍦烘櫙 + LogicView.SelectTypeView sceneView = new LogicView.SelectTypeView(); + sceneView.frameLayout.Y = functionView.frameLayout.Bottom; + sceneView.btnText.TextID = StringId.Scenes; + sceneView.btnIcon.UnSelectedImagePath = "LogicIcon/scene.png"; + viewLayout.AddChidren(sceneView.FLayoutView()); + + //瀹ゅ鍙樺寲 + LogicView.SelectTypeView shiwaiView = new LogicView.SelectTypeView(); + shiwaiView.frameLayout.Y = sceneView.frameLayout.Bottom; + shiwaiView.btnText.TextID = StringId.shiwaibainhua; + shiwaiView.btnIcon.UnSelectedImagePath = "LogicIcon/changesinoutdoor.png"; + + if (MainView.IsGatewayType) + { + viewLayout.AddChidren(shiwaiView.FLayoutView()); + } + + //鍦扮悊鍥存爮 + LogicView.SelectTypeView likiadaodaView = new LogicView.SelectTypeView(); + likiadaodaView.frameLayout.Y = shiwaiView.frameLayout.Bottom; + likiadaodaView.btnText.TextID = StringId.likiadaoda; + likiadaodaView.btnIcon.UnSelectedImagePath = "LogicIcon/location.png"; + + if (MainView.IsGatewayType) + { + viewLayout.AddChidren(likiadaodaView.FLayoutView()); + } + + #endregion + + #region 鎵�鏈夌偣鍑讳簨浠� + //鏃堕棿 + timeView.btnClick.MouseUpEventHandler += (sen, e) => + { + TimeTpye timeTpye = new TimeTpye(); + MainPage.BasePageView.AddChidren(timeTpye); + timeTpye.Show(); + MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; + + }; + //鍔熻兘 + functionView.btnClick.MouseUpEventHandler += (sen, e) => + { + FunTpye funTpye = new FunTpye(); + MainPage.BasePageView.AddChidren(funTpye); + funTpye.Show(LogicMethod.condition_if); + MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; + }; + //鍦烘櫙鐐瑰嚮浜嬩欢 + sceneView.btnClick.MouseUpEventHandler += (sen, e) => + { + SceneMethod(); + }; + //瀹ゅ鍙樺寲 + shiwaiView.btnClick.MouseUpEventHandler += (sen, e) => + { + //if (string.IsNullOrEmpty(Entity.DB_ResidenceData.Instance.CurrentRegion.homeAddress))//.longitude == 0 && Entity.DB_ResidenceData.Instance.CurrentRegion.latitude == 0) + //{ + // new PublicAssmebly().TipMsg(StringId.tip, StringId.GatewayLocationInformationIsNotConfigured); + // return; + //} + Weather weather = new Weather(); + MainPage.BasePageView.AddChidren(weather); + weather.Show(); + MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; + }; + + //鍦扮悊鍥存爮 + likiadaodaView.btnClick.MouseUpEventHandler += (sen, e) => + { + LocationView(this, false); + }; + #endregion + + } + + /// <summary> + /// 娣诲姞鍦烘櫙 + /// </summary> + public void SceneMethod() + { + var sceneList = LogicMethod.CurrLogicMethod.GetSceneList(); + List<string> nameList = new List<string>(); + for (int i = 0; i < sceneList.Count; i++) + { + var scene = sceneList[i]; + nameList.Add(scene.name); + } + PublicInterface publicInterface = new PublicInterface(); + publicInterface.FrameOrVv(this, nameList, new List<string> { }, StringId.addSceneLogic, (index) => + { + var sceneSelecetd = sceneList[index]; + Input input = new Input(); + input.sid = sceneSelecetd.sid; + input.condition_type = "10"; + Dictionary<string, string> dic = new Dictionary<string, string>(); + LogicMethod.CurrLogicMethod.dictionary(dic, "key", "scene"); + LogicMethod.CurrLogicMethod.dictionary(dic, "comparator", "="); + LogicMethod.CurrLogicMethod.dictionary(dic, "data_type", "string"); + LogicMethod.CurrLogicMethod.dictionary(dic, "value", "on"); + input.condition.Add(dic); + AddCondition(input); + LogicMethod.CurrLogicMethod.RemoveAllView(); + AddLogic addLogic = new AddLogic(); + MainPage.BasePageView.AddChidren(addLogic); + addLogic.Show(); + MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; + }); + } + + /// <summary> + /// 鍦扮悊鍥存爮View + /// </summary> + /// <param name="flMain">Fl main.</param> + /// <param name="edit">If set to <c>true</c> edit.</param> + public void LocationView(FrameLayout flMain, bool edit) + { + string strname = ""; + ///閫氳繃璋冭瘯瀹濈粰鐨勭粡绾害<鏍囧噯GPS> + double latitude = Entity.DB_ResidenceData.Instance.CurrentRegion.latitude;//绾害 + double longitude = Entity.DB_ResidenceData.Instance.CurrentRegion.longitude;//缁忓害 + //WGS84鍧愭爣杞珮寰峰潗鏍� + LogicMethod.CurrLogicMethod.WGS84_to_GCJ02(Entity.DB_ResidenceData.Instance.CurrentRegion.longitude, Entity.DB_ResidenceData.Instance.CurrentRegion.latitude, out longitude, out latitude); + int r = 500;//鍗婂緞 + if (edit) + { + for (var i = 0; i < Logic.currlogic.input.Count; i++) { - Tag = "Logic"; + var input = Logic.currlogic.input[i]; + if (input.condition_type != "8") + { + continue; + } + if (input.condition[0]["value"] == "arrive") + { + //鍒拌揪鏌愬湴 + strname = Language.StringByID(StringId.daoda); + } + else + { + //绂诲紑鍦扮偣 + strname = Language.StringByID(StringId.likai); + } + //鍐嶄竴娆$紪杈戝湴鐞嗗洿鏍�<鎺т欢鏆傛椂涓嶆敮鎸佹樉绀鸿褰曚笂涓�娆$殑鐘舵��> + //if (!string.IsNullOrEmpty(input.geo_fence.latitude) && !string.IsNullOrEmpty(input.geo_fence.longitude)) + //{ + // //绾害 + // var latitude1 = Convert.ToDouble(input.geo_fence.latitude); + // //缁忓害 + // var longitude1 = Convert.ToDouble(input.geo_fence.longitude); + // //鍗婂緞 + // r = int.Parse(input.geo_fence.radius); + // //WGS84鍧愭爣杞珮寰峰潗鏍� + // LogicMethod.CurrLogicMethod.WGS84_to_GCJ02(longitude1, latitude1, out longitude, out latitude); + //} } - public void Show() - { + } + PublicInterface publicInterface = new PublicInterface(); + var list = publicInterface.GetViewList("鍦扮悊鍥存爮"); + publicInterface.SingleSelectionShow(flMain, list, Language.StringByID(StringId.likiadaoda), strname, (str) => + { - LogicView.TopView topView = new LogicView.TopView(); - this.AddChidren(topView.FLayoutView()); - topView.clickBackBtn.MouseUpEventHandler += (e, sen) => - { - RemoveFromParent(); - }; - topView.topNameBtn.TextID = StringId.selectionCondition; - - FrameLayout viewLayout = new FrameLayout - { - Y = Application.GetRealHeight(64), - Width = Application.GetRealWidth(LogicView.TextSize.view375), - Height = Application.GetRealHeight(LogicView.TextSize.view667 - 64), - BackgroundColor = CSS.CSS_Color.viewMiddle, - }; - this.AddChidren(viewLayout); - #region 鏃堕棿 鍔熻兘 瀹ゅ鍙樺寲 - //鏃堕棿 - LogicView.SelectTypeView timeView = new LogicView.SelectTypeView(); - timeView.btnText.TextID = StringId.time; - timeView.btnIcon.UnSelectedImagePath = "LogicIcon/time.png"; - if (MainView.IsGatewayType) - { - viewLayout.AddChidren(timeView.FLayoutView()); - } - - //鍔熻兘 - LogicView.SelectTypeView functionView = new LogicView.SelectTypeView(); - functionView.frameLayout.Y = timeView.frameLayout.Bottom; - functionView.btnText.TextID = StringId.funLogic; - functionView.btnIcon.UnSelectedImagePath = "LogicIcon/functionicon.png"; - viewLayout.AddChidren(functionView.FLayoutView()); - if (!MainView.IsGatewayType) - { - functionView.frameLayout.Y = Application.GetRealHeight(0); - } - - //鍦烘櫙 - LogicView.SelectTypeView sceneView = new LogicView.SelectTypeView(); - sceneView.frameLayout.Y = functionView.frameLayout.Bottom; - sceneView.btnText.TextID = StringId.Scenes; - sceneView.btnIcon.UnSelectedImagePath = "LogicIcon/scene.png"; - viewLayout.AddChidren(sceneView.FLayoutView()); - - //瀹ゅ鍙樺寲 - LogicView.SelectTypeView shiwaiView = new LogicView.SelectTypeView(); - shiwaiView.frameLayout.Y = sceneView.frameLayout.Bottom; - shiwaiView.btnText.TextID = StringId.shiwaibainhua; - shiwaiView.btnIcon.UnSelectedImagePath = "LogicIcon/changesinoutdoor.png"; - - if (MainView.IsGatewayType) - { - viewLayout.AddChidren(shiwaiView.FLayoutView()); - } - - //鍦扮悊鍥存爮 - LogicView.SelectTypeView likiadaodaView = new LogicView.SelectTypeView(); - likiadaodaView.frameLayout.Y = shiwaiView.frameLayout.Bottom; - likiadaodaView.btnText.TextID = StringId.likiadaoda; - likiadaodaView.btnIcon.UnSelectedImagePath = "LogicIcon/location.png"; - - if (MainView.IsGatewayType) - { - viewLayout.AddChidren(likiadaodaView.FLayoutView()); - } - - #endregion - - #region 鎵�鏈夌偣鍑讳簨浠� - //鏃堕棿 - timeView.btnClick.MouseUpEventHandler += (sen, e) => - { - TimeTpye timeTpye = new TimeTpye(); - MainPage.BasePageView.AddChidren(timeTpye); - timeTpye.Show(); - MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; - - }; - //鍔熻兘 - functionView.btnClick.MouseUpEventHandler += (sen, e) => - { - FunTpye funTpye = new FunTpye(); - MainPage.BasePageView.AddChidren(funTpye); - funTpye.Show(LogicMethod.condition_if); - MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; - }; - //鍦烘櫙鐐瑰嚮浜嬩欢 - sceneView.btnClick.MouseUpEventHandler += (sen, e) => - { - SceneMethod(); - }; - //瀹ゅ鍙樺寲 - shiwaiView.btnClick.MouseUpEventHandler += (sen, e) => - { - //if (string.IsNullOrEmpty(Entity.DB_ResidenceData.Instance.CurrentRegion.homeAddress))//.longitude == 0 && Entity.DB_ResidenceData.Instance.CurrentRegion.latitude == 0) - //{ - // new PublicAssmebly().TipMsg(StringId.tip, StringId.GatewayLocationInformationIsNotConfigured); - // return; - //} - Weather weather = new Weather(); - MainPage.BasePageView.AddChidren(weather); - weather.Show(); - MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; - }; - - //鍦扮悊鍥存爮 - likiadaodaView.btnClick.MouseUpEventHandler += (sen, e) => - { - LocationView(this, false); - }; - #endregion - - } - - /// <summary> - /// 娣诲姞鍦烘櫙 - /// </summary> - public void SceneMethod() - { - var sceneList = LogicMethod.CurrLogicMethod.GetSceneList(); - List<string> nameList = new List<string>(); - for (int i = 0; i < sceneList.Count; i++) - { - var scene = sceneList[i]; - nameList.Add(scene.name); - } - PublicInterface publicInterface = new PublicInterface(); - publicInterface.FrameOrVv(this, nameList, new List<string> { }, StringId.addSceneLogic, (index) => - { - var sceneSelecetd = sceneList[index]; - Input input = new Input(); - input.sid = sceneSelecetd.sid; - input.condition_type = "10"; - Dictionary<string, string> dic = new Dictionary<string, string>(); - LogicMethod.CurrLogicMethod.dictionary(dic, "key", "scene"); - LogicMethod.CurrLogicMethod.dictionary(dic, "comparator", "="); - LogicMethod.CurrLogicMethod.dictionary(dic, "data_type", "string"); - LogicMethod.CurrLogicMethod.dictionary(dic, "value", "on"); - input.condition.Add(dic); - AddCondition(input); - LogicMethod.CurrLogicMethod.RemoveAllView(); - AddLogic addLogic = new AddLogic(); - MainPage.BasePageView.AddChidren(addLogic); - addLogic.Show(); - MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; - }); - } - - /// <summary> - /// 鍦扮悊鍥存爮View - /// </summary> - /// <param name="flMain">Fl main.</param> - /// <param name="edit">If set to <c>true</c> edit.</param> - public void LocationView(FrameLayout flMain, bool edit) - { - string strname = ""; - ///閫氳繃璋冭瘯瀹濈粰鐨勭粡绾害<鏍囧噯GPS> - double latitude = Entity.DB_ResidenceData.Instance.CurrentRegion.latitude;//绾害 - double longitude = Entity.DB_ResidenceData.Instance.CurrentRegion.longitude;//缁忓害 - //WGS84鍧愭爣杞珮寰峰潗鏍� - LogicMethod.CurrLogicMethod.WGS84_to_GCJ02(Entity.DB_ResidenceData.Instance.CurrentRegion.longitude, Entity.DB_ResidenceData.Instance.CurrentRegion.latitude, out longitude, out latitude); - int r = 500;//鍗婂緞 - if (edit) - { - for (var i = 0; i < Logic.currlogic.input.Count; i++) - { - var input = Logic.currlogic.input[i]; - if (input.condition_type != "8") - { - continue; - } - if (input.condition[0]["value"] == "arrive") - { - //鍒拌揪鏌愬湴 - strname = Language.StringByID(StringId.daoda); - } - else - { - //绂诲紑鍦扮偣 - strname = Language.StringByID(StringId.likai); - } - if (!string.IsNullOrEmpty(input.geo_fence.latitude) && !string.IsNullOrEmpty(input.geo_fence.longitude)) - { - //绾害 - var latitude1 = Convert.ToDouble(input.geo_fence.latitude); - //缁忓害 - var longitude1 = Convert.ToDouble(input.geo_fence.longitude); - //鍗婂緞 - r = int.Parse(input.geo_fence.radius); - //WGS84鍧愭爣杞珮寰峰潗鏍� - LogicMethod.CurrLogicMethod.WGS84_to_GCJ02(longitude1, latitude1, out longitude, out latitude); - } - } - } - PublicInterface publicInterface = new PublicInterface(); - var list = publicInterface.GetViewList("鍦扮悊鍥存爮"); - publicInterface.SingleSelectionShow(flMain, list, Language.StringByID(StringId.likiadaoda), strname, (str) => - { - - string valueStr = "arrive"; - if (str == Language.StringByID(StringId.daoda)) - { - //鍒拌揪鏌愬湴 - valueStr = "arrive"; - } - else - { - //绂诲紑 - valueStr = "leave"; - } + string valueStr = "arrive"; + if (str == Language.StringByID(StringId.daoda)) + { + //鍒拌揪鏌愬湴 + valueStr = "arrive"; + } + else + { + //绂诲紑 + valueStr = "leave"; + } #if __Android__ //鐢宠瀹氫綅鏉冮檺 @@ -274,71 +275,71 @@ }); #endif #if __IOS__ - //璋冪敤鏂规硶锛岃烦杞〉闈� - GDMapKit.Show((mLatitude, mLongitude, mRadius, name) => - { - //楂樺痉鍧愭爣杞琖GS84鍧愭爣(楂樺痉鍦板浘璁剧疆GPS) - double out_lng, out_lat; - LogicMethod.CurrLogicMethod.GCJ02_to_WGS84(mLongitude, mLatitude, out out_lng, out out_lat); + //璋冪敤鏂规硶锛岃烦杞〉闈� + GDMapKit.Show((mLatitude, mLongitude, mRadius, name) => + { + //楂樺痉鍧愭爣杞琖GS84鍧愭爣(楂樺痉鍦板浘璁剧疆GPS) + double out_lng, out_lat; + LogicMethod.CurrLogicMethod.GCJ02_to_WGS84(mLongitude, mLatitude, out out_lng, out out_lat); - Input input = new Input(); - input.sid = LogicMethod.CurrLogicMethod.NewSid(); - input.condition_type = "8"; - Dictionary<string, string> dic = new Dictionary<string, string>(); - LogicMethod.CurrLogicMethod.dictionary(dic, "key", "direction"); - LogicMethod.CurrLogicMethod.dictionary(dic, "comparator", "="); - LogicMethod.CurrLogicMethod.dictionary(dic, "data_type", "string"); - LogicMethod.CurrLogicMethod.dictionary(dic, "value", "arrive"); - input.condition.Add(dic); - //绾害 - input.geo_fence.latitude = out_lat.ToString(); - //缁忓害 - input.geo_fence.longitude = out_lng.ToString(); - //鍗婂緞<鍗曚綅绫�> - input.geo_fence.radius = mRadius.ToString(); - AddCondition(input); - LogicMethod.CurrLogicMethod.RemoveAllView(); - AddLogic addLogic = new AddLogic(); - MainPage.BasePageView.AddChidren(addLogic); - addLogic.Show(); - MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; - }, strname, Language.StringByID(StringId.save), true, latitude, longitude, r); + Input input = new Input(); + input.sid = LogicMethod.CurrLogicMethod.NewSid(); + input.condition_type = "8"; + Dictionary<string, string> dic = new Dictionary<string, string>(); + LogicMethod.CurrLogicMethod.dictionary(dic, "key", "direction"); + LogicMethod.CurrLogicMethod.dictionary(dic, "comparator", "="); + LogicMethod.CurrLogicMethod.dictionary(dic, "data_type", "string"); + LogicMethod.CurrLogicMethod.dictionary(dic, "value", "arrive"); + input.condition.Add(dic); + //绾害 + input.geo_fence.latitude = out_lat.ToString(); + //缁忓害 + input.geo_fence.longitude = out_lng.ToString(); + //鍗婂緞<鍗曚綅绫�> + input.geo_fence.radius = mRadius.ToString(); + AddCondition(input); + LogicMethod.CurrLogicMethod.RemoveAllView(); + AddLogic addLogic = new AddLogic(); + MainPage.BasePageView.AddChidren(addLogic); + addLogic.Show(); + MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; + }, strname, Language.StringByID(StringId.save), true, latitude, longitude, r); #endif }); - } - - /// <summary> - /// 娣诲姞鏉′欢 - /// </summary> - /// <param name="input"></param> - private void AddCondition(Input input) - { - ///璁板綍绱㈠紩鍊� - int index = -1; - for (var i = 0; i < Logic.currlogic.input.Count; i++) - { - var condition_type = Logic.currlogic.input[i].condition_type; - if (condition_type == "10" || condition_type == "8") - { - //鏀寔鍦烘櫙=10锛屽湴鐞嗗洿鏍�=8 - ///鎵惧埌鏍囪绱㈠紩锛岄��鍑哄惊鐜綋 - index = i; - break; - } - } - if (index != -1) - { - //绉婚櫎鏃ф暟鎹� - Logic.currlogic.input.RemoveAt(index); - //鏂版暟鎹彃鍏ユ棫鏁版嵁鐨勪綅缃� - Logic.currlogic.input.Insert(index, input); - } - else - { - Logic.currlogic.input.Add(input); - } - } } + + /// <summary> + /// 娣诲姞鏉′欢 + /// </summary> + /// <param name="input"></param> + private void AddCondition(Input input) + { + ///璁板綍绱㈠紩鍊� + int index = -1; + for (var i = 0; i < Logic.currlogic.input.Count; i++) + { + var condition_type = Logic.currlogic.input[i].condition_type; + if (condition_type == "10" || condition_type == "8") + { + //鏀寔鍦烘櫙=10锛屽湴鐞嗗洿鏍�=8 + ///鎵惧埌鏍囪绱㈠紩锛岄��鍑哄惊鐜綋 + index = i; + break; + } + } + if (index != -1) + { + //绉婚櫎鏃ф暟鎹� + Logic.currlogic.input.RemoveAt(index); + //鏂版暟鎹彃鍏ユ棫鏁版嵁鐨勪綅缃� + Logic.currlogic.input.Insert(index, input); + } + else + { + Logic.currlogic.input.Add(input); + } + } + } } -- Gitblit v1.8.0