From a32815a15cc63e8aca23d095435c916bb7bd304d Mon Sep 17 00:00:00 2001
From: 陈嘉乐 <cjl@hdlchina.com.cn>
Date: 星期四, 01 四月 2021 09:09:25 +0800
Subject: [PATCH] 2021-4-1-1

---
 HDL_ON/UI/UI2/FuntionControlView/Video/MainView.cs |  322 ++++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 252 insertions(+), 70 deletions(-)

diff --git a/HDL_ON/UI/UI2/FuntionControlView/Video/MainView.cs b/HDL_ON/UI/UI2/FuntionControlView/Video/MainView.cs
index f49dd0e..4326191 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/Video/MainView.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/Video/MainView.cs
@@ -1,17 +1,28 @@
 锘縰sing System;
 using HDL_ON.UI.Music;
+using System.Collections.Generic;
 using Shared;
+using HDL_ON.Stan;
+using ZXing.QrCode.Internal;
+using static HDL_ON.UI.UI2.FuntionControlView.Video.VideoMethod;
+
 namespace HDL_ON.UI.UI2.FuntionControlView.Video
 {
     public class MainView : FrameLayout
     {
-        public void Show()
+        /// <summary>
+        /// 鍔犺浇鍙瀵硅UI
+        /// </summary>
+        /// <param name="listVideo">闂ㄥ彛鏈哄垪琛�</param>
+        /// <param name="listCall">閫氳瘽璁板綍鍒楄〃</param>
+        /// <param name="video">褰撳墠鐨勫彲瑙嗗璁�</param>
+        public void Show(List<VideoMethod.FlVideo> listVideo, List<CallView> listCall, VideoClouds video)
         {
-
+            #region 甯冨眬鐣岄潰
             this.BackgroundColor = MusicColor.ViewColor;
             var topView = new TopView();
             this.AddChidren(topView.TopFLayoutView());
-            topView.topNameBtn.Text = "鍙瀵硅";
+            topView.topNameBtn.TextID = StringId.keshiduijiang;
             topView.clickBackBtn.MouseUpEventHandler += (sender, e) =>
             {
                 RemoveFromParent();
@@ -28,8 +39,8 @@
             pageView.AddChidren(view1);
             var view2 = new FrameLayout();
             pageView.AddChidren(view2);
-            View1(view1);
-            View2(view2);
+            View1(view1, listVideo, video);
+            View2(view2, listCall, video);
             Button btn11 = new Button
             {
                 X = Application.GetRealWidth(170),
@@ -78,22 +89,25 @@
 
                 if (pageView.PageIndex == 0)
                 {
-                    topView.topNameBtn.Text = "鍙瀵硅";
+                    topView.topNameBtn.TextID = StringId.keshiduijiang;
                 }
                 else
                 {
-                    topView.topNameBtn.Text = "閫氳瘽璁板綍";
+                    topView.topNameBtn.TextID = StringId.tonghuajilu;
 
                 }
             };
+            #endregion
         }
         /// <summary>
         /// 绗竴涓晫闈�
         /// </summary>
         /// <param name="view1">鐖舵帶浠�</param>
-        void View1(FrameLayout view1)
+        /// <param name="list">闂ㄥ彛鏈哄垪琛�</param>
+        /// <param name="videoClouds">褰撳墠鐨勫彲瑙嗗璁�</param>
+        void View1(FrameLayout view1, List<VideoMethod.FlVideo> list, VideoClouds videoClouds)
         {
-        
+            #region 甯冨眬鐣岄潰
             var bjFl = new FrameLayout
             {
                 Y = Application.GetRealHeight(24),
@@ -115,7 +129,8 @@
                 TextColor = MusicColor.MusicTxet14Color,
                 TextSize = TextSize.Text24,
                 TextAlignment = TextAlignment.CenterLeft,
-                Text = "鍙瀵硅",
+                //Text = "鍙瀵硅",
+                TextID = StringId.keshiduijiang,
             };
             bjFl.AddChidren(nameBtn);
             /// <summary>
@@ -132,7 +147,7 @@
                 TextAlignment = TextAlignment.CenterLeft,
                 Text = "123456"
             };
-            bjFl.AddChidren(regionBtn);
+           // bjFl.AddChidren(regionBtn);
             /// <summary>
             ///鏀惰棌鍥炬爣
             /// </summary>
@@ -145,8 +160,8 @@
                 UnSelectedImagePath = "MusicIcon/collect.png",
                 SelectedImagePath = "MusicIcon/collectSelected.png",
             };
-            bjFl.AddChidren(collectIconBtn);
-
+           // bjFl.AddChidren(collectIconBtn);
+            ///鍙瀵硅鍥炬爣
             Button intercomBtnIcon = new Button
             {
                 X = Application.GetRealWidth(84),
@@ -158,24 +173,30 @@
             };
             bjFl.AddChidren(intercomBtnIcon);
 
-            var vv = new VerticalScrolViewLayout {
+            var vv = new VerticalScrolViewLayout
+            {
                 Y = Application.GetRealHeight(306),
                 Height = Application.GetRealHeight(220),
                 Width = Application.GetRealWidth(327),
             };
             bjFl.AddChidren(vv);
+            if (list.Count > 0)
+            {
+                //闂ㄧ浜岀淮鐮佸浐瀹氭湁鐨�,铏氭嫙涓�涓嚭鏉�
+                list.Add(new VideoMethod.FlVideo { aliasName =Language.StringByID(StringId.menjinerweima), devType = "100" });
+            }
             //鏁扮粍涓暟
-            int value = 15;
+            //int value = 15;
             //鍏堣绠楁暟鎹墍闇�瑕佺殑寰堥珮搴︼紱
             int l = 0;
-            if (value % 3 == 0)
+            if (list.Count % 3 == 0)
             {
-                l = value / 3;
+                l = list.Count / 3;
             }
             else
             {
 
-                l = (value / 3) + 1;
+                l = (list.Count / 3) + 1;
             }
             var fL = new FrameLayout
             {
@@ -184,8 +205,11 @@
             };
             vv.AddChidren(fL);
             int line = 0;
-            for (int i = 1, j = 0; i <= value; i++, j++)
+            #endregion
+            for (int i = 1, j = 0; i <= list.Count; i++, j++)
             {
+                var video = list[i - 1];
+                #region
                 var fLayout = new FrameLayout
                 {
                     Width = Application.GetRealWidth(50),
@@ -205,7 +229,7 @@
                 };
                 fLayout.AddChidren(iconBtn);
 
-                var iconNameBtn = new Button
+                var deviceNameBtn = new Button
                 {
                     Y = iconBtn.Bottom + Application.GetRealHeight(6),
                     Width = Application.GetRealWidth(50),
@@ -213,11 +237,12 @@
                     TextSize = TextSize.Text10,
                     TextColor = CSS.CSS_Color.TextualColor,
                     TextAlignment = TextAlignment.Center,
-                    Text="鏌ョ湅鍗曞厓鏈�"
+                    Text = video.aliasName,
                 };
-                fLayout.AddChidren(iconNameBtn);
+                fLayout.AddChidren(deviceNameBtn);
 
-                var clickBtn = new Button { Tag = i };
+                var clickBtn = new Button { Tag = video };
+
                 fLayout.AddChidren(clickBtn);
                 if (i % 3 == 0)
                 {
@@ -225,38 +250,42 @@
                     j = -1;
                     line += 1;
                 }
-                // GetIconAndText(i, deviceIconBtn, iconNameBtn);
+                getIconAndText(video, iconBtn);
+                #endregion
+                //闂ㄥ彛鏈虹殑鐐瑰嚮浜嬩欢
                 clickBtn.MouseUpEventHandler += (sender, e) =>
                 {
+                    var flVideo = clickBtn.Tag as VideoMethod.FlVideo;
+                    if (flVideo.devType == "100")
+                    {
+                        //闂ㄧ浜岀淮鐮佸浐瀹氭湁鐨�
+                        VideoSend.GetQRcode(this, videoClouds, (tag, paw) =>
+                        {
+                            if (tag)
+                            {
+                                //娉ㄦ剰锛氬瘑鐮佹湁鍙兘寤舵椂1鍒嗛挓鐢熸晥
+                                View.ShowDialog showDialog = new View.ShowDialog();
+                                showDialog.QRcode(paw);
+                            }
+                        });
+                    }
+                    else
+                    {
+                        if (string.IsNullOrEmpty(flVideo.uuid))
+                        {
+                            new Intelligence.Automation.LogicView.TipPopView().FlashingBox(Language.StringByID(StringId.peizhicanshuyouyichang));
+                        }
+                        ESVideoInfo eSVideoInfo = new ESVideoInfo
+                        {
+                            ESVideoUUID = getUuid(flVideo.uuid),
+                            DeviceName = flVideo.aliasName,
+                            roomno = videoClouds.flRoomId,
+                            unitno = videoClouds.flBuildingId,
+                        };
+                        ESOnVideo.Current.ShowESVideoMonitor(eSVideoInfo);
+                    }
 
-                    ////1=绌鸿皟;2=鐢佃;3=椋庢墖;4=鏈洪《鐩�;5=DVD/EVD/VCD;6=鎶曞奖浠�;7=鑷畾涔�;
-                    //int if_value = int.Parse(clickBtn.Tag.ToString());
-                    //if (if_value == 7)
-                    //{
-                    //    Method method = new Method();
-                    //    method.AddControl(this, (control) =>
-                    //    {
-                    //        AddButton addButton = new AddButton();
-                    //        MainPage.BasePageView.AddChidren(addButton);
-                    //        addButton.Show(control);
-                    //        MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
-                    //    });
-                    //}
-                    //else
-                    //{
-                    //    if (DeviceTypeList.Count == 0)
-                    //    {
-                    //        GetDeviceTypeList(true, () =>
-                    //        {
-                    //            DeviceTypeViewClick(if_value);
 
-                    //        });
-                    //    }
-                    //    else
-                    //    {
-                    //        DeviceTypeViewClick(if_value);
-                    //    }
-                    //}
                 };
             }
 
@@ -266,9 +295,11 @@
         /// 绗簩涓晫闈�
         /// </summary>
         /// <param name="view2">鐖舵帶浠�</param>
-        void View2(FrameLayout view2)
+        /// <param name="listCall">閫氳瘽璁板綍鍒楄〃</param>
+        /// <param name="video">褰撳墠鐨勫彲瑙嗗璁�</param>
+        void View2(FrameLayout view2, List<CallView> listCall, VideoClouds video)
         {
-            
+
             var bjFl = new FrameLayout
             {
                 Y = Application.GetRealHeight(24),
@@ -290,7 +321,7 @@
                 TextColor = MusicColor.MusicTxet14Color,
                 TextSize = TextSize.Text24,
                 TextAlignment = TextAlignment.CenterLeft,
-                Text = "閫氳瘽璁板綍",
+                TextID = StringId.tonghuajilu,
             };
             bjFl.AddChidren(nameBtn);
             /// <summary>
@@ -305,11 +336,11 @@
                 TextColor = MusicColor.SelectedColor,
                 TextSize = TextSize.Text12,
                 TextAlignment = TextAlignment.CenterLeft,
-                Text = "*浜戠鐓х墖鍙繚鐣�30澶�"
+                TextID = StringId.baolu30,
             };
             bjFl.AddChidren(regionBtn);
 
-            var vv = new VerticalScrolViewLayout
+            var vv = new VerticalRefreshLayout
             {
                 X = Application.GetRealWidth(16),
                 Y = Application.GetRealHeight(58),
@@ -317,24 +348,175 @@
                 Width = Application.GetRealWidth(295),
             };
             bjFl.AddChidren(vv);
-            for (int i = 0; i < 6; i++)
+            vv.BeginHeaderRefreshingAction += () =>
             {
-
-                if (i == 0|| i == 2)
-                {
-                    View.FrameLayout50 frameLayout50 = new View.FrameLayout50();
-                    vv.AddChidren(frameLayout50.FLayoutView());
-                }
-                else
-                {
-                    View.FrameLayout60 frameLayout60 = new View.FrameLayout60();
-                    vv.AddChidren(frameLayout60.FLayoutView());
-                }
-            }
+                VideoMethod videoMethod = new VideoMethod();
+                var list = videoMethod.GetCall(video.id);
+                RefreshView(vv, list);
+                //鍏抽棴鍒锋柊View锛�
+                vv.EndHeaderRefreshing();
+            };
+            RefreshView(vv, listCall);
 
         }
+        /// <summary>
+        /// 閫氳瘽璁板綍鍒锋柊鐣岄潰
+        /// </summary>
+        /// <param name="vv">涓婁笅婊戝姩鎺т欢</param>
+        /// <param name="listCall">閫氳瘽璁板綍鍒楄〃</param>
+        public void RefreshView(VerticalRefreshLayout vv, List<CallView> listCall)
+        {
+            vv.RemoveAll();
+            for (int i = 0; i < listCall.Count; i++)
+            {
+                var year = listCall[i];
+                //骞存枃鏈埗鎺т欢
+                View.FrameLayout50 frameLayout50 = new View.FrameLayout50();
+                vv.AddChidren(frameLayout50.FLayoutView());
+                frameLayout50.btnText.Text = year.year + Language.StringByID(StringId.nian);//骞�
+                for (int j = 0; j < year.callList.Count; j++)
+                {
+                    var call = year.callList[j];
+                    //闂ㄥ彛鏈虹姸鎬佺埗鎺т欢
+                    View.FrameLayout60 frameLayout60 = new View.FrameLayout60();
+                    vv.AddChidren(frameLayout60.FLayoutView());
+                    ///鍛煎彨鏃堕棿
+                    frameLayout60.btnTime.Text = getTime(call.callTime);
+                    ///鍛煎彨鐘舵�侊紙0锛氭湭鎺ワ紱1锛氬凡鎺ワ紱2锛氭嫆鎺ワ級锛涙槸鍚﹀紑閿侊紱
+                    frameLayout60.btnStateText.Text = getStateText(call.callStatus) + "," + getUnlockText(call.isUnlock);
 
-       
+                }
+
+            }
+
+
+        }
+        /// <summary>
+        /// 鏄剧ず鍥炬爣
+        /// </summary>
+        /// <param name="flVideo"></param>
+        /// <param name="iconBtn">鍥炬爣</param>
+        private void getIconAndText(FlVideo flVideo, Button iconBtn)
+        {
+            //(1瀹ゅ唴鏈�,2瀹ゅ鏈猴紝3鍥村鏈猴紝4绠$悊鏈�,5浜屾纭鏈�)
+            string iconstr = "";
+            switch (flVideo.devType)
+            {
+                case "1":
+                    {
+                        iconstr = "VideoIcon/danyuanji.png";
+                    }
+                    break;
+                case "2":
+                    {
+                        iconstr = "VideoIcon/danyuanji.png";
+                    }
+                    break;
+                case "3":
+                    {
+                        iconstr = "VideoIcon/weiqiangji.png";
+                    }
+                    break;
+                case "4":
+                    {
+                        iconstr = "VideoIcon/weiqiangji.png";
+                    }
+                    break;
+                case "5":
+                    {
+                        iconstr = "VideoIcon/weiqiangji.png";
+                    }
+                    break;
+                case "100":
+                    {
+                        iconstr = "VideoIcon/menjin.png";
+                    }
+                    break;
+                default:
+                    {
+                        iconstr = "VideoIcon/weiqiangji.png";
+                    }
+                    break;
+
+            }
+            iconBtn.UnSelectedImagePath = iconstr;
+
+        }
+        /// <summary>
+        /// 鑾峰彇鏄剧ず鏃堕棿鏂囨湰
+        /// </summary>
+        /// <param name="str">utcTime</param>
+        /// <returns></returns>
+        private string getTime(string str)
+        {
+            var utcTime = Convert.ToDateTime(str);
+            var dateTime = TimeZoneInfo.ConvertTimeFromUtc(utcTime, TimeZoneInfo.Local);
+            return dateTime.ToString("HH") + ":" + dateTime.ToString("mm");
+        }
+        /// <summary>
+        /// 鑾峰彇鍛煎彨鐘舵�佹枃鏈�
+        /// </summary>
+        /// <param name="str">鐘舵�佸��0锛氭湭鎺ワ紱1锛氬凡鎺ワ紱2锛氭嫆鎺�</param>
+        /// <returns></returns>
+        private string getStateText(string str)
+        {
+            string s = "";
+            switch (str)
+            {
+                case "0":
+                    {
+                        s = Language.StringByID(StringId.weijieting);
+                    }
+                    break;
+                case "1":
+                    {
+                        Language.StringByID(StringId.yijieting);
+                    }
+                    break;
+                case "2":
+                    {
+                        Language.StringByID(StringId.yijujue);
+                    }
+                    break;
+            }
+            return s;
+        }
+        /// <summary>
+        /// 鑾峰彇寮�閿佺姸鎬佹枃鏈�
+        /// </summary>
+        /// <param name="if_bool"></param>
+        /// <returns></returns>
+        private string getUnlockText(bool if_bool)
+        {
+            string s = "";
+            if (if_bool)
+            {
+                s = Language.StringByID(StringId.yikaisuo);
+            }
+            else
+            {
+                s = Language.StringByID(StringId.weikaisuo);
+            }
+            return s;
+        }
+        /// <summary>
+        /// 鑾峰彇uuid
+        /// </summary>
+        /// <param name="uuid"></param>
+        /// <returns></returns>
+        private string getUuid(string uuid)
+        {
+            if (uuid.Contains(","))
+            {
+                var uuid1 = uuid.Split(',');
+                return uuid1[0];
+            }
+            else
+            {
+                return uuid;
+            }
+        }
+
     }
 
 }

--
Gitblit v1.8.0