From 611786df5108dca0bdcff03834cc285cba4b8e61 Mon Sep 17 00:00:00 2001
From: 陈嘉乐 <cjl@hdlchina.com.cn>
Date: 星期二, 13 十月 2020 16:48:43 +0800
Subject: [PATCH] 2020-10-13-1

---
 HDL_ON/UI/UI0-Public/PublicAssmebly.cs |  436 ++++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 343 insertions(+), 93 deletions(-)

diff --git a/HDL_ON/UI/UI0-Public/PublicAssmebly.cs b/HDL_ON/UI/UI0-Public/PublicAssmebly.cs
index 43c470b..4fd89a5 100644
--- a/HDL_ON/UI/UI0-Public/PublicAssmebly.cs
+++ b/HDL_ON/UI/UI0-Public/PublicAssmebly.cs
@@ -1,4 +1,5 @@
 锘縰sing System;
+using System.Collections.Generic;
 using System.Threading;
 using HDL_ON.Entity;
 using HDL_ON.UI.CSS;
@@ -8,12 +9,64 @@
 {
     public partial class PublicAssmebly
     {
+
+        void EditParaterEvent(Button btnConfirm, int errorId_IsNullOrEmpty, int errorId_ContainsPar, List<string> list, EditText editText, Action<string> callBackAction,
+            FrameLayout contentView, Button btnLine, Button btnBottomLine, Button btnCancel, FrameLayout editView, Dialog dialog)
+        {
+
+            var btnTip = new Button()
+            {
+                X = editView.X,
+                Y = editView.Bottom,
+                Width = Application.GetRealWidth(182),
+                Height = Application.GetRealHeight(30),
+                TextColor = CSS_Color.WarningColor,
+                TextSize = CSS_FontSize.TextFontSize,
+                IsMoreLines = true,
+                TextAlignment = TextAlignment.CenterLeft,
+            };
+
+            btnConfirm.MouseUpEventHandler += (sender, e) =>
+            {
+                //btnConfirm.IsSelected = false;
+                if (string.IsNullOrEmpty(editText.Text.Trim()) || list.Contains(editText.Text.Trim()))
+                {
+                    string tipMsgString = "";
+                    if (string.IsNullOrEmpty(editText.Text.Trim()))
+                    {
+                        tipMsgString = Language.StringByID(errorId_IsNullOrEmpty);
+                    }
+                    else
+                    {
+                        tipMsgString = Language.StringByID(errorId_ContainsPar);
+                    }
+
+                    contentView.Height = Application.GetRealHeight(183);
+                    btnLine.Y = Application.GetRealHeight(139);
+                    btnBottomLine.Y = btnLine.Bottom;
+                    btnCancel.Y = btnLine.Bottom;
+                    btnConfirm.Y = btnLine.Bottom;
+
+                    btnTip.Text = tipMsgString;
+
+                    contentView.AddChidren(btnTip);
+
+                    return;
+                }
+
+
+                callBackAction(editText.Text.Trim());
+                dialog.Close();
+            };
+        }
+
+
         /// <summary>
         /// 鍔犺浇淇敼鍙傛暟鐨勫皬寮圭獥
         /// 淇濆瓨鎸夐挳浜嬩欢闇�瑕佸皢
         /// </summary>
         /// <param name="callBackAction">鍥炶皟鍑芥暟</param>
-        public void LoadDialog_EditParater(int titleId, string editParater, Action<string> callBackAction)
+        public void LoadDialog_EditParater(int titleId, string editParater, Action<string> callBackAction, int errorId_IsNullOrEmpty, int errorId_ContainsPar, List<string> baseList,bool encryption = false)
         {
             Dialog dialog = new Dialog()
             {
@@ -62,16 +115,25 @@
                 X = Application.GetRealWidth(12),
                 Width = Application.GetRealWidth(182),
                 Text = editParater,
-                TextColor = CSS.CSS_Color.FirstLevelTitleColor,
-                TextSize = CSS.CSS_FontSize.TextFontSize,
+                TextColor = CSS_Color.FirstLevelTitleColor,
+                TextSize = CSS_FontSize.TextFontSize,
+                SecureTextEntry = encryption,
+                //TextAlignment = TextAlignment.CenterLeft ,
             };
             editView.AddChidren(etParater);
 
+            etParater.TextChangeEventHandler = (sender, e) => {
+                if(etParater.Text.Length > 20)
+                {
+                    etParater.Text = etParater.Text.Remove(20);
+                }
+            };
+
             Button btnLine = new Button()
             {
-                Y = Application.GetRealHeight(128),
+                Y = Application.GetRealHeight(129),
                 Height = Application.GetRealHeight(1),
-                BackgroundColor = CSS.CSS_Color.DividingLineColor,
+                BackgroundColor = CSS_Color.DividingLineColor,
             };
             contentView.AddChidren(btnLine);
 
@@ -83,8 +145,8 @@
                 TextAlignment = TextAlignment.Center,
                 TextColor = CSS_Color.TextualColor,
                 TextSize = CSS_FontSize.SubheadingFontSize,
-                SelectedTextColor = CSS_Color.MainBackgroundColor,
-                SelectedBackgroundColor = CSS_Color.MainColor,
+                //SelectedTextColor = CSS_Color.MainBackgroundColor,
+                //SelectedBackgroundColor = CSS_Color.MainColor,
                 TextID = StringId.Cancel,
             };
             contentView.AddChidren(btnCancel);
@@ -97,87 +159,226 @@
                 Width = Application.GetRealWidth(1),
                 BackgroundColor = CSS_Color.DividingLineColor,
             };
-            contentView.AddChidren(btnBottomLine);
+            //contentView.AddChidren(btnBottomLine);
 
             Button btnConfirm = new Button()
             {
                 X = btnBottomLine.Right,
-                Y = btnLine.Bottom,
+                Y = btnLine.Y,
                 Width = Application.GetRealWidth(135),
-                Height = Application.GetRealHeight(43),
+                Height = Application.GetRealHeight(43+1),
                 TextAlignment = TextAlignment.Center,
-                TextColor = CSS.CSS_Color.TextualColor,
-                TextSize = CSS_FontSize.SubheadingFontSize,
-                SelectedTextColor = CSS_Color.MainBackgroundColor,
-                SelectedBackgroundColor = CSS_Color.MainColor,
+                //TextColor = CSS_Color.TextualColor,
+                //TextSize = CSS_FontSize.SubheadingFontSize,
+                TextColor = CSS_Color.MainBackgroundColor,
+                BackgroundColor = CSS_Color.MainColor,
                 TextID = StringId.Confirm,
             };
             contentView.AddChidren(btnConfirm);
 
             dialog.Show();
 
-            btnCancel.MouseDownEventHandler += (sender, e) => {
-                btnCancel.IsSelected = true;
-            };
+            //btnCancel.MouseDownEventHandler += (sender, e) => {
+            //    btnCancel.IsSelected = true;
+            //};
             btnCancel.MouseUpEventHandler += (sender, e) => {
-                btnCancel.IsSelected = false;
+                //btnCancel.IsSelected = false;
                 dialog.Close();
             };
-            btnConfirm.MouseDownEventHandler += (sender, e) => {
-                btnConfirm.IsSelected = true;
-            };
-            btnConfirm.MouseUpEventHandler += (sender, e) =>
-            {
-                btnConfirm.IsSelected = false;
-                //闇�瑕佹彁绀洪敊璇俊鎭湪绐楀彛寮圭獥涔嬩笂鐨�
-                if ((titleId == StringId.EditFloorName && etParater.Text.Trim() != editParater) || titleId == StringId.AddFloors)
-                {
-                    var tipMsgString = titleId == StringId.EditFloorName ? Language.StringByID(StringId.AddFloorFailed_FloorAlreadyExist) : Language.StringByID(StringId.AddFloorFailed_FloorAlreadyExist);
-                    
-                    if (string.IsNullOrEmpty(etParater.Text.Trim()))
-                    {
-                        tipMsgString = Language.StringByID(StringId.FloorNameCannotBeEmpty);
-                        return;
-                    }
-
-                    if (DB_ResidenceData.residenceData.floors.Contains(etParater.Text.Trim()))
-                    {
-                        contentView.Height = Application.GetRealHeight(183);
-                        btnLine.Y = Application.GetRealHeight(139);
-                        btnBottomLine.Y = btnLine.Bottom;
-                        btnCancel.Y = btnLine.Bottom;
-                        btnConfirm.Y = btnLine.Bottom;
-
-
-                        var btnTip = new Button()
-                        {
-                            X = editView.X,
-                            Y = editView.Bottom,
-                            Width = Application.GetRealWidth(182),
-                            Height = Application.GetRealHeight(30),
-                            Text = tipMsgString,
-                            TextColor = CSS_Color.WarningColor,
-                            TextSize = CSS_FontSize.TextFontSize,
-                        };
-                        contentView.AddChidren(btnTip);
-                        
-                        return;
-                    }
-
-                    callBackAction(etParater.Text.Trim());
-                }
-
-                if(titleId == StringId.RoomName || titleId == StringId.ChangeName || titleId == StringId.ResidenceName  || titleId == StringId.UesrName)
-                {
-                    if(editParater != etParater.Text.Trim())
-                    {
-                        callBackAction(etParater.Text.Trim());
-                    }
-                }
-                dialog.Close();
-            };
-
+            //btnConfirm.MouseDownEventHandler += (sender, e) => {
+            //    btnConfirm.IsSelected = true;
+            //};
+            EditParaterEvent(btnConfirm, errorId_IsNullOrEmpty, errorId_ContainsPar, baseList, etParater, callBackAction,
+                contentView, btnLine, btnBottomLine, btnCancel, editView, dialog);
         }
