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/4-PersonalCenter/PirDevice/PirMain.cs |  392 ++++++++++++++++++-------------------------------------
 1 files changed, 130 insertions(+), 262 deletions(-)

diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/PirMain.cs b/HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/PirMain.cs
index 8f38cfb..38b713e 100644
--- a/HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/PirMain.cs
+++ b/HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/PirMain.cs
@@ -1,5 +1,6 @@
 锘縰sing System;
 using System.Collections.Generic;
+using System.Text;
 using HDL_ON.Entity;
 using HDL_ON.UI.UI2.Intelligence.Automation.LogicView;
 using Shared;
@@ -7,28 +8,39 @@
 {
     public class PirMain : FrameLayout
     {
+        /// <summary>
+        /// 鏋勯�犲嚱鏁�
+        /// </summary>
         public PirMain()
         {
+            /// 鏍囪鐣岄潰
             Tag = "PirMain";
         }
         /// <summary>
         /// 鍥炶皟
         /// </summary>
-        public Action BackAction;
+        public static Action BackAction;
+        /// <summary>
+        /// 娣诲姞鍥炬爣Btn
+        /// </summary>
+        Button addDevice;
         /// <summary>
         /// 涓存椂鍌ㄥ瓨璁惧绫诲瀷鍒楄〃
         /// </summary>
         List<DeviceType> DeviceTypeList = new List<DeviceType>();
         public void Show()
         {
+            #region 鐣岄潰甯冨眬
             this.BackgroundColor = CSS.CSS_Color.viewMiddle;
             PirDevice.View.TopView topView = new View.TopView();
             topView.topNameBtn.TextID = StringId.hongwaiyaokong;
             topView.topIconBtn.Visible = true;
             this.AddChidren(topView.FLayoutView());
-            topView.clickBackBtn.MouseUpEventHandler += (sender, e) => {
-                BackAction();
-                this.RemoveFromParent(); };
+            topView.clickBackBtn.MouseUpEventHandler += (sender, e) =>
+            {
+               
+                RemoveFromParent();
+            };
 
             FrameLayout middFLayout = new FrameLayout();
             middFLayout.Y = Application.GetRealHeight(64);
@@ -38,27 +50,28 @@
             VerticalRefreshLayout vv = new VerticalRefreshLayout();
             middFLayout.AddChidren(vv);
             //鍔犲彿鍥炬爣
-            Button addDevice = new Button
+            addDevice = new Button
             {
                 Y = Application.GetRealHeight(480),
                 X = Application.GetRealWidth(293),
                 Width = Application.GetRealWidth(82),
                 Height = Application.GetRealWidth(84),
                 UnSelectedImagePath = "PirIcon/add.png",
+                Visible=false,
+
             };
+            middFLayout.AddChidren(addDevice);
+         
+            #endregion
 
-            if (Pir.currPir.FunctioList.Count < 10)
-            {
-                //10涓仴鎺у櫒灏变細闅愯棌娣诲姞鍥炬爣
-                middFLayout.AddChidren(addDevice);
-            }
-
+            #region 鐣岄潰鐐瑰嚮浜嬩欢
+            ///涓嬫媺鍒锋柊鐣岄潰浜嬩欢
             vv.BeginHeaderRefreshingAction += () =>
                 {
                     ////鍏抽棴鍒锋柊View锛�
                     vv.EndHeaderRefreshing();
 
-                    Method.GetControlList(this, () =>
+                    PirMethod.GetControlList(this, () =>
                     {
                         Application.RunOnMainThread(() =>
                         {
@@ -68,135 +81,67 @@
                     }, Pir.currPir);
 
                 };
-            UIView(vv);
-
+            ///璁剧疆鍥炬爣鐐瑰嚮浜嬩欢
             topView.clickSetBtn.MouseUpEventHandler += (sender, e) =>
             {
 
                 SetPir setPir = new SetPir();
                 MainPage.BasePageView.AddChidren(setPir);
-                setPir.Show(() =>
-                {
-                    BackAction();
-                    ////鍒锋柊鐣岄潰
-                    UIView(vv);
-                });
+                setPir.Show();
                 MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
             };
+            ///娣诲姞閬ユ帶鍣ㄥ浘鏍囩偣鍑讳簨浠�
             addDevice.MouseUpEventHandler += (sender, e) =>
             {
-                FrameLayout frame = new FrameLayout
+                //杩涙潵涓嶅厑璁稿乏婊�
+                MainPage.BasePageView.ScrollEnabled = false;
+                View.Buttons buttons = new View.Buttons();
+                buttons.AddFrameLayout(this, (if_value, view) =>
                 {
-                    BackgroundColor = CSS.CSS_Color.viewTrans60lucence,
-                };
-                this.AddChidren(frame);
-                FrameLayout controlFl = new FrameLayout();
-                controlFl.Y = Application.GetRealHeight(319);
-                controlFl.X = Application.GetRealWidth(16);
-                controlFl.Width = Application.GetRealWidth(343);
-                controlFl.Height = Application.GetRealHeight(328);
-                controlFl.BackgroundColor = CSS.CSS_Color.view;
-                controlFl.Radius = (uint)Application.GetRealHeight(12);
-                frame.AddChidren(controlFl);
-                ///娣诲姞閬ユ帶鍣�
-                Button text3Btn = new Button
-                {
-                    Y = Application.GetRealHeight(12),
-                    X = Application.GetRealWidth(16),
-                    Width = Application.GetRealWidth(343 - 16 * 2),
-                    Height = Application.GetRealHeight(20),
-                    TextSize = TextSize.text14,
-                    TextColor = CSS.CSS_Color.textConfirmColor,
-                    TextAlignment = TextAlignment.Center,
-                    TextID = StringId.tianjiayaokongqi,
-                    IsBold = true,
-                };
-                controlFl.AddChidren(text3Btn);
-                frame.MouseUpEventHandler += (sender1, e1) =>
-                {
-
-                    frame.RemoveFromParent();
-                };
-                int line = 0;
-                for (int i = 1, j = 0; i <= 7; i++, j++)
-                {
-                    var currpirdeviceFLayout = new FrameLayout
+                    //鍏抽棴鍏佽宸︽粦
+                    MainPage.BasePageView.ScrollEnabled = true;
+                    //1=绌鸿皟;2=鐢佃;3=椋庢墖;4=鏈洪《鐩�;5=DVD/EVD/VCD;6=鎶曞奖浠�;7=鑷畾涔�;
+                    if (if_value == 7)
                     {
-                        Width = Application.GetRealWidth(80),
-                        Height = Application.GetRealWidth(80),
-                        X = Application.GetRealWidth(26 + (80 + 25) * j),
-                        Y = Application.GetRealHeight(52 + (80 + 12) * line),
-
-                    };
-                    controlFl.AddChidren(currpirdeviceFLayout);
-                    var deviceIconBtn = new Button
-                    {
-                        Y = Application.GetRealHeight(8),
-                        X = Application.GetRealWidth(20),
-                        Width = Application.GetRealWidth(40),
-                        Height = Application.GetRealWidth(40),
-                        UnSelectedImagePath = "PirIcon/Infraredtreasure.png",
-                    };
-                    currpirdeviceFLayout.AddChidren(deviceIconBtn);
-                    var iconNameBtn = new Button
-                    {
-                        Y = deviceIconBtn.Bottom + Application.GetRealHeight(8),
-                        Width = Application.GetRealWidth(80),
-                        Height = Application.GetRealHeight(17),
-                        TextSize = TextSize.text12,
-                        TextColor = CSS.CSS_Color.TextualColor,
-                        TextAlignment = TextAlignment.Center,
-                    };
-                    currpirdeviceFLayout.AddChidren(iconNameBtn);
-                    var clickBtn = new Button { Tag = i };
-                    currpirdeviceFLayout.AddChidren(clickBtn);
-                    if (i % 3 == 0)
-                    {
-                        //婊′竴琛岄噸缃甹=0鍊�;
-                        j = -1;
-                        line += 1;
-                    }
-                    GetIconAndText(i, deviceIconBtn, iconNameBtn);
-                    clickBtn.MouseUpEventHandler += (sender2, e2) =>
-                    {
-                       
-                        //1=绌鸿皟;2=鐢佃;3=椋庢墖;4=鏈洪《鐩�;5=DVD/EVD/VCD;6=鎶曞奖浠�;7=鑷畾涔�;
-                        int if_value = int.Parse(clickBtn.Tag.ToString());
-                        if (if_value == 7)
+                        PirMethod method = new PirMethod();
+                        method.AddControl(this, (control) =>
                         {
-                            Method method = new Method();
-                            method.AddControl(this, (control) =>
+                            //鎴愬姛鍚庣Щ闄�;
+                            view.RemoveFromParent();
+                            AddButton addButton = new AddButton();
+                            MainPage.BasePageView.AddChidren(addButton);
+                            addButton.Show(control);
+                            MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+                        });
+                    }
+                    else
+                    {
+                        if (if_value == 6)
+                        {
+                            new TipPopView().FlashingBox(Language.StringByID(StringId.zanshibuzhichigaigongneng));
+                            return;
+                        }
+                        if (DeviceTypeList.Count == 0)
+                        {
+                            GetDeviceTypeList(true, () =>
                             {
-                                //鎴愬姛鍚庣Щ闄�;
-                                frame.RemoveFromParent();
-                                AddButton addButton = new AddButton();
-                                MainPage.BasePageView.AddChidren(addButton);
-                                addButton.Show(control);
-                                MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+                                DeviceTypeViewClick(if_value);
+                                    //鑾峰彇鎴愬姛涔嬪悗绉婚櫎
+                                    view.RemoveFromParent();
+
                             });
                         }
                         else
                         {
-                            //杩涙潵閮借绉婚櫎;
-                            frame.RemoveFromParent();
-                            if (DeviceTypeList.Count == 0)
-                            {
-                                GetDeviceTypeList(true, () =>
-                                 {
-                                     DeviceTypeViewClick(if_value);
-
-                                 });
-                            }
-                            else
-                            {
-                                DeviceTypeViewClick(if_value);
-                            }
+                            DeviceTypeViewClick(if_value);
+                            view.RemoveFromParent();
                         }
-                    };
-                }
-
+                    }
+                }, 7);
             };
-
+            #endregion
+            ///鍒濆鍖栫晫闈�
+            UIView(vv);
         }
         /// <summary>
         /// 鍔犺浇UI鐣岄潰
@@ -204,6 +149,12 @@
         /// <param name="vv">涓婁笅婊戞帶浠�</param>
         private void UIView(VerticalRefreshLayout vv)
         {
+            if (Pir.currPir.FunctioList.Count < 10)
+            {
+                //10涓仴鎺у櫒灏变細闅愯棌娣诲姞鍥炬爣
+                // middFLayout.AddChidren(addDevice);
+                addDevice.Visible = true;
+            }
             vv.RemoveAll();
             #region 绾㈠瀹濆浘鏍� 鐗堟湰鍙� 鍚嶇О 鐘舵��
             FrameLayout fLayout = new FrameLayout
@@ -241,13 +192,12 @@
             for (int j = 0; j < Pir.currPir.FunctioList.Count; j++)
             {
                 var control = Pir.currPir.FunctioList[j];
-
                 View.ControlView controlView = new View.ControlView();
                 controlView.Show(pirView.devfLayout, j);
                 //閬ユ帶鍣ㄥ悕绉�
                 controlView.nameBtn.Text = control.name;
                 //閬ユ帶鍣ㄥ瓨鏀惧尯鍩�
-                controlView.areaBtn.Text = Intelligence.Automation.LogicMethod.GetGetRoomName(control);
+                controlView.areaBtn.Text = Intelligence.Automation.LogicMethod.CurrLogicMethod.GetGetRoomName(control);
                 //鏍囪閬ユ帶鍣�
                 controlView.delBtn.Tag = control;
                 //鍒犻櫎鐐瑰嚮浜嬩欢
@@ -258,7 +208,7 @@
                     TipPopView tipPopView = new TipPopView();
                     tipPopView.TipBox(StringId.tip, text, (dialog) =>
                     {
-                        Method.ThreadSend(new Control { deviceId=control.deviceId}, (responsePackNew) =>
+                        PirMethod.ThreadSend(new Control { deviceId=control.deviceId}, (responsePackNew) =>
                         {
                             dialog.Close();
                             var function = Pir.currPir.FunctioList.Find((c) => c.sid == Function.sid);
@@ -267,7 +217,12 @@
                                 Pir.currPir.FunctioList.Remove(Function);
                             }
                             UIView(vv);
-
+                            if (Pir.currPir.FunctioList.Count < 10)
+                            {
+                                //10涓仴鎺у櫒灏变細闅愯棌娣诲姞鍥炬爣
+                                // middFLayout.AddChidren(addDevice);
+                                addDevice.Visible = true;
+                            }
                         }, "鍒犻櫎", "dialog", null, dialog);
 
                     }, () => { }, false);
@@ -281,7 +236,7 @@
                     {
                         //鍥炶皟鏇存柊鍚嶅瓧/鍖哄煙
                         controlView.nameBtn.Text = device.name;
-                        controlView.areaBtn.Text = Intelligence.Automation.LogicMethod.GetGetRoomName(device);
+                        controlView.areaBtn.Text = Intelligence.Automation.LogicMethod.CurrLogicMethod.GetGetRoomName(device);
 
                     });
                     MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
@@ -299,10 +254,10 @@
         /// <summary>
         /// 璁惧杩涘叆涓嬩竴绾ф柟娉�
         /// </summary>
-        /// <param name="if_value"></param>
+        /// <param name="if_value">鎺т欢绱㈠紩鍊�</param>
         private void DeviceTypeViewClick(int if_value)
         {
-            var strings = GetTypeString(if_value).Split('-');
+            var strings = View.Buttons.GetTypeString(if_value).Split('-');
             var jobDeviceType = DeviceTypeList.Find((c) => c.deviceType == strings[0]);
             if (jobDeviceType == null)
             {
@@ -317,152 +272,48 @@
                 });
 
             });
-
-        }
-        /// <summary>
-        /// 鑾峰彇璁惧绫诲瀷str
-        /// </summary>
-        /// <param name="index">绱㈠紩鍊�</param>
-        private string GetTypeString(int index)
-        {
-            string type = "";
-            switch (index)
-            {
-                case 1:
-                    {
-                        //绌鸿皟
-                        type = "ac-" + SPK.AcIr;
-                    }
-                    break;
-                case 2:
-                    {
-                        //鐢佃
-                        type = "tv-" + SPK.TvIr;
-                    }
-                    break;
-                case 3:
-                    {
-                        //椋庢墖
-                        // type = "fan-" + SPK.ElectricFan;
-                    }
-                    break;
-                case 4:
-                    {
-                        //鏈洪《鐩�
-                        //  type = "set_top_box-" + SPK.ElectricTV;
-                    }
-                    break;
-                case 5:
-                    {
-                        //褰辩鏈�
-                        // type = "dvd-" + SPK.ElectricTV;
-                    }
-                    break;
-                case 6:
-                    {
-                        //鎶曞奖浠�
-                        //  type = "projector-" + SPK.ElectricTV;
-                    }
-                    break;
-
-
-            }
-            return type;
-        }
-        /// <summary>
-        /// 璁剧疆鍥剧墖鍜屽娉�
-        /// </summary>
-        /// <param name="index">绱㈠紩鍊�</param>
-        /// <param name="deviceIconBtn">鍥炬爣Btn</param>
-        /// <param name="deviceNameBtn">璁惧澶囨敞Btn</param>
-        private void GetIconAndText(int index, Button deviceIconBtn, Button deviceNameBtn)
-        {
-            string iconPath = "";
-            int deviceNameIndex = 0;
-            switch (index)
-            {
-                case 1:
-                    {
-                        iconPath = "PirIcon/air.png";
-                        deviceNameIndex = StringId.kongtiao;
-                    }
-                    break;
-                case 2:
-                    {
-                        iconPath = "PirIcon/tv.png";
-                        deviceNameIndex = StringId.dianshi;
-                    }
-                    break;
-                case 3:
-                    {
-                        iconPath = "PirIcon/fan.png";
-                        deviceNameIndex = StringId.fengshan;
-                    }
-                    break;
-                case 4:
-                    {
-                        iconPath = "PirIcon/stb.png";
-                        deviceNameIndex = StringId.jidinghe;
-                    }
-                    break;
-                case 5:
-                    {
-                        iconPath = "PirIcon/dvd.png";
-                        deviceNameIndex = StringId.dvd;
-                    }
-                    break;
-                case 6:
-                    {
-                        iconPath = "PirIcon/projector.png";
-                        deviceNameIndex = StringId.touyingyi;
-                    }
-                    break;
-                case 7:
-                    {
-                        iconPath = "PirIcon/custom.png";
-                        deviceNameIndex = StringId.zidingyi;
-                    }
-                    break;
-
-            }
-            deviceIconBtn.UnSelectedImagePath = iconPath;
-            deviceNameBtn.TextID = deviceNameIndex;
         }
         /// <summary>
         /// 璇诲彇绾㈠璁惧绫诲瀷鍒楄〃
         /// </summary>
-        /// <param name="tag">鏍囪瘑瑕佷笉瑕佹彁绀猴紙true=鎻愮ず锛�</param>
+        /// <param name="tag">琛ㄧず瑕佷笉瑕佹彁绀洪敊璇俊鎭紙true=鎻愮ず锛�</param>
         /// <param name="action">鍥炶皟鍑芥暟</param>
         public void GetDeviceTypeList(bool tag, Action action)
         {
             PirSend.GetDeviceTypesList(this, (responsePackNew) =>
             {
-
                 if (responsePackNew != null && responsePackNew.Code == "0" && responsePackNew.Data.ToString() != "")
                 {
                     //娓呯┖涔嬪墠鏁版嵁
                     DeviceTypeList.Clear();
-                    var jArray = Newtonsoft.Json.Linq.JArray.Parse(responsePackNew.Data.ToString());
-                    for (int a = 0; a < jArray.Count; a++)
+                    try
                     {
-                        var jay = jArray[a];
-                        var str = Newtonsoft.Json.JsonConvert.SerializeObject(jay);
-                        var objDeviceType = Newtonsoft.Json.JsonConvert.DeserializeObject<DeviceType>(str);
-                        if (objDeviceType != null)
+                        var jArray = Newtonsoft.Json.Linq.JArray.Parse(responsePackNew.Data.ToString());
+                        for (int a = 0; a < jArray.Count; a++)
                         {
-                            if (null == DeviceTypeList.Find((c) => c.id == objDeviceType.id))
+                            var jay = jArray[a];
+                            var str = Newtonsoft.Json.JsonConvert.SerializeObject(jay);
+                            var objDeviceType = Newtonsoft.Json.JsonConvert.DeserializeObject<DeviceType>(str);
+                            if (objDeviceType != null)
                             {
-                                DeviceTypeList.Add(objDeviceType);
+                                if (null == DeviceTypeList.Find((c) => c.id == objDeviceType.id))
+                                {
+                                    DeviceTypeList.Add(objDeviceType);
+                                }
                             }
                         }
+                        action();
                     }
-                    action();
+                    catch
+                    {
+
+                    }
                 }
                 else
                 {
                     if (tag)
                     {
-                        Method method = new Method();
+                        PirMethod method = new PirMethod();
                         method.ErrorShow(responsePackNew, "");
                     }
                 }
@@ -481,30 +332,47 @@
                 {
                     //娓呯┖涔嬪墠鏁版嵁
                     brandList.Clear();
-                    var jArray = Newtonsoft.Json.Linq.JArray.Parse(responsePackNew.Data.ToString());
-                    for (int a = 0; a < jArray.Count; a++)
+                    try
                     {
-                        var jay = jArray[a];
-                        var str = Newtonsoft.Json.JsonConvert.SerializeObject(jay);
-                        var brand = Newtonsoft.Json.JsonConvert.DeserializeObject<Brand>(str);
-                        if (brand != null)
+                        var jArray = Newtonsoft.Json.Linq.JArray.Parse(responsePackNew.Data.ToString());
+                        for (int a = 0; a < jArray.Count; a++)
                         {
-                            if (null == brandList.Find((c) => c.id == brand.id))
+                            var jay = jArray[a];
+                            var str = Newtonsoft.Json.JsonConvert.SerializeObject(jay);
+                            var brand = Newtonsoft.Json.JsonConvert.DeserializeObject<Brand>(str);
+                            if (brand != null)
                             {
-                                brandList.Add(brand);
+                                if (null == brandList.Find((c) => c.id == brand.id))
+                                {
+                                    brandList.Add(brand);
+                                }
                             }
                         }
                     }
-                    actionBrand(brandList);
+                    catch { }
+                    finally
+                    {
+                        Application.RunOnMainThread(() =>
+                        {
+                            actionBrand(brandList);
+                        });
+                    }
                 }
                 else
                 {
-                    Method method = new Method();
+                    PirMethod method = new PirMethod();
                     method.ErrorShow(responsePackNew, "");
                 }
             }, id, "鍝佺墝鍒楄〃");
         }
-
+        /// <summary>
+        /// 绉婚櫎鐣岄潰
+        /// </summary>
+        public override void RemoveFromParent()
+        {
+            BackAction();
+            base.RemoveFromParent();
+        }
 
     }
 

--
Gitblit v1.8.0