HDL Home App 第二版本 旧平台金堂用 正在使用
黄学彪
2020-03-06 a5b3c4bae726ef6770d4bfcbf2f4b50a37ed4a15
ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/SafeguardLogControl.cs
@@ -105,13 +105,18 @@
                    var listRow = dicRowFrame[listId[i]];
                    foreach (var alarmInfo in dicInfo[listId[i]])
                    {
                        //添加报警信息
                        var contr = this.AddAlarmInfoControl(alarmInfo);
                        if (listRow.Count != 0)
                        //一条信息里面,它可能包含多个报警
                        var listMsg = HdlAlarmsLogic.Current.GetSensorListAlarmMsg(alarmInfo);
                        foreach (var strMsg in listMsg)
                        {
                            contr.Y = listRow[listRow.Count - 1].Bottom + Application.GetRealHeight(23);
                            //添加报警信息控件
                            var contr = this.AddAlarmInfoControl(alarmInfo, strMsg);
                            if (listRow.Count != 0)
                            {
                                contr.Y = listRow[listRow.Count - 1].Bottom + Application.GetRealHeight(23);
                            }
                            listRow.Add(contr);
                        }
                        listRow.Add(contr);
                    }
                    //变更高度
                    frame1.Height = listRow[listRow.Count - 1].Bottom + Application.GetRealHeight(55);
@@ -193,8 +198,34 @@
        /// <summary>
        /// 添加报警信息
        /// </summary>
        /// <param name="alarmInfo"></param>
        /// <returns></returns>
        public int AddSafeguardAlarmInfo(SafeguardAlarmInfo alarmInfo)
        {
            if (dicFrame.ContainsKey(alarmInfo.ZoneId) == false)
            {
                return -1;
            }
            //一条信息里面,它可能包含多个报警
            var listMsg = HdlAlarmsLogic.Current.GetSensorListAlarmMsg(alarmInfo);
            int valueCount = 0;
            foreach (var strMsg in listMsg)
            {
                //一个报警信息,一个控件
                int value = this.AddSafeguardAlarmInfo2(alarmInfo, strMsg);
                //这个value是控件增加的高度值
                valueCount += value;
            }
            return valueCount;
        }
        /// <summary>
        /// 添加报警信息(一个报警信息,一个控件)
        /// </summary>
        /// <param name="alarmInfo"></param>
        /// <param name="strMsg">针对一条数据里面包含多个报警的问题,追加的报警文本</param>
        /// <returns></returns>
        private int AddSafeguardAlarmInfo2(SafeguardAlarmInfo alarmInfo, string strMsg)
        {
            if (dicFrame.ContainsKey(alarmInfo.ZoneId) == false)
            {
@@ -223,7 +254,7 @@
            }
            //添加报警信息控件
            var frameRow = this.AddAlarmInfoControl(alarmInfo);
            var frameRow = this.AddAlarmInfoControl(alarmInfo, strMsg);
            if (listRow.Count >= 100)
            {
                //移除最后一个
@@ -282,7 +313,7 @@
        /// </summary>
        /// <param name="alarmInfo"></param>
        /// <returns></returns>
        private FrameLayout AddAlarmInfoControl(SafeguardAlarmInfo alarmInfo)
        private FrameLayout AddAlarmInfoControl(SafeguardAlarmInfo alarmInfo, string strMsg)
        {
            var frame = dicFrame[alarmInfo.ZoneId];
@@ -309,20 +340,7 @@
            var btnMsg = new NormalViewControl(303, 58, true);
            btnMsg.X = Application.GetRealWidth(469);
            btnMsg.TextColor = UserCenterColor.Current.TextGrayColor3;
            //电池电量
            if (alarmInfo.BatteryMsg != null)
            {
                btnMsg.Text = alarmInfo.BatteryMsg;
            }
            //被拆报警
            else if (alarmInfo.DemolishmentMsg != null)
            {
                btnMsg.Text = alarmInfo.DemolishmentMsg;
            }
            else
            {
                btnMsg.Text = alarmInfo.AlarmMsg;
            }
            btnMsg.Text = strMsg;
            rowFrame.AddChidren(btnMsg);
            //时间:时分秒
            var btnTime = new NormalViewControl(190, 58, true);