BaoKai_202508-Wms-Jingwang..../WMS.FrmBaseData/FrmAddressArea.cs
2025-08-24 09:35:55 +08:00

420 lines
13 KiB
C#
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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.Base.WebService;
using WMS.Model.Base;
using WMS.Common;
using System.Text.RegularExpressions;
using WMS.Ctrl;
namespace WMS.FrmBaseData
{
public partial class FrmAddressArea : FormBase
{
#region
/// <summary>
///
/// </summary>
public List<AddressAreaModel> list;
/// <summary>
/// 实体
/// </summary>
public AddressAreaModel model;
/// <summary>
/// 操作标志 0 新增 1 修改
/// </summary>
public int flg = 0;
/// <summary>
/// 所选择节点
/// </summary>
public DevExpress.XtraTreeList.Nodes.TreeListNode tr = null;
#endregion
public FrmAddressArea()
{
InitializeComponent();
}
#region
/// <summary>
/// 窗体加载
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void FrmAddressArea_Load(object sender, EventArgs e)
{
FrmSelectModle = new AddressAreaModel();
//绑定数据
BindData();
LockControl(true);
}
#endregion
#region
/// <summary>
/// 通用查询
/// </summary>
/// <param name="table"></param>
public override void LoadListData(DataTable table)
{
LoadForm load = new LoadForm();
DevExpress.XtraSplashScreen.SplashScreenManager.ShowForm(load, load.GetType(), false, true, false, 30);
DevExpress.XtraSplashScreen.SplashScreenManager.Default.SetWaitFormDescription("数据查询中,请等待...");
DevExpress.XtraSplashScreen.SplashScreenManager.CloseForm();
list = ConvertHelper<AddressAreaModel>.ConvertToList(table);
BSAddressArea.DataSource = list;
this.BSAddressArea.DataSource = list;
tr_AddressArea.DataSource = list;
tr_AddressArea.ExpandAll();
tr_AddressArea.RefreshDataSource();
}
#endregion
#region
/// <summary>
/// 绑定数据
/// </summary>
public void BindData()
{
model = new AddressAreaModel();
string str = Newtonsoft.Json.JsonConvert.SerializeObject(model);
string strResult = WebLockConfig.Instance.WebAddressArea.GetAddressArea(str);
list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<AddressAreaModel>>(strResult);
tr_AddressArea.DataSource = list;
this.tr_AddressArea.Nodes[1].Expanded = false;
}
#endregion
#region
/// <summary>
/// treelist焦点变化
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void tr_AddressArea_FocusedNodeChanged(object sender, DevExpress.XtraTreeList.FocusedNodeChangedEventArgs e)
{
if (e.Node != null)
{
model = new AddressAreaModel();
model.Add_id = e.Node.GetValue("Add_id").ToString();//获得当前选中主键以此获得实体
string strlist = WebLockConfig.Instance.WebAddressArea.GetAddressArea(Newtonsoft.Json.JsonConvert.SerializeObject(model));
list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<AddressAreaModel>>(strlist);
model = list[0];
Mod();
LockControl(true);
}
}
#endregion
#region model
/// <summary>
/// 当前所选节点的实体赋给textbox
/// </summary>
public void Mod()
{
txt_addID.Text = model.Add_id;
txt_addName.Text = model.Add_name;
txt_remark.Text = model.Remark;
}
#endregion
#region
/// <summary>
/// 锁定控件可操作 true 锁定 false 解锁
/// </summary>
/// <param name="bol"></param>
public void LockControl(bool bol)
{
txt_addID.Enabled = !bol;
txt_addName.Enabled = !bol;
txt_remark.Enabled = !bol;
}
#endregion
#region
#region
/// <summary>
/// 添加按钮
/// </summary>
public void Add()
{
flg = 0;//更改工作标志
if (frmButtonItem.ContainsKey("Add"))
{
frmButtonItem["Add"].Enabled = false;
}
if (frmButtonItem.ContainsKey("Edit"))
{
frmButtonItem["Edit"].Enabled = false;
}
if (frmButtonItem.ContainsKey("Del"))
{
frmButtonItem["Del"].Enabled = false;
}
if (frmButtonItem.ContainsKey("Confirm"))
{
frmButtonItem["Confirm"].Enabled = true;
}
LockControl(false);
txt_addID.Text = "";
txt_addName.Text = "";
txt_remark.Text = "";
txt_addID.Focus();
}
#endregion
#region
/// <summary>
/// 删除
/// </summary>
public void Del()
{
string delid = tr_AddressArea.FocusedNode.GetValue("Add_id").ToString();
if (delid == "")
{
SystemCommon.ShowErrorMessageBox("请选择要删除的节点!");
}
if (SystemCommon.ShowMessageBoxResult("确定删除此信息") == DialogResult.Yes)
{
model = new AddressAreaModel();
model.Add_pid = delid;
string strmodel = Newtonsoft.Json.JsonConvert.SerializeObject(model);
string strlist = WebLockConfig.Instance.WebAddressArea.GetAddressArea(strmodel);
list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<AddressAreaModel>>(strlist);
if (list.Count > 0)
{
SystemCommon.ShowErrorMessageBox("此节点还有下级节点无法删除!");
return;
}
int count = WebLockConfig.Instance.WebAddressArea.execAddressAreaDel(delid);
if (count > 0)
{
SystemCommon.ShowInfoMessageBox("操作成功!");
BindData();
LockControl(true);
}
else
{
SystemCommon.ShowInfoMessageBox("操作失败!");
}
}
}
#endregion
#region
/// <summary>
/// 刷新按钮
/// </summary>
public void Refresh()
{
BindData();
if (frmButtonItem.ContainsKey("Add"))
{
frmButtonItem["Add"].Enabled = true;
}
if (frmButtonItem.ContainsKey("Edit"))
{
frmButtonItem["Edit"].Enabled = true;
}
if (frmButtonItem.ContainsKey("Del"))
{
frmButtonItem["Del"].Enabled = true;
}
if (frmButtonItem.ContainsKey("Confirm"))
{
frmButtonItem["Confirm"].Enabled = false;
}
}
#endregion
#region
/// <summary>
/// 编辑按钮
/// </summary>
public void Edit()
{
tr = tr_AddressArea.FocusedNode;
flg = 1;//更改工作标志
if (frmButtonItem.ContainsKey("Add"))
{
frmButtonItem["Add"].Enabled = false;
}
if (frmButtonItem.ContainsKey("Edit"))
{
frmButtonItem["Edit"].Enabled = false;
}
if (frmButtonItem.ContainsKey("Del"))
{
frmButtonItem["Del"].Enabled = false;
}
if (frmButtonItem.ContainsKey("Confirm"))
{
frmButtonItem["Confirm"].Enabled = true;
}
LockControl(false);
Mod();
txt_addID.Enabled = false;
txt_addID.Properties.ReadOnly = true;
txt_addName.SelectAll();
txt_addName.Focus();
}
#endregion
#region
/// <summary>
/// 确认按钮
/// </summary>
public void Confirm()
{
if (txt_addName.Enabled == false)
{
SystemCommon.ShowErrorMessageBox("请选择新增或编辑操作!");
return;
}
if (txt_addID.Text.Trim() == "")
{
SystemCommon.ShowErrorMessageBox("编号不能为空!");
txt_addID.Focus();
return;
}
if (txt_addName.Text.Trim() == "")
{
SystemCommon.ShowErrorMessageBox("名称不能为空!");
txt_addName.Focus();
return;
}
Regex reg = new Regex(@"^([a-z]|[A-Z]|[0-9])+$");
if (!reg.IsMatch(this.txt_addID.Text.Trim()))
{
SystemCommon.ShowInfoMessageBox("编号只能输入字母或数字!");
this.txt_addID.Focus();
this.txt_addID.SelectAll();
return;
}
if (frmButtonItem.ContainsKey("Add"))
{
frmButtonItem["Add"].Enabled = true;
}
if (frmButtonItem.ContainsKey("Edit"))
{
frmButtonItem["Edit"].Enabled = true;
}
if (frmButtonItem.ContainsKey("Del"))
{
frmButtonItem["Del"].Enabled = true;
}
if (frmButtonItem.ContainsKey("Confirm"))
{
frmButtonItem["Confirm"].Enabled = false;
}
if (flg == 0)//新增判断所输入编号数据库是否存在
{
AddressAreaModel _mo = new AddressAreaModel();
_mo.Add_id = txt_addID.Text.Trim();
List<AddressAreaModel> _list = new List<AddressAreaModel>();
try
{
string str_model = Newtonsoft.Json.JsonConvert.SerializeObject(_mo);
string str_list_model = WebLockConfig.Instance.WebAddressArea.GetAddressArea(str_model);
_list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<AddressAreaModel>>(str_list_model); ;
}
catch (Exception ex)
{
SystemCommon.ShowErrorMessageBox("网络连接错误!");
return;
}
if (_list.Count > 0)
{
SystemCommon.ShowErrorMessageBox("该编号已经存在!请重新输入");
txt_addID.SelectAll();
txt_addID.Focus();
return;
}
}
model.Add_id = txt_addID.Text.Trim();
model.Add_name = txt_addName.Text.Trim();
model.Remark = txt_remark.Text.Trim();
string strmodel = Newtonsoft.Json.JsonConvert.SerializeObject(model);
int count = WebLockConfig.Instance.WebAddressArea.execAddressAreaAddUpdate(strmodel, flg);
if (count > 0)
{
SystemCommon.ShowInfoMessageBox("操作成功!");
LockControl(true);
BindData();
if (tr != null)
{
tr_AddressArea.FocusedNode = tr;
}
}
else
SystemCommon.ShowInfoMessageBox("操作失败!");
}
#endregion
#region
/// <summary>
/// 导入
/// </summary>
public void Import()
{
}
#endregion
#region
/// <summary>
/// 导出
/// </summary>
public void Export()
{
SaveFileDialog fileDialog = new SaveFileDialog();
fileDialog.Title = "导出Excel";
fileDialog.Filter = "Excel文件(*.xls)|*.xls";
DialogResult dialogResult = fileDialog.ShowDialog(this);
if (dialogResult == DialogResult.OK)
{
DevExpress.XtraPrinting.XlsExportOptions options = new DevExpress.XtraPrinting.XlsExportOptions();
this.tr_AddressArea.ExportToXls(fileDialog.FileName);
DevExpress.XtraEditors.XtraMessageBox.Show("保存成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
#endregion
#region
/// <summary>
/// 保存导入
/// </summary>
public void SaveImport()
{
}
#endregion
#endregion
}
}