using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using WMS.Frm.Base; using WMS.Model.Base; using WMS.Common; using System.Text.RegularExpressions; using WMS.Model.SystemManage; using System.Collections; using System.IO; using DevExpress.XtraTreeList.Nodes; using System.Threading; using DevExpress.XtraEditors; using WMS.Ctrl; using WMS.Business; using WMS.Business.Base; namespace WMS.FrmSystems { public partial class FrmCompany : FormBase { #region 全局变量 /// /// 组织机构Model /// public CompanyModel comModel =new CompanyModel(); /// /// 组织机构Model 新增用 /// public CompanyModel comAddModel = new CompanyModel(); /// /// 组织机构Model集合 /// public List comPany =new List(); /// /// 组织机构集合 递归查询 选中焦点及其以下所有子节点数据 /// public List comNodes = new List(); /// /// 为导入数据服务 /// public bool importing = false; /// /// 业务类型 0:新增 1:修改 2:删除 /// int workflag=0; /// /// 保存修改前状态 1:停用 /// private string state; #endregion #region 无参构造 public FrmCompany() { InitializeComponent(); treeListCompany.OptionsBehavior.Editable = false; treeListCompany.OptionsSelection.EnableAppearanceFocusedCell = false; treeListCompany.OptionsSelection.EnableAppearanceFocusedRow = true; } #endregion #region 单例模式 public static FrmCompany frmCompany; public static FrmCompany GetInstance() { if (frmCompany == null || frmCompany.IsDisposed) { frmCompany = new FrmCompany(); } return frmCompany; } #endregion #region 窗体加载 private void FrmCompany_Load(object sender, EventArgs e) { FrmModle = new CompanyModel(); FrmSelectModle = new CompanyModel(); BindTreeListCompany(); ctrUser.t_dictonary.EditValueChanged += new System.EventHandler(t_dictonary_EditValueChanged); lkpDepCom.LoadData(); lkpNature.LoadData(); lkpProvince.LoadData(); lkpCity.LoadData(); lkpTown.LoadData(); if (frmButtonItem.ContainsKey("Save")) { frmButtonItem["Save"].Enabled = false; } LockControl(true); } #endregion #region 按钮公共方法 #region 新增按钮 // 新增按钮 public override void Add() { if (frmButtonItem.ContainsKey("Edit")) { frmButtonItem["Edit"].Enabled = false; } if (frmButtonItem.ContainsKey("Save")) { frmButtonItem["Save"].Enabled = true; } if (frmButtonItem.ContainsKey("Add")) { frmButtonItem["Add"].Enabled = false; } if (frmButtonItem.ContainsKey("Del")) { frmButtonItem["Del"].Enabled = false; } if (frmButtonItem.ContainsKey("Export")) { frmButtonItem["Export"].Enabled = false; } if (frmButtonItem.ContainsKey("Print")) { frmButtonItem["Print"].Enabled = false; } FrmOperator(0); } #endregion #region 编辑按钮 // 更新编辑修改按钮 public override void Edit() { if (!frmButtonItem.ContainsKey("Edit")) { return; } else if (frmButtonItem["Edit"].Enabled == false) { return; } if (frmButtonItem.ContainsKey("Edit")) { frmButtonItem["Edit"].Enabled = false; } if (frmButtonItem.ContainsKey("Save")) { frmButtonItem["Save"].Enabled = true; } if (frmButtonItem.ContainsKey("Add")) { frmButtonItem["Add"].Enabled = false; } if (frmButtonItem.ContainsKey("Del")) { frmButtonItem["Del"].Enabled = false; } if (frmButtonItem.ContainsKey("Export")) { frmButtonItem["Export"].Enabled = false; } if (frmButtonItem.ContainsKey("Print")) { frmButtonItem["Print"].Enabled = false; } FrmOperator(1); } #endregion #region 删除按钮 // 删除按钮 public override void Del() { FrmOperator(2); } #endregion #region 保存按钮 /// /// 保存 /// public override void Save() { if (DataCheck()) { bgsSelect.EndEdit(); string errText = string.Empty; try { //新增 if (workflag == 0) { errText = IBussFactory.Instance().AddCompanyData(bgsSelect.DataSource as CompanyModel); } //修改 else if (workflag == 1) { bool hadChanged = false; CompanyModel com = bgsSelect.DataSource as CompanyModel; if (state != com.COM_STATUS) { hadChanged = true; } errText = IBussFactory.Instance().UpdateCompanyData(bgsSelect.DataSource as CompanyModel, hadChanged); } } catch (Exception ex) { SystemCommon.ShowErrorMessageBox("出错了:" + ex.Message); return; } if (string.IsNullOrEmpty(errText)) { SystemCommon.ShowInfoMessageBox("操作成功!"); if (workflag == 0) { bgsSelect.DataSource = new CompanyModel(); this.ctrUser.TextBoxValue = string.Empty; this.ctrUser.TextBoxFlag = string.Empty; } LockControl(true); } else { SystemCommon.ShowInfoMessageBox("操作失败!"); } if (errText.Trim().Length > 0) { SystemCommon.ShowInfoMessageBox("系统错误:" + errText); return; } if (errText.Trim().Length > 0) { SystemCommon.ShowInfoMessageBox(errText); return; } if (frmButtonItem.ContainsKey("Edit")) { frmButtonItem["Edit"].Enabled = true; } if (frmButtonItem.ContainsKey("Save")) { frmButtonItem["Save"].Enabled = false; } if (frmButtonItem.ContainsKey("Add")) { frmButtonItem["Add"].Enabled = true; } if (frmButtonItem.ContainsKey("Del")) { frmButtonItem["Del"].Enabled = true; } if (frmButtonItem.ContainsKey("Export")) { frmButtonItem["Export"].Enabled = true; } if (frmButtonItem.ContainsKey("Print")) { frmButtonItem["Print"].Enabled = true; } BindTreeListCompany(); } } #endregion #region 刷新按钮 public override void Refresh() { //splitContainerControl1.Panel2.Enabled = false; if (frmButtonItem.ContainsKey("Add")) { frmButtonItem["Add"].Enabled = true; } if (frmButtonItem.ContainsKey("Edit")) { frmButtonItem["Edit"].Enabled = true; } if (frmButtonItem.ContainsKey("Save")) { frmButtonItem["Save"].Enabled = false; } if (frmButtonItem.ContainsKey("Del")) { frmButtonItem["Del"].Enabled = true; } if (frmButtonItem.ContainsKey("Export")) { frmButtonItem["Export"].Enabled = true; } if (frmButtonItem.ContainsKey("Print")) { frmButtonItem["Print"].Enabled = true; } FrmModle = new CompanyModel(); LockControl(true); BindTreeListCompany(); } #endregion #region 导出按钮 //数据导出到Excel public void Export() { this.treeListCompany.ShowExportDialog(); } #endregion #region 打印按钮 /// /// 打印按钮 /// public override void Print() { this.treeListCompany.ShowPrintPreview(); } #endregion #region 导入按钮 /// /// 数据导入 /// public void Import() { OpenFileDialog fileDialog = new OpenFileDialog(); fileDialog.Title = "导入组织机构"; fileDialog.Filter = "Excel文件(*.xls;*.xlsx)|*.xls;*.xlsx"; DialogResult dialogResult = fileDialog.ShowDialog(this); if (dialogResult == DialogResult.OK) { Hashtable ht = new Hashtable(); ht.Add("COM_ID", "部门编号"); ht.Add("COM_NAME", "部门名称"); ht.Add("COM_DISC", "部门描述"); if (importing) { comPany.AddRange(NPOIHelper.Import(fileDialog, ht)); } else { comPany = NPOIHelper.Import(fileDialog, ht); if (frmButtonItem.ContainsKey("Add")) { frmButtonItem["Add"].Enabled = false; } if (frmButtonItem.ContainsKey("SaveImport")) { frmButtonItem["SaveImport"].Enabled = true; } importing = true; } if (comPany == null) { BindTreeListCompany(); return; } bgsOgn.DataSource = comPany; treeListCompany.Refresh(); } } #endregion #region 导入保存方法 public void SaveImport() { //将list存入数据库 if (comPany != null && comPany.Count > 0) { string errText = string.Empty; string strList = Newtonsoft.Json.JsonConvert.SerializeObject(comPany); List errorIndex = new List(); int hadNum = 0; string error = string.Empty; try { // errorIndex = Newtonsoft.Json.JsonConvert.DeserializeObject>(WebLockConfig.Instance.WebCompany.AddCompanyData(strList)); } catch (Exception) { SystemCommon.ShowErrorMessageBox("未知错误,请检查网络连接!如仍无法解决问题请联系我们!"); } if (errorIndex.Count == 0) { SystemCommon.ShowErrorMessageBox("所有记录已保存成功"); Refresh(); } else { List comps = new List(); for (int i = errorIndex.Count - 1; i >= 0; i--) { comps.Add(comPany[i]); } comPany = comps; bgsOgn.DataSource = comPany; this.treeListCompany.Refresh(); string fileName = @"D:\保存导入组织机构数据错误日志" + System.DateTime.Now.ToString("yyyyMMddHHmmss") + ".txt"; /*记录错误日志*/ //创建一个文件(如果有进行覆盖),并且返回一个文件流(进行写入的)。 FileStream fs = new FileStream(fileName, FileMode.Create, FileAccess.Write); //写入一个字符串 //讲一个字符串转换成字节数组(并且指名了编码方式和操作系统的方式是一样的)。 byte[] bytes = System.Text.Encoding.Default.GetBytes(error); //将byte数组写入文件流。 fs.Write(bytes, 0, bytes.Length); //关闭流 fs.Flush(); fs.Close(); /*错误提示*/ string info = string.Empty; if (errorIndex.Count > hadNum) { info += ((errorIndex.Count - hadNum) + "个组织机构导入时遇到未知错误,"); } if (hadNum > 0) { info += (hadNum + "个组织机构编号已存在,"); } info += "错误日志已写入" + fileName + ",未出错记录已写入数据库并从窗体中移除。"; SystemCommon.ShowErrorMessageBox(info); } } } #endregion #region 通用查询方法 /// /// 通用查询 方法 /// /// public override void LoadListData(DataTable table) { comPany = ConvertHelper.ConvertToList(table); bgsOgn.DataSource = comPany; this.treeListCompany.RefreshDataSource(); } #endregion #endregion #region 绑定所有组织机构 数据集 /// /// 绑定组织机构数据集 /// public void BindTreeListCompany() { comPany = new List(); //公司名称 string strComName = ""; //公司简称 string strComShortName = ""; new Thread(delegate () { try { comPany = IBussFactory.Instance().GetCompanyData(strComName, strComShortName); this.Invoke(new MethodInvoker(delegate () { if (comPany.Count > 0) { bgsOgn.DataSource = comPany; treeListCompany.Refresh(); treeListCompany.ExpandAll(); if (treeListCompany.Nodes.Count == 0) { return; } treeListCompany.FocusedNode = treeListCompany.Nodes.FirstNode.Nodes.FirstNode; string comID = treeListCompany.FocusedNode["COM_ID"].ToString(); //如果是组织机构 if (frmButtonItem.ContainsKey("Del")) { frmButtonItem["Del"].Enabled = comID != "0"; } if (frmButtonItem.ContainsKey("Edit")) { frmButtonItem["Edit"].Enabled = comID != "0"; } if (comPany.Count(r => r.COM_ID == comID.Trim()) > 0) { CompanyModel model = comPany.Find(r => r.COM_ID == comID.Trim()); comModel = new CompanyModel { COM_ADD = model.COM_ADD, COM_CITY = model.COM_CITY, COM_CITY_NAME = model.COM_CITY_NAME, COM_DATE = model.COM_DATE, COM_DISC = model.COM_DISC, COM_DPC = model.COM_DPC, COM_DPC_NAME = model.COM_DPC_NAME, COM_EMAIL = model.COM_EMAIL, COM_FAX = model.COM_FAX, COM_ID = model.COM_ID, COM_NAME = model.COM_NAME, COM_ORDER = model.COM_ORDER, COM_PHONE = model.COM_PHONE, COM_PNAME = model.COM_PNAME, COM_PROVINCE = model.COM_PROVINCE, COM_PROVINCE_NAME = model.COM_PROVINCE_NAME, COM_SNAME = model.COM_SNAME, COM_STATUS = model.COM_STATUS, COM_TOWN = model.COM_TOWN, COM_TOWN_NAME = model.COM_TOWN_NAME, COM_TYPE = model.COM_TYPE, COM_TYPE_NAME = model.COM_TYPE_NAME, COM_USER_ID = model.COM_USER_ID, COM_ZIP = model.COM_ZIP, GROUP_ID = model.GROUP_ID, GROUP_NAME = model.GROUP_NAME, IsCheckRec = model.IsCheckRec, NAME = model.NAME, SELECTED = model.SELECTED, SHORT = model.SHORT, USER_ID = model.USER_ID, ID = model.ID }; } if (comModel != null) { bgsSelect.DataSource = comModel; this.ctrUser.TextBoxFlag = comModel.USER_ID; this.ctrUser.TextBoxValue = comModel.NAME; this.lkpCity.EditValue = comModel.COM_CITY; this.lkpTown.EditValue = comModel.COM_TOWN; } } workflag = -1; })); } catch { SystemCommon.ShowInfoMessageBox("网络连接错误!请检查当前网络环境是否可用!"); return; } }).Start(); } #endregion #region 数据操作 增 删 改 0:新增 1:修改 2:删除 /// /// 数据操作 增 删 改 /// /// >0 新增 1修改 2删除 private void FrmOperator(int flag) { LockControl(false); workflag = flag; string strGroupID = ""; #region 新增 if (flag == 0) { txtCode.Focus(); DevExpress.XtraTreeList.Nodes.TreeListNode treeListNode = treeListCompany.FocusedNode; //取得该节点的公司编号,作为新增节点的父编号(所属公司编号) //新增节点的父编号(所属公司编号) strGroupID = treeListNode["COM_ID"].ToString(); string mxModel = treeListNode.Nodes.TreeList.GetNodeList().Max(r => r["COM_ID"]).ToString();// as comAddModel = new CompanyModel(); if (string.IsNullOrEmpty(strGroupID) || strGroupID == "-1") { strGroupID = "0"; } comAddModel.GROUP_ID = strGroupID; comAddModel.COM_ID = treeListNode["SHORT"].ToString() + mxModel.Substring(mxModel.Length-3); comAddModel.COM_PROVINCE = treeListNode["COM_PROVINCE"].ToString(); comAddModel.COM_TOWN = treeListNode["COM_TOWN"].ToString(); comAddModel.COM_CITY = treeListNode["COM_CITY"].ToString(); comAddModel.COM_ADD = treeListNode["COM_ADD"].ToString(); if (comModel != null) { comAddModel.GROUP_NAME = comModel.GROUP_NAME; } comAddModel.COM_STATUS = "1"; this.ctrUser.TextBoxFlag = userData.USER_ID; this.ctrUser.TextBoxValue = userData.NAME; comAddModel.USER_ID = this.ctrUser.TextBoxFlag; comAddModel.NAME = this.ctrUser.TextBoxValue; comAddModel.COM_DATE = DateTime.Now.ToString("yyy-MM-dd hh:mm:ss"); bgsSelect.DataSource = comAddModel; txtCode.Text = comAddModel.COM_ID; txtCOM_NAME.Focus(); } #endregion #region 修改 else if (flag == 1) { if (frmButtonItem.ContainsKey("Save")) { frmButtonItem["Save"].Enabled = true; } DevExpress.XtraTreeList.Nodes.TreeListNode treeListNode = treeListCompany.FocusedNode; string strComID = treeListNode["COM_ID"].ToString(); if ("0".Equals(strComID)) { return; } //取得该节点的公司编号,作为新增节点的父编号(所属公司编号) //新增节点的父编号(所属公司编号) strGroupID = treeListNode["COM_ID"].ToString(); if (string.IsNullOrEmpty(strComID)) { SystemCommon.ShowInfoMessageBox("请选择修改的公司"); return; } state = treeListNode["COM_STATUS"].ToString(); } #endregion #region 删除 else if (flag == 2) { DevExpress.XtraTreeList.Nodes.TreeListNode treeListNode = treeListCompany.FocusedNode; //公司编号 string strComID = treeListNode["COM_ID"].ToString(); //公司名称 string strComName = treeListNode["COM_NAME"].ToString(); if ("0".Equals(strComID)) { SystemCommon.ShowInfoMessageBox("[组织机构]不允许删除,请选择其他公司!"); return; } if (string.IsNullOrEmpty(strComID)) { SystemCommon.ShowInfoMessageBox("请选择要删除的数据!"); return; } string strWarning = String.Format("确定删除 [{0}] 吗?\n此操作将会删除[{1}]下的所有数据。", strComName, strComName); if (DialogResult.OK == SystemCommon.ShowMessageBoxResult(strWarning)) { try { string strDel = IBussFactory.Instance().DeleteCompanyData(strComID); if (string.IsNullOrEmpty(strDel)) { SystemCommon.ShowInfoMessageBox("操作成功!"); bgsSelect.DataSource = new CompanyModel(); this.ctrUser.TextBoxFlag = string.Empty; this.ctrUser.TextBoxValue = string.Empty; BindTreeListCompany(); } else { SystemCommon.ShowInfoMessageBox("操作失败!"); } } catch (Exception ex) { SystemCommon.ShowErrorMessageBox("网络连接错误!请检查当前网络环境是否可用!"); return; } } BindTreeListCompany(); } #endregion } #endregion #region 递归遍历所选节点及旗下所有子节点(为删除服务) /// /// 根据所选焦点节点 递归遍历所有子节点 看是否有启用状态的部门 /// /// /// private bool GetChildNodes(TreeListNode parentNode) { if (parentNode.Nodes.Count > 0) { foreach (TreeListNode node in parentNode.Nodes) { if (node["COM_STATUS"].ToString() == "0") { SystemCommon.ShowInfoMessageBox("所选部门或该部门下含有启用状态的项,不能删除!"); return false; } if (node.Nodes.Count > 0) { GetChildNodes(node); return false; } } } else if (parentNode.Nodes.Count == 0) { if (parentNode["COM_STATUS"].ToString() == "0") { SystemCommon.ShowInfoMessageBox("所选部门正处于启用状态,不能删除!"); return false; } } return true; } #endregion #region dictonary 联系人 选择改变 事件(放大镜控件) private void t_dictonary_EditValueChanged(object sender, EventArgs e) { this.labelControl10.Focus(); comModel.USER_ID = this.ctrUser.TextBoxFlag; comModel.NAME = this.ctrUser.TextBoxValue; bgsSelect.DataSource = comModel; } #endregion #region treeListCompany 双击树事件(修改) private void treeListCompany_DoubleClick(object sender, EventArgs e) { return; if (treeListCompany.Nodes.Count == 0) { return; } string comID = treeListCompany.FocusedNode["COM_ID"].ToString(); //如果是组织机构 if (comID == "0") { return; } if (frmButtonItem.ContainsKey("Edit")) { frmButtonItem["Edit"].Enabled = false; } if (frmButtonItem.ContainsKey("Save")) { frmButtonItem["Save"].Enabled = true; } if (frmButtonItem.ContainsKey("Add")) { frmButtonItem["Add"].Enabled = false; } if (frmButtonItem.ContainsKey("Del")) { frmButtonItem["Del"].Enabled = true; } if (frmButtonItem.ContainsKey("Export")) { frmButtonItem["Export"].Enabled = false; } if (frmButtonItem.ContainsKey("Print")) { frmButtonItem["Print"].Enabled = false; } FrmOperator(1); } #endregion #region treeListCompany 单击树事件 private void treeListCompany_Click(object sender, EventArgs e) { //if (frmButtonItem["Save"].Enabled == true) //{ //} if (frmButtonItem.ContainsKey("Add")) { frmButtonItem["Add"].Enabled = true; } if (frmButtonItem.ContainsKey("Edit")) { frmButtonItem["Edit"].Enabled = true; } if (frmButtonItem.ContainsKey("Save")) { frmButtonItem["Save"].Enabled = false; } if (frmButtonItem.ContainsKey("Del")) { frmButtonItem["Del"].Enabled = true; } if (frmButtonItem.ContainsKey("Export")) { frmButtonItem["Export"].Enabled = true; } if (frmButtonItem.ContainsKey("Print")) { frmButtonItem["Print"].Enabled = true; } if (treeListCompany.Nodes.Count == 0) { return; } string comID = treeListCompany.FocusedNode["COM_ID"].ToString(); //如果是组织机构 //if (frmButtonItem.ContainsKey("Del")) { frmButtonItem["Del"].Enabled = comID != "0"; } //if (frmButtonItem.ContainsKey("Edit")) { frmButtonItem["Edit"].Enabled = comID != "0"; } //如果是仓库3或生成仓4 //if (treeListCompany.FocusedNode["COM_TYPE"].ToString() == "3" || treeListCompany.FocusedNode["COM_TYPE"].ToString() == "4") //{ // if (frmButtonItem.ContainsKey("Del")) { frmButtonItem["Del"].Enabled = false; } // if (frmButtonItem.ContainsKey("Edit")) { frmButtonItem["Edit"].Enabled = false; } //} if (comPany.Count(r => r.COM_ID == comID.Trim()) > 0) { var model = comPany.Find(r => r.COM_ID == comID.Trim()); comModel = new CompanyModel { COM_ADD = model.COM_ADD, COM_CITY = model.COM_CITY, COM_CITY_NAME = model.COM_CITY_NAME, COM_DATE = model.COM_DATE, COM_DISC = model.COM_DISC, COM_DPC = model.COM_DPC, COM_DPC_NAME = model.COM_DPC_NAME, COM_EMAIL = model.COM_EMAIL, COM_FAX = model.COM_FAX, COM_ID = model.COM_ID, COM_NAME = model.COM_NAME, COM_ORDER = model.COM_ORDER, COM_PHONE = model.COM_PHONE, COM_PNAME = model.COM_PNAME, COM_PROVINCE = model.COM_PROVINCE, COM_PROVINCE_NAME = model.COM_PROVINCE_NAME, COM_SNAME = model.COM_SNAME, COM_STATUS = model.COM_STATUS, COM_TOWN = model.COM_TOWN, COM_TOWN_NAME = model.COM_TOWN_NAME, COM_TYPE = model.COM_TYPE, COM_TYPE_NAME = model.COM_TYPE_NAME, COM_USER_ID = model.COM_USER_ID, COM_ZIP = model.COM_ZIP, GROUP_ID = model.GROUP_ID, GROUP_NAME = model.GROUP_NAME, IsCheckRec = model.IsCheckRec, NAME = model.NAME, SELECTED = model.SELECTED, SHORT = model.SHORT, USER_ID = model.USER_ID, ID = model.ID }; } if (comModel != null) { bgsSelect.DataSource = comModel; this.ctrUser.TextBoxFlag = comModel.USER_ID; this.ctrUser.TextBoxValue = comModel.NAME; this.lkpCity.EditValue = comModel.COM_CITY; this.lkpTown.EditValue = comModel.COM_TOWN; } LockControl(true); } #endregion #region treeListCompany 为 公司、部门分配不同的 节点图片 private void treeListCompany_GetStateImage(object sender, DevExpress.XtraTreeList.GetStateImageEventArgs e) { CompanyModel project = (CompanyModel)treeListCompany.GetDataRecordByNode(e.Node); if (project == null) return; if (project.COM_DPC == "0") { e.NodeImageIndex = 2; } else { e.NodeImageIndex = project.COM_DPC == "1" ? 1 : 0; } } #endregion #region 非法验证信息 public bool DataCheck() { //if (string.IsNullOrEmpty(txtCode.Text.Trim())) //{ // SystemCommon.ShowInfoMessageBox("机构代码不能为空"); // txtCode.Focus(); // return false; //} if (string.IsNullOrEmpty(txtHelp.Text.Trim())) { SystemCommon.ShowInfoMessageBox("助记码不能为空"); txtHelp.Focus(); return false; } if (string.IsNullOrEmpty(txtCOM_NAME.Text.Trim())) { SystemCommon.ShowInfoMessageBox("名称不能为空"); txtCOM_NAME.Focus(); return false; } //if (string.IsNullOrEmpty(lkpProvince.Text.Trim())) //{ // SystemCommon.ShowInfoMessageBox("请选择所在省"); // lkpProvince.Focus(); // return false; //} //if (string.IsNullOrEmpty(lkpCity.Text.Trim())) //{ // SystemCommon.ShowInfoMessageBox("请选择所在市"); // lkpCity.Focus(); // return false; //} //if (string.IsNullOrEmpty(lkpTown.Text.Trim())) //{ // SystemCommon.ShowInfoMessageBox("请选择所在区"); // lkpTown.Focus(); // return false; //} if (string.IsNullOrEmpty(lkpNature.Text.Trim())) { SystemCommon.ShowInfoMessageBox("请选择性质"); lkpNature.Focus(); return false; } if (string.IsNullOrEmpty(lkpDepCom.Text.Trim())) { SystemCommon.ShowInfoMessageBox("请选择公司/部门"); lkpDepCom.Focus(); return false; } //if (!string.IsNullOrEmpty(txtCOM_NAME.Text.Trim())) //{ // foreach (CompanyModel m in comPany) // { // if (this.txtCOM_NAME.Text == m.COM_NAME) // { // SystemCommon.ShowInfoMessageBox("该名称已经存在 请重新输入!"); // this.txtCOM_NAME.Text = string.Empty; // this.txtCOM_NAME.Focus(); // return false; // } // } //} Regex reg; if (!string.IsNullOrEmpty(txtHelp.Text.Trim())) { reg = new Regex("^[A-Za-z]+$"); if (!reg.IsMatch(txtHelp.Text.Trim())) { SystemCommon.ShowInfoMessageBox("助记码只能输入字母!"); txtHelp.Text = string.Empty; txtHelp.Focus(); return false; } } if (!string.IsNullOrEmpty(txtPostcode.Text.Trim())) { reg = new Regex(@"[1-9]\d{5}(?!\d)"); if (!reg.IsMatch(txtPostcode.Text.Trim())) { SystemCommon.ShowInfoMessageBox("邮编只能为6位数字"); txtPostcode.Text = String.Empty; txtPostcode.Focus(); return false; } } if (!string.IsNullOrEmpty(txtPhone.Text.Trim())) { reg = new Regex(@"((\d{11})|^((\d{7,8})|(\d{4}|\d{3})-(\d{7,8})|(\d{4}|\d{3})-(\d{7,8})-(\d{4}|\d{3}|\d{2}|\d{1})|(\d{7,8})-(\d{4}|\d{3}|\d{2}|\d{1}))$)"); if (!reg.IsMatch(txtPhone.Text.Trim())) { SystemCommon.ShowInfoMessageBox("请输入正确的电话号码"); txtPhone.Text = String.Empty; txtPhone.Focus(); return false; } } return true; } #endregion private void LockControl(bool flg) { foreach (Control item in splitContainerControl1.Panel2.Controls) { item.Enabled = !flg; } } #region 省市县 3级关联 #region 省 下拉 带出市 /// /// 省 下拉带出 市 /// /// /// private void lkpProvince_EditValueChanged(object sender, EventArgs e) { if (!string.IsNullOrEmpty(this.lkpProvince.Properties.ValueMember) && lkpProvince.EditValue != null && !string.IsNullOrEmpty(lkpProvince.EditValue.ToString())) { //绑定城市数据 string errText = string.Empty; AddressAreaModel provinceModel = new AddressAreaModel(); provinceModel.Add_pid = lkpProvince.EditValue.ToString(); string strResult = string.Empty; try { this.lkpCity.Properties.DataSource = IBussFactory.Instance().GetAddressArea(provinceModel); this.lkpCity.ItemIndex = 0; } catch (Exception ex) { SystemCommon.ShowInfoMessageBox("出错了:" + ex.Message); } } } #endregion #region 市 下拉带出 县区 /// /// 市 下拉带出 县 /// /// /// private void lkpCity_EditValueChanged(object sender, EventArgs e) { if (!string.IsNullOrEmpty(this.lkpCity.Properties.ValueMember) && lkpCity.EditValue != null && !string.IsNullOrEmpty(lkpCity.EditValue.ToString())) { //绑定区县数据 string errText = string.Empty; AddressAreaModel cityModel = new AddressAreaModel(); cityModel.Add_pid = lkpCity.EditValue.ToString(); try { var tabAddress = IBussFactory.Instance().GetAddressArea(cityModel); this.lkpTown.Properties.DataSource = tabAddress; this.lkpTown.ItemIndex = 0; } catch (Exception ex) { SystemCommon.ShowInfoMessageBox("出错了:" + ex.Message); } } } #endregion #endregion #region 增加状态下 上级机构改变 改变编号 /// /// 增加状态下 上级机构改变 改变编号 /// /// /// private void lkpUpCompany_EditValueChanged(object sender, EventArgs e) { if (workflag == 0) { string comId = lkpUpCompany.EditValue.ToString(); if (string.IsNullOrEmpty(comId) || comId == "-1") { return; } string pyName = comPany.Find(p => p.COM_ID == comId).SHORT; List list = comPany.FindAll(p => p.GROUP_ID == comId); int max = 0; foreach (CompanyModel item in list) { string id = item.COM_ID; string n = string.Empty; foreach (char c in id) { int temp; if (int.TryParse(c.ToString(), out temp)) { n += c; } } if (n == "") { return; } int num = int.Parse(n); if (max < num) { max = num; } } max++; string maxNum = string.Empty; if (max < 10) { maxNum = "00" + max; } else if (max < 100) { maxNum = "0" + max; } if (comAddModel != null) { comAddModel.COM_ID = pyName + maxNum; } } } #endregion private void treeListCompany_FocusedNodeChanged(object sender, DevExpress.XtraTreeList.FocusedNodeChangedEventArgs e) { //if (frmButtonItem.ContainsKey("Edit")) { frmButtonItem["Edit"].Enabled = false; } //if (frmButtonItem.ContainsKey("Save")) { frmButtonItem["Save"].Enabled = true; } //if (frmButtonItem.ContainsKey("Add")) { frmButtonItem["Add"].Enabled = false; } //if (frmButtonItem.ContainsKey("Del")) { frmButtonItem["Del"].Enabled = true; } } } }