+
+
+        ///// <summary>
+        ///// 鍔犺浇淇敼鍙傛暟鐨勫皬寮圭獥
+        ///// 淇濆瓨鎸夐挳浜嬩欢闇�瑕佸皢
+        ///// </summary>
+        ///// <param name="callBackAction">鍥炶皟鍑芥暟</param>
+        //public void LoadDialog_EditParater(int titleId,int tipTitleId, string editParater, Action<string> callBackAction, int errorId_IsNullOrEmpty, int errorId_ContainsPar, List<string> baseList)
+        //{
+        //    Dialog dialog = new Dialog()
+        //    {
+        //        BackgroundColor = CSS_Color.DialogTransparentColor1,
+        //    };
+
+        //    FrameLayout contentView = new FrameLayout()
+        //    {
+        //        Gravity = Gravity.Center,
+        //        Width = Application.GetRealWidth(270),
+        //        Height = Application.GetRealHeight(192),
+        //        BackgroundColor = CSS.CSS_Color.MainBackgroundColor,
+        //        BorderColor = 0x00000000,
+        //        BorderWidth = 0,
+        //        Radius = (uint)Application.GetMinRealAverage(10),
+        //    };
+        //    dialog.AddChidren(contentView);
+
+        //    Button btnTitle = new Button()
+        //    {
+        //        Y = Application.GetRealHeight(10),
+        //        Height = Application.GetRealHeight(42),
+        //        TextColor = CSS.CSS_Color.MainColor,
+        //        TextSize = CSS.CSS_FontSize.SubheadingFontSize,
+        //        TextAlignment = TextAlignment.Center,
+        //        IsBold = true,
+        //        TextID = titleId,
+        //    };
+        //    contentView.AddChidren(btnTitle);
+
+        //    Button btnTipTitle = new Button()
+        //    {
+        //        Gravity = Gravity.CenterHorizontal,
+        //        Y = btnTitle.Bottom + Application.GetRealHeight(8),
+        //        Width = Application.GetRealWidth(222),
+        //        Height = Application.GetRealHeight(17+16),
+        //        TextID = tipTitleId,
+        //        TextAlignment = TextAlignment.CenterLeft,
+        //        TextColor = CSS_Color.TextualColor,
+        //        TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
+        //    };
+        //    contentView.AddChidren(btnTipTitle);
+
+        //    FrameLayout editView = new FrameLayout()
+        //    {
+        //        Gravity = Gravity.CenterHorizontal,
+        //        Y = btnTipTitle.Bottom,
+        //        Width = Application.GetRealWidth(222),
+        //        Height = Application.GetRealHeight(40),
+        //        BackgroundColor = CSS.CSS_Color.BackgroundColor,
+        //        BorderColor = 0x00000000,
+        //        BorderWidth = 0,
+        //        Radius = (uint)Application.GetMinRealAverage(4),
+        //    };
+        //    contentView.AddChidren(editView);
+
+        //    EditText etParater = new EditText()
+        //    {
+        //        X = Application.GetRealWidth(12),
+        //        Width = Application.GetRealWidth(182),
+        //        Text = editParater,
+        //        TextColor = CSS.CSS_Color.FirstLevelTitleColor,
+        //        TextSize = CSS.CSS_FontSize.TextFontSize,
+        //    };
+        //    editView.AddChidren(etParater);
+
+        //    Button btnLine = new Button()
+        //    {
+        //        Y = Application.GetRealHeight(153),
+        //        Width = Application.GetRealWidth(270/2),
+        //        Height = Application.GetRealHeight(1),
+        //        BackgroundColor = CSS_Color.DividingLineColor,
+        //    };
+        //    contentView.AddChidren(btnLine);
+
+        //    Button btnCancel = new Button()
+        //    {
+        //        Y = btnLine.Bottom,
+        //        Width = Application.GetRealWidth(134),
+        //        Height = Application.GetRealHeight(43+1),
+        //        TextAlignment = TextAlignment.Center,
+        //        TextColor = CSS_Color.TextualColor,
+        //        TextSize = CSS_FontSize.SubheadingFontSize,
+        //        //SelectedTextColor = CSS_Color.MainBackgroundColor,
+        //        //SelectedBackgroundColor = CSS_Color.MainColor,
+        //        TextID = StringId.Cancel,
+        //    };
+        //    contentView.AddChidren(btnCancel);
+
+        //    Button btnBottomLine = new Button()
+        //    {
+        //        X = btnCancel.Right,
+        //        Y = btnLine.Bottom,
+        //        Height = Application.GetRealHeight(43),
+        //        Width = Application.GetRealWidth(1),
+        //        BackgroundColor = CSS_Color.DividingLineColor,
+        //    };
+        //    //contentView.AddChidren(btnBottomLine);
+
+        //    Button btnConfirm = new Button()
+        //    {
+        //        X = btnBottomLine.Right,
+        //        Y = btnLine.Y,
+        //        Width = Application.GetRealWidth(135),
+        //        Height = Application.GetRealHeight(43),
+        //        TextAlignment = TextAlignment.Center,
+        //        //TextColor = CSS_Color.TextualColor,
+        //        //TextSize = CSS_FontSize.SubheadingFontSize,
+        //        TextColor = CSS_Color.MainBackgroundColor,
+        //        BackgroundColor = CSS_Color.MainColor,
+        //        TextID = StringId.Confirm,
+        //    };
+        //    contentView.AddChidren(btnConfirm);
+
+        //    dialog.Show();
+
+        //    //btnCancel.MouseDownEventHandler += (sender, e) => {
+        //    //    btnCancel.IsSelected = true;
+        //    //};
+        //    btnCancel.MouseUpEventHandler += (sender, e) => {
+        //        //btnCancel.IsSelected = false;
+        //        dialog.Close();
+        //    };
+        //    //btnConfirm.MouseDownEventHandler += (sender, e) => {
+        //    //    btnConfirm.IsSelected = true;
+        //    //};
+        //    EditParaterEvent(btnConfirm, errorId_IsNullOrEmpty, errorId_ContainsPar, baseList, etParater, callBackAction,
+        //        contentView, btnLine,btnBottomLine, btnCancel, editView, dialog);
+        //    //btnConfirm.MouseUpEventHandler += (sender, e) =>
+        //    //{
+        //    //    btnConfirm.IsSelected = false;
+        //    //    //闇�瑕佹彁绀洪敊璇俊鎭湪绐楀彛寮圭獥涔嬩笂鐨�
+        //    //    if ((titleId == StringId.EditFloorName && etParater.Text.Trim() != editParater) || titleId == StringId.AddFloors)
+        //    //    {
+        //    //        var tipMsgString = titleId == StringId.EditFloorName ? Language.StringByID(StringId.AddFloorFailed_FloorAlreadyExist) : Language.StringByID(StringId.AddFloorFailed_FloorAlreadyExist);
+
+        //    //        if (string.IsNullOrEmpty(etParater.Text.Trim()))
+        //    //        {
+        //    //            tipMsgString = Language.StringByID(StringId.FloorNameCannotBeEmpty);
+        //    //            return;
+        //    //        }
+
+        //    //        if (DB_ResidenceData.residenceData.floors.Contains(etParater.Text.Trim()))
+        //    //        {
+        //    //            contentView.Height = Application.GetRealHeight(183);
+        //    //            btnLine.Y = Application.GetRealHeight(139);
+        //    //            btnBottomLine.Y = btnLine.Bottom;
+        //    //            btnCancel.Y = btnLine.Bottom;
+        //    //            btnConfirm.Y = btnLine.Bottom;
+
+        //    //            var btnTip = new Button()
+        //    //            {
+        //    //                X = editView.X,
+        //    //                Y = editView.Bottom,
+        //    //                Width = Application.GetRealWidth(182),
+        //    //                Height = Application.GetRealHeight(30),
+        //    //                Text = tipMsgString,
+        //    //                TextColor = CSS_Color.WarningColor,
+        //    //                TextSize = CSS_FontSize.TextFontSize,
+        //    //            };
+        //    //            contentView.AddChidren(btnTip);
+
+        //    //            return;
+        //    //        }
+
+        //    //        callBackAction(etParater.Text.Trim());
+        //    //    }
+
+        //    //    if (titleId == StringId.RoomName || titleId == StringId.ChangeName || titleId == StringId.ResidenceName || titleId == StringId.UesrName)
+        //    //    {
+        //    //        if (editParater != etParater.Text.Trim())
+        //    //        {
+        //    //            callBackAction(etParater.Text.Trim());
+        //    //        }
+        //    //    }
+        //    //    dialog.Close();
+        //    //};
+
+        //}
+
 
         /// <summary>
         /// 鍔犺浇鎻愮ず寮圭獥
