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/1-HomePage/MessageCenterPage.cs |  284 ++++++++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 254 insertions(+), 30 deletions(-)

diff --git a/HDL_ON/UI/UI2/1-HomePage/MessageCenterPage.cs b/HDL_ON/UI/UI2/1-HomePage/MessageCenterPage.cs
index 05cabc6..b2635af 100644
--- a/HDL_ON/UI/UI2/1-HomePage/MessageCenterPage.cs
+++ b/HDL_ON/UI/UI2/1-HomePage/MessageCenterPage.cs
@@ -27,16 +27,17 @@
         /// <summary>
         /// menuView
         /// </summary>
-        FrameLayout menuView;
+        HorizontalScrolViewLayout menuView;//2021-08-27 澧炲姞澶氫簡涓�涓彍鍗曟寜閽墍浠ユ敼涓烘粴鍔ㄦ帶浠�
         MenuButton allMenuButton;
         MenuButton shareMenuButton;
         MenuButton alarmMenuButton;
         MenuButton systemMenuButton;
+        MenuButton propertyMenuButton;//澧炲姞鐗╀笟閫氱煡鎸夐挳
         FrameLayout messageView;
 
         /// <summary>
         /// 鏄剧ず鐨勬秷鎭被鍨�
-        /// 0鍏ㄩ儴 1鍒嗕韩涓庡姛鑳� 2鎶ヨ绫� 3绯荤粺淇℃伅
+        /// 0鍏ㄩ儴 1鍒嗕韩涓庡姛鑳� 2鎶ヨ绫� 3绯荤粺淇℃伅 4鐗╀笟鍏憡
         /// </summary>
         int showMesType = 0;
         /// <summary>
@@ -89,14 +90,21 @@
         void AddTopMenuView()
         {
 
-            menuView = new FrameLayout()
+            menuView = new HorizontalScrolViewLayout()
             {
                 Y = Application.GetRealHeight(64),
                 Height = Application.GetRealWidth(117),
                 BackgroundColor = CSS_Color.MainBackgroundColor,
+                HorizontalScrollBarEnabled = false//闅愯棌婊氬姩鏉�
             };
             bodyView.AddChidren(menuView);
 
+            //宸adding View
+            menuView.AddChidren(new Button()
+            {
+                Width = Application.GetRealWidth(15),
+                BackgroundColor = CSS_Color.viewTranslucence
+            });
 
             #region 鍏ㄩ儴鎸夐挳
             allMenuButton = new MenuButton()
@@ -132,9 +140,9 @@
 #endif
 
             };
-#endregion
+            #endregion
 
-#region 鍒嗕韩涓庡姛鑳�
+            #region 鍒嗕韩涓庡姛鑳�
             shareMenuButton = new MenuButton()
             {
                 X = allMenuButton.Right,
@@ -150,9 +158,9 @@
                 MenuButtonSelect(1);
             };
             shareMenuButton.SelectAction = shateAction;
-#endregion
+            #endregion
 
-#region 鎶ヨ绫�
+            #region 鎶ヨ绫�
             alarmMenuButton = new MenuButton()
             {
                 X = shareMenuButton.Right,
@@ -167,9 +175,9 @@
                 MenuButtonSelect(2);
             };
             alarmMenuButton.SelectAction = alarmAction;
-#endregion
+            #endregion
 
-#region 绯荤粺淇℃伅
+            #region 绯荤粺淇℃伅
             systemMenuButton = new MenuButton()
             {
                 X = alarmMenuButton.Right,
@@ -184,7 +192,32 @@
                 MenuButtonSelect(3);
             };
             systemMenuButton.SelectAction = systemAction;
