wjc
2023-03-28 f46be160caed45c67e8980173d29ed48d525a4d3
HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs
@@ -466,7 +466,7 @@
                        };
                    }
                    break;
                //pm210
                //pm10
                case SPK.SensorPm10:
                    {
                        ///pm210
@@ -618,7 +618,24 @@
                        }
                    }
                    break;
                //萤石视频门锁
                case SPK.VideoDoorLock:
                    {
                        LogicView.FunTypeView view1 = new LogicView.FunTypeView();
                        view1.btnText.Text = "用户人员";// StringId.shipintonghuahujiao;
                        view1.btnText.Name = Language.StringByID(StringId.shipinmensuo);
                        fLayout.AddChidren(view1.FLayoutView());
                        view1.btnClick.MouseUpEventHandler += (sender, e) =>
                        {
                            this.VideoDoorLockAction(this, device, view1.btnState);
                        };
                        if (edit)
                        {
                            this.GetEditState(device, index, view1.btnState,null, null, null);
                        }
                    }
                    break;
            }
            #region  保存
            ///保存View
@@ -647,7 +664,7 @@
                Input inputDevice = new Input();
                inputDevice.condition_type = "3";
                inputDevice.sid = device.sid;
                inputDevice.condition = dicSateteList;
                inputDevice.condition.AddRange(dicSateteList);
                if (device.spk == SPK.doorgate)
                {
                    //可视对讲
@@ -928,7 +945,7 @@
                if (inputs.condition.Count != 0)
                {
                    //有数据重新赋值
                    dicSateteList = inputs.condition;
                    dicSateteList.AddRange(inputs.condition);
                }
            }
            new LogicView.TipPopView { }.InputBox(textInt, stateValue, (value) =>
@@ -990,7 +1007,7 @@
                if (inputs.condition.Count != 0)
                {
                    //有数据重新赋值
                    dicSateteList = inputs.condition;
                    dicSateteList.AddRange(inputs.condition);
                }
            }
            PublicInterface view = new PublicInterface();
@@ -1016,6 +1033,7 @@
                       case SPK.SensorPm25:
                       case SPK.SensorTVOC:
                       case SPK.SensorHcho:
                       case SPK.SensorPm10:
                           {
                               if (!Is_SpkAttribute(key))
                               {
@@ -1043,7 +1061,7 @@
            {
                try
                {
                   var faceIDList = Send.Current.GetListHomeFace(device.deviceId,true);
                    var faceIDList = Send.Current.GetListHomeFace(device.deviceId, true);
                    List<string> faceNameList = new List<string>();
                    for (int i = 0; i < faceIDList.Count; i++)
                    {
@@ -1068,6 +1086,65 @@
                    });
                }
                catch { }
                finally
                {
                    Application.RunOnMainThread(() =>
                    {
                        loading.Hide();
                    });
                }
            });
        }
        /// <summary>
        /// 萤石视频门锁专用
        /// </summary>
        /// <param name="frame">当前界面</param>
        /// <param name="device">当前设备</param>
        /// <param name="btnState">旧状态</param>
        public void VideoDoorLockAction(FrameLayout frame, Entity.Function device, Button btnState)
        {
            selectedState = device.spk + "_";
            Loading loading = new Loading();
            frame.AddChidren(loading);
            loading.Start();
            System.Threading.Tasks.Task.Run(() =>
            {
                try
                {
                    var userList =FuntionControlView.VideoDoorLock.VideDoorLockSend.Current.GetVideoDoorLockUserListInfo(device);
                    List<string> userNameList = new List<string>();
                    for (int i = 0; i < userList.Count; i++)
                    {
                        var user = userList[i];
                        userNameList.Add(user.extUserName);
                    }
                    Application.RunOnMainThread(() =>
                    {
                        loading.Hide();
                        PublicInterface publicInterface = new PublicInterface();//用户界面
                        publicInterface.FrameOrVv(this, userNameList, new List<string> { btnState.Text }, device.name, (index) =>
                        {
                            var userId = userNameList[index];
                            //界面显示选中值
                            btnState.Text = userId;
                            //数据封装
                            AddDictionary("open_user", userId, "string");
                        }, false);
                    });
                }
                catch { }
                finally
                {
                    Application.RunOnMainThread(() =>
                    {
                        loading.Hide();
                    });
                }
            });
@@ -1091,7 +1168,7 @@
            if (dicList.Count != 0)
            {
                //有数据重新赋值
                dicSateteList = dicList;
                dicSateteList.AddRange(dicList);
            }
            InpOrOutLogicMethod.Current.EditDeviceState(device, dicList, button1, button2, button3, button4);
        }