From a9d1161b1df96e7ddad566335989a1444e433ef5 Mon Sep 17 00:00:00 2001 From: wjc <1243177876@qq.com> Date: 星期二, 28 三月 2023 11:54:45 +0800 Subject: [PATCH] 2023年03月28日11:52:02 --- HDL_ON/UI/UI2/3-Intelligence/Automation/FunTpye.cs | 156 ++++++++++++++++++++++++++++++--------------------- 1 files changed, 91 insertions(+), 65 deletions(-) diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/FunTpye.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/FunTpye.cs index 2eeecfc..85ff3c3 100644 --- a/HDL_ON/UI/UI2/3-Intelligence/Automation/FunTpye.cs +++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/FunTpye.cs @@ -5,27 +5,17 @@ namespace HDL_ON.UI.UI2.Intelligence.Automation { - public class FunTpye : FrameLayout + public class FunTpye { public FunTpye(string str) { - Tag = "Logic"; - if_type = str; + if_Type = str; } - /// <summary> - /// 榛樿閫変腑鏄埧闂存椂锛氬叏閮ㄥ尯鍩� - /// </summary> - public static Entity.Room selectedRoom = new Entity.Room { roomId ="6688" }; - - /// <summary> - /// 榛樿閫変腑鏄澶囩被鍨嬫椂锛氬叏閮ㄥ姛鑳� - /// </summary> - //public static Entity.Room selectedRoom = new Entity.Room { roomId = "6688" }; /// <summary> /// 琛ㄧず鏄�(鏉′欢/鐩爣) /// </summary> - private string if_type; - + private string if_Type; + Loading loading = new Loading(); /// <summary> /// 璁惧鍔熻兘ui /// </summary> @@ -33,18 +23,21 @@ /// <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 = bottm + Application.GetRealHeight(8); viewLayout.AddChidren(funAllAreaView.FLayoutView()); VerticalScrolViewLayout vv = new VerticalScrolViewLayout { Y = funAllAreaView.frameLayout.Bottom, - Height = Application.GetRealHeight(667 - 64 - 50 * funCount - 8), + Height = Application.GetRealHeight(667 - 64 - 50 * funCount - 8-50), }; viewLayout.AddChidren(vv); if (!MainView.IsGatewayType) { + //濡傛灉鏄痓us缃戝叧閲嶇疆楂樺害; funAllAreaView.frameLayout.Y = Application.GetRealHeight(0); + vv.Y = funAllAreaView.frameLayout.Bottom; } //鎴块棿鐐瑰嚮浜嬩欢 EventHandler<MouseEventArgs> roomClick = (sender, e) => @@ -84,7 +77,7 @@ 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) { @@ -123,11 +116,14 @@ 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) { @@ -138,14 +134,14 @@ }; funAllAreaView.btnText1.MouseUpEventHandler += roomClick; funAllAreaView.btnIcon1.MouseUpEventHandler += roomClick; - //鍔熻兘鐐瑰嚮浜嬩欢 + //鍔熻兘绫诲瀷鐐瑰嚮浜嬩欢 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); + var deviceTypeList = LogicMethod.Current.GetDeviceTypeList(functionList); if (deviceTypeList.Count == 0) { //娌℃湁绫诲瀷鐩存帴杩斿洖鍘�; @@ -223,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) { @@ -239,51 +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) - { - 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; - } - }; - } + loading.Start(); + System.Threading.Tasks.Task.Run(() => + { + 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