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,15 +91,15 @@
            };
            contentView.AddChidren(viewa);
            Button btnRighta = new Button()
            btnRighta = new Button()
            {
                X = Application.GetRealWidth(221),
                X = Application.GetRealWidth(201),
                Gravity = Gravity.CenterVertical,
                Width = Application.GetMinRealAverage(116),
                TextAlignment = TextAlignment.CenterRight,
                TextColor = 0xFF768194,
                TextSize = CSS_FontSize.TextFontSize,
                Text = "---V",
                Text = "--- V",
            };
            viewa.AddChidren(btnRighta);
@@ -126,15 +132,15 @@
            };
            contentView.AddChidren(viewb);
            Button btnRightb = new Button()
            btnRightb = new Button()
            {
                X = Application.GetRealWidth(221),
                X = Application.GetRealWidth(201),
                Gravity = Gravity.CenterVertical,
                Width = Application.GetMinRealAverage(116),
                TextAlignment = TextAlignment.CenterRight,
                TextColor = 0xFF768194,
                TextSize = CSS_FontSize.TextFontSize,
                Text = "---A",
                Text = "--- A",
            };
            viewb.AddChidren(btnRightb);
@@ -167,15 +173,15 @@
            };
            contentView.AddChidren(viewc);
            Button btnRightc = new Button()
            btnRightc = new Button()
            {
                X = Application.GetRealWidth(221),
                X = Application.GetRealWidth(201),
                Gravity = Gravity.CenterVertical,
                Width = Application.GetMinRealAverage(116),
                TextAlignment = TextAlignment.CenterRight,
                TextColor = 0xFF768194,
                TextSize = CSS_FontSize.TextFontSize,
                Text = "---W",
                Text = "--- W",
            };
            viewc.AddChidren(btnRightc);
@@ -446,7 +452,18 @@
            };
            historyDataView.AddChidren(myEchartsView_Line);
            //EnergyRow(energy, energyListView, index);
            var btnTip = new Button()
            {
                Y = Application.GetRealWidth(289),
                Height = Application.GetRealHeight(41),
                Width = Application.GetRealWidth(300),
                TextAlignment = TextAlignment.Center,
                Gravity = Gravity.CenterHorizontal,
                TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
                TextColor = CSS_Color.FirstLevelTitleColor,
                TextID = StringId.AirSwitchP3HistroyTip1,
            };
            historyDataView.AddChidren(btnTip);
            LoadMothed_GetHistoryData();
@@ -477,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),
@@ -485,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();
@@ -495,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();
@@ -503,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();
@@ -511,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();
@@ -522,11 +546,14 @@
                historyDataView.Height = Application.GetRealHeight(184);
            };
            #endregion
            new System.Threading.Thread(() =>
            {
                DriverLayer.Control.Ins.SendReadCommand(device);
            })
            { IsBackground = true }.Start();
@@ -638,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);
@@ -659,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;
        }
    }
}