From f9181a9c8125136f597add7c30cb2ff508d54ba7 Mon Sep 17 00:00:00 2001 From: mac <user@users-MacBook-Pro.local> Date: 星期四, 25 七月 2024 17:34:32 +0800 Subject: [PATCH] 2024年07月25日17:33:40 --- HDL_ON/UI/UI2/3-Intelligence/Automation/FunTpye.cs | 197 +++++++++++++++++++++++++++++-------------------- 1 files changed, 117 insertions(+), 80 deletions(-) diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/FunTpye.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/FunTpye.cs index addf896..85ff3c3 100644 --- a/HDL_ON/UI/UI2/3-Intelligence/Automation/FunTpye.cs +++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/FunTpye.cs @@ -5,44 +5,40 @@ namespace HDL_ON.UI.UI2.Intelligence.Automation { - public class FunTpye : FrameLayout + public class FunTpye { - public FunTpye() + public FunTpye(string str) { - Tag = "Logic"; + if_Type = str; } - /// <summary> - /// 榛樿閫変腑鏄埧闂存椂锛氬叏閮ㄥ尯鍩� - /// </summary> - private Entity.Room selectedRoom = new Entity.Room { roomId ="6688" }; /// <summary> /// 琛ㄧず鏄�(鏉′欢/鐩爣) /// </summary> - private string if_type; - public void Show(string str) - { - - if_type = str; - this.BackgroundColor = CSS.CSS_Color.viewMiddle; - LogicView.TopView topView = new LogicView.TopView(); - this.AddChidren(topView.FLayoutView()); - topView.clickBackBtn.MouseUpEventHandler += (e, sen) => - { - RemoveFromParent(); - }; - topView.topNameBtn.TextID = StringId.selectedFunCondition; - + private string if_Type; + Loading loading = new Loading(); + /// <summary> + /// 璁惧鍔熻兘ui + /// </summary> + /// <param name="viewLayout">鐖舵帶浠�</param> + /// <param name="bottm"></param> + /// <param name="funCount">鏀寔鍔熻兘绫诲瀷涓暟<琛ㄧず涓婇潰鎵�鍗犻珮搴�></param> + public void FunTypeView(FrameLayout viewLayout,int bottm,int funCount) { + viewLayout.AddChidren(loading); LogicView.FunAllAreaView funAllAreaView = new LogicView.FunAllAreaView(); - funAllAreaView.frameLayout.Y = topView.frameLayout.Bottom; - this.AddChidren(funAllAreaView.FLayoutView()); - + funAllAreaView.frameLayout.Y = bottm + Application.GetRealHeight(8); + viewLayout.AddChidren(funAllAreaView.FLayoutView()); VerticalScrolViewLayout vv = new VerticalScrolViewLayout { - Y = Application.GetRealHeight(117), - Height = Application.GetRealHeight(667 - 117), + Y = funAllAreaView.frameLayout.Bottom, + Height = Application.GetRealHeight(667 - 64 - 50 * funCount - 8-50), }; - this.AddChidren(vv); - + viewLayout.AddChidren(vv); + if (!MainView.IsGatewayType) + { + //濡傛灉鏄痓us缃戝叧閲嶇疆楂樺害; + funAllAreaView.frameLayout.Y = Application.GetRealHeight(0); + vv.Y = funAllAreaView.frameLayout.Bottom; + } //鎴块棿鐐瑰嚮浜嬩欢 EventHandler<MouseEventArgs> roomClick = (sender, e) => { @@ -51,7 +47,7 @@ { BackgroundColor = CSS.CSS_Color.viewTrans60lucence, }; - this.AddChidren(fLayout); + viewLayout.AddChidren(fLayout); fLayout.MouseUpEventHandler += (sender1, e1) => { fLayout.RemoveFromParent(); @@ -60,7 +56,7 @@ FrameLayout bghFrameLyout = new FrameLayout { X = Application.GetRealWidth(10), - Y = Application.GetRealHeight(103), + Y = Application.GetRealHeight(103 + 50 * funCount + 8-64), Width = Application.GetRealWidth(160), Height = Application.GetRealHeight(21 + 44), //BackgroundImagePath = "LogicIcon/bjicon.png", @@ -81,8 +77,8 @@ Width = Application.GetRealWidth(144), Height = Application.GetRealHeight(44 * 5), }; - var roomList = LogicMethod.CurrLogicMethod.GetGatewayRoomList(Language.StringByID(StringId.allAreas)); - + var roomList = LogicMethod.Current.GetGatewayRoomList(Language.StringByID(StringId.allAreas)); + if (roomList.Count > 5) { bghFrameLyout.Height = Application.GetRealHeight(21 + 44 * 5); @@ -120,13 +116,17 @@ funAllAreaView.btnText1.Text = (areaView.btnClick.Tag as Entity.Room).roomName; ///鍒囨崲鎴块棿榛樿鍔熻兘绫诲瀷鍏ㄩ儴; funAllAreaView.btnText2.Text = Language.StringByID(StringId.allFun); - selectedRoom = (areaView.btnClick.Tag as Entity.Room); + //selectedRoom = (areaView.btnClick.Tag as Entity.Room); + UserInfo.Current.logicselectedRoom = (areaView.btnClick.Tag as Entity.Room); + ///鍒囨崲鎴块棿榛樿:鍏ㄩ儴鍔熻兘 + UserInfo.Current.logicselectedFunction = Language.StringByID(StringId.allFun); ///鑾峰彇鏄剧ず璁惧鍒楄〃 - var list = LogicMethod.CurrLogicMethod.GetFunctionDeviceList(areaView.btnClick.Tag as Entity.Room,if_type); + var list = LogicMethod.Current.GetFunctionDeviceList(areaView.btnClick.Tag as Entity.Room, if_Type); - DeviceListView(vv, list); + this.LoadingDeviceListView(vv, list); }; - if (roomList.Count-1==i) { + if (roomList.Count - 1 == i) + { ///鏀瑰彉鏈�鍚庨偅鏉′竴涓嚎鐨勯鑹�,鐣岄潰鏄剧ず鏁堟灉浣滅敤; areaView.btnLine.BackgroundColor = CSS.CSS_Color.view; } @@ -134,14 +134,16 @@ }; funAllAreaView.btnText1.MouseUpEventHandler += roomClick; funAllAreaView.btnIcon1.MouseUpEventHandler += roomClick; - //鍔熻兘鐐瑰嚮浜嬩欢 - EventHandler<MouseEventArgs> funClick = (sender3, e3) =>{ + //鍔熻兘绫诲瀷鐐瑰嚮浜嬩欢 + EventHandler<MouseEventArgs> funClick = (sender3, e3) => + { //鑾峰彇鏈�缁堟樉绀哄垪琛� - var functionList = LogicMethod.CurrLogicMethod.GetFunctionDeviceList(selectedRoom, if_type); + var functionList = LogicMethod.Current.GetFunctionDeviceList(UserInfo.Current.logicselectedRoom, if_Type); //鑾峰彇璁惧鍒楄〃鐨勭被鍨嬶紙渚嬪锛氱伅鍏夌被锛岀獥甯樼被銆傘�傘�傦級 - var deviceTypeList = LogicMethod.CurrLogicMethod.GetDeviceTypeList(functionList); - if (deviceTypeList.Count==0) { + var deviceTypeList = LogicMethod.Current.GetDeviceTypeList(functionList); + if (deviceTypeList.Count == 0) + { //娌℃湁绫诲瀷鐩存帴杩斿洖鍘�; return; } @@ -150,7 +152,7 @@ { BackgroundColor = CSS.CSS_Color.viewTrans60lucence, }; - this.AddChidren(fLayout); + viewLayout.AddChidren(fLayout); fLayout.MouseUpEventHandler += (sender1, e1) => { fLayout.RemoveFromParent(); @@ -159,7 +161,7 @@ FrameLayout bghFrameLyout = new FrameLayout { X = Application.GetRealWidth(118), - Y = Application.GetRealHeight(103), + Y = Application.GetRealHeight(103 + 50 * funCount + 8-64), Width = Application.GetRealWidth(160), Height = Application.GetRealHeight(21 + 44), //BackgroundImagePath = "LogicIcon/bjicon5.png", @@ -181,7 +183,7 @@ Height = Application.GetRealHeight(44 * 5), }; - + if (deviceTypeList.Count > 5) @@ -217,12 +219,15 @@ areaView.btnClick.MouseUpEventHandler += (sender, e2) => { fLayout.RemoveFromParent(); - funAllAreaView.btnText2.Text = areaView.btnClick.Tag.ToString(); - ///鑾峰彇鍗曚釜绫诲瀷锛堜緥濡傦細鐏厜绫汇�傘�傦級璁惧FunctionType鍒楄〃 - var typeFunctionList = LogicMethod.CurrLogicMethod.GetDeviceTypeFunctionList(areaView.btnClick.Tag.ToString()); - ///鑾峰彇鍗曚釜鐏厜绫诲瀷锛堜緥濡傦細鐏厜1,鐏厜2銆傘�傦級鏄剧ず璁惧鍒楄〃 - var lists = LogicMethod.CurrLogicMethod.GetShowDeviceList(typeFunctionList, functionList); - DeviceListView(vv, lists); + string clickText = areaView.btnClick.Tag.ToString(); + funAllAreaView.btnText2.Text = clickText; + UserInfo.Current.logicselectedFunction = clickText; + ///鑾峰彇璁惧鍗曚釜澶х被spk鍒楄〃锛堜緥濡�:鐏厜绫�,绌鸿皟绫�...锛� + var typeFunctionList2 = LogicMethod.Current.GetDeviceTypeFunctionList(clickText); + ///鑾峰彇璁惧鍗曚釜灏忕被鍒楄〃锛堜緥濡傦細鐏厜1,鐏厜2...锛� + var lists2 = LogicMethod.Current.GetShowDeviceList(typeFunctionList2, functionList); + this.LoadingDeviceListView(vv, lists2); + }; if (deviceTypeList.Count - 1 == i) { @@ -233,46 +238,78 @@ }; funAllAreaView.btnText2.MouseUpEventHandler += funClick; funAllAreaView.btnIcon2.MouseUpEventHandler += funClick; - ///鑾峰彇鏄剧ず璁惧鍒楄〃 - var deviceList = LogicMethod.CurrLogicMethod.GetFunctionDeviceList(selectedRoom, if_type); - DeviceListView(vv, deviceList); - + ///鑾峰彇鎴块棿鏀寔鐨勮澶囧垪琛� + var deviceList = LogicMethod.Current.GetFunctionDeviceList(UserInfo.Current.logicselectedRoom, if_Type); + ///鑾峰彇璁惧鍗曚釜澶х被spk鍒楄〃锛堜緥濡�:鐏厜绫�,绌鸿皟绫�...锛� + var typeFunctionList = LogicMethod.Current.GetDeviceTypeFunctionList(UserInfo.Current.logicselectedFunction); + ///鑾峰彇璁惧鍗曚釜灏忕被鍒楄〃锛堜緥濡傦細鐏厜1,鐏厜2...锛� + var lists = LogicMethod.Current.GetShowDeviceList(typeFunctionList, deviceList); + if (string.IsNullOrEmpty(UserInfo.Current.logicselectedRoom.roomName)) + { + UserInfo.Current.logicselectedRoom.roomName = Language.StringByID(StringId.allAreas); + } + ///鎴块棿鍚嶇О + funAllAreaView.btnText1.Text = UserInfo.Current.logicselectedRoom.roomName; + if (string.IsNullOrEmpty(UserInfo.Current.logicselectedFunction)) + { + UserInfo.Current.logicselectedFunction = Language.StringByID(StringId.allFun); + } + ///璁惧澶х被鍚嶇О<鐏厜绫汇�傘�傘�傘�傘��> + funAllAreaView.btnText2.Text = UserInfo.Current.logicselectedFunction; + this.LoadingDeviceListView(vv, lists); + } /// <summary> /// 鏄剧ず璁惧鐨刅iew /// </summary> /// <param name="verticalScrolView">涓婁笅婊戝姩</param> /// <param name="deviceList"></param> - public void DeviceListView(VerticalScrolViewLayout verticalScrolView, List<HDL_ON.Entity.Function> deviceList) + private void LoadingDeviceListView(VerticalScrolViewLayout verticalScrolView, List<HDL_ON.Entity.Function> deviceList) { - verticalScrolView.RemoveAll(); - foreach (var dev in deviceList) + + loading.Start(); + System.Threading.Tasks.Task.Run(() => { - LogicView.SelectTypeView funView = new LogicView.SelectTypeView(); - funView.btnText.Visible = false; - funView.btnDeviceName.Visible = true; - funView.btnRoomName.Visible = true; - funView.btnLine.X = Application.GetRealWidth(16); - funView.btnLine.Width = Application.GetRealWidth(343); - verticalScrolView.AddChidren(funView.FLayoutView()); - funView.btnIcon.UnSelectedImagePath = LogicMethod.CurrLogicMethod.GetIconPath(dev.spk); - funView.btnDeviceName.Text = dev.name; - funView.btnRoomName.Text = dev.GetRoomListName(); - funView.btnClick.MouseUpEventHandler += (sen,e) => { - if (if_type == LogicMethod.condition_if) { - ConditionDeviceFunList conditionDeviceFunList = new ConditionDeviceFunList(); - MainPage.BasePageView.AddChidren(conditionDeviceFunList); - conditionDeviceFunList.Show(dev, 0, false); - MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; - } else { - TargetDeviceFunList targetDeviceFunList = new TargetDeviceFunList(); - MainPage.BasePageView.AddChidren(targetDeviceFunList); - targetDeviceFunList.Show(dev, 0, false); - MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; + Application.RunOnMainThread(() => + { + loading.Hide(); + verticalScrolView.RemoveAll(); + foreach (var dev in deviceList) + { + LogicView.SelectTypeView funView = new LogicView.SelectTypeView(); + funView.btnText.Visible = false; + funView.btnDeviceName.Visible = true; + funView.btnRoomName.Visible = true; + funView.btnLine.X = Application.GetRealWidth(16); + funView.btnLine.Width = Application.GetRealWidth(343); + verticalScrolView.AddChidren(funView.FLayoutView()); + funView.btnIcon.UnSelectedImagePath = LogicMethod.Current.GetDeviceIconPath(dev); + funView.btnDeviceName.Text = dev.name; + funView.btnRoomName.Text = dev.GetRoomListName(); + + funView.btnClick.MouseUpEventHandler += (sen, e) => + { + if (if_Type == LogicMethod.condition_if) + { + ConditionDeviceFunList conditionDeviceFunList = new ConditionDeviceFunList(); + MainPage.BasePageView.AddChidren(conditionDeviceFunList); + conditionDeviceFunList.Show(dev, 0, false); + MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; + } + else + { + TargetDeviceFunList targetDeviceFunList = new TargetDeviceFunList(); + MainPage.BasePageView.AddChidren(targetDeviceFunList); + targetDeviceFunList.Show(dev, 0, false); + MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; + } + + }; } - }; - } + }); + + }); } } -- Gitblit v1.8.0