wxr
2022-04-14 f48b20ee2ed48652ff4f0bfcdc2cfb8b9340685c
HDL_ON/UI/UI2/3-Intelligence/Automation/FunTpye.cs
@@ -9,13 +9,13 @@
    {
        public FunTpye(string str)
        {
            if_type = str;
            if_Type = str;
        }
        /// <summary>
        /// 表示是(条件/目标)
        /// </summary>
        private string if_type;
        private string if_Type;
        Loading loading = new Loading();
        /// <summary>
        /// 设备功能ui
        /// </summary>
@@ -23,6 +23,7 @@
        /// <param name="bottm"></param>
        /// <param name="funCount">支持功能类型个数<表示上面所占高度></param>
        public void FunTypeView(FrameLayout viewLayout,int bottm,int funCount) {
            viewLayout.AddChidren(loading);
            LogicView.FunAllAreaView funAllAreaView = new LogicView.FunAllAreaView();
            funAllAreaView.frameLayout.Y = bottm + Application.GetRealHeight(8);
            viewLayout.AddChidren(funAllAreaView.FLayoutView());
@@ -120,9 +121,9 @@
                        ///切换房间默认:全部功能
                        UserInfo.Current.logicselectedFunction = Language.StringByID(StringId.allFun);
                        ///获取显示设备列表
                        var list = LogicMethod.CurrLogicMethod.GetFunctionDeviceList(areaView.btnClick.Tag as Entity.Room, if_type);
                        var list = LogicMethod.CurrLogicMethod.GetFunctionDeviceList(areaView.btnClick.Tag as Entity.Room, if_Type);
                        DeviceListView(vv, list);
                        this.LoadingDeviceListView(vv, list);
                    };
                    if (roomList.Count - 1 == i)
                    {
@@ -138,7 +139,7 @@
            {
                //获取最终显示列表
                var functionList = LogicMethod.CurrLogicMethod.GetFunctionDeviceList(UserInfo.Current.logicselectedRoom, if_type);
                var functionList = LogicMethod.CurrLogicMethod.GetFunctionDeviceList(UserInfo.Current.logicselectedRoom, if_Type);
                //获取设备列表的类型(例如:灯光类,窗帘类。。。)
                var deviceTypeList = LogicMethod.CurrLogicMethod.GetDeviceTypeList(functionList);
                if (deviceTypeList.Count == 0)
@@ -220,11 +221,11 @@
                        fLayout.RemoveFromParent();
                        funAllAreaView.btnText2.Text = areaView.btnClick.Tag.ToString();
                        UserInfo.Current.logicselectedFunction = areaView.btnClick.Tag.ToString();
                        ///获取单个类型(例如:灯光类。。)设备FunctionType列表<简称:spk列表>
                        ///获取设备单个大类spk列表(例如:灯光类,空调类...)
                        var typeFunctionList2 = LogicMethod.CurrLogicMethod.GetDeviceTypeFunctionList(UserInfo.Current.logicselectedFunction);
                        ///获取单个灯光类型(例如:灯光1,灯光2。。)设备列表
                        ///获取设备单个小类列表(例如:灯光1,灯光2...)
                        var lists2 = LogicMethod.CurrLogicMethod.GetShowDeviceList(typeFunctionList2, functionList);
                        DeviceListView(vv, lists2);
                       this.LoadingDeviceListView(vv, lists2);
                    };
                    if (deviceTypeList.Count - 1 == i)
@@ -237,16 +238,17 @@
            funAllAreaView.btnText2.MouseUpEventHandler += funClick;
            funAllAreaView.btnIcon2.MouseUpEventHandler += funClick;
            ///获取房间支持的设备列表
            var deviceList = LogicMethod.CurrLogicMethod.GetFunctionDeviceList(UserInfo.Current.logicselectedRoom, if_type);
            ///获取单个类型(例如:灯光类。。)设备FunctionType列表<简称:spk列表>
            var deviceList = LogicMethod.CurrLogicMethod.GetFunctionDeviceList(UserInfo.Current.logicselectedRoom, if_Type);
            ///获取设备单个大类spk列表(例如:灯光类,空调类...)
            var typeFunctionList = LogicMethod.CurrLogicMethod.GetDeviceTypeFunctionList(UserInfo.Current.logicselectedFunction);
            ///获取单个灯光类型(例如:灯光1,灯光2。。)设备列表
            ///获取设备单个小类列表(例如:灯光1,灯光2...)
            var lists = LogicMethod.CurrLogicMethod.GetShowDeviceList(typeFunctionList, deviceList);
            ///房间名称
            funAllAreaView.btnText1.Text = UserInfo.Current.logicselectedRoom.roomName;
            ///功能类型名称<灯光类。。。。。>
            ///设备大类名称<灯光类。。。。。>
            funAllAreaView.btnText2.Text = UserInfo.Current.logicselectedFunction;
            DeviceListView(vv, lists);
            this.LoadingDeviceListView(vv, lists);
        }
@@ -255,40 +257,50 @@
        /// </summary>
        /// <param name="verticalScrolView">上下滑动</param>
        /// <param name="deviceList"></param>
        public void DeviceListView(VerticalScrolViewLayout verticalScrolView, List<HDL_ON.Entity.Function> deviceList)
        private void LoadingDeviceListView(VerticalScrolViewLayout verticalScrolView, List<HDL_ON.Entity.Function> deviceList)
        {
            verticalScrolView.RemoveAll();
            foreach (var dev in deviceList)
            loading.Start();
            System.Threading.Tasks.Task.Run(() =>
            {
                LogicView.SelectTypeView funView = new LogicView.SelectTypeView();
                funView.btnText.Visible = false;
                funView.btnDeviceName.Visible = true;
                funView.btnRoomName.Visible = true;
                funView.btnLine.X = Application.GetRealWidth(16);
                funView.btnLine.Width = Application.GetRealWidth(343);
                verticalScrolView.AddChidren(funView.FLayoutView());
                funView.btnIcon.UnSelectedImagePath = LogicMethod.CurrLogicMethod.GetIconPath(dev.spk);
                funView.btnDeviceName.Text = dev.name;
                funView.btnRoomName.Text = dev.GetRoomListName();
                funView.btnClick.MouseUpEventHandler += (sen, e) => {
                    if (if_type == LogicMethod.condition_if)
                Application.RunOnMainThread(() =>
                {
                    loading.Hide();
                    verticalScrolView.RemoveAll();
                    foreach (var dev in deviceList)
                    {
                        ConditionDeviceFunList conditionDeviceFunList = new ConditionDeviceFunList();
                        MainPage.BasePageView.AddChidren(conditionDeviceFunList);
                        conditionDeviceFunList.Show(dev, 0, false);
                        MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
                    }
                    else
                    {
                        TargetDeviceFunList targetDeviceFunList = new TargetDeviceFunList();
                        MainPage.BasePageView.AddChidren(targetDeviceFunList);
                        targetDeviceFunList.Show(dev, 0, false);
                        MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
                    }
                        LogicView.SelectTypeView funView = new LogicView.SelectTypeView();
                        funView.btnText.Visible = false;
                        funView.btnDeviceName.Visible = true;
                        funView.btnRoomName.Visible = true;
                        funView.btnLine.X = Application.GetRealWidth(16);
                        funView.btnLine.Width = Application.GetRealWidth(343);
                        verticalScrolView.AddChidren(funView.FLayoutView());
                        funView.btnIcon.UnSelectedImagePath = LogicMethod.CurrLogicMethod.GetIconPath(dev.spk);
                        funView.btnDeviceName.Text = dev.name;
                        funView.btnRoomName.Text = dev.GetRoomListName();
                        funView.btnClick.MouseUpEventHandler += (sen, e) =>
                        {
                            if (if_Type == LogicMethod.condition_if)
                            {
                                ConditionDeviceFunList conditionDeviceFunList = new ConditionDeviceFunList();
                                MainPage.BasePageView.AddChidren(conditionDeviceFunList);
                                conditionDeviceFunList.Show(dev, 0, false);
                                MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
                            }
                            else
                            {
                                TargetDeviceFunList targetDeviceFunList = new TargetDeviceFunList();
                                MainPage.BasePageView.AddChidren(targetDeviceFunList);
                                targetDeviceFunList.Show(dev, 0, false);
                                MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
                            }
                };
            }
                        };
                    }
                });
            });
        }
    }