wei
2020-12-19 c5a873df96e4a797426e4dd5eafe5b43f7aea564
HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalSciencePage.cs
old mode 100644 new mode 100755
@@ -3,6 +3,7 @@
using HDL_ON.Entity;
using HDL_ON.UI.CSS;
using System.Collections.Generic;
using HDL_ON.DriverLayer;
namespace HDL_ON.UI
{
@@ -19,6 +20,10 @@
        /// 房间选择下拉图标
        /// </summary>
        Button btnFoorDownIcon;
        /// <summary>
        /// 房间选择触发区域
        /// </summary>
        Button btnRoomClickRow;
        /// <summary>
        /// 传感器列表区域
        /// </summary>
@@ -200,7 +205,7 @@
                Y = Application.GetRealHeight(90),
                Width = Application.GetRealWidth(24),
                Height = Application.GetRealWidth(24),
                UnSelectedImagePath = "Public/DeviceInfoIcon/HumidityIcon.png",
                UnSelectedImagePath = "FunctionIcon/EnvironmentalScience/HumidityIcon.png",
            };
            topWeatherView.AddChidren(btnHumidityIcon);
@@ -223,7 +228,7 @@
                Y = Application.GetRealHeight(90),
                Width = Application.GetRealWidth(24),
                Height = Application.GetRealWidth(24),
                UnSelectedImagePath = "Public/DeviceInfoIcon/Pm25Icon.png",
                UnSelectedImagePath = "FunctionIcon/EnvironmentalScience/Pm25Icon.png",
            };
            topWeatherView.AddChidren(btnPm25Icon);
@@ -279,11 +284,11 @@
            bodyView.AddChidren(contentView);
            #region 房间顶部切换显示区域
            room = new Room();
            if (DB_ResidenceData.residenceData.rooms.Count > 0)
            {
                room = DB_ResidenceData.residenceData.rooms[0];
            }
            room = new Room() { roomName = Language.StringByID(StringId.All)};
            //if (DB_ResidenceData.rooms.Count > 0)
            //{
            //    room = DB_ResidenceData.rooms[0];
            //}
            btnFoorDownIcon = new Button()
            {
                Width = Application.GetMinRealAverage(16),
@@ -303,9 +308,16 @@
                TextColor = CSS_Color.FirstLevelTitleColor,
                TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
                TextAlignment = TextAlignment.CenterLeft,
                Text = room.name,
                Text = room.roomName,
            };
            contentView.AddChidren(btnRoom);
            btnRoomClickRow = new Button()
            {
                Height = Application.GetRealHeight(40),
            };
            contentView.AddChidren(btnRoomClickRow);
            #endregion
            sensorListView = new FrameLayout()
@@ -320,16 +332,10 @@
            };
            contentView.AddChidren(sensorListView);
            int index = 0;
            foreach(var sensor in DB_ResidenceData.residenceData.functionList.sensorsEnvironmentalScience)
            {
                if ( sensor.functionType == FunctionType.WindPower)
                {
                    continue;
                }
                LoadSensorDiv(sensor, index);
                index++;
            }
            LoadSenesorList();
            LoadEventList();
            #endregion
@@ -339,17 +345,32 @@
            new TopViewDiv(bodyView, Language.StringByID(StringId.EnvironmentalScience)).LoadTopView();
        }
        /// <summary>
        /// 加载传感器列表
        /// </summary>
        void LoadSenesorList()
        {
            sensorListView.RemoveAll();
            int index = 0;
            foreach (var sensor in FunctionList.List.sensorsEnvironmentalScience)
            {
                LoadSensorDiv(sensor, index);
                index++;
            }
        }
        /// <summary>
        /// 加载传感器列表
        /// </summary>
        void LoadSensorDiv(Sensor sensor,int index)
        {
            if (sensor.roomIdList.Contains(room.sid))
            if (room.roomId == "" ||  sensor.roomIds.Contains(room.roomId))
            {
                var sensorTag = sensor.sid;
                if (sensor.bus_Data != null)
                if (sensor.bus != null)
                {
                    sensorTag = ((int)sensor.functionType % 256) + "_" + sensor.bus_Data.SubnetID + "_" + sensor.bus_Data.DeviceID + "_" + sensor.bus_Data.LoopID;
                    sensorTag = ((int)sensor.functionType % 256) + "_" + sensor.bus.SubnetID + "_" + sensor.bus.DeviceID + "_" + sensor.bus.LoopId;
                }
                FrameLayout sensorView = new FrameLayout()
                {
@@ -368,27 +389,22 @@
                }
                sensorListView.AddChidren(sensorView);
                var arcBar = new ArcSeekBar()
                var arcBar = new DiyArcSeekBar()
                {
                    ProgressBarUnitSring = "°C",
                    X = Application.GetRealWidth(7),
                    Gravity = Gravity.CenterVertical,
                    Width = Application.GetRealWidth(48),
                    Height = Application.GetRealWidth(48),
                    OpenAngle = 1,
                    ThumbColor = 0x00000000,
                    ThumbModeFill = true,
                    OpenAngle = 10,
                    ProgressBarColor = sensor.levelColorList[sensor.curLevel - 1],
                    ThumbRadius = 1,
                    ArcWidthWithDefaultStyle = Application.GetRealWidth(3),
                    MinValue = 0,
                    MaxValue = 96,
                    Progress = (96 / sensor.levelColorList.Count) * sensor.curLevel,
                    //ProgressBarUnitSring = "",
                    IsClickable = false,
                    ProgressTextColor = 0x00000000,
                    ArcColor = CSS_Color.BackgroundColor,
                    //BackgroundColor = 0x33FF0000,
                    ArcWidth = Application.GetRealWidth(4),
                    IsThumbImgBtnShow = false,
                    SeekBarPadding = Application.GetRealWidth(2),
                };
                sensorView.AddChidren(arcBar);
@@ -412,21 +428,18 @@
                    MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
                };
                if ( sensor.functionType != FunctionType.WindPower)
                var btnInfoIcon = new Button()
                {
                    var btnInfoIcon = new Button()
                    {
                        X = Application.GetRealWidth(120),
                        Width = Application.GetRealWidth(28),
                        Height = Application.GetRealWidth(28),
                        UnSelectedImagePath = "FunctionIcon/EnvironmentalScience/TipInfoIcon.png",
                    };
                    sensorView.AddChidren(btnInfoIcon);
                    btnInfoIcon.MouseUpEventHandler = (sender, e) =>
                    {
                        LoadInfo(sensor);
                    };
                }
                    X = Application.GetRealWidth(120),
                    Width = Application.GetRealWidth(28),
                    Height = Application.GetRealWidth(28),
                    UnSelectedImagePath = "FunctionIcon/EnvironmentalScience/TipInfoIcon.png",
                };
                sensorView.AddChidren(btnInfoIcon);
                btnInfoIcon.MouseUpEventHandler = (sender, e) =>
                {
                    LoadInfo(sensor);
                };
                var btnSensorValues = new Button()
                {
@@ -457,7 +470,7 @@
                };
                sensorView.AddChidren(btnLevel);
                Control.Send(CommandType_A.read, sensor);
                Control.Ins.SendReadCommand(sensor);
            }
        }
