Bläddra i källkod

移动端登录增加IMEI记录

konghe 1 år sedan
förälder
incheckning
2c40fd2d39

+ 11 - 2
DK.Basics/BaseResources/FormTitles.Designer.cs

@@ -47,8 +47,8 @@ namespace Dongke.IBOSS.PRD.Basics.BaseResources {
         }
         }
         
         
         /// <summary>
         /// <summary>
-        ///   重写当前线程的 CurrentUICulture 属性
-        ///   重写当前线程的 CurrentUICulture 属性
+        ///   重写当前线程的 CurrentUICulture 属性,对
+        ///   使用此强类型资源类的所有资源查找执行重写。
         /// </summary>
         /// </summary>
         [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
         [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
         public static global::System.Globalization.CultureInfo Culture {
         public static global::System.Globalization.CultureInfo Culture {
@@ -511,6 +511,15 @@ namespace Dongke.IBOSS.PRD.Basics.BaseResources {
         }
         }
         
         
         /// <summary>
         /// <summary>
+        ///   查找类似 登录记录 的本地化字符串。
+        /// </summary>
+        public static string F_MST_0208 {
+            get {
+                return ResourceManager.GetString("F_MST_0208", resourceCulture);
+            }
+        }
+        
+        /// <summary>
         ///   查找类似 员工关联 的本地化字符串。
         ///   查找类似 员工关联 的本地化字符串。
         /// </summary>
         /// </summary>
         public static string F_MST_0210 {
         public static string F_MST_0210 {

+ 3 - 0
DK.Basics/BaseResources/FormTitles.resx

@@ -915,4 +915,7 @@
   <data name="F_PM_0107_EDIT" xml:space="preserve">
   <data name="F_PM_0107_EDIT" xml:space="preserve">
     <value>编辑条码预设</value>
     <value>编辑条码预设</value>
   </data>
   </data>
+  <data name="F_MST_0208" xml:space="preserve">
+    <value>登录记录</value>
+  </data>
 </root>
 </root>

+ 456 - 0
DK.Client/SystemModule/F_MST_0208.cs

@@ -0,0 +1,456 @@
+/*******************************************************************************
+ * Copyright(c) 2014 DongkeSoft All rights reserved. / Confidential
+ * 类的信息:
+ *      1.程序名称:F_MST_0208.cs
+ *      2.功能描述:用户管理
+ * 编辑履历:
+ *      作者            日期                版本            修改内容
+ *      孔赫            2024/06/12          1.00            新建
+ *******************************************************************************/
+
+using System;
+using System.Collections.Generic;
+using System.Data;
+using System.Windows.Forms;
+using Dongke.IBOSS.PRD.Basics.BaseControls;
+using Dongke.IBOSS.PRD.Basics.BaseResources;
+using Dongke.IBOSS.PRD.Basics.DockPanel;
+using Dongke.IBOSS.PRD.Client.CommonModule;
+using Dongke.IBOSS.PRD.WCF.DataModels;
+using Dongke.IBOSS.PRD.WCF.Proxys;
+using Dongke.IBOSS.PRD.WCF.Proxys.SystemModuleService;
+
+namespace Dongke.IBOSS.PRD.Client.SystemModule
+{
+    /// <summary>
+    /// 用户管理
+    /// </summary>
+    public partial class F_MST_0208 : DockPanelBase
+    {
+        #region 成员变量
+
+        // 单例模式
+        private static F_MST_0208 _instance;
+        // 最后选择行
+        private int _selecedRow;
+        // 用户管理实体类
+        private SUserEntity _userInfo;
+        public enum ActionTypeEnum
+        {
+            /// <summary>
+            /// pc登录
+            /// </summary>
+            pc登录 = 0,
+            /// <summary>
+            /// PC登出
+            /// </summary>
+            PC登出 = 1,
+            /// <summary>
+            /// 移动设备登录
+            /// </summary>
+            移动设备登录 = 2,
+            /// <summary>
+            /// 移动设备登出
+            /// </summary>
+            移动设备登出 = 3,
+            /// <summary>
+            /// PC登录MBC
+            /// </summary>
+            PC登录MBC = 4,
+            /// <summary>
+            /// PC登出MBC
+            /// </summary>
+            /// <param name=""></param>
+            PC登出MBC = 5
+        }
+
+        #endregion
+
+        #region 单例模式
+
+        /// <summary>
+        /// 单例模式,防止重复创建窗体
+        /// </summary>
+        public static F_MST_0208 Instance
+        {
+            get
+            {
+                if (_instance == null)
+                {
+                    _instance = new F_MST_0208();
+                }
+                return _instance;
+            }
+        }
+
+        #endregion
+
+        #region 构造函数
+
+        public F_MST_0208()
+        {
+            InitializeComponent();
+            this.Text = FormTitles.F_MST_0208;
+            this.gbxCondition.Text = Constant.LABEL_QUERY_CONDITIONS;
+            this.btnSearch.Text = ButtonText.BTN_SEARCH;
+            this.btnClearCondition.Text = ButtonText.BTN_CLEARCONDITION;
+            DataTable dt = new DataTable();
+            dt.Columns.Add("id", typeof(string));
+            dt.Columns.Add("actiontype", typeof(string));
+            DataRow dr = dt.NewRow();
+            int d = 0;
+            var type = typeof(ActionTypeEnum);
+            foreach (string name in Enum.GetNames(type))
+            {
+                dr = dt.NewRow();
+                dr[0] = (int)Enum.Parse(type, name);
+                dr[1] = name;
+                dt.Rows.Add(dr);
+                d++;
+            }
+            cbActionType.DisplayMember = "actiontype";
+            cbActionType.DataSource = dt;
+            cbActionType.Text = "";
+        }
+
+        #endregion
+
+        #region 事件
+
+        /// <summary>
+        /// 窗体加载事件
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void FrmUser_Load(object sender, EventArgs e)
+        {
+            try
+            {
+                //加载权限
+                //FormPermissionManager.FormPermissionControl(this.Name, this,
+                //    Dongke.IBOSS.PRD.Client.DataModels.LogInUserInfo.CurrentUser.CurrentUserEntity.UserRightData,
+                //    Dongke.IBOSS.PRD.Client.DataModels.LogInUserInfo.CurrentUser.CurrentUserEntity.FunctionData);
+                // 设置表格不自动创建列
+                this.dgvUserLogin.AutoGenerateColumns = false;
+                this.SetToolStripButtonEnable();
+                this.scbOrganization.EditReadOnly = true;
+            }
+            catch (Exception ex)
+            {
+                // 对异常进行共通处理
+                ExceptionManager.HandleEventException(this.ToString(),
+                    System.Reflection.MethodBase.GetCurrentMethod().Name, this.Text, ex);
+            }
+        }
+
+
+        /// <summary>
+        /// 搜索按钮事件
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void btnSearch_Click(object sender, EventArgs e)
+        {
+            try
+            {
+                this.btnSearch.Enabled = false;
+                this.btnClearCondition.Enabled = false;
+                DataSet userDataSet = this.SearchUserData();
+                this.btnSearch.Enabled = true;
+                this.btnClearCondition.Enabled = true;
+                this.scbOrganization.EditReadOnly = true;
+                if (userDataSet != null)
+                {
+                    base.DataSource = (DataSet)userDataSet;
+                    if (this.DataSource != null && this.DataSource.Tables.Count > Constant.INT_IS_ZERO)
+                    {
+                        this.dgvUserLogin.DataSource = this.DataSource.Tables[0];
+                        //foreach (DataGridViewRow gvrFor in this.dgvUser.Rows)
+                        //{
+                        //    string ValueStr = "";
+                        //    string ValueNum = gvrFor.Cells["ValueFlag"].Value.ToString();
+                        //    switch (ValueNum)
+                        //    {
+                        //        case "1":
+                        //            ValueStr = "正常";
+                        //            break;
+                        //        case "0":
+                        //            ValueStr = "停用";
+                        //            break;
+                        //        default:
+                        //            break;
+                        //    }
+                        //    gvrFor.Cells["checkValueFlag"].Value = ValueStr;
+                        //    string StateStr = gvrFor.Cells["IsLocked"].Value.ToString();
+                        //    if (StateStr == "1")
+                        //    {
+                        //        gvrFor.Cells["IsLocked"].Value = "锁死";
+                        //    }
+                        //    else
+                        //    {
+                        //        gvrFor.Cells["IsLocked"].Value = "正常";
+                        //    }
+                        //}
+                        if (this.DataSource.Tables[0].Rows.Count <= Constant.INT_IS_ZERO)
+                        {
+                            // 提示未查找到数据
+                            MessageBox.Show(Messages.MSG_CMN_I002, this.Text,
+                                MessageBoxButtons.OK, MessageBoxIcon.Information);
+                        }
+                    }
+                }
+                this.SetToolStripButtonEnable();
+            }
+            catch (Exception ex)
+            {
+                this.btnSearch.Enabled = true;
+                this.btnClearCondition.Enabled = true;
+                // 对异常进行共通处理
+                ExceptionManager.HandleEventException(this.ToString(),
+                    System.Reflection.MethodBase.GetCurrentMethod().Name, this.Text, ex);
+            }
+        }
+
+        /// <summary>
+        /// 清空输入查询寻条件
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void btnClear_Click(object sender, EventArgs e)
+        {
+            this.txtUserCode.Clear();
+            this.txtUserName.Clear();
+            this.scbOrganization.ClearValue();
+            this.cbActionType.Text = "";
+        }
+
+
+
+
+
+
+        /// <summary>
+        /// 窗体关闭事件
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void F_MST_0203_FormClosed(object sender, FormClosedEventArgs e)
+        {
+            _instance = null;
+        }
+
+
+        /// <summary>
+        /// 自动适应列宽事件
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void tsbtnAdaptive_Click(object sender, EventArgs e)
+        {
+            this.dgvUserLogin.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells);
+        }
+
+        /// <summary>
+        /// 窗体关闭事件
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void tsbtnClose_Click(object sender, EventArgs e)
+        {
+            this.Close();
+        }
+
+
+        /// <summary>
+        /// 数据表格鼠标点击事件
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void dgvUser_CellMouseClick(object sender, DataGridViewCellMouseEventArgs e)
+        {
+            //if (e.RowIndex != -Constant.INT_IS_ONE)
+            //{
+            //    string ValueFlag = this.dgvUser.Rows[e.RowIndex].Cells["IsLocked"].Value.ToString();
+            //    if (ValueFlag == "锁死" || ValueFlag == "1")
+            //    {
+            //        this.tsbtnUnlock.Enabled = true;
+            //    }
+            //    else
+            //    {
+            //        this.tsbtnUnlock.Enabled = false;
+            //    }
+            //}
+        }
+
+        /// <summary>
+        /// 打印工号事件
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void tsbPrintCode_Click(object sender, EventArgs e)
+        {
+            try
+            {
+                if (this.dgvUserLogin.Rows.Count == Constant.INT_IS_ZERO)
+                {
+                    // 提示信息
+                    MessageBox.Show(Messages.MSG_CMN_W023,
+                        this.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning);
+                    return;
+                }
+                List<string> codeList = new List<string>();
+                foreach (DataGridViewRow row in this.dgvUserLogin.Rows)
+                {
+                    codeList.Add(row.Cells["UserCode"].Value.ToString());
+                }
+                F_MST_0205 fMST0205 = new F_MST_0205();
+                fMST0205.BarcodeList = codeList;
+                fMST0205.ShowDialog();
+            }
+            catch (Exception ex)
+            {
+                // 对异常进行共通处理
+                ExceptionManager.HandleEventException(this.ToString(),
+                    System.Reflection.MethodBase.GetCurrentMethod().Name, this.Text, ex);
+            }
+        }
+
+        #endregion
+
+        #region 私有方法
+
+        /// <summary>
+        /// 获取用户列表
+        /// </summary>
+        /// <returns></returns>
+        private DataSet SearchUserData()
+        {
+            try
+            {
+                ClientRequestEntity cre = new ClientRequestEntity();
+                cre.NameSpace = "F_MST_0208";
+                cre.Name = "GetUserLoginLog";
+                cre.Properties["UserCode"] = this.txtUserCode.Text.Trim();
+                cre.Properties["UserName"] = this.txtUserName.Text.Trim();
+                cre.Properties["Organization"] = this.scbOrganization.CheckedValue + "";
+                cre.Properties["ActionType"] = cbActionType.Text;
+                ServiceResultEntity sre = SystemModuleProxy.Service.DoRequest(cre);
+                if (sre.Status == Basics.BaseResources.Constant.ServiceResultStatus.Success)
+                {
+                    return sre.Data;
+                }
+
+                return null;
+            }
+            catch (Exception ex)
+            {
+                throw ex;
+            }
+        }
+
+        /// <summary>
+        /// 获取输入的用户信息
+        /// </summary>
+        /// <returns></returns>
+		private SUserEntity GetUserEntityFromLayout()
+        {
+            this._userInfo = new SUserEntity();
+            // 用户编码
+            this._userInfo.UserCode = this.txtUserCode.Text.Trim();
+            // 用户姓名
+            this._userInfo.UserName = this.txtUserName.Text.Trim();
+            // 所属部门
+            this._userInfo.OrganizationCode = this.scbOrganization.SearchedValue + "";
+            // 所属部门
+            this._userInfo.OrganizationID = scbOrganization.SearchedPKMember;
+            // MAC
+            //this._userInfo.LimitMAC = this.txtMAC.Text.Trim();
+            //// 备注
+            //this._userInfo.Remarks = this.txtRemarks.Text.Trim();
+
+            //if (this.chkVYes.Checked != this.chkVNo.Checked)
+            //{
+            //    if (this.chkVNo.Checked)
+            //    {
+            //        this._userInfo.IsValueFlag = "0";
+            //    }
+            //    else if (this.chkVYes.Checked)
+            //    {
+            //        this._userInfo.IsValueFlag = "1";
+            //    }
+            //}
+
+            //if (this.chkLYes.Checked != this.chkLNo.Checked)
+            //{
+            //    if (this.chkLNo.Checked)
+            //    {
+            //        this._userInfo.IsLocked = "1";
+            //    }
+            //    else if (this.chkLYes.Checked)
+            //    {
+            //        this._userInfo.IsLocked = "0";
+            //    }
+            //}
+
+            return _userInfo;
+        }
+
+        /// <summary>
+        /// 设置工具按钮的可用状态
+        /// </summary>
+        private void SetToolStripButtonEnable()
+        {
+            //if (this.dgvUserLogin.CurrentCell != null)
+            //{
+            //    //this.tsbtnUnlock.Enabled = true;
+            //    //this.tsbtnResetPassword.Enabled = true;
+            //    //this.tsbtnEdit.Enabled = true;
+            //    //this.tsbtnCopy.Enabled = true;
+            //    //this.tsbtnPurviewRight.Enabled = true;
+            //    //this.tsbtnFunctionRight.Enabled = true;
+            //    //int valueFlag = Convert.ToInt32(dgvUser.CurrentRow.Cells["valueFlag"].Value.ToString());
+            //    string valueFlag = this.dgvUserLogin.Rows[dgvUserLogin.CurrentCell.RowIndex].Cells["IsLocked"].Value.ToString();
+            //    if (valueFlag == "1")
+            //    {
+            //        //this.tsbtnUnlock.Enabled = true;
+            //    }
+            //    else
+            //    {
+            //        //this.tsbtnUnlock.Enabled = false;
+            //    }
+            //    // admin用户不能分配权限
+            //    //if ("ADMIN".Equals(dgvUser.CurrentRow.Cells["UserCode"].Value.ToString().ToUpper()))
+            //    //{
+            //    //    this.tsbtnFunctionRight.Enabled = false;
+            //    //}
+            //}
+            //else
+            //{
+            //    //this.tsbtnUnlock.Enabled = false;
+            //    //this.tsbtnResetPassword.Enabled = false;
+            //    //this.tsbtnEdit.Enabled = false;
+            //    //this.tsbtnCopy.Enabled = false;
+            //    //this.tsbtnPurviewRight.Enabled = false;
+            //    //this.tsbtnFunctionRight.Enabled = false;
+            //}
+        }
+
+        /// <summary>
+        /// 保存组织机构
+        /// </summary>
+        /// <returns>影响的行数</returns>
+        private object UnlockUserStatus()
+        {
+            try
+            {
+                return SystemModuleProxy.Service.UnlockUserStatus(Convert.ToInt32(this.dgvUserLogin.CurrentRow.Cells["UserID"].Value));
+            }
+            catch (Exception ex)
+            {
+                throw ex;
+            }
+        }
+
+        #endregion
+    }
+}

+ 489 - 0
DK.Client/SystemModule/F_MST_0208.designer.cs

@@ -0,0 +1,489 @@
+namespace Dongke.IBOSS.PRD.Client.SystemModule
+{
+    partial class F_MST_0208
+    {
+        /// <summary>
+        /// Required designer variable.
+        /// </summary>
+        private System.ComponentModel.IContainer components = null;
+
+        /// <summary>
+        /// Clean up any resources being used.
+        /// </summary>
+        /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
+        protected override void Dispose(bool disposing)
+        {
+            if (disposing && (components != null))
+            {
+                components.Dispose();
+            }
+            base.Dispose(disposing);
+        }
+
+        #region Windows Form Designer generated code
+
+        /// <summary>
+        /// Required method for Designer support - do not modify
+        /// the contents of this method with the code editor.
+        /// </summary>
+        private void InitializeComponent()
+        {
+            System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(F_MST_0208));
+            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle();
+            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle();
+            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle8 = new System.Windows.Forms.DataGridViewCellStyle();
+            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle();
+            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle4 = new System.Windows.Forms.DataGridViewCellStyle();
+            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle5 = new System.Windows.Forms.DataGridViewCellStyle();
+            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle6 = new System.Windows.Forms.DataGridViewCellStyle();
+            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle7 = new System.Windows.Forms.DataGridViewCellStyle();
+            this.tsrOperate = new Dongke.IBOSS.PRD.Basics.BaseControls.C_ToolStrip();
+            this.toolStripSeparator3 = new System.Windows.Forms.ToolStripSeparator();
+            this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
+            this.txtUserCode = new System.Windows.Forms.TextBox();
+            this.txtUserName = new System.Windows.Forms.TextBox();
+            this.lblMAC = new Dongke.IBOSS.PRD.Basics.BaseControls.C_Label();
+            this.lblUserCode = new Dongke.IBOSS.PRD.Basics.BaseControls.C_Label();
+            this.lblUserName = new Dongke.IBOSS.PRD.Basics.BaseControls.C_Label();
+            this.btnClearCondition = new Dongke.IBOSS.PRD.Basics.BaseControls.C_Button();
+            this.btnSearch = new Dongke.IBOSS.PRD.Basics.BaseControls.C_Button();
+            this.gbxCondition = new Dongke.IBOSS.PRD.Basics.BaseControls.C_GroupBox();
+            this.c_Label1 = new Dongke.IBOSS.PRD.Basics.BaseControls.C_Label();
+            this.cbActionType = new Dongke.IBOSS.PRD.Basics.BaseControls.DKListBoxComboBox();
+            this.scbOrganization = new Dongke.IBOSS.PRD.Client.Controls.SearchBox.ScbOrganization();
+            this.dgvUserLogin = new Dongke.IBOSS.PRD.Basics.BaseControls.C_DataGridView();
+            this.UserCode = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.UserName = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.OrganizationName = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.OrganizationFullName = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.limitMAC = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.设备名 = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.动作类型 = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.IP地址 = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.IMEI = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.PostName = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.UserID = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.tsrOperate.SuspendLayout();
+            this.gbxCondition.SuspendLayout();
+            ((System.ComponentModel.ISupportInitialize)(this.dgvUserLogin)).BeginInit();
+            this.SuspendLayout();
+            // 
+            // tsrOperate
+            // 
+            this.tsrOperate.AutoSize = false;
+            this.tsrOperate.BackColor = System.Drawing.Color.Transparent;
+            this.tsrOperate.BackgroundImage = global::Dongke.IBOSS.PRD.Client.SystemModule.Resource1.functionbackground;
+            this.tsrOperate.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.tsrOperate.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
+            this.toolStripSeparator3,
+            this.toolStripSeparator1});
+            this.tsrOperate.Location = new System.Drawing.Point(0, 0);
+            this.tsrOperate.Name = "tsrOperate";
+            this.tsrOperate.RenderMode = System.Windows.Forms.ToolStripRenderMode.System;
+            this.tsrOperate.ShowItemToolTips = false;
+            this.tsrOperate.Size = new System.Drawing.Size(1031, 35);
+            this.tsrOperate.TabIndex = 0;
+            // 
+            // toolStripSeparator3
+            // 
+            this.toolStripSeparator3.AutoSize = false;
+            this.toolStripSeparator3.Name = "toolStripSeparator3";
+            this.toolStripSeparator3.Size = new System.Drawing.Size(6, 25);
+            // 
+            // toolStripSeparator1
+            // 
+            this.toolStripSeparator1.AutoSize = false;
+            this.toolStripSeparator1.Name = "toolStripSeparator1";
+            this.toolStripSeparator1.Size = new System.Drawing.Size(6, 25);
+            // 
+            // txtUserCode
+            // 
+            this.txtUserCode.CharacterCasing = System.Windows.Forms.CharacterCasing.Upper;
+            this.txtUserCode.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.txtUserCode.ImeMode = System.Windows.Forms.ImeMode.Off;
+            this.txtUserCode.Location = new System.Drawing.Point(70, 20);
+            this.txtUserCode.MaxLength = 20;
+            this.txtUserCode.Name = "txtUserCode";
+            this.txtUserCode.Size = new System.Drawing.Size(97, 21);
+            this.txtUserCode.TabIndex = 2;
+            // 
+            // txtUserName
+            // 
+            this.txtUserName.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.txtUserName.Location = new System.Drawing.Point(238, 20);
+            this.txtUserName.MaxLength = 20;
+            this.txtUserName.Name = "txtUserName";
+            this.txtUserName.Size = new System.Drawing.Size(97, 21);
+            this.txtUserName.TabIndex = 4;
+            // 
+            // lblMAC
+            // 
+            this.lblMAC.AutoSize = true;
+            this.lblMAC.BackColor = System.Drawing.Color.Transparent;
+            this.lblMAC.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.lblMAC.ForeColor = System.Drawing.SystemColors.ControlText;
+            this.lblMAC.Location = new System.Drawing.Point(578, 24);
+            this.lblMAC.Name = "lblMAC";
+            this.lblMAC.Size = new System.Drawing.Size(53, 12);
+            this.lblMAC.TabIndex = 17;
+            this.lblMAC.Text = "动作类型";
+            // 
+            // lblUserCode
+            // 
+            this.lblUserCode.AutoSize = true;
+            this.lblUserCode.BackColor = System.Drawing.Color.Transparent;
+            this.lblUserCode.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.lblUserCode.ForeColor = System.Drawing.SystemColors.ControlText;
+            this.lblUserCode.Location = new System.Drawing.Point(11, 24);
+            this.lblUserCode.Name = "lblUserCode";
+            this.lblUserCode.Size = new System.Drawing.Size(53, 12);
+            this.lblUserCode.TabIndex = 1;
+            this.lblUserCode.Text = "用户编码";
+            // 
+            // lblUserName
+            // 
+            this.lblUserName.AutoSize = true;
+            this.lblUserName.BackColor = System.Drawing.Color.Transparent;
+            this.lblUserName.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.lblUserName.ForeColor = System.Drawing.SystemColors.ControlText;
+            this.lblUserName.Location = new System.Drawing.Point(189, 24);
+            this.lblUserName.Name = "lblUserName";
+            this.lblUserName.Size = new System.Drawing.Size(41, 12);
+            this.lblUserName.TabIndex = 3;
+            this.lblUserName.Text = "用户名";
+            // 
+            // btnClearCondition
+            // 
+            this.btnClearCondition.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
+            this.btnClearCondition.BackColor = System.Drawing.Color.Gray;
+            this.btnClearCondition.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("btnClearCondition.BackgroundImage")));
+            this.btnClearCondition.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.btnClearCondition.ForeColor = System.Drawing.Color.White;
+            this.btnClearCondition.Location = new System.Drawing.Point(916, 21);
+            this.btnClearCondition.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
+            this.btnClearCondition.Name = "btnClearCondition";
+            this.btnClearCondition.Size = new System.Drawing.Size(85, 30);
+            this.btnClearCondition.TabIndex = 10;
+            this.btnClearCondition.Text = "清空条件(&C)";
+            this.btnClearCondition.UseVisualStyleBackColor = false;
+            this.btnClearCondition.Click += new System.EventHandler(this.btnClear_Click);
+            // 
+            // btnSearch
+            // 
+            this.btnSearch.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
+            this.btnSearch.BackColor = System.Drawing.Color.Gray;
+            this.btnSearch.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("btnSearch.BackgroundImage")));
+            this.btnSearch.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.btnSearch.ForeColor = System.Drawing.Color.White;
+            this.btnSearch.Location = new System.Drawing.Point(825, 20);
+            this.btnSearch.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
+            this.btnSearch.Name = "btnSearch";
+            this.btnSearch.Size = new System.Drawing.Size(85, 30);
+            this.btnSearch.TabIndex = 9;
+            this.btnSearch.Text = "查询(&Q)";
+            this.btnSearch.UseVisualStyleBackColor = false;
+            this.btnSearch.Click += new System.EventHandler(this.btnSearch_Click);
+            // 
+            // gbxCondition
+            // 
+            this.gbxCondition.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
+            | System.Windows.Forms.AnchorStyles.Right)));
+            this.gbxCondition.BackColor = System.Drawing.Color.Transparent;
+            this.gbxCondition.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("gbxCondition.BackgroundImage")));
+            this.gbxCondition.Controls.Add(this.c_Label1);
+            this.gbxCondition.Controls.Add(this.cbActionType);
+            this.gbxCondition.Controls.Add(this.scbOrganization);
+            this.gbxCondition.Controls.Add(this.lblMAC);
+            this.gbxCondition.Controls.Add(this.txtUserCode);
+            this.gbxCondition.Controls.Add(this.btnClearCondition);
+            this.gbxCondition.Controls.Add(this.btnSearch);
+            this.gbxCondition.Controls.Add(this.txtUserName);
+            this.gbxCondition.Controls.Add(this.lblUserName);
+            this.gbxCondition.Controls.Add(this.lblUserCode);
+            this.gbxCondition.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.gbxCondition.ForeColor = System.Drawing.SystemColors.ControlText;
+            this.gbxCondition.IsMustInput = false;
+            this.gbxCondition.Location = new System.Drawing.Point(12, 36);
+            this.gbxCondition.Name = "gbxCondition";
+            this.gbxCondition.OriginalHeight = -1;
+            this.gbxCondition.Size = new System.Drawing.Size(1007, 78);
+            this.gbxCondition.TabIndex = 20;
+            this.gbxCondition.TabStop = false;
+            this.gbxCondition.Text = "查询条件 ▼";
+            // 
+            // c_Label1
+            // 
+            this.c_Label1.AutoSize = true;
+            this.c_Label1.BackColor = System.Drawing.Color.Transparent;
+            this.c_Label1.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.c_Label1.ForeColor = System.Drawing.SystemColors.ControlText;
+            this.c_Label1.Location = new System.Drawing.Point(353, 24);
+            this.c_Label1.Name = "c_Label1";
+            this.c_Label1.Size = new System.Drawing.Size(29, 12);
+            this.c_Label1.TabIndex = 111;
+            this.c_Label1.Text = "部门";
+            // 
+            // cbActionType
+            // 
+            this.cbActionType.BackColor = System.Drawing.SystemColors.Window;
+            this.cbActionType.BackgroundColor = System.Drawing.SystemColors.Window;
+            this.cbActionType.DataSource = null;
+            this.cbActionType.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.cbActionType.FormattingEnabled = true;
+            // 
+            // 
+            // 
+            this.cbActionType.ListBox.Dock = System.Windows.Forms.DockStyle.Fill;
+            this.cbActionType.ListBox.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.cbActionType.ListBox.Location = new System.Drawing.Point(0, 0);
+            this.cbActionType.ListBox.Name = "";
+            this.cbActionType.ListBox.Size = new System.Drawing.Size(132, 136);
+            this.cbActionType.ListBox.TabIndex = 0;
+            this.cbActionType.Location = new System.Drawing.Point(655, 21);
+            this.cbActionType.Name = "cbActionType";
+            this.cbActionType.Size = new System.Drawing.Size(134, 20);
+            this.cbActionType.TabIndex = 110;
+            // 
+            // scbOrganization
+            // 
+            this.scbOrganization.CheckedData = null;
+            this.scbOrganization.IsOnlyDisplayEnd = false;
+            this.scbOrganization.Location = new System.Drawing.Point(404, 21);
+            this.scbOrganization.Name = "scbOrganization";
+            this.scbOrganization.Size = new System.Drawing.Size(145, 21);
+            this.scbOrganization.TabIndex = 29;
+            // 
+            // dgvUserLogin
+            // 
+            this.dgvUserLogin.AllowUserToAddRows = false;
+            this.dgvUserLogin.AllowUserToDeleteRows = false;
+            this.dgvUserLogin.AllowUserToModifyRows = true;
+            this.dgvUserLogin.AllowUserToOrderColumns = true;
+            this.dgvUserLogin.AllowUserToResizeRows = false;
+            dataGridViewCellStyle1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(235)))), ((int)(((byte)(235)))), ((int)(((byte)(235)))));
+            dataGridViewCellStyle1.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.dgvUserLogin.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle1;
+            this.dgvUserLogin.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 
+            | System.Windows.Forms.AnchorStyles.Left) 
+            | System.Windows.Forms.AnchorStyles.Right)));
+            this.dgvUserLogin.CellBackColorNochanged = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(255)))));
+            this.dgvUserLogin.CellBackColorReadOnly = System.Drawing.SystemColors.Control;
+            this.dgvUserLogin.CellHeight = 23;
+            this.dgvUserLogin.ChildNodeColumnName = null;
+            this.dgvUserLogin.ChildNodeColumnText = null;
+            this.dgvUserLogin.ColumnDeep = 1;
+            this.dgvUserLogin.ColumnHeadersBorderStyle = System.Windows.Forms.DataGridViewHeaderBorderStyle.Single;
+            dataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
+            dataGridViewCellStyle2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(58)))), ((int)(((byte)(70)))));
+            dataGridViewCellStyle2.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            dataGridViewCellStyle2.ForeColor = System.Drawing.Color.White;
+            dataGridViewCellStyle2.SelectionBackColor = System.Drawing.SystemColors.Highlight;
+            dataGridViewCellStyle2.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
+            dataGridViewCellStyle2.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
+            this.dgvUserLogin.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle2;
+            this.dgvUserLogin.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.DisableResizing;
+            this.dgvUserLogin.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
+            this.UserCode,
+            this.UserName,
+            this.OrganizationName,
+            this.OrganizationFullName,
+            this.limitMAC,
+            this.设备名,
+            this.动作类型,
+            this.IP地址,
+            this.IMEI,
+            this.PostName,
+            this.UserID});
+            this.dgvUserLogin.ColumnTreeView = null;
+            this.dgvUserLogin.ContextMenuVisible = ((Dongke.IBOSS.PRD.Basics.BaseControls.C_DataGridView.ContextMenuVisibleFlags)((Dongke.IBOSS.PRD.Basics.BaseControls.C_DataGridView.ContextMenuVisibleFlags.Refine | Dongke.IBOSS.PRD.Basics.BaseControls.C_DataGridView.ContextMenuVisibleFlags.FileOut)));
+            this.dgvUserLogin.DynamicColumnName = "";
+            this.dgvUserLogin.EnableHeadersVisualStyles = false;
+            this.dgvUserLogin.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.dgvUserLogin.FormatQuantityColumns = null;
+            this.dgvUserLogin.HorizontalMergeColumn = null;
+            this.dgvUserLogin.IsAutoCountSum = true;
+            this.dgvUserLogin.IsAutoResizeColumns = false;
+            this.dgvUserLogin.IsClickF12 = false;
+            this.dgvUserLogin.IsOpenMergeCellFlag = false;
+            this.dgvUserLogin.IsSubTotalFlag = false;
+            this.dgvUserLogin.IsTopDeep = false;
+            this.dgvUserLogin.Location = new System.Drawing.Point(12, 119);
+            this.dgvUserLogin.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
+            this.dgvUserLogin.MergeColumnNames = null;
+            this.dgvUserLogin.MergeDetailColumnNames = null;
+            this.dgvUserLogin.MergeDetailOnlyColumn = null;
+            this.dgvUserLogin.MergeOnlyColumn = null;
+            this.dgvUserLogin.MultiSelect = false;
+            this.dgvUserLogin.Name = "dgvUserLogin";
+            this.dgvUserLogin.ReadOnly = true;
+            this.dgvUserLogin.RefreshAtHscroll = false;
+            this.dgvUserLogin.RowHeadersBorderStyle = System.Windows.Forms.DataGridViewHeaderBorderStyle.Single;
+            this.dgvUserLogin.RowHeadersWidth = 50;
+            this.dgvUserLogin.RowHeadersWidthSizeMode = System.Windows.Forms.DataGridViewRowHeadersWidthSizeMode.DisableResizing;
+            dataGridViewCellStyle8.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(159)))), ((int)(((byte)(39)))), ((int)(((byte)(39)))));
+            this.dgvUserLogin.RowsDefaultCellStyle = dataGridViewCellStyle8;
+            this.dgvUserLogin.RowTemplate.Height = 21;
+            this.dgvUserLogin.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect;
+            this.dgvUserLogin.Size = new System.Drawing.Size(1007, 286);
+            this.dgvUserLogin.SortOrderColumnName = null;
+            this.dgvUserLogin.TabIndex = 21;
+            this.dgvUserLogin.Tag = true;
+            this.dgvUserLogin.TotalSumColumns = null;
+            this.dgvUserLogin.ViewRowFilter = "";
+            // 
+            // UserCode
+            // 
+            this.UserCode.DataPropertyName = "UserCode";
+            dataGridViewCellStyle3.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
+            dataGridViewCellStyle3.BackColor = System.Drawing.Color.White;
+            this.UserCode.DefaultCellStyle = dataGridViewCellStyle3;
+            this.UserCode.HeaderText = "用户编码";
+            this.UserCode.MaxInputLength = 20;
+            this.UserCode.Name = "UserCode";
+            this.UserCode.ReadOnly = true;
+            this.UserCode.Width = 80;
+            // 
+            // UserName
+            // 
+            this.UserName.DataPropertyName = "UserName";
+            dataGridViewCellStyle4.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
+            dataGridViewCellStyle4.BackColor = System.Drawing.Color.White;
+            this.UserName.DefaultCellStyle = dataGridViewCellStyle4;
+            this.UserName.HeaderText = "用户姓名";
+            this.UserName.MaxInputLength = 20;
+            this.UserName.Name = "UserName";
+            this.UserName.ReadOnly = true;
+            this.UserName.Width = 80;
+            // 
+            // OrganizationName
+            // 
+            this.OrganizationName.DataPropertyName = "OrganizationName";
+            dataGridViewCellStyle5.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
+            dataGridViewCellStyle5.BackColor = System.Drawing.Color.White;
+            this.OrganizationName.DefaultCellStyle = dataGridViewCellStyle5;
+            this.OrganizationName.HeaderText = "所属部门";
+            this.OrganizationName.MaxInputLength = 20;
+            this.OrganizationName.Name = "OrganizationName";
+            this.OrganizationName.ReadOnly = true;
+            this.OrganizationName.Width = 80;
+            // 
+            // OrganizationFullName
+            // 
+            this.OrganizationFullName.DataPropertyName = "OrganizationFullName";
+            this.OrganizationFullName.HeaderText = "部门全称";
+            this.OrganizationFullName.Name = "OrganizationFullName";
+            this.OrganizationFullName.ReadOnly = true;
+            this.OrganizationFullName.Width = 200;
+            // 
+            // limitMAC
+            // 
+            this.limitMAC.DataPropertyName = "MAC";
+            dataGridViewCellStyle6.BackColor = System.Drawing.Color.White;
+            this.limitMAC.DefaultCellStyle = dataGridViewCellStyle6;
+            this.limitMAC.HeaderText = "MAC地址";
+            this.limitMAC.MaxInputLength = 17;
+            this.limitMAC.Name = "limitMAC";
+            this.limitMAC.ReadOnly = true;
+            // 
+            // 设备名
+            // 
+            this.设备名.DataPropertyName = "COMPUTERNAME";
+            this.设备名.HeaderText = "设备名";
+            this.设备名.Name = "设备名";
+            this.设备名.ReadOnly = true;
+            // 
+            // 动作类型
+            // 
+            this.动作类型.DataPropertyName = "ACTIONTYPE";
+            this.动作类型.HeaderText = "动作类型";
+            this.动作类型.Name = "动作类型";
+            this.动作类型.ReadOnly = true;
+            // 
+            // IP地址
+            // 
+            this.IP地址.DataPropertyName = "IP";
+            this.IP地址.HeaderText = "IP地址";
+            this.IP地址.Name = "IP地址";
+            this.IP地址.ReadOnly = true;
+            // 
+            // IMEI
+            // 
+            this.IMEI.DataPropertyName = "IMEI";
+            this.IMEI.HeaderText = "IMEI";
+            this.IMEI.Name = "IMEI";
+            this.IMEI.ReadOnly = true;
+            // 
+            // PostName
+            // 
+            this.PostName.DataPropertyName = "PostName";
+            this.PostName.HeaderText = "职务";
+            this.PostName.Name = "PostName";
+            this.PostName.ReadOnly = true;
+            this.PostName.Visible = false;
+            // 
+            // UserID
+            // 
+            this.UserID.DataPropertyName = "UserID";
+            dataGridViewCellStyle7.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
+            dataGridViewCellStyle7.BackColor = System.Drawing.Color.White;
+            this.UserID.DefaultCellStyle = dataGridViewCellStyle7;
+            this.UserID.HeaderText = "用户ID";
+            this.UserID.MaxInputLength = 4;
+            this.UserID.Name = "UserID";
+            this.UserID.ReadOnly = true;
+            this.UserID.Visible = false;
+            // 
+            // F_MST_0208
+            // 
+            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
+            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+            this.BackgroundImage = global::Dongke.IBOSS.PRD.Client.SystemModule.Resource1.bg;
+            this.ClientSize = new System.Drawing.Size(1031, 416);
+            this.Controls.Add(this.dgvUserLogin);
+            this.Controls.Add(this.gbxCondition);
+            this.Controls.Add(this.tsrOperate);
+            this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
+            this.Name = "F_MST_0208";
+            this.Text = " 登录记录";
+            this.WindowState = System.Windows.Forms.FormWindowState.Maximized;
+            this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.F_MST_0203_FormClosed);
+            this.Load += new System.EventHandler(this.FrmUser_Load);
+            this.tsrOperate.ResumeLayout(false);
+            this.tsrOperate.PerformLayout();
+            this.gbxCondition.ResumeLayout(false);
+            this.gbxCondition.PerformLayout();
+            ((System.ComponentModel.ISupportInitialize)(this.dgvUserLogin)).EndInit();
+            this.ResumeLayout(false);
+
+        }
+
+        #endregion
+
+        private Basics.BaseControls.C_ToolStrip tsrOperate;
+        private Dongke.IBOSS.PRD.Basics.BaseControls.C_Button btnSearch;
+        private System.Windows.Forms.TextBox txtUserCode;
+        private System.Windows.Forms.TextBox txtUserName;
+        private Dongke.IBOSS.PRD.Basics.BaseControls.C_Label lblUserCode;
+        private Dongke.IBOSS.PRD.Basics.BaseControls.C_Label lblUserName;
+        private Dongke.IBOSS.PRD.Basics.BaseControls.C_Label lblMAC;
+        private Dongke.IBOSS.PRD.Basics.BaseControls.C_Button btnClearCondition;
+        private System.Windows.Forms.ToolStripSeparator toolStripSeparator3;
+        private Basics.BaseControls.C_GroupBox gbxCondition;
+        private Basics.BaseControls.C_DataGridView dgvUserLogin;
+        private System.Windows.Forms.ToolStripSeparator toolStripSeparator1;
+        private Controls.SearchBox.ScbOrganization scbOrganization;
+        private Basics.BaseControls.C_Label c_Label1;
+        private Basics.BaseControls.DKListBoxComboBox cbActionType;
+        private System.Windows.Forms.DataGridViewTextBoxColumn UserCode;
+        private System.Windows.Forms.DataGridViewTextBoxColumn UserName;
+        private System.Windows.Forms.DataGridViewTextBoxColumn OrganizationName;
+        private System.Windows.Forms.DataGridViewTextBoxColumn OrganizationFullName;
+        private System.Windows.Forms.DataGridViewTextBoxColumn limitMAC;
+        private System.Windows.Forms.DataGridViewTextBoxColumn 设备名;
+        private System.Windows.Forms.DataGridViewTextBoxColumn 动作类型;
+        private System.Windows.Forms.DataGridViewTextBoxColumn IP地址;
+        private System.Windows.Forms.DataGridViewTextBoxColumn IMEI;
+        private System.Windows.Forms.DataGridViewTextBoxColumn PostName;
+        private System.Windows.Forms.DataGridViewTextBoxColumn UserID;
+    }
+}