@@ -233,6 +434,7 @@
             {
                 Y = Application.GetRealHeight(96),
                 Height = Application.GetRealHeight(1),
+                Width = Application.GetRealWidth(270/2),
                 BackgroundColor = CSS.CSS_Color.DividingLineColor,
             };
             contentView.AddChidren(btnLine);
@@ -245,8 +447,8 @@
                 TextAlignment = TextAlignment.Center,
                 TextColor = CSS_Color.TextualColor,
                 TextSize = CSS_FontSize.SubheadingFontSize,
-                SelectedTextColor = CSS_Color.MainBackgroundColor,
-                SelectedBackgroundColor = CSS_Color.MainColor,
+                //SelectedTextColor = CSS_Color.MainBackgroundColor,
+                //SelectedBackgroundColor = CSS_Color.MainColor,
                 TextID = StringId.Cancel,
             };
             contentView.AddChidren(btnCancel);
@@ -259,41 +461,41 @@
                 Width = Application.GetRealWidth(1),
                 BackgroundColor = CSS_Color.DividingLineColor,
             };
-            contentView.AddChidren(btnBottomLine);
+            //contentView.AddChidren(btnBottomLine);
 
             Button btnConfirm = new Button()
             {
                 X = btnBottomLine.Right,
-                Y = btnLine.Bottom,
+                Y = btnLine.Y,
                 Width = Application.GetRealWidth(135),
-                Height = Application.GetRealHeight(43),
+                Height = Application.GetRealHeight(43+1),
                 TextAlignment = TextAlignment.Center,
-                TextColor = CSS_Color.TextualColor,
-                TextSize = CSS_FontSize.SubheadingFontSize,
-                SelectedTextColor = CSS_Color.MainBackgroundColor,
-                SelectedBackgroundColor = CSS_Color.MainColor,
+                //TextColor = CSS_Color.TextualColor,
+                //TextSize = CSS_FontSize.SubheadingFontSize,
+                TextColor = CSS_Color.MainBackgroundColor,
+                BackgroundColor = CSS_Color.MainColor,
                 TextID = StringId.Confirm,
             };
             contentView.AddChidren(btnConfirm);
 
             dialog.Show();
 
