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/HomePage.cs |  497 ++++++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 420 insertions(+), 77 deletions(-)

diff --git a/HDL_ON/UI/UI2/1-HomePage/HomePage.cs b/HDL_ON/UI/UI2/1-HomePage/HomePage.cs
index a3bf4c3..1c437a3 100644
--- a/HDL_ON/UI/UI2/1-HomePage/HomePage.cs
+++ b/HDL_ON/UI/UI2/1-HomePage/HomePage.cs
@@ -27,6 +27,12 @@
         /// </summary>
         Button btnLinkStateTip;
         /// <summary>
+        /// 瀹夐槻鐘舵�佸浘鏍�
+        /// </summary>
+        Button btnSecurityStatus;
+
+
+        /// <summary>
         ///浣忓畢鍚嶇О鏄剧ず
         /// </summary>
         Button btnResidenceName;
@@ -35,13 +41,21 @@
         /// </summary>
         FrameLayout environmentalView;
         /// <summary>
-        /// 褰撳墠娓╁害淇℃伅
+        /// 褰撳墠娓╁害淇℃伅-瀹ゅ
         /// </summary>
         TextButton btnTempValues;
         /// <summary>
-        /// 褰撳墠婀垮害淇℃伅
+        /// 褰撳墠婀垮害淇℃伅-瀹ゅ
         /// </summary>
         TextButton btnHumidityValues;
+        /// <summary>
+        /// 褰撳墠娓╁害淇℃伅-瀹ゅ唴
+        /// </summary>
+        TextButton btnIndoorTempValues;
+        /// <summary>
+        /// 褰撳墠婀垮害淇℃伅-瀹ゅ唴
+        /// </summary>
+        TextButton btnIndoorHumiValues;
         /// <summary>
         /// 褰撳墠pm2.5鐘舵��
         /// </summary>
@@ -113,6 +127,7 @@
 
         public void LoadPage()
         {
+            MainPage.CurPageIndex = 0;
             try
             {
                 this.BeginHeaderRefreshingAction = () =>
@@ -120,6 +135,10 @@
                     this.EndHeaderRefreshing();
                     Common.ApiUtlis.Ins.DownloadData();
                     LoadContentView();
+                    if(!CurShowTypeIsFunction)
+                    {
+                        contentView.PageIndex = 1;
+                    }
                 };
 
                 #region topView
@@ -152,7 +171,7 @@
                 topView.AddChidren(btnLinkStateTip);
                 //鏇存柊閾炬帴鐘舵�乮con棰滆壊
                 CheckLinkStatus();//2020-12-22
-                //LoadEvent_CheckLinkStatus();
+                
 
                 btnResidenceName = new Button()
                 {
@@ -163,16 +182,16 @@
                     TextColor = CSS_Color.MainBackgroundColor,
                     TextSize = CSS_FontSize.EmphasisFontSize_FirstLevel,
                     TextAlignment = TextAlignment.CenterLeft,
-                    Text = DB_ResidenceData.Instance.CurrentRegion.Name,
+                    Text = DB_ResidenceData.Instance.CurrentRegion.homeName,
                     IsBold = true
                 };
                 topView.AddChidren(btnResidenceName);
 
 #if DEBUG
-                //鎼滅储缃戝叧
+                int msdId = 111;
                 btnResidenceName.MouseUpEventHandler = (sender, e) =>
                 {
-                  
+                    Control.Ins.AuthGateway();
                 };
 #endif
 
@@ -183,9 +202,55 @@
                 };
                 topView.AddChidren(environmentalView);
                 #region 鐜鏁版嵁