+ 291 - 0
DK.Client/SystemModule/F_MST_0208.resx

@@ -0,0 +1,291 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <!-- 
+    Microsoft ResX Schema 
+    
+    Version 2.0
+    
+    The primary goals of this format is to allow a simple XML format 
+    that is mostly human readable. The generation and parsing of the 
+    various data types are done through the TypeConverter classes 
+    associated with the data types.
+    
+    Example:
+    
+    ... ado.net/XML headers & schema ...
+    <resheader name="resmimetype">text/microsoft-resx</resheader>
+    <resheader name="version">2.0</resheader>
+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+        <value>[base64 mime encoded serialized .NET Framework object]</value>
+    </data>
+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+        <comment>This is a comment</comment>
+    </data>
+                
+    There are any number of "resheader" rows that contain simple 
+    name/value pairs.
+    
+    Each data row contains a name, and value. The row also contains a 
+    type or mimetype. Type corresponds to a .NET class that support 
+    text/value conversion through the TypeConverter architecture. 
+    Classes that don't support this are serialized and stored with the 
+    mimetype set.
+    
+    The mimetype is used for serialized objects, and tells the 
+    ResXResourceReader how to depersist the object. This is currently not 
+    extensible. For a given mimetype the value must be set accordingly:
+    
+    Note - application/x-microsoft.net.object.binary.base64 is the format 
+    that the ResXResourceWriter will generate, however the reader can 
+    read any of the formats listed below.
+    
+    mimetype: application/x-microsoft.net.object.binary.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+            : and then encoded with base64 encoding.
+    
+    mimetype: application/x-microsoft.net.object.soap.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+            : and then encoded with base64 encoding.
+
+    mimetype: application/x-microsoft.net.object.bytearray.base64
+    value   : The object must be serialized into a byte array 
+            : using a System.ComponentModel.TypeConverter
+            : and then encoded with base64 encoding.
+    -->
+  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+    <xsd:element name="root" msdata:IsDataSet="true">
+      <xsd:complexType>
+        <xsd:choice maxOccurs="unbounded">
+          <xsd:element name="metadata">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" />
+              </xsd:sequence>
+              <xsd:attribute name="name" use="required" type="xsd:string" />
+              <xsd:attribute name="type" type="xsd:string" />
+              <xsd:attribute name="mimetype" type="xsd:string" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="assembly">
+            <xsd:complexType>
+              <xsd:attribute name="alias" type="xsd:string" />
+              <xsd:attribute name="name" type="xsd:string" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="data">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="resheader">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" />
+            </xsd:complexType>
+          </xsd:element>
+        </xsd:choice>
+      </xsd:complexType>
+    </xsd:element>
+  </xsd:schema>
+  <resheader name="resmimetype">
+    <value>text/microsoft-resx</value>
+  </resheader>
+  <resheader name="version">
+    <value>2.0</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <metadata name="tsrOperate.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>147, 17</value>
+  </metadata>
+  <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+  <data name="btnClearCondition.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        iVBORw0KGgoAAAANSUhEUgAAAFUAAAAeCAYAAABdalL1AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
+        vAAADrwBlbxySQAAAI5JREFUaEPt0KERxCAUQMFrEImOowUsioJSAb3gaOLfnLjJRMNzT2wD+ymlhPb1
+        3mOMEWutMPUQUwGmAkwFmAowFWAqwFSAqQBTAaYCTAWYCnilXtcV2tdaM/U0UwGmAmqtT2rOObTvnzrn
+        NPUUUwGmAkwFmAowFWAqwFSAqYBf6n3fpp70Sk0phfY9qTO+PIZEBQZ3CrAAAAAASUVORK5CYII=
+</value>
+  </data>
+  <data name="btnSearch.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        iVBORw0KGgoAAAANSUhEUgAAAFUAAAAeCAYAAABdalL1AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
+        vAAADrwBlbxySQAAAI5JREFUaEPt0KERxCAUQMFrEImOowUsioJSAb3gaOLfnLjJRMNzT2wD+ymlhPb1
+        3mOMEWutMPUQUwGmAkwFmAowFWAqwFSAqQBTAaYCTAWYCnilXtcV2tdaM/U0UwGmAmqtT2rOObTvnzrn
+        NPUUUwGmAkwFmAowFWAqwFSAqYBf6n3fpp70Sk0phfY9qTO+PIZEBQZ3CrAAAAAASUVORK5CYII=
+</value>
+  </data>
+  <data name="gbxCondition.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        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
+        TcjuBwk6Lpiwp2VcAAAAAElFTkSuQmCC
+</value>
+  </data>
+  <metadata name="设备名.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <metadata name="动作类型.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <metadata name="IP地址.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <metadata name="IMEI.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <metadata name="PostName.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>45</value>
+  </metadata>
+  <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        AAABAAEAICAAAAEAIACoEAAAFgAAACgAAAAgAAAAQAAAAAEAIAAAAAAAgBAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKCDmBigg
+        5mAoIOa8KCDm2igg5u4oIOb7KCDm/Sgg5vgoIObZKCDmhygg5gsoIOYSKCDmPygg5looIOZnKCDmYigg
+        5kwoIOYoKCDmAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgg
+        5j0oIOaEKCDmYigg5ggAAAAAAAAAACgg5gEoIOYlKCDmfigg5uIoIOb/KCDm/ygg5v8oIOb/KCDm/ygg
+        5v8oIOb/KCDm/ygg5v8oIObuKCDmmigg5kYoIOYDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgg
+        5gMoIOZGKCDmUCgg5gwAAAAAAAAAAAAAAAAAAAAAAAAAACgg5g0oIOaOKCDm+Cgg5v8oIOb/KCDm/ygg
+        5v8oIOb/KCDm/ygg5vIoIOaXKCDmPigg5gkAAAAAKCDmASgg5goAAAAAAAAAAAAAAAAAAAAAKCDmAgAA
+        AAAAAAAAKCDmRCgg5kIoIOYMAAAAAAAAAAAAAAAAAAAAAAAAAAAoIOYrKCDm3Cgg5v8oIOb/KCDm/ygg
+        5v8oIOb/KCDm/ygg5v8oIOb6KCDmQSgg5gIAAAAAAAAAAAAAAAAAAAAAKCDmBSgg5iYoIOZPKCDmgSgg
+        5lQoIOYFAAAAACgg5j4oIOYiKCDmRAAAAAAAAAAAAAAAAAAAAAAAAAAAKCDmMSgg5u0oIOb/KCDm/ygg
+        5v8oIOb/KCDm/ygg5v8oIOb/KCDm/ygg5v8oIOb/KCDm9Sgg5twoIObXKCDm2Sgg5usoIOb9KCDm/ygg
+        5rsoIOY8AAAAAAAAAAAoIOYGKCDmWCgg5mcoIOYFAAAAAAAAAAAAAAAAAAAAACgg5iEoIOboKCDm/ygg
+        5vIoIOauKCDmeigg5lkoIOZSKCDmVSgg5mUoIOaFKCDm+Sgg5v8oIObiKCDm0Cgg5s8oIObEKCDmoSgg
+        5m8oIOYiAAAAAAAAAAAAAAAAAAAAACgg5lUoIOYhKCDmhgAAAAAAAAAAAAAAAAAAAAAoIOYIKCDmzygg
+        5u0oIOZ2KCDmCwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoIOYiKCDm+ygg5v8oIOZGAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKCDmkAAAAAAoIOaiAAAAAAAAAAAAAAAAAAAAACgg
+        5o4oIObIKCDmHgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoIOZpKCDm/igg
+        5uMoIOYLAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoIOatKCDmBygg5roAAAAAAAAAAAAA
+        AAAoIOYuKCDmvCgg5gkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgg
+        5gEoIObbKCDm/ygg5nkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgg5s0oIOYDKCDm3QAA
+        AAAAAAAAAAAAACgg5o4oIOYOAAAAACgg5igoIOaIKCDmySgg5u4oIObxKCDm2ygg5q8oIOZqKCDmGAAA
+        AAAAAAAAAAAAACgg5looIObvKCDm6Cgg5gYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKCDm7QAA
+        AAAoIObjKCDmHQAAAAAoIOYxKCDmKCgg5hsoIOahKCDm/igg5v8oIOb/KCDm/ygg5v8oIOb/KCDm/ygg
+        5v8oIOb7KCDmsigg5kooIOYCKCDmCCgg5vQoIOb/KCDmTgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAoIObtKCDmISgg5q8oIOZzAAAAACgg5hYoIOZNKCDm7ygg5vIoIOawKCDmjSgg5pUoIObDKCDm+Sgg
+        5v8oIOb/KCDm/ygg5v8oIOb/KCDm/ygg5t4oIOZ7KCDmwSgg5sgoIOaZAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAACgg5ssoIOZlKCDmYigg5twoIOYEKCDmNCgg5vsoIOaTKCDmEQAAAAAAAAAAAAAAAAAA
+        AAAoIOYPKCDmYygg5sUoIOb/KCDm/ygg5v8oIOb/KCDm/ygg5v8oIOb/KCDm6Cgg5ucoIOZIKCDmISgg
+        5hIoIOYWKCDmKygg5lYoIOY+KCDmlSgg5rwoIOYMKCDm7ygg5mkAAAAAKCDmHgAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAACgg5icoIOZ+KCDmzigg5vwoIOb/KCDm/ygg5vkoIOb/KCDm/ygg
+        5v8oIOb/KCDm/ygg5v8oIOb2KCDmaAAAAAAoIOZKKCDm/igg5isoIOZ8KCDm7ygg5h0AAAAAAAAAACgg
+        5gEoIOYCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKCDmCygg5iUoIOZHKCDm4igg
+        5v8oIOb/KCDm/ygg5v8oIOb/KCDmzigg5isAAAAAAAAAACgg5gUoIOblKCDmqygg5ggoIObWKCDmxygg
+        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
+        ef/8H/H//gGH//+AD/////////////////8=
+</value>
+  </data>
+</root>