-#endregion
+            #endregion
+
+            #region 鐗╀笟閫氱煡 2021-09-15澧炲姞
+            propertyMenuButton = new MenuButton()
+            {
+                X = systemMenuButton.Right,
+                Y = Application.GetRealWidth(16),
+            };
+            menuView.AddChidren(propertyMenuButton); 
+            propertyMenuButton.ImageButton.SelectedImagePath = "Collection/MesCenter/PropertyOn.png";
+            propertyMenuButton.ImageButton.UnSelectedImagePath = "Collection/MesCenter/Property.png";
+            propertyMenuButton.TextButton.TextID = StringId.Propertynotice;
+            propertyMenuButton.TextButton.IsMoreLines = true;
+            Action propertyAction = () =>
+            {
+                MenuButtonSelect(4);
+            };
+            propertyMenuButton.SelectAction = propertyAction;
+            #endregion
+
+            //鍙硃addingView 
+            menuView.AddChidren(new Button()
+            {
+                Width = Application.GetRealWidth(15),
+                BackgroundColor = CSS_Color.viewTranslucence
+            });
 
         }
 
@@ -214,7 +247,7 @@
         /// <summary>
         /// 
         /// </summary>
-        /// <param name="selectId">0鍏ㄩ儴 1鍒嗕韩涓庡姛鑳� 2鎶ヨ绫� 3绯荤粺淇℃伅</param>
+        /// <param name="selectId">0鍏ㄩ儴 1鍒嗕韩涓庡姛鑳� 2鎶ヨ绫� 3绯荤粺淇℃伅 4鐗╀笟閫氱煡</param>
         void MenuButtonSelect(int selectId)
         {
             showMesType = selectId;
@@ -225,6 +258,7 @@
                 shareMenuButton.IsSelected = true;
                 alarmMenuButton.IsSelected = true;
                 systemMenuButton.IsSelected = true;
+                propertyMenuButton.IsSelected = true;
 
             }
             else if (selectId == 1)
@@ -233,6 +267,7 @@
                 shareMenuButton.IsSelected = true;
                 alarmMenuButton.IsSelected = false;
                 systemMenuButton.IsSelected = false;
+                propertyMenuButton.IsSelected = false;
 
             }
             else if (selectId == 2)
@@ -241,6 +276,7 @@
                 shareMenuButton.IsSelected = false;
                 alarmMenuButton.IsSelected = true;
                 systemMenuButton.IsSelected = false;
+                propertyMenuButton.IsSelected = false;
             }
             else if (selectId == 3)
             {
@@ -248,8 +284,20 @@
                 shareMenuButton.IsSelected = false;
                 alarmMenuButton.IsSelected = false;
                 systemMenuButton.IsSelected = true;
+                propertyMenuButton.IsSelected = false;
 
             }
+            else if (selectId == 4)
+            {
+                allMenuButton.IsSelected = false;
+                shareMenuButton.IsSelected = false;
+                alarmMenuButton.IsSelected = false;
+                systemMenuButton.IsSelected = false;
+                propertyMenuButton.IsSelected = true;
+
+            }
+
+            menuView.ScrollToX(selectId * Application.GetRealWidth(40));
 
             GetPushMessageList(showMesType);
         }
@@ -359,16 +407,17 @@
 
 
             btnDatetime.Text = GetUnixToDateTime(pushMessageInfo.createTime);
-            //2020-12-23 鍘绘帀鐐瑰嚮寮圭獥浜嬩欢
-            //EventHandler<MouseEventArgs> eventHandler = (sender, e) =>
-            //{
-            //    new Alert(pushMessageInfo.messageTitle, pushMessageInfo.messageContent, Language.StringByID(StringId.Close)).Show();
-            //};
-            //rowView.MouseUpEventHandler = eventHandler;
-            //btnTilte.MouseUpEventHandler = eventHandler;
-            //btnSubtitle.MouseUpEventHandler = eventHandler;
 
-           
+            EventHandler<MouseEventArgs> eventHandler = (sender, e) =>
+            {
+                OnClickPushMessageInfo(pushMessageInfo);
+                //new Alert(pushMessageInfo.messageTitle, pushMessageInfo.messageContent, Language.StringByID(StringId.Close)).Show();
+            };
+            rowView.MouseUpEventHandler = eventHandler;
+            btnTilte.MouseUpEventHandler = eventHandler;
+            btnSubtitle.MouseUpEventHandler = eventHandler;
+
+
         }
 
         /// <summary>
