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/AddButton.cs |  183 ++++++++++++++++++++++++++++++---------------
 1 files changed, 122 insertions(+), 61 deletions(-)

diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/AddButton.cs b/HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/AddButton.cs
index 957a50b..859f2aa 100644
--- a/HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/AddButton.cs
+++ b/HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/AddButton.cs
@@ -4,23 +4,29 @@
 using Shared;
 namespace HDL_ON.UI.UI2.PersonalCenter.PirDevice
 {
-    public class AddButton:FrameLayout
+    public class AddButton : FrameLayout
     {
         public AddButton()
         {
+            Tag = "PirView";
         }
-        public void Show()
+        public void Show(Control control)
         {
+
             #region 鐣岄潰甯冨眬
             this.BackgroundColor = CSS.CSS_Color.viewMiddle;
             PirDevice.View.TopView topView = new View.TopView();
-            topView.topNameBtn.TextID = StringId.shebeigaunli;
+            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
             {
-                Y= topView.frameLayout.Bottom,
+                Y = topView.frameLayout.Bottom,
                 BackgroundColor = CSS.CSS_Color.textWhiteColor,
                 Height = Application.GetRealHeight(152),
                 Width = Application.GetRealWidth(375),
@@ -40,9 +46,9 @@
             EditText editText = new EditText()
             {
                 X = Application.GetRealWidth(16),
-                Width = Application.GetRealWidth(375-16*2),
+                Width = Application.GetRealWidth(375 - 16 * 2),
                 Height = Application.GetRealHeight(44),
-                PlaceholderText=Language.StringByID(StringId.anjianmingcheng),
+                PlaceholderText = Language.StringByID(StringId.anjianmingcheng),
                 PlaceholderTextColor = CSS.CSS_Color.textCancelColor,
                 TextColor = CSS.CSS_Color.textColor,
                 TextSize = TextSize.text14,
@@ -56,21 +62,21 @@
                 Height = Application.GetRealHeight(44),
                 Y = Application.GetRealHeight(92),
                 X = Application.GetRealWidth(78),
-                TextID = StringId.save,
+                TextID = StringId.xiayibu,
                 TextSize = TextSize.text16,
                 TextColor = CSS.CSS_Color.textWhiteColor,
                 TextAlignment = TextAlignment.Center,
                 BackgroundColor = CSS.CSS_Color.btnSaveBackgroundColor,
                 Radius = (uint)Application.GetRealHeight(22),
             };
-            editfLayout.AddChidren(saveBtn); 
+            editfLayout.AddChidren(saveBtn);
 
             FrameLayout fLayout = new FrameLayout
             {
-                Y = editfLayout.Bottom+Application.GetRealHeight(8),
-                BackgroundColor = CSS.CSS_Color.textWhiteColor,
-                Height = Application.GetRealHeight(667-64-152-8),
+                Y = editfLayout.Bottom + Application.GetRealHeight(8),
+                Height = Application.GetRealHeight(667 - 64 - 152 - 8),
                 Width = Application.GetRealWidth(375),
+                BackgroundColor = CSS.CSS_Color.textWhiteColor,
             };
             this.AddChidren(fLayout);
             //鎺ㄨ崘鎸夐敭
@@ -86,68 +92,123 @@
                 TextAlignment = TextAlignment.CenterLeft,
             };
             fLayout.AddChidren(titleBtn);
-           
+            //鍔ㄦ�佸姞杞紹utton鎸夐挳鐖舵帶浠�
             FrameLayout buttonFLayout = new FrameLayout
             {
-                Y = titleBtn.Bottom,
-                Height = Application.GetRealHeight(667 - 64 - 152 - 8-12-20),
+                Y = Application.GetRealHeight(32),
+                Height = Application.GetRealHeight(667 - 64 - 152 - 8 - 12 - 20),
                 Width = Application.GetRealWidth(375),
             };
             fLayout.AddChidren(buttonFLayout);
-
-            VerticalScrolViewLayout vv = new VerticalScrolViewLayout();
-            buttonFLayout.AddChidren(vv);
-
-            List<string> buttonNameList = new List<string> {
-                "鐢垫簮", "闊抽噺+", "闊抽噺-", "棰戦亾+", "棰戦亾-", "涓�", "涓�", "宸�",
-                 "鍙�", "闈欓煶", "纭", "鎾斁", "閫�鍑�", "鑿滃崟", "鏆傚仠", "杩斿洖",
-                  "鍋滄", "涓婚〉", "蹇繘", "蹇��","瀹氭椂",
-            };
-
-            for (int i = 0; i <7; i++)
+            #endregion
+            View.Buttons buttons = new View.Buttons();
+            var buttonNameList = buttons.GetList("榛樿鎸夐挳");
+            buttons.AddButton(buttonFLayout, buttonNameList, (s) =>
             {
-                //vv.AddChidren(new FrameLayout { Height = Application.GetRealWidth(16) });
-                var currFLayout = new FrameLayout { Height = Application.GetRealWidth(16+ 44+2)};
-                vv.AddChidren(currFLayout);
-                for (int a =i*3+1,b=0; a<= buttonNameList.Count; a++,b++)
+                editText.Text = s;
+#if __Android__
+                editText.SetSelectionEnd();
+#endif
+            });
+            ///涓嬩竴姝ョ殑鐐瑰嚮浜嬩欢
+            saveBtn.MouseUpEventHandler += (sender, e) =>
+            {
+                if (control.status.Count > 29)
                 {
-                    var name = buttonNameList[a-1];
-                    var nameBtn = new Button
-                    {
-                        Y = Application.GetRealHeight(16),
-                        X = Application.GetRealWidth(24 + (98 + 16) * b),
-                        Gravity=Gravity.CenterVertical,
-                        Width = Application.GetRealWidth(98),
-                        Height = Application.GetRealHeight(44),
-                        Text = name,
-                        TextSize = TextSize.text16,
-                        TextColor = CSS.CSS_Color.textColor,
-                        TextAlignment = TextAlignment.Center,
-                        Radius = (uint)Application.GetRealHeight(8),
-                        BorderWidth = 1,
-                        BorderColor = CSS.CSS_Color.textCancelColor,
-
-
-                    };
-                    currFLayout.AddChidren(nameBtn);
-                    if (a % 3 == 0)
-                    {
-                        break;
-                    }
-                    nameBtn.MouseUpEventHandler += (sender, e) =>
-                    {
-                        editText.Text = nameBtn.Text;
-                    };
+                    ///瓒呭嚭30涓孩澶栧疂鍐呭瓨婊′簡浼氬嚭鐜板紓甯�
+                    new PirMethod().ErrorShow(null, "娣诲姞鎸夐挳瓒呭嚭30涓�");
+                    return;
                 }
 
-            }
-        
-            #endregion
+                var texts = editText.Text.Trim();
+                if (string.IsNullOrEmpty(editText.Text))
+                {
+                    //鍚嶇О涓嶈兘涓虹┖
+                    return;
+                }
+                var butName = control.status.Find((c) => c.value == texts);
+                if (butName != null)
+                {
+                    //鍚嶇О宸茬粡瀛樺湪
+                    return;
+                }
+                //new寮曞鐣岄潰
+                View.ReplicationView replication = new View.ReplicationView();
+                replication.Show(this);
 
+                //娣诲姞鏁版嵁瀵硅薄
+                Entity.AttributesStatus buttonObj = new Entity.AttributesStatus();
+                string keyName = GetKeyName(control.status);
+                buttonObj.key = keyName;
+                buttonObj.value = texts;
 
+                PirSend.CodeStudy(control, buttonObj, (mqttdate) =>
+                {
+                    if (mqttdate != null)
+                    {
+                        //浼戠湢鏄负鏄剧ず寮曞鐣岄潰
+                        // System.Threading.Thread.Sleep(3000);
+                        //绉婚櫎娣诲姞鎸夐挳寮曞鐣岄潰
+                        replication.RemView();
+                        var buttonName = control.status.Find((c) => c.value == buttonObj.value);
+                        if (buttonName == null)
+                        {
+                            //娣诲姞鏁版嵁
+                            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;
+                    }
+                    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