From eda3fb873e59544ff36301b51e05aef64f87b0f9 Mon Sep 17 00:00:00 2001
From: wei <kaede@kaededeMacBook-Air.local>
Date: 星期五, 27 八月 2021 13:21:21 +0800
Subject: [PATCH] Merge branch 'newBranch1' of http://172.16.1.23:6688/r/~wxr/HDL_APP_Project into newBranch1

---
 HDL_ON/UI/UI2/3-Intelligence/Automation/FunTpye.cs |  280 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 280 insertions(+), 0 deletions(-)

diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/FunTpye.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/FunTpye.cs
new file mode 100644
index 0000000..addf896
--- /dev/null
+++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/FunTpye.cs
@@ -0,0 +1,280 @@
+锘縰sing System;
+using HDL_ON.UI.UI2.Intelligence.Automation.LogicView;
+using Shared;
+using System.Collections.Generic;
+
+namespace HDL_ON.UI.UI2.Intelligence.Automation
+{
+    public class FunTpye : FrameLayout
+    {
+        public FunTpye()
+        {
+            Tag = "Logic";
+        }
+        /// <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;
+
+            LogicView.FunAllAreaView funAllAreaView = new LogicView.FunAllAreaView();
+            funAllAreaView.frameLayout.Y = topView.frameLayout.Bottom;
+            this.AddChidren(funAllAreaView.FLayoutView());
+
+            VerticalScrolViewLayout vv = new VerticalScrolViewLayout
+            {
+                Y = Application.GetRealHeight(117),
+                Height = Application.GetRealHeight(667 - 117),
+            };
+            this.AddChidren(vv);
+
+            //鎴块棿鐐瑰嚮浜嬩欢
+            EventHandler<MouseEventArgs> roomClick = (sender, e) =>
+            {
+                #region 鍖哄煙寮规鐣岄潰
+                FrameLayout fLayout = new FrameLayout
+                {
+                    BackgroundColor = CSS.CSS_Color.viewTrans60lucence,
+                };
+                this.AddChidren(fLayout);
+                fLayout.MouseUpEventHandler += (sender1, e1) =>
+                {
+                    fLayout.RemoveFromParent();
+                };
+
+                FrameLayout bghFrameLyout = new FrameLayout
+                {
+                    X = Application.GetRealWidth(10),
+                    Y = Application.GetRealHeight(103),
+                    Width = Application.GetRealWidth(160),
+                    Height = Application.GetRealHeight(21 + 44),
+                    //BackgroundImagePath = "LogicIcon/bjicon.png",
+                };
+                fLayout.AddChidren(bghFrameLyout);
+
+                FrameLayout areaBgh = new FrameLayout
+                {
+                    X = Application.GetRealWidth(8),
+                    Y = Application.GetRealHeight(14),
+                    Width = Application.GetRealWidth(144),
+                    Height = Application.GetRealHeight(44),
+                };
+                VerticalScrolViewLayout vvBgh = new VerticalScrolViewLayout
+                {
+                    X = Application.GetRealWidth(8),
+                    Y = Application.GetRealHeight(14),
+                    Width = Application.GetRealWidth(144),
+                    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);
+                    bghFrameLyout.AddChidren(vvBgh);
+                    bghFrameLyout.BackgroundImagePath = "LogicIcon/bjicon5.png";
+                }
+                else
+                {
+
+                    bghFrameLyout.AddChidren(areaBgh);
+                    bghFrameLyout.Height = Application.GetRealHeight(21 + 44 * roomList.Count);
+                    areaBgh.Height = Application.GetRealHeight(44 * roomList.Count);
+                    bghFrameLyout.BackgroundImagePath = $"LogicIcon/bjicon{roomList.Count}.png";
+                }
+                #endregion
+
+                for (int i = 0; i < roomList.Count; i++)
+                {
+                    var room = roomList[i];
+                    LogicView.AreaView areaView = new LogicView.AreaView();
+                    if (roomList.Count > 5)
+                    {
+                        vvBgh.AddChidren(areaView.FLayoutView());
+                    }
+                    else
+                    {
+                        areaView.frameLayout.Y = Application.GetRealHeight(i * 44);
+                        areaBgh.AddChidren(areaView.FLayoutView());
+                    }
+                    areaView.btnRoomName.Text = room.roomName;
+                    areaView.btnClick.Tag = room;
+                    areaView.btnClick.MouseUpEventHandler += (sender2, e2) =>
+                    {
+                        fLayout.RemoveFromParent();
+                        funAllAreaView.btnText1.Text = (areaView.btnClick.Tag as Entity.Room).roomName;
+                        ///鍒囨崲鎴块棿榛樿鍔熻兘绫诲瀷鍏ㄩ儴;
+                        funAllAreaView.btnText2.Text = Language.StringByID(StringId.allFun);
+                        selectedRoom = (areaView.btnClick.Tag as Entity.Room);
+                        ///鑾峰彇鏄剧ず璁惧鍒楄〃
+                        var list = LogicMethod.CurrLogicMethod.GetFunctionDeviceList(areaView.btnClick.Tag as Entity.Room,if_type);
+
+                        DeviceListView(vv, list);
+                    };
+                    if (roomList.Count-1==i) {
+                        ///鏀瑰彉鏈�鍚庨偅鏉′竴涓嚎鐨勯鑹�,鐣岄潰鏄剧ず鏁堟灉浣滅敤;
+                        areaView.btnLine.BackgroundColor = CSS.CSS_Color.view;
+                    }
+                }
+            };
+            funAllAreaView.btnText1.MouseUpEventHandler += roomClick;
+            funAllAreaView.btnIcon1.MouseUpEventHandler += roomClick;
+            //鍔熻兘鐐瑰嚮浜嬩欢
+            EventHandler<MouseEventArgs> funClick = (sender3, e3) =>{
+
+                //鑾峰彇鏈�缁堟樉绀哄垪琛�
+                var functionList = LogicMethod.CurrLogicMethod.GetFunctionDeviceList(selectedRoom, if_type);
+                //鑾峰彇璁惧鍒楄〃鐨勭被鍨嬶紙渚嬪锛氱伅鍏夌被锛岀獥甯樼被銆傘�傘�傦級
+                var deviceTypeList = LogicMethod.CurrLogicMethod.GetDeviceTypeList(functionList);
+                if (deviceTypeList.Count==0) {
+                    //娌℃湁绫诲瀷鐩存帴杩斿洖鍘�;
+                    return;
+                }
+                #region 鍖哄煙寮规鐣岄潰
+                FrameLayout fLayout = new FrameLayout
+                {
+                    BackgroundColor = CSS.CSS_Color.viewTrans60lucence,
+                };
+                this.AddChidren(fLayout);
+                fLayout.MouseUpEventHandler += (sender1, e1) =>
+                {
+                    fLayout.RemoveFromParent();
+                };
+
+                FrameLayout bghFrameLyout = new FrameLayout
+                {
+                    X = Application.GetRealWidth(118),
+                    Y = Application.GetRealHeight(103),
+                    Width = Application.GetRealWidth(160),
+                    Height = Application.GetRealHeight(21 + 44),
+                    //BackgroundImagePath = "LogicIcon/bjicon5.png",
+                };
+                fLayout.AddChidren(bghFrameLyout);
+
+                FrameLayout areaBgh = new FrameLayout
+                {
+                    X = Application.GetRealWidth(8),
+                    Y = Application.GetRealHeight(14),
+                    Width = Application.GetRealWidth(144),
+                    Height = Application.GetRealHeight(44),
+                };
+                VerticalScrolViewLayout vvBgh = new VerticalScrolViewLayout
+                {
+                    X = Application.GetRealWidth(8),
+                    Y = Application.GetRealHeight(14),
+                    Width = Application.GetRealWidth(144),
+                    Height = Application.GetRealHeight(44 * 5),
+                };
+
+           
+
+
+                if (deviceTypeList.Count > 5)
+                {
+                    bghFrameLyout.Height = Application.GetRealHeight(21 + 44 * 5);
+                    bghFrameLyout.AddChidren(vvBgh);
+                    bghFrameLyout.BackgroundImagePath = "LogicIcon/bjicon5.png";
+                }
+                else
+                {
+                    bghFrameLyout.AddChidren(areaBgh);
+                    bghFrameLyout.Height = Application.GetRealHeight(21 + 44 * deviceTypeList.Count);
+                    areaBgh.Height = Application.GetRealHeight(44 * deviceTypeList.Count);
+                    bghFrameLyout.BackgroundImagePath = $"LogicIcon/bjicon{deviceTypeList.Count}.png";
+                }
+                #endregion
+
+                for (int i = 0; i < deviceTypeList.Count; i++)
+                {
+                    var deviceTypeName = deviceTypeList[i];
+                    LogicView.AreaView areaView = new LogicView.AreaView();
+                    if (deviceTypeList.Count > 5)
+                    {
+                        vvBgh.AddChidren(areaView.FLayoutView());
+                    }
+                    else
+                    {
+                        areaView.frameLayout.Y = Application.GetRealHeight(i * 44);
+                        areaBgh.AddChidren(areaView.FLayoutView());
+                    }
+                    areaView.btnRoomName.Text = deviceTypeName;
+                    areaView.btnClick.Tag = deviceTypeName;
+                    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);
+                    };
+                    if (deviceTypeList.Count - 1 == i)
+                    {
+                        ///鏀瑰彉鏈�鍚庨偅鏉′竴涓嚎鐨勯鑹�,鐣岄潰鏄剧ず鏁堟灉浣滅敤;
+                        areaView.btnLine.BackgroundColor = CSS.CSS_Color.view;
+                    }
+                }
+            };
+            funAllAreaView.btnText2.MouseUpEventHandler += funClick;
+            funAllAreaView.btnIcon2.MouseUpEventHandler += funClick;
+            ///鑾峰彇鏄剧ず璁惧鍒楄〃
+            var deviceList = LogicMethod.CurrLogicMethod.GetFunctionDeviceList(selectedRoom, if_type);
+            DeviceListView(vv, deviceList);
+
+        }
+        /// <summary>
+        /// 鏄剧ず璁惧鐨刅iew
+        /// </summary>
+        /// <param name="verticalScrolView">涓婁笅婊戝姩</param>
+        /// <param name="deviceList"></param>
+        public void DeviceListView(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;
+                    }
+                   
+                };
+            }
+        }
+    }
+
+
+}

--
Gitblit v1.8.0