@@ -501,17 +514,9 @@
            switch (sensor.functionType)
            {
                case FunctionType.PM10:
                    btnTitle.Text = "PM1.0(ug/m²)";
                    break;
                case FunctionType.PM25:
                    btnTitle.Text = "PM2.5(ug/m²)";
                    break;
                case FunctionType.WindPower:
                    break;
                //case FunctionType.Noise:
                //    break;
                case FunctionType.Temp:
                    btnTitle.Text = Language.StringByID(StringId.Temp) + "(°C)";
                    break;
@@ -637,8 +642,8 @@
                    X = Application.GetRealWidth(10),
                    Y = Application.GetRealHeight(266),
                    Width = Application.GetRealWidth(160),
                    Height = Application.GetRealHeight(203),
                    BackgroundImagePath = "PersonalCenter/HomeListbg.png",
                    Height = Application.GetRealHeight(110),
                    BackgroundImagePath = "PersonalCenter/HomeList1bg.png",
                };
                dialogBody.AddChidren(dispalyView);
@@ -647,14 +652,69 @@
                    X = Application.GetRealWidth(8),
                    Y = Application.GetRealHeight(15),
                    Width = Application.GetRealWidth(150),
                    Height = Application.GetRealHeight(45 * 4),
                    Height = Application.GetRealHeight(45 * 2),
                    ScrollEnabled = false
                };
                dispalyView.AddChidren(contentView);
                foreach (var roomTemp in DB_ResidenceData.residenceData.rooms)
                if (SpatialInfo.CurrentSpatial.RoomList.Count < 2)
                {
                    string roomName = roomTemp.name;
                }
                else if (SpatialInfo.CurrentSpatial.RoomList.Count < 3)
                {
                    dispalyView = new FrameLayout()
                    {
                        X = Application.GetRealWidth(10),
                        Y = Application.GetRealHeight(266),
                        Width = Application.GetRealWidth(160),
                        Height = Application.GetRealHeight(155),
                        BackgroundImagePath = "PersonalCenter/HomeList2bg.png",
                    };
                    dialogBody.AddChidren(dispalyView);
                    contentView.Height = Application.GetRealHeight(45 * 3);
                    dispalyView.AddChidren(contentView);
                }
                else if (SpatialInfo.CurrentSpatial.RoomList.Count < 4)
                {
                    dispalyView = new FrameLayout()
                    {
                        X = Application.GetRealWidth(10),
                        Y = Application.GetRealHeight(266),
                        Width = Application.GetRealWidth(160),
                        Height = Application.GetRealHeight(200),
                        BackgroundImagePath = "PersonalCenter/HomeList3bg.png",
                    };
                    dialogBody.AddChidren(dispalyView);
                    contentView.Height = Application.GetRealHeight(45 * 4);
                    dispalyView.AddChidren(contentView);
                }
                else
                {
                    dispalyView = new FrameLayout()
                    {
                        X = Application.GetRealWidth(10),
                        Y = Application.GetRealHeight(266),
                        Width = Application.GetRealWidth(160),
                        Height = Application.GetRealHeight(245),
                        BackgroundImagePath = "PersonalCenter/HomeList4bg.png",
                    };
                    dialogBody.AddChidren(dispalyView);
                    contentView.Height = Application.GetRealHeight(45 * 5);
                    contentView.ScrollEnabled = true;
                    dispalyView.AddChidren(contentView);
                }
                var showListRoom = new List<Room>();
                showListRoom.Add(new Room() { roomName = Language.StringByID(StringId.All) });
                showListRoom.AddRange(SpatialInfo.CurrentSpatial.RoomList);
                foreach (var roomTemp in showListRoom)
                {
                    string roomName = roomTemp.roomName;
                    var btnRoomName = new Button()
                    {
                        Gravity = Gravity.CenterHorizontal,
@@ -676,14 +736,15 @@
                        dialog.Close();
                        btnRoom.Text = roomName;
                        room = roomTemp;
                        LoadSenesorList();
                    };
                }
                dialog.Show();
            };
            btnRoom.MouseUpEventHandler = eventHandler;
            btnFoorDownIcon.MouseUpEventHandler = eventHandler;
            btnRoomClickRow.MouseUpEventHandler = eventHandler;
            //btnFoorDownIcon.MouseUpEventHandler = eventHandler;
        }