From 122dc4312c72b2d2aaa50a2adf84165f5600b99a Mon Sep 17 00:00:00 2001
From: 陈嘉乐 <cjl@hdlchina.com.cn>
Date: 星期三, 27 一月 2021 17:13:48 +0800
Subject: [PATCH] 2021-1-27-1

---
 HDL_ON/UI/UI2/3-Intelligence/Automation/EmptyClass.cs |  196 +++++++++++++++++++++++++++---------------------
 1 files changed, 109 insertions(+), 87 deletions(-)

diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/EmptyClass.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/EmptyClass.cs
index 2f53d87..2293a25 100644
--- a/HDL_ON/UI/UI2/3-Intelligence/Automation/EmptyClass.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/EmptyClass.cs
@@ -8,9 +8,27 @@
 {
     public class EmptyClass : FrameLayout
     {
-
-        public void Show()
+        /// <summary>
+        /// 
+        /// </summary>
+        /// <param name="list">琛ㄧず璇ュ垪琛ㄥ厓绱燗-Z瀛楁瘝绛涢�夋樉绀哄嚭鏉�</param>
+        /// <param name="list6">琛ㄧず璇ュ垪琛ㄥ厓绱犳樉绀哄湪list鍓嶉潰(璇ュ垪琛ㄥ厓绱犱笉鍋欰-Z瀛楁瘝绛涢��),娌℃湁鍙互涓簂ist6=null</param>
+        /// <param name="action">杩斿洖閫変腑鏂囨湰</param>
+        public void Show(List<string> list, List<string> list6, Action<string> action) 
         {
+
+
+            //string text = "30";
+            //byte[] bytes = new byte[text.Length / 2];
+            //for (int i = 0, j = 0; i < bytes.Length; j += 2, i++)
+            //{
+            //    //鎶�16杩涘害杞崲鎴恇yte
+            //    bytes[i] = Convert.ToByte(text.Substring(j, 2), 16);
+            //}
+            ////鎶奲yte鏁扮粍杞崲鎴愭枃瀛�
+            //string str = System.Text.Encoding.UTF8.GetString(bytes);
+
+
             var frameLayout = new FrameLayout
             {
                 BackgroundColor = CSS.CSS_Color.viewTop,
@@ -41,23 +59,25 @@
                 UnSelectedImagePath = "LogicIcon/back.png",
             };
             frameLayout.AddChidren(backBtn);
-            backBtn.MouseUpEventHandler += (sen,e) => {
+            backBtn.MouseUpEventHandler += (sen, e) =>
+            {
                 this.RemoveFromParent();
             };
 
-            var editText = new EditText {
+            var editText = new EditText
+            {
                 Width = Application.GetRealWidth(343),
                 Height = Application.GetRealWidth(28),
                 X = Application.GetRealWidth(TextSize.left16),
                 Y = Application.GetRealHeight(76),
                 BackgroundColor = CSS.CSS_Color.view,
-                TextColor= CSS.CSS_Color.textColor,
-                TextAlignment=TextAlignment.Center,
-                
+                TextColor = CSS.CSS_Color.textColor,
+                TextAlignment = TextAlignment.Center,
+
             };
             frameLayout.AddChidren(editText);
 
-                var fram = new FrameLayout
+            var fram = new FrameLayout
             {
                 Y = Application.GetRealHeight(112),
                 Height = Application.GetRealHeight(667 - 112),
@@ -65,25 +85,38 @@
                 BackgroundColor = CSS.CSS_Color.view,
             };
             this.AddChidren(fram);
-    
 
-            var list11 = new List<string> {
-               "鐖变綘", "鍝庡懄","鍩冨強","鍝堝紬鎹㈠3鍝堝紬", "鐖卞痉鍗庡v","淇哄嚑涓柉浜�",
-                "鎷滀簡", "宸村+", "鐧惧か",  "鐧惧悎鍦扮悊璇句綘鎵撶畻", "涓嶅害鑰侀浼忔灔", "姣斿埌涔濈偣",
-                "杞︾珯","娴嬭瘯","姝ゅ湴", "鎵嶇湅瑙佸ソ寰楀揩","鍚冭蒋楗�","浠庣湅瑙佷簩鍗佸",
-               "绛夊緟鏈轰細鍚�","鐨勫鎴�", "澶氬枬鐐�", "鐧昏鍝︾劧鍚�", "鎵撶數璇�",
-                 "鎭╄偆闇滅湅灏辩湅浜�", "楗挎os","鎭堕瓟鍩�","鍎跨鑱斿姩", "鎭╁叚棰楀瓙寮规媺鎷夎¥娲楁尽浜�","鍙戝ぇ瀛︾敓鍙戝彂",
-                "鐪熷帀瀹砳鍙戝灏�", "鐭ラ亾浣犱粯娆句簡鍙�", "灏厭鍥炲",  "鏀硅繘鐨勮瘽", "澶╁ぉ閫熷害鍥炵瓟", "澶ソ浜嗗紑杞�",
-                "鍑忚偉鐨勭湅杩�","妗″嚭鍙e閭�","濡傛灉瑙夊緱", "寰堣垝鏈嶇殑","鍚冭蒋楗�","浠庣湅瑙佷簩鍗佸",
-               "榫欏嵎椋庝簭澶у彂","鍘诲ソ鐪�", "澶氬枬鐐�", "濂芥氮璐瑰ソ", "鎵撶數璇�"};
-            var list1 = GetDateList(list11);
+
+            //var list11 = new List<string> {
+            //   "鐖变綘", "鍝庡懄","鍩冨強","鍝堝紬鎹㈠3鍝堝紬", "鐖卞痉鍗庡v","淇哄嚑涓柉浜�",
+            //    "鎷滀簡", "宸村+", "鐧惧か",  "鐧惧悎鍦扮悊璇句綘鎵撶畻", "涓嶅害鑰侀浼忔灔", "姣斿埌涔濈偣",
+            //    "杞︾珯","娴嬭瘯","姝ゅ湴", "鎵嶇湅瑙佸ソ寰楀揩","鍚冭蒋楗�","浠庣湅瑙佷簩鍗佸",
+            //   "绛夊緟鏈轰細鍚�","鐨勫鎴�", "澶氬枬鐐�", "鐧昏鍝︾劧鍚�", "鎵撶數璇�",
+            //     "鎭╄偆闇滅湅灏辩湅浜�", "楗挎os","鎭堕瓟鍩�","鍎跨鑱斿姩", "鎭╁叚棰楀瓙寮规媺鎷夎¥娲楁尽浜�","鍙戝ぇ瀛︾敓鍙戝彂",
+            //    "鐪熷帀瀹砳鍙戝灏�", "鐭ラ亾浣犱粯娆句簡鍙�", "灏厭鍥炲",  "鏀硅繘鐨勮瘽", "澶╁ぉ閫熷害鍥炵瓟", "澶ソ浜嗗紑杞�",
+            //    "鍑忚偉鐨勭湅杩�","妗″嚭鍙e閭�","濡傛灉瑙夊緱", "寰堣垝鏈嶇殑","鍚冭蒋楗�","浠庣湅瑙佷簩鍗佸",
+            //   "榫欏嵎椋庝簭澶у彂","鍘诲ソ鐪�", "澶氬枬鐐�", "濂芥氮璐瑰ソ", "鎵撶數璇�"};
+            if (list == null)
+            {
+                list = new List<string>();
+            }
+            if (list6 == null)
+            {
+                list6 = new List<string>();
+            }
+            var list1 = GetDateList(list);
+            list1.Add("1");
+            list1.InsertRange(0, list6);
+
 
 
             var vv = new VerticalScrolViewLayout();
             fram.AddChidren(vv);
+            var listStr = new List<string>();
+            listStr.AddRange(list1);
             editText.TextChangeEventHandler += (view, strView) =>
             {
-                var listStr = new List<string>();
+                listStr.Clear();
                 for (int i = 0; i < list1.Count; i++)
                 {
                     var s = list1[i];
@@ -92,7 +125,7 @@
                         listStr.Add(s);
                     }
                 }
-                RefreshLayout(vv, listStr);
+                RefreshLayout(vv, listStr, action);
 
             };
 
@@ -102,50 +135,55 @@
             var a_zFra = new FrameLayout
             {
                 Y = Application.GetRealHeight(46),
-                X = Application.GetRealWidth(362-6),
+                X = Application.GetRealWidth(362 - 6),
                 Height = Application.GetRealHeight(351),
-                Width = Application.GetRealWidth(10+6),
+                Width = Application.GetRealWidth(10 + 6),
             };
             fram.AddChidren(a_zFra);
-            var list = GetList();
-            for (int i = 0; i < list.Count; i++)
+            var list2 = GetList();  
+            for (int i = 0; i < list2.Count; i++)
             {
 
                 var a_zBtn = new Button
                 {
-                    Padding= new Padding(0,6,0,0),
+                    Padding = new Padding(0, 6, 0, 0),
                     Y = Application.GetRealHeight(i * 13),
                     Width = Application.GetRealWidth(16),
                     Height = Application.GetRealHeight(10),
-                    Text = list[i],
+                    Text = list2[i],
                     TextSize = TextSize.text10,
                     TextColor = CSS.CSS_Color.textConfirmColor,
-                    Tag= list[i],
+                    Tag = list2[i],
                 };
                 a_zFra.AddChidren(a_zBtn);
 
 
                 a_zBtn.MouseUpEventHandler += (sender, e) =>
                 {
-                    //鎵惧埌绱㈠紩鍊�
-                    var index = list1.IndexOf(a_zBtn.Tag.ToString());
-                    if (index != -1)
+
+                    try
                     {
-                        vv.ScrollToViewIndex(index);
-                    }
-                    else
-                    {
-                        if (a_zBtn.Tag.ToString() == "#")
+                        //鎵惧埌绱㈠紩鍊�
+                        var index = listStr.IndexOf(a_zBtn.Tag.ToString());
+                        if (index != -1)
                         {
-                            vv.ScrollToViewIndex(0);
+                            vv.ScrollToViewIndex(index);
+                        }
+                        else
+                        {
+                            if (a_zBtn.Tag.ToString() == "#")
+                            {
+                                vv.ScrollToViewIndex(0);
+                            }
                         }
                     }
+                    catch { }
                 };
 
             }
             #endregion
-           
-            RefreshLayout(vv, list1);
+
+            RefreshLayout(vv, list1,action);
 
 
 
@@ -157,7 +195,7 @@
         /// </summary>
         /// <param name="vv">鐖舵帶浠�</param>
         /// <param name="list">鏄剧ず鍒楄〃</param>
-        private void RefreshLayout(VerticalScrolViewLayout vv, List<string> list)
+        private void RefreshLayout(VerticalScrolViewLayout vv, List<string> list,Action<string> action)
         {
             vv.RemoveAll();
             foreach (var str in list)
@@ -174,9 +212,10 @@
                     TextAlignment = TextAlignment.CenterLeft,
                     Text = str,
                 };
-                var clickBtn = new Button {
+                var clickBtn = new Button
+                {
                     Tag = str,
-                    Width=Application.GetRealWidth(350),
+                    Width = Application.GetRealWidth(350),
                 };
 
                 if (Exist(str))
@@ -194,7 +233,7 @@
                     rowLayout.AddChidren(clickBtn);
                 }
                 vv.AddChidren(rowLayout);
-                clickBtn.MouseUpEventHandler += (se, e) =>
+                clickBtn.MouseUpEventHandler += (sen, e) =>
                 {
                     //鎵惧埌绱㈠紩鍊�
                     var index = list.IndexOf(clickBtn.Tag.ToString());
@@ -213,7 +252,7 @@
         private bool Exist(string str)
         {
 
-            if (GetList().Contains(str)|| "涓绘祦鍝佺墝"== str)
+            if (GetList().Contains(str) || "涓绘祦鍝佺墝" == str)
             {
                 return true;
             }
@@ -230,64 +269,47 @@
         private List<string> GetDateList(List<string> mList)
         {
             var list = new List<string>();
-            for (int i = 0; i < mList.Count; i++)
+            //鑾峰彇A-Z瀛楁瘝鍒楄〃
+            var a_zList = GetList(false);
+            //閬嶅巻A-Z瀛楁瘝鍒楄〃
+            for (int i = 0; i < a_zList.Count; i++)
             {
-                //鎻愬彇瀛楃涓茬涓�浣�
-                string str = mList[i].Substring(0, 1);
-                var s = GetCharSpellCode(str);
-                if (!list.Contains(s))
+                var zimu = a_zList[i];
+                //閬嶅巻瀛楃涓插垪琛�
+                for (int a = 0; a < mList.Count; a++)
                 {
-                    foreach (var value in GetList(false))
-                    {
-                        if (!list.Contains(s))
-                        {
-                            //閲嶆柊鎺掑簭A-Z
-                            list.Add(s);
-                        }
-                    }
-                }
-            }
-            return RelationshipList(list, mList); 
-        }
-        /// <summary>
-        /// 閲嶆柊鎺掑簭瀛楁瘝涓庢暟鎹叧绯�
-        /// </summary>
-        /// <param name="mList1">瀛楁瘝琛�</param>
-        /// <param name="mList2">鏄剧ず鏁版嵁琛�</param>
-        /// <returns></returns>
-        private List<string> RelationshipList(List<string> mList1, List<string> mList2)
-        {
-            var list = new List<string>();
-            for (int i = 0; i < mList1.Count; i++)
-            {
-                var zimo = mList1[i];
-                ///娣诲姞瀛楁瘝
-                list.Add(zimo);
-                for (int j = 0; j < mList2.Count; j++)
-                {
+                    var str = mList[a];
                     //鎻愬彇瀛楃涓茬涓�浣�
-                    string str = mList2[j].Substring(0, 1);
-                    var s = GetCharSpellCode(str);
-                    //鍒ゆ柇杩斿洖瀛楁瘝涓庡綋鍓嶅瓧姣嶆槸鍚︾浉绛�
-                    if (zimo == s)
+                    string s = str.Substring(0, 1);
+                    //杩斿洖瀛楃涓茬涓�浣嶉瀛楁瘝锛堝ぇ鍐欙級
+                    var a_z = GetCharSpellCode(s);
+                    //鍒ゆ柇鏄惁鍚屽瓧姣�
+                    if (zimu == a_z)
                     {
-                        ///娣诲姞鏁版嵁
-                        list.Add(mList2[j]);
+                        //鍒ゆ柇鍒楄〃鏄惁瀛樺湪瀛楁瘝
+                        if (!list.Contains(zimu))
+                        {
+                            //娣诲姞瀛楁瘝
+                            list.Add(zimu);
+                        }
+                        //娣诲姞棣栧瓧鍚屼竴涓瓧姣嶇殑鏁版嵁
+                        list.Add(str);
                     }
 
                 }
-
             }
-
             return list;
         }
+
         /// <summary>
         /// 鑾峰彇A-Z瀛楁瘝鍒楄〃
         /// </summary>
         /// <returns></returns>
-        private List<string> GetList(bool value=true) {
+        private List<string> GetList(bool value = true)
+        {
             var list = new List<string>();
-            if (value) {
+            if (value)
+            {
                 list.Add("#");
             }
             for (int j = 65; j <= 90; j++)

--
Gitblit v1.8.0