wxr
2023-08-03 1789f33db1b549f0211258d828c551cc33c7c407
HDL_ON/UI/UI2/FuntionControlView/Electrical/AirSwitchP3SubloopEnergyPage.cs
@@ -14,6 +14,12 @@
    {
        static AirSwitchP3SubloopEnergyPage bodyView;
        Button btnRighta;
        Button btnRightb;
        Button btnRightc;
        /// <summary>
        /// 曲线图数据string
        /// </summary>
@@ -45,9 +51,9 @@
        /// <summary>
        /// 
        /// </summary>
        public void LoadPage()
        public void LoadPage(int titleId)
        {
            new TopViewDiv(bodyView, Language.StringByID(StringId.EnergyMonitoring)).LoadTopView(0xFFF7F7F7);
            new TopViewDiv(bodyView, Language.StringByID(titleId)).LoadTopView(0xFFF7F7F7);
            bodyView.BackgroundColor = 0xFFF5F7FA;
            var contentView = new VerticalScrolViewLayout()
@@ -85,7 +91,7 @@
            };
            contentView.AddChidren(viewa);
            Button btnRighta = new Button()
            btnRighta = new Button()
            {
                X = Application.GetRealWidth(201),
                Gravity = Gravity.CenterVertical,
@@ -126,7 +132,7 @@
            };
            contentView.AddChidren(viewb);
            Button btnRightb = new Button()
            btnRightb = new Button()
            {
                X = Application.GetRealWidth(201),
                Gravity = Gravity.CenterVertical,
@@ -167,7 +173,7 @@
            };
            contentView.AddChidren(viewc);
            Button btnRightc = new Button()
            btnRightc = new Button()
            {
                X = Application.GetRealWidth(201),
                Gravity = Gravity.CenterVertical,
@@ -448,7 +454,7 @@
            var btnTip = new Button()
            {
                Y = Application.GetRealHeight(289),
                Y = Application.GetRealWidth(289),
                Height = Application.GetRealHeight(41),
                Width = Application.GetRealWidth(300),
                TextAlignment = TextAlignment.Center,
@@ -488,6 +494,9 @@
            };
            totalElectricityView.AddChidren(btnTotalElectricity);
            double totalNumber = 0.00;
            double.TryParse(device.GetAttrState(key), out totalNumber);
            var btnTotalNumber = new Button()
            {
                Y = Application.GetRealHeight(27),
@@ -496,9 +505,10 @@
                TextSize = 49,
                TextColor = 0xFF030D1C,
                TextAlignment = TextAlignment.Center,
                Text = device.GetAttrState(FunctionAttributeKey.TotalElectricity),
                Text = totalNumber.ToString("F2"),
            };
            totalElectricityView.AddChidren(btnTotalNumber);
            btnShowHistroyData_Day.MouseUpEventHandler += (sender, e) => {
                totalElectricityView.RemoveFromParent();
@@ -506,7 +516,8 @@
                //viewa.Visible = true;
                //viewb.Visible = true;
                //viewc.Visible = true;
                historyDataView.Height = Application.GetRealHeight(330);
                btnTip.TextID = StringId.AirSwitchP3HistroyTip1;
                historyDataView.Height = Application.GetRealWidth(330);
            };
            btnShowHistroyData_Month.MouseUpEventHandler += (sender, e) => {
                totalElectricityView.RemoveFromParent();
@@ -514,7 +525,8 @@
                //viewa.Visible = true;
                //viewb.Visible = true;
                //viewc.Visible = true;
                historyDataView.Height = Application.GetRealHeight(330);
                btnTip.TextID = StringId.AirSwitchP3HistroyTip2;
                historyDataView.Height = Application.GetRealWidth(330);
            };
            btnShowHistroyData_Year.MouseUpEventHandler += (sender, e) => {
                totalElectricityView.RemoveFromParent();
@@ -522,7 +534,8 @@
                //viewa.Visible = true;
                //viewb.Visible = true;
                //viewc.Visible = true;
                historyDataView.Height = Application.GetRealHeight(330);
                btnTip.TextID = StringId.AirSwitchP3HistroyTip3;
                historyDataView.Height = Application.GetRealWidth(330);
            };
            btnShowHistroyData_Total.MouseUpEventHandler += (sender, e) => {
                myEchartsView_Line.RemoveFromParent();
@@ -533,11 +546,14 @@
                historyDataView.Height = Application.GetRealHeight(184);
            };
            #endregion
            new System.Threading.Thread(() =>
            {
                DriverLayer.Control.Ins.SendReadCommand(device);
            })
            { IsBackground = true }.Start();
@@ -649,7 +665,7 @@
                        brokenLine.xTitle = Language.StringByID(StringId.Date);
                    }
                    var opString = brokenLine.InitOption(50, curQueryType == "year_month");
                    var opString = brokenLine.InitOption(100, curQueryType == "year_month");
                    Application.RunOnMainThread(() =>
                    {
                        myEchartsView_Line.ShowWithOption(opString);
@@ -670,6 +686,55 @@
            { IsBackground = true }.Start();
        }
        /// <summary>
        ///
        /// </summary>
        public static void UpdataStatus(Function updataTemp)
        {
            Application.RunOnMainThread(() =>
            {
                try
                {
                    if (bodyView != null)
                    {
                        double power = 0.00;
                        double voltage = 0.00;
                        double current = 0.00;
                        switch (bodyView.key)
                        {
                            case FunctionAttributeKey.ElectricityA:
                                double.TryParse(updataTemp.GetAttrState(FunctionAttributeKey.PowerA), out power);
                                double.TryParse(updataTemp.GetAttrState(FunctionAttributeKey.VoltageA),out voltage);
                                double.TryParse(updataTemp.GetAttrState(FunctionAttributeKey.CurrentA),out current);
                                break;
                            case FunctionAttributeKey.ElectricityB:
                                double.TryParse(updataTemp.GetAttrState(FunctionAttributeKey.PowerB), out power);
                                double.TryParse(updataTemp.GetAttrState(FunctionAttributeKey.VoltageB), out voltage);
                                double.TryParse(updataTemp.GetAttrState(FunctionAttributeKey.CurrentB), out current);
                                break;
                            case FunctionAttributeKey.ElectricityC:
                                double.TryParse(updataTemp.GetAttrState(FunctionAttributeKey.PowerC), out power);
                                double.TryParse(updataTemp.GetAttrState(FunctionAttributeKey.VoltageC), out voltage);
                                double.TryParse(updataTemp.GetAttrState(FunctionAttributeKey.CurrentC), out current);
                                break;
                        }
                        bodyView.btnRighta.Text = voltage.ToString("F2") + "V";
                        bodyView.btnRightb.Text = current.ToString("F2") + "A";
                        bodyView.btnRightc.Text = power.ToString("F2") + "W";
                    }
                }
                catch (Exception ex)
                {
                    MainPage.Log($"更新三相子项异常:{ex.Message}");
                }
            });
        }
        public override void RemoveFromParent()
        {
            base.RemoveFromParent();
            bodyView = null;
        }
    }
}