+ 9 - 0
DK.Client/SystemModule/SystemModule.csproj

@@ -98,6 +98,12 @@
     <Compile Include="F_MST_0103.Designer.cs">
     <Compile Include="F_MST_0103.Designer.cs">
       <DependentUpon>F_MST_0103.cs</DependentUpon>
       <DependentUpon>F_MST_0103.cs</DependentUpon>
     </Compile>
     </Compile>
+    <Compile Include="F_MST_0208.cs">
+      <SubType>Form</SubType>
+    </Compile>
+    <Compile Include="F_MST_0208.designer.cs">
+      <DependentUpon>F_MST_0208.cs</DependentUpon>
+    </Compile>
     <Compile Include="F_MST_040101.cs">
     <Compile Include="F_MST_040101.cs">
       <SubType>Form</SubType>
       <SubType>Form</SubType>
     </Compile>
     </Compile>
@@ -458,6 +464,9 @@
     <EmbeddedResource Include="F_MST_0103.resx">
     <EmbeddedResource Include="F_MST_0103.resx">
       <DependentUpon>F_MST_0103.cs</DependentUpon>
       <DependentUpon>F_MST_0103.cs</DependentUpon>
     </EmbeddedResource>
     </EmbeddedResource>
+    <EmbeddedResource Include="F_MST_0208.resx">
+      <DependentUpon>F_MST_0208.cs</DependentUpon>
+    </EmbeddedResource>
     <EmbeddedResource Include="F_MST_040101.resx">
     <EmbeddedResource Include="F_MST_040101.resx">
       <DependentUpon>F_MST_040101.cs</DependentUpon>
       <DependentUpon>F_MST_040101.cs</DependentUpon>
     </EmbeddedResource>
     </EmbeddedResource>

