301 lines
11 KiB
C#
301 lines
11 KiB
C#
|
using ryCommon;
|
|||
|
using ryCommonDb;
|
|||
|
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;
|
|||
|
|
|||
|
namespace MyHouse.DbOp
|
|||
|
{
|
|||
|
public partial class FrmLocationView : RySkins.SKinForm
|
|||
|
{
|
|||
|
string titleName = "存储位置";
|
|||
|
public FrmLocationView()
|
|||
|
{
|
|||
|
InitializeComponent();
|
|||
|
OlvSN.AspectGetter = delegate (object x) { return ((LocationInfo)x).SN; };
|
|||
|
OlvName.AspectGetter = delegate (object x) { return ((LocationInfo)x).Name; };
|
|||
|
OlvDes.AspectGetter = delegate (object x) { return ((LocationInfo)x).Des; };
|
|||
|
OlvAddTime.AspectGetter = delegate (object x) { return ((LocationInfo)x).AddTimeStr; };
|
|||
|
}
|
|||
|
#region 需要修改的内容
|
|||
|
private void RySearch1_OnSearch(object sender, EventArgs e)
|
|||
|
{
|
|||
|
ctlMyPage1.RecordCount = 1;
|
|||
|
ctlMyPage1.GotoPageIndex(1);
|
|||
|
}
|
|||
|
|
|||
|
private void CtlMyPage1_OnPageChange(object sender, EventArgs e)
|
|||
|
{
|
|||
|
#region 重新载入数据
|
|||
|
LvCbResult.ClearObjects();
|
|||
|
var page_index = ctlMyPage1.GetCurrPageIndex();
|
|||
|
if (page_index == 0) { page_index = 1; }
|
|||
|
string post_str = "api=GetLocationList&name=" + RyWeb.WebDecode.UrlEncode(rySearch1.Text) + "&page=" + page_index + (page_index == 1 ? "&getpagecount=1": "");
|
|||
|
var jsonResult = API.API.Post("Goods", "GetLocationList", post_str);
|
|||
|
if (jsonResult.IsOK)
|
|||
|
{
|
|||
|
List<LocationInfo> list = new List<LocationInfo>();
|
|||
|
if (page_index == 1)
|
|||
|
{
|
|||
|
ctlMyPage1.RecordCount = jsonResult.Get("pagecount", 0);
|
|||
|
}
|
|||
|
DataTable data = jsonResult.List;
|
|||
|
for (int i = 0; i < data.Rows.Count; i++)
|
|||
|
{
|
|||
|
DataRow row = data.Rows[i];
|
|||
|
list.Add(new LocationInfo()
|
|||
|
{
|
|||
|
Id = row["id"].ToInt(),
|
|||
|
SN = row["SN"].ToString(),
|
|||
|
Name = row["Name"].ToString(),
|
|||
|
Img = row["img"].ToString(),
|
|||
|
Des = row["Des"].ToString(),
|
|||
|
AddTime = row["AddTime"].ToInt64().ToDateTime()
|
|||
|
});
|
|||
|
}
|
|||
|
LvCbResult.AddObjects(list);
|
|||
|
}
|
|||
|
#endregion
|
|||
|
}
|
|||
|
private void GetRow(int id, int index)
|
|||
|
{
|
|||
|
#region 重新载入数据
|
|||
|
var jsonResult = API.API.Post("Goods", "GetLocation", "id=" + id);
|
|||
|
if (jsonResult.IsOK)
|
|||
|
{
|
|||
|
DataTable data = jsonResult.List;
|
|||
|
if (data.Rows.Count > 0)
|
|||
|
{
|
|||
|
DataRow row = data.Rows[0];
|
|||
|
var item = (LocationInfo)LvCbResult.GetModelObject(index);
|
|||
|
item.SN = row["SN"].ToString();
|
|||
|
item.Name = row["Name"].ToString();
|
|||
|
item.Img = row["img"].ToString();
|
|||
|
item.Des = row["Des"].ToString();
|
|||
|
//添加剩余的项目
|
|||
|
//添加完毕
|
|||
|
LvCbResult.UpdateObject(item);
|
|||
|
}
|
|||
|
}
|
|||
|
#endregion
|
|||
|
}
|
|||
|
#endregion
|
|||
|
|
|||
|
private void BtnAdd_Click(object sender, EventArgs e)
|
|||
|
{
|
|||
|
FrmLocationAdd frm = new FrmLocationAdd()
|
|||
|
{
|
|||
|
Text = "添加"+ titleName,
|
|||
|
Icon = Icon,
|
|||
|
isAdd = 1
|
|||
|
};
|
|||
|
frm.mr = new ModalForm(this, frm);
|
|||
|
frm.mr.OnDialogResult += new ModalForm.DialogResultHandler((object t, DialogResult dg) => {
|
|||
|
if (dg == DialogResult.OK)
|
|||
|
{
|
|||
|
rySearch1.PerformClick();
|
|||
|
}
|
|||
|
});
|
|||
|
frm.mr.ShowModal();
|
|||
|
}
|
|||
|
|
|||
|
private void BtnEdit_Click(object sender, EventArgs e)
|
|||
|
{
|
|||
|
if (LvCbResult.SelectedObject == null) { return; }
|
|||
|
var item = (LocationInfo)LvCbResult.SelectedObject;
|
|||
|
var selectId = item.Id;
|
|||
|
FrmLocationAdd frm = new FrmLocationAdd()
|
|||
|
{
|
|||
|
Text = "修改"+ titleName,
|
|||
|
Icon = Icon,
|
|||
|
isAdd = 0
|
|||
|
};
|
|||
|
frm.GetInfo(selectId.ToString());
|
|||
|
frm.mr = new ModalForm(this, frm);
|
|||
|
frm.mr.OnDialogResult += new ModalForm.DialogResultHandler((object t, DialogResult dg) => {
|
|||
|
if (dg == DialogResult.OK)
|
|||
|
{
|
|||
|
GetRow(selectId, LvCbResult.SelectedIndex);
|
|||
|
}
|
|||
|
});
|
|||
|
frm.mr.ShowModal();
|
|||
|
}
|
|||
|
|
|||
|
private void BtnDel_Click(object sender, EventArgs e)
|
|||
|
{
|
|||
|
if (LvCbResult.SelectedObject == null) { MessageBox.Show("请先选择要删除的项。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; }
|
|||
|
var item = (LocationInfo)LvCbResult.SelectedObject;
|
|||
|
var selectId = item.Id;
|
|||
|
if (RySkins.Msg.ShowMsg("确定要删除该项吗?一旦删除将不可恢复。", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.No)
|
|||
|
{
|
|||
|
return;
|
|||
|
}
|
|||
|
string post_str = "api=DelLocation&id=" + selectId;
|
|||
|
var jsonResult = API.API.Post("Goods", "DelLocation", post_str);
|
|||
|
if (jsonResult.IsOK)
|
|||
|
{
|
|||
|
LvCbResult.RemoveObject(item);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
API.API.ErrorJson(jsonResult);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
private void FrmView_Load(object sender, EventArgs e)
|
|||
|
{
|
|||
|
Text = "浏览"+ titleName;
|
|||
|
添加数据ToolStripMenuItem.Text = "添加"+ titleName;
|
|||
|
修改数据ToolStripMenuItem.Text = "修改" + titleName;
|
|||
|
删除数据ToolStripMenuItem.Text = "删除" + titleName;
|
|||
|
rySearch1.PerformClick();
|
|||
|
}
|
|||
|
|
|||
|
private void 添加数据ToolStripMenuItem_Click(object sender, EventArgs e)
|
|||
|
{
|
|||
|
btnAdd.PerformClick();
|
|||
|
}
|
|||
|
|
|||
|
private void 修改数据ToolStripMenuItem_Click(object sender, EventArgs e)
|
|||
|
{
|
|||
|
btnEdit.PerformClick();
|
|||
|
}
|
|||
|
|
|||
|
private void 删除数据ToolStripMenuItem_Click(object sender, EventArgs e)
|
|||
|
{
|
|||
|
btnDel.PerformClick();
|
|||
|
}
|
|||
|
|
|||
|
private void 复制并添加数据ToolStripMenuItem_Click(object sender, EventArgs e)
|
|||
|
{
|
|||
|
if (LvCbResult.SelectedObject == null) { return; }
|
|||
|
var item = (LocationInfo)LvCbResult.SelectedObject;
|
|||
|
var selectId = item.Id;
|
|||
|
FrmLocationAdd frm = new FrmLocationAdd()
|
|||
|
{
|
|||
|
Text = "添加" + titleName,
|
|||
|
Icon = Icon,
|
|||
|
isAdd = 1
|
|||
|
};
|
|||
|
frm.GetInfo(selectId.ToString());
|
|||
|
frm.mr = new ModalForm(this, frm);
|
|||
|
frm.mr.OnDialogResult += new ModalForm.DialogResultHandler((object t, DialogResult dg) => {
|
|||
|
if (dg == DialogResult.OK)
|
|||
|
{
|
|||
|
rySearch1.PerformClick();
|
|||
|
}
|
|||
|
});
|
|||
|
frm.mr.ShowModal();
|
|||
|
}
|
|||
|
public bool IsSelectedMode { get; set; } = false;
|
|||
|
public int SelectId { get; set; } = -1;
|
|||
|
public string SelectName { get; set; } = "";
|
|||
|
private void LvCbResult_DoubleClick(object sender, EventArgs e)
|
|||
|
{
|
|||
|
if (!IsSelectedMode) { return; }
|
|||
|
if (LvCbResult.SelectedObject == null) { return; }
|
|||
|
var item = (LocationInfo)LvCbResult.SelectedObject;
|
|||
|
SelectId = item.Id;
|
|||
|
SelectName = "【"+item.SN+"】"+ item.Name;
|
|||
|
DialogResult = DialogResult.OK;
|
|||
|
}
|
|||
|
private void GetItemUI(int rowindex)
|
|||
|
{
|
|||
|
int id;
|
|||
|
if (LvCbResult.GetItemCount() > rowindex && rowindex >= 0)
|
|||
|
{
|
|||
|
var item = (LocationInfo)LvCbResult.GetModelObject(rowindex);
|
|||
|
id = item.Id;
|
|||
|
TxtName.Text = item.Name;
|
|||
|
var jsonResult = API.API.Post("Goods", "GetLocation", "id=" + id);
|
|||
|
if (jsonResult.IsOK)
|
|||
|
{
|
|||
|
DataTable data = jsonResult.List;
|
|||
|
if (data.Rows.Count > 0)
|
|||
|
{
|
|||
|
DataRow row = data.Rows[0];
|
|||
|
TxtDes.Text = row["Des"].ToString();
|
|||
|
TxtAddTime.Text = row["AddTime"].ToInt64().ToDateTime().ToString("yyyy-MM-dd dddd HH:mm");
|
|||
|
TxtEditTime.Text = row["EditTime"].ToInt64().ToDateTime().ToString("yyyy-MM-dd dddd HH:mm");
|
|||
|
PicLogo.Image = API.WebDav.LoadPic(Public_Config.WebDav_VistorUrl + "/" + row["img"].ToString());
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
TxtName.Text = "";
|
|||
|
TxtEditTime.Text = "";
|
|||
|
TxtAddTime.Text = "";
|
|||
|
TxtDes.Text = "";
|
|||
|
PicLogo.Image = null;
|
|||
|
return;
|
|||
|
}
|
|||
|
}
|
|||
|
private void LvCbResult_SelectionChanged(object sender, EventArgs e)
|
|||
|
{
|
|||
|
if (LvCbResult.SelectedObject == null) { GetItemUI(-1); return; }
|
|||
|
var row_index = LvCbResult.SelectedIndex;
|
|||
|
GetItemUI(row_index);
|
|||
|
}
|
|||
|
|
|||
|
private void PicLogo_Click(object sender, EventArgs e)
|
|||
|
{
|
|||
|
OTools.FrmPreview frm = new OTools.FrmPreview();
|
|||
|
frm.pictureBox1.Image = PicLogo.Image;
|
|||
|
frm.ShowDialog();
|
|||
|
frm.Dispose();
|
|||
|
}
|
|||
|
}
|
|||
|
class LocationInfo
|
|||
|
{
|
|||
|
/// <summary>
|
|||
|
/// id
|
|||
|
/// </summary>
|
|||
|
public int Id{ get; set; }
|
|||
|
/// <summary>
|
|||
|
/// 父id
|
|||
|
/// </summary>
|
|||
|
public int ParentId { get; set; } = 0;
|
|||
|
/// <summary>
|
|||
|
/// id路径
|
|||
|
/// </summary>
|
|||
|
public string IdPath { get; set; } = "";
|
|||
|
/// <summary>
|
|||
|
/// 直系子位置数量
|
|||
|
/// </summary>
|
|||
|
public int ChildrenCount { get; set; } = 0;
|
|||
|
/// <summary>
|
|||
|
/// 编号
|
|||
|
/// </summary>
|
|||
|
public string SN { get; set; }
|
|||
|
/// <summary>
|
|||
|
/// 名称
|
|||
|
/// </summary>
|
|||
|
public string Name { get; set; }
|
|||
|
/// <summary>
|
|||
|
/// 备注
|
|||
|
/// </summary>
|
|||
|
public string Des { get; set; } = "";
|
|||
|
/// <summary>
|
|||
|
/// 图片
|
|||
|
/// </summary>
|
|||
|
public string Img { get; set; } = "";
|
|||
|
/// <summary>
|
|||
|
/// 添加时间
|
|||
|
/// </summary>
|
|||
|
public DateTime AddTime { get; set; }
|
|||
|
/// <summary>
|
|||
|
/// 添加时间字符串
|
|||
|
/// </summary>
|
|||
|
public string AddTimeStr
|
|||
|
{
|
|||
|
get { return AddTime.ToString("yyyy-MM-dd dddd HH:mm:ss"); }
|
|||
|
}
|
|||
|
}
|
|||
|
}
|