-            btnCancel.MouseDownEventHandler += (sender, e) =>
-            {
-                btnCancel.IsSelected = true;
-            };
+            //btnCancel.MouseDownEventHandler += (sender, e) =>
+            //{
+            //    btnCancel.IsSelected = true;
+            //};
             btnCancel.MouseUpEventHandler += (sender, e) =>
             {
-                btnCancel.IsSelected = false;
+                //btnCancel.IsSelected = false;
                 dialog.Close();
             };
-            btnConfirm.MouseDownEventHandler += (sender, e) =>
-            {
-                btnConfirm.IsSelected = true;
-            };
+            //btnConfirm.MouseDownEventHandler += (sender, e) =>
+            //{
+            //    btnConfirm.IsSelected = true;
+            //};
             btnConfirm.MouseUpEventHandler += (sender, e) =>
             {
-                btnConfirm.IsSelected = false;
+                //btnConfirm.IsSelected = false;
                 callBackAction();
                 dialog.Close();
             };
@@ -305,7 +507,7 @@
         /// </summary>
         /// <param name="msg"></param>
         /// <param name="isWhite"></param>
-        public void TipMsgAutoClose(string msg,bool isWhite)
+        public void TipMsgAutoClose(string msg,bool isWhite,int closeTime = 1500)
         {
             Dialog dialog = new Dialog()
             {
@@ -346,7 +548,7 @@
             dialog.Show();
 
             new Thread(() => {
-                Thread.Sleep(1500);
+                Thread.Sleep(closeTime);
                 Application.RunOnMainThread(() =>
                 {
                     dialog.Close();
@@ -458,6 +660,54 @@
             thread.Start();
         }
 
+        /// <summary>
+        /// 鍔犺浇鏄剧ず绛夊緟绐楀彛
+        /// </summary>
+        /// <param name="msg"></param>
+        /// <returns>杩斿洖鍏抽棴绐楀彛Action</returns>
+        public Action TipLoadingMsgDialog(string msg)
+        {
+            Dialog dialog = new Dialog()
+            {
+                X = Application.GetRealWidth(89),
+                Y = Application.GetRealHeight(285),
+                Width = Application.GetRealWidth(198),
+                Height = Application.GetRealHeight(98),
+            };
+
+            FrameLayout frame = new FrameLayout()
+            {
+                BackgroundColor = CSS_Color.DialogTransparentColor1,
+                Radius = (uint)Application.GetRealWidth(12),
+            };
+            dialog.AddChidren(frame);
+
+            Button btnTipIcon = new Button()
+            {
+                Gravity = Gravity.CenterHorizontal,
+                Y = Application.GetRealHeight(15),
+                Width = Application.GetRealWidth(32),
+                Height = Application.GetRealWidth(32),
+                UnSelectedImagePath = "Public/MsgIcon/LoadingIcon.png",
+            };
+            frame.AddChidren(btnTipIcon);
+
+            Button btnTipMsg = new Button()
+            {
+                Y = Application.GetRealHeight(47),
+                Height = Application.GetRealHeight(50),
+                TextAlignment = TextAlignment.Center,
+                TextSize = CSS_FontSize.TextFontSize,
+                TextColor = CSS_Color.MainBackgroundColor,
+                Text = msg,
+            };
+            frame.AddChidren(btnTipMsg);
+
+            dialog.Show();
+            return new Action(() => {
+                dialog.Close();
+            });
+        }
 
     }
 }
\ No newline at end of file

--
Gitblit v1.8.0