From dbc23459fdf4e8b74a5f955fbb9fc631b4babc70 Mon Sep 17 00:00:00 2001 From: 陈嘉乐 <cjl@hdlchina.com.cn> Date: 星期三, 17 三月 2021 11:56:16 +0800 Subject: [PATCH] Merge branch 'temp-wxr' into WJC --- HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/PirMain.cs | 545 +++++++++++++++++++++++++++++++++++------------------- 1 files changed, 350 insertions(+), 195 deletions(-) diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/PirMain.cs b/HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/PirMain.cs index 9da222a..446157c 100644 --- a/HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/PirMain.cs +++ b/HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/PirMain.cs @@ -1,5 +1,6 @@ 锘縰sing System; using System.Collections.Generic; +using HDL_ON.Entity; using HDL_ON.UI.UI2.Intelligence.Automation.LogicView; using Shared; namespace HDL_ON.UI.UI2.PersonalCenter.PirDevice @@ -8,9 +9,13 @@ { public PirMain() { - Tag = "PirView"; + Tag = "PirMain"; } - public void Show() + /// <summary> + /// 涓存椂鍌ㄥ瓨璁惧绫诲瀷鍒楄〃 + /// </summary> + List<DeviceType> DeviceTypeList = new List<DeviceType>(); + public void Show(Entity.Function function) { #region 鐣岄潰甯冨眬 this.BackgroundColor = CSS.CSS_Color.viewMiddle; @@ -22,123 +27,10 @@ middFLayout.Y = Application.GetRealHeight(64); middFLayout.Height = Application.GetRealHeight(667 - 64); this.AddChidren(middFLayout); - - FrameLayout pirDeviceFLayout = new FrameLayout(); - pirDeviceFLayout.Y = Application.GetRealHeight(12); - pirDeviceFLayout.X = Application.GetRealWidth(16); - pirDeviceFLayout.Width = Application.GetRealWidth(343); - pirDeviceFLayout.Height = Application.GetRealHeight(187); - pirDeviceFLayout.BackgroundColor = CSS.CSS_Color.view; - pirDeviceFLayout.Radius = (uint)Application.GetRealHeight(12); - middFLayout.AddChidren(pirDeviceFLayout); - - //璁惧绠$悊 - Button text1Btn = new Button - { - Y = Application.GetRealHeight(11), - X = Application.GetRealWidth(16), - Width = Application.GetRealWidth(120), - Height = Application.GetRealHeight(20), - TextSize = TextSize.text14, - TextColor = CSS.CSS_Color.textConfirmColor, - TextAlignment = TextAlignment.CenterLeft, - TextID = StringId.shebeigaunli, - IsBold=true, - }; - pirDeviceFLayout.AddChidren(text1Btn); - - - Button pirIcon = new Button - { - Y = Application.GetRealHeight(47), - X = Application.GetRealWidth(28), - Width = Application.GetRealWidth(66), - Height = Application.GetRealWidth(66), - UnSelectedImagePath = "PirIcon/Infraredtreasure.png", - }; - pirDeviceFLayout.AddChidren(pirIcon); - - //mini鏅鸿兘閬ユ帶鍣� - Button text2Btn = new Button - { - Y = Application.GetRealHeight(70), - X = Application.GetRealWidth(112), - Width = Application.GetRealWidth(120), - Height = Application.GetRealHeight(20), - TextSize = TextSize.text14, - TextColor = CSS.CSS_Color.textTipColor, - TextAlignment = TextAlignment.CenterLeft, - Text = "mini鏅鸿兘閬ユ帶鍣�", - }; - pirDeviceFLayout.AddChidren(text2Btn); - - // - Button numberDeviceBtn = new Button - { - Y = Application.GetRealHeight(137), - X = Application.GetRealWidth(32), - Width = Application.GetRealWidth(100), - Height = Application.GetRealHeight(20), - TextSize = TextSize.text14, - TextColor = CSS.CSS_Color.textColor, - TextAlignment = TextAlignment.CenterLeft, - Text = "1" + Language.StringByID(StringId.ge), - IsBold = true, - }; - pirDeviceFLayout.AddChidren(numberDeviceBtn); - //褰撳墠绾㈠閬ユ帶璁惧 - Button numberDeviceTextBtn = new Button - { - Y = numberDeviceBtn.Bottom + Application.GetRealHeight(4), - X = Application.GetRealWidth(32), - Width = Application.GetRealWidth(100), - Height = Application.GetRealHeight(14), - TextSize = TextSize.text10, - TextColor = CSS.CSS_Color.textCancelColor, - TextAlignment = TextAlignment.CenterLeft, - TextID = StringId.dangqianhongwaishebei, - }; - pirDeviceFLayout.AddChidren(numberDeviceTextBtn); - // - Button currDeviceNumberControlBtn = new Button - { - Y = Application.GetRealHeight(137), - X = Application.GetRealWidth(198), - Width = Application.GetRealWidth(80), - Height = Application.GetRealHeight(20), - TextSize = TextSize.text14, - TextColor = CSS.CSS_Color.textColor, - TextAlignment = TextAlignment.CenterLeft, - Text = "1" + Language.StringByID(StringId.ge), - IsBold = true, - }; - pirDeviceFLayout.AddChidren(currDeviceNumberControlBtn); - //宸叉坊鍔犻仴鎺у櫒 - Button currDeviceNumberControlTextBtn = new Button - { - Y = currDeviceNumberControlBtn.Bottom + Application.GetRealHeight(4), - X = Application.GetRealWidth(198), - Width = Application.GetRealWidth(80), - Height = Application.GetRealHeight(14), - TextSize = TextSize.text10, - TextColor = CSS.CSS_Color.textCancelColor, - TextAlignment = TextAlignment.CenterLeft, - TextID = StringId.yitianjiayaokongqi, - }; - pirDeviceFLayout.AddChidren(currDeviceNumberControlTextBtn); - ///绾㈠瀹濈偣鍑讳簨浠� - FrameLayout clickFLayout = new FrameLayout(); - pirDeviceFLayout.AddChidren(clickFLayout); - clickFLayout.MouseUpEventHandler += (sender,e) => { - - DeviceSet deviceSet = new DeviceSet(); - MainPage.BasePageView.AddChidren(deviceSet); - deviceSet.Show(); - MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; - }; - + View.MainView mainView = new View.MainView(); + mainView.Show(middFLayout); FrameLayout deviceListFLayout = new FrameLayout(); - deviceListFLayout.Y = pirDeviceFLayout.Bottom + Application.GetRealHeight(12); + deviceListFLayout.Y = mainView.pirDeviceFLayout.Bottom + Application.GetRealHeight(12); deviceListFLayout.X = Application.GetRealWidth(16); deviceListFLayout.Width = Application.GetRealWidth(343); deviceListFLayout.Height = Application.GetRealHeight(328); @@ -160,7 +52,7 @@ }; deviceListFLayout.AddChidren(text3Btn); ///绾㈠瀹濆悕绉� - Button deviceNameBtn= new Button + Button deviceNameBtn = new Button { Y = Application.GetRealHeight(13), X = Application.GetRealWidth(161), @@ -177,14 +69,76 @@ var dropdownIconBtn = new Button { Y = Application.GetRealHeight(13), - X = Application.GetRealWidth(343-8-16), + X = Application.GetRealWidth(343 - 8 - 16), Width = Application.GetRealWidth(16), Height = Application.GetRealWidth(16), UnSelectedImagePath = "PirIcon/dropdown.png", }; deviceListFLayout.AddChidren(dropdownIconBtn); - #endregion + + if (Pir.pirDeviceList.Count != 0) + { + + //if (function != null) + //{ + // Pir pir = new Pir(); + // pir.name = function.name; + // pir.deviceId = function.deviceId; + // pir.sid = function.sid; + // Pir.currPir = pir; + //} + //else + //{ + // Pir.currPir = Pir.pirDeviceList[0]; + //} + //榛樿绗竴涓孩澶栧疂 + int sum = 0; + for (int i = 0; i < Pir.pirDeviceList.Count; i++) + { + //鏌ユ壘 + sum += Pir.pirDeviceList[i].FunctioList.Count; + } + deviceNameBtn.Text = Pir.pirDeviceList[0].name; + mainView.numberDeviceBtn.Text = Pir.pirDeviceList.Count.ToString() + Language.StringByID(StringId.ge); + mainView.currDeviceNumberControlBtn.Text = sum.ToString() + Language.StringByID(StringId.ge); + } + + ///璁惧绠$悊鐨勭偣鍑讳簨浠� + mainView.clickBtn.MouseUpEventHandler += (sender, e) => + { + + DeviceSet deviceSet = new DeviceSet(); + MainPage.BasePageView.AddChidren(deviceSet); + deviceSet.Show(() => + { + if (Pir.currPir != null) + { + deviceNameBtn.Text = Pir.currPir.name; + mainView.numberDeviceBtn.Text = Pir.pirDeviceList.Count.ToString() + Language.StringByID(StringId.ge); + } + int sum = 0; + for (int i = 0; i < Pir.pirDeviceList.Count; i++) + { + sum += Pir.pirDeviceList[i].FunctioList.Count; + } + mainView.currDeviceNumberControlBtn.Text = sum.ToString() + Language.StringByID(StringId.ge); + + + }); + MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; + }; + ///绾㈠鍚嶇О鐨勭偣鍑讳簨浠� + deviceNameBtn.MouseUpEventHandler += (sender, e) => + { + View.HeigthChangeView heigthChangeView = new View.HeigthChangeView(); + heigthChangeView.Show(this, Pir.pirDeviceList, (pirJson) => + { + deviceNameBtn.Text = pirJson.name; + Pir.currPir = pirJson; + }); + }; + int line = 0; for (int i = 1, j = 0; i <= 7; i++, j++) { @@ -206,9 +160,9 @@ UnSelectedImagePath = "PirIcon/Infraredtreasure.png", }; currpirdeviceFLayout.AddChidren(deviceIconBtn); - var iconNameBtn = new Button + var iconNameBtn = new Button { - Y = deviceIconBtn.Bottom+Application.GetRealHeight(8), + Y = deviceIconBtn.Bottom + Application.GetRealHeight(8), Width = Application.GetRealWidth(80), Height = Application.GetRealHeight(17), TextSize = TextSize.text12, @@ -227,68 +181,178 @@ GetIconAndText(i, deviceIconBtn, iconNameBtn); clickBtn.MouseUpEventHandler += (sender, e) => { + //1=绌鸿皟;2=鐢佃;3=椋庢墖;4=鏈洪《鐩�;5=DVD/EVD/VCD;6=鎶曞奖浠�;7=鑷畾涔�; - int if_value =int.Parse(clickBtn.Tag.ToString()); - var list11 = new List<string> { - "鐖变綘", "鍝庡懄","鍩冨強","鍝堝紬鎹㈠3鍝堝紬", "鐖卞痉鍗庡v","淇哄嚑涓柉浜�", - "鎷滀簡", "宸村+", "鐧惧か", "鐧惧悎鍦扮悊璇句綘鎵撶畻", "涓嶅害鑰侀浼忔灔", "姣斿埌涔濈偣", - "杞︾珯","娴嬭瘯","姝ゅ湴", "鎵嶇湅瑙佸ソ寰楀揩","鍚冭蒋楗�","浠庣湅瑙佷簩鍗佸", - "绛夊緟鏈轰細鍚�","鐨勫鎴�", "澶氬枬鐐�", "鐧昏鍝︾劧鍚�", "鎵撶數璇�", - "鎭╄偆闇滅湅灏辩湅浜�", "楗挎os","鎭堕瓟鍩�","鍎跨鑱斿姩", "鎭╁叚棰楀瓙寮规媺鎷夎¥娲楁尽浜�","鍙戝ぇ瀛︾敓鍙戝彂", - "鐪熷帀瀹砳鍙戝灏�", "鐭ラ亾浣犱粯娆句簡鍙�", "灏厭鍥炲", "鏀硅繘鐨勮瘽", "澶╁ぉ閫熷害鍥炵瓟", "澶ソ浜嗗紑杞�", - "鍑忚偉鐨勭湅杩�","妗″嚭鍙e閭�","濡傛灉瑙夊緱", "寰堣垝鏈嶇殑","鍚冭蒋楗�","浠庣湅瑙佷簩鍗佸", - "榫欏嵎椋庝簭澶у彂","鍘诲ソ鐪�", "澶氬枬鐐�", "濂芥氮璐瑰ソ", "鎵撶數璇�"}; - System.Threading.Tasks.Task.Run(() => + int if_value = int.Parse(clickBtn.Tag.ToString()); + if (if_value == 7) { - Application.RunOnMainThread(() => + Method method = new Method(); + method.AddControl(this, (control) => { - switch (if_value) - { - case 1: - { - } - break; - case 2: - { - } - break; - case 3: - { - } - break; - case 4: - { - } - break; - case 5: - { - } - break; - case 6: - { - } - break; - case 7: - { - Method method = new Method(); - method.AddControl(); - - } - break; - - } - - - //BrandList brandList = new BrandList(); - //MainPage.BasePageView.AddChidren(brandList); - //brandList.Show(list11, null); - //MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; + 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); + } + } }; + } + } + /// <summary> + /// 璁惧杩涘叆涓嬩竴绾ф柟娉� + /// </summary> + /// <param name="if_value"></param> + private void DeviceTypeViewClick(int if_value) + { + var strings = GetTypeString(if_value).Split('-'); + var jobDeviceType = DeviceTypeList.Find((c) => c.deviceType == strings[0]); + if (jobDeviceType == null) + { + return; + } + GetBrandList(jobDeviceType.id, (brandList) => + { + var brandSupportStrList = GetBrandSupport(if_value); + var strList = new List<string>(); + for (int str = 0; str < brandList.Count; str++) + { + string s = brandList[str].brandName; + var bool_if = brandSupportStrList.Find((c) => s.Contains(c)); + if (bool_if != null) + { + strList.Add(s); + } + + } + Application.RunOnMainThread(() => + { + BrandList brandObj = new BrandList(); + MainPage.BasePageView.AddChidren(brandObj); + brandObj.Show(brandList, strList, strings[1]); + MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; + }); + + }); + + } + + /// <summary> + /// 鑾峰彇鍝佺墝鏀寔 + /// </summary> + /// <param name="index">绱㈠紩鍊�</param> + private List<string> GetBrandSupport(int index) + { + List<string> strList = new List<string>(); + switch (index) + { + case 1: + { + strList.Add("鏍煎姏"); + strList.Add("缇庣殑"); + strList.Add("娴峰皵"); + strList.Add("鏉句笅"); + strList.Add("娴蜂俊"); + strList.Add("闀胯櫣"); + } + break; + case 2: + { + strList.Add("鍒涚淮"); + strList.Add("TCL"); + strList.Add("娴蜂俊"); + strList.Add("闀胯櫣"); + strList.Add("娴峰皵"); + strList.Add("涓夋槦"); + strList.Add("涔愯"); + strList.Add("绱㈠凹"); + strList.Add("LG涔愰噾"); + } + break; + case 3: + { + } + break; + case 4: + { + } + break; + case 5: + { + } + break; + case 6: + { + } + break; + } + return strList; + } + /// <summary> + /// 鑾峰彇璁惧绫诲瀷str + /// </summary> + /// <param name="index">绱㈠紩鍊�</param> + private string GetTypeString(int index) + { + string type = ""; + switch (index) + { + case 1: + { + //绌鸿皟 + type = "ac-" + SPK.AcIr; + } + break; + case 2: + { + //鐢佃 + type = "tv-" + SPK.TvIr; + } + break; + case 3: + { + //椋庢墖 + // type = "fan-" + SPK.ElectricFan; + } + break; + case 4: + { + //鏈洪《鐩� + // type = "set_top_box-" + SPK.ElectricTV; + } + break; + case 5: + { + //褰辩鏈� + // type = "dvd-" + SPK.ElectricTV; + } + break; + case 6: + { + //鎶曞奖浠� + // type = "projector-" + SPK.ElectricTV; + } + break; + + } + return type; } /// <summary> /// 璁剧疆鍥剧墖鍜屽娉� @@ -296,44 +360,135 @@ /// <param name="index">绱㈠紩鍊�</param> /// <param name="deviceIconBtn">鍥炬爣Btn</param> /// <param name="deviceNameBtn">璁惧澶囨敞Btn</param> - private void GetIconAndText(int index,Button deviceIconBtn, Button deviceNameBtn) { - string iconPath = ""; - int deviceNameIndex=0; + private void GetIconAndText(int index, Button deviceIconBtn, Button deviceNameBtn) + { + string iconPath = ""; + int deviceNameIndex = 0; switch (index) { - case 1: { + case 1: + { iconPath = "PirIcon/air.png"; deviceNameIndex = StringId.kongtiao; - } break; - case 2: { + } + break; + case 2: + { iconPath = "PirIcon/tv.png"; deviceNameIndex = StringId.dianshi; - } break; - case 3: { + } + break; + case 3: + { iconPath = "PirIcon/fan.png"; deviceNameIndex = StringId.fengshan; - } break; - case 4: { + } + break; + case 4: + { iconPath = "PirIcon/stb.png"; deviceNameIndex = StringId.jidinghe; - } break; - case 5: { + } + break; + case 5: + { iconPath = "PirIcon/dvd.png"; deviceNameIndex = StringId.dvd; - } break; - case 6: { + } + break; + case 6: + { iconPath = "PirIcon/projector.png"; deviceNameIndex = StringId.touyingyi; - } break; - case 7: { + } + break; + case 7: + { iconPath = "PirIcon/custom.png"; deviceNameIndex = StringId.zidingyi; - } break; + } + break; } deviceIconBtn.UnSelectedImagePath = iconPath; deviceNameBtn.TextID = deviceNameIndex; } - + /// <summary> + /// 璇诲彇绾㈠璁惧绫诲瀷鍒楄〃 + /// </summary> + /// <param name="tag">鏍囪瘑瑕佷笉瑕佹彁绀猴紙true=鎻愮ず锛�</param> + /// <param name="action">鍥炶皟鍑芥暟</param> + public void GetDeviceTypeList(bool tag, Action action) + { + PirSend.GetDeviceTypesList(this, (responsePackNew) => + { + + if (responsePackNew != null && responsePackNew.Code == "0" && responsePackNew.Data.ToString() != "") + { + //娓呯┖涔嬪墠鏁版嵁 + DeviceTypeList.Clear(); + var jArray = Newtonsoft.Json.Linq.JArray.Parse(responsePackNew.Data.ToString()); + for (int a = 0; a < jArray.Count; a++) + { + var jay = jArray[a]; + var str = Newtonsoft.Json.JsonConvert.SerializeObject(jay); + var objDeviceType = Newtonsoft.Json.JsonConvert.DeserializeObject<DeviceType>(str); + if (objDeviceType != null) + { + if (null == DeviceTypeList.Find((c) => c.id == objDeviceType.id)) + { + DeviceTypeList.Add(objDeviceType); + } + } + } + action(); + } + else + { + if (tag) + { + Method method = new Method(); + method.ErrorShow(responsePackNew, ""); + } + } + }, "", "璁惧绫诲瀷鍒楄〃"); + } + /// <summary> + /// 璇诲彇绾㈠璁惧绫诲瀷鐨勫搧鐗屽垪琛� + /// </summary> + public void GetBrandList(string id, Action<List<Brand>> actionBrand) + { + List<Brand> brandList = new List<Brand>(); + PirSend.GetDeviceTypesList(this, (responsePackNew) => + { + + if (responsePackNew != null && responsePackNew.Code == "0" && responsePackNew.Data.ToString() != "") + { + //娓呯┖涔嬪墠鏁版嵁 + brandList.Clear(); + var jArray = Newtonsoft.Json.Linq.JArray.Parse(responsePackNew.Data.ToString()); + for (int a = 0; a < jArray.Count; a++) + { + var jay = jArray[a]; + var str = Newtonsoft.Json.JsonConvert.SerializeObject(jay); + var brand = Newtonsoft.Json.JsonConvert.DeserializeObject<Brand>(str); + if (brand != null) + { + if (null == brandList.Find((c) => c.id == brand.id)) + { + brandList.Add(brand); + } + } + } + actionBrand(brandList); + } + else + { + Method method = new Method(); + method.ErrorShow(responsePackNew, ""); + } + }, id, "鍝佺墝鍒楄〃"); + } } + } -- Gitblit v1.8.0