From 74a9ba8e9a2df9c39f9c2eb212a5ac889a055cd4 Mon Sep 17 00:00:00 2001
From: xm <1271024303@qq.com>
Date: 星期二, 03 十二月 2019 10:47:51 +0800
Subject: [PATCH] 优化UI细节(请合并最新代码)
---
ZigbeeApp/Shared/Phone/UserCenter/Device/DoorLock/DoorLockHistoryLogForm.cs | 228 +++++++++++++++++++++++++++++++++++++++-----------------
1 files changed, 157 insertions(+), 71 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/DoorLock/DoorLockHistoryLogForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/DoorLock/DoorLockHistoryLogForm.cs
index 766d806..98bb400 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/Device/DoorLock/DoorLockHistoryLogForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/DoorLock/DoorLockHistoryLogForm.cs
@@ -187,9 +187,14 @@
/// </summary>
private async void InitLogListInfo()
{
+ this.listView.RemoveAll();
+ listView.Height = bodyFrameLayout.Height - Application.GetRealHeight(115 - 3);
+
//濡傛灉From>To鐨勬椂鍊欙紝涓嶉笩瀹�
if (Convert.ToInt32(dateFromControl.dateValue) > Convert.ToInt32(dateToControl.dateValue))
{
+ //寮�濮嬫椂闂村ぇ浜庣粨鏉熸椂闂�
+ this.ShowMassage(ShowMsgType.Tip, Language.StringByID(R.MyInternationalizationString.uFromTimeIsOverToTime));
return;
}
//鎵撳紑杩涘害鏉�
@@ -213,13 +218,15 @@
//鍏抽棴杩涘害鏉�
this.CloseProgressBar();
- this.listView.RemoveAll();
- listView.Height = bodyFrameLayout.Height - Application.GetRealHeight(115 - 3);
-
+ var dic = new Dictionary<string, string>();
+ for (int i = 0; i < listMenberInfo.Count; i++)
+ {
+ dic.Add(listMenberInfo[i].SubAccountDistributedMark, string.IsNullOrEmpty(listMenberInfo[i].UserName) == false ? listMenberInfo[i].UserName : listMenberInfo[i].Account);
+ }
for (int i = 0; i < historyLog.Count; i++)
{
//娣诲姞璁板綍琛�
- this.AddLogInfoRow(historyLog[i], i != historyLog.Count - 1);
+ this.AddLogInfoRow(historyLog[i], dic, i != historyLog.Count - 1);
}
if (listView.ChildrenCount == 0)
@@ -248,12 +255,6 @@
//鍙垵濮嬪寲涓�娆�
return true;
}
- var pra = new MemberListInfoPra();
- string result = await UserCenterLogic.GetResponseDataByRequestHttps("ZigbeeUsers/GetSubAccountByDistributedMark", false, pra);
- if (result == null)
- {
- return false;
- }
listMenberInfo = new List<MemberInfoRes>();
//鎶婅嚜宸变篃鍔犺繘鍘�
var myInfo = new MemberInfoRes()
@@ -263,7 +264,18 @@
SubAccountDistributedMark = Common.Config.Instance.Guid
};
listMenberInfo.Add(myInfo);
+ if (UserCenterResourse.UserInfo.AuthorityNo == 3)
+ {
+ //鎴愬憳鍙兘鐪嬭嚜宸辩殑
+ return true;
+ }
+ var pra = new MemberListInfoPra();
+ string result = await UserCenterLogic.GetResponseDataByRequestHttps("ZigbeeUsers/GetSubAccountByDistributedMark", false, pra);
+ if (result == null)
+ {
+ return false;
+ }
List<MemberInfoRes> listInfo = Newtonsoft.Json.JsonConvert.DeserializeObject<List<MemberInfoRes>>(result);
var checkList = new List<string>();
foreach (MemberInfoRes infoRes in listInfo)
@@ -278,37 +290,6 @@
return true;
}
- /// <summary>
- /// 鑾峰彇鍘嗗彶璁板綍
- /// </summary>
- /// <returns></returns>
- private async Task<List<HistoryInfo>> GetHistoryLogInf()
- {
- //鑾峰彇璁块棶浜戠鎺ュ彛鐨勫惎鍔ㄥ弬鏁�
- var pra = this.GetDbInterfacePra();
-
- int nowPage = 0;
- var listLog = new List<HistoryInfo>();
- while (true)
- {
- //璁块棶浜戠
- var result = await UserCenterLogic.GetResponseDataByRequestHttps("App/GetDoorLockHistoryPager", false, pra);
- if (result == null)
- {
- return null;
- }
- var dataInfo = Newtonsoft.Json.JsonConvert.DeserializeObject<GetHistoryDataResult>(result);
- if (dataInfo.HasNextPage == false)
- {
- break;
- }
- //鑾峰彇涓嬩竴椤�
- nowPage++;
- pra.PageSetting.Page = nowPage;
- }
- return listLog;
- }
-
#endregion
#region 鈻� 娣诲姞璁板綍琛宊________________________
@@ -317,25 +298,70 @@
/// 娣诲姞璁板綍琛�
/// </summary>
/// <param name="historyInfo">鍘嗗彶璁板綍</param>
+ /// <param name="dicName">鍚嶅瓧</param>
/// <param name="addLine">娣诲姞搴曠嚎</param>
- private void AddLogInfoRow(HistoryInfo historyInfo, bool addLine = true)
+ private void AddLogInfoRow(HistoryInfo historyInfo, Dictionary<string, string> dicName, bool addLine = true)
{
var frameTable = new FrameRowControl(listView.rowSpace / 2);
frameTable.UseClickStatu = false;
this.listView.AddChidren(frameTable);
//鍥炬爣
var btnIcon = frameTable.AddLeftIcon();
- btnIcon.UnSelectedImagePath = "Item/PswSettionSelected.png";
+ if (historyInfo.UnlockIsSuccess == true)
+ {
+ btnIcon.UnSelectedImagePath = "Item/UnLockSuccess.png";
+ }
+ else
+ {
+ btnIcon.UnSelectedImagePath = "Item/UnLockSuccess.png";
+ }
//淇℃伅
- var btnMsg = frameTable.AddLeftCaption("淇℃伅娴嬭瘯", 600, 60);
+ var btnMsg = frameTable.AddLeftCaption("", 600, 60);
btnMsg.TextSize = 15;
//杩欎釜鍧愭爣鏈夌偣鐗规畩
btnMsg.Y = Application.GetRealHeight(12) + frameTable.chidrenYaxis;
frameTable.AddChidren(btnMsg, ChidrenBindMode.NotBind);
+ if (historyInfo.UnlockIsSuccess == true)
+ {
+ if (historyInfo.OpenLockMode == 0)
+ {
+ //瀵嗙爜寮�閿佹垚鍔�
+ btnMsg.TextID = R.MyInternationalizationString.uUnlockByPasswordSuccess;
+ }
+ else if (historyInfo.OpenLockMode == 3)
+ {
+ //IC鍗″紑閿佹垚鍔�
+ btnMsg.TextID = R.MyInternationalizationString.uUnlockByICcardSuccess;
+ }
+ else if (historyInfo.OpenLockMode == 15)
+ {
+ //鎸囩汗寮�閿佹垚鍔�
+ btnMsg.TextID = R.MyInternationalizationString.uUnlockByFingerPrintSuccess;
+ }
+ }
+ else
+ {
+ if (historyInfo.OpenLockMode == 0)
+ {
+ //瀵嗙爜寮�閿佸け璐�
+ btnMsg.TextID = R.MyInternationalizationString.uUnlockByPasswordFail;
+ }
+ else if (historyInfo.OpenLockMode == 3)
+ {
+ //IC鍗″紑閿佸け璐�
+ btnMsg.TextID = R.MyInternationalizationString.uUnlockByICcardFail;
+ }
+ else if (historyInfo.OpenLockMode == 15)
+ {
+ //鎸囩汗寮�閿佸け璐�
+ btnMsg.TextID = R.MyInternationalizationString.uUnlockByFingerPrintFail;
+ }
+ }
//浜虹墿
- var btnpersion = frameTable.AddLeftCaption("浜虹墿娴嬭瘯", 600, 50, true);
+ string perName = dicName.ContainsKey(historyInfo.CloudAccountId) == true ? dicName[historyInfo.CloudAccountId] : Language.StringByID(R.MyInternationalizationString.uOther);
+ var btnpersion = frameTable.AddLeftCaption(perName, 600, 50, true);
//杩欎釜鍧愭爣鏈夌偣鐗规畩
btnpersion.Y = Application.GetRealHeight(72) + frameTable.chidrenYaxis;
btnpersion.TextSize = 12;
@@ -343,7 +369,7 @@
frameTable.AddChidren(btnpersion, ChidrenBindMode.NotBind);
//鏃堕棿
- frameTable.AddMostRightView("13:00:00", 200);
+ frameTable.AddMostRightView(historyInfo.UnlockTime, 400);
if (addLine == true)
{
//搴曠嚎
@@ -381,6 +407,70 @@
#endregion
+ #region 鈻� 鑾峰彇璁板綍___________________________
+
+ /// <summary>
+ /// 鑾峰彇鍘嗗彶璁板綍
+ /// </summary>
+ /// <returns></returns>
+ private async Task<List<HistoryInfo>> GetHistoryLogInf()
+ {
+ //鑾峰彇璁块棶浜戠鎺ュ彛鐨勫惎鍔ㄥ弬鏁�
+ var pra = this.GetDbInterfacePra();
+
+ int nowPage = 0;
+ var listLog = new List<HistoryInfo>();
+ while (true)
+ {
+ //璁块棶浜戠
+ var result = await UserCenterLogic.GetResponseDataByRequestHttps("DoorLock/GetDoorLockHistoryPager", true, pra);
+ if (result == null)
+ {
+ return null;
+ }
+ var dataInfo = Newtonsoft.Json.JsonConvert.DeserializeObject<GetHistoryDataResult>(result);
+ if (dataInfo.HasNextPage == false)
+ {
+ break;
+ }
+ //鑾峰彇涓嬩竴椤�
+ nowPage++;
+ pra.PageSetting.Page = nowPage;
+ }
+
+ //鎺掑簭涓�涓�
+ var dic = new Dictionary<string, List<HistoryInfo>>();
+ var listSort = new List<string>();
+ //鏄惁鍖呭惈鍏朵粬
+ bool flage = this.listSearchUserId.Contains("") || this.listSearchUserId.Contains("-1");
+ foreach (var data in listLog)
+ {
+ if (flage == false && string.IsNullOrEmpty(data.CloudAccountId) == true)
+ {
+ //娌℃湁鎸囧畾鏄剧ず鍏朵粬
+ continue;
+ }
+ if (dic.ContainsKey(data.UnlockTime) == false)
+ {
+ dic[data.UnlockTime] = new List<HistoryInfo>();
+ listSort.Add(data.UnlockTime);
+ }
+ dic[data.UnlockTime].Add(data);
+ }
+
+ //鎵ц鎺掑簭,鏃堕棿澶х殑鍦ㄥ墠闈�
+ listSort.Sort();
+ var listSortLog = new List<HistoryInfo>();
+ for (int i = listSort.Count - 1; i >= 0; i--)
+ {
+ listSortLog.AddRange(dic[listSort[i]]);
+ }
+
+ return listSortLog;
+ }
+
+ #endregion
+
#region 鈻� 娓呯┖璁板綍___________________________
/// <summary>
@@ -392,7 +482,7 @@
var pra = this.GetDbInterfacePra();
//鎵撳紑杩涘害鏉�
this.ShowProgressBar();
- var result = await UserCenterLogic.GetResultStatuByRequestHttps("App/ClearDoorLockHistory", false, pra);
+ var result = await UserCenterLogic.GetResultStatuByRequestHttps("DoorLock/ClearDoorLockHistory", true, pra);
//鍏抽棴杩涘害鏉�
this.CloseProgressBar();
if (result == false)
@@ -416,35 +506,27 @@
DateTime dateFrom = new DateTime(dateFromControl.Year, dateFromControl.Month, dateFromControl.Day, 0, 0, 0);
DateTime dateTo = new DateTime(dateToControl.Year, dateToControl.Month, dateToControl.Day, 23, 59, 59);
- var listUser = new List<string>();
- if (listSearchUserId.Contains("-1") == true)
- {
- //鎵�鏈夌敤鎴�
- foreach (MemberInfoRes infoRes in listMenberInfo)
- {
- listUser.Add(infoRes.DistributedMark);
- }
- }
- else
+ //鍏ㄩ�夊垯涓簄ull
+ List<string> listUser = null;
+ if (listSearchUserId.Contains("-1") == false)
{
listUser.AddRange(listSearchUserId);
+ //绉婚櫎鍏朵粬,鍥犱负浜戠鍥哄畾浼氱粰
+ listUser.Remove("");
}
- var listLock = new List<int>();
- if (listSearchLockId.Contains(-1) == true)
- {
- //鎵�鏈夊紑閿佹柟寮�
- listLock = new List<int>() { 0, 15, 3 };
- }
- else
+ //鍏ㄩ�夊垯涓簄ull
+ List<int> listLock = null;
+ if (listSearchLockId.Contains(-1) == false)
{
listLock.AddRange(listSearchLockId);
}
var pra = new GetHistoryDataPra();
+ pra.LoginAccessToken = UserCenterLogic.GetConnectMainToken();
pra.DoorLockId = this.DeviceMac;
- pra.CloudAccountId = listUser[0];
- pra.OpenLockMode = listLock[0];
+ pra.CloudAccountIdArr = listUser;
+ pra.OpenLockModeArr = listLock;
pra.UnlockTimeBegin = dateFrom;
pra.UnlockTimeEnd = dateTo;
return pra;
@@ -457,7 +539,7 @@
/// <summary>
/// 鑾峰彇鍘嗗彶璁板綍鏁版嵁
/// </summary>
- private class GetHistoryDataPra
+ private class GetHistoryDataPra : IfacePraCommon
{
/// <summary>
/// RequestVersion
@@ -466,7 +548,7 @@
/// <summary>
/// Token
/// </summary>
- public string LoginAccessToken = Shared.Common.Config.Instance.Token;
+ public string LoginAccessToken = string.Empty;
/// <summary>
/// 浣忓畢ID
/// </summary>
@@ -478,11 +560,11 @@
/// <summary>
/// Config.Instance.Guid 鎴栬�� MemberInfoRes.SubAccountDistributedMark
/// </summary>
- public string CloudAccountId = string.Empty;
+ public List<string> CloudAccountIdArr = new List<string>();
/// <summary>
/// 寮�閿佹柟寮�(0:瀵嗙爜銆�15:鎸囩汗銆�3:IC鍗�)
/// </summary>
- public int OpenLockMode = -1;
+ public List<int> OpenLockModeArr = null;
/// <summary>
/// 寮�閿佹槸鍚︽垚鍔�
/// </summary>
@@ -522,7 +604,7 @@
private class HistoryInfo
{
/// <summary>
- /// 寮�閿佹柟寮�
+ /// 寮�閿佹柟寮� 0:瀵嗙爜 15:鎸囩汗 3:IC鍗�
/// </summary>
public int OpenLockMode = -1;
/// <summary>
@@ -533,6 +615,10 @@
/// 寮�閿佹槸鍚︽垚鍔�
/// </summary>
public bool UnlockIsSuccess = false;
+ /// <summary>
+ /// 璐﹀彿鐨処D
+ /// </summary>
+ public string CloudAccountId = string.Empty;
}
#endregion
--
Gitblit v1.8.0