+                var tempSensorList = FunctionList.List.GetEnvirSensorsList().FindAll((obj) => obj.spk == SPK.SensorTemperature);
+                var humiSensorList = FunctionList.List.GetEnvirSensorsList().FindAll((obj) => obj.spk == SPK.SensorHumidity);
+                var enviList = FunctionList.List.GetEnvirSensorsList().FindAll((obj) => SPK.EvironmentSensorList().Contains(obj.spk));
+                foreach (var enviTemp in enviList)
+                {
+                    var humiAttr = enviTemp.attributes.Find((obj) => obj.key == "humidity");
+                    if (humiAttr != null)
+                    {
+                        var newTemp = new Function()
+                        {
+                            name = enviTemp.name,
+                            sid = enviTemp.sid,
+                            deviceId = enviTemp.deviceId,
+                            attributes = new List<FunctionAttributes> { new FunctionAttributes { key = "value", state = humiAttr.state, curValue = humiAttr.curValue } },
+                        };
+                        humiSensorList.Add(newTemp);
+                    }
+                    var tempAttr = enviTemp.attributes.Find((obj) => obj.key == "temperature");
+                    if (tempAttr != null)
+                    {
+                        var newTemp = new Function()
+                        {
+                            name = enviTemp.name,
+                            sid = enviTemp.sid,
+                            deviceId = enviTemp.deviceId,
+                            attributes = new List<FunctionAttributes> { new FunctionAttributes { key = "value", state = tempAttr.state, curValue = tempAttr.curValue } },
+                        };
+                        tempSensorList.Add(newTemp);
+                    }
+                }
+
+                var btnEnvirValuesTitle = new Button() {
+                    X = Application.GetRealWidth(12),
+                    Gravity = Gravity.CenterVertical,
+                    TextColor = CSS_Color.MainBackgroundColor,
+                    TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
+                    TextID = StringId.Outdoor,
+                    TextAlignment = TextAlignment.CenterLeft,
+                };
+                if (tempSensorList.Count > 0 || humiSensorList.Count > 0)
+                {
+                    btnEnvirValuesTitle.TextID = StringId.InOutdoor;
+                }
+                btnEnvirValuesTitle.Width = Application.GetRealWidth(8) + btnEnvirValuesTitle.GetTextWidth();
+                environmentalView.AddChidren(btnEnvirValuesTitle);
+
                 Button btnTempIcon = new Button()
                 {
-                    X = Application.GetRealWidth(12),
+                    X = btnEnvirValuesTitle.Right,
                     Gravity = Gravity.CenterVertical,
                     Width = Application.GetMinRealAverage(16),
                     Height = Application.GetMinRealAverage(16),
@@ -196,18 +261,50 @@
                 btnTempValues = new TextButton()
                 {
                     X = btnTempIcon.Right + Application.GetRealWidth(4),
-                    Width = Application.GetRealWidth(30),
                     Gravity = Gravity.CenterVertical,
                     TextColor = CSS_Color.MainBackgroundColor,
                     TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
                     Text = MainPage.cityInfo.temperature + "掳",
                     TextAlignment = TextAlignment.CenterLeft,
                 };
+                btnTempValues.Width = btnTempValues.GetTextWidth();
                 environmentalView.AddChidren(btnTempValues);
+
+                btnIndoorTempValues = new TextButton()
+                {
+                    X = btnTempValues.Right,
+                    Gravity = Gravity.CenterVertical,
+                    TextColor = CSS_Color.MainBackgroundColor,
+                    TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
+                    TextAlignment = TextAlignment.CenterLeft,
+                    Text = ""
+                };
+                if (tempSensorList.Count > 0)
+                {
+                    btnIndoorTempValues.Text = "/--掳";
+                    double tempTotalValues = 0;
+                    double tempTotalCount = 0;
+                    foreach (var temp in tempSensorList)
+                    {
+                        double tempValue = 0;
+                        double.TryParse(temp.GetAttrState(FunctionAttributeKey.Value), out tempValue);
+                        if (tempValue > 0)
+                        {
+                            tempTotalValues += tempValue;
+                            tempTotalCount++;
+                        }
+                    }
+                    if (tempTotalValues > 0)
+                    {
+                        btnIndoorTempValues.Text = "/" + (tempTotalValues/ tempTotalCount).ToString("0.0") + "掳";
+                    }
+                }
+                btnIndoorTempValues.Width = btnIndoorTempValues.GetTextWidth();
+                environmentalView.AddChidren(btnIndoorTempValues);
 
                 Button btnHumidityIcon = new Button()
                 {
-                    X = btnTempValues.Right + Application.GetRealWidth(2),
+                    X = btnIndoorTempValues.Right + Application.GetRealWidth(8),
                     Gravity = Gravity.CenterVertical,
                     Width = Application.GetMinRealAverage(16),
                     Height = Application.GetMinRealAverage(16),
@@ -218,18 +315,50 @@
                 btnHumidityValues = new TextButton()
                 {
                     X = btnHumidityIcon.Right + Application.GetRealWidth(4),
-                    Width = Application.GetRealWidth(30),
                     Gravity = Gravity.CenterVertical,
                     TextColor = CSS_Color.MainBackgroundColor,
                     TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
                     Text = MainPage.cityInfo.humidity + "%",
                     TextAlignment = TextAlignment.CenterLeft,
                 };
+                btnHumidityValues.Width = btnHumidityValues.GetTextWidth();
                 environmentalView.AddChidren(btnHumidityValues);
+
+                btnIndoorHumiValues = new TextButton()
+                {
+                    X = btnHumidityValues.Right,
+                    Gravity = Gravity.CenterVertical,
+                    TextColor = CSS_Color.MainBackgroundColor,
+                    TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
+                    TextAlignment = TextAlignment.CenterLeft,
+                    Text = ""
+                };
+                if (tempSensorList.Count > 0)
+                {
+                    btnIndoorHumiValues.Text = "/--%";
+                    double humiTotalValues = 0;
+                    double humiTotalCount = 0;
+                    foreach (var humi in humiSensorList)
+                    {
+                        double humiValue = 0;
+                        double.TryParse(humi.GetAttrState(FunctionAttributeKey.Value), out humiValue);
+                        if (humiValue > 0)
+                        {
+                            humiTotalValues += humiValue;
+                            humiTotalCount++;
+                        }
+                    }
+                    if (humiTotalValues > 0)
+                    {
+                        btnIndoorHumiValues.Text = "/" + (humiTotalValues / humiTotalCount).ToString("0") + "%";
+                    }
+                }
+                btnIndoorHumiValues.Width = btnIndoorHumiValues.GetTextWidth();
+                environmentalView.AddChidren(btnIndoorHumiValues);
 
                 Button btnPm25Icon = new Button()
                 {
-                    X = btnHumidityValues.Right + Application.GetRealWidth(2),
+                    X = btnIndoorHumiValues.Right + Application.GetRealWidth(4),
                     Gravity = Gravity.CenterVertical,
                     Width = Application.GetMinRealAverage(16),
                     Height = Application.GetMinRealAverage(16),
@@ -240,15 +369,53 @@
                 btnPm25Values = new TextButton()
                 {
                     X = btnPm25Icon.Right + Application.GetRealWidth(4),
-                    Width = Application.GetRealWidth(130),
                     Gravity = Gravity.CenterVertical,
                     TextColor = CSS_Color.MainBackgroundColor,
                     TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
                     Text = MainPage.cityInfo.pm25,
                     TextAlignment = TextAlignment.CenterLeft,
                 };
+                btnPm25Values.Width = btnPm25Values.GetTextWidth();
                 environmentalView.AddChidren(btnPm25Values);
                 #endregion
+
+                btnSecurityStatus = new Button()
+                {
+                    X = Application.GetRealWidth(329),
+                    Y = Application.GetRealHeight(34),
+                    Width = Application.GetRealWidth(30),
+                    Height = Application.GetRealWidth(30),
+                    SelectedImagePath = "Collection/DefenseStatusIcon.png",
+                    UnSelectedImagePath = "Collection/DisarmStatusIcon.png"
+                };
+                if (DB_ResidenceData.Instance.GatewayType == 1)
+                {
+                    topView.AddChidren(btnSecurityStatus);
+                    foreach (var temp in FunctionList.List.securities)
+                    {
+                        if (temp.status == "enable")
+                        {
+                            btnSecurityStatus.IsSelected = true;
+                            if (temp.alarm)
+                            {
+                                btnSecurityStatus.SelectedImagePath = "Collection/DefenseAlarmIcon.png";
+                            }
+                            else
+                            {
+                                btnSecurityStatus.SelectedImagePath = "Collection/DefenseStatusIcon.png";
+                            }
+                            break;
+                        }
+                    }
+
+                    btnSecurityStatus.MouseUpEventHandler = (sender, e) => {
+                        var page = new ArmCenterPage();
+                        MainPage.BasePageView.AddChidren(page);
+                        page.LoadPage();
+                        MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+                    };
+                }
+
 
                 #region msg
                 FrameLayout msgView;
@@ -380,6 +547,153 @@
                 MainPage.Log($"HomePage LoadPage Error : {ex.Message}");
             }
 
+
+#if DEBUG
+
+
+            //FunctionList.List.Functions.Add(new Function()
+            //{
+            //    spk = SPK.SensorDryContact,
+            //    name = "骞叉帴鐐�",
+            //    attributes = new List<FunctionAttributes>()
+            //    {
+            //        new FunctionAttributes(){ key = "status",curValue= "on",state = "on" },
+            //    },
+            //});
+
+            //FunctionList.List.Functions.Add(new Function()
+            //{
+            //    spk = SPK.AirSwitch,
+            //    name = "鏅鸿兘绌哄紑",
+            //    attributes = new List<FunctionAttributes>()
+            //    {
+            //        new FunctionAttributes(){ key = "on_off",curValue= "on",state = "on" },
+            //    },
+            //});
+
+            //FunctionList.List.Functions.Add(new Function()
+            //{
+            //    spk = SPK.AirFreshStandard,
+            //    name = "娴嬭瘯鏂伴",
+            //    attributes = new List<FunctionAttributes>()
+            //    {
+            //        new FunctionAttributes(){ key = "on_off",curValue= "on",state = "on" },
+            //        new FunctionAttributes(){ key = "fan",curValue= "low",state = "low" ,value = new List<string>(){ "high", "medium", "low" } },
+            //    },
+            //});
+
+
+            FunctionList.List.Functions.Add(new Function()
+            {
+                spk = SPK.HvacAirFreshJinmao,
+                name = "娴嬭瘯閲戣寕鏂伴",
+                attributes = new List<FunctionAttributes>()
+                {
+                    new FunctionAttributes(){ key = "on_off",curValue= "on",state = "on" },
+                    new FunctionAttributes(){ key = "mode",curValue= "humidification",state = "humidification" ,value = new List<string>(){ "humidification", "fan" } },
+                    new FunctionAttributes(){ key = "energy",curValue= "true",state = "true" ,value = new List<string>(){ "true", "false" } },
+                    new FunctionAttributes(){ key = "fan",curValue= "level_1",state = "level_1" ,value = new List<string>(){ "level_1", "level_2", "level_3","auto" } },
+                    new FunctionAttributes(){ key = "humidity",curValue= "0",state = "0" ,value = new List<string>(){  },min = 0,max = 100 },
+                    new FunctionAttributes(){ key = "indoor_temp",curValue= "26",state = "26" ,value = new List<string>(){  },min = 0,max = 100 },
+                    new FunctionAttributes(){ key = "indoor_humidity",curValue= "0",state = "0" ,value = new List<string>(){  },min = 0,max = 100 },
+                    new FunctionAttributes(){ key = "filter_remain",curValue= "0",state = "0" ,value = new List<string>(){  },min = 0,max = 100 },
+                    new FunctionAttributes(){ key = "filter_timeout",curValue= "false",state = "false" ,value = new List<string>(){ "true", "false"  }},
+                },
+            });
+
+            //FunctionList.List.Functions.Add(new Function()
+            //{
+            //    spk = SPK.SensorGas,
+            //    name = "鐕冩皵浼犳劅鍣�",
+            //    attributes = new List<FunctionAttributes>()
+            //    {
+            //        new FunctionAttributes(){ key = "enable",curValue= "true",state = "true" ,value = new List<string>(){ "true", "false" } },
+            //        new FunctionAttributes(){ key = "status",curValue= "normal",state = "normal" ,value = new List<string>(){ "alarm", "normal" } },
+            //    },
+            //});
+
+            //FunctionList.List.Functions.Add(new Function() { spk = SPK.PjtIr, name = "娴嬭瘯鎶曞奖浠�",
+            //                            attributes = new List<FunctionAttributes>() {
+            //                                new FunctionAttributes(){ key = "on_off",curValue= "on",state = "on" },
+            //                                new FunctionAttributes(){ key = "computer",value = new List<string>(){"鐢佃剳" } },
+            //                                new FunctionAttributes(){ key = "video",value = new List<string>(){"瑙嗛" } },
+            //                                new FunctionAttributes(){ key = "source",value = new List<string>(){"淇″彿婧�" } },
+            //                                new FunctionAttributes(){ key = "zoom+",value = new List<string>(){"鍙樼劍+" } },
+            //                                new FunctionAttributes(){ key = "zoom-",value = new List<string>(){"鍙樼劍-" } },
+            //                                new FunctionAttributes(){ key = "page+",value = new List<string>(){"鐢婚潰+" } },
+            //                                new FunctionAttributes(){ key = "page-",value = new List<string>(){"鐢婚潰-" } },
+            //                                new FunctionAttributes(){ key = "menu",value = new List<string>(){"鑿滃崟" } },
+            //                                new FunctionAttributes(){ key = "ok",value = new List<string>(){"纭" } },
+            //                                new FunctionAttributes(){ key = "up",value = new List<string>(){"涓�" } },
+            //                                new FunctionAttributes(){ key = "left",value = new List<string>(){"宸�" } },
+            //                                new FunctionAttributes(){ key = "right",value = new List<string>(){"鍙�" } },
+            //                                new FunctionAttributes(){ key = "down",value = new List<string>(){"涓�" } },
+            //                                new FunctionAttributes(){ key = "exit",value = new List<string>(){"閫�鍑�" } },
+            //                                new FunctionAttributes(){ key = "volume+",value = new List<string>(){"闊抽噺+" } },
+            //                                new FunctionAttributes(){ key = "volume-",value = new List<string>(){"闊抽噺-" } },
+            //                                new FunctionAttributes(){ key = "mute",value = new List<string>(){"闈欓煶" } },
+            //                                new FunctionAttributes(){ key = "auto",value = new List<string>(){"鑷姩" } },
+            //                                new FunctionAttributes(){ key = "pause",value = new List<string>(){"鏆傚仠" } },
+            //                            }
+            //});
+
+            //FunctionList.List.Functions.Add(new Function()
+            //{
+            //    spk = SPK.StbIr,
+            //    name = "娴嬭瘯鏈洪《鐩�",
+            //    attributes = new List<FunctionAttributes>() {
+            //                                new FunctionAttributes(){ key = "on_off",curValue= "on",state = "on" },
+            //                                new FunctionAttributes(){ key = "computer",value = new List<string>(){"鐢佃剳" } },
+            //                                new FunctionAttributes(){ key = "video",value = new List<string>(){"瑙嗛" } },
+            //                                new FunctionAttributes(){ key = "source",value = new List<string>(){"淇″彿婧�" } },
+            //                                new FunctionAttributes(){ key = "zoom+",value = new List<string>(){"鍙樼劍+" } },
+            //                                new FunctionAttributes(){ key = "zoom-",value = new List<string>(){"鍙樼劍-" } },
+            //                                new FunctionAttributes(){ key = "page+",value = new List<string>(){"鐢婚潰+" } },
+            //                                new FunctionAttributes(){ key = "page-",value = new List<string>(){"鐢婚潰-" } },
+            //                                new FunctionAttributes(){ key = "menu",value = new List<string>(){"鑿滃崟" } },
+            //                                new FunctionAttributes(){ key = "ok",value = new List<string>(){"纭" } },
+            //                                new FunctionAttributes(){ key = "up",value = new List<string>(){"涓�" } },
+            //                                new FunctionAttributes(){ key = "left",value = new List<string>(){"宸�" } },
+            //                                new FunctionAttributes(){ key = "right",value = new List<string>(){"鍙�" } },
+            //                                new FunctionAttributes(){ key = "down",value = new List<string>(){"涓�" } },
+            //                                new FunctionAttributes(){ key = "exit",value = new List<string>(){"閫�鍑�" } },
+            //                                new FunctionAttributes(){ key = "volume+",value = new List<string>(){"闊抽噺+" } },
+            //                                new FunctionAttributes(){ key = "volume-",value = new List<string>(){"闊抽噺-" } },
+            //                                new FunctionAttributes(){ key = "mute",value = new List<string>(){"闈欓煶" } },
+            //                                new FunctionAttributes(){ key = "auto",value = new List<string>(){"鑷姩" } },
+            //                                new FunctionAttributes(){ key = "pause",value = new List<string>(){"鏆傚仠" } },
+            //                            }
+            //});
+
+            //FunctionList.List.Functions.Add(new Function()
+            //{
+            //    spk = SPK.TvIr,
+            //    name = "娴嬭瘯鐢佃",
+            //    attributes = new List<FunctionAttributes>() {
+            //                                new FunctionAttributes(){ key = "on_off",curValue= "on",state = "on" },
+            //                                new FunctionAttributes(){ key = "computer",value = new List<string>(){"鐢佃剳" } },
+            //                                new FunctionAttributes(){ key = "video",value = new List<string>(){"瑙嗛" } },
+            //                                new FunctionAttributes(){ key = "source",value = new List<string>(){"淇″彿婧�" } },
+            //                                new FunctionAttributes(){ key = "zoom+",value = new List<string>(){"鍙樼劍+" } },
+            //                                new FunctionAttributes(){ key = "zoom-",value = new List<string>(){"鍙樼劍-" } },
+            //                                new FunctionAttributes(){ key = "page+",value = new List<string>(){"鐢婚潰+" } },
+            //                                new FunctionAttributes(){ key = "page-",value = new List<string>(){"鐢婚潰-" } },
+            //                                new FunctionAttributes(){ key = "menu",value = new List<string>(){"鑿滃崟" } },
+            //                                new FunctionAttributes(){ key = "ok",value = new List<string>(){"纭" } },
+            //                                new FunctionAttributes(){ key = "up",value = new List<string>(){"涓�" } },
+            //                                new FunctionAttributes(){ key = "left",value = new List<string>(){"宸�" } },
+            //                                new FunctionAttributes(){ key = "right",value = new List<string>(){"鍙�" } },
+            //                                new FunctionAttributes(){ key = "down",value = new List<string>(){"涓�" } },
+            //                                new FunctionAttributes(){ key = "exit",value = new List<string>(){"閫�鍑�" } },
+            //                                new FunctionAttributes(){ key = "volume+",value = new List<string>(){"闊抽噺+" } },
+            //                                new FunctionAttributes(){ key = "volume-",value = new List<string>(){"闊抽噺-" } },
+            //                                new FunctionAttributes(){ key = "mute",value = new List<string>(){"闈欓煶" } },
+            //                                new FunctionAttributes(){ key = "auto",value = new List<string>(){"鑷姩" } },
+            //                                new FunctionAttributes(){ key = "pause",value = new List<string>(){"鏆傚仠" } },
+            //                            }
+            //});
+#endif
+
         }
         /// <summary>
         /// 鍔犺浇鍐呭鍖哄煙
@@ -413,8 +727,13 @@
                             sceneFunctionView = new VerticalScrolViewLayout();
                             contentView.AddChidren(sceneFunctionView);
                             LoadSceneFunctionControlZone();
-                            contentView.PageIndex = 0;
-
+                            if (CurShowTypeIsFunction)
+                            {
+                                contentView.PageIndex = 0;
+                            }else
+                            {
+                                contentView.PageIndex = 1;
+                            }
 
                             LoadEvent_ChangeShowedFunctionType();
 
@@ -422,7 +741,11 @@
                             GetUnreadPushMessages();
                             RegisterGetPushMessageAction();
 
-                            waitPage.Hide();
+                            if (waitPage != null)
+                            {
+                                waitPage.RemoveFromParent();
+                                waitPage = null;
+                            }
                         });
                     }
                     catch (Exception ex) {
@@ -441,7 +764,15 @@
                 sceneFunctionView = new VerticalScrolViewLayout();
                 contentView.AddChidren(sceneFunctionView);
                 LoadSceneFunctionControlZone();
-                contentView.PageIndex = 0;
+
+                if (CurShowTypeIsFunction)
+                {
+                    contentView.PageIndex = 0;
+                }
+                else
+                {
+                    contentView.PageIndex = 1;
+                }
 
 
                 LoadEvent_ChangeShowedFunctionType();
@@ -459,7 +790,6 @@
         /// </summary>
         void LoadDeviceFunctionControlZone()
         {
-         
             #region ContextView
             deviceFunctionView.RemoveAll();
             functionViews.Clear();
@@ -467,12 +797,18 @@
             try
             {
                 int index = 0;
-                foreach (var function in FunctionList.List.GetDeviceFunctionList())
+                var list = FunctionList.List.GetDeviceFunctionList();
+                foreach (var function in list)
                 {
                     //闊充箰妯″潡鏈変富浠庡叧绯伙紝闇�瑕佺壒娈婂鐞�
-                    if (function.Spk_Prefix == FunctionCategory.Music)
+                    if (SPK.MusicSpkList().Contains( function.spk))
                     {
-                        var music = function as Music.A31MusicModel;
+                        //var music = function as Music.A31MusicModel;
+                        var music = Music.A31MusicModel.A31MusicModelList.Find((obj) => obj.sid == function.sid);
+                        if (music == null)
+                        {
+                            continue;
+                        }
                         if (music.ServerClientType == -1)
                         {
                             continue;
@@ -672,6 +1008,11 @@
                 };
                 view.AddChidren(btnIcon);
 
+
+                btnIcon.UnSelectedImagePath = $"FunctionIcon/Icon/HomeIcon/{function.IconName}_blue.png";
+                btnIcon.SelectedImagePath = $"FunctionIcon/Icon/HomeIcon/{function.IconName}_white.png";
+
+
                 Button btnName;
                 btnName = new Button()
                 {
@@ -732,16 +1073,17 @@
                     SelectedImagePath = "Collection/CollectionWhiteIcon.png",
                     UnSelectedImagePath = "Collection/CollectionIcon.png",
                 };
-                //view.AddChidren(btnCollection);
+                view.AddChidren(btnCollection);
                 //2020-12-16 濡傛灉鏄垚鍛橀殣钘忔敹钘忓姛鑳�
-                if (!DB_ResidenceData.Instance.CurrentRegion.IsOthreShare)
-                {
-                    view.AddChidren(btnCollection);
-                }
+                //if (!DB_ResidenceData.Instance.CurrentRegion.isOtherShare)
+                //{
+                //    view.AddChidren(btnCollection);
+                //}
 
                 LoadEvent_FunctionCollection(btnCollection, function);
-
-                if (function.Spk_Prefix == FunctionCategory.Curtain)
+                if (//SPK.CurtainSpkList().Contains(function.spk))
+                    function.spk == SPK.CurtainRoller || function.spk == SPK.CurtainShades ||
+                    function.spk == SPK.CurtainSwitch || function.spk == SPK.CurtainTrietex )
                 {
                     btnIcon.UnSelectedImagePath = "FunctionIcon/Curtain/CurtainIcon.png";
                     btnIcon.SelectedImagePath = "FunctionIcon/Curtain/CurtainOnIcon.png";
@@ -769,26 +1111,26 @@
                     };
                     view.AddChidren(btnCurtainOpen);
 
-                    LoadEvent_ControlCurtain(function as Curtain, btnCurtainClose, btnCurtainOpen);
+                    LoadEvent_ControlCurtain(function, btnCurtainClose, btnCurtainOpen);
                 }
 
-                else if (function.spk == SPK.ElectricTV)
+                else if (SPK.NotStatusSpkList.Contains(function.spk))
                 {
-                    btnIcon.UnSelectedImagePath = "FunctionIcon/Electrical/TVIcon.png";
                     Button btnPower;
                     btnPower = new Button()
                     {
                         X = Application.GetRealWidth(131),
-                        Y = Application.GetRealHeight(86),
+                        Y = Application.GetRealHeight(80),
                         Width = Application.GetRealWidth(32),
                         Height = Application.GetRealWidth(32),
                         UnSelectedImagePath = "Public/PowerClose.png",
+                        SelectedImagePath = "Public/PowerOpen.png",
                     };
                     view.AddChidren(btnPower);
-                    LoadEvent_ControlTV(function as TV, btnPower);
+                    LoadEvent_ControlTV(function, btnPower);
                 }
 
-                else if (function.Spk_Prefix == FunctionCategory.Music)
+                else if (function.spk == SPK.MusicStandard || function.spk == SPK.AvMusic)
                 {
                     btnIcon.UnSelectedImagePath = "FunctionIcon/Music/MusicIcon.png";
                     btnIcon.SelectedImagePath = "FunctionIcon/Music/MusicOnIcon.png";
@@ -831,6 +1173,39 @@
                     };
                 }
 
+                else if (function.spk == SPK.ClothesHanger)
+                {
+                    btnIcon.UnSelectedImagePath = "FunctionIcon/Electrical/ClothesHanger/ClothesHangerBlueIcon.png";
+                    btnIcon.SelectedImagePath = "FunctionIcon/Electrical/Curtain/ClothesHangerBlueIcon.png";
+                    Button btnUp;
+                    btnUp = new Button()
+                    {
+                        X = Application.GetRealWidth(84+3),
+                        Y = Application.GetRealWidth(89),
+                        Width = Application.GetRealWidth(38),
+                        Height = Application.GetRealWidth(38),
+                        UnSelectedImagePath = "FunctionIcon/Electrical/ClothesHanger/ClothesHangerUpIcon2.png",
+                        SelectedImagePath = "FunctionIcon/Electrical/ClothesHanger/ClothesHangerUpIcon2On.png",
+                    };
+                    view.AddChidren(btnUp);
+
+                    Button btnDown;
+                    btnDown = new Button()
+                    {
+                        X = btnUp.Right + Application.GetRealWidth(3),
+                        Y = Application.GetRealWidth(89),
+                        Width = Application.GetRealWidth(38),
+                        Height = Application.GetRealWidth(38),
+                        UnSelectedImagePath = "FunctionIcon/Electrical/ClothesHanger/ClothesHangerDownIcon2.png",
+                        SelectedImagePath = "FunctionIcon/Electrical/ClothesHanger/ClothesHangerDownIcon2On.png",
+                    };
+                    view.AddChidren(btnDown);
+
+
+                    LoadEvent_ControlClothesHanger(function, btnUp, btnDown);
+
+                }
+
                 else
                 {
                     Button btnSwitch;
@@ -845,47 +1220,14 @@
                     };
                     view.AddChidren(btnSwitch);
 
-                    switch (function.Spk_Prefix)
-                    {
-                        case FunctionCategory.Light:
-                            #region 鐏厜 Light
-                            btnIcon.UnSelectedImagePath = "FunctionIcon/Light/LightIcon.png";
-                            btnIcon.SelectedImagePath = "FunctionIcon/Light/LightOnIcon.png";
-                            UpdataFunctionStates(function as Light);
-                            #endregion
-                            break;
-                        case FunctionCategory.AC:
-                            #region 绌鸿皟 AC
-                            btnIcon.UnSelectedImagePath = "FunctionIcon/AC/AcIcon.png";
-                            btnIcon.SelectedImagePath = "FunctionIcon/AC/AcOnIcon.png";
-                            #endregion
-                            break;
-                        case FunctionCategory.FloorHeat:
-                            #region 鍦扮儹
-                            btnIcon.UnSelectedImagePath = "FunctionIcon/FloorHeating/FloorHeatingIcon.png";
-                            btnIcon.SelectedImagePath = "FunctionIcon/FloorHeating/FloorHeatingOnIcon.png";
-                            #endregion
-                            break;
-                        case FunctionCategory.Electric:
-                            switch (function.spk)
-                            {
-                                case SPK.ElectricSocket:
-                                    btnIcon.UnSelectedImagePath = "FunctionIcon/Socket/SocketIcon.png";
-                                    btnIcon.SelectedImagePath = "FunctionIcon/Socket/SocketOnIcon.png";
-                                    break;
-                                case SPK.ElectricFan:
-                                    btnIcon.UnSelectedImagePath = "FunctionIcon/Electrical/FanIcon.png";
-                                    btnIcon.SelectedImagePath = "FunctionIcon/Electrical/FanOnIcon.png";
-                                    break;
-                            }
-                            break;
-                    }
+                    btnIcon.UnSelectedImagePath = $"FunctionIcon/Icon/HomeIcon/{function.IconName}_blue.png";
+                    btnIcon.SelectedImagePath = $"FunctionIcon/Icon/HomeIcon/{function.IconName}_white.png";
                     LoadEvent_SwitchFunction(function, btnSwitch);
                 }
                 //鍙栨秷鏀惰棌浜嬩欢
                 Action cannelCollect = () => {
                     function.collect = false;
-                    if (function.Spk_Prefix == FunctionCategory.Music)//澶勭悊闊充箰涓讳粠鍏崇郴
+                    if (SPK.MusicSpkList().Contains(function.spk))//澶勭悊闊充箰涓讳粠鍏崇郴
                     {
                         if ((function as Music.A31MusicModel).ServerClientType == 1)
                         {
@@ -898,13 +1240,14 @@
                     function.CollectFunction();
                 };
 
+
                 var skipControlPageEvent = new PublicAssmebly().LoadEvent_SkipFunctionControlPage(function, btnCollection, btnName, btnZone);
                 view.MouseUpEventHandler = skipControlPageEvent;
                 btnName.MouseUpEventHandler = skipControlPageEvent;
                 btnIcon.MouseUpEventHandler = skipControlPageEvent;
                 btnState.MouseUpEventHandler = skipControlPageEvent;
-                //鐢佃涓嶉渶瑕佹洿鏂扮姸鎬�
-                if(function.spk!= SPK.ElectricTV)
+                //涓嶉渶瑕佹洿鏂扮姸鎬佺殑鍔ㄨ兘鍒楄〃
+                if(!SPK.NotStatusSpkList.Contains(function.spk))
                 {
                     UpdataFunctionStates(function);
                 }
@@ -950,7 +1293,7 @@
                     Width = Application.GetRealWidth(32),
                     UnSelectedImagePath = "Public/FuncInfoSetIcon_white.png",
                 };
-                if (!DB_ResidenceData.Instance.CurrentRegion.IsOthreShare)
+                if (scene.userId == UserInfo.Current.ID)
                 {
                     view.AddChidren(btnSettingIcon);
                 }
@@ -995,12 +1338,12 @@
                     SelectedImagePath = "Collection/CollectionWhiteIcon.png",
                     UnSelectedImagePath = "Collection/CollectionIcon.png",
                 };
-                //view.AddChidren(btnCollection);
+                view.AddChidren(btnCollection);
                 //2020-12-16 濡傛灉鏄垚鍛橀殣钘忔敹钘忓姛鑳�
-                if (!DB_ResidenceData.Instance.CurrentRegion.IsOthreShare)
-                {
-                    view.AddChidren(btnCollection);
-                }
+                //if (!DB_ResidenceData.Instance.CurrentRegion.isOtherShare)
+                //{
+                //    view.AddChidren(btnCollection);
+                //}
 
                 LoadEvent_SceneCollection(btnCollection, scene);
 

--
Gitblit v1.8.0