From eb76239882830f3960b8800bb0f2c90ca7b3f378 Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期四, 04 八月 2022 09:19:10 +0800
Subject: [PATCH] Merge branch 'release0123'

---
 HDL_ON/UI/UI2/4-PersonalCenter/AddFunction/Iot_BrandFunctionListPage.cs |  333 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 333 insertions(+), 0 deletions(-)

diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/AddFunction/Iot_BrandFunctionListPage.cs b/HDL_ON/UI/UI2/4-PersonalCenter/AddFunction/Iot_BrandFunctionListPage.cs
new file mode 100644
index 0000000..56c39d1
--- /dev/null
+++ b/HDL_ON/UI/UI2/4-PersonalCenter/AddFunction/Iot_BrandFunctionListPage.cs
@@ -0,0 +1,333 @@
+锘縰sing System;
+using System.Collections.Generic;
+using HDL_ON.DAL.Server;
+using HDL_ON.Entity;
+using HDL_ON.UI.CSS;
+using Shared;
+namespace HDL_ON.UI
+{
+    public class Iot_BrandFunctionListPage :FrameLayout
+    {
+        FrameLayout bodyView;
+
+        FrameLayout contentView;
+
+
+
+        IntegratedBrand_Iot brand_Iot;
+        /// <summary>
+        /// 瑙g粦鍥炶皟
+        /// </summary>
+        public Action unboundAction;
+
+        public Iot_BrandFunctionListPage(IntegratedBrand_Iot brand_Iot)
+        {
+            bodyView = this;
+            this.brand_Iot = brand_Iot;
+        }
+
+        public void LoadPage()
+        {
+            Action action = () => {
+                var page = new iot_BindTipPage();
+                MainPage.BasePageView.AddChidren(page);
+                page.unboundAction = () => {
+                    this.RemoveFromParent();
+                    unboundAction?.Invoke();
+                };
+                page.LoadPage(brand_Iot);
+                MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+            }; 
+            new TopViewDiv(bodyView, brand_Iot.brandName).LoadTopView_3tyIot(action);
+
+            bodyView.BackgroundColor = CSS_Color.MainBackgroundColor;
+
+
+            bodyView.AddChidren(new Button
+            {
+                Y = Application.GetRealHeight(64),
+                Height = Application.GetRealHeight(1),
+                BackgroundColor = CSS_Color.DividingLineColor,
+            });
+
+            Button btnTipText = new Button()
+            {
+                Y = Application.GetRealHeight(80),
+                Width = Application.GetRealWidth(347),
+                Height = Application.GetRealHeight(65),
+                Gravity = Gravity.CenterHorizontal,
+                Radius = (uint)Application.GetRealWidth(5),
+                BackgroundColor = 0x194484F4,
+                TextColor = CSS_Color.FirstLevelTitleColor,
+                Padding = new Padding(12,  Application.GetRealWidth(16), 12, Application.GetRealWidth(16)),
+                TextSize = CSS_FontSize.TextFontSize,
+                Text = "榛樿灏嗙涓夋柟鍝佺墝鐨勮澶囧叏閮ㄥ叧鑱斿埌On Pro涓�,鎮ㄤ篃鍙互閫氳繃涓嬫柟鐨勫紑鍏虫寜閿紝杩涜閫夋嫨鎬у叧鑱斻��",
+                IsMoreLines = true,
+                TextAlignment = TextAlignment.CenterLeft,
+            };
+            bodyView.AddChidren(btnTipText);
+
+            contentView = new FrameLayout()
+            {
+                Y = Application.GetRealHeight(150),
+                Height = Application.GetRealHeight(573),
+            };
+            bodyView.AddChidren(contentView);
+
+
+            var waitPage = new Loading();
+            contentView.AddChidren(waitPage);
+            waitPage.Start("");
+            new System.Threading.Thread(() =>
+            {
+                try
+                {
+                    var pack = http.Get3tyIotDeviceFunctionList(brand_Iot.companyId);
+                    if (pack != null)
+                    {
+                        if (pack.Code == StateCode.SUCCESS)
+                        {
+                            var list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Function>>(pack.Data.ToString());
+                            Application.RunOnMainThread(() =>
+                            {
+                                LoadDeviceFunctionControlZone(list);
+                            });
+                        }
+                    }
+                }
+                catch { }
+                finally
+                {
+                    Application.RunOnMainThread(() => {
+                        waitPage.Hide();
+                        waitPage.RemoveFromParent();
+                    });
+                }
+            }) { IsBackground = true }.Start();
+
+        }
+
+
+        /// <summary>
+        /// 鍔犺浇璁惧鍔熻兘鏄剧ず鍖哄煙
+        /// </summary>
+        void LoadDeviceFunctionControlZone(List<Function> list)
+        {
+            contentView.RemoveAll();
+
+            if (list.Count == 0)
+            {
+                NotListTipView();
+                return;
+            }
+
+            VerticalScrolViewLayout deviceFunctionView = new VerticalScrolViewLayout();
+            contentView.AddChidren(deviceFunctionView);
+
+            #region ContextView
+            var rowView = new FrameLayout();
+            try
+            {
+                int index = 0;
+              
+                foreach (var function in list)
+                {
+                    if(function.homeId != DB_ResidenceData.Instance.CurrentRegion.id && function.homeId != "0")
+                    {
+                        continue;
+                    }
+
+                    if (index % 2 == 0)
+                    {
+                        rowView = new FrameLayout()
+                        {
+                            Height = Application.GetRealWidth(140),
+                        };
+                        deviceFunctionView.AddChidren(rowView);
+                    }
+                    var functionView_X = Application.GetRealWidth((182 + 7) * (index % 2));
+                    if (index % 2 == 0)
+                    {
+                        functionView_X += Application.GetRealWidth(7);
+                    }
+                    var functionView = new FrameLayout()
+                    {
+                        X = functionView_X,
+                        Width = Application.GetRealWidth(182),
+                        Height = Application.GetRealWidth(140),
+                        Radius = (uint)Application.GetRealWidth(12),
+                        Tag = function.sid
+                    };
+                    rowView.AddChidren(functionView);
+
+                    var btnbg = new Button()
+                    {
+                        UnSelectedImagePath = "Collection/Functionbg.png",
+                        SelectedImagePath = "Collection/FunctionOnbg.png",
+                        Tag = function.sid
+                    };
+                    functionView.AddChidren(btnbg);
+                    LoadDeviceFunctionDiv(functionView, function,btnbg);
+                    index++;
+
+                
+                }
+
+                if (index == 0)
+                {
+                    var view = new FrameLayout();
+                    deviceFunctionView.AddChidren(view);
+
+                    var btnNoCollectionTip = new Button()
+                    {
+                        Height = Application.GetRealHeight(42),
+                        Y = Application.GetRealHeight(100),
+                        TextAlignment = TextAlignment.Center,
+                        TextColor = CSS_Color.PromptingColor1,
+                        TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
+                        Text = "娌℃湁浠讳綍璁惧"
+                    };
+                    view.AddChidren(btnNoCollectionTip);
+                }
+            }
+            catch (Exception ex)
+            {
+            }
+            deviceFunctionView.AddChidren(new Button { Height = Application.GetRealHeight(30) });
+            #endregion
+
+        }
+
+
+        /// <summary>
+        /// 鍔犺浇鍔熻兘鎺у埗鍗$墖
+        /// </summary>
+        void LoadDeviceFunctionDiv(FrameLayout view, Function function,Button btnBg)
+        {
+            try
+            {
+                Button btnIcon;
+                btnIcon = new Button()
+                {
+                    Gravity = Gravity.CenterHorizontal,
+                    Y = Application.GetRealHeight(24),
+                    Width = Application.GetMinRealAverage(54),
+                    Height = Application.GetMinRealAverage(54),
+                };
+                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()
+                {
+                    Y = btnIcon.Bottom,
+                    Text = function.name,
+                    IsBold = true,
+                    TextColor = CSS_Color.FirstLevelTitleColor,
+                    SelectedTextColor = CSS_Color.MainBackgroundColor,
+                    TextSize = CSS_FontSize.TextFontSize,
+                    Height = Application.GetRealWidth(24),
+                    TextAlignment = TextAlignment.Center,
+                };
+                view.AddChidren(btnName);
+
+
+                Button btnClick = new Button();
+                view.AddChidren(btnClick);
+                btnClick.MouseUpEventHandler = (sender, e) => {
+                    function.collect = !function.collect;
+                    if (function.collect)
+                    {
+                        var pack = http.Set3tyIotFunctionToHouse(function.deviceId, DB_ResidenceData.Instance.CurrentRegion.id,brand_Iot.companyId);
+                        if (pack != null)
+                        {
+                            if(pack.Code == StateCode.SUCCESS)
+                            {
+                                btnName.IsSelected = btnIcon.IsSelected = btnBg.IsSelected = true;
+                            }
+                        }
+                    }
+                    else
+                    {
+                        btnName.IsSelected = btnIcon.IsSelected = btnBg.IsSelected = false;
+                        var pack = http.Set3tyIotFunctionToHouse(function.deviceId, "0", brand_Iot.companyId);
+                        if (pack != null)
+                        {
+                            if (pack.Code == StateCode.SUCCESS)
+                            {
+                                btnName.IsSelected = btnIcon.IsSelected = btnBg.IsSelected = false;
+                            }
+                        }
+                    }
+
+                };
+
+            }
+            catch (Exception ex)
+            {
+                MainPage.Log("homepage LoadControlView error : " + ex.Message);
+            }
+        }
+
+
+        void NotListTipView()
+        {
+            contentView.RemoveAll();
+            var btnTip = new Button()
+            {
+                Gravity = Gravity.CenterHorizontal,
+                Y = Application.GetRealHeight(88),
+                Width = Application.GetRealWidth(180),
+                Height = Application.GetRealWidth(180),
+                UnSelectedImagePath = "TipNot.png",
+            };
+            contentView.AddChidren(btnTip);
+
+            var btnTipText = new Button()
+            {
+                Y = Application.GetRealHeight(252),
+                Height = Application.GetRealHeight(52),
+                TextSize = CSS_FontSize.TextFontSize,
+                TextColor = CSS_Color.FirstLevelTitleColor,
+                TextAlignment = TextAlignment.Center,
+                TextID = StringId.TipNotThirdPartyDevice,
+            };
+            contentView.AddChidren(btnTipText);
+
+            var btnAdd = new Button()
+            {
+                Y = Application.GetRealHeight(400),
+                Gravity = Gravity.CenterHorizontal,
+                Width = Application.GetRealWidth(220),
+                Height = Application.GetRealWidth(44),
+                BackgroundColor = CSS_Color.MainColor,
+                TextAlignment = TextAlignment.Center,
+                TextColor = CSS_Color.MainBackgroundColor,
+                TextSize = CSS_FontSize.SubheadingFontSize,
+                IsBold = true,
+                Radius = (uint)Application.GetRealWidth(22),
+                BorderColor = 0x00000000,
+                BorderWidth = 0,
+                Text = "鏌ョ湅璁惧鏀寔鑼冨洿"
+            };
+            contentView.AddChidren(btnAdd);
+            btnAdd.MouseUpEventHandler = (sender, e) =>
+            {
+                //var page = new AddThirdPartyBrandListpage(brandList);
+                //MainPage.BasePageView.AddChidren(page);
+                //page.LoadPage();
+                //MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+            };
+
+
+
+        }
+
+
+        HttpServerRequest http = new HttpServerRequest();
+
+
+    }
+}

--
Gitblit v1.8.0