202305291、修改奖励通知单、奖惩通知单。

This commit is contained in:
2023-05-29 09:09:30 +08:00
parent cd3d51ae3f
commit 9c804196e7
43 changed files with 3070 additions and 3544 deletions
+9 -107
View File
@@ -12,26 +12,20 @@
<f:PageManager ID="PageManager1" AutoSizePanelID="Panel1" runat="server" />
<f:Panel ID="Panel1" runat="server" Margin="5px" BodyPadding="5px" Title="费用类型" Layout="HBox" ShowHeader="false">
<Items>
<f:Grid ID="Grid1" Title="费用类型" ShowHeader="false" EnableCollapse="true" PageSize="10" EnableColumnLines="true"
ShowBorder="true" AllowPaging="true" IsDatabasePaging="true" runat="server" Width="750px" ForceFit="true"
DataKeyNames="CostTypeId" DataIDField="CostTypeId" OnPageIndexChange="Grid1_PageIndexChange"
AllowFilters="true" OnFilterChange="Grid1_FilterChange" EnableTextSelection="True">
<f:Grid ID="Grid1" ShowBorder="true" ShowHeader="false" Title="费用类型" EnableCollapse="true" ForceFit="true"
runat="server" BoxFlex="1" AllowPaging="false" DataKeyNames="ID" EnableTree="true" TreeColumn="Name"
DataIDField="ID" DataParentIDField="ParentId" IsDatabasePaging="true" PageSize="100" OnPageIndexChange="Grid1_PageIndexChange"
AllowSorting="true" SortField="Code" OnSort="Grid1_Sort" SortDirection="ASC" EnableColumnLines="true"
EnableTextSelection="True" ExpandAllTreeNodes="true">
<Columns>
<f:RowNumberField EnablePagingNumber="true" HeaderText="序号" Width="50px" HeaderTextAlign="Center" TextAlign="Center"/>
<f:RenderField Width="90px" ColumnID="CostTypeCode" DataField="CostTypeCode" FieldType="String"
HeaderText="编号" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField Width="150px" ColumnID="CostTypeName" DataField="CostTypeName" FieldType="String"
HeaderText="类型" HeaderTextAlign="Center" TextAlign="Left">
<f:RowNumberField EnablePagingNumber="true" HeaderText="序号" Width="60px" HeaderTextAlign="Center" TextAlign="Center"/>
<f:RenderField Width="250px" ColumnID="Name" DataField="Name" FieldType="String"
HeaderText="名称" HeaderTextAlign="Center" TextAlign="Left">
</f:RenderField>
<f:RenderField Width="400px" ColumnID="Remark" DataField="Remark" FieldType="String"
HeaderText="备注" HeaderTextAlign="Center" TextAlign="Left">
</f:RenderField>
</Columns>
<Listeners>
<f:Listener Event="rowselect" Handler="onGridRowSelect" />
<f:Listener Event="beforerowcontextmenu" Handler="onRowContextMenu" />
</Listeners>
</Columns>
<PageItems>
<f:ToolbarSeparator ID="ToolbarSeparator1" runat="server">
</f:ToolbarSeparator>
@@ -42,105 +36,13 @@
</f:DropDownList>
</PageItems>
</f:Grid>
<f:SimpleForm ID="SimpleForm1" runat="server" ShowBorder="true" ShowHeader="false"
LabelWidth="80px" BodyPadding="5px" Width="350px">
<Items>
<f:HiddenField ID="hfFormID" runat="server">
</f:HiddenField>
<f:TextBox ID="txtCostTypeCode" Label="编号" ShowRedStar="true" Required="true" runat="server"
LabelAlign="right" AutoPostBack="true" OnTextChanged="TextBox_TextChanged">
</f:TextBox>
<f:TextBox ID="txtCostTypeName" Label="类型" ShowRedStar="true" Required="true" runat="server"
LabelAlign="right" AutoPostBack="true" OnTextChanged="TextBox_TextChanged">
</f:TextBox>
<f:TextArea ID="txtRemark" runat="server" Label="备注" LabelAlign="right">
</f:TextArea>
</Items>
<Toolbars>
<f:Toolbar ID="Toolbar1" Position="Bottom" runat="server">
<Items>
<f:Button ID="btnNew" Icon="Add" Text="新增" EnablePostBack="false" runat="server">
<Listeners>
<f:Listener Event="click" Handler="onNewButtonClick" />
</Listeners>
</f:Button>
<f:Button ID="btnDelete" Enabled="false" Text="删除" Icon="Delete" ConfirmText="确定删除当前数据?"
OnClick="btnDelete_Click" runat="server">
</f:Button>
<f:ToolbarFill ID="ToolbarFill1" runat="server">
</f:ToolbarFill>
<f:Button ID="btnSave" Icon="SystemSave" runat="server" ValidateForms="SimpleForm1"
OnClick="btnSave_Click" Text="保存">
</f:Button>
</Items>
</f:Toolbar>
</Toolbars>
</f:SimpleForm>
</Items>
</f:Panel>
<f:Menu ID="Menu1" runat="server">
<f:MenuButton ID="btnMenuEdit" OnClick="btnMenuEdit_Click" EnablePostBack="true"
runat="server" Text="编辑" Icon="Pencil">
</f:MenuButton>
<f:MenuButton ID="btnMenuDelete" OnClick="btnMenuDelete_Click" EnablePostBack="true"
ConfirmText="删除选中行?" ConfirmTarget="Parent" runat="server" Text="删除" Icon="Delete">
</f:MenuButton>
</f:Menu>
</form>
<script type="text/javascript">
var menuID = '<%= Menu1.ClientID %>';
// 返回false,来阻止浏览器右键菜单
function onRowContextMenu(event, rowId) {
F(menuID).show(); //showAt(event.pageX, event.pageY);
return false;
}
function reloadGrid() {
__doPostBack(null, 'reloadGrid');
}
var gridClientID = '<%= Grid1.ClientID %>';
var btnDeleteClientID = '<%= btnDelete.ClientID %>';
var btnSaveClientID = '<%= btnSave.ClientID %>';
var formClientID = '<%= SimpleForm1.ClientID %>';
var hfFormIDClientID = '<%= hfFormID.ClientID %>';
var txtCodeClientID = '<%= txtCostTypeCode.ClientID %>';
var txtNameClientID = '<%= txtCostTypeName.ClientID %>';
var txtRemarkClientID = '<%=txtRemark.ClientID %>';
function onGridRowSelect(event, rowId) {
var grid = F(gridClientID);
// 启用删除按钮
F(btnDeleteClientID).enable();
// 当前行数据
var rowValue = grid.getRowValue(rowId);
// 使用当前行数据填充表单字段
F(hfFormIDClientID).setValue(rowId);
F(txtCodeClientID).setValue(rowValue['CostTypeCode']);
F(txtNameClientID).setValue(rowValue['CostTypeName']);
F(txtRemarkClientID).setValue(rowValue['Remark']);
// 更新保存按钮文本
// F(btnSaveClientID).setText('保存数据(编辑)');
}
function onNewButtonClick() {
// 重置表单字段
F(formClientID).reset();
F(hfFormIDClientID).reset();
// 清空表格选中行
F(gridClientID).clearSelections();
// 禁用删除按钮
F(btnDeleteClientID).disable();
// 更新保存按钮文本
// F(btnSaveClientID).setText('保存数据(新增)');
}
</script>
</body>
</html>
+40 -201
View File
@@ -1,6 +1,7 @@
using BLL;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Web.UI.WebControls;
@@ -18,8 +19,6 @@ namespace FineUIPro.Web.BaseInfo
{
if (!IsPostBack)
{
////权限按钮方法
this.GetButtonPower();
Funs.DropDownPageSize(this.ddlPageSize);
ddlPageSize.SelectedValue = Grid1.PageSize.ToString();
// 绑定表格
@@ -33,47 +32,54 @@ namespace FineUIPro.Web.BaseInfo
private void BindGrid()
{
var q = from x in Funs.DB.Base_CostType orderby x.CostTypeCode select x;
Grid1.RecordCount = q.Count();
// 2.获取当前分页数据
var table = GetPagedDataTable(Grid1.PageIndex, Grid1.PageSize);
DataTable tb = GetTreeDataTable(q.ToList()); //this.LINQToDataTable(getData.ToList());
Grid1.RecordCount = tb.Rows.Count;
var table = this.GetPagedDataTable(Grid1, tb);
Grid1.DataSource = table;
Grid1.DataBind();
}
/// <summary>
/// 分页
/// 获取模拟树表格
/// </summary>
/// <returns></returns>
private List<Model.Base_CostType> GetPagedDataTable(int pageIndex, int pageSize)
public DataTable GetTreeDataTable(List<Model.Base_CostType> getData)
{
List<Model.Base_CostType> source = (from x in Funs.DB.Base_CostType orderby x.CostTypeCode select x).ToList();
List<Model.Base_CostType> paged = new List<Model.Base_CostType>();
DataTable table = new DataTable();
table.Columns.Add(new DataColumn("ID", typeof(string)));
table.Columns.Add(new DataColumn("ParentId", typeof(string)));
table.Columns.Add(new DataColumn("Code", typeof(int)));
table.Columns.Add(new DataColumn("Name", typeof(String)));
table.Columns.Add(new DataColumn("Remark", typeof(String)));
int rowbegin = pageIndex * pageSize;
int rowend = (pageIndex + 1) * pageSize;
if (rowend > source.Count())
foreach (var item in getData)
{
rowend = source.Count();
DataRow row = table.NewRow();
row[0] = item.CostTypeId;
row[1] ="-1";
row[2] = item.CostTypeCode;
row[3] = item.CostTypeCode+ item.CostTypeName;
row[4] = item.Remark;
table.Rows.Add(row);
var getU = Funs.DB.Base_CostTypeItem.Where(x => x.CostTypeId == item.CostTypeId).OrderBy(x=>x.SortIndex);
foreach (var itemU in getU)
{
DataRow rowC = table.NewRow();
rowC[0] = itemU.CostTypeItemId;
rowC[1] = item.CostTypeId;
rowC[2] = itemU.SortIndex.ToString();
rowC[3] = itemU.SortIndex.ToString() + itemU.CostTypeItemName;
rowC[4] = itemU.Remark;
table.Rows.Add(rowC);
}
}
for (int i = rowbegin; i < rowend; i++)
{
paged.Add(source[i]);
}
return paged;
return table;
}
/// <summary>
/// 过滤表头
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_FilterChange(object sender, EventArgs e)
{
BindGrid();
}
#endregion
#region
/// <summary>
/// 改变索引事件
/// </summary>
@@ -81,198 +87,31 @@ namespace FineUIPro.Web.BaseInfo
/// <param name="e"></param>
protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e)
{
Grid1.PageIndex = e.NewPageIndex;
BindGrid();
}
#endregion
#region
/// <summary>
/// 分页下拉选择
/// 分页下拉选择事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e)
{
Grid1.PageSize = Convert.ToInt32(ddlPageSize.SelectedValue);
this.Grid1.PageSize = Convert.ToInt32(this.ddlPageSize.SelectedValue);
BindGrid();
}
#endregion
#region
/// <summary>
/// 删除
///
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnDelete_Click(object sender, EventArgs e)
protected void Grid1_Sort(object sender, GridSortEventArgs e)
{
var getV = BLL.CostTypeService.GetCostTypeById(hfFormID.Text);
if (getV != null)
{
BLL.LogService.AddSys_Log(this.CurrUser, getV.CostTypeCode, getV.CostTypeId, BLL.Const.CostTypeMenuId, BLL.Const.BtnDelete);
BLL.CostTypeService.DeleteCostTypeById(hfFormID.Text);
// 重新绑定表格,并模拟点击[新增按钮]
BindGrid();
PageContext.RegisterStartupScript("onNewButtonClick();");
}
}
/// <summary>
/// 右键删除事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnMenuDelete_Click(object sender, EventArgs e)
{
this.DeleteData();
}
/// <summary>
/// 删除方法
/// </summary>
private void DeleteData()
{
if (Grid1.SelectedRowIndexArray.Length > 0)
{
foreach (int rowIndex in Grid1.SelectedRowIndexArray)
{
string rowID = Grid1.DataKeys[rowIndex][0].ToString();
var getV = BLL.CostTypeService.GetCostTypeById(rowID);
if (getV != null)
{
BLL.LogService.AddSys_Log(this.CurrUser, getV.CostTypeCode, getV.CostTypeId, BLL.Const.CostTypeMenuId, BLL.Const.BtnDelete);
BLL.CostTypeService.DeleteCostTypeById(rowID);
}
}
BindGrid();
PageContext.RegisterStartupScript("onNewButtonClick();");
}
}
#endregion
#region
/// <summary>
/// 右键编辑事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnMenuEdit_Click(object sender, EventArgs e)
{
this.EditData();
}
/// <summary>
/// 编辑数据方法
/// </summary>
private void EditData()
{
if (Grid1.SelectedRowIndexArray.Length == 0)
{
Alert.ShowInTop("请至少选择一条记录!", MessageBoxIcon.Warning);
return;
}
string Id = Grid1.SelectedRowID;
var costType = BLL.CostTypeService.GetCostTypeById(Id);
if (costType != null)
{
this.txtCostTypeCode.Text = costType.CostTypeCode;
this.txtCostTypeName.Text = costType.CostTypeName;
this.txtRemark.Text = costType.Remark;
hfFormID.Text = Id;
this.btnDelete.Enabled = true;
}
}
#endregion
#region
/// <summary>
/// 保存按钮
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnSave_Click(object sender, EventArgs e)
{
string strRowID = hfFormID.Text;
Model.Base_CostType costType = new Model.Base_CostType
{
CostTypeCode = this.txtCostTypeCode.Text.Trim(),
CostTypeName = this.txtCostTypeName.Text.Trim(),
Remark = txtRemark.Text.Trim()
};
if (string.IsNullOrEmpty(strRowID))
{
costType.CostTypeId = SQLHelper.GetNewID(typeof(Model.Base_CostType));
BLL.CostTypeService.AddCostType(costType);
BLL.LogService.AddSys_Log(this.CurrUser, costType.CostTypeCode, costType.CostTypeId, BLL.Const.CostTypeMenuId, BLL.Const.BtnAdd);
}
else
{
costType.CostTypeId = strRowID;
BLL.CostTypeService.UpdateCostType(costType);
BLL.LogService.AddSys_Log(this.CurrUser, costType.CostTypeCode, costType.CostTypeId, BLL.Const.CostTypeMenuId, BLL.Const.BtnModify);
}
this.SimpleForm1.Reset();
// 重新绑定表格,并点击当前编辑或者新增的行
BindGrid();
PageContext.RegisterStartupScript(String.Format("F('{0}').selectRow('{1}');", Grid1.ClientID, costType.CostTypeId));
}
#endregion
#region
/// <summary>
/// 验证费用类别名称、编号是否存在
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void TextBox_TextChanged(object sender, EventArgs e)
{
var q = Funs.DB.Base_CostType.FirstOrDefault(x => x.CostTypeCode == this.txtCostTypeCode.Text.Trim() && (x.CostTypeId != hfFormID.Text || (hfFormID.Text == null && x.CostTypeId != null)));
if (q != null)
{
ShowNotify("输入的类别编号已存在!", MessageBoxIcon.Warning);
}
var q2 = Funs.DB.Base_CostType.FirstOrDefault(x => x.CostTypeName == this.txtCostTypeName.Text.Trim() && (x.CostTypeId != hfFormID.Text || (hfFormID.Text == null && x.CostTypeId != null)));
if (q2 != null)
{
ShowNotify("输入的类别名称已存在!", MessageBoxIcon.Warning);
}
}
#endregion
#region
/// <summary>
/// 获取按钮权限
/// </summary>
/// <param name="button"></param>
/// <returns></returns>
private void GetButtonPower()
{
var buttonList = BLL.CommonService.GetAllButtonList(this.CurrUser.LoginProjectId, this.CurrUser.PersonId, BLL.Const.CostTypeMenuId);
if (buttonList.Count() > 0)
{
if (buttonList.Contains(BLL.Const.BtnAdd))
{
this.btnNew.Hidden = false;
}
if (buttonList.Contains(BLL.Const.BtnModify))
{
this.btnMenuEdit.Hidden = false;
}
if (buttonList.Contains(BLL.Const.BtnDelete))
{
this.btnDelete.Hidden = false;
this.btnMenuDelete.Hidden = false;
}
if (buttonList.Contains(BLL.Const.BtnSave))
{
this.btnSave.Hidden = false;
}
}
}
#endregion
}
}
+13 -128
View File
@@ -7,11 +7,13 @@
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.BaseInfo {
public partial class CostType {
namespace FineUIPro.Web.BaseInfo
{
public partial class CostType
{
/// <summary>
/// form1 控件。
/// </summary>
@@ -20,7 +22,7 @@ namespace FineUIPro.Web.BaseInfo {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
/// <summary>
/// PageManager1 控件。
/// </summary>
@@ -29,7 +31,7 @@ namespace FineUIPro.Web.BaseInfo {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.PageManager PageManager1;
/// <summary>
/// Panel1 控件。
/// </summary>
@@ -38,7 +40,7 @@ namespace FineUIPro.Web.BaseInfo {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel Panel1;
/// <summary>
/// Grid1 控件。
/// </summary>
@@ -47,7 +49,7 @@ namespace FineUIPro.Web.BaseInfo {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Grid Grid1;
/// <summary>
/// ToolbarSeparator1 控件。
/// </summary>
@@ -56,7 +58,7 @@ namespace FineUIPro.Web.BaseInfo {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarSeparator ToolbarSeparator1;
/// <summary>
/// ToolbarText1 控件。
/// </summary>
@@ -65,7 +67,7 @@ namespace FineUIPro.Web.BaseInfo {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarText ToolbarText1;
/// <summary>
/// ddlPageSize 控件。
/// </summary>
@@ -74,122 +76,5 @@ namespace FineUIPro.Web.BaseInfo {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList ddlPageSize;
/// <summary>
/// SimpleForm1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.SimpleForm SimpleForm1;
/// <summary>
/// hfFormID 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.HiddenField hfFormID;
/// <summary>
/// txtCostTypeCode 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtCostTypeCode;
/// <summary>
/// txtCostTypeName 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtCostTypeName;
/// <summary>
/// txtRemark 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextArea txtRemark;
/// <summary>
/// Toolbar1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar1;
/// <summary>
/// btnNew 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnNew;
/// <summary>
/// btnDelete 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnDelete;
/// <summary>
/// ToolbarFill1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarFill ToolbarFill1;
/// <summary>
/// btnSave 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnSave;
/// <summary>
/// Menu1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Menu Menu1;
/// <summary>
/// btnMenuEdit 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.MenuButton btnMenuEdit;
/// <summary>
/// btnMenuDelete 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.MenuButton btnMenuDelete;
}
}