From 3532db3610381f37eca1a6ac783d882517847c91 Mon Sep 17 00:00:00 2001 From: wxr <464027401@qq.com> Date: 星期三, 31 三月 2021 15:28:49 +0800 Subject: [PATCH] Merge branch 'WJC' into temp-wxr --- HDL_ON/UI/UI2/FuntionControlView/Video/MainView.cs | 318 +++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 250 insertions(+), 68 deletions(-) diff --git a/HDL_ON/UI/UI2/FuntionControlView/Video/MainView.cs b/HDL_ON/UI/UI2/FuntionControlView/Video/MainView.cs index f49dd0e..7a14f2e 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> @@ -146,7 +161,7 @@ SelectedImagePath = "MusicIcon/collectSelected.png", }; 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