+ 1 - 0
DK.Service/DKIBOSSPRDLogic/DKIBOSSPRDLogic.cs

@@ -199,6 +199,7 @@ namespace Dongke.IBOSS.PRD.Service.DKIBOSSPRDLogic
                     new OracleParameter("in_SessionKey",requestEntity.SessionKey),
                     new OracleParameter("in_SessionKey",requestEntity.SessionKey),
                     new OracleParameter("in_ComputerName",requestEntity.ComputerName),
                     new OracleParameter("in_ComputerName",requestEntity.ComputerName),
                     new OracleParameter("in_IP",requestEntity.IPAddress),
                     new OracleParameter("in_IP",requestEntity.IPAddress),
+                    new OracleParameter("in_IMEI",requestEntity.IMEI),
                     new OracleParameter("in_LoginType",actionType),
                     new OracleParameter("in_LoginType",actionType),
                     new OracleParameter("out_LoginStatus",OracleDbType.Int16, ParameterDirection.Output),
                     new OracleParameter("out_LoginStatus",OracleDbType.Int16, ParameterDirection.Output),
                     new OracleParameter("out_UserOrganization",OracleDbType.RefCursor, ParameterDirection.Output),
                     new OracleParameter("out_UserOrganization",OracleDbType.RefCursor, ParameterDirection.Output),

