This commit is contained in:
2024-05-08 10:17:02 +08:00
commit f2135bac5e
3844 changed files with 517549 additions and 0 deletions
@@ -0,0 +1,33 @@
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="SelectUserControl.ascx.cs" Inherits="FineUIPro.Web.SendEmail.SelectUserControl" %>
<f:Panel ID="Panel7" runat="server" BodyPadding="10px" Width="750px" Height="300px" Hidden="true"
ShowBorder="true" ShowHeader="false" Layout="VBox" BoxConfigAlign="Stretch">
<Items>
<f:Form ID="Form5" ShowBorder="False" ShowHeader="False" runat="server">
<Rows>
<f:FormRow>
<Items>
<f:TwinTriggerBox Width="300px" runat="server" EmptyText="Find in username" ShowLabel="false" ID="ttbSearch"
ShowTrigger1="false" OnTrigger1Click="ttbSearch_Trigger1Click" OnTrigger2Click="ttbSearch_Trigger2Click"
Trigger1Icon="Clear" Trigger2Icon="Search">
</f:TwinTriggerBox>
</Items>
</f:FormRow>
</Rows>
</f:Form>
<f:Grid ID="Grid1" BoxFlex="1"
DataIDField="UserId" DataTextField="UserName" EnableMultiSelect="true" KeepCurrentSelection="true"
PageSize="10" ShowBorder="true" ShowHeader="false"
AllowPaging="true" IsDatabasePaging="true" runat="server" EnableCheckBoxSelect="True"
DataKeyNames="UserId,UserName" OnPageIndexChange="Grid1_PageIndexChange"
AllowSorting="true" SortField="UserName" SortDirection="ASC"
OnSort="Grid1_Sort">
<Columns>
<f:RowNumberField />
<f:BoundField Width="200px" DataField="UserName" SortField="UserName" DataFormatString="{0}"
HeaderText="姓名" />
<f:BoundField Width="200px" SortField="Email" DataField="Email" HeaderText="Email" />
</Columns>
</f:Grid>
</Items>
</f:Panel>
@@ -0,0 +1,172 @@
using BLL;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Text;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace FineUIPro.Web.SendEmail
{
public partial class SelectUserControl : System.Web.UI.UserControl
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
BindGrid();
}
}
#region BindGrid
private void BindGrid()
{
// 1.设置总项数(特别注意:数据库分页一定要设置总记录数RecordCount
Grid1.RecordCount = GetTotalCount();
// 2.获取当前分页数据
DataTable table = GetPagedDataTable();
// 3.绑定到Grid
Grid1.DataSource = table;
Grid1.DataBind();
}
/// <summary>
/// 模拟返回总项数
/// </summary>
/// <returns></returns>
private int GetTotalCount()
{
return GetSource().Rows.Count;
}
/// <summary>
/// 模拟数据库分页(实际项目中请直接使用SQL语句返回分页数据!)
/// </summary>
/// <returns></returns>
private DataTable GetPagedDataTable()
{
int pageIndex = Grid1.PageIndex;
int pageSize = Grid1.PageSize;
DataTable table = GetSource();
DataTable paged = table.Clone();
int rowbegin = pageIndex * pageSize;
int rowend = (pageIndex + 1) * pageSize;
if (rowend > table.Rows.Count)
{
rowend = table.Rows.Count;
}
for (int i = rowbegin; i < rowend; i++)
{
paged.ImportRow(table.Rows[i]);
}
return paged;
}
private DataTable GetSource()
{
string sortField = Grid1.SortField;
string sortDirection = Grid1.SortDirection;
string strSql = @"select UserId,UserName,Email from Sys_User WHERE Email IS NOT NULL AND Email!='' ";
List<SqlParameter> listStr = new List<SqlParameter>();
SqlParameter[] parameter = listStr.ToArray();
DataTable table2 = SQLHelper.GetDataTableRunText(strSql, parameter);
DataView view2 = table2.DefaultView;
view2.Sort = String.Format("{0} {1}", sortField, sortDirection);
List<string> filters = new List<string>();
string searchKeyword = ttbSearch.Text.Trim();
if (!String.IsNullOrEmpty(searchKeyword) && ttbSearch.ShowTrigger1)
{
// RowFilter的用法:http://www.csharp-examples.net/dataview-rowfilter/
filters.Add(String.Format("UserName LIKE '*{0}*'", EscapeLikeValue(searchKeyword)));
}
if (filters.Count > 0)
{
view2.RowFilter = String.Join(" AND ", filters.ToArray());
}
return view2.ToTable();
}
// From: http://www.csharp-examples.net/dataview-rowfilter/
public static string EscapeLikeValue(string valueWithoutWildcards)
{
StringBuilder sb = new StringBuilder();
for (int i = 0; i < valueWithoutWildcards.Length; i++)
{
char c = valueWithoutWildcards[i];
if (c == '*' || c == '%' || c == '[' || c == ']')
sb.Append("[").Append(c).Append("]");
else if (c == '\'')
sb.Append("''");
else
sb.Append(c);
}
return sb.ToString();
}
#endregion
#region Events
protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e)
{
//Grid1.PageIndex = e.NewPageIndex;
BindGrid();
}
protected void Grid1_Sort(object sender, GridSortEventArgs e)
{
//Grid1.SortDirection = e.SortDirection;
//Grid1.SortField = e.SortField;
BindGrid();
}
protected void ttbSearch_Trigger1Click(object sender, EventArgs e)
{
ttbSearch.Text = String.Empty;
ttbSearch.ShowTrigger1 = false;
BindGrid();
}
protected void ttbSearch_Trigger2Click(object sender, EventArgs e)
{
ttbSearch.ShowTrigger1 = true;
BindGrid();
}
#endregion
}
}
@@ -0,0 +1,51 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.SendEmail {
public partial class SelectUserControl {
/// <summary>
/// Panel7 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel Panel7;
/// <summary>
/// Form5 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Form Form5;
/// <summary>
/// ttbSearch 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TwinTriggerBox ttbSearch;
/// <summary>
/// Grid1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Grid Grid1;
}
}
@@ -0,0 +1,52 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="SendEmail.aspx.cs" Inherits="FineUIPro.Web.SendEmail.SendEmail" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title>邮件发送指定用户</title>
<link href="../../res/css/common.css" rel="stylesheet" type="text/css" />
</head>
<body>
<form id="SimpleForm1" runat="server">
<f:PageManager ID="PageManager1" runat="server" AutoSizePanelID="RegionPanel1" />
<f:Panel ID="Panel1" CssClass="blockpanel" runat="server" ShowBorder="false" EnableCollapse="false"
Layout="HBox" AutoScroll="true" ShowHeader="false" Title="短信发送" BoxConfigChildMargin="0 5 0 0"
BodyPadding="5">
<Items>
<f:Panel ID="Panel5" CssClass="blockpanel" runat="server" ShowBorder="true" Width="900px" EnableCollapse="false"
Layout="HBox" AutoScroll="false" ShowHeader="true" Title="The recipient">
<Items>
<f:Panel ID="Panel2" Title="面板1" BoxFlex="1" MinWidth="900px" Margin="0" runat="server"
BodyPadding="5px" ShowBorder="false" ShowHeader="false">
<Items>
<f:Tree ID="tvMenu" EnableCollapse="true" ShowHeader="false" ShowBorder="false" Title="System menu"
AutoLeafIdentification="true" runat="server" EnableIcons="true" AutoScroll="true"
EnableSingleClickExpand="true" OnNodeCheck="tvMenu_NodeCheck" EnableCheckBox="true">
</f:Tree>
</Items>
<Toolbars>
<f:Toolbar runat="server" ID="Toolbar1" Position="Top">
<Items>
<f:Label ID="lbUserNum" runat="server" Label="发送邮件用户数" LabelWidth="150px" LabelAlign="Right"></f:Label>
<f:ToolbarFill ID="ToolbarFill1" runat="server"></f:ToolbarFill>
<f:Button ID="btnSave" Icon="Email" runat="server" CssClass="marginr" Text="Send"
ValidateForms="SimpleForm1" OnClick="btnSave_Click" Hidden="true">
</f:Button>
</Items>
</f:Toolbar>
<f:Toolbar runat="server" ID="Toolbar2" Position="Top">
<Items>
<f:Label ID="lbUser" runat="server" Label="本期在用户表中不存在用户" LabelWidth="200px" LabelAlign="Right"></f:Label>
<f:ToolbarFill ID="ToolbarFill2" runat="server"></f:ToolbarFill>
</Items>
</f:Toolbar>
</Toolbars>
</f:Panel>
</Items>
</f:Panel>
</Items>
</f:Panel>
</form>
</body>
</html>
@@ -0,0 +1,348 @@
using BLL;
using BLL.Common;
using FineUIPro.Web.common;
using Model;
using System;
using System.Collections.Generic;
using System.Collections.Specialized;
using System.Linq;
using System.Web.UI.WebControls;
using System.Data;
namespace FineUIPro.Web.SendEmail
{
public partial class SendEmail : PageBase
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
GetButtonPower();
//加载菜单树
this.InitMenuTree();
string strSql = @"SELECT t.Requisitioner FROM
(SELECT b.UserId,a.Requisitioner
FROM FC_SESReport AS a
LEFT JOIN Sys_User AS b ON LOWER(a.Requisitioner)=LOWER(b.Account)
WHERE YEAR(CASE WHEN a.Claim_sheets_receive IS NULL THEN a.TECO_Date ELSE a.Claim_sheets_receive END)=(CASE MONTH(GETDATE()) WHEN 1 THEN YEAR(GETDATE())-1 ELSE YEAR(GETDATE()) END)
AND MONTH(CASE WHEN a.Claim_sheets_receive IS NULL THEN a.TECO_Date ELSE a.Claim_sheets_receive END)=(CASE MONTH(GETDATE()) WHEN 1 THEN 12 ELSE MONTH(GETDATE())-1 END)
AND ISNULL(a.Requisitioner,'')!=''
AND ISNULL(a.Deleted,'')='' AND ISNULL(a.Blocked,'')=''
AND (a.Claim_sheets_receive IS NOT NULL OR a.TECO_Date IS NOT NULL)
GROUP BY a.Requisitioner,a.FO,YEAR(CASE WHEN a.Claim_sheets_receive IS NULL THEN a.TECO_Date ELSE a.Claim_sheets_receive END),MONTH(CASE WHEN a.Claim_sheets_receive IS NULL THEN a.TECO_Date ELSE a.Claim_sheets_receive END),b.Email,b.UserId
)t
WHERE t.UserId IS NULL
GROUP BY t.Requisitioner";
DataTable dt = BLL.SQLHelper.GetDataTableRunText(strSql, null);
string user = string.Empty;
if (dt.Rows.Count > 0)
{
for (int i = 0; i < dt.Rows.Count; i++)
{
user = user + dt.Rows[i]["Requisitioner"].ToString() + ",";
}
lbUser.Text = user.Substring(0, user.Length - 1);
}
}
}
#region
/// <summary>
/// 加载菜单树:动态加载
/// </summary>
private void InitMenuTree()
{
this.tvMenu.Nodes.Clear();
TreeNode rootNode = new TreeNode();//定义根节点
rootNode.Text = "ALL People";
rootNode.NodeID = "0";
rootNode.Expanded = true;
rootNode.EnableCheckEvent = true;
rootNode.EnableCheckBox = true;
this.tvMenu.Nodes.Add(rootNode);
this.GetNodes(rootNode.Nodes, rootNode.NodeID);
}
#endregion
#region ()
/// <summary>
/// 遍历节点方法
/// </summary>
/// <param name="nodes">节点集合</param>
/// <param name="parentId">父节点</param>
private void GetNodes(TreeNodeCollection nodes, string parentId)
{
var emailUser = UserEmail();
var userList = emailUser.GroupBy(p => new
{ p.UserId, p.UserName, p.Email, p.IsSafetyEvaluate }).Select(p => new { p.Key.UserId, p.Key.UserName, p.Key.Email ,p.Key.IsSafetyEvaluate }).ToList();
if (userList.Count > 0)
{
userList = userList.OrderBy(x => x.UserName).ToList();
foreach (var item in userList)
{
var u = from x in Funs.DB.View_Sys_Users where x.UserId == item.UserId select x;
string safeTyEva = string.Empty;
if (item.IsSafetyEvaluate == 1)
{
safeTyEva = "-特殊作业安全评估";
}
TreeNode newNode = new TreeNode();
string nodeText = (item.UserName + "" + item.Email + ")" + safeTyEva).ToString();
if (!string.IsNullOrEmpty(u.First().DepartCode))
{
nodeText = u.First().DepartCode + "-" + nodeText;
}
if (u.First().IsPost == false)
{
nodeText = nodeText + "-OFF";
}
newNode.Text = nodeText;
newNode.NodeID = item.UserId;
newNode.NavigateUrl = item.Email;
newNode.EnableCheckEvent = true;
newNode.EnableCheckBox = true;
if (!string.IsNullOrEmpty(item.Email))
{
newNode.Selectable = true;
}
else
{
newNode.Selectable = false;
newNode.Checked = false;
}
nodes.Add(newNode);
}
lbUserNum.Text = userList.Count().ToString();
}
#region
//List<Model.Sys_User> sysUserMenu = null;
//sysUserMenu = (from x in BLL.Funs.DB.Sys_User where x.Account != "gly" orderby x.UserName select x).ToList();
//foreach (var q in sysUserMenu)
//{
// TreeNode newNode = new TreeNode();
// newNode.Text = (q.UserName + "" + q.Email + ")").ToString();
// newNode.NodeID = q.UserId;
// newNode.NavigateUrl = q.Email;
// newNode.EnableCheckEvent = true;
// newNode.EnableCheckBox = true;
// newNode.Selectable = true;
// nodes.Add(newNode);
//}
#endregion
}
#endregion
#region
/// <summary>
/// 加载人员信息
/// </summary>
/// <returns></returns>
public List<EmailUser> UserEmail()
{
var emailSendList = Funs.DB.View_EmailUser_Send.Where(p => p.EmailType != 2 && p.IsEvaluateType != 1).ToList();
var emailSendLeaderList = Funs.DB.View_EmailUserLeader_Send.Where(p => p.EmailType != 2 && p.IsEvaluateType != 1).ToList();
List<EmailUser> eUserList = new List<EmailUser>();
foreach (var item in emailSendList)
{
EmailUser eUserModel = new EmailUser();
eUserModel.ConGuid = item.ConGuid.ToString();
eUserModel.UserId = item.UserId;
eUserModel.UserName = item.UserName;
eUserModel.FO_NO = item.FO_NO;
eUserModel.Email = item.Email;
eUserModel.UserType = item.UserType;
eUserModel.dateYear = item.DateYear;
eUserModel.dateMonth = item.DateMonth;
eUserModel.emailType = item.EmailType;
eUserModel.emailName = item.EmailName;
eUserModel.IsEvaluateType = item.IsEvaluateType;
eUserModel.IsEvaluateName = item.IsEvaluateName;
eUserModel.IsSafetyEvaluate = item.IsSafetyEvaluate;
eUserList.Add(eUserModel);
}
foreach (var item in emailSendLeaderList)
{
EmailUser eUserModel = new EmailUser();
eUserModel.ConGuid = item.ConGuid.ToString();
eUserModel.UserId = item.UserId;
eUserModel.UserName = item.UserName;
eUserModel.FO_NO = item.FO_NO;
eUserModel.Email = item.Email;
eUserModel.UserType = item.UserType;
eUserModel.dateYear = item.DateYear;
eUserModel.dateMonth = item.DateMonth;
eUserModel.emailType = item.EmailType;
eUserModel.emailName = item.EmailName;
eUserModel.IsEvaluateType = item.IsEvaluateType;
eUserModel.IsEvaluateName = item.IsEvaluateName;
eUserModel.IsSafetyEvaluate = item.IsSafetyEvaluate;
eUserList.Add(eUserModel);
}
return eUserList;
}
#endregion
#region
/// <summary>
/// 全选、全不选
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void tvMenu_NodeCheck(object sender, FineUIPro.TreeCheckEventArgs e)
{
if (e.Checked)
{
this.tvMenu.CheckAllNodes(e.Node.Nodes);
SetCheckParentNode(e.Node);
}
else
{
this.tvMenu.UncheckAllNodes(e.Node.Nodes);
}
}
/// <summary>
/// 选中父节点
/// </summary>
/// <param name="node"></param>
private void SetCheckParentNode(TreeNode node)
{
if (node.ParentNode != null && node.ParentNode.NodeID != "0")
{
node.ParentNode.Checked = true;
if (node.ParentNode.ParentNode.NodeID != "0")
{
SetCheckParentNode(node.ParentNode);
}
}
}
#endregion
/// <summary>
/// 发送邮件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnSave_Click(object sender, EventArgs e)
{
EmailPop pop = MailHelper.getEmailPop(BLL.Const.EmailPopId);
if (pop == null)
{
ShowNotify("Please configure mailbox sender!", MessageBoxIcon.Warning);
return;
}
string mailFrom = pop.EmailYx;
string[] mailTo = null;
string[] sMailTo = null;
string mailSubject = string.Empty;
string mailBody = string.Empty;
string mailAttch = string.Empty;
string mailCode = string.Empty;
string mailPriority = string.Empty;
string[] mailCC = null;
string resultMessage = "";
List<string> namelist = new List<string>();
List<string> safetyNamelist = new List<string>();
foreach (TreeNode tn in this.tvMenu.GetCheckedNodes())
{
if (tn.NodeID != "0" && !string.IsNullOrEmpty(tn.NavigateUrl))
{
if (tn.Text.Contains("特殊作业安全评估"))
{
safetyNamelist.Add(tn.NavigateUrl);
}
else
{
namelist.Add(tn.NavigateUrl);
}
}
}
mailTo = namelist.ToList().Distinct().ToArray();
sMailTo = safetyNamelist.ToList().Distinct().ToArray();
try
{
if (mailTo.Count() > 0)
{
var EmailTemplate = Funs.DB.SendEmailTemplate.Where(x => x.EmailName.Contains("Evaluation") && !x.EmailName.Contains("Safety"));
if (EmailTemplate.Count() > 0)
{
var emailUserList = UserEmail();
string templetpath = EmailTemplate.Select(p => p.EmailContext).FirstOrDefault();
NameValueCollection myCol = new NameValueCollection();
mailBody = TemplateHelper.BulidByFile2(templetpath, myCol);
bool f = MailHelper.SendNetMail(pop, mailFrom, mailTo, "[提醒]承包商绩效评估", mailBody, mailAttch, mailCode, mailPriority, mailCC, emailUserList, out resultMessage);
if (f == true)
{
InitMenuTree();
ShowNotify("Send Successfully!", MessageBoxIcon.Success);
}
else
{
ShowNotify(resultMessage, MessageBoxIcon.Error);
}
}
else
{
ShowNotify("Template free", MessageBoxIcon.Warning);
}
}
if (sMailTo.Count() > 0)
{
var EmailTemplate = Funs.DB.SendEmailTemplate.Where(x => x.EmailName.Contains("Evaluation") && x.EmailName.Contains("Safety"));
if (EmailTemplate.Count() > 0)
{
var emailUserList = UserEmail();
string templetpath = EmailTemplate.Select(p => p.EmailContext).FirstOrDefault();
NameValueCollection myCol = new NameValueCollection();
mailBody = TemplateHelper.BulidByFile2(templetpath, myCol);
bool f = MailHelper.SendNetMail(pop, mailFrom, sMailTo, "[提醒]特殊作业安全监护服务-承包商绩效评估", mailBody, mailAttch, mailCode, mailPriority, mailCC, emailUserList, out resultMessage);
if (f == true)
{
InitMenuTree();
ShowNotify("Send Successfully!", MessageBoxIcon.Success);
}
else
{
ShowNotify(resultMessage, MessageBoxIcon.Error);
}
}
else
{
ShowNotify("Template free", MessageBoxIcon.Warning);
}
}
}
catch (Exception ex)
{
ShowNotify(ex.Message, MessageBoxIcon.Error);
}
}
#region
/// <summary>
/// 菜单按钮权限
/// </summary>
private void GetButtonPower()
{
var buttonList = BLL.CommonService.GetAllButtonList(this.CurrUser.UserId, BLL.Const.SendEmailMenuId);
if (buttonList.Count() > 0)
{
if (buttonList.Contains(BLL.Const.BtnSend))
{
this.btnSave.Hidden = false;
}
}
}
#endregion
}
}
+141
View File
@@ -0,0 +1,141 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.SendEmail {
public partial class SendEmail {
/// <summary>
/// Head1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlHead Head1;
/// <summary>
/// SimpleForm1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlForm SimpleForm1;
/// <summary>
/// PageManager1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.PageManager PageManager1;
/// <summary>
/// Panel1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel Panel1;
/// <summary>
/// Panel5 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel Panel5;
/// <summary>
/// Panel2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel Panel2;
/// <summary>
/// tvMenu 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Tree tvMenu;
/// <summary>
/// Toolbar1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar1;
/// <summary>
/// lbUserNum 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label lbUserNum;
/// <summary>
/// ToolbarFill1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarFill ToolbarFill1;
/// <summary>
/// btnSave 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnSave;
/// <summary>
/// Toolbar2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar2;
/// <summary>
/// lbUser 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label lbUser;
/// <summary>
/// ToolbarFill2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarFill ToolbarFill2;
}
}
@@ -0,0 +1,78 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="SendEmailLog.aspx.cs" Inherits="FineUIPro.Web.SendEmail.SendEmailLog" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<f:PageManager ID="PageManager1" AutoSizePanelID="Panel1" runat="server" />
<f:Panel ID="Panel1" runat="server" Margin="5px" BodyPadding="5px" ShowBorder="false"
ShowHeader="false" Layout="VBox" BoxConfigAlign="Stretch">
<Items>
<f:Grid ID="Grid1" ShowBorder="true" ShowHeader="false" EnableCollapse="true" runat="server"
BoxFlex="1" DataKeyNames="EmailId" AllowCellEditing="true" ClicksToEdit="2" DataIDField="EmailId"
AllowSorting="true" SortField="CreateTime" SortDirection="DESC" OnSort="Grid1_Sort"
AllowPaging="true" IsDatabasePaging="true" PageSize="15" OnPageIndexChange="Grid1_PageIndexChange"
AllowFilters="true" OnFilterChange="Grid1_FilterChange">
<Columns>
<f:TemplateField Width="50px" TextAlign="Center">
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Container.DataItemIndex + 1 %>'></asp:Label>
</ItemTemplate>
</f:TemplateField>
<f:RenderField Width="280px" ColumnID="EmailName" DataField="EmailName" SortField="EmailName" FieldType="String"
HeaderTextAlign="Center" TextAlign="Left" HeaderText="EmailName">
</f:RenderField>
<f:RenderField Width="160px" ColumnID="CreateTime" DataField="CreateTime" SortField="CreateTime"
FieldType="String" HeaderText="CreateTime"
HeaderTextAlign="Center" TextAlign="Center" EnableFilter="true">
<Filter EnableMultiFilter="true" ShowMatcher="true">
<Operator>
<f:DropDownList ID="DropDownList4" runat="server">
<f:ListItem Text="greater than" Value="greater" Selected="true" />
<f:ListItem Text="less than" Value="less" />
<f:ListItem Text="equal to" Value="equal" />
</f:DropDownList>
</Operator>
<Field>
<f:DatePicker runat="server" Required="true" ID="DatePicker2">
</f:DatePicker>
</Field>
</Filter>
</f:RenderField>
<f:RenderField Width="150px" ColumnID="EmailURL" DataField="EmailURL" SortField="Ip" FieldType="String"
HeaderTextAlign="Center" TextAlign="Left" HeaderText="EmailURL">
</f:RenderField>
<f:RenderField Width="150px" ColumnID="EmailTile" DataField="EmailTile" SortField="EmailTile"
HeaderTextAlign="Center" TextAlign="Left" FieldType="String" HeaderText="EmailTile">
</f:RenderField>
<f:RenderField Width="250px" ColumnID="EmailContent" DataField="EmailContent" SortField="EmailContent"
HeaderTextAlign="Center" TextAlign="Left" FieldType="String" HeaderText="EmailContent" ExpandUnusedSpace="true">
</f:RenderField>
<f:RenderField Width="250px" ColumnID="EmailStatus" DataField="EmailStatus" SortField="EmailStatus"
HeaderTextAlign="Center" TextAlign="Left" FieldType="String" HeaderText="EmailStatus" ExpandUnusedSpace="true">
</f:RenderField>
</Columns>
<PageItems>
<f:ToolbarSeparator ID="ToolbarSeparator1" runat="server">
</f:ToolbarSeparator>
<f:ToolbarText ID="ToolbarText1" runat="server" Text="Number of records per page:">
</f:ToolbarText>
<f:DropDownList runat="server" ID="ddlPageSize" Width="80px" AutoPostBack="true"
OnSelectedIndexChanged="ddlPageSize_SelectedIndexChanged">
<f:ListItem Text="15" Value="15" />
<f:ListItem Text="20" Value="20" />
<f:ListItem Text="25" Value="25" />
<f:ListItem Text="30" Value="30" />
</f:DropDownList>
</PageItems>
</f:Grid>
</Items>
</f:Panel>
</form>
</body>
</html>
@@ -0,0 +1,77 @@
using BLL;
using Model;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Linq.Expressions;
using System.Web.UI.WebControls;
namespace FineUIPro.Web.SendEmail
{
public partial class SendEmailLog : PageBase
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
BindGrid();
}
}
#region
/// <summary>
/// 绑定数据
/// </summary>
private void BindGrid()
{
List<Model.SendEmail> SendList = new List<Model.SendEmail>();
Expression<Func<Model.SendEmail, bool>> express = PredicateExtensions.True<Model.SendEmail>();
SendList = Funs.DB.SendEmail.ToList();
Grid1.RecordCount = SendList.Count;
var table = this.GetPagedDataTable(Grid1, SendList);
Grid1.DataSource = table;
Grid1.DataBind();
}
/// <summary>
/// 表头过滤
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_FilterChange(object sender, EventArgs e)
{
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);
BindGrid();
}
/// <summary>
/// 分页
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e)
{
Grid1.PageIndex = e.NewPageIndex;
BindGrid();
}
protected void Grid1_Sort(object sender, FineUIPro.GridSortEventArgs e)
{
Grid1.SortDirection = e.SortDirection;
Grid1.SortField = e.SortField;
BindGrid();
}
#endregion
}
}
+105
View File
@@ -0,0 +1,105 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.SendEmail {
public partial class SendEmailLog {
/// <summary>
/// form1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
/// <summary>
/// PageManager1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.PageManager PageManager1;
/// <summary>
/// Panel1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel Panel1;
/// <summary>
/// Grid1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Grid Grid1;
/// <summary>
/// Label1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.WebControls.Label Label1;
/// <summary>
/// DropDownList4 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList DropDownList4;
/// <summary>
/// DatePicker2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker DatePicker2;
/// <summary>
/// ToolbarSeparator1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarSeparator ToolbarSeparator1;
/// <summary>
/// ToolbarText1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarText ToolbarText1;
/// <summary>
/// ddlPageSize 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList ddlPageSize;
}
}
@@ -0,0 +1,39 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="SendEmailPop.aspx.cs" Inherits="FineUIPro.Web.SendEmail.SendEmailPop" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
</head>
<body>
<form id="form1" runat="server">
<f:PageManager ID="PageManager1" runat="server" />
<f:SimpleForm ID="SimpleForm1" CssClass="blockpanel" BodyPadding="10px" LabelWidth="200px"
EnableCollapse="false" runat="server" ShowBorder="true" ShowHeader="true" Title="Email configuration">
<Items>
<f:TextBox ID="EmailFwq" ShowLabel="true" Required="true" LabelWidth="140px" BoxFlex="2"
runat="server" Label="Mail server address">
</f:TextBox>
<f:TextBox ID="EmailDk" ShowLabel="true" Required="true" LabelWidth="140px" BoxFlex="2"
runat="server" Label="The port number">
</f:TextBox>
<f:TextBox ID="EmailYx" ShowLabel="true" Required="true" LabelWidth="140px" BoxFlex="2"
runat="server" Label="Sender's mailbox">
</f:TextBox>
<f:TextBox ID="EmailUsername" ShowLabel="true" Required="true" LabelWidth="140px"
BoxFlex="2" runat="server" Label="UserName">
</f:TextBox>
<f:TextBox ID="EmailPass" ShowLabel="true" InputType="password" Required="true" LabelWidth="140px" BoxFlex="2"
runat="server" Label="Password">
</f:TextBox>
<f:Button ID="btnSubmit" ValidateForms="SimpleForm1" CssClass="marginr" Text="Submit"
runat="server" OnClick="btnSubmit_Click" Hidden="true">
</f:Button>
</Items>
</f:SimpleForm>
</form>
</body>
</html>
@@ -0,0 +1,77 @@
using BLL;
using Model;
using System;
using System.Linq;
namespace FineUIPro.Web.SendEmail
{
public partial class SendEmailPop : PageBase
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
GetButtonPower();
EmailPop pops = Funs.DB.EmailPop.FirstOrDefault(x => x.EmailID == BLL.Const.EmailPopId);
if (pops != null)
{
EmailFwq.Text = pops.EmailFwq;
EmailDk.Text = pops.EmailDk;
EmailYx.Text = pops.EmailYx;
EmailUsername.Text = pops.EmailUsername;
EmailPass.Text = pops.EmailPass;
}
}
}
/// <summary>
/// 保存,修改
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnSubmit_Click(object sender, EventArgs e)
{
var insertType = 0;
Model.EmailPop pop = Funs.DB.EmailPop.FirstOrDefault(p => p.EmailID == BLL.Const.EmailPopId);
if (pop == null)
{
insertType = 1;
pop = new EmailPop();
pop.EmailID = BLL.Const.EmailPopId;
}
pop.EmailFwq = EmailFwq.Text.Trim();
pop.EmailDk = EmailDk.Text.Trim();
pop.EmailYx = EmailYx.Text.Trim();
pop.EmailUsername = EmailUsername.Text.Trim();
pop.EmailPass = EmailPass.Text.Trim();
pop.CreateTime = DateTime.Now.ToString();
pop.CreateName = CurrUser.UserName;
pop.UpdateTime = DateTime.Now.ToString();
pop.UpdateName = CurrUser.UserName;
if (insertType == 1)
{
Funs.DB.EmailPop.InsertOnSubmit(pop);
}
Funs.DB.SubmitChanges();
ShowNotify("Save Successfully!", MessageBoxIcon.Success);
}
#region
/// <summary>
/// 菜单按钮权限
/// </summary>
private void GetButtonPower()
{
var buttonList = BLL.CommonService.GetAllButtonList(this.CurrUser.UserId, BLL.Const.SendEmailPopMenuId);
if (buttonList.Count() > 0)
{
if (buttonList.Contains(BLL.Const.BtnSave))
{
this.btnSubmit.Hidden = false;
}
}
}
#endregion
}
}
@@ -0,0 +1,96 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.SendEmail {
public partial class SendEmailPop {
/// <summary>
/// form1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
/// <summary>
/// PageManager1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.PageManager PageManager1;
/// <summary>
/// SimpleForm1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.SimpleForm SimpleForm1;
/// <summary>
/// EmailFwq 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox EmailFwq;
/// <summary>
/// EmailDk 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox EmailDk;
/// <summary>
/// EmailYx 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox EmailYx;
/// <summary>
/// EmailUsername 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox EmailUsername;
/// <summary>
/// EmailPass 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox EmailPass;
/// <summary>
/// btnSubmit 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnSubmit;
}
}
@@ -0,0 +1,61 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="SendEmailTemplate.aspx.cs" Inherits="FineUIPro.Web.SendEmail.SendEmailTemplate" ValidateRequest="false" %>
<%@ Register Src="~/SendEmail/SelectUserControl.ascx" TagPrefix="uc1" TagName="SelectUserControl" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
</head>
<body>
<form id="form1" runat="server">
<f:PageManager ID="PageManager1" runat="server" />
<f:Form ID="SimpleForm1" ShowHeader="false" CssClass="blockpanel" BodyPadding="10px" runat="server" EnableCollapse="false">
<Items>
<f:TextBox ID="txtTemplateCondition" ShowLabel="true" Required="true" LabelWidth="150px" LabelAlign="Right"
BoxFlex="2" runat="server" Label="Template Condition">
</f:TextBox>
<f:TextBox ID="txtTemplateName" ShowLabel="true" Required="true" LabelWidth="150px" LabelAlign="Right"
BoxFlex="2" runat="server" Label="Template Name">
</f:TextBox>
<f:HtmlEditor runat="server" Label="Template Content" ID="txtContent" Editor="UMEditor" BasePath="~/res/third-party/umeditor/" Height="400px" LabelWidth="150px" LabelAlign="Right">
</f:HtmlEditor>
<f:RadioButtonList ID="rblAutoPostBack" AutoPostBack="true" OnSelectedIndexChanged="rblAutoPostBack_SelectedIndexChanged" LabelWidth="150px" LabelAlign="Right"
Label="UserName enabled" ColumnNumber="2" runat="server" Required="true">
<f:RadioItem Text="No Choice" Value="0" Selected="true" />
<f:RadioItem Text="Select People" Value="1" />
</f:RadioButtonList>
<f:DropDownBox runat="server" Label="Sender information" ID="ddlSendUserName" LabelWidth="150px" EmptyText="Select Multiple" DataControlID="Grid1"
EnableMultiSelect="true" MatchFieldWidth="false" EnableEdit="true" LabelAlign="Right">
<PopPanel>
<f:UserControlConnector runat="server">
<uc1:SelectUserControl runat="server" ID="SelectUserControl1" EnableGridMultiSelect="true" />
</f:UserControlConnector>
</PopPanel>
</f:DropDownBox>
<f:DropDownBox runat="server" Label="CC information" ID="ddlccUserName" LabelWidth="150px" EmptyText="Select Multiple" DataControlID="Grid1"
EnableMultiSelect="true" MatchFieldWidth="false" EnableEdit="true" LabelAlign="Right">
<PopPanel>
<f:UserControlConnector runat="server">
<uc1:SelectUserControl runat="server" ID="SelectUserControl2" EnableGridMultiSelect="true" />
</f:UserControlConnector>
</PopPanel>
</f:DropDownBox>
</Items>
<Toolbars>
<f:Toolbar ID="Toolbar1" Position="Bottom" ToolbarAlign="Right" runat="server">
<Items>
<f:Button ID="btnSave" runat="server" OnClick="btnSave_Click" Text="Save"
CssClass="marginr">
</f:Button>
</Items>
</f:Toolbar>
</Toolbars>
</f:Form>
</form>
</body>
</html>
@@ -0,0 +1,292 @@
using BLL;
using System;
using System.Collections.Generic;
using System.Linq;
namespace FineUIPro.Web.SendEmail
{
public partial class SendEmailTemplate : PageBase
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
string emailId = Request.Params["id"];
if (!string.IsNullOrEmpty(emailId))
{
Model.SendEmailTemplate sends = new Model.SendEmailTemplate();
sends = Funs.DB.SendEmailTemplate.Where(p => p.EmailId == emailId).FirstOrDefault();
//this.ddlMailNotifier.SelectedValue = sends.EmailNotifier.Trim();
this.txtTemplateName.Text = sends.EmailName.ToString();
this.txtTemplateCondition.Text = sends.EailTiaoJian.ToString();
this.txtContent.Text = sends.EmailContext.ToString();
//ddlMailNotifier.Enabled = false;
if (sends.EmailUserYN.HasValue)
{
rblAutoPostBack.SelectedValue = sends.EmailUserYN.ToString();
}
}
if (rblAutoPostBack.SelectedValue == "0")
{
ddlSendUserName.Hidden = true;
ddlccUserName.Hidden = true;
}
else if (rblAutoPostBack.SelectedValue == "1")//选择人
{
//发送人
var people1 = (from x in Funs.DB.Email_ToPeople select x).Where(o => o.EmtempID == emailId && o.EMPeopleType == "0").ToList();
if (people1.Count == 0 || people1 == null)
{ }
else
{
this.ddlSendUserName.Values = people1.Select(o => o.EmuserID).ToArray();
this.ddlSendUserName.Texts = people1.Select(o => o.EmuserName).ToArray();
}
//抄送人
var people2 = (from x in Funs.DB.Email_ToPeople select x).Where(o => o.EmtempID == emailId && o.EMPeopleType == "1").ToList();
if (people2.Count == 0 || people2 == null)
{ }
else
{
this.ddlccUserName.Values = people2.Select(o => o.EmuserID).ToArray();
this.ddlccUserName.Texts = people2.Select(o => o.EmuserName).ToArray();
}
ddlSendUserName.Hidden = false;
ddlccUserName.Hidden = false;
}
}
}
protected void rblAutoPostBack_SelectedIndexChanged(object sender, EventArgs e)
{
//ShowNotify("列表三选中项的值:" + rblAutoPostBack.SelectedValue);
if (rblAutoPostBack.SelectedValue == "0")
{
ddlccUserName.Value = string.Empty;
ddlccUserName.Hidden = true;
ddlSendUserName.Value = string.Empty;
ddlSendUserName.Hidden = true;
}
else if (rblAutoPostBack.SelectedValue == "1")
{
ddlSendUserName.Hidden = false;
ddlccUserName.Hidden = false;
}
}
/// <summary>
/// 保存
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnSave_Click(object sender, EventArgs e)
{
string emailId = Request.Params["id"];
if (rblAutoPostBack.SelectedValue == "1")
{
//发送人id 集合
List<Model.Sys_User> SenduserList = new List<Model.Sys_User>();
if (!string.IsNullOrEmpty(this.ddlSendUserName.Value))
{
string[] toUserId = this.ddlSendUserName.Values;
List<Model.Sys_User> usList = BLL.Sys_UserService.GetUserList();
foreach (var item in toUserId)
{
string itemstr = item.Trim();
Model.Sys_User syuser = new Model.Sys_User();
syuser = usList.Where(o => o.UserId == itemstr).FirstOrDefault();
SenduserList.Add(syuser);
}
}
//抄送人集合
List<Model.Sys_User> CCuserList = new List<Model.Sys_User>();
if (!string.IsNullOrEmpty(this.ddlccUserName.Value))
{
string[] toUserId = this.ddlccUserName.Values;
List<Model.Sys_User> usList = BLL.Sys_UserService.GetUserList();
foreach (var item in toUserId)
{
string itemstr = item.Trim();
Model.Sys_User syuser = new Model.Sys_User();
syuser = usList.Where(o => o.UserId == itemstr).FirstOrDefault();
CCuserList.Add(syuser);
}
}
List<Model.Email_ToPeople> tplist = null;
if (string.IsNullOrEmpty(emailId))
{
Model.SendEmailTemplate temp = new Model.SendEmailTemplate();
temp.EmailId = Guid.NewGuid().ToString();
//temp.EmailTitle = txtTemplateName.Text.Trim();
temp.EmailType = 0;
temp.EmailName = txtTemplateName.Text.Trim();
temp.EailTiaoJian = txtTemplateCondition.Text.Trim();
temp.EmailContext = this.txtContent.Text;
temp.EmailUserYN = Convert.ToInt32(rblAutoPostBack.SelectedValue);
List<Model.SendEmailTemplate> stlist = new List<Model.SendEmailTemplate>();
tplist = new List<Model.Email_ToPeople>();
//发送人
if (SenduserList != null || SenduserList.Count != 0)
{
foreach (var item in SenduserList)
{
Model.Email_ToPeople tep = new Model.Email_ToPeople();
tep.EmID = Guid.NewGuid().ToString();
tep.EmtempID = temp.EmailId;
tep.EmuserID = item.UserId.ToString();
tep.EmuserName = item.UserName.ToString();
tep.EMPeopleType = "0";
tep.EmuaerEmailAddress = item.Email.ToString();
tplist.Add(tep);
}
}
//抄送人保存
if (CCuserList != null || CCuserList.Count != 0)
{
foreach (var item in CCuserList)
{
Model.Email_ToPeople tep = new Model.Email_ToPeople();
tep.EmID = Guid.NewGuid().ToString();
tep.EmtempID = temp.EmailId;
tep.EmuserID = item.UserId.ToString();
tep.EmuserName = item.UserName.ToString();
tep.EMPeopleType = "1";
tep.EmuaerEmailAddress = item.Email.ToString();
tplist.Add(tep);
}
}
temp.CreateName = this.CurrUser.UserName;
temp.CreateTime = DateTime.Now;
BLL.SendEmail.SendEmailTemplateService.AddSendEmail(temp, tplist);
BLL.Sys_LogService.AddLog(this.CurrUser.UserId, "Add SendEmailTemplate!");
}
else
{
Model.SendEmailTemplate temp = BLL.SendEmail.SendEmailTemplateService.GetSendEmailTemplate(emailId);
temp.EmailId = emailId;
temp.EailTiaoJian = txtTemplateCondition.Text.Trim();
temp.EmailName = txtTemplateName.Text.Trim();
temp.EmailContext = this.txtContent.Text;
temp.EmailUserYN = Convert.ToInt32(rblAutoPostBack.SelectedValue);
temp.UpdateName = this.CurrUser.UserName;
temp.UpdateTime = DateTime.Now;
tplist = new List<Model.Email_ToPeople>();
if (SenduserList != null || SenduserList.Count != 0)
{
foreach (var item in SenduserList)
{
Model.Email_ToPeople tep = new Model.Email_ToPeople();
tep.EmID = Guid.NewGuid().ToString();
tep.EmtempID = emailId;
tep.EmuserID = item.UserId.ToString();
tep.EMPeopleType = "0";
tep.EmuserName = item.UserName.ToString();
tep.EmuaerEmailAddress = item.Email.ToString();
tplist.Add(tep);
}
}
//抄送人保存
if (CCuserList.Count != 0 || CCuserList != null)
{
foreach (var item in CCuserList)
{
Model.Email_ToPeople tep = new Model.Email_ToPeople();
tep.EmID = Guid.NewGuid().ToString();
tep.EmtempID = temp.EmailId;
tep.EmuserID = item.UserId.ToString();
tep.EmuserName = item.UserName.ToString();
tep.EMPeopleType = "1";
tep.EmuaerEmailAddress = item.Email.ToString();
tplist.Add(tep);
}
}
BLL.SendEmail.SendEmailTemplateService.UpdateSendEmail(temp, tplist);
BLL.Sys_LogService.AddLog(this.CurrUser.UserId, "Update SendEmailTemplate!");
}
ShowNotify("Save Successfully!", MessageBoxIcon.Success);
PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
}
else
{
if (string.IsNullOrEmpty(emailId))
{
Model.SendEmailTemplate temp = new Model.SendEmailTemplate();
temp.EmailId = emailId;
temp.EmailType = 0;
temp.EmailName = txtTemplateName.Text.Trim();
temp.EailTiaoJian = txtTemplateCondition.Text.Trim();
temp.EmailContext = this.txtContent.Text;
temp.EmailUserYN = Convert.ToInt32(rblAutoPostBack.SelectedValue);
temp.CreateName = this.CurrUser.UserName;
temp.CreateTime = DateTime.Now;
BLL.SendEmail.SendEmailTemplateService.AddSendEmail(temp, null);
BLL.Sys_LogService.AddLog(this.CurrUser.UserId, "Add SendEmailTemplate!");
#region
//List<Model.SendEmailTemplate> stlist = new List<Model.SendEmailTemplate>();
//stlist = BLL.SendEmail.SendEmailTemplateService.GetEmailNotifierList(temp.EmailNotifier);
//if (stlist == null || stlist.Count == 0)
//{
// temp.CreateName = this.CurrUser.UserName;
// temp.CreateTime = DateTime.Now;
// BLL.SendEmail.SendEmailTemplateService.AddSendEmail(temp, null);
// BLL.Sys_LogService.AddLog(this.CurrUser.UserId, "Add SendEmailTemplate!");
//}
//else
//{
// foreach (var item in stlist)
// {
// item.EmailType = 1;
// Model.SendEmailTemplate sendtp = new Model.SendEmailTemplate();
// sendtp = item;
// BLL.SendEmail.SendEmailTemplateService.UpdateSendEmail(sendtp,null);
// }
// temp.CreateName = this.CurrUser.UserName;
// temp.CreateTime = DateTime.Now;
// BLL.SendEmail.SendEmailTemplateService.AddSendEmail(temp,null);
// BLL.Sys_LogService.AddLog(this.CurrUser.UserId, "Add SendEmailTemplate!");
//}
#endregion
}
else
{
Model.SendEmailTemplate temp = BLL.SendEmail.SendEmailTemplateService.GetSendEmailTemplate(emailId);
temp.EmailId = emailId;
temp.EmailType = 0;
temp.EmailName = txtTemplateName.Text.Trim();
temp.EailTiaoJian = txtTemplateCondition.Text.Trim();
temp.EmailContext = this.txtContent.Text;
temp.EmailUserYN = Convert.ToInt32(rblAutoPostBack.SelectedValue);
temp.UpdateName = this.CurrUser.UserName;
temp.UpdateTime = DateTime.Now;
BLL.SendEmail.SendEmailTemplateService.UpdateSendEmail(temp,null);
BLL.Sys_LogService.AddLog(this.CurrUser.UserId, "Update SendEmailTemplate!");
}
ShowNotify("Save Successfully!", MessageBoxIcon.Success);
PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
}
}
}
}
@@ -0,0 +1,132 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.SendEmail {
public partial class SendEmailTemplate {
/// <summary>
/// form1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
/// <summary>
/// PageManager1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.PageManager PageManager1;
/// <summary>
/// SimpleForm1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Form SimpleForm1;
/// <summary>
/// txtTemplateCondition 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtTemplateCondition;
/// <summary>
/// txtTemplateName 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtTemplateName;
/// <summary>
/// txtContent 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.HtmlEditor txtContent;
/// <summary>
/// rblAutoPostBack 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.RadioButtonList rblAutoPostBack;
/// <summary>
/// ddlSendUserName 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownBox ddlSendUserName;
/// <summary>
/// SelectUserControl1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Web.SendEmail.SelectUserControl SelectUserControl1;
/// <summary>
/// ddlccUserName 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownBox ddlccUserName;
/// <summary>
/// SelectUserControl2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Web.SendEmail.SelectUserControl SelectUserControl2;
/// <summary>
/// Toolbar1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar1;
/// <summary>
/// btnSave 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnSave;
}
}
@@ -0,0 +1,140 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="SendEmailTemplateList.aspx.cs" Inherits="FineUIPro.Web.SendEmail.SendEmailTemplateList" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
</head>
<body>
<form id="form1" runat="server">
<f:PageManager ID="PageManager1" AutoSizePanelID="Panel1" runat="server" />
<f:Panel ID="Panel1" runat="server" Margin="5px" BodyPadding="5px" ShowBorder="false"
ShowHeader="false" Layout="VBox" BoxConfigAlign="Stretch">
<Items>
<f:Grid ID="Grid1" ShowBorder="true" ShowHeader="false" EnableCollapse="true" runat="server"
BoxFlex="1" DataKeyNames="EmailId" AllowCellEditing="true" ClicksToEdit="2" DataIDField="EmailId"
AllowSorting="true" SortField="CreateTime" SortDirection="DESC" OnSort="Grid1_Sort"
AllowPaging="true" IsDatabasePaging="true" PageSize="15" OnPageIndexChange="Grid1_PageIndexChange"
AllowFilters="true" OnFilterChange="Grid1_FilterChange" EnableRowDoubleClickEvent="true" OnRowDoubleClick="Grid1_RowDoubleClick" OnRowCommand="Grid1_RowCommand">
<Toolbars>
<f:Toolbar ID="Toolbar2" Position="Top" runat="server">
<Items>
<f:ToolbarFill ID="ToolbarFill1" runat="server"></f:ToolbarFill>
<f:Button ID="btnAdd" ToolTip="Print" Icon="Add" Text="Add" runat="server" OnClick="btnAdd_Click"></f:Button>
</Items>
</f:Toolbar>
</Toolbars>
<Columns>
<f:TemplateField Width="50px" TextAlign="Center">
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Container.DataItemIndex + 1 %>'></asp:Label>
<f:HiddenField runat="server" ID="hidEmailId" Text='<%#Eval("EmailId") %>' />
</ItemTemplate>
</f:TemplateField>
<f:RenderField Width="250px" ColumnID="EmailName" DataField="EmailName" SortField="EmailName" FieldType="String"
HeaderTextAlign="Center" TextAlign="Left" HeaderText="EmailName">
</f:RenderField>
<f:RenderField Width="150px" ColumnID="CreateTime" DataField="CreateTime" SortField="CreateTime"
FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd" HeaderText="CreateTime"
HeaderTextAlign="Center" TextAlign="Center" EnableFilter="true">
<Filter EnableMultiFilter="true" ShowMatcher="true">
<Operator>
<f:DropDownList ID="DropDownList4" runat="server">
<f:ListItem Text="greater than" Value="greater" Selected="true" />
<f:ListItem Text="less than" Value="less" />
<f:ListItem Text="equal to" Value="equal" />
</f:DropDownList>
</Operator>
<Field>
<f:DatePicker runat="server" Required="true" ID="DatePicker2">
</f:DatePicker>
</Field>
</Filter>
</f:RenderField>
<%--<f:RenderField Width="400px" ColumnID="EmailContext" DataField="EmailContext" SortField="EmailContext" FieldType="String"
HeaderTextAlign="Center" TextAlign="Left" HeaderText="EmailContext">
</f:RenderField>--%>
<f:RenderField Width="350px" ColumnID="EailTiaoJian" DataField="EailTiaoJian" SortField="EailTiaoJian"
HeaderTextAlign="Center" TextAlign="Left" FieldType="String" HeaderText="Template Condition" ExpandUnusedSpace="true">
</f:RenderField>
<f:RenderField Width="150px" ColumnID="EmailType" DataField="EmailType" SortField="EmailType"
HeaderTextAlign="Center" TextAlign="Left" FieldType="String" HeaderText="EmailType" RendererFunction="getStatus">
</f:RenderField>
<f:LinkButtonField Width="60px" TextAlign="Center" ColumnID="Deleteit" ConfirmText="确定要删除本行?" ConfirmTarget="Top" CommandName="Delete" Icon="Delete" />
</Columns>
<Listeners>
<f:Listener Event="beforerowcontextmenu" Handler="onRowContextMenu" />
</Listeners>
<PageItems>
<f:ToolbarSeparator ID="ToolbarSeparator1" runat="server">
</f:ToolbarSeparator>
<f:ToolbarText ID="ToolbarText1" runat="server" Text="Number of records per page:">
</f:ToolbarText>
<f:DropDownList runat="server" ID="ddlPageSize" Width="80px" AutoPostBack="true"
OnSelectedIndexChanged="ddlPageSize_SelectedIndexChanged">
<f:ListItem Text="15" Value="15" />
<f:ListItem Text="20" Value="20" />
<f:ListItem Text="25" Value="25" />
<f:ListItem Text="30" Value="30" />
</f:DropDownList>
</PageItems>
</f:Grid>
</Items>
</f:Panel>
<f:Window ID="Window1" Title="SendEmailTemplate Editor" Hidden="true" EnableIFrame="true" EnableMaximize="false"
Target="Parent" EnableResize="false" runat="server" OnClose="Window1_Close" IsModal="true"
Width="1200px" Height="760px">
</f:Window>
<f:Menu ID="Menu1" runat="server">
<f:MenuButton ID="btnMenuEdit" OnClick="btnMenuEdit_Click" EnablePostBack="true"
Icon="BulletEdit" runat="server" Text="Modify">
</f:MenuButton>
</f:Menu>
<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(value) {
if (value == 0) {
return "Lesson learn";
} else if (value == 1) {
return "Lesson Lerarn Review";
} else if (value == 2) {
return "Lesson Learn published";
}
else if (value == 3) {
return "Mc auton Mail";
}
else if (value == 4) {
return "Tccc review auto mail";
}
else {
return "Timing transmission";
}
}
function getStatus(value) {
if (value == 0) {
return "Open";
} else {
return "Close";
}
}
</script>
</form>
</body>
</html>
@@ -0,0 +1,129 @@
using BLL;
using System;
using System.Collections.Generic;
using System.Linq;
namespace FineUIPro.Web.SendEmail
{
public partial class SendEmailTemplateList : PageBase
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
BindGrid();
}
}
#region BindGrid
private void BindGrid()
{
List<Model.SendEmailTemplate> senList = new List<Model.SendEmailTemplate>();
senList = BLL.SendEmail.SendEmailTemplateService.GetSendEmailTemplateList();
Grid1.RecordCount = senList.Count;
Grid1.DataSource = senList;
Grid1.DataBind();
}
#region
protected void Grid1_FilterChange(object sender, EventArgs e)
{
BindGrid();
}
#endregion
#endregion
/// <summary>
/// 分页下拉选择
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e)
{
Grid1.PageSize = Convert.ToInt32(ddlPageSize.SelectedValue);
BindGrid();
}
protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e)
{
Grid1.PageIndex = e.NewPageIndex;
BindGrid();
}
protected void Grid1_Sort(object sender, FineUIPro.GridSortEventArgs e)
{
Grid1.SortDirection = e.SortDirection;
Grid1.SortField = e.SortField;
BindGrid();
}
/// <summary>
/// 添加
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnAdd_Click(object sender, EventArgs e)
{
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("SendEmailTemplate.aspx", null, "添加 - ")));
}
protected void Window1_Close(object sender, WindowCloseEventArgs e)
{
BindGrid();
}
/// <summary>
/// 右键编辑事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnMenuEdit_Click(object sender, EventArgs e)
{
if (Grid1.SelectedRowIndexArray.Length == 0)
{
Alert.ShowInParent("Please select at least one record!");
return;
}
string Id = Grid1.SelectedRowID;
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("SendEmailTemplate.aspx?id={0}", Id, "编辑 - ")));
}
/// <summary>
/// 删除
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_RowCommand(object sender, GridCommandEventArgs e)
{
if (e.CommandName == "Delete")
{
HiddenField hidMailId = Grid1.Rows[e.RowIndex].FindControl("hidEmailId") as HiddenField;
if (!string.IsNullOrEmpty(hidMailId.Text))
{
var tempModel = Funs.DB.SendEmailTemplate.FirstOrDefault(p => p.EmailId == hidMailId.Text);
Funs.DB.SendEmailTemplate.DeleteOnSubmit(tempModel);
Funs.DB.SubmitChanges();
BindGrid();
ShowNotify("删除成功!", MessageBoxIcon.Success);
}
}
}
/// <summary>
/// Grid双击事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_RowDoubleClick(object sender, GridRowClickEventArgs e)
{
btnMenuEdit_Click(null, null);
}
}
}
@@ -0,0 +1,168 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.SendEmail {
public partial class SendEmailTemplateList {
/// <summary>
/// form1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
/// <summary>
/// PageManager1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.PageManager PageManager1;
/// <summary>
/// Panel1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel Panel1;
/// <summary>
/// Grid1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Grid Grid1;
/// <summary>
/// Toolbar2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar2;
/// <summary>
/// ToolbarFill1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarFill ToolbarFill1;
/// <summary>
/// btnAdd 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnAdd;
/// <summary>
/// Label1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.WebControls.Label Label1;
/// <summary>
/// hidEmailId 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.HiddenField hidEmailId;
/// <summary>
/// DropDownList4 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList DropDownList4;
/// <summary>
/// DatePicker2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker DatePicker2;
/// <summary>
/// ToolbarSeparator1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarSeparator ToolbarSeparator1;
/// <summary>
/// ToolbarText1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarText ToolbarText1;
/// <summary>
/// ddlPageSize 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList ddlPageSize;
/// <summary>
/// Window1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Window Window1;
/// <summary>
/// Menu1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Menu Menu1;
/// <summary>
/// btnMenuEdit 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.MenuButton btnMenuEdit;
}
}