From efcffde735fa65ae34bae0bcc86313b74ed0e36c Mon Sep 17 00:00:00 2001 From: wxr <464027401@qq.com> Date: 星期一, 20 五月 2024 13:47:38 +0800 Subject: [PATCH] 优化离线数据 --- HDL_ON/UI/UI2/2-Classification/ClassificaitionPublicBLL.cs | 84 ++++++++++++++++++++++++++++++++++++++--- 1 files changed, 77 insertions(+), 7 deletions(-) diff --git a/HDL_ON/UI/UI2/2-Classification/ClassificaitionPublicBLL.cs b/HDL_ON/UI/UI2/2-Classification/ClassificaitionPublicBLL.cs index 1af093e..25b3591 100644 --- a/HDL_ON/UI/UI2/2-Classification/ClassificaitionPublicBLL.cs +++ b/HDL_ON/UI/UI2/2-Classification/ClassificaitionPublicBLL.cs @@ -17,14 +17,14 @@ /// <param name="updataFunction"></param> public void UpdataStates(Function updataFunction, FrameLayout view, VerticalScrolViewLayout scrolView, Room room = null) { + if (view == null || scrolView == null || updataFunction == null) + { + return; + } Application.RunOnMainThread((() => { try { - if (view == null || scrolView == null || updataFunction == null) - { - return; - } if (!scrolView.ScrollEnabled) { return; @@ -112,6 +112,12 @@ { #region 绐楀笜鏇存柊 var onoffString = updataFunction.GetAttrState(FunctionAttributeKey.OnOff); + var percentAttr = updataFunction.GetAttribute(FunctionAttributeKey.Percent); + if(percentAttr != null) + { + onoffString = percentAttr.curValue.ToString() == "0" ? "off" : "on"; + } + if (onoffString == "stop") { return; @@ -172,7 +178,7 @@ #endregion } //鏇存柊姣背娉紶鎰熷櫒鐘舵�� - else if(SPK.SenesorMegahealth == updataFunction.spk) + else if(SPK.SenesorMegahealth == updataFunction.spk || SPK.SensorMmvPose == updataFunction.spk) { if (cTag == updataFunction.sid + "_SenesorMegahealth_Status") { @@ -187,7 +193,7 @@ switch (tempStatus.state) {//0绌猴紝1璧帮紝2璺戯紝3鍧愶紝4璺屽�掞紝5绔� case "0": - btnStatus.TextID = StringId.SensorNormalState; + btnStatus.TextID = StringId.wuren; btnStatus.TextColor = CSS_Color.MainColor; break; case "1": @@ -239,6 +245,70 @@ catch (Exception ex) { MainPage.Log($"{this.GetType()} error 3 : {ex.Message}"); + } + } + } + + else if (SPK.ArmSensorSpkList().Contains(updataFunction.spk)) + { + if (cTag == updataFunction.sid + "_Sensor_Status") + { + Button btnStatus = (fcView.GetChildren(j) as Button); + + var alarm_status = updataFunction.attributes.Find((sta) => sta.key == FunctionAttributeKey.AlarmStatus); + if (alarm_status != null) + { + if (alarm_status.curValue.ToString() == "normal") + { + btnStatus.TextID = StringId.SensorNormalState; + btnStatus.TextColor = CSS_Color.MainColor; + } + else + { + btnStatus.TextID = StringId.InAlarm; + btnStatus.TextColor = CSS_Color.WarningColor; + } + } + else + { + alarm_status = updataFunction.attributes.Find((sta) => sta.key == "contact_status"); + if (alarm_status != null) + { + if (alarm_status.curValue.ToString() == "close") + { + btnStatus.TextID = StringId.Shut; + btnStatus.TextColor = CSS_Color.MainColor; + } + else + { + if (updataFunction.spk == SPK.SensorDryContact || updataFunction.spk == SPK.SensorDryContact2) + { + btnStatus.TextID = StringId.DryBreak; + } + else + { + btnStatus.TextID = StringId.Open; + } + btnStatus.TextColor = CSS_Color.WarningColor; + } + } + else + { + alarm_status = updataFunction.attributes.Find((sta) => sta.key == "people_status"); + if (alarm_status != null) + { + if (alarm_status.curValue.ToString() == "false") + { + btnStatus.TextID = StringId.wuren; + btnStatus.TextColor = CSS_Color.MainColor; + } + else + { + btnStatus.TextID = StringId.youren; + btnStatus.TextColor = CSS_Color.WarningColor; + } + } + } } } } @@ -298,7 +368,7 @@ { if (scrolView.GetChildren(i).GetType() == typeof(FunctionControlZone)) { var fcView = scrolView.GetChildren(i) as FunctionControlZone; - fcView.UpdataOnline(updataFunction.online); + fcView.UpdataOnline(updataFunction.isOnline()); } } } -- Gitblit v1.8.0