Filskillnaden har hållts tillbaka eftersom den är för stor
+ 1058 - 1058
DK.Service/SystemModuleLogic/SystemModuleLogicPartial.cs


+ 4 - 0
IBOSS.PRD/F_SYS_0202.cs

@@ -242,6 +242,10 @@ namespace Dongke.IBOSS.PRD.Client
 									F_MST_0207 frm0207 = new F_MST_0207();
 									F_MST_0207 frm0207 = new F_MST_0207();
 									frm0207.ShowDialog();
 									frm0207.ShowDialog();
 									break;
 									break;
+								case "010206":
+									//系统管理-用户及组织-登录记录
+									this.ShowInDockPanel(F_MST_0208.Instance);
+									break;
 								#endregion
 								#endregion
 
 
 								#region 系统管理-产品信息
 								#region 系统管理-产品信息

+ 1 - 1
WCF.Service/WCF.Contracts/IPDAModule.cs

@@ -58,7 +58,7 @@ namespace Dongke.IBOSS.PRD.WCF.Contracts
             , RequestFormat = WebMessageFormat.Json)]
             , RequestFormat = WebMessageFormat.Json)]
         PDALoginResult DoPDALogin(string accountCode, string userCode, string userPassword,
         PDALoginResult DoPDALogin(string accountCode, string userCode, string userPassword,
             string macAddress, string ipAddress, string phoneCode, string phoneType,
             string macAddress, string ipAddress, string phoneCode, string phoneType,
-            string appVersion, string systemType, string systemVersion);
+            string appVersion, string systemType, string systemVersion,string IMEI);
 
 
         /// <summary>
         /// <summary>
         /// 退出
         /// 退出

