From 9c16d3614d9b88c637f967518a329f239fcd3aaf Mon Sep 17 00:00:00 2001 From: lss <316519258@qq.com> Date: 星期五, 12 六月 2020 09:22:04 +0800 Subject: [PATCH] 2020.06.12 --- ZigbeeApp/Shared/Phone/UserCenter/UserMain/MessageManagementForm.cs | 119 ++++++++++++++++++++++++++++++++++------------------------- 1 files changed, 69 insertions(+), 50 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/UserMain/MessageManagementForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/UserMain/MessageManagementForm.cs index 75e25ac..5baf04c 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/UserMain/MessageManagementForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/UserMain/MessageManagementForm.cs @@ -19,7 +19,7 @@ /// </summary> private VerticalFrameRefreshControl listView = null; /// <summary> - /// 鍏ㄩ儴鐨勮 + /// 鍏ㄩ儴鐨勮,涓婚敭鏄嚜鍔ㄩ�掑鐨勪笢瑗� /// </summary> private Dictionary<string, RowLayoutControl> dicAllRow = null; @@ -32,6 +32,9 @@ /// </summary> public void ShowForm() { + //宸︽粦浣胯兘 + this.ScrollEnabled = false; + Common.CommonPage.Instance.IsDrawerLockMode = true; //璁剧疆澶撮儴淇℃伅 @@ -154,7 +157,7 @@ framBack.Name = dateIndex.ToString(); framBack.Height = Application.GetRealHeight(100); framBack.BackgroundColor = UserCenterColor.Current.White; - listView.AddChidrenFrame(framBack); + listView.AddChidren(framBack); //鏃ユ湡 string strMonth = Language.StringByID(R.MyInternationalizationString.Month); @@ -172,8 +175,15 @@ for (int i = 0; i < listData.Count; i++) { - //娣诲姞淇℃伅琛� - this.AddMsgRowControl(framBack, listData[i], i != listData.Count - 1); + //涓�鏉′俊鎭噷闈紝瀹冨彲鑳藉寘鍚涓姤璀� + for (int j = 0; j < listData[i].listMsg.Count; j++) + { + //璁剧疆宸茶鐨勫垵濮嬪�� + listData[i].ListReading.Add(listData[i].IsReading); + //娣诲姞淇℃伅琛� + bool addLine = i != listData.Count - 1 || j != listData[i].listMsg.Count - 1; + this.AddMsgRowControl(framBack, listData[i], j, addLine); + } } //璋冩暣楂樺害 listView.AdjustChidrenFrameHeight(framBack, Application.GetRealHeight(23)); @@ -249,8 +259,9 @@ /// </summary> /// <param name="frameList"></param> /// <param name="recordInfo"></param> + /// <param name="msgIndex">鎶ヨ娑堟伅鐨勪笅鏍�</param> /// <param name="addLine"></param> - private void AddMsgRowControl(FrameListControl frameList, MessageRecordInfo recordInfo, bool addLine) + private void AddMsgRowControl(FrameListControl frameList, MessageRecordInfo recordInfo, int msgIndex, bool addLine) { var rowControl = new RowLayoutControl(frameList.rowSpace / 2); frameList.AddChidren(rowControl); @@ -265,24 +276,24 @@ var btnMsgObject = rowControl.frameTable.AddLeftCaption(recordInfo.MsgObjectText, 600); //娑堟伅 - var btnMsg = rowControl.frameTable.AddMostRightView(recordInfo.MsgText, 600, 60); + var btnMsg = rowControl.frameTable.AddMostRightView(recordInfo.listMsg[msgIndex], 600, 60); btnMsg.TextColor = UserCenterColor.Current.TextGrayColor3; btnMsg.Y = Application.GetRealHeight(5) + rowControl.frameTable.chidrenYaxis; - rowControl.frameTable.AddChidren(btnMsg, ChidrenBindMode.BindEventOnly); + rowControl.frameTable.AddChidren(btnMsg, ChidrenBindMode.BindEvent); //鏃堕棿 var btnTime = rowControl.frameTable.AddMostRightView("", 200, 50); btnTime.TextColor = UserCenterColor.Current.TextGrayColor1; btnTime.Y = btnMsg.Bottom + Application.GetRealHeight(12); var convertTime = UserCenterLogic.ConvertUtcTimeToLocalTime(recordInfo.CreatedOnUtc); btnTime.Text = convertTime.ToString("HH锛歮m"); - rowControl.frameTable.AddChidren(btnTime, ChidrenBindMode.BindEventOnly); + rowControl.frameTable.AddChidren(btnTime, ChidrenBindMode.BindEvent); //搴曠嚎 if (addLine == true) { - rowControl.frameTable.AddBottomLine(); + rowControl.frameTable.AddBottomLine(); } //宸茶 - if (recordInfo.IsReading == true) + if (recordInfo.ListReading[msgIndex] == true) { rowControl.frameTable.UseClickStatu = false; //娑堟伅绫诲瀷 @@ -295,13 +306,13 @@ //鏂版秷鎭� PicViewControl btnNewTip = null; - if (recordInfo.IsReading == false) + if (recordInfo.ListReading[msgIndex] == false) { btnNewTip = new PicViewControl(78, 55); btnNewTip.UnSelectedImagePath = "Item/NewVersion.png"; btnNewTip.Y = Application.GetRealHeight(9) + rowControl.frameTable.chidrenYaxis; btnNewTip.X = btnMsgObject.Right + Application.GetRealWidth(10); - rowControl.frameTable.AddChidren(btnNewTip, ChidrenBindMode.BindEventOnly); + rowControl.frameTable.AddChidren(btnNewTip, ChidrenBindMode.BindEvent); } //涓昏涓讳汉鍜岀鐞嗗憳鑳藉鍒犻櫎 @@ -323,11 +334,11 @@ //鐐瑰嚮 rowControl.frameTable.ButtonClickEvent += async (sender, e) => { - if (recordInfo.IsReading == true) + if (recordInfo.ListReading[msgIndex] == true) { return; } - recordInfo.IsReading = true; + recordInfo.ListReading[msgIndex] = true; rowControl.frameTable.UseClickStatu = false; //娑堟伅绫诲瀷 btnMsgObject.TextColor = UserCenterColor.Current.TextGrayColor1; @@ -350,7 +361,7 @@ /// 鏍囪宸茶 /// </summary> /// <param name="strId"></param> - private async System.Threading.Tasks.Task<bool> SetTickIsRead(string strId) + private async Task<bool> SetTickIsRead(string strId) { var pra = new MessageReadStatuPra(); pra.LoginAccessToken = UserCenterLogic.GetConnectMainToken(); @@ -375,19 +386,17 @@ { //鎵撳紑杩涘害鏉� this.ShowProgressBar(); - foreach (var contr in this.dicAllRow.Values) - { - //鏍囪瘑鍏ㄩ儴涓哄凡璇� - var result = await this.SetTickIsRead(contr.MainKeys); - if (result == false) - { - //鍏抽棴杩涘害鏉� - this.CloseProgressBar(); - return; - } - } + + var pra = new MessageReadStatuPra(); + pra.LoginAccessToken = UserCenterLogic.GetConnectMainToken(); + pra.TagAllOrClearType = 0; + var result = await UserCenterLogic.GetResultStatuByRequestHttps("MessageCenter/TagAllOrClearMessageCenter", true, pra); //鍏抽棴杩涘害鏉� this.CloseProgressBar(); + if (result == false) + { + return; + } HdlThreadLogic.Current.RunMain(() => { @@ -411,7 +420,7 @@ /// <param name="strId"></param> /// <param name="frameList"></param> /// <param name="rowContr"></param> - private async System.Threading.Tasks.Task<bool> DeleteMsg(string strId, FrameListControl frameList, RowLayoutControl rowContr) + private async Task<bool> DeleteMsg(string strId, FrameListControl frameList, RowLayoutControl rowContr) { var pra = new MessageReadStatuPra(); pra.LoginAccessToken = UserCenterLogic.GetConnectMainToken(); @@ -452,16 +461,16 @@ { //鎵撳紑杩涘害鏉� this.ShowProgressBar(); - foreach (var contr in this.dicAllRow.Values) + + var pra = new MessageReadStatuPra(); + pra.LoginAccessToken = UserCenterLogic.GetConnectMainToken(); + pra.TagAllOrClearType = 1; + var result = await UserCenterLogic.GetResultStatuByRequestHttps("MessageCenter/TagAllOrClearMessageCenter", true, pra); + if (result == false) { - //鍒犻櫎鍏ㄩ儴娑堟伅 - var result = await this.DeleteMsg(contr.MainKeys, null, null); - if (result == false) - { - //鍏抽棴杩涘害鏉� - this.CloseProgressBar(); - return; - } + //鍏抽棴杩涘害鏉� + this.CloseProgressBar(); + return; } //鍒濆鍖栦腑閮ㄤ俊鎭� this.InitMiddleData(true); @@ -776,19 +785,27 @@ if (info == null) { //闈炲湪鍐岀殑娑堟伅璁板綍 - recordInfo.MsgText = Language.StringByID(R.MyInternationalizationString.uSensorAlarmHadTriggered); + recordInfo.listMsg.Add(Language.StringByID(R.MyInternationalizationString.uSensorAlarmHadTriggered)); + return true; } - else if (info.BatteryMsg != null) + + if (string.IsNullOrEmpty(info.AlarmMsg) == false) { - recordInfo.MsgText = info.BatteryMsg; + recordInfo.listMsg.Add(info.AlarmMsg); } - else if (info.DemolishmenMsg != null) + if (info.BatteryMsg != null) { - recordInfo.MsgText = info.DemolishmenMsg; + recordInfo.listMsg.Add(info.BatteryMsg); } - else + if (info.DemolishmenMsg != null) { - recordInfo.MsgText = string.IsNullOrEmpty(info.AlarmMsg) == false ? info.AlarmMsg : Language.StringByID(R.MyInternationalizationString.uSensorAlarmHadTriggered); + recordInfo.listMsg.Add(info.DemolishmenMsg); + } + + //瑙﹀彂浼犳劅鍣ㄦ姤璀� + if (recordInfo.listMsg.Count == 0) + { + recordInfo.listMsg.Add(Language.StringByID(R.MyInternationalizationString.uSensorAlarmHadTriggered)); } return true; } @@ -822,7 +839,8 @@ } //娑堟伅 var msgInfo = HdlAlarmsLogic.Current.GetDoorLockAlarmInfo(receiveData); - recordInfo.MsgText = msgInfo != null ? msgInfo.AlarmMsg : Language.StringByID(R.MyInternationalizationString.uDoorLocksAlarmHadTriggered); + string MsgText = msgInfo != null ? msgInfo.AlarmMsg : Language.StringByID(R.MyInternationalizationString.uDoorLocksAlarmHadTriggered); + recordInfo.listMsg.Add(MsgText); } #endregion @@ -847,12 +865,12 @@ //绂诲甯冮槻 recordInfo.MsgObjectText = Language.StringByID(R.MyInternationalizationString.uRemoveHomeGarrison); //宸叉墽琛� - recordInfo.MsgText = Language.StringByID(R.MyInternationalizationString.uExecuted); + recordInfo.listMsg.Add(Language.StringByID(R.MyInternationalizationString.uExecuted)); } else { //宸叉墽琛� - recordInfo.MsgText = Language.StringByID(R.MyInternationalizationString.uExecuted); + recordInfo.listMsg.Add(Language.StringByID(R.MyInternationalizationString.uExecuted)); //娌℃湁鍐呴儴闃插尯 if (HdlSafeguardLogic.Current.IsHadInternalDefenseArea() == false) { @@ -890,7 +908,7 @@ if (data.Result == 0) { //宸叉墽琛� - recordInfo.MsgText = Language.StringByID(R.MyInternationalizationString.uExecuted); + recordInfo.listMsg.Add(Language.StringByID(R.MyInternationalizationString.uExecuted)); //鎾ら槻 recordInfo.MsgObjectText = Language.StringByID(R.MyInternationalizationString.uWithdrawGarrison); } @@ -916,7 +934,7 @@ //绫诲瀷:閫昏緫鍚嶅瓧 recordInfo.MsgObjectText = receiveData["Data"]["LogicName"].ToString(); //宸叉墽琛� - recordInfo.MsgText = Language.StringByID(R.MyInternationalizationString.uExecuted); + recordInfo.listMsg.Add(Language.StringByID(R.MyInternationalizationString.uExecuted)); } #endregion @@ -934,7 +952,7 @@ //绫诲瀷:鍦烘櫙鍚嶅瓧 recordInfo.MsgObjectText = receiveData["Data"]["ScenesName"].ToString(); //宸叉墽琛� - recordInfo.MsgText = Language.StringByID(R.MyInternationalizationString.uExecuted); + recordInfo.listMsg.Add(Language.StringByID(R.MyInternationalizationString.uExecuted)); } #endregion @@ -946,7 +964,8 @@ /// </summary> public override void CloseFormBefore() { - if (UserCenterResourse.DicActionForm.ContainsKey("UserMainForm") == false) + var userPageForm = UserView.UserPage.Instance.GetNowActionForm(); + if (userPageForm != null && userPageForm.FormID == "UserMainForm") { Common.CommonPage.Instance.IsDrawerLockMode = false; } -- Gitblit v1.8.0