Эх сурвалжийг харах

移动端登录增加IMEI记录

konghe 1 жил өмнө
parent
commit
2c40fd2d39

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

@@ -47,8 +47,8 @@ namespace Dongke.IBOSS.PRD.Basics.BaseResources {
         }
         
         /// <summary>
-        ///   重写当前线程的 CurrentUICulture 属性
-        ///   重写当前线程的 CurrentUICulture 属性
+        ///   重写当前线程的 CurrentUICulture 属性,对
+        ///   使用此强类型资源类的所有资源查找执行重写。
         /// </summary>
         [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
         public static global::System.Globalization.CultureInfo Culture {
@@ -511,6 +511,15 @@ namespace Dongke.IBOSS.PRD.Basics.BaseResources {
         }
         
         /// <summary>
+        ///   查找类似 登录记录 的本地化字符串。
+        /// </summary>
+        public static string F_MST_0208 {
+            get {
+                return ResourceManager.GetString("F_MST_0208", resourceCulture);
+            }
+        }
+        
+        /// <summary>
         ///   查找类似 员工关联 的本地化字符串。
         /// </summary>
         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">
     <value>编辑条码预设</value>
   </data>
+  <data name="F_MST_0208" xml:space="preserve">
+    <value>登录记录</value>
+  </data>
 </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
+        5ggAAAAAAAAAACgg5g4oIOYuKCDmFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoIOYyKCDmnCgg
+        5vsoIOb/KCDm/ygg5v8oIOb/KCDm9ygg5n8oIOYFAAAAAAAAAAAAAAAAAAAAACgg5nUoIOb/KCDmRSgg
+        5iwoIObxKCDmsSgg5gcAAAAAAAAAAAAAAAAoIOY6KCDmgSgg5pcoIOZ7KCDmcigg5n4oIOaiKCDm3ygg
+        5v8oIOb/KCDm/ygg5v8oIOb/KCDm/igg5p4oIOYgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKCDmCSgg
+        5t4oIObiKCDmFCgg5j4oIObyKCDmvygg5hUAAAAAAAAAAAAAAAAAAAAAKCDmHCgg5nIoIOa3KCDm8Sgg
+        5v8oIOb/KCDm/ygg5v8oIOb5KCDmwigg5nQoIOaiAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAKCDmQygg5v0oIOa+KCDmBygg5jIoIObgKCDm5igg5lAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAoIOYBKCDmGCgg5i0oIOYvKCDmPygg5hoAAAAAKCDmJygg5lkAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAKCDmeCgg5v8oIOavKCDmBygg5hAoIOaWKCDm+igg5sIoIOZQKCDmBAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAKCDmCCgg5j8oIOYXAAAAAAAAAAAoIOZjKCDmCAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKCDmjigg5v8oIOa/KCDmFAAAAAAoIOYhKCDmhygg
+        5tooIObtKCDmrygg5oQoIOZxKCDmdygg5mooIOZKKCDmAwAAAAAAAAAAKCDmFSgg5kcAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKCDmdygg5vwoIObjKCDmRwAA
+        AAAAAAAAAAAAACgg5hUoIOY3KCDmQigg5jUoIOYPAAAAAAAAAAAAAAAAAAAAACgg5gQoIOZUAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKCDmQCgg
+        5twoIOb/KCDmrigg5i0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoIOYVKCDmVSgg
+        5gQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAKCDmCSgg5nMoIObkKCDm/igg5sAoIOZnKCDmJigg5gEAAAAAAAAAACgg5gIoIOYsKCDmZigg
+        5kcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAACgg5gUoIOZKKCDmlSgg5swoIObuKCDm8Sgg5tIoIOa3KCDmmigg
+        5lYoIOYGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAA//////////////////////gAAP/wwAAfw+AAnsfAA8CPgAADDwAADx4P
+        4f9eP/D/HH/w/xyAOH9IAAB/CAAAfwB4AAAF/wABAz/gAwGP4AeA4AAfgHgAf8A/An/gB8Z/8IAM//hw
+        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">
       <DependentUpon>F_MST_0103.cs</DependentUpon>
     </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">
       <SubType>Form</SubType>
     </Compile>
@@ -458,6 +464,9 @@
     <EmbeddedResource Include="F_MST_0103.resx">
       <DependentUpon>F_MST_0103.cs</DependentUpon>
     </EmbeddedResource>
+    <EmbeddedResource Include="F_MST_0208.resx">
+      <DependentUpon>F_MST_0208.cs</DependentUpon>
+    </EmbeddedResource>
     <EmbeddedResource Include="F_MST_040101.resx">
       <DependentUpon>F_MST_040101.cs</DependentUpon>
     </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_ComputerName",requestEntity.ComputerName),
                     new OracleParameter("in_IP",requestEntity.IPAddress),
+                    new OracleParameter("in_IMEI",requestEntity.IMEI),
                     new OracleParameter("in_LoginType",actionType),
                     new OracleParameter("out_LoginStatus",OracleDbType.Int16, ParameterDirection.Output),
                     new OracleParameter("out_UserOrganization",OracleDbType.RefCursor, ParameterDirection.Output),

Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 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();
 									frm0207.ShowDialog();
 									break;
+								case "010206":
+									//系统管理-用户及组织-登录记录
+									this.ShowInDockPanel(F_MST_0208.Instance);
+									break;
 								#endregion
 
 								#region 系统管理-产品信息

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

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

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

@@ -87,5 +87,14 @@ namespace Dongke.IBOSS.PRD.WCF.DataModels
             get;
             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>
 		public PDALoginResult DoPDALogin(string accountCode, string userCode, string userPassword,
 			string macAddress, string ipAddress, string phoneCode, string phoneType,
-			string appVersion, string systemType, string systemVersion)
+			string appVersion, string systemType, string systemVersion,string IMEI)
 		{
 			try
 			{

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

@@ -2712,7 +2712,17 @@ namespace Dongke.IBOSS.PRD.WCF.Services
                     }
                     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)
             {

Энэ ялгаанд хэт олон файл өөрчлөгдсөн тул зарим файлыг харуулаагүй болно