From 6d73bf6e816570291865674bef8bce8972e4de3f Mon Sep 17 00:00:00 2001
From: xm <1271024303@qq.com>
Date: 星期三, 01 十二月 2021 16:32:57 +0800
Subject: [PATCH] 2021-12-01-01

---
 HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/AddButton.cs |  119 ++++++++++++++++++++++++++++++++++++++---------------------
 1 files changed, 77 insertions(+), 42 deletions(-)

diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/AddButton.cs b/HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/AddButton.cs
index 4f2aec5..859f2aa 100644
--- a/HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/AddButton.cs
+++ b/HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/AddButton.cs
@@ -8,16 +8,21 @@
     {
         public AddButton()
         {
-            Tag = "Pir";
+            Tag = "PirView";
         }
         public void Show(Control control)
         {
+
             #region 鐣岄潰甯冨眬
             this.BackgroundColor = CSS.CSS_Color.viewMiddle;
             PirDevice.View.TopView topView = new View.TopView();
             topView.topNameBtn.TextID = StringId.tianjiayaokongqi;
             this.AddChidren(topView.FLayoutView());
-            topView.clickBackBtn.MouseUpEventHandler += (sender, e) => { this.RemoveFromParent(); };
+            topView.clickBackBtn.MouseUpEventHandler += (sender, e) =>
+            {
+
+                RemoveFromParent();
+            };
 
             FrameLayout editfLayout = new FrameLayout
             {
@@ -108,13 +113,20 @@
             ///涓嬩竴姝ョ殑鐐瑰嚮浜嬩欢
             saveBtn.MouseUpEventHandler += (sender, e) =>
             {
+                if (control.status.Count > 29)
+                {
+                    ///瓒呭嚭30涓孩澶栧疂鍐呭瓨婊′簡浼氬嚭鐜板紓甯�
+                    new PirMethod().ErrorShow(null, "娣诲姞鎸夐挳瓒呭嚭30涓�");
+                    return;
+                }
+
                 var texts = editText.Text.Trim();
                 if (string.IsNullOrEmpty(editText.Text))
                 {
                     //鍚嶇О涓嶈兘涓虹┖
                     return;
                 }
-                var butName = Pir.BuottonList.Find((c) => c.value == texts);
+                var butName = control.status.Find((c) => c.value == texts);
                 if (butName != null)
                 {
                     //鍚嶇О宸茬粡瀛樺湪
@@ -122,58 +134,81 @@
                 }
                 //new寮曞鐣岄潰
                 View.ReplicationView replication = new View.ReplicationView();
-                replication.Show();
+                replication.Show(this);
 
                 //娣诲姞鏁版嵁瀵硅薄
-                ButtonObj buttonObj = new ButtonObj();
-                buttonObj.Key = "key" + Pir.BuottonList.Count.ToString();
+                Entity.AttributesStatus buttonObj = new Entity.AttributesStatus();
+                string keyName = GetKeyName(control.status);
+                buttonObj.key = keyName;
                 buttonObj.value = texts;
 
-                PirSend.CodeStudy(buttonObj, (responsePackNew) =>
+                PirSend.CodeStudy(control, buttonObj, (mqttdate) =>
                 {
-                    ///杩欓噷锛氱洃鍚琈TTP鎺ㄩ�佷笅鏉ヤ富棰橈紝鎵嶇煡閬撴槸鍚︽坊鍔犳垚鍔�
-                    ///
-                    //浼戠湢鏄负鏄剧ず寮曞鐣岄潰
-                      System.Threading.Thread.Sleep(5000);
-                    //绉婚櫎娣诲姞鎸夐挳寮曞鐣岄潰
-                    replication.RemView();
-                    //if (responsePackNew != null && responsePackNew.Code == "0" && responsePackNew.Data.ToString() != "")
-                    //{
-                    var buttonName = Pir.BuottonList.Find((c) => c.value == buttonObj.value);
-                    if (buttonName == null)
+                    if (mqttdate != null)
                     {
-                        //娣诲姞鏁版嵁
-                        Pir.BuottonList.Add(buttonObj);
-                    }
-                    //绉婚櫎娣诲姞鎸夐挳鐣岄潰
-                    this.RemoveFromParent();
-
-                    for (int i = MainPage.BasePageView.ChildrenCount - 1; 0 <= i; i--)
-                    {
-                        var view = MainPage.BasePageView.GetChildren(i);
-                        if (view.GetType() == typeof(AddControl))
+                        //浼戠湢鏄负鏄剧ず寮曞鐣岄潰
+                        // System.Threading.Thread.Sleep(3000);
+                        //绉婚櫎娣诲姞鎸夐挳寮曞鐣岄潰
+                        replication.RemView();
+                        var buttonName = control.status.Find((c) => c.value == buttonObj.value);
+                        if (buttonName == null)
                         {
-                            view.RemoveFromParent();
+                            //娣诲姞鏁版嵁
+                            control.status.Add(buttonObj);
                         }
-                        
+                        //绉婚櫎娣诲姞鎸夐挳鐣岄潰
+                        this.RemoveFromParent();
+                        //绉婚櫎涔嬪墠鍙兘瀛樺湪鐨勭晫闈�
+                        PirMethod.RemoveView("AddControl");
+                        //鍔犺浇鏁版嵁鐣岄潰
+                        AddControl addControl = new AddControl();
+                        MainPage.BasePageView.AddChidren(addControl);
+                        addControl.Show(control);
+                        MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
                     }
-                  
-                    //鍔犺浇鏁版嵁鐣岄潰
-                    AddControl addControl = new AddControl();
-                    MainPage.BasePageView.AddChidren(addControl);
-                    addControl.Show(control);
-                    MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
-                    //}
-                    //else
-                    //{
-                    //    PirSend.Error(responsePackNew);
-                    //}
+                    else
+                    {
+                        replication.RemView();
+                        PirMethod method = new PirMethod();
+                        method.ErrorShow(null, "娣诲姞澶辫触");
+                    }
 
                 });
-
-
             };
 
         }
+
+        /// <summary>
+        /// 绉婚櫎鐣岄潰
+        /// </summary>
+        public override void RemoveFromParent()
+        {
+            //鍒锋柊鎸囧畾鐣岄潰
+            PirMethod.RefreshView("PirMain");
+            base.RemoveFromParent();
+        }
+
+        /// <summary>
+        /// 鏌ユ壘鍞竴鍋ュ悕鍊�
+        /// </summary>
+        /// <param name="listKeyName">宸茬粡瀛樺湪鍋ュ悕鍒楄〃</param>
+        /// <returns></returns>
+        private string GetKeyName(List<Entity.AttributesStatus> listKeyName)
+        {
+            //鐩墠绾㈠瀹濆涔犳寜閽渶澶氭槸30涓紱
+            for (int i = 0; i < 50; i++)
+            {
+                string keyName = "key" + i.ToString();
+                ///鏌ユ壘鏄惁瀛樺湪
+                var currKeyName = listKeyName.Find((c) => c.key == keyName);
+                if (currKeyName == null)
+                {
+                    return keyName;
+                }
+            }
+
+            return "key" + listKeyName.Count;
+        }
+
     }
 }

--
Gitblit v1.8.0