+ 9 - 0
WCF.Service/WCF.DataModels/SystemModule/LoginRequestEntity.cs

@@ -87,5 +87,14 @@ namespace Dongke.IBOSS.PRD.WCF.DataModels
             get;
             get;
             set;
             set;
         }
         }
+        /// <summary>
+        /// IMEI
+        /// </summary>
+        [DataMember]
+        public string IMEI
+        {
+            get;
+            set;
+        }
     }
     }
 }
 }

+ 1 - 1
WCF.Service/WCF.Services/PDAModuleService.cs

@@ -167,7 +167,7 @@ namespace Dongke.IBOSS.PRD.WCF.Services
 		/// <returns></returns>
 		/// <returns></returns>
 		public PDALoginResult DoPDALogin(string accountCode, string userCode, string userPassword,
 		public PDALoginResult DoPDALogin(string accountCode, string userCode, string userPassword,
 			string macAddress, string ipAddress, string phoneCode, string phoneType,
 			string macAddress, string ipAddress, string phoneCode, string phoneType,
-			string appVersion, string systemType, string systemVersion)
+			string appVersion, string systemType, string systemVersion,string IMEI)
 		{
 		{
 			try
 			try
 			{
 			{

+ 11 - 1
WCF.Service/WCF.Services/SystemModuleService.cs

@@ -2712,7 +2712,17 @@ namespace Dongke.IBOSS.PRD.WCF.Services
                     }
                     }
                     return null;
                     return null;
                 }
                 }
-                return null;
+                if ("F_MST_0208" == cre.NameSpace)
+                {
+                    if ("GetUserLoginLog" == cre.Name)
+                    {
+                        ServiceResultEntity result =
+                           ServiceInvoker.Invoke<ServiceResultEntity>(this,
+                           () => SystemModuleLogic.GetUserLoginLogdata(SUserInfo, cre));
+                        return result;
+                    }
+                }
+                    return null;
             }
             }
             catch (Exception ex)
             catch (Exception ex)
             {
             {

Vissa filer visades inte eftersom för många filer har ändrats