From 49248e3bdff0458f8f6f4156d1425bd6f6074e32 Mon Sep 17 00:00:00 2001
From: lss <lsc@hdlchina.com.cn>
Date: 星期二, 17 五月 2022 13:17:21 +0800
Subject: [PATCH] Merge branch 'dev' into lss

---
 HDL_ON/UI/UI2/3-Intelligence/Automation/FunTpye.cs |  122 +++++++++++++++++++++++-----------------
 1 files changed, 69 insertions(+), 53 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..4cf6765 100644
--- a/HDL_ON/UI/UI2/3-Intelligence/Automation/FunTpye.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/FunTpye.cs
@@ -5,44 +5,39 @@
 
 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;
 
+        /// <summary>
+        /// 璁惧鍔熻兘ui
+        /// </summary>
+        /// <param name="viewLayout">鐖舵帶浠�</param>
+        /// <param name="bottm"></param>
+        /// <param name="funCount">鏀寔鍔熻兘绫诲瀷涓暟<琛ㄧず涓婇潰鎵�鍗犻珮搴�></param>
+        public void FunTypeView(FrameLayout viewLayout,int bottm,int funCount) {
             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),
             };
-            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 +46,7 @@
                 {
                     BackgroundColor = CSS.CSS_Color.viewTrans60lucence,
                 };
-                this.AddChidren(fLayout);
+                viewLayout.AddChidren(fLayout);
                 fLayout.MouseUpEventHandler += (sender1, e1) =>
                 {
                     fLayout.RemoveFromParent();
@@ -60,7 +55,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",
@@ -82,7 +77,7 @@
                     Height = Application.GetRealHeight(44 * 5),
                 };
                 var roomList = LogicMethod.CurrLogicMethod.GetGatewayRoomList(Language.StringByID(StringId.allAreas));
-               
+
                 if (roomList.Count > 5)
                 {
                     bghFrameLyout.Height = Application.GetRealHeight(21 + 44 * 5);
@@ -120,13 +115,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.CurrLogicMethod.GetFunctionDeviceList(areaView.btnClick.Tag as Entity.Room, if_type);
 
                         DeviceListView(vv, list);
                     };
-                    if (roomList.Count-1==i) {
+                    if (roomList.Count - 1 == i)
+                    {
                         ///鏀瑰彉鏈�鍚庨偅鏉′竴涓嚎鐨勯鑹�,鐣岄潰鏄剧ず鏁堟灉浣滅敤;
                         areaView.btnLine.BackgroundColor = CSS.CSS_Color.view;
                     }
@@ -134,14 +133,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.CurrLogicMethod.GetFunctionDeviceList(UserInfo.Current.logicselectedRoom, if_type);
                 //鑾峰彇璁惧鍒楄〃鐨勭被鍨嬶紙渚嬪锛氱伅鍏夌被锛岀獥甯樼被銆傘�傘�傦級
                 var deviceTypeList = LogicMethod.CurrLogicMethod.GetDeviceTypeList(functionList);
-                if (deviceTypeList.Count==0) {
+                if (deviceTypeList.Count == 0)
+                {
                     //娌℃湁绫诲瀷鐩存帴杩斿洖鍘�;
                     return;
                 }
@@ -150,7 +151,7 @@
                 {
                     BackgroundColor = CSS.CSS_Color.viewTrans60lucence,
                 };
-                this.AddChidren(fLayout);
+                viewLayout.AddChidren(fLayout);
                 fLayout.MouseUpEventHandler += (sender1, e1) =>
                 {
                     fLayout.RemoveFromParent();
@@ -159,7 +160,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 +182,7 @@
                     Height = Application.GetRealHeight(44 * 5),
                 };
 
-           
+
 
 
                 if (deviceTypeList.Count > 5)
@@ -218,11 +219,13 @@
                     {
                         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);
+                        UserInfo.Current.logicselectedFunction = areaView.btnClick.Tag.ToString();
+                        ///鑾峰彇鍗曚釜绫诲瀷锛堜緥濡傦細鐏厜绫汇�傘�傦級璁惧FunctionType鍒楄〃<绠�绉�:spk鍒楄〃>
+                        var typeFunctionList2 = LogicMethod.CurrLogicMethod.GetDeviceTypeFunctionList(UserInfo.Current.logicselectedFunction);
+                        ///鑾峰彇鍗曚釜鐏厜绫诲瀷锛堜緥濡傦細鐏厜1,鐏厜2銆傘�傦級璁惧鍒楄〃
+                        var lists2 = LogicMethod.CurrLogicMethod.GetShowDeviceList(typeFunctionList2, functionList);
+                        DeviceListView(vv, lists2);
+
                     };
                     if (deviceTypeList.Count - 1 == i)
                     {
@@ -233,18 +236,28 @@
             };
             funAllAreaView.btnText2.MouseUpEventHandler += funClick;
             funAllAreaView.btnIcon2.MouseUpEventHandler += funClick;
-            ///鑾峰彇鏄剧ず璁惧鍒楄〃
-            var deviceList = LogicMethod.CurrLogicMethod.GetFunctionDeviceList(selectedRoom, if_type);
-            DeviceListView(vv, deviceList);
-
+            ///鑾峰彇鎴块棿鏀寔鐨勮澶囧垪琛�
+            var deviceList = LogicMethod.CurrLogicMethod.GetFunctionDeviceList(UserInfo.Current.logicselectedRoom, if_type);
+            ///鑾峰彇鍗曚釜绫诲瀷锛堜緥濡�:鐏厜绫汇�傘�傦級璁惧FunctionType鍒楄〃<绠�绉�:spk鍒楄〃>
+            var typeFunctionList = LogicMethod.CurrLogicMethod.GetDeviceTypeFunctionList(UserInfo.Current.logicselectedFunction);
+            ///鑾峰彇鍗曚釜鐏厜绫诲瀷锛堜緥濡傦細鐏厜1,鐏厜2銆傘�傦級璁惧鍒楄〃
+            var lists = LogicMethod.CurrLogicMethod.GetShowDeviceList(typeFunctionList, deviceList);
+            ///鎴块棿鍚嶇О
+            funAllAreaView.btnText1.Text = UserInfo.Current.logicselectedRoom.roomName;
+            ///鍔熻兘绫诲瀷鍚嶇О<鐏厜绫汇�傘�傘�傘�傘��>
+            funAllAreaView.btnText2.Text = UserInfo.Current.logicselectedFunction;
+            DeviceListView(vv, lists);
         }
+
+
         /// <summary>
         /// 鏄剧ず璁惧鐨刅iew
         /// </summary>
         /// <param name="verticalScrolView">涓婁笅婊戝姩</param>
         /// <param name="deviceList"></param>
-        public void DeviceListView(VerticalScrolViewLayout verticalScrolView, List<HDL_ON.Entity.Function>  deviceList)
+        public void DeviceListView(VerticalScrolViewLayout verticalScrolView, List<HDL_ON.Entity.Function> deviceList)
         {
+
             verticalScrolView.RemoveAll();
             foreach (var dev in deviceList)
             {
@@ -258,19 +271,22 @@
                 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) {
+                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 {
+                    }
+                    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