@@ -402,7 +451,13 @@
             {
                 try
                 {
-                    var result = new HttpServerRequest().PushSerivceDeleteMessage(pushMessageInfo.id);
+                    var delPush = new PushMsgIdObj()
+                    {
+                        msgId = pushMessageInfo.id,
+                        pushType = pushMessageInfo.pushType
+                    };
+
+                    var result = new HttpServerRequest().PushSerivceDeleteMessage(delPush);
                     if (result)
                     {
                         PushMessageInfoList.Remove(pushMessageInfo);
@@ -467,7 +522,7 @@
         void GetPushMessageList(int queryType = 0)
         {
             bodyScrolView.RemoveAll();
-            if(PushMessageInfoList == null)
+            if (PushMessageInfoList == null)
             {
                 PushMessageInfoList = new List<PushMessageInfo>();
             }
@@ -475,7 +530,7 @@
             {
                 PushMessageInfoList.Clear();
             }
-          
+
             YearMark = "";//鏍囪娓呯┖
             if (string.IsNullOrEmpty(OnAppConfig.Instance.PushId))
             {
@@ -494,7 +549,14 @@
                     var result = new HttpServerRequest().PushSerivceGetPushmessagelist(queryType);
                     if (result.Code == StateCode.SUCCESS)
                     {
-                        PushMessageInfoList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<PushMessageInfo>>(result.Data.ToString());
+                        //PushMessageInfoList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<PushMessageInfo>>(result.Data.ToString());
+                        //2021-08-28 鏀逛负鍒嗛〉鎺ュ彛
+                        var mPushMesList = Newtonsoft.Json.JsonConvert.DeserializeObject<PushMessageInfoList>(result.Data.ToString());
+                        if (mPushMesList != null)
+                        {
+                            PushMessageInfoList = mPushMesList.list;
+                        }
+
                         Application.RunOnMainThread(() =>
                         {
                             if (PushMessageInfoList != null && PushMessageInfoList.Count > 0)
@@ -562,7 +624,107 @@
             }
         }
 
-#region 娴嬭瘯
+        /// <summary>
+        /// 鑾峰彇鐗╀笟閫氱煡璇︽儏
+        /// </summary>
+        /// <param name="noticeId"></param>
+        void GetPropertyNoticeDetails(string noticeId)
+        {
+            var waitPage = new Loading();
+            bodyView.AddChidren(waitPage);
+            waitPage.Start(Language.StringByID(StringId.PleaseWait));
+
+            new Thread(() =>
+            {
+                try
+                {
+                    var result = new HttpServerRequest().GetPropertyNoticeDetails(noticeId);
+                    if (result.Code == StateCode.SUCCESS)
+                    {
+                        var mPushNoticeInfo = Newtonsoft.Json.JsonConvert.DeserializeObject<PushNoticeInfo>(result.Data.ToString());
+                        if (mPushNoticeInfo != null)
+                        {
+                            Application.RunOnMainThread(() =>
+                            {
+                                new WebViewDialog().LoadPageWithHtmlStr(mPushNoticeInfo.title, mPushNoticeInfo.content);
+                            });
+                        }
+                    }
+                }
+                catch (Exception ex)
+                {
+                }
+                finally
+                {
+                    Application.RunOnMainThread(() =>
+                    {
+                        if (waitPage != null)
+                        {
+                            waitPage.RemoveFromParent();
+                            waitPage = null;
+                        }
+                    });
+                }
+            })
+            { IsBackground = true }.Start();
+        }
+
+        /// <summary>
+        /// 閫氱煡淇℃伅鐐瑰嚮浜嬩欢
+        /// </summary>
+        /// <param name="pushMessageInfo"></param>
+        void OnClickPushMessageInfo(PushMessageInfo pushMessageInfo)
+        {
+
+            if (pushMessageInfo.pushType == PushType.Notice.ToString())
+            {
+                //Utlis.WriteLine("鐗╀笟閫氱煡");
+                string noticeId = GetNoticeId(pushMessageInfo.messageExpand);
+                if (!string.IsNullOrEmpty(noticeId))
+                {
+                    GetPropertyNoticeDetails(noticeId);
+                }
+                else
+                {
+                    Utlis.WriteLine("noticeId null");
+                }
+            }
+            else
+            {
+                Utlis.WriteLine("鍏跺畠閫氱煡绫诲瀷");
+            }
+        }
+
+        /// <summary>
+        /// 瑙f瀽messageExpand 鎻愬彇targetId
+        /// </summary>
+        /// <param name="messageExpand"></param>
+        /// <returns></returns>
+        string GetNoticeId(string messageExpand)
+        {
+            try
+            {
+                if (!string.IsNullOrEmpty(messageExpand))
+                {
+                    var mMessageExpandInfo = Newtonsoft.Json.JsonConvert.DeserializeObject<MessageExpandInfo>(messageExpand);
+                    if (mMessageExpandInfo != null)
+                    {
+                        var mExpantContentInfo = Newtonsoft.Json.JsonConvert.DeserializeObject<ExpantContentInfo>(mMessageExpandInfo.expantContent);
+                        if(mExpantContentInfo != null)
+                        {
+                            return mExpantContentInfo.targetId;
+                        }
+                    }
+                }
+                return null;
+            }
+            catch
+            {
+                return null;
+            }
+        }
+
+        #region 娴嬭瘯
 #if DEBUG
         /// <summary>
         /// 
@@ -637,7 +799,7 @@
 
 #endif
 
-#endregion
+        #endregion
 
         /// <summary>
         /// 鏍囪鎵�鏈夋帹閫佹秷鎭凡璇�
@@ -727,10 +889,10 @@
         /// 娑堟伅鍐呭
         /// </summary>
         public string messageContent;
-        ///// <summary>
-        ///// 鎵╁睍鏁版嵁
-        ///// </summary>
-        //public string messageExpand;
+        /// <summary>
+        /// 鎵╁睍鏁版嵁
+        /// </summary>
+        public string messageExpand;
         ///// <summary>
         ///// 娑堟伅绫诲瀷锛�0锛氭彁绀猴紱1锛氭姤璀︼紱2锛氫赴鏋楀彲鏄璁插懠鍙紱3锛氬己鍒朵笅绾挎帹閫�
         ///// </summary>
@@ -745,4 +907,66 @@
         public long createTime;
     }
 
+
+    /// <summary>
+    // 鎺ㄩ�佹秷鎭垎椤靛璞�
+    /// </summary>
+    public class PushMessageInfoList : BasePagingObj
+    {
+        public List<PushMessageInfo> list = new List<PushMessageInfo>();
+
+    }
+
+
+    /// <summary>
+    /// 鐗╀笟鍏憡璇︽儏
+    /// </summary>
+    [System.Serializable]
+    public class PushNoticeInfo
+    {
+        /// <summary>
+        /// 娑堟伅ID
+        /// </summary>
+        public string noticeId;
+        /// <summary>
+        /// 娑堟伅鏍囬
+        /// </summary>
+        public string title;
+        /// <summary>
+        /// 瀵屾枃鏈唴瀹�
+        /// </summary>
+        public string content;
+    }
+
+    /// <summary>
+    /// 鎺ㄩ�佹墿灞曚俊鎭�
+    /// </summary>
+    [System.Serializable]
+    public class MessageExpandInfo
+    {
+        /// <summary>
+        /// expantContent
+        /// </summary>
+        public string expantContent;
+      
+    }
+
+    /// <summary>
+    /// 鎺ㄩ�佹墿灞曚俊鎭�
+    /// </summary>
+    [System.Serializable]
+    public class ExpantContentInfo
+    {
+        /// <summary>
+        /// targetId
+        /// </summary>
+        public string targetId;
+        /// <summary>
+        /// messageType
+        /// </summary>
+        public string messageType;
+
+    }
+
+
 }

--
Gitblit v1.8.0