20240308 会议管理
This commit is contained in:
parent
75fc3cf2f5
commit
a59e10daa2
|
@ -0,0 +1,42 @@
|
|||
Alter table Driver_Meeting add MeetingCode nvarchar(50)
|
||||
Alter table Driver_Meeting add CompileMan nvarchar(50)
|
||||
Alter table Driver_Meeting add CompileDate DateTime
|
||||
Alter table Driver_Meeting add States char(1)
|
||||
go
|
||||
|
||||
CREATE TABLE [dbo].[Driver_MeetingItem](
|
||||
[MeetingItemId] [nvarchar](50) NOT NULL,
|
||||
[MeetingId] [nvarchar](50) NOT NULL,
|
||||
[UserId] [nvarchar](50) NULL,
|
||||
[IsMeeting] [bit] NULL,
|
||||
[Feedback] [nvarchar](100) NULL,
|
||||
CONSTRAINT [PK_Driver_MeetingItem] PRIMARY KEY CLUSTERED
|
||||
(
|
||||
[MeetingItemId] ASC
|
||||
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
|
||||
) ON [PRIMARY]
|
||||
GO
|
||||
|
||||
ALTER TABLE [dbo].[Driver_MeetingItem] WITH CHECK ADD CONSTRAINT [FK_Driver_MeetingItem_Driver_Meeting] FOREIGN KEY([MeetingId])
|
||||
REFERENCES [dbo].[Driver_Meeting] ([MeetingId])
|
||||
GO
|
||||
|
||||
ALTER TABLE [dbo].[Driver_MeetingItem] CHECK CONSTRAINT [FK_Driver_MeetingItem_Driver_Meeting]
|
||||
GO
|
||||
|
||||
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'主键' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Driver_MeetingItem', @level2type=N'COLUMN',@level2name=N'MeetingItemId'
|
||||
GO
|
||||
|
||||
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'会议Id' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Driver_MeetingItem', @level2type=N'COLUMN',@level2name=N'MeetingId'
|
||||
GO
|
||||
|
||||
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'参会人' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Driver_MeetingItem', @level2type=N'COLUMN',@level2name=N'UserId'
|
||||
GO
|
||||
|
||||
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'是否参会' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Driver_MeetingItem', @level2type=N'COLUMN',@level2name=N'IsMeeting'
|
||||
GO
|
||||
|
||||
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'反馈意见' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Driver_MeetingItem', @level2type=N'COLUMN',@level2name=N'Feedback'
|
||||
GO
|
||||
|
||||
|
|
@ -756,6 +756,7 @@
|
|||
<Compile Include="TestRun\DriverSub\DriverSubService.cs" />
|
||||
<Compile Include="TestRun\DriverSummary\DriverSummaryService.cs" />
|
||||
<Compile Include="TestRun\FeedingTestRunService.cs" />
|
||||
<Compile Include="TestRun\Meeting\MeetingItemService.cs" />
|
||||
<Compile Include="TestRun\Meeting\MeetingService.cs" />
|
||||
<Compile Include="TestRun\PersonTrain\DriverPrepareTrainPlanService.cs" />
|
||||
<Compile Include="TestRun\PersonTrain\PersonTrainPlanService.cs" />
|
||||
|
|
|
@ -0,0 +1,82 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace BLL
|
||||
{
|
||||
/// <summary>
|
||||
/// 参会人
|
||||
/// </summary>
|
||||
public class MeetingItemService
|
||||
{
|
||||
/// <summary>
|
||||
/// 根据会议Id获取参会人信息
|
||||
/// </summary>
|
||||
/// <param name="meetingId"></param>
|
||||
/// <returns></returns>
|
||||
public static List<Model.Driver_MeetingItem> GetMeetingItemByMeetingId(string meetingId)
|
||||
{
|
||||
return (from x in Funs.DB.Driver_MeetingItem where x.MeetingId == meetingId select x).ToList();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 根据会议Id和参会人Id获取参会人信息
|
||||
/// </summary>
|
||||
/// <param name="meetingId"></param>
|
||||
/// <param name="userId"></param>
|
||||
/// <returns></returns>
|
||||
public static Model.Driver_MeetingItem GetMeetingItemByMeetingIdAndUserId(string meetingId,string userId)
|
||||
{
|
||||
return (from x in Funs.DB.Driver_MeetingItem where x.MeetingId == meetingId && x.UserId == userId select x).FirstOrDefault();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 添加参会人信息
|
||||
/// </summary>
|
||||
/// <param name="item"></param>
|
||||
public static void AddMeetingItem(Model.Driver_MeetingItem item)
|
||||
{
|
||||
Model.Driver_MeetingItem newItem = new Model.Driver_MeetingItem
|
||||
{
|
||||
MeetingItemId = item.MeetingItemId,
|
||||
MeetingId = item.MeetingId,
|
||||
UserId = item.UserId,
|
||||
IsMeeting = item.IsMeeting,
|
||||
Feedback = item.Feedback
|
||||
};
|
||||
Funs.DB.Driver_MeetingItem.InsertOnSubmit(newItem);
|
||||
Funs.DB.SubmitChanges();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 修改参会人信息
|
||||
/// </summary>
|
||||
/// <param name="item"></param>
|
||||
public static void UpdateMeetingItem(Model.Driver_MeetingItem item)
|
||||
{
|
||||
Model.Driver_MeetingItem newItem = Funs.DB.Driver_MeetingItem.FirstOrDefault(e => e.MeetingItemId == item.MeetingItemId);
|
||||
if (newItem != null)
|
||||
{
|
||||
newItem.IsMeeting = item.IsMeeting;
|
||||
newItem.Feedback = item.Feedback;
|
||||
Funs.DB.SubmitChanges();
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 根据会议Id删除参会人信息
|
||||
/// </summary>
|
||||
/// <param name="meetingId"></param>
|
||||
public static void DeleteMeetingItemByMeetingId(string meetingId)
|
||||
{
|
||||
var item = (from x in Funs.DB.Driver_MeetingItem where x.MeetingId == meetingId select x).ToList();
|
||||
if (item != null)
|
||||
{
|
||||
Funs.DB.Driver_MeetingItem.DeleteAllOnSubmit(item);
|
||||
Funs.DB.SubmitChanges();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,15 +1,11 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Linq;
|
||||
|
||||
namespace BLL
|
||||
{
|
||||
/// <summary>
|
||||
/// 会议管理
|
||||
/// </summary>
|
||||
public static class MeetingService
|
||||
public static class MeetingService
|
||||
{
|
||||
/// <summary>
|
||||
/// 根据主键获取会议信息
|
||||
|
@ -40,6 +36,10 @@ namespace BLL
|
|||
newMeeting.MeetingType = meeting.MeetingType;
|
||||
newMeeting.AttachUrl = meeting.AttachUrl;
|
||||
newMeeting.Remark = meeting.Remark;
|
||||
newMeeting.MeetingCode = meeting.MeetingCode;
|
||||
newMeeting.CompileMan = meeting.CompileMan;
|
||||
newMeeting.CompileDate = meeting.CompileDate;
|
||||
newMeeting.States = meeting.States;
|
||||
|
||||
Funs.DB.Driver_Meeting.InsertOnSubmit(newMeeting);
|
||||
Funs.DB.SubmitChanges();
|
||||
|
@ -65,6 +65,8 @@ namespace BLL
|
|||
//newMeeting.MeetingType = meeting.MeetingType;
|
||||
newMeeting.AttachUrl = meeting.AttachUrl;
|
||||
newMeeting.Remark = meeting.Remark;
|
||||
newMeeting.MeetingCode = meeting.MeetingCode;
|
||||
newMeeting.States = meeting.States;
|
||||
|
||||
Funs.DB.SubmitChanges();
|
||||
}
|
||||
|
@ -79,10 +81,9 @@ namespace BLL
|
|||
Model.Driver_Meeting meeting = Funs.DB.Driver_Meeting.FirstOrDefault(e => e.MeetingId == meetingId);
|
||||
if (meeting != null)
|
||||
{
|
||||
if (!string.IsNullOrEmpty(meeting.AttachUrl))
|
||||
{
|
||||
BLL.UploadAttachmentService.DeleteFile(Funs.RootPath, meeting.AttachUrl);//删除附件
|
||||
}
|
||||
CommonService.DeleteAttachFileById(meetingId + "#1");//删除会议纪要附件
|
||||
CommonService.DeleteAttachFileById(meetingId + "#2");//删除签到表附件
|
||||
CommonService.DeleteFlowOperateByID(meetingId);//删除流程表
|
||||
Funs.DB.Driver_Meeting.DeleteOnSubmit(meeting);
|
||||
Funs.DB.SubmitChanges();
|
||||
}
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1775,12 +1775,16 @@
|
|||
<Content Include="TestRun\DriverSummary\MonthSummaryEdit.aspx" />
|
||||
<Content Include="TestRun\FeedingTestRun.aspx" />
|
||||
<Content Include="TestRun\FeedingTestRunEdit.aspx" />
|
||||
<Content Include="TestRun\Meeting\Feedback.aspx" />
|
||||
<Content Include="TestRun\Meeting\ScheduleMeeting.aspx" />
|
||||
<Content Include="TestRun\Meeting\ScheduleMeetingEdit.aspx" />
|
||||
<Content Include="TestRun\Meeting\ScheduleMeetingView.aspx" />
|
||||
<Content Include="TestRun\Meeting\SpecialMeeting.aspx" />
|
||||
<Content Include="TestRun\Meeting\SpecialMeetingEdit.aspx" />
|
||||
<Content Include="TestRun\Meeting\SpecialMeetingView.aspx" />
|
||||
<Content Include="TestRun\Meeting\WeekMeeting.aspx" />
|
||||
<Content Include="TestRun\Meeting\WeekMeetingEdit.aspx" />
|
||||
<Content Include="TestRun\Meeting\WeekMeetingView.aspx" />
|
||||
<Content Include="TestRun\PersonTrain\PersonTrainPlan.aspx" />
|
||||
<Content Include="TestRun\PersonTrain\PersonTrainPlanEdit.aspx" />
|
||||
<Content Include="TestRun\PersonTrain\TrainContact.aspx" />
|
||||
|
@ -15976,6 +15980,13 @@
|
|||
<Compile Include="TestRun\FeedingTestRunEdit.aspx.designer.cs">
|
||||
<DependentUpon>FeedingTestRunEdit.aspx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="TestRun\Meeting\Feedback.aspx.cs">
|
||||
<DependentUpon>Feedback.aspx</DependentUpon>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
</Compile>
|
||||
<Compile Include="TestRun\Meeting\Feedback.aspx.designer.cs">
|
||||
<DependentUpon>Feedback.aspx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="TestRun\Meeting\ScheduleMeeting.aspx.cs">
|
||||
<DependentUpon>ScheduleMeeting.aspx</DependentUpon>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
|
@ -15990,6 +16001,13 @@
|
|||
<Compile Include="TestRun\Meeting\ScheduleMeetingEdit.aspx.designer.cs">
|
||||
<DependentUpon>ScheduleMeetingEdit.aspx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="TestRun\Meeting\ScheduleMeetingView.aspx.cs">
|
||||
<DependentUpon>ScheduleMeetingView.aspx</DependentUpon>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
</Compile>
|
||||
<Compile Include="TestRun\Meeting\ScheduleMeetingView.aspx.designer.cs">
|
||||
<DependentUpon>ScheduleMeetingView.aspx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="TestRun\Meeting\SpecialMeeting.aspx.cs">
|
||||
<DependentUpon>SpecialMeeting.aspx</DependentUpon>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
|
@ -16004,6 +16022,13 @@
|
|||
<Compile Include="TestRun\Meeting\SpecialMeetingEdit.aspx.designer.cs">
|
||||
<DependentUpon>SpecialMeetingEdit.aspx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="TestRun\Meeting\SpecialMeetingView.aspx.cs">
|
||||
<DependentUpon>SpecialMeetingView.aspx</DependentUpon>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
</Compile>
|
||||
<Compile Include="TestRun\Meeting\SpecialMeetingView.aspx.designer.cs">
|
||||
<DependentUpon>SpecialMeetingView.aspx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="TestRun\Meeting\WeekMeeting.aspx.cs">
|
||||
<DependentUpon>WeekMeeting.aspx</DependentUpon>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
|
@ -16018,6 +16043,13 @@
|
|||
<Compile Include="TestRun\Meeting\WeekMeetingEdit.aspx.designer.cs">
|
||||
<DependentUpon>WeekMeetingEdit.aspx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="TestRun\Meeting\WeekMeetingView.aspx.cs">
|
||||
<DependentUpon>WeekMeetingView.aspx</DependentUpon>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
</Compile>
|
||||
<Compile Include="TestRun\Meeting\WeekMeetingView.aspx.designer.cs">
|
||||
<DependentUpon>WeekMeetingView.aspx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="TestRun\PersonTrain\PersonTrainPlan.aspx.cs">
|
||||
<DependentUpon>PersonTrainPlan.aspx</DependentUpon>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
|
|
|
@ -0,0 +1,79 @@
|
|||
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Feedback.aspx.cs" Inherits="FineUIPro.Web.TestRun.Meeting.Feedback" %>
|
||||
|
||||
<!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="SimpleForm1" runat="server" />
|
||||
<f:Form ID="SimpleForm1" ShowBorder="false" ShowHeader="false" AutoScroll="true"
|
||||
BodyPadding="10px" runat="server" RedStarPosition="BeforeText" LabelAlign="Right">
|
||||
<Toolbars>
|
||||
<f:Toolbar ID="Toolbar1" Position="Bottom" ToolbarAlign="Right" runat="server">
|
||||
<Items>
|
||||
<f:ToolbarFill ID="ToolbarFill1" runat="server">
|
||||
</f:ToolbarFill>
|
||||
<f:Button ID="btnSave" OnClick="btnSave_Click" Icon="SystemSave" runat="server" ToolTip="保存" ValidateForms="SimpleForm1">
|
||||
</f:Button>
|
||||
<f:HiddenField ID="hdId" runat="server"></f:HiddenField>
|
||||
</Items>
|
||||
</f:Toolbar>
|
||||
</Toolbars>
|
||||
<Rows>
|
||||
<f:FormRow>
|
||||
<Items>
|
||||
<f:ContentPanel ID="ContentPanel2" ShowBorder="true"
|
||||
BodyPadding="10px" EnableCollapse="true" ShowHeader="false" AutoScroll="true"
|
||||
runat="server">
|
||||
<f:Form ID="Form2" ShowBorder="false" ShowHeader="false" AutoScroll="true"
|
||||
BodyPadding="10px" runat="server" RedStarPosition="BeforeText" LabelAlign="Right">
|
||||
<Rows>
|
||||
<f:FormRow>
|
||||
<Items>
|
||||
<f:TextBox ID="txtMeetingCode" runat="server" Label="编号" LabelAlign="Right" LabelWidth="100px">
|
||||
</f:TextBox>
|
||||
<f:DatePicker ID="txtMeetingDate" runat="server" Label="会议日期" LabelAlign="Right" LabelWidth="100px"></f:DatePicker>
|
||||
</Items>
|
||||
</f:FormRow>
|
||||
<f:FormRow>
|
||||
<Items>
|
||||
<f:TextBox ID="txtMeetingAddress" runat="server" Label="地点" LabelAlign="Right" LabelWidth="100px">
|
||||
</f:TextBox>
|
||||
<f:TextBox ID="txtMeetingUrl" runat="server" Label="会议链接" LabelAlign="Right" LabelWidth="100px">
|
||||
</f:TextBox>
|
||||
</Items>
|
||||
</f:FormRow>
|
||||
<f:FormRow>
|
||||
<Items>
|
||||
<f:DropDownList ID="drpCompileMan" runat="server" Label="发起人" LabelAlign="Right" LabelWidth="100px"></f:DropDownList>
|
||||
<f:DatePicker ID="txtCompileDate" runat="server" Label="发起日期" LabelAlign="Right" LabelWidth="100px"></f:DatePicker>
|
||||
</Items>
|
||||
</f:FormRow>
|
||||
<f:FormRow>
|
||||
<Items>
|
||||
<f:RadioButtonList ID="rblIsMeeting" runat="server" Label="是否参会" LabelAlign="Right" LabelWidth="100px" Required="true" ShowRedStar="true" AutoPostBack="true" OnSelectedIndexChanged="rblIsMeeting_SelectedIndexChanged">
|
||||
<f:RadioItem Value="1" Text="是" Selected="true" />
|
||||
<f:RadioItem Value="0" Text="否" />
|
||||
</f:RadioButtonList>
|
||||
<f:Label ID="Label1" runat="server"></f:Label>
|
||||
</Items>
|
||||
</f:FormRow>
|
||||
<f:FormRow>
|
||||
<Items>
|
||||
<f:TextArea ID="txtFeedbak" runat="server" Label="反馈意见" LabelAlign="Right"></f:TextArea>
|
||||
</Items>
|
||||
</f:FormRow>
|
||||
</Rows>
|
||||
</f:Form>
|
||||
</f:ContentPanel>
|
||||
</Items>
|
||||
</f:FormRow>
|
||||
</Rows>
|
||||
</f:Form>
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,77 @@
|
|||
using System;
|
||||
|
||||
namespace FineUIPro.Web.TestRun.Meeting
|
||||
{
|
||||
public partial class Feedback : PageBase
|
||||
{
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (!IsPostBack)
|
||||
{
|
||||
this.txtFeedbak.Hidden = true;
|
||||
BLL.UserService.InitUserDropDownList(this.drpCompileMan, this.CurrUser.LoginProjectId, true);
|
||||
string id = Request.Params["id"];
|
||||
if (!string.IsNullOrEmpty(id))
|
||||
{
|
||||
Model.Driver_Meeting data = BLL.MeetingService.GetMeetingById(id);
|
||||
if (data != null)
|
||||
{
|
||||
this.hdId.Text = id;
|
||||
this.txtMeetingCode.Text = data.MeetingCode;
|
||||
this.txtMeetingDate.Text = data.MeetingDate.HasValue ? string.Format("{0:yyyy-MM-dd}", data.MeetingDate) : "";
|
||||
this.txtMeetingAddress.Text = data.MeetingAddress;
|
||||
this.txtMeetingUrl.Text = data.AttachUrl;
|
||||
if (!string.IsNullOrEmpty(data.CompileMan))
|
||||
{
|
||||
this.drpCompileMan.SelectedValue = data.CompileMan;
|
||||
}
|
||||
this.txtCompileDate.Text = data.CompileDate.HasValue ? string.Format("{0:yyyy-MM-dd}", data.CompileDate) : "";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 是否参会选择事件
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void rblIsMeeting_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
if (rblIsMeeting.SelectedValue == "0")
|
||||
{
|
||||
this.txtFeedbak.Hidden = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
this.txtFeedbak.Hidden = true;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 保存按钮
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void btnSave_Click(object sender, EventArgs e)
|
||||
{
|
||||
string id = Request.Params["id"];
|
||||
var meetingItem = BLL.MeetingItemService.GetMeetingItemByMeetingIdAndUserId(id, this.CurrUser.UserId);
|
||||
if (meetingItem != null)
|
||||
{
|
||||
if (rblIsMeeting.SelectedValue == "1")
|
||||
{
|
||||
meetingItem.IsMeeting = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
meetingItem.IsMeeting = false;
|
||||
}
|
||||
meetingItem.Feedback = this.txtFeedbak.Text.Trim();
|
||||
BLL.MeetingItemService.UpdateMeetingItem(meetingItem);
|
||||
ShowNotify("反馈成功!", MessageBoxIcon.Success);
|
||||
PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,177 @@
|
|||
//------------------------------------------------------------------------------
|
||||
// <自动生成>
|
||||
// 此代码由工具生成。
|
||||
//
|
||||
// 对此文件的更改可能导致不正确的行为,如果
|
||||
// 重新生成代码,则所做更改将丢失。
|
||||
// </自动生成>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace FineUIPro.Web.TestRun.Meeting {
|
||||
|
||||
|
||||
public partial class Feedback {
|
||||
|
||||
/// <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>
|
||||
/// Toolbar1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Toolbar Toolbar1;
|
||||
|
||||
/// <summary>
|
||||
/// ToolbarFill1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.ToolbarFill ToolbarFill1;
|
||||
|
||||
/// <summary>
|
||||
/// btnSave 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Button btnSave;
|
||||
|
||||
/// <summary>
|
||||
/// hdId 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.HiddenField hdId;
|
||||
|
||||
/// <summary>
|
||||
/// ContentPanel2 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.ContentPanel ContentPanel2;
|
||||
|
||||
/// <summary>
|
||||
/// Form2 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Form Form2;
|
||||
|
||||
/// <summary>
|
||||
/// txtMeetingCode 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.TextBox txtMeetingCode;
|
||||
|
||||
/// <summary>
|
||||
/// txtMeetingDate 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.DatePicker txtMeetingDate;
|
||||
|
||||
/// <summary>
|
||||
/// txtMeetingAddress 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.TextBox txtMeetingAddress;
|
||||
|
||||
/// <summary>
|
||||
/// txtMeetingUrl 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.TextBox txtMeetingUrl;
|
||||
|
||||
/// <summary>
|
||||
/// drpCompileMan 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.DropDownList drpCompileMan;
|
||||
|
||||
/// <summary>
|
||||
/// txtCompileDate 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.DatePicker txtCompileDate;
|
||||
|
||||
/// <summary>
|
||||
/// rblIsMeeting 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.RadioButtonList rblIsMeeting;
|
||||
|
||||
/// <summary>
|
||||
/// Label1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Label Label1;
|
||||
|
||||
/// <summary>
|
||||
/// txtFeedbak 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.TextArea txtFeedbak;
|
||||
}
|
||||
}
|
|
@ -4,7 +4,7 @@
|
|||
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head runat="server">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<title>生产调度会</title>
|
||||
</head>
|
||||
<body>
|
||||
|
@ -20,8 +20,7 @@
|
|||
<Toolbars>
|
||||
<f:Toolbar ID="ToolSearch" Position="Top" runat="server" ToolbarAlign="Left">
|
||||
<Items>
|
||||
<f:DropDownList ID="drpUnitWorkId" runat="server" Label="单位工程" LabelAlign="Right"></f:DropDownList>
|
||||
<f:TextBox ID="txtMeetingContent" runat="server" Label="会议内容" LabelAlign="Right"></f:TextBox>
|
||||
<f:TextBox ID="txtCode" runat="server" Label="编号" LabelAlign="Right"></f:TextBox>
|
||||
<f:Button ID="btnSearch" Icon="SystemSearch" ToolTip="搜索"
|
||||
EnablePostBack="true" runat="server" OnClick="btnSearch_Click">
|
||||
</f:Button>
|
||||
|
@ -32,37 +31,38 @@
|
|||
</f:Toolbar>
|
||||
</Toolbars>
|
||||
<Columns>
|
||||
<f:TemplateField ColumnID="tfPageIndex" Width="55px" HeaderText="序号" HeaderTextAlign="Center" TextAlign="Center"
|
||||
<f:TemplateField ColumnID="tfPageIndex" Width="55px" HeaderText="序号" HeaderTextAlign="Center" TextAlign="Center"
|
||||
EnableLock="true" Locked="False">
|
||||
<ItemTemplate>
|
||||
<asp:Label ID="lblPageIndex" runat="server" Text='<%# Grid1.PageIndex * Grid1.PageSize + Container.DataItemIndex + 1 %>'></asp:Label>
|
||||
</ItemTemplate>
|
||||
</f:TemplateField>
|
||||
<f:RenderField ColumnID="UnitWorkName" DataField="UnitWorkName"
|
||||
FieldType="String" HeaderText="单位工程" HeaderTextAlign="Center" Width="120px">
|
||||
</f:RenderField>
|
||||
<f:RenderField ColumnID="MeetingTake" DataField="MeetingTake"
|
||||
FieldType="String" HeaderText="会议主持" HeaderTextAlign="Center" Width="150px">
|
||||
</f:RenderField>
|
||||
<f:RenderField ColumnID="MeetingUnit" DataField="MeetingUnit"
|
||||
FieldType="String" HeaderText="参会单位" HeaderTextAlign="Center" Width="220px">
|
||||
<f:RenderField ColumnID="MeetingCode" DataField="MeetingCode"
|
||||
FieldType="String" HeaderText="编号" HeaderTextAlign="Center" Width="180px">
|
||||
</f:RenderField>
|
||||
<f:RenderField ColumnID="MeetingDate" DataField="MeetingDate"
|
||||
FieldType="Date" Renderer="Date" HeaderText="会议日期" HeaderTextAlign="Center" Width="110px">
|
||||
</f:RenderField>
|
||||
<f:RenderField ColumnID="Number" DataField="Number"
|
||||
FieldType="String" HeaderText="期数" HeaderTextAlign="Center" Width="150px">
|
||||
FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd" HeaderText="会议日期" HeaderTextAlign="Center" Width="100px">
|
||||
</f:RenderField>
|
||||
<f:RenderField ColumnID="MeetingAddress" DataField="MeetingAddress"
|
||||
FieldType="String" HeaderText="地点" HeaderTextAlign="Center" Width="180px">
|
||||
FieldType="String" HeaderText="会议地点" HeaderTextAlign="Center" Width="180px">
|
||||
</f:RenderField>
|
||||
<f:RenderField ColumnID="MeetingContent" DataField="MeetingContent"
|
||||
FieldType="String" HeaderText="会议内容" HeaderTextAlign="Center" Width="200px">
|
||||
<f:RenderField ColumnID="CompileManName" DataField="CompileManName"
|
||||
FieldType="String" HeaderText="发起人" HeaderTextAlign="Center" Width="90px">
|
||||
</f:RenderField>
|
||||
<f:RenderField ColumnID="Remark" DataField="Remark"
|
||||
FieldType="String" HeaderText="备注" HeaderTextAlign="Center" Width="120px">
|
||||
<f:RenderField ColumnID="CompileDate" DataField="CompileDate"
|
||||
FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd" HeaderText="发起时间" HeaderTextAlign="Center" Width="100px">
|
||||
</f:RenderField>
|
||||
<f:LinkButtonField HeaderText="附件" ConfirmTarget="Top" Width="80px" CommandName="AttachUrl" ColumnID="AttachUrl"
|
||||
<f:TemplateField HeaderText="参会人" Width="300px" HeaderTextAlign="Center" ExpandUnusedSpace="true">
|
||||
<ItemTemplate>
|
||||
<asp:Label ID="tbxGroupName" runat="server" Text='<%# ConvertUserName(Eval("MeetingId")) %>'></asp:Label>
|
||||
</ItemTemplate>
|
||||
</f:TemplateField>
|
||||
<f:RenderField ColumnID="FlowOperateName" DataField="FlowOperateName"
|
||||
FieldType="String" HeaderText="状态" HeaderTextAlign="Center" Width="110px">
|
||||
</f:RenderField>
|
||||
<f:LinkButtonField HeaderText="会议纪要" ConfirmTarget="Top" Width="80px" CommandName="AttachUrl" ColumnID="AttachUrl"
|
||||
TextAlign="Center" ToolTip="附件查看" Icon="Find" />
|
||||
<f:LinkButtonField HeaderText="签到表" ConfirmTarget="Top" Width="80px" CommandName="SignUrl" ColumnID="SignUrl"
|
||||
TextAlign="Center" ToolTip="附件查看" Icon="Find" />
|
||||
</Columns>
|
||||
<Listeners>
|
||||
|
@ -88,6 +88,10 @@
|
|||
Target="Parent" EnableResize="false" runat="server" IsModal="true" OnClose="Window1_Close"
|
||||
Width="900px" Height="630px">
|
||||
</f:Window>
|
||||
<f:Window ID="Window2" Title="通知反馈" Hidden="true" EnableIFrame="true" EnableMaximize="true"
|
||||
Target="Parent" EnableResize="false" runat="server" IsModal="true" OnClose="Window1_Close"
|
||||
Width="900px" Height="430px">
|
||||
</f:Window>
|
||||
<f:Window ID="WindowAtt" Title="弹出窗体" Hidden="true" EnableIFrame="true" EnableMaximize="true"
|
||||
Target="Parent" EnableResize="false" runat="server" IsModal="true" Width="700px"
|
||||
Height="500px">
|
||||
|
@ -99,6 +103,8 @@
|
|||
<f:MenuButton ID="btnMenuDel" EnablePostBack="true" runat="server" Icon="Delete" Text="删除" ConfirmText="确定删除当前数据?"
|
||||
OnClick="btnMenuDel_Click">
|
||||
</f:MenuButton>
|
||||
<f:MenuButton ID="btnMenuFeek" EnablePostBack="true" runat="server" Text="反馈" Icon="BookAddressesKey" OnClick="btnMenuFeek_Click">
|
||||
</f:MenuButton>
|
||||
</Items>
|
||||
</f:Menu>
|
||||
</form>
|
||||
|
|
|
@ -7,7 +7,7 @@ using System.Linq;
|
|||
|
||||
namespace FineUIPro.Web.TestRun.Meeting
|
||||
{
|
||||
public partial class ScheduleMeeting :PageBase
|
||||
public partial class ScheduleMeeting : PageBase
|
||||
{
|
||||
#region 加载
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
|
@ -17,7 +17,6 @@ namespace FineUIPro.Web.TestRun.Meeting
|
|||
GetButtonPower();
|
||||
BindGrid();
|
||||
btnNew.OnClientClick = Window1.GetShowReference("ScheduleMeetingEdit.aspx") + "return false;";
|
||||
BLL.UnitWorkService.InitUnitWorkDropDownList(this.drpUnitWorkId, this.CurrUser.LoginProjectId, true);
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
@ -37,25 +36,26 @@ namespace FineUIPro.Web.TestRun.Meeting
|
|||
meeting.Number,
|
||||
meeting.MeetingType,
|
||||
meeting.Remark,
|
||||
unitWork.UnitWorkName"
|
||||
meeting.MeetingCode,
|
||||
meeting.CompileMan,
|
||||
u.UserName as CompileManName,
|
||||
meeting.CompileDate,"
|
||||
+ @" (CASE WHEN meeting.States = " + BLL.Const.State_0 + " OR meeting.States IS NULL THEN '待['+OperateUser.UserName+']提交' WHEN meeting.States = " + BLL.Const.State_2 + " THEN '审核/审批完成' ELSE '待['+OperateUser.UserName+']办理' END) AS FlowOperateName"
|
||||
+ @" FROM Driver_Meeting AS meeting "
|
||||
+ @" LEFT JOIN WBS_UnitWork AS unitWork ON unitWork.UnitWorkId = meeting.UnitWorkId WHERE meeting.ProjectId=@projectId AND meeting.MeetingType='1'";
|
||||
+ @" LEFT JOIN Sys_FlowOperate AS FlowOperate ON meeting.MeetingId=FlowOperate.DataId AND FlowOperate.IsClosed <> 1"
|
||||
+ @" LEFT JOIN Sys_User AS OperateUser ON FlowOperate.OperaterId=OperateUser.UserId"
|
||||
+ @" LEFT JOIN Sys_User as u on u.UserId = meeting.CompileMan"
|
||||
+ @" WHERE meeting.ProjectId=@projectId AND meeting.MeetingType='1'";
|
||||
List<SqlParameter> listStr = new List<SqlParameter>();
|
||||
listStr.Add(new SqlParameter("@projectId", this.CurrUser.LoginProjectId));
|
||||
if (!string.IsNullOrEmpty(this.drpUnitWorkId.SelectedValue) && this.drpUnitWorkId.SelectedValue != BLL.Const._Null)
|
||||
if (!string.IsNullOrEmpty(this.txtCode.Text.Trim()))
|
||||
{
|
||||
strSql += " AND meeting.UnitWorkId=@unitWorkId";
|
||||
listStr.Add(new SqlParameter("@unitWorkId", this.drpUnitWorkId.SelectedValue));
|
||||
}
|
||||
if (!string.IsNullOrEmpty(this.txtMeetingContent.Text.Trim()))
|
||||
{
|
||||
strSql += " AND meeting.MeetingContent LIKE @MeetingContent";
|
||||
listStr.Add(new SqlParameter("@MeetingContent", "%" + this.txtMeetingContent.Text.Trim() + "%"));
|
||||
strSql += " AND meeting.MeetingCode LIKE @meetingCode";
|
||||
listStr.Add(new SqlParameter("@meetingCode", "%" + this.txtCode.Text.Trim() + "%"));
|
||||
}
|
||||
SqlParameter[] parameter = listStr.ToArray();
|
||||
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
|
||||
Grid1.RecordCount = tb.Rows.Count;
|
||||
//tb = GetFilteredTable(Grid1.FilteredData, tb);
|
||||
var table = this.GetPagedDataTable(Grid1, tb);
|
||||
Grid1.DataSource = table;
|
||||
Grid1.DataBind();
|
||||
|
@ -143,7 +143,22 @@ namespace FineUIPro.Web.TestRun.Meeting
|
|||
Alert.ShowInTop("请至少选择一条记录", MessageBoxIcon.Warning);
|
||||
return;
|
||||
}
|
||||
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("ScheduleMeetingEdit.aspx?id={0}", Grid1.SelectedRowID, "编辑 - ")));
|
||||
var user = (from x in Funs.DB.Sys_FlowOperate where x.DataId == Grid1.SelectedRowID && x.MenuId == BLL.Const.ScheduleMeetingMenuId && x.IsClosed == false orderby x.SortIndex descending select x).FirstOrDefault();
|
||||
if (user != null)
|
||||
{
|
||||
if (user.OperaterId == this.CurrUser.UserId)
|
||||
{
|
||||
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("ScheduleMeetingEdit.aspx?id={0}", Grid1.SelectedRowID, "编辑 - ")));
|
||||
}
|
||||
else
|
||||
{
|
||||
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("ScheduleMeetingView.aspx?id={0}", Grid1.SelectedRowID, "编辑 - ")));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("ScheduleMeetingView.aspx?id={0}", Grid1.SelectedRowID, "编辑 - ")));
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
|
@ -158,6 +173,7 @@ namespace FineUIPro.Web.TestRun.Meeting
|
|||
var info = BLL.MeetingService.GetMeetingById(rowID);
|
||||
if (info != null)
|
||||
{
|
||||
BLL.MeetingItemService.DeleteMeetingItemByMeetingId(rowID);
|
||||
BLL.MeetingService.DeleteMeeting(rowID);
|
||||
}
|
||||
}
|
||||
|
@ -178,7 +194,11 @@ namespace FineUIPro.Web.TestRun.Meeting
|
|||
string id = Grid1.DataKeys[e.RowIndex][0].ToString();
|
||||
if (e.CommandName == "AttachUrl")
|
||||
{
|
||||
PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("../../AttachFile/webuploader.aspx?type=-1&toKeyId={0}&path=FileUpload/TestRun/Meeting/ScheduleMeeting&menuId={1}", id, BLL.Const.ScheduleMeetingMenuId)));
|
||||
PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("../../AttachFile/webuploader.aspx?type=-1&toKeyId={0}&path=FileUpload/TestRun/Meeting/ScheduleMeeting&menuId={1}&strParam=1", id, BLL.Const.ScheduleMeetingMenuId)));
|
||||
}
|
||||
if (e.CommandName == "SignUrl")
|
||||
{
|
||||
PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("../../AttachFile/webuploader.aspx?type=-1&toKeyId={0}&path=FileUpload/TestRun/Meeting/ScheduleMeeting&menuId={1}&strParam=2", id, BLL.Const.ScheduleMeetingMenuId)));
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
@ -208,5 +228,67 @@ namespace FineUIPro.Web.TestRun.Meeting
|
|||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
protected string ConvertUserName(object meetingId)
|
||||
{
|
||||
string userName = string.Empty;
|
||||
var meetingItem = BLL.MeetingItemService.GetMeetingItemByMeetingId(meetingId.ToString());
|
||||
if (meetingItem.Count>0)
|
||||
{
|
||||
foreach (var item in meetingItem)
|
||||
{
|
||||
userName += BLL.UserService.GetUserNameByUserId(item.UserId) + ",";
|
||||
}
|
||||
if (!string.IsNullOrEmpty(userName))
|
||||
{
|
||||
userName = userName.Substring(0, userName.LastIndexOf(','));
|
||||
}
|
||||
}
|
||||
return userName;
|
||||
}
|
||||
|
||||
#region 通知反馈
|
||||
/// <summary>
|
||||
/// 反馈
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void btnMenuFeek_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (Grid1.SelectedRowIndexArray.Length == 0)
|
||||
{
|
||||
Alert.ShowInTop("请至少选择一条记录", MessageBoxIcon.Warning);
|
||||
return;
|
||||
}
|
||||
var meeting = BLL.MeetingService.GetMeetingById(Grid1.SelectedRowID);
|
||||
if (meeting.States == "2")
|
||||
{
|
||||
var items = BLL.MeetingItemService.GetMeetingItemByMeetingId(Grid1.SelectedRowID);
|
||||
if (items.Count > 0)
|
||||
{
|
||||
var user = items.Where(x => x.UserId == this.CurrUser.UserId);
|
||||
if (user.Count() > 0)
|
||||
{
|
||||
PageContext.RegisterStartupScript(Window2.GetShowReference(String.Format("Feedback.aspx?id={0}", Grid1.SelectedRowID, "编辑 - ")));
|
||||
}
|
||||
else
|
||||
{
|
||||
Alert.ShowInTop("未参与此会议,无需反馈!", MessageBoxIcon.Warning);
|
||||
return;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
Alert.ShowInTop("未参与此会议,无需反馈!", MessageBoxIcon.Warning);
|
||||
return;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
Alert.ShowInTop("审核未完成,无需反馈!", MessageBoxIcon.Warning);
|
||||
return;
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
}
|
|
@ -58,22 +58,13 @@ namespace FineUIPro.Web.TestRun.Meeting {
|
|||
protected global::FineUIPro.Toolbar ToolSearch;
|
||||
|
||||
/// <summary>
|
||||
/// drpUnitWorkId 控件。
|
||||
/// txtCode 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.DropDownList drpUnitWorkId;
|
||||
|
||||
/// <summary>
|
||||
/// txtMeetingContent 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.TextBox txtMeetingContent;
|
||||
protected global::FineUIPro.TextBox txtCode;
|
||||
|
||||
/// <summary>
|
||||
/// btnSearch 控件。
|
||||
|
@ -102,6 +93,15 @@ namespace FineUIPro.Web.TestRun.Meeting {
|
|||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label lblPageIndex;
|
||||
|
||||
/// <summary>
|
||||
/// tbxGroupName 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label tbxGroupName;
|
||||
|
||||
/// <summary>
|
||||
/// ToolbarSeparator1 控件。
|
||||
/// </summary>
|
||||
|
@ -138,6 +138,15 @@ namespace FineUIPro.Web.TestRun.Meeting {
|
|||
/// </remarks>
|
||||
protected global::FineUIPro.Window Window1;
|
||||
|
||||
/// <summary>
|
||||
/// Window2 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Window Window2;
|
||||
|
||||
/// <summary>
|
||||
/// WindowAtt 控件。
|
||||
/// </summary>
|
||||
|
@ -173,5 +182,14 @@ namespace FineUIPro.Web.TestRun.Meeting {
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.MenuButton btnMenuDel;
|
||||
|
||||
/// <summary>
|
||||
/// btnMenuFeek 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.MenuButton btnMenuFeek;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,4 +1,6 @@
|
|||
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ScheduleMeetingEdit.aspx.cs" Inherits="FineUIPro.Web.TestRun.Meeting.ScheduleMeetingEdit" %>
|
||||
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ScheduleMeetingEdit.aspx.cs" Inherits="FineUIPro.Web.TestRun.Meeting.ScheduleMeetingEdit" ValidateRequest="false" %>
|
||||
|
||||
<%@ Register Src="~/Controls/FlowOperateControl.ascx" TagName="FlowOperateControl" TagPrefix="uc1" %>
|
||||
|
||||
<!DOCTYPE html>
|
||||
|
||||
|
@ -19,6 +21,8 @@
|
|||
</f:ToolbarFill>
|
||||
<f:Button ID="btnSave" OnClick="btnSave_Click" Icon="SystemSave" runat="server" ToolTip="保存" ValidateForms="SimpleForm1">
|
||||
</f:Button>
|
||||
<f:Button ID="btnSubmit" OnClick="btnSubmit_Click" Icon="SystemSaveNew" runat="server" ToolTip="提交" ValidateForms="SimpleForm1">
|
||||
</f:Button>
|
||||
<f:HiddenField ID="hdAttachUrl" runat="server">
|
||||
</f:HiddenField>
|
||||
<f:HiddenField ID="hdId" runat="server"></f:HiddenField>
|
||||
|
@ -36,61 +40,59 @@
|
|||
<Rows>
|
||||
<f:FormRow>
|
||||
<Items>
|
||||
<f:DropDownList ID="drpUnitWorkId" runat="server" Label="单位工程" LabelAlign="Right" LabelWidth="150px"></f:DropDownList>
|
||||
<f:TextBox ID="txtMeetingCode" runat="server" Label="编号" LabelAlign="Right" LabelWidth="100px" MaxLength="50" Required="true" ShowRedStar="true">
|
||||
</f:TextBox>
|
||||
<f:DatePicker ID="txtMeetingDate" runat="server" Label="会议日期" LabelAlign="Right" LabelWidth="100px" Required="true" ShowRedStar="true"></f:DatePicker>
|
||||
</Items>
|
||||
</f:FormRow>
|
||||
<f:FormRow>
|
||||
<Items>
|
||||
<f:TextBox ID="txtMeetingTake" runat="server" Label="会议主持" LabelAlign="Right" LabelWidth="150px" MaxLength="50" Required="true" ShowRedStar="true">
|
||||
<f:TextBox ID="txtMeetingAddress" runat="server" Label="地点" LabelAlign="Right" LabelWidth="100px" MaxLength="100" Required="true" ShowRedStar="true">
|
||||
</f:TextBox>
|
||||
<f:TextBox ID="txtMeetingUrl" runat="server" Label="会议链接" LabelAlign="Right" LabelWidth="100px" MaxLength="1000">
|
||||
</f:TextBox>
|
||||
</Items>
|
||||
</f:FormRow>
|
||||
<f:FormRow>
|
||||
<Items>
|
||||
<f:TextBox ID="txtMeetingUnit" runat="server" Label="参会单位" LabelAlign="Right" LabelWidth="150px" MaxLength="150">
|
||||
</f:TextBox>
|
||||
</Items>
|
||||
</f:FormRow>
|
||||
<f:FormRow>
|
||||
<Items>
|
||||
<f:DatePicker ID="txtMeetingDate" runat="server" Label="会议日期" LabelAlign="Right" LabelWidth="150px"></f:DatePicker>
|
||||
</Items>
|
||||
</f:FormRow>
|
||||
<f:FormRow>
|
||||
<Items>
|
||||
<f:TextBox ID="txtNumber" runat="server" Label="期数" LabelAlign="Right" LabelWidth="150px" MaxLength="50">
|
||||
</f:TextBox>
|
||||
</Items>
|
||||
</f:FormRow>
|
||||
<f:FormRow>
|
||||
<Items>
|
||||
<f:TextBox ID="txtMeetingAddress" runat="server" Label="地点" LabelAlign="Right" LabelWidth="150px" MaxLength="100">
|
||||
</f:TextBox>
|
||||
</Items>
|
||||
</f:FormRow>
|
||||
<f:FormRow>
|
||||
<Items>
|
||||
<f:TextArea ID="txtMeetingContent" runat="server" Label="会议内容" LabelAlign="Right" LabelWidth="150px" MaxLength="500">
|
||||
</f:TextArea>
|
||||
</Items>
|
||||
</f:FormRow>
|
||||
<f:FormRow>
|
||||
<Items>
|
||||
<f:TextArea ID="txtRemark" runat="server" Label="备注" LabelAlign="Right" LabelWidth="150px" MaxLength="500">
|
||||
</f:TextArea>
|
||||
<f:DropDownList ID="drpCompileMan" runat="server" Label="发起人" LabelAlign="Right" LabelWidth="100px" EnableEdit="true" Required="true" ShowRedStar="true"></f:DropDownList>
|
||||
<f:DatePicker ID="txtCompileDate" runat="server" Label="发起日期" LabelAlign="Right" LabelWidth="100px" Required="true" ShowRedStar="true"></f:DatePicker>
|
||||
</Items>
|
||||
</f:FormRow>
|
||||
<f:FormRow runat="server">
|
||||
<Items>
|
||||
<f:Panel ID="Panel3" Width="300px" ShowHeader="false" ShowBorder="false" Layout="Column" CssClass="" runat="server">
|
||||
<Items>
|
||||
<f:Label ID="lblAttach" runat="server" Label="上传附件"
|
||||
LabelWidth="150px">
|
||||
<f:Label ID="lblAttach" runat="server" Label="会议纪要" LabelWidth="100px">
|
||||
</f:Label>
|
||||
<f:Button ID="btnAttach" Icon="TableCell" EnablePostBack="true" Text="附件" runat="server" OnClick="btnAttach_Click">
|
||||
</f:Button>
|
||||
</Items>
|
||||
</f:Panel>
|
||||
<f:Panel ID="Panel1" Width="300px" ShowHeader="false" ShowBorder="false" Layout="Column" CssClass="" runat="server">
|
||||
<Items>
|
||||
<f:Label ID="Label1" runat="server" Label="签到表" LabelWidth="100px">
|
||||
</f:Label>
|
||||
<f:Button ID="btnSign" Icon="TableCell" EnablePostBack="true" Text="附件" runat="server" OnClick="btnSign_Click">
|
||||
</f:Button>
|
||||
</Items>
|
||||
</f:Panel>
|
||||
</Items>
|
||||
</f:FormRow>
|
||||
<f:FormRow>
|
||||
<Items>
|
||||
<f:Tree ID="tvAttendMeetingsPerson" EnableCollapse="true" ShowHeader="true" Title="参会人员" EnableCheckBox="true"
|
||||
AutoLeafIdentification="true" runat="server" EnableIcons="true" AutoScroll="true"
|
||||
EnableSingleClickExpand="true" OnNodeCheck="tvAttendMeetingsPerson_NodeCheck">
|
||||
</f:Tree>
|
||||
</Items>
|
||||
</f:FormRow>
|
||||
<f:FormRow>
|
||||
<Items>
|
||||
<f:ContentPanel ID="ContentPanel1" runat="server" ShowHeader="false" EnableCollapse="true"
|
||||
BodyPadding="0px">
|
||||
<uc1:FlowOperateControl ID="ctlAuditFlow" runat="server" />
|
||||
</f:ContentPanel>
|
||||
</Items>
|
||||
</f:FormRow>
|
||||
</Rows>
|
||||
|
|
|
@ -15,8 +15,7 @@ namespace FineUIPro.Web.TestRun.Meeting
|
|||
{
|
||||
if (!IsPostBack)
|
||||
{
|
||||
BLL.UnitWorkService.InitUnitWorkDropDownList(this.drpUnitWorkId, this.CurrUser.LoginProjectId, true);
|
||||
|
||||
BLL.UserService.InitUserDropDownList(this.drpCompileMan, this.CurrUser.LoginProjectId, true);
|
||||
string id = Request.Params["id"];
|
||||
if (!string.IsNullOrEmpty(id))
|
||||
{
|
||||
|
@ -24,30 +23,39 @@ namespace FineUIPro.Web.TestRun.Meeting
|
|||
if (data != null)
|
||||
{
|
||||
this.hdId.Text = id;
|
||||
if (!string.IsNullOrEmpty(data.UnitWorkId))
|
||||
{
|
||||
this.drpUnitWorkId.SelectedValue = data.UnitWorkId;
|
||||
}
|
||||
this.txtMeetingTake.Text = data.MeetingTake;
|
||||
this.txtMeetingUnit.Text = data.MeetingUnit;
|
||||
this.txtMeetingCode.Text = data.MeetingCode;
|
||||
this.txtMeetingDate.Text = data.MeetingDate.HasValue ? string.Format("{0:yyyy-MM-dd}", data.MeetingDate) : "";
|
||||
this.txtMeetingAddress.Text = data.MeetingAddress;
|
||||
this.txtMeetingContent.Text = data.MeetingContent;
|
||||
this.txtNumber.Text = data.Number;
|
||||
this.txtRemark.Text = data.Remark;
|
||||
this.txtMeetingUrl.Text = data.AttachUrl;
|
||||
if (!string.IsNullOrEmpty(data.CompileMan))
|
||||
{
|
||||
this.drpCompileMan.SelectedValue = data.CompileMan;
|
||||
}
|
||||
this.txtCompileDate.Text = data.CompileDate.HasValue ? string.Format("{0:yyyy-MM-dd}", data.CompileDate) : "";
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
{
|
||||
this.txtMeetingDate.Text = string.Format("{0:yyyy-MM-dd}", DateTime.Now);
|
||||
this.drpCompileMan.SelectedValue = this.CurrUser.LoginProjectId;
|
||||
this.txtCompileDate.Text = string.Format("{0:yyyy-MM-dd}", DateTime.Now);
|
||||
string perfix = BLL.ProjectService.GetProjectCodeByProjectId(this.CurrUser.LoginProjectId) + "-MM-PSM-";
|
||||
this.txtMeetingCode.Text = BLL.SQLHelper.RunProcNewId("SpGetThreeNumber", "dbo.Driver_Meeting", "MeetingCode", this.CurrUser.LoginProjectId, perfix);
|
||||
}
|
||||
///初始化审核菜单
|
||||
this.ctlAuditFlow.MenuId = BLL.Const.ScheduleMeetingMenuId;
|
||||
this.ctlAuditFlow.DataId = id;
|
||||
this.ctlAuditFlow.ProjectId = this.CurrUser.LoginProjectId;
|
||||
this.ctlAuditFlow.UnitId = this.CurrUser.UnitId;
|
||||
|
||||
InitMenuTree();
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 附件上传
|
||||
/// <summary>
|
||||
/// 附件上传
|
||||
/// 会议纪要
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
|
@ -57,7 +65,21 @@ namespace FineUIPro.Web.TestRun.Meeting
|
|||
{
|
||||
this.hdId.Text = SQLHelper.GetNewID(typeof(Model.Driver_Meeting));
|
||||
}
|
||||
PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("../../AttachFile/webuploader.aspx?type=0&toKeyId={0}&path=FileUpload/TestRun/Meeting/ScheduleMeeting&menuId={1}", this.hdId.Text, BLL.Const.ScheduleMeetingMenuId)));
|
||||
PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("../../AttachFile/webuploader.aspx?type=0&toKeyId={0}&path=FileUpload/TestRun/Meeting/ScheduleMeeting&menuId={1}&strParam=1", this.hdId.Text, BLL.Const.ScheduleMeetingMenuId)));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 签到表
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void btnSign_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (string.IsNullOrEmpty(this.hdId.Text)) //新增记录
|
||||
{
|
||||
this.hdId.Text = SQLHelper.GetNewID(typeof(Model.Driver_Meeting));
|
||||
}
|
||||
PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("../../AttachFile/webuploader.aspx?type=0&toKeyId={0}&path=FileUpload/TestRun/Meeting/ScheduleMeeting&menuId={1}&strParam=2", this.hdId.Text, BLL.Const.ScheduleMeetingMenuId)));
|
||||
}
|
||||
#endregion
|
||||
|
||||
|
@ -68,21 +90,53 @@ namespace FineUIPro.Web.TestRun.Meeting
|
|||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void btnSave_Click(object sender, EventArgs e)
|
||||
{
|
||||
SaveData(BLL.Const.BtnSave);
|
||||
ShowNotify("保存成功!", MessageBoxIcon.Success);
|
||||
PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 提交按钮
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void btnSubmit_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (this.ctlAuditFlow.NextStep == BLL.Const.State_1 && this.ctlAuditFlow.NextPerson == BLL.Const._Null)
|
||||
{
|
||||
ShowNotify("请选择下一步办理人!", MessageBoxIcon.Warning);
|
||||
return;
|
||||
}
|
||||
SaveData(BLL.Const.BtnSubmit);
|
||||
ShowNotify("提交成功!", MessageBoxIcon.Success);
|
||||
PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 保存数据
|
||||
/// </summary>
|
||||
/// <param name="type"></param>
|
||||
private void SaveData(string type)
|
||||
{
|
||||
string id = Request.Params["id"];
|
||||
Model.Driver_Meeting newData = new Model.Driver_Meeting();
|
||||
if (this.drpUnitWorkId.SelectedValue != BLL.Const._Null)
|
||||
{
|
||||
newData.UnitWorkId = this.drpUnitWorkId.SelectedValue;
|
||||
}
|
||||
newData.MeetingTake = this.txtMeetingTake.Text.Trim();
|
||||
newData.MeetingUnit = this.txtMeetingUnit.Text.Trim();
|
||||
newData.MeetingCode = this.txtMeetingCode.Text.Trim();
|
||||
newData.MeetingDate = Funs.GetNewDateTime(this.txtMeetingDate.Text.Trim());
|
||||
newData.MeetingAddress = this.txtMeetingAddress.Text.Trim();
|
||||
newData.MeetingContent = this.txtMeetingContent.Text.Trim();
|
||||
newData.Number = this.txtNumber.Text.Trim();
|
||||
newData.Remark = this.txtRemark.Text.Trim();
|
||||
newData.AttachUrl = this.txtMeetingUrl.Text.Trim();
|
||||
if (this.drpCompileMan.SelectedValue != BLL.Const._Null)
|
||||
{
|
||||
newData.CompileMan = this.drpCompileMan.SelectedValue;
|
||||
}
|
||||
newData.CompileDate = Funs.GetNewDateTime(this.txtCompileDate.Text.Trim());
|
||||
newData.ProjectId = this.CurrUser.LoginProjectId;
|
||||
////单据状态
|
||||
newData.States = BLL.Const.State_0;
|
||||
if (type == BLL.Const.BtnSubmit)
|
||||
{
|
||||
newData.States = this.ctlAuditFlow.NextStep;
|
||||
}
|
||||
if (!string.IsNullOrEmpty(id))
|
||||
{
|
||||
newData.MeetingId = id;
|
||||
|
@ -102,8 +156,144 @@ namespace FineUIPro.Web.TestRun.Meeting
|
|||
}
|
||||
BLL.MeetingService.AddMeeting(newData);
|
||||
}
|
||||
ShowNotify("保存成功!", MessageBoxIcon.Success);
|
||||
PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
|
||||
|
||||
#region 保存参会人员
|
||||
BLL.MeetingItemService.DeleteMeetingItemByMeetingId(this.hdId.Text);
|
||||
TreeNode[] nodes = this.tvAttendMeetingsPerson.GetCheckedNodes();
|
||||
if (nodes.Length > 0)
|
||||
{
|
||||
foreach (TreeNode tn in nodes)
|
||||
{
|
||||
if (tn.NodeID != "0")
|
||||
{
|
||||
Model.Driver_MeetingItem newItem = new Model.Driver_MeetingItem
|
||||
{
|
||||
MeetingItemId = SQLHelper.GetNewID(typeof(Model.Driver_MeetingItem)),
|
||||
MeetingId = this.hdId.Text,
|
||||
UserId = tn.NodeID,
|
||||
};
|
||||
BLL.MeetingItemService.AddMeetingItem(newItem);
|
||||
}
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
////保存流程审核数据
|
||||
this.ctlAuditFlow.btnSaveData(this.CurrUser.LoginProjectId, BLL.Const.ScheduleMeetingMenuId, this.hdId.Text, (type == BLL.Const.BtnSubmit ? true : false), newData.MeetingCode, null);
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 初始化树
|
||||
/// <summary>
|
||||
/// 初始化树
|
||||
/// </summary>
|
||||
/// <param name="menuList">单位集合</param>
|
||||
private void InitMenuTree()
|
||||
{
|
||||
this.tvAttendMeetingsPerson.Nodes.Clear();
|
||||
var units = BLL.UnitService.GetUnitByProjectIdList(this.CurrUser.LoginProjectId);
|
||||
foreach (var item in units)
|
||||
{
|
||||
TreeNode rootNode = new TreeNode
|
||||
{
|
||||
Text = item.UnitName,
|
||||
NodeID = item.UnitId,
|
||||
EnableCheckBox = true,
|
||||
EnableCheckEvent = true,
|
||||
Expanded = true
|
||||
};
|
||||
this.tvAttendMeetingsPerson.Nodes.Add(rootNode);
|
||||
this.BoundTree(rootNode.Nodes, rootNode.NodeID);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 遍历增加子节点
|
||||
/// </summary>
|
||||
/// <param name="nodes"></param>
|
||||
/// <param name="menuId"></param>
|
||||
private void BoundTree(TreeNodeCollection nodes, string superMenuId)
|
||||
{
|
||||
var menus = BLL.UserService.GetUserByUnitId(this.CurrUser.LoginProjectId, superMenuId);
|
||||
foreach (var item in menus)
|
||||
{
|
||||
TreeNode chidNode = new TreeNode
|
||||
{
|
||||
Text = item.Text,
|
||||
NodeID = item.Value,
|
||||
EnableCheckBox = true,
|
||||
EnableCheckEvent = true
|
||||
};
|
||||
var items = BLL.MeetingItemService.GetMeetingItemByMeetingId(this.hdId.Text.Trim());
|
||||
if (items.Count > 0)
|
||||
{
|
||||
foreach (var i in items)
|
||||
{
|
||||
if (i.UserId == item.Value)
|
||||
{
|
||||
chidNode.Checked = true;
|
||||
chidNode.Expanded = true;
|
||||
chidNode.Selectable = true;
|
||||
var meeting = BLL.MeetingService.GetMeetingById(this.hdId.Text.Trim());
|
||||
if (meeting != null)
|
||||
{
|
||||
if (meeting.States == "2")
|
||||
{
|
||||
if (i.IsMeeting == true)
|
||||
{
|
||||
chidNode.Text = item.Text + "(可按时参加)";
|
||||
}
|
||||
else if (i.IsMeeting == false)
|
||||
{
|
||||
chidNode.Text = item.Text + "(因故不参加:" + i.Feedback + ")";
|
||||
}
|
||||
else
|
||||
{
|
||||
chidNode.Text = item.Text + "(暂未反馈)";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
nodes.Add(chidNode);
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 全选、全不选
|
||||
/// <summary>
|
||||
/// 全选、全不选
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void tvAttendMeetingsPerson_NodeCheck(object sender, FineUIPro.TreeCheckEventArgs e)
|
||||
{
|
||||
if (e.Checked)
|
||||
{
|
||||
this.tvAttendMeetingsPerson.CheckAllNodes(e.Node.Nodes);
|
||||
SetCheckParentNode(e.Node);
|
||||
}
|
||||
else
|
||||
{
|
||||
this.tvAttendMeetingsPerson.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
|
||||
}
|
||||
|
|
|
@ -66,6 +66,15 @@ namespace FineUIPro.Web.TestRun.Meeting {
|
|||
/// </remarks>
|
||||
protected global::FineUIPro.Button btnSave;
|
||||
|
||||
/// <summary>
|
||||
/// btnSubmit 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Button btnSubmit;
|
||||
|
||||
/// <summary>
|
||||
/// hdAttachUrl 控件。
|
||||
/// </summary>
|
||||
|
@ -103,31 +112,13 @@ namespace FineUIPro.Web.TestRun.Meeting {
|
|||
protected global::FineUIPro.Form Form2;
|
||||
|
||||
/// <summary>
|
||||
/// drpUnitWorkId 控件。
|
||||
/// txtMeetingCode 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.DropDownList drpUnitWorkId;
|
||||
|
||||
/// <summary>
|
||||
/// txtMeetingTake 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.TextBox txtMeetingTake;
|
||||
|
||||
/// <summary>
|
||||
/// txtMeetingUnit 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.TextBox txtMeetingUnit;
|
||||
protected global::FineUIPro.TextBox txtMeetingCode;
|
||||
|
||||
/// <summary>
|
||||
/// txtMeetingDate 控件。
|
||||
|
@ -138,15 +129,6 @@ namespace FineUIPro.Web.TestRun.Meeting {
|
|||
/// </remarks>
|
||||
protected global::FineUIPro.DatePicker txtMeetingDate;
|
||||
|
||||
/// <summary>
|
||||
/// txtNumber 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.TextBox txtNumber;
|
||||
|
||||
/// <summary>
|
||||
/// txtMeetingAddress 控件。
|
||||
/// </summary>
|
||||
|
@ -157,22 +139,31 @@ namespace FineUIPro.Web.TestRun.Meeting {
|
|||
protected global::FineUIPro.TextBox txtMeetingAddress;
|
||||
|
||||
/// <summary>
|
||||
/// txtMeetingContent 控件。
|
||||
/// txtMeetingUrl 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.TextArea txtMeetingContent;
|
||||
protected global::FineUIPro.TextBox txtMeetingUrl;
|
||||
|
||||
/// <summary>
|
||||
/// txtRemark 控件。
|
||||
/// drpCompileMan 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.TextArea txtRemark;
|
||||
protected global::FineUIPro.DropDownList drpCompileMan;
|
||||
|
||||
/// <summary>
|
||||
/// txtCompileDate 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.DatePicker txtCompileDate;
|
||||
|
||||
/// <summary>
|
||||
/// Panel3 控件。
|
||||
|
@ -201,6 +192,60 @@ namespace FineUIPro.Web.TestRun.Meeting {
|
|||
/// </remarks>
|
||||
protected global::FineUIPro.Button btnAttach;
|
||||
|
||||
/// <summary>
|
||||
/// Panel1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Panel Panel1;
|
||||
|
||||
/// <summary>
|
||||
/// Label1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Label Label1;
|
||||
|
||||
/// <summary>
|
||||
/// btnSign 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Button btnSign;
|
||||
|
||||
/// <summary>
|
||||
/// tvAttendMeetingsPerson 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Tree tvAttendMeetingsPerson;
|
||||
|
||||
/// <summary>
|
||||
/// ContentPanel1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.ContentPanel ContentPanel1;
|
||||
|
||||
/// <summary>
|
||||
/// ctlAuditFlow 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Web.Controls.FlowOperateControl ctlAuditFlow;
|
||||
|
||||
/// <summary>
|
||||
/// WindowAtt 控件。
|
||||
/// </summary>
|
||||
|
|
|
@ -0,0 +1,107 @@
|
|||
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ScheduleMeetingView.aspx.cs" Inherits="FineUIPro.Web.TestRun.Meeting.ScheduleMeetingView" ValidateRequest="false" %>
|
||||
<%@ Register Src="~/Controls/FlowOperateControl.ascx" TagName="FlowOperateControl" TagPrefix="uc1" %>
|
||||
|
||||
<!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>
|
||||
<link href="../../res/css/common.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<form id="form1" runat="server">
|
||||
<f:PageManager ID="PageManager1" AutoSizePanelID="SimpleForm1" runat="server" />
|
||||
<f:Form ID="SimpleForm1" ShowBorder="false" ShowHeader="false" AutoScroll="true"
|
||||
BodyPadding="10px" runat="server" RedStarPosition="BeforeText" LabelAlign="Right">
|
||||
<Toolbars>
|
||||
<f:Toolbar ID="Toolbar1" Position="Bottom" ToolbarAlign="Right" runat="server">
|
||||
<Items>
|
||||
<f:ToolbarFill ID="ToolbarFill1" runat="server">
|
||||
</f:ToolbarFill>
|
||||
<f:HiddenField ID="hdAttachUrl" runat="server">
|
||||
</f:HiddenField>
|
||||
<f:HiddenField ID="hdId" runat="server"></f:HiddenField>
|
||||
</Items>
|
||||
</f:Toolbar>
|
||||
</Toolbars>
|
||||
<Rows>
|
||||
<f:FormRow>
|
||||
<Items>
|
||||
<f:ContentPanel ID="ContentPanel2" ShowBorder="true"
|
||||
BodyPadding="10px" EnableCollapse="true" ShowHeader="false" AutoScroll="true"
|
||||
runat="server">
|
||||
<f:Form ID="Form2" ShowBorder="false" ShowHeader="false" AutoScroll="true"
|
||||
BodyPadding="10px" runat="server" RedStarPosition="BeforeText" LabelAlign="Right">
|
||||
<Rows>
|
||||
<f:FormRow>
|
||||
<Items>
|
||||
<f:TextBox ID="txtMeetingCode" runat="server" Label="编号" LabelAlign="Right" LabelWidth="100px" >
|
||||
</f:TextBox>
|
||||
<f:DatePicker ID="txtMeetingDate" runat="server" Label="会议日期" LabelAlign="Right" LabelWidth="100px" ></f:DatePicker>
|
||||
</Items>
|
||||
</f:FormRow>
|
||||
<f:FormRow>
|
||||
<Items>
|
||||
<f:TextBox ID="txtMeetingAddress" runat="server" Label="地点" LabelAlign="Right" LabelWidth="100px">
|
||||
</f:TextBox>
|
||||
<f:TextBox ID="txtMeetingUrl" runat="server" Label="会议链接" LabelAlign="Right" LabelWidth="100px" >
|
||||
</f:TextBox>
|
||||
</Items>
|
||||
</f:FormRow>
|
||||
<f:FormRow>
|
||||
<Items>
|
||||
<f:DropDownList ID="drpCompileMan" runat="server" Label="发起人" LabelAlign="Right" LabelWidth="100px" ></f:DropDownList>
|
||||
<f:DatePicker ID="txtCompileDate" runat="server" Label="发起日期" LabelAlign="Right" LabelWidth="100px" ></f:DatePicker>
|
||||
</Items>
|
||||
</f:FormRow>
|
||||
<f:FormRow runat="server">
|
||||
<Items>
|
||||
<f:Panel ID="Panel3" Width="300px" ShowHeader="false" ShowBorder="false" Layout="Column" CssClass="" runat="server">
|
||||
<Items>
|
||||
<f:Label ID="lblAttach" runat="server" Label="会议纪要" LabelWidth="100px">
|
||||
</f:Label>
|
||||
<f:Button ID="btnAttach" Icon="TableCell" EnablePostBack="true" Text="附件" runat="server" OnClick="btnAttach_Click">
|
||||
</f:Button>
|
||||
</Items>
|
||||
</f:Panel>
|
||||
<f:Panel ID="Panel1" Width="300px" ShowHeader="false" ShowBorder="false" Layout="Column" CssClass="" runat="server">
|
||||
<Items>
|
||||
<f:Label ID="Label1" runat="server" Label="签到表" LabelWidth="100px">
|
||||
</f:Label>
|
||||
<f:Button ID="btnSign" Icon="TableCell" EnablePostBack="true" Text="附件" runat="server" OnClick="btnSign_Click">
|
||||
</f:Button>
|
||||
</Items>
|
||||
</f:Panel>
|
||||
</Items>
|
||||
</f:FormRow>
|
||||
<f:FormRow runat="server">
|
||||
<Items>
|
||||
<f:Tree ID="tvAttendMeetingsPerson" EnableCollapse="true" ShowHeader="true" Title="参会人员" EnableCheckBox="true"
|
||||
AutoLeafIdentification="true" runat="server" EnableIcons="true" AutoScroll="true"
|
||||
EnableSingleClickExpand="true" >
|
||||
</f:Tree>
|
||||
</Items>
|
||||
</f:FormRow>
|
||||
<f:FormRow>
|
||||
<Items>
|
||||
<f:ContentPanel ID="ContentPanel1" runat="server" ShowHeader="false" EnableCollapse="true"
|
||||
BodyPadding="0px">
|
||||
<uc1:FlowOperateControl ID="ctlAuditFlow" runat="server" />
|
||||
</f:ContentPanel>
|
||||
</Items>
|
||||
</f:FormRow>
|
||||
</Rows>
|
||||
</f:Form>
|
||||
</f:ContentPanel>
|
||||
</Items>
|
||||
</f:FormRow>
|
||||
</Rows>
|
||||
</f:Form>
|
||||
<f:Window ID="WindowAtt" Title="弹出窗体" Hidden="true" EnableIFrame="true" EnableMaximize="true"
|
||||
Target="Parent" EnableResize="false" runat="server" IsModal="true" Width="700px"
|
||||
Height="500px">
|
||||
</f:Window>
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,150 @@
|
|||
using System;
|
||||
|
||||
namespace FineUIPro.Web.TestRun.Meeting
|
||||
{
|
||||
public partial class ScheduleMeetingView : PageBase
|
||||
{
|
||||
#region 加载
|
||||
/// <summary>
|
||||
/// 页面加载
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (!IsPostBack)
|
||||
{
|
||||
BLL.UserService.InitUserDropDownList(this.drpCompileMan, this.CurrUser.LoginProjectId, true);
|
||||
string id = Request.Params["id"];
|
||||
if (!string.IsNullOrEmpty(id))
|
||||
{
|
||||
Model.Driver_Meeting data = BLL.MeetingService.GetMeetingById(id);
|
||||
if (data != null)
|
||||
{
|
||||
this.hdId.Text = id;
|
||||
this.txtMeetingCode.Text = data.MeetingCode;
|
||||
this.txtMeetingDate.Text = data.MeetingDate.HasValue ? string.Format("{0:yyyy-MM-dd}", data.MeetingDate) : "";
|
||||
this.txtMeetingAddress.Text = data.MeetingAddress;
|
||||
this.txtMeetingUrl.Text = data.AttachUrl;
|
||||
if (!string.IsNullOrEmpty(data.CompileMan))
|
||||
{
|
||||
this.drpCompileMan.SelectedValue = data.CompileMan;
|
||||
}
|
||||
this.txtCompileDate.Text = data.CompileDate.HasValue ? string.Format("{0:yyyy-MM-dd}", data.CompileDate) : "";
|
||||
}
|
||||
}
|
||||
InitMenuTree();
|
||||
///初始化审核菜单
|
||||
this.ctlAuditFlow.MenuId = BLL.Const.ScheduleMeetingMenuId;
|
||||
this.ctlAuditFlow.DataId = id;
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 附件上传
|
||||
/// <summary>
|
||||
/// 会议纪要
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void btnAttach_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (!string.IsNullOrEmpty(this.hdId.Text))
|
||||
{
|
||||
PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("../../AttachFile/webuploader.aspx?type=-1&toKeyId={0}&path=FileUpload/TestRun/Meeting/ScheduleMeeting&menuId={1}&strParam=1", this.hdId.Text, BLL.Const.ScheduleMeetingMenuId)));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 签到表
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void btnSign_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (!string.IsNullOrEmpty(this.hdId.Text))
|
||||
{
|
||||
PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("../../AttachFile/webuploader.aspx?type=-1&toKeyId={0}&path=FileUpload/TestRun/Meeting/ScheduleMeeting&menuId={1}&strParam=2", this.hdId.Text, BLL.Const.ScheduleMeetingMenuId)));
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 初始化树
|
||||
/// <summary>
|
||||
/// 初始化树
|
||||
/// </summary>
|
||||
/// <param name="menuList">单位集合</param>
|
||||
private void InitMenuTree()
|
||||
{
|
||||
this.tvAttendMeetingsPerson.Nodes.Clear();
|
||||
var units = BLL.UnitService.GetUnitByProjectIdList(this.CurrUser.LoginProjectId);
|
||||
foreach (var item in units)
|
||||
{
|
||||
TreeNode rootNode = new TreeNode
|
||||
{
|
||||
Text = item.UnitName,
|
||||
NodeID = item.UnitId,
|
||||
EnableCheckBox = true,
|
||||
EnableCheckEvent = true,
|
||||
Expanded = true
|
||||
};
|
||||
this.tvAttendMeetingsPerson.Nodes.Add(rootNode);
|
||||
this.BoundTree(rootNode.Nodes, rootNode.NodeID);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 遍历增加子节点
|
||||
/// </summary>
|
||||
/// <param name="nodes"></param>
|
||||
/// <param name="menuId"></param>
|
||||
private void BoundTree(TreeNodeCollection nodes, string superMenuId)
|
||||
{
|
||||
var menus = BLL.UserService.GetUserByUnitId(this.CurrUser.LoginProjectId, superMenuId);
|
||||
foreach (var item in menus)
|
||||
{
|
||||
TreeNode chidNode = new TreeNode
|
||||
{
|
||||
Text = item.Text,
|
||||
NodeID = item.Value,
|
||||
EnableCheckBox = true,
|
||||
EnableCheckEvent = true
|
||||
};
|
||||
var items = BLL.MeetingItemService.GetMeetingItemByMeetingId(this.hdId.Text.Trim());
|
||||
if (items.Count > 0)
|
||||
{
|
||||
foreach (var i in items)
|
||||
{
|
||||
if (i.UserId == item.Value)
|
||||
{
|
||||
chidNode.Checked = true;
|
||||
chidNode.Expanded = true;
|
||||
chidNode.Selectable = true;
|
||||
var meeting = BLL.MeetingService.GetMeetingById(this.hdId.Text.Trim());
|
||||
if (meeting != null)
|
||||
{
|
||||
if (meeting.States == "2")
|
||||
{
|
||||
if (i.IsMeeting == true)
|
||||
{
|
||||
chidNode.Text = item.Text + "(可按时参加)";
|
||||
}
|
||||
else if (i.IsMeeting == false)
|
||||
{
|
||||
chidNode.Text = item.Text + "(因故不参加:" + i.Feedback + ")";
|
||||
}
|
||||
else
|
||||
{
|
||||
chidNode.Text = item.Text + "(暂未反馈)";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
nodes.Add(chidNode);
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
}
|
|
@ -0,0 +1,240 @@
|
|||
//------------------------------------------------------------------------------
|
||||
// <自动生成>
|
||||
// 此代码由工具生成。
|
||||
//
|
||||
// 对此文件的更改可能导致不正确的行为,如果
|
||||
// 重新生成代码,则所做更改将丢失。
|
||||
// </自动生成>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace FineUIPro.Web.TestRun.Meeting {
|
||||
|
||||
|
||||
public partial class ScheduleMeetingView {
|
||||
|
||||
/// <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>
|
||||
/// Toolbar1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Toolbar Toolbar1;
|
||||
|
||||
/// <summary>
|
||||
/// ToolbarFill1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.ToolbarFill ToolbarFill1;
|
||||
|
||||
/// <summary>
|
||||
/// hdAttachUrl 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.HiddenField hdAttachUrl;
|
||||
|
||||
/// <summary>
|
||||
/// hdId 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.HiddenField hdId;
|
||||
|
||||
/// <summary>
|
||||
/// ContentPanel2 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.ContentPanel ContentPanel2;
|
||||
|
||||
/// <summary>
|
||||
/// Form2 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Form Form2;
|
||||
|
||||
/// <summary>
|
||||
/// txtMeetingCode 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.TextBox txtMeetingCode;
|
||||
|
||||
/// <summary>
|
||||
/// txtMeetingDate 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.DatePicker txtMeetingDate;
|
||||
|
||||
/// <summary>
|
||||
/// txtMeetingAddress 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.TextBox txtMeetingAddress;
|
||||
|
||||
/// <summary>
|
||||
/// txtMeetingUrl 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.TextBox txtMeetingUrl;
|
||||
|
||||
/// <summary>
|
||||
/// drpCompileMan 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.DropDownList drpCompileMan;
|
||||
|
||||
/// <summary>
|
||||
/// txtCompileDate 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.DatePicker txtCompileDate;
|
||||
|
||||
/// <summary>
|
||||
/// Panel3 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Panel Panel3;
|
||||
|
||||
/// <summary>
|
||||
/// lblAttach 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Label lblAttach;
|
||||
|
||||
/// <summary>
|
||||
/// btnAttach 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Button btnAttach;
|
||||
|
||||
/// <summary>
|
||||
/// Panel1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Panel Panel1;
|
||||
|
||||
/// <summary>
|
||||
/// Label1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Label Label1;
|
||||
|
||||
/// <summary>
|
||||
/// btnSign 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Button btnSign;
|
||||
|
||||
/// <summary>
|
||||
/// tvAttendMeetingsPerson 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Tree tvAttendMeetingsPerson;
|
||||
|
||||
/// <summary>
|
||||
/// ContentPanel1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.ContentPanel ContentPanel1;
|
||||
|
||||
/// <summary>
|
||||
/// ctlAuditFlow 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Web.Controls.FlowOperateControl ctlAuditFlow;
|
||||
|
||||
/// <summary>
|
||||
/// WindowAtt 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Window WindowAtt;
|
||||
}
|
||||
}
|
|
@ -20,8 +20,7 @@
|
|||
<Toolbars>
|
||||
<f:Toolbar ID="ToolSearch" Position="Top" runat="server" ToolbarAlign="Left">
|
||||
<Items>
|
||||
<f:DropDownList ID="drpUnitWorkId" runat="server" Label="单位工程" LabelAlign="Right"></f:DropDownList>
|
||||
<f:TextBox ID="txtMeetingContent" runat="server" Label="会议内容" LabelAlign="Right"></f:TextBox>
|
||||
<f:TextBox ID="txtCode" runat="server" Label="编号" LabelAlign="Right"></f:TextBox>
|
||||
<f:Button ID="btnSearch" Icon="SystemSearch" ToolTip="搜索"
|
||||
EnablePostBack="true" runat="server" OnClick="btnSearch_Click">
|
||||
</f:Button>
|
||||
|
@ -38,31 +37,32 @@
|
|||
<asp:Label ID="lblPageIndex" runat="server" Text='<%# Grid1.PageIndex * Grid1.PageSize + Container.DataItemIndex + 1 %>'></asp:Label>
|
||||
</ItemTemplate>
|
||||
</f:TemplateField>
|
||||
<f:RenderField ColumnID="UnitWorkName" DataField="UnitWorkName"
|
||||
FieldType="String" HeaderText="单位工程" HeaderTextAlign="Center" Width="120px">
|
||||
</f:RenderField>
|
||||
<f:RenderField ColumnID="MeetingTake" DataField="MeetingTake"
|
||||
FieldType="String" HeaderText="会议主持" HeaderTextAlign="Center" Width="150px">
|
||||
</f:RenderField>
|
||||
<f:RenderField ColumnID="MeetingUnit" DataField="MeetingUnit"
|
||||
FieldType="String" HeaderText="参会单位" HeaderTextAlign="Center" Width="220px">
|
||||
<f:RenderField ColumnID="MeetingCode" DataField="MeetingCode"
|
||||
FieldType="String" HeaderText="编号" HeaderTextAlign="Center" Width="180px">
|
||||
</f:RenderField>
|
||||
<f:RenderField ColumnID="MeetingDate" DataField="MeetingDate"
|
||||
FieldType="Date" Renderer="Date" HeaderText="会议日期" HeaderTextAlign="Center" Width="110px">
|
||||
</f:RenderField>
|
||||
<f:RenderField ColumnID="Number" DataField="Number"
|
||||
FieldType="String" HeaderText="期数" HeaderTextAlign="Center" Width="150px">
|
||||
FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd" HeaderText="会议日期" HeaderTextAlign="Center" Width="100px">
|
||||
</f:RenderField>
|
||||
<f:RenderField ColumnID="MeetingAddress" DataField="MeetingAddress"
|
||||
FieldType="String" HeaderText="地点" HeaderTextAlign="Center" Width="180px">
|
||||
FieldType="String" HeaderText="会议地点" HeaderTextAlign="Center" Width="180px">
|
||||
</f:RenderField>
|
||||
<f:RenderField ColumnID="MeetingContent" DataField="MeetingContent"
|
||||
FieldType="String" HeaderText="会议内容" HeaderTextAlign="Center" Width="200px">
|
||||
<f:RenderField ColumnID="CompileManName" DataField="CompileManName"
|
||||
FieldType="String" HeaderText="发起人" HeaderTextAlign="Center" Width="90px">
|
||||
</f:RenderField>
|
||||
<f:RenderField ColumnID="Remark" DataField="Remark"
|
||||
FieldType="String" HeaderText="备注" HeaderTextAlign="Center" Width="120px">
|
||||
<f:RenderField ColumnID="CompileDate" DataField="CompileDate"
|
||||
FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd" HeaderText="发起时间" HeaderTextAlign="Center" Width="100px">
|
||||
</f:RenderField>
|
||||
<f:LinkButtonField HeaderText="附件" ConfirmTarget="Top" Width="80px" CommandName="AttachUrl" ColumnID="AttachUrl"
|
||||
<f:TemplateField HeaderText="参会人" Width="300px" HeaderTextAlign="Center" ExpandUnusedSpace="true">
|
||||
<ItemTemplate>
|
||||
<asp:Label ID="tbxGroupName" runat="server" Text='<%# ConvertUserName(Eval("MeetingId")) %>'></asp:Label>
|
||||
</ItemTemplate>
|
||||
</f:TemplateField>
|
||||
<f:RenderField ColumnID="FlowOperateName" DataField="FlowOperateName"
|
||||
FieldType="String" HeaderText="状态" HeaderTextAlign="Center" Width="110px">
|
||||
</f:RenderField>
|
||||
<f:LinkButtonField HeaderText="会议纪要" ConfirmTarget="Top" Width="80px" CommandName="AttachUrl" ColumnID="AttachUrl"
|
||||
TextAlign="Center" ToolTip="附件查看" Icon="Find" />
|
||||
<f:LinkButtonField HeaderText="签到表" ConfirmTarget="Top" Width="80px" CommandName="SignUrl" ColumnID="SignUrl"
|
||||
TextAlign="Center" ToolTip="附件查看" Icon="Find" />
|
||||
</Columns>
|
||||
<Listeners>
|
||||
|
@ -88,6 +88,10 @@
|
|||
Target="Parent" EnableResize="false" runat="server" IsModal="true" OnClose="Window1_Close"
|
||||
Width="900px" Height="630px">
|
||||
</f:Window>
|
||||
<f:Window ID="Window2" Title="通知反馈" Hidden="true" EnableIFrame="true" EnableMaximize="true"
|
||||
Target="Parent" EnableResize="false" runat="server" IsModal="true" OnClose="Window1_Close"
|
||||
Width="900px" Height="430px">
|
||||
</f:Window>
|
||||
<f:Window ID="WindowAtt" Title="弹出窗体" Hidden="true" EnableIFrame="true" EnableMaximize="true"
|
||||
Target="Parent" EnableResize="false" runat="server" IsModal="true" Width="700px"
|
||||
Height="500px">
|
||||
|
@ -99,6 +103,8 @@
|
|||
<f:MenuButton ID="btnMenuDel" EnablePostBack="true" runat="server" Icon="Delete" Text="删除" ConfirmText="确定删除当前数据?"
|
||||
OnClick="btnMenuDel_Click">
|
||||
</f:MenuButton>
|
||||
<f:MenuButton ID="btnMenuFeek" EnablePostBack="true" runat="server" Text="反馈" Icon="BookAddressesKey" OnClick="btnMenuFeek_Click">
|
||||
</f:MenuButton>
|
||||
</Items>
|
||||
</f:Menu>
|
||||
</form>
|
||||
|
|
|
@ -17,7 +17,6 @@ namespace FineUIPro.Web.TestRun.Meeting
|
|||
GetButtonPower();
|
||||
BindGrid();
|
||||
btnNew.OnClientClick = Window1.GetShowReference("SpecialMeetingEdit.aspx") + "return false;";
|
||||
BLL.UnitWorkService.InitUnitWorkDropDownList(this.drpUnitWorkId, this.CurrUser.LoginProjectId, true);
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
@ -37,25 +36,26 @@ namespace FineUIPro.Web.TestRun.Meeting
|
|||
meeting.Number,
|
||||
meeting.MeetingType,
|
||||
meeting.Remark,
|
||||
unitWork.UnitWorkName"
|
||||
+ @" FROM Driver_Meeting AS meeting "
|
||||
+ @" LEFT JOIN WBS_UnitWork AS unitWork ON unitWork.UnitWorkId = meeting.UnitWorkId WHERE meeting.ProjectId=@projectId AND meeting.MeetingType='3'";
|
||||
meeting.MeetingCode,
|
||||
meeting.CompileMan,
|
||||
u.UserName as CompileManName,
|
||||
meeting.CompileDate,"
|
||||
+ @" (CASE WHEN meeting.States = " + BLL.Const.State_0 + " OR meeting.States IS NULL THEN '待['+OperateUser.UserName+']提交' WHEN meeting.States = " + BLL.Const.State_2 + " THEN '审核/审批完成' ELSE '待['+OperateUser.UserName+']办理' END) AS FlowOperateName"
|
||||
+ @" FROM Driver_Meeting AS meeting "
|
||||
+ @" LEFT JOIN Sys_FlowOperate AS FlowOperate ON meeting.MeetingId=FlowOperate.DataId AND FlowOperate.IsClosed <> 1"
|
||||
+ @" LEFT JOIN Sys_User AS OperateUser ON FlowOperate.OperaterId=OperateUser.UserId"
|
||||
+ @" LEFT JOIN Sys_User as u on u.UserId = meeting.CompileMan"
|
||||
+ @" WHERE meeting.ProjectId=@projectId AND meeting.MeetingType='3'";
|
||||
List<SqlParameter> listStr = new List<SqlParameter>();
|
||||
listStr.Add(new SqlParameter("@projectId", this.CurrUser.LoginProjectId));
|
||||
if (!string.IsNullOrEmpty(this.drpUnitWorkId.SelectedValue) && this.drpUnitWorkId.SelectedValue != BLL.Const._Null)
|
||||
if (!string.IsNullOrEmpty(this.txtCode.Text.Trim()))
|
||||
{
|
||||
strSql += " AND meeting.UnitWorkId=@unitWorkId";
|
||||
listStr.Add(new SqlParameter("@unitWorkId", this.drpUnitWorkId.SelectedValue));
|
||||
}
|
||||
if (!string.IsNullOrEmpty(this.txtMeetingContent.Text.Trim()))
|
||||
{
|
||||
strSql += " AND meeting.MeetingContent LIKE @MeetingContent";
|
||||
listStr.Add(new SqlParameter("@MeetingContent", "%" + this.txtMeetingContent.Text.Trim() + "%"));
|
||||
strSql += " AND meeting.MeetingCode LIKE @meetingCode";
|
||||
listStr.Add(new SqlParameter("@meetingCode", "%" + this.txtCode.Text.Trim() + "%"));
|
||||
}
|
||||
SqlParameter[] parameter = listStr.ToArray();
|
||||
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
|
||||
Grid1.RecordCount = tb.Rows.Count;
|
||||
//tb = GetFilteredTable(Grid1.FilteredData, tb);
|
||||
var table = this.GetPagedDataTable(Grid1, tb);
|
||||
Grid1.DataSource = table;
|
||||
Grid1.DataBind();
|
||||
|
@ -143,7 +143,22 @@ namespace FineUIPro.Web.TestRun.Meeting
|
|||
Alert.ShowInTop("请至少选择一条记录", MessageBoxIcon.Warning);
|
||||
return;
|
||||
}
|
||||
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("SpecialMeetingEdit.aspx?id={0}", Grid1.SelectedRowID, "编辑 - ")));
|
||||
var user = (from x in Funs.DB.Sys_FlowOperate where x.DataId == Grid1.SelectedRowID && x.MenuId == BLL.Const.SpecialMeetingMenuId && x.IsClosed == false orderby x.SortIndex descending select x).FirstOrDefault();
|
||||
if (user != null)
|
||||
{
|
||||
if (user.OperaterId == this.CurrUser.UserId)
|
||||
{
|
||||
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("SpecialMeetingEdit.aspx?id={0}", Grid1.SelectedRowID, "编辑 - ")));
|
||||
}
|
||||
else
|
||||
{
|
||||
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("SpecialMeetingView.aspx?id={0}", Grid1.SelectedRowID, "编辑 - ")));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("SpecialMeetingView.aspx?id={0}", Grid1.SelectedRowID, "编辑 - ")));
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
|
@ -158,6 +173,7 @@ namespace FineUIPro.Web.TestRun.Meeting
|
|||
var info = BLL.MeetingService.GetMeetingById(rowID);
|
||||
if (info != null)
|
||||
{
|
||||
BLL.MeetingItemService.DeleteMeetingItemByMeetingId(rowID);
|
||||
BLL.MeetingService.DeleteMeeting(rowID);
|
||||
}
|
||||
}
|
||||
|
@ -178,7 +194,11 @@ namespace FineUIPro.Web.TestRun.Meeting
|
|||
string id = Grid1.DataKeys[e.RowIndex][0].ToString();
|
||||
if (e.CommandName == "AttachUrl")
|
||||
{
|
||||
PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("../../AttachFile/webuploader.aspx?type=-1&toKeyId={0}&path=FileUpload/TestRun/Meeting/SpecialMeeting&menuId={1}", id, BLL.Const.SpecialMeetingMenuId)));
|
||||
PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("../../AttachFile/webuploader.aspx?type=-1&toKeyId={0}&path=FileUpload/TestRun/Meeting/SpecialMeeting&menuId={1}&strParam=1", id, BLL.Const.SpecialMeetingMenuId)));
|
||||
}
|
||||
if (e.CommandName == "SignUrl")
|
||||
{
|
||||
PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("../../AttachFile/webuploader.aspx?type=-1&toKeyId={0}&path=FileUpload/TestRun/Meeting/SpecialMeeting&menuId={1}&strParam=2", id, BLL.Const.SpecialMeetingMenuId)));
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
@ -208,5 +228,74 @@ namespace FineUIPro.Web.TestRun.Meeting
|
|||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 格式化字符串
|
||||
/// <summary>
|
||||
/// 获取通知人员姓名
|
||||
/// </summary>
|
||||
/// <param name="meetingId"></param>
|
||||
/// <returns></returns>
|
||||
protected string ConvertUserName(object meetingId)
|
||||
{
|
||||
string userName = string.Empty;
|
||||
var meetingItem = BLL.MeetingItemService.GetMeetingItemByMeetingId(meetingId.ToString());
|
||||
if (meetingItem.Count > 0)
|
||||
{
|
||||
foreach (var item in meetingItem)
|
||||
{
|
||||
userName += BLL.UserService.GetUserNameByUserId(item.UserId) + ",";
|
||||
}
|
||||
if (!string.IsNullOrEmpty(userName))
|
||||
{
|
||||
userName = userName.Substring(0, userName.LastIndexOf(','));
|
||||
}
|
||||
}
|
||||
return userName;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 通知反馈
|
||||
/// <summary>
|
||||
/// 反馈
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void btnMenuFeek_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (Grid1.SelectedRowIndexArray.Length == 0)
|
||||
{
|
||||
Alert.ShowInTop("请至少选择一条记录", MessageBoxIcon.Warning);
|
||||
return;
|
||||
}
|
||||
var meeting = BLL.MeetingService.GetMeetingById(Grid1.SelectedRowID);
|
||||
if (meeting.States == "2")
|
||||
{
|
||||
var items = BLL.MeetingItemService.GetMeetingItemByMeetingId(Grid1.SelectedRowID);
|
||||
if (items.Count > 0)
|
||||
{
|
||||
var user = items.Where(x => x.UserId == this.CurrUser.UserId);
|
||||
if (user.Count() > 0)
|
||||
{
|
||||
PageContext.RegisterStartupScript(Window2.GetShowReference(String.Format("Feedback.aspx?id={0}", Grid1.SelectedRowID, "编辑 - ")));
|
||||
}
|
||||
else
|
||||
{
|
||||
Alert.ShowInTop("未参与此会议,无需反馈!", MessageBoxIcon.Warning);
|
||||
return;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
Alert.ShowInTop("未参与此会议,无需反馈!", MessageBoxIcon.Warning);
|
||||
return;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
Alert.ShowInTop("审核未完成,无需反馈!", MessageBoxIcon.Warning);
|
||||
return;
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
}
|
|
@ -58,22 +58,13 @@ namespace FineUIPro.Web.TestRun.Meeting {
|
|||
protected global::FineUIPro.Toolbar ToolSearch;
|
||||
|
||||
/// <summary>
|
||||
/// drpUnitWorkId 控件。
|
||||
/// txtCode 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.DropDownList drpUnitWorkId;
|
||||
|
||||
/// <summary>
|
||||
/// txtMeetingContent 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.TextBox txtMeetingContent;
|
||||
protected global::FineUIPro.TextBox txtCode;
|
||||
|
||||
/// <summary>
|
||||
/// btnSearch 控件。
|
||||
|
@ -102,6 +93,15 @@ namespace FineUIPro.Web.TestRun.Meeting {
|
|||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label lblPageIndex;
|
||||
|
||||
/// <summary>
|
||||
/// tbxGroupName 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label tbxGroupName;
|
||||
|
||||
/// <summary>
|
||||
/// ToolbarSeparator1 控件。
|
||||
/// </summary>
|
||||
|
@ -138,6 +138,15 @@ namespace FineUIPro.Web.TestRun.Meeting {
|
|||
/// </remarks>
|
||||
protected global::FineUIPro.Window Window1;
|
||||
|
||||
/// <summary>
|
||||
/// Window2 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Window Window2;
|
||||
|
||||
/// <summary>
|
||||
/// WindowAtt 控件。
|
||||
/// </summary>
|
||||
|
@ -173,5 +182,14 @@ namespace FineUIPro.Web.TestRun.Meeting {
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.MenuButton btnMenuDel;
|
||||
|
||||
/// <summary>
|
||||
/// btnMenuFeek 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.MenuButton btnMenuFeek;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,10 +1,12 @@
|
|||
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="SpecialMeetingEdit.aspx.cs" Inherits="FineUIPro.Web.TestRun.Meeting.SpecialMeetingEdit" %>
|
||||
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="SpecialMeetingEdit.aspx.cs" Inherits="FineUIPro.Web.TestRun.Meeting.SpecialMeetingEdit" ValidateRequest="false" %>
|
||||
|
||||
<%@ Register Src="~/Controls/FlowOperateControl.ascx" TagName="FlowOperateControl" TagPrefix="uc1" %>
|
||||
|
||||
<!DOCTYPE html>
|
||||
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head runat="server">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<title>编辑开车专题会</title>
|
||||
</head>
|
||||
<body>
|
||||
|
@ -19,6 +21,8 @@
|
|||
</f:ToolbarFill>
|
||||
<f:Button ID="btnSave" OnClick="btnSave_Click" Icon="SystemSave" runat="server" ToolTip="保存" ValidateForms="SimpleForm1">
|
||||
</f:Button>
|
||||
<f:Button ID="btnSubmit" OnClick="btnSubmit_Click" Icon="SystemSaveNew" runat="server" ToolTip="提交" ValidateForms="SimpleForm1">
|
||||
</f:Button>
|
||||
<f:HiddenField ID="hdAttachUrl" runat="server">
|
||||
</f:HiddenField>
|
||||
<f:HiddenField ID="hdId" runat="server"></f:HiddenField>
|
||||
|
@ -36,61 +40,59 @@
|
|||
<Rows>
|
||||
<f:FormRow>
|
||||
<Items>
|
||||
<f:DropDownList ID="drpUnitWorkId" runat="server" Label="单位工程" LabelAlign="Right" LabelWidth="150px"></f:DropDownList>
|
||||
<f:TextBox ID="txtMeetingCode" runat="server" Label="编号" LabelAlign="Right" LabelWidth="100px" MaxLength="50" Required="true" ShowRedStar="true">
|
||||
</f:TextBox>
|
||||
<f:DatePicker ID="txtMeetingDate" runat="server" Label="会议日期" LabelAlign="Right" LabelWidth="100px" Required="true" ShowRedStar="true"></f:DatePicker>
|
||||
</Items>
|
||||
</f:FormRow>
|
||||
<f:FormRow>
|
||||
<Items>
|
||||
<f:TextBox ID="txtMeetingTake" runat="server" Label="会议主持" LabelAlign="Right" LabelWidth="150px" MaxLength="50" Required="true" ShowRedStar="true">
|
||||
<f:TextBox ID="txtMeetingAddress" runat="server" Label="地点" LabelAlign="Right" LabelWidth="100px" MaxLength="100" Required="true" ShowRedStar="true">
|
||||
</f:TextBox>
|
||||
<f:TextBox ID="txtMeetingUrl" runat="server" Label="会议链接" LabelAlign="Right" LabelWidth="100px" MaxLength="1000">
|
||||
</f:TextBox>
|
||||
</Items>
|
||||
</f:FormRow>
|
||||
<f:FormRow>
|
||||
<Items>
|
||||
<f:TextBox ID="txtMeetingUnit" runat="server" Label="参会单位" LabelAlign="Right" LabelWidth="150px" MaxLength="150">
|
||||
</f:TextBox>
|
||||
</Items>
|
||||
</f:FormRow>
|
||||
<f:FormRow>
|
||||
<Items>
|
||||
<f:DatePicker ID="txtMeetingDate" runat="server" Label="会议日期" LabelAlign="Right" LabelWidth="150px"></f:DatePicker>
|
||||
</Items>
|
||||
</f:FormRow>
|
||||
<f:FormRow>
|
||||
<Items>
|
||||
<f:TextBox ID="txtNumber" runat="server" Label="期数" LabelAlign="Right" LabelWidth="150px" MaxLength="50">
|
||||
</f:TextBox>
|
||||
</Items>
|
||||
</f:FormRow>
|
||||
<f:FormRow>
|
||||
<Items>
|
||||
<f:TextBox ID="txtMeetingAddress" runat="server" Label="地点" LabelAlign="Right" LabelWidth="150px" MaxLength="100">
|
||||
</f:TextBox>
|
||||
</Items>
|
||||
</f:FormRow>
|
||||
<f:FormRow>
|
||||
<Items>
|
||||
<f:TextArea ID="txtMeetingContent" runat="server" Label="会议内容" LabelAlign="Right" LabelWidth="150px" MaxLength="500">
|
||||
</f:TextArea>
|
||||
</Items>
|
||||
</f:FormRow>
|
||||
<f:FormRow>
|
||||
<Items>
|
||||
<f:TextArea ID="txtRemark" runat="server" Label="备注" LabelAlign="Right" LabelWidth="150px" MaxLength="500">
|
||||
</f:TextArea>
|
||||
<f:DropDownList ID="drpCompileMan" runat="server" Label="发起人" LabelAlign="Right" LabelWidth="100px" EnableEdit="true" Required="true" ShowRedStar="true"></f:DropDownList>
|
||||
<f:DatePicker ID="txtCompileDate" runat="server" Label="发起日期" LabelAlign="Right" LabelWidth="100px" Required="true" ShowRedStar="true"></f:DatePicker>
|
||||
</Items>
|
||||
</f:FormRow>
|
||||
<f:FormRow runat="server">
|
||||
<Items>
|
||||
<f:Panel ID="Panel3" Width="300px" ShowHeader="false" ShowBorder="false" Layout="Column" CssClass="" runat="server">
|
||||
<Items>
|
||||
<f:Label ID="lblAttach" runat="server" Label="上传附件"
|
||||
LabelWidth="150px">
|
||||
<f:Label ID="lblAttach" runat="server" Label="会议纪要" LabelWidth="100px">
|
||||
</f:Label>
|
||||
<f:Button ID="btnAttach" Icon="TableCell" EnablePostBack="true" Text="附件" runat="server" OnClick="btnAttach_Click">
|
||||
</f:Button>
|
||||
</Items>
|
||||
</f:Panel>
|
||||
<f:Panel ID="Panel1" Width="300px" ShowHeader="false" ShowBorder="false" Layout="Column" CssClass="" runat="server">
|
||||
<Items>
|
||||
<f:Label ID="Label1" runat="server" Label="签到表" LabelWidth="100px">
|
||||
</f:Label>
|
||||
<f:Button ID="btnSign" Icon="TableCell" EnablePostBack="true" Text="附件" runat="server" OnClick="btnSign_Click">
|
||||
</f:Button>
|
||||
</Items>
|
||||
</f:Panel>
|
||||
</Items>
|
||||
</f:FormRow>
|
||||
<f:FormRow>
|
||||
<Items>
|
||||
<f:Tree ID="tvAttendMeetingsPerson" EnableCollapse="true" ShowHeader="true" Title="参会人员" EnableCheckBox="true"
|
||||
AutoLeafIdentification="true" runat="server" EnableIcons="true" AutoScroll="true"
|
||||
EnableSingleClickExpand="true" OnNodeCheck="tvAttendMeetingsPerson_NodeCheck">
|
||||
</f:Tree>
|
||||
</Items>
|
||||
</f:FormRow>
|
||||
<f:FormRow>
|
||||
<Items>
|
||||
<f:ContentPanel ID="ContentPanel1" runat="server" ShowHeader="false" EnableCollapse="true"
|
||||
BodyPadding="0px">
|
||||
<uc1:FlowOperateControl ID="ctlAuditFlow" runat="server" />
|
||||
</f:ContentPanel>
|
||||
</Items>
|
||||
</f:FormRow>
|
||||
</Rows>
|
||||
|
|
|
@ -15,8 +15,7 @@ namespace FineUIPro.Web.TestRun.Meeting
|
|||
{
|
||||
if (!IsPostBack)
|
||||
{
|
||||
BLL.UnitWorkService.InitUnitWorkDropDownList(this.drpUnitWorkId, this.CurrUser.LoginProjectId, true);
|
||||
|
||||
BLL.UserService.InitUserDropDownList(this.drpCompileMan, this.CurrUser.LoginProjectId, true);
|
||||
string id = Request.Params["id"];
|
||||
if (!string.IsNullOrEmpty(id))
|
||||
{
|
||||
|
@ -24,23 +23,32 @@ namespace FineUIPro.Web.TestRun.Meeting
|
|||
if (data != null)
|
||||
{
|
||||
this.hdId.Text = id;
|
||||
if (!string.IsNullOrEmpty(data.UnitWorkId))
|
||||
{
|
||||
this.drpUnitWorkId.SelectedValue = data.UnitWorkId;
|
||||
}
|
||||
this.txtMeetingTake.Text = data.MeetingTake;
|
||||
this.txtMeetingUnit.Text = data.MeetingUnit;
|
||||
this.txtMeetingCode.Text = data.MeetingCode;
|
||||
this.txtMeetingDate.Text = data.MeetingDate.HasValue ? string.Format("{0:yyyy-MM-dd}", data.MeetingDate) : "";
|
||||
this.txtMeetingAddress.Text = data.MeetingAddress;
|
||||
this.txtMeetingContent.Text = data.MeetingContent;
|
||||
this.txtNumber.Text = data.Number;
|
||||
this.txtRemark.Text = data.Remark;
|
||||
this.txtMeetingUrl.Text = data.AttachUrl;
|
||||
if (!string.IsNullOrEmpty(data.CompileMan))
|
||||
{
|
||||
this.drpCompileMan.SelectedValue = data.CompileMan;
|
||||
}
|
||||
this.txtCompileDate.Text = data.CompileDate.HasValue ? string.Format("{0:yyyy-MM-dd}", data.CompileDate) : "";
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
this.txtMeetingDate.Text = string.Format("{0:yyyy-MM-dd}", DateTime.Now);
|
||||
this.drpCompileMan.SelectedValue = this.CurrUser.LoginProjectId;
|
||||
this.txtCompileDate.Text = string.Format("{0:yyyy-MM-dd}", DateTime.Now);
|
||||
string perfix = BLL.ProjectService.GetProjectCodeByProjectId(this.CurrUser.LoginProjectId) + "-MM-PSM-";
|
||||
this.txtMeetingCode.Text = BLL.SQLHelper.RunProcNewId("SpGetThreeNumber", "dbo.Driver_Meeting", "MeetingCode", this.CurrUser.LoginProjectId, perfix);
|
||||
}
|
||||
///初始化审核菜单
|
||||
this.ctlAuditFlow.MenuId = BLL.Const.SpecialMeetingMenuId;
|
||||
this.ctlAuditFlow.DataId = id;
|
||||
this.ctlAuditFlow.ProjectId = this.CurrUser.LoginProjectId;
|
||||
this.ctlAuditFlow.UnitId = this.CurrUser.UnitId;
|
||||
|
||||
InitMenuTree();
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
@ -57,7 +65,21 @@ namespace FineUIPro.Web.TestRun.Meeting
|
|||
{
|
||||
this.hdId.Text = SQLHelper.GetNewID(typeof(Model.Driver_Meeting));
|
||||
}
|
||||
PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("../../AttachFile/webuploader.aspx?type=0&toKeyId={0}&path=FileUpload/TestRun/Meeting/SpecialMeeting&menuId={1}", this.hdId.Text, BLL.Const.SpecialMeetingMenuId)));
|
||||
PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("../../AttachFile/webuploader.aspx?type=0&toKeyId={0}&path=FileUpload/TestRun/Meeting/SpecialMeeting&menuId={1}&strParam=1", this.hdId.Text, BLL.Const.SpecialMeetingMenuId)));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 签到表
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void btnSign_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (string.IsNullOrEmpty(this.hdId.Text)) //新增记录
|
||||
{
|
||||
this.hdId.Text = SQLHelper.GetNewID(typeof(Model.Driver_Meeting));
|
||||
}
|
||||
PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("../../AttachFile/webuploader.aspx?type=0&toKeyId={0}&path=FileUpload/TestRun/Meeting/SpecialMeeting&menuId={1}&strParam=2", this.hdId.Text, BLL.Const.SpecialMeetingMenuId)));
|
||||
}
|
||||
#endregion
|
||||
|
||||
|
@ -68,21 +90,53 @@ namespace FineUIPro.Web.TestRun.Meeting
|
|||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void btnSave_Click(object sender, EventArgs e)
|
||||
{
|
||||
SaveData(BLL.Const.BtnSave);
|
||||
ShowNotify("保存成功!", MessageBoxIcon.Success);
|
||||
PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 提交按钮
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void btnSubmit_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (this.ctlAuditFlow.NextStep == BLL.Const.State_1 && this.ctlAuditFlow.NextPerson == BLL.Const._Null)
|
||||
{
|
||||
ShowNotify("请选择下一步办理人!", MessageBoxIcon.Warning);
|
||||
return;
|
||||
}
|
||||
SaveData(BLL.Const.BtnSubmit);
|
||||
ShowNotify("提交成功!", MessageBoxIcon.Success);
|
||||
PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 保存数据
|
||||
/// </summary>
|
||||
/// <param name="type"></param>
|
||||
private void SaveData(string type)
|
||||
{
|
||||
string id = Request.Params["id"];
|
||||
Model.Driver_Meeting newData = new Model.Driver_Meeting();
|
||||
if (this.drpUnitWorkId.SelectedValue != BLL.Const._Null)
|
||||
{
|
||||
newData.UnitWorkId = this.drpUnitWorkId.SelectedValue;
|
||||
}
|
||||
newData.MeetingTake = this.txtMeetingTake.Text.Trim();
|
||||
newData.MeetingUnit = this.txtMeetingUnit.Text.Trim();
|
||||
newData.MeetingCode = this.txtMeetingCode.Text.Trim();
|
||||
newData.MeetingDate = Funs.GetNewDateTime(this.txtMeetingDate.Text.Trim());
|
||||
newData.MeetingAddress = this.txtMeetingAddress.Text.Trim();
|
||||
newData.MeetingContent = this.txtMeetingContent.Text.Trim();
|
||||
newData.Number = this.txtNumber.Text.Trim();
|
||||
newData.Remark = this.txtRemark.Text.Trim();
|
||||
newData.AttachUrl = this.txtMeetingUrl.Text.Trim();
|
||||
if (this.drpCompileMan.SelectedValue != BLL.Const._Null)
|
||||
{
|
||||
newData.CompileMan = this.drpCompileMan.SelectedValue;
|
||||
}
|
||||
newData.CompileDate = Funs.GetNewDateTime(this.txtCompileDate.Text.Trim());
|
||||
newData.ProjectId = this.CurrUser.LoginProjectId;
|
||||
////单据状态
|
||||
newData.States = BLL.Const.State_0;
|
||||
if (type == BLL.Const.BtnSubmit)
|
||||
{
|
||||
newData.States = this.ctlAuditFlow.NextStep;
|
||||
}
|
||||
if (!string.IsNullOrEmpty(id))
|
||||
{
|
||||
newData.MeetingId = id;
|
||||
|
@ -102,8 +156,144 @@ namespace FineUIPro.Web.TestRun.Meeting
|
|||
}
|
||||
BLL.MeetingService.AddMeeting(newData);
|
||||
}
|
||||
ShowNotify("保存成功!", MessageBoxIcon.Success);
|
||||
PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
|
||||
|
||||
#region 保存参会人员
|
||||
BLL.MeetingItemService.DeleteMeetingItemByMeetingId(this.hdId.Text);
|
||||
TreeNode[] nodes = this.tvAttendMeetingsPerson.GetCheckedNodes();
|
||||
if (nodes.Length > 0)
|
||||
{
|
||||
foreach (TreeNode tn in nodes)
|
||||
{
|
||||
if (tn.NodeID != "0")
|
||||
{
|
||||
Model.Driver_MeetingItem newItem = new Model.Driver_MeetingItem
|
||||
{
|
||||
MeetingItemId = SQLHelper.GetNewID(typeof(Model.Driver_MeetingItem)),
|
||||
MeetingId = this.hdId.Text,
|
||||
UserId = tn.NodeID,
|
||||
};
|
||||
BLL.MeetingItemService.AddMeetingItem(newItem);
|
||||
}
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
////保存流程审核数据
|
||||
this.ctlAuditFlow.btnSaveData(this.CurrUser.LoginProjectId, BLL.Const.SpecialMeetingMenuId, this.hdId.Text, (type == BLL.Const.BtnSubmit ? true : false), newData.MeetingCode, null);
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 初始化树
|
||||
/// <summary>
|
||||
/// 初始化树
|
||||
/// </summary>
|
||||
/// <param name="menuList">单位集合</param>
|
||||
private void InitMenuTree()
|
||||
{
|
||||
this.tvAttendMeetingsPerson.Nodes.Clear();
|
||||
var units = BLL.UnitService.GetUnitByProjectIdList(this.CurrUser.LoginProjectId);
|
||||
foreach (var item in units)
|
||||
{
|
||||
TreeNode rootNode = new TreeNode
|
||||
{
|
||||
Text = item.UnitName,
|
||||
NodeID = item.UnitId,
|
||||
EnableCheckBox = true,
|
||||
EnableCheckEvent = true,
|
||||
Expanded = true
|
||||
};
|
||||
this.tvAttendMeetingsPerson.Nodes.Add(rootNode);
|
||||
this.BoundTree(rootNode.Nodes, rootNode.NodeID);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 遍历增加子节点
|
||||
/// </summary>
|
||||
/// <param name="nodes"></param>
|
||||
/// <param name="menuId"></param>
|
||||
private void BoundTree(TreeNodeCollection nodes, string superMenuId)
|
||||
{
|
||||
var menus = BLL.UserService.GetUserByUnitId(this.CurrUser.LoginProjectId, superMenuId);
|
||||
foreach (var item in menus)
|
||||
{
|
||||
TreeNode chidNode = new TreeNode
|
||||
{
|
||||
Text = item.Text,
|
||||
NodeID = item.Value,
|
||||
EnableCheckBox = true,
|
||||
EnableCheckEvent = true
|
||||
};
|
||||
var items = BLL.MeetingItemService.GetMeetingItemByMeetingId(this.hdId.Text.Trim());
|
||||
if (items.Count > 0)
|
||||
{
|
||||
foreach (var i in items)
|
||||
{
|
||||
if (i.UserId == item.Value)
|
||||
{
|
||||
chidNode.Checked = true;
|
||||
chidNode.Expanded = true;
|
||||
chidNode.Selectable = true;
|
||||
var meeting = BLL.MeetingService.GetMeetingById(this.hdId.Text.Trim());
|
||||
if (meeting != null)
|
||||
{
|
||||
if (meeting.States == "2")
|
||||
{
|
||||
if (i.IsMeeting == true)
|
||||
{
|
||||
chidNode.Text = item.Text + "(可按时参加)";
|
||||
}
|
||||
else if (i.IsMeeting == false)
|
||||
{
|
||||
chidNode.Text = item.Text + "(因故不参加:" + i.Feedback + ")";
|
||||
}
|
||||
else
|
||||
{
|
||||
chidNode.Text = item.Text + "(暂未反馈)";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
nodes.Add(chidNode);
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 全选、全不选
|
||||
/// <summary>
|
||||
/// 全选、全不选
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void tvAttendMeetingsPerson_NodeCheck(object sender, FineUIPro.TreeCheckEventArgs e)
|
||||
{
|
||||
if (e.Checked)
|
||||
{
|
||||
this.tvAttendMeetingsPerson.CheckAllNodes(e.Node.Nodes);
|
||||
SetCheckParentNode(e.Node);
|
||||
}
|
||||
else
|
||||
{
|
||||
this.tvAttendMeetingsPerson.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
|
||||
}
|
||||
|
|
|
@ -66,6 +66,15 @@ namespace FineUIPro.Web.TestRun.Meeting {
|
|||
/// </remarks>
|
||||
protected global::FineUIPro.Button btnSave;
|
||||
|
||||
/// <summary>
|
||||
/// btnSubmit 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Button btnSubmit;
|
||||
|
||||
/// <summary>
|
||||
/// hdAttachUrl 控件。
|
||||
/// </summary>
|
||||
|
@ -103,31 +112,13 @@ namespace FineUIPro.Web.TestRun.Meeting {
|
|||
protected global::FineUIPro.Form Form2;
|
||||
|
||||
/// <summary>
|
||||
/// drpUnitWorkId 控件。
|
||||
/// txtMeetingCode 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.DropDownList drpUnitWorkId;
|
||||
|
||||
/// <summary>
|
||||
/// txtMeetingTake 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.TextBox txtMeetingTake;
|
||||
|
||||
/// <summary>
|
||||
/// txtMeetingUnit 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.TextBox txtMeetingUnit;
|
||||
protected global::FineUIPro.TextBox txtMeetingCode;
|
||||
|
||||
/// <summary>
|
||||
/// txtMeetingDate 控件。
|
||||
|
@ -138,15 +129,6 @@ namespace FineUIPro.Web.TestRun.Meeting {
|
|||
/// </remarks>
|
||||
protected global::FineUIPro.DatePicker txtMeetingDate;
|
||||
|
||||
/// <summary>
|
||||
/// txtNumber 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.TextBox txtNumber;
|
||||
|
||||
/// <summary>
|
||||
/// txtMeetingAddress 控件。
|
||||
/// </summary>
|
||||
|
@ -157,22 +139,31 @@ namespace FineUIPro.Web.TestRun.Meeting {
|
|||
protected global::FineUIPro.TextBox txtMeetingAddress;
|
||||
|
||||
/// <summary>
|
||||
/// txtMeetingContent 控件。
|
||||
/// txtMeetingUrl 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.TextArea txtMeetingContent;
|
||||
protected global::FineUIPro.TextBox txtMeetingUrl;
|
||||
|
||||
/// <summary>
|
||||
/// txtRemark 控件。
|
||||
/// drpCompileMan 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.TextArea txtRemark;
|
||||
protected global::FineUIPro.DropDownList drpCompileMan;
|
||||
|
||||
/// <summary>
|
||||
/// txtCompileDate 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.DatePicker txtCompileDate;
|
||||
|
||||
/// <summary>
|
||||
/// Panel3 控件。
|
||||
|
@ -201,6 +192,60 @@ namespace FineUIPro.Web.TestRun.Meeting {
|
|||
/// </remarks>
|
||||
protected global::FineUIPro.Button btnAttach;
|
||||
|
||||
/// <summary>
|
||||
/// Panel1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Panel Panel1;
|
||||
|
||||
/// <summary>
|
||||
/// Label1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Label Label1;
|
||||
|
||||
/// <summary>
|
||||
/// btnSign 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Button btnSign;
|
||||
|
||||
/// <summary>
|
||||
/// tvAttendMeetingsPerson 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Tree tvAttendMeetingsPerson;
|
||||
|
||||
/// <summary>
|
||||
/// ContentPanel1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.ContentPanel ContentPanel1;
|
||||
|
||||
/// <summary>
|
||||
/// ctlAuditFlow 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Web.Controls.FlowOperateControl ctlAuditFlow;
|
||||
|
||||
/// <summary>
|
||||
/// WindowAtt 控件。
|
||||
/// </summary>
|
||||
|
|
|
@ -0,0 +1,106 @@
|
|||
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="SpecialMeetingView.aspx.cs" Inherits="FineUIPro.Web.TestRun.Meeting.SpecialMeetingView" ValidateRequest="false" %>
|
||||
<%@ Register Src="~/Controls/FlowOperateControl.ascx" TagName="FlowOperateControl" TagPrefix="uc1" %>
|
||||
|
||||
<!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="SimpleForm1" runat="server" />
|
||||
<f:Form ID="SimpleForm1" ShowBorder="false" ShowHeader="false" AutoScroll="true"
|
||||
BodyPadding="10px" runat="server" RedStarPosition="BeforeText" LabelAlign="Right">
|
||||
<Toolbars>
|
||||
<f:Toolbar ID="Toolbar1" Position="Bottom" ToolbarAlign="Right" runat="server">
|
||||
<Items>
|
||||
<f:ToolbarFill ID="ToolbarFill1" runat="server">
|
||||
</f:ToolbarFill>
|
||||
<f:HiddenField ID="hdAttachUrl" runat="server">
|
||||
</f:HiddenField>
|
||||
<f:HiddenField ID="hdId" runat="server"></f:HiddenField>
|
||||
</Items>
|
||||
</f:Toolbar>
|
||||
</Toolbars>
|
||||
<Rows>
|
||||
<f:FormRow>
|
||||
<Items>
|
||||
<f:ContentPanel ID="ContentPanel2" ShowBorder="true"
|
||||
BodyPadding="10px" EnableCollapse="true" ShowHeader="false" AutoScroll="true"
|
||||
runat="server">
|
||||
<f:Form ID="Form2" ShowBorder="false" ShowHeader="false" AutoScroll="true"
|
||||
BodyPadding="10px" runat="server" RedStarPosition="BeforeText" LabelAlign="Right">
|
||||
<Rows>
|
||||
<f:FormRow>
|
||||
<Items>
|
||||
<f:TextBox ID="txtMeetingCode" runat="server" Label="编号" LabelAlign="Right" LabelWidth="100px" >
|
||||
</f:TextBox>
|
||||
<f:DatePicker ID="txtMeetingDate" runat="server" Label="会议日期" LabelAlign="Right" LabelWidth="100px" ></f:DatePicker>
|
||||
</Items>
|
||||
</f:FormRow>
|
||||
<f:FormRow>
|
||||
<Items>
|
||||
<f:TextBox ID="txtMeetingAddress" runat="server" Label="地点" LabelAlign="Right" LabelWidth="100px">
|
||||
</f:TextBox>
|
||||
<f:TextBox ID="txtMeetingUrl" runat="server" Label="会议链接" LabelAlign="Right" LabelWidth="100px" >
|
||||
</f:TextBox>
|
||||
</Items>
|
||||
</f:FormRow>
|
||||
<f:FormRow>
|
||||
<Items>
|
||||
<f:DropDownList ID="drpCompileMan" runat="server" Label="发起人" LabelAlign="Right" LabelWidth="100px" ></f:DropDownList>
|
||||
<f:DatePicker ID="txtCompileDate" runat="server" Label="发起日期" LabelAlign="Right" LabelWidth="100px" ></f:DatePicker>
|
||||
</Items>
|
||||
</f:FormRow>
|
||||
<f:FormRow runat="server">
|
||||
<Items>
|
||||
<f:Panel ID="Panel3" Width="300px" ShowHeader="false" ShowBorder="false" Layout="Column" CssClass="" runat="server">
|
||||
<Items>
|
||||
<f:Label ID="lblAttach" runat="server" Label="会议纪要" LabelWidth="100px">
|
||||
</f:Label>
|
||||
<f:Button ID="btnAttach" Icon="TableCell" EnablePostBack="true" Text="附件" runat="server" OnClick="btnAttach_Click">
|
||||
</f:Button>
|
||||
</Items>
|
||||
</f:Panel>
|
||||
<f:Panel ID="Panel1" Width="300px" ShowHeader="false" ShowBorder="false" Layout="Column" CssClass="" runat="server">
|
||||
<Items>
|
||||
<f:Label ID="Label1" runat="server" Label="签到表" LabelWidth="100px">
|
||||
</f:Label>
|
||||
<f:Button ID="btnSign" Icon="TableCell" EnablePostBack="true" Text="附件" runat="server" OnClick="btnSign_Click">
|
||||
</f:Button>
|
||||
</Items>
|
||||
</f:Panel>
|
||||
</Items>
|
||||
</f:FormRow>
|
||||
<f:FormRow runat="server">
|
||||
<Items>
|
||||
<f:Tree ID="tvAttendMeetingsPerson" EnableCollapse="true" ShowHeader="true" Title="参会人员" EnableCheckBox="true"
|
||||
AutoLeafIdentification="true" runat="server" EnableIcons="true" AutoScroll="true"
|
||||
EnableSingleClickExpand="true" >
|
||||
</f:Tree>
|
||||
</Items>
|
||||
</f:FormRow>
|
||||
<f:FormRow>
|
||||
<Items>
|
||||
<f:ContentPanel ID="ContentPanel1" runat="server" ShowHeader="false" EnableCollapse="true"
|
||||
BodyPadding="0px">
|
||||
<uc1:FlowOperateControl ID="ctlAuditFlow" runat="server" />
|
||||
</f:ContentPanel>
|
||||
</Items>
|
||||
</f:FormRow>
|
||||
</Rows>
|
||||
</f:Form>
|
||||
</f:ContentPanel>
|
||||
</Items>
|
||||
</f:FormRow>
|
||||
</Rows>
|
||||
</f:Form>
|
||||
<f:Window ID="WindowAtt" Title="弹出窗体" Hidden="true" EnableIFrame="true" EnableMaximize="true"
|
||||
Target="Parent" EnableResize="false" runat="server" IsModal="true" Width="700px"
|
||||
Height="500px">
|
||||
</f:Window>
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,150 @@
|
|||
using System;
|
||||
|
||||
namespace FineUIPro.Web.TestRun.Meeting
|
||||
{
|
||||
public partial class SpecialMeetingView : PageBase
|
||||
{
|
||||
#region 加载
|
||||
/// <summary>
|
||||
/// 页面加载
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (!IsPostBack)
|
||||
{
|
||||
BLL.UserService.InitUserDropDownList(this.drpCompileMan, this.CurrUser.LoginProjectId, true);
|
||||
string id = Request.Params["id"];
|
||||
if (!string.IsNullOrEmpty(id))
|
||||
{
|
||||
Model.Driver_Meeting data = BLL.MeetingService.GetMeetingById(id);
|
||||
if (data != null)
|
||||
{
|
||||
this.hdId.Text = id;
|
||||
this.txtMeetingCode.Text = data.MeetingCode;
|
||||
this.txtMeetingDate.Text = data.MeetingDate.HasValue ? string.Format("{0:yyyy-MM-dd}", data.MeetingDate) : "";
|
||||
this.txtMeetingAddress.Text = data.MeetingAddress;
|
||||
this.txtMeetingUrl.Text = data.AttachUrl;
|
||||
if (!string.IsNullOrEmpty(data.CompileMan))
|
||||
{
|
||||
this.drpCompileMan.SelectedValue = data.CompileMan;
|
||||
}
|
||||
this.txtCompileDate.Text = data.CompileDate.HasValue ? string.Format("{0:yyyy-MM-dd}", data.CompileDate) : "";
|
||||
}
|
||||
}
|
||||
InitMenuTree();
|
||||
///初始化审核菜单
|
||||
this.ctlAuditFlow.MenuId = BLL.Const.SpecialMeetingMenuId;
|
||||
this.ctlAuditFlow.DataId = id;
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 附件上传
|
||||
/// <summary>
|
||||
/// 会议纪要
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void btnAttach_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (!string.IsNullOrEmpty(this.hdId.Text))
|
||||
{
|
||||
PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("../../AttachFile/webuploader.aspx?type=-1&toKeyId={0}&path=FileUpload/TestRun/Meeting/SpecialMeeting&menuId={1}&strParam=1", this.hdId.Text, BLL.Const.SpecialMeetingMenuId)));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 签到表
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void btnSign_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (!string.IsNullOrEmpty(this.hdId.Text))
|
||||
{
|
||||
PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("../../AttachFile/webuploader.aspx?type=-1&toKeyId={0}&path=FileUpload/TestRun/Meeting/SpecialMeeting&menuId={1}&strParam=2", this.hdId.Text, BLL.Const.SpecialMeetingMenuId)));
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 初始化树
|
||||
/// <summary>
|
||||
/// 初始化树
|
||||
/// </summary>
|
||||
/// <param name="menuList">单位集合</param>
|
||||
private void InitMenuTree()
|
||||
{
|
||||
this.tvAttendMeetingsPerson.Nodes.Clear();
|
||||
var units = BLL.UnitService.GetUnitByProjectIdList(this.CurrUser.LoginProjectId);
|
||||
foreach (var item in units)
|
||||
{
|
||||
TreeNode rootNode = new TreeNode
|
||||
{
|
||||
Text = item.UnitName,
|
||||
NodeID = item.UnitId,
|
||||
EnableCheckBox = true,
|
||||
EnableCheckEvent = true,
|
||||
Expanded = true
|
||||
};
|
||||
this.tvAttendMeetingsPerson.Nodes.Add(rootNode);
|
||||
this.BoundTree(rootNode.Nodes, rootNode.NodeID);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 遍历增加子节点
|
||||
/// </summary>
|
||||
/// <param name="nodes"></param>
|
||||
/// <param name="menuId"></param>
|
||||
private void BoundTree(TreeNodeCollection nodes, string superMenuId)
|
||||
{
|
||||
var menus = BLL.UserService.GetUserByUnitId(this.CurrUser.LoginProjectId, superMenuId);
|
||||
foreach (var item in menus)
|
||||
{
|
||||
TreeNode chidNode = new TreeNode
|
||||
{
|
||||
Text = item.Text,
|
||||
NodeID = item.Value,
|
||||
EnableCheckBox = true,
|
||||
EnableCheckEvent = true
|
||||
};
|
||||
var items = BLL.MeetingItemService.GetMeetingItemByMeetingId(this.hdId.Text.Trim());
|
||||
if (items.Count > 0)
|
||||
{
|
||||
foreach (var i in items)
|
||||
{
|
||||
if (i.UserId == item.Value)
|
||||
{
|
||||
chidNode.Checked = true;
|
||||
chidNode.Expanded = true;
|
||||
chidNode.Selectable = true;
|
||||
var meeting = BLL.MeetingService.GetMeetingById(this.hdId.Text.Trim());
|
||||
if (meeting != null)
|
||||
{
|
||||
if (meeting.States == "2")
|
||||
{
|
||||
if (i.IsMeeting == true)
|
||||
{
|
||||
chidNode.Text = item.Text + "(可按时参加)";
|
||||
}
|
||||
else if (i.IsMeeting == false)
|
||||
{
|
||||
chidNode.Text = item.Text + "(因故不参加:" + i.Feedback + ")";
|
||||
}
|
||||
else
|
||||
{
|
||||
chidNode.Text = item.Text + "(暂未反馈)";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
nodes.Add(chidNode);
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
}
|
|
@ -0,0 +1,240 @@
|
|||
//------------------------------------------------------------------------------
|
||||
// <自动生成>
|
||||
// 此代码由工具生成。
|
||||
//
|
||||
// 对此文件的更改可能导致不正确的行为,如果
|
||||
// 重新生成代码,则所做更改将丢失。
|
||||
// </自动生成>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace FineUIPro.Web.TestRun.Meeting {
|
||||
|
||||
|
||||
public partial class SpecialMeetingView {
|
||||
|
||||
/// <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>
|
||||
/// Toolbar1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Toolbar Toolbar1;
|
||||
|
||||
/// <summary>
|
||||
/// ToolbarFill1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.ToolbarFill ToolbarFill1;
|
||||
|
||||
/// <summary>
|
||||
/// hdAttachUrl 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.HiddenField hdAttachUrl;
|
||||
|
||||
/// <summary>
|
||||
/// hdId 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.HiddenField hdId;
|
||||
|
||||
/// <summary>
|
||||
/// ContentPanel2 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.ContentPanel ContentPanel2;
|
||||
|
||||
/// <summary>
|
||||
/// Form2 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Form Form2;
|
||||
|
||||
/// <summary>
|
||||
/// txtMeetingCode 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.TextBox txtMeetingCode;
|
||||
|
||||
/// <summary>
|
||||
/// txtMeetingDate 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.DatePicker txtMeetingDate;
|
||||
|
||||
/// <summary>
|
||||
/// txtMeetingAddress 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.TextBox txtMeetingAddress;
|
||||
|
||||
/// <summary>
|
||||
/// txtMeetingUrl 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.TextBox txtMeetingUrl;
|
||||
|
||||
/// <summary>
|
||||
/// drpCompileMan 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.DropDownList drpCompileMan;
|
||||
|
||||
/// <summary>
|
||||
/// txtCompileDate 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.DatePicker txtCompileDate;
|
||||
|
||||
/// <summary>
|
||||
/// Panel3 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Panel Panel3;
|
||||
|
||||
/// <summary>
|
||||
/// lblAttach 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Label lblAttach;
|
||||
|
||||
/// <summary>
|
||||
/// btnAttach 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Button btnAttach;
|
||||
|
||||
/// <summary>
|
||||
/// Panel1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Panel Panel1;
|
||||
|
||||
/// <summary>
|
||||
/// Label1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Label Label1;
|
||||
|
||||
/// <summary>
|
||||
/// btnSign 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Button btnSign;
|
||||
|
||||
/// <summary>
|
||||
/// tvAttendMeetingsPerson 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Tree tvAttendMeetingsPerson;
|
||||
|
||||
/// <summary>
|
||||
/// ContentPanel1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.ContentPanel ContentPanel1;
|
||||
|
||||
/// <summary>
|
||||
/// ctlAuditFlow 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Web.Controls.FlowOperateControl ctlAuditFlow;
|
||||
|
||||
/// <summary>
|
||||
/// WindowAtt 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Window WindowAtt;
|
||||
}
|
||||
}
|
|
@ -4,8 +4,9 @@
|
|||
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head runat="server">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<title>开车周例会</title>
|
||||
<link href="../../res/css/common.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<form id="form1" runat="server">
|
||||
|
@ -20,8 +21,7 @@
|
|||
<Toolbars>
|
||||
<f:Toolbar ID="ToolSearch" Position="Top" runat="server" ToolbarAlign="Left">
|
||||
<Items>
|
||||
<f:DropDownList ID="drpUnitWorkId" runat="server" Label="单位工程" LabelAlign="Right"></f:DropDownList>
|
||||
<f:TextBox ID="txtMeetingContent" runat="server" Label="会议内容" LabelAlign="Right"></f:TextBox>
|
||||
<f:TextBox ID="txtCode" runat="server" Label="编号" LabelAlign="Right"></f:TextBox>
|
||||
<f:Button ID="btnSearch" Icon="SystemSearch" ToolTip="搜索"
|
||||
EnablePostBack="true" runat="server" OnClick="btnSearch_Click">
|
||||
</f:Button>
|
||||
|
@ -32,37 +32,38 @@
|
|||
</f:Toolbar>
|
||||
</Toolbars>
|
||||
<Columns>
|
||||
<f:TemplateField ColumnID="tfPageIndex" Width="55px" HeaderText="序号" HeaderTextAlign="Center" TextAlign="Center"
|
||||
<f:TemplateField ColumnID="tfPageIndex" Width="55px" HeaderText="序号" HeaderTextAlign="Center" TextAlign="Center"
|
||||
EnableLock="true" Locked="False">
|
||||
<ItemTemplate>
|
||||
<asp:Label ID="lblPageIndex" runat="server" Text='<%# Grid1.PageIndex * Grid1.PageSize + Container.DataItemIndex + 1 %>'></asp:Label>
|
||||
</ItemTemplate>
|
||||
</f:TemplateField>
|
||||
<f:RenderField ColumnID="UnitWorkName" DataField="UnitWorkName"
|
||||
FieldType="String" HeaderText="单位工程" HeaderTextAlign="Center" Width="120px">
|
||||
</f:RenderField>
|
||||
<f:RenderField ColumnID="MeetingTake" DataField="MeetingTake"
|
||||
FieldType="String" HeaderText="会议主持" HeaderTextAlign="Center" Width="150px">
|
||||
</f:RenderField>
|
||||
<f:RenderField ColumnID="MeetingUnit" DataField="MeetingUnit"
|
||||
FieldType="String" HeaderText="参会单位" HeaderTextAlign="Center" Width="220px">
|
||||
<f:RenderField ColumnID="MeetingCode" DataField="MeetingCode"
|
||||
FieldType="String" HeaderText="编号" HeaderTextAlign="Center" Width="180px">
|
||||
</f:RenderField>
|
||||
<f:RenderField ColumnID="MeetingDate" DataField="MeetingDate"
|
||||
FieldType="Date" Renderer="Date" HeaderText="会议日期" HeaderTextAlign="Center" Width="110px">
|
||||
</f:RenderField>
|
||||
<f:RenderField ColumnID="Number" DataField="Number"
|
||||
FieldType="String" HeaderText="期数" HeaderTextAlign="Center" Width="150px">
|
||||
FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd" HeaderText="会议日期" HeaderTextAlign="Center" Width="100px">
|
||||
</f:RenderField>
|
||||
<f:RenderField ColumnID="MeetingAddress" DataField="MeetingAddress"
|
||||
FieldType="String" HeaderText="地点" HeaderTextAlign="Center" Width="180px">
|
||||
FieldType="String" HeaderText="会议地点" HeaderTextAlign="Center" Width="180px">
|
||||
</f:RenderField>
|
||||
<f:RenderField ColumnID="MeetingContent" DataField="MeetingContent"
|
||||
FieldType="String" HeaderText="会议内容" HeaderTextAlign="Center" Width="200px">
|
||||
<f:RenderField ColumnID="CompileManName" DataField="CompileManName"
|
||||
FieldType="String" HeaderText="发起人" HeaderTextAlign="Center" Width="90px">
|
||||
</f:RenderField>
|
||||
<f:RenderField ColumnID="Remark" DataField="Remark"
|
||||
FieldType="String" HeaderText="备注" HeaderTextAlign="Center" Width="120px">
|
||||
<f:RenderField ColumnID="CompileDate" DataField="CompileDate"
|
||||
FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd" HeaderText="发起时间" HeaderTextAlign="Center" Width="100px">
|
||||
</f:RenderField>
|
||||
<f:LinkButtonField HeaderText="附件" ConfirmTarget="Top" Width="80px" CommandName="AttachUrl" ColumnID="AttachUrl"
|
||||
<f:TemplateField HeaderText="参会人" Width="300px" HeaderTextAlign="Center" ExpandUnusedSpace="true">
|
||||
<ItemTemplate>
|
||||
<asp:Label ID="tbxGroupName" runat="server" Text='<%# ConvertUserName(Eval("MeetingId")) %>'></asp:Label>
|
||||
</ItemTemplate>
|
||||
</f:TemplateField>
|
||||
<f:RenderField ColumnID="FlowOperateName" DataField="FlowOperateName"
|
||||
FieldType="String" HeaderText="状态" HeaderTextAlign="Center" Width="110px">
|
||||
</f:RenderField>
|
||||
<f:LinkButtonField HeaderText="会议纪要" ConfirmTarget="Top" Width="80px" CommandName="AttachUrl" ColumnID="AttachUrl"
|
||||
TextAlign="Center" ToolTip="附件查看" Icon="Find" />
|
||||
<f:LinkButtonField HeaderText="签到表" ConfirmTarget="Top" Width="80px" CommandName="SignUrl" ColumnID="SignUrl"
|
||||
TextAlign="Center" ToolTip="附件查看" Icon="Find" />
|
||||
</Columns>
|
||||
<Listeners>
|
||||
|
@ -88,6 +89,10 @@
|
|||
Target="Parent" EnableResize="false" runat="server" IsModal="true" OnClose="Window1_Close"
|
||||
Width="900px" Height="630px">
|
||||
</f:Window>
|
||||
<f:Window ID="Window2" Title="通知反馈" Hidden="true" EnableIFrame="true" EnableMaximize="true"
|
||||
Target="Parent" EnableResize="false" runat="server" IsModal="true" OnClose="Window1_Close"
|
||||
Width="900px" Height="430px">
|
||||
</f:Window>
|
||||
<f:Window ID="WindowAtt" Title="弹出窗体" Hidden="true" EnableIFrame="true" EnableMaximize="true"
|
||||
Target="Parent" EnableResize="false" runat="server" IsModal="true" Width="700px"
|
||||
Height="500px">
|
||||
|
@ -99,6 +104,8 @@
|
|||
<f:MenuButton ID="btnMenuDel" EnablePostBack="true" runat="server" Icon="Delete" Text="删除" ConfirmText="确定删除当前数据?"
|
||||
OnClick="btnMenuDel_Click">
|
||||
</f:MenuButton>
|
||||
<f:MenuButton ID="btnMenuFeek" EnablePostBack="true" runat="server" Text="反馈" Icon="BookAddressesKey" OnClick="btnMenuFeek_Click">
|
||||
</f:MenuButton>
|
||||
</Items>
|
||||
</f:Menu>
|
||||
</form>
|
||||
|
|
|
@ -17,7 +17,6 @@ namespace FineUIPro.Web.TestRun.Meeting
|
|||
GetButtonPower();
|
||||
BindGrid();
|
||||
btnNew.OnClientClick = Window1.GetShowReference("WeekMeetingEdit.aspx") + "return false;";
|
||||
BLL.UnitWorkService.InitUnitWorkDropDownList(this.drpUnitWorkId, this.CurrUser.LoginProjectId, true);
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
@ -37,25 +36,26 @@ namespace FineUIPro.Web.TestRun.Meeting
|
|||
meeting.Number,
|
||||
meeting.MeetingType,
|
||||
meeting.Remark,
|
||||
unitWork.UnitWorkName"
|
||||
meeting.MeetingCode,
|
||||
meeting.CompileMan,
|
||||
u.UserName as CompileManName,
|
||||
meeting.CompileDate,"
|
||||
+ @" (CASE WHEN meeting.States = " + BLL.Const.State_0 + " OR meeting.States IS NULL THEN '待['+OperateUser.UserName+']提交' WHEN meeting.States = " + BLL.Const.State_2 + " THEN '审核/审批完成' ELSE '待['+OperateUser.UserName+']办理' END) AS FlowOperateName"
|
||||
+ @" FROM Driver_Meeting AS meeting "
|
||||
+ @" LEFT JOIN WBS_UnitWork AS unitWork ON unitWork.UnitWorkId = meeting.UnitWorkId WHERE meeting.ProjectId=@projectId AND meeting.MeetingType='2'";
|
||||
+ @" LEFT JOIN Sys_FlowOperate AS FlowOperate ON meeting.MeetingId=FlowOperate.DataId AND FlowOperate.IsClosed <> 1"
|
||||
+ @" LEFT JOIN Sys_User AS OperateUser ON FlowOperate.OperaterId=OperateUser.UserId"
|
||||
+ @" LEFT JOIN Sys_User as u on u.UserId = meeting.CompileMan"
|
||||
+ @" WHERE meeting.ProjectId=@projectId AND meeting.MeetingType='2'";
|
||||
List<SqlParameter> listStr = new List<SqlParameter>();
|
||||
listStr.Add(new SqlParameter("@projectId", this.CurrUser.LoginProjectId));
|
||||
if (!string.IsNullOrEmpty(this.drpUnitWorkId.SelectedValue) && this.drpUnitWorkId.SelectedValue != BLL.Const._Null)
|
||||
if (!string.IsNullOrEmpty(this.txtCode.Text.Trim()))
|
||||
{
|
||||
strSql += " AND meeting.UnitWorkId=@unitWorkId";
|
||||
listStr.Add(new SqlParameter("@unitWorkId", this.drpUnitWorkId.SelectedValue));
|
||||
}
|
||||
if (!string.IsNullOrEmpty(this.txtMeetingContent.Text.Trim()))
|
||||
{
|
||||
strSql += " AND meeting.MeetingContent LIKE @MeetingContent";
|
||||
listStr.Add(new SqlParameter("@MeetingContent", "%" + this.txtMeetingContent.Text.Trim() + "%"));
|
||||
strSql += " AND meeting.MeetingCode LIKE @meetingCode";
|
||||
listStr.Add(new SqlParameter("@meetingCode", "%" + this.txtCode.Text.Trim() + "%"));
|
||||
}
|
||||
SqlParameter[] parameter = listStr.ToArray();
|
||||
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
|
||||
Grid1.RecordCount = tb.Rows.Count;
|
||||
//tb = GetFilteredTable(Grid1.FilteredData, tb);
|
||||
var table = this.GetPagedDataTable(Grid1, tb);
|
||||
Grid1.DataSource = table;
|
||||
Grid1.DataBind();
|
||||
|
@ -143,7 +143,22 @@ namespace FineUIPro.Web.TestRun.Meeting
|
|||
Alert.ShowInTop("请至少选择一条记录", MessageBoxIcon.Warning);
|
||||
return;
|
||||
}
|
||||
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("WeekMeetingEdit.aspx?id={0}", Grid1.SelectedRowID, "编辑 - ")));
|
||||
var user = (from x in Funs.DB.Sys_FlowOperate where x.DataId == Grid1.SelectedRowID && x.MenuId == BLL.Const.WeekMeetingMenuId && x.IsClosed == false orderby x.SortIndex descending select x).FirstOrDefault();
|
||||
if (user != null)
|
||||
{
|
||||
if (user.OperaterId == this.CurrUser.UserId)
|
||||
{
|
||||
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("WeekMeetingEdit.aspx?id={0}", Grid1.SelectedRowID, "编辑 - ")));
|
||||
}
|
||||
else
|
||||
{
|
||||
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("WeekMeetingView.aspx?id={0}", Grid1.SelectedRowID, "编辑 - ")));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("WeekMeetingView.aspx?id={0}", Grid1.SelectedRowID, "编辑 - ")));
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
|
@ -158,6 +173,7 @@ namespace FineUIPro.Web.TestRun.Meeting
|
|||
var info = BLL.MeetingService.GetMeetingById(rowID);
|
||||
if (info != null)
|
||||
{
|
||||
BLL.MeetingItemService.DeleteMeetingItemByMeetingId(rowID);
|
||||
BLL.MeetingService.DeleteMeeting(rowID);
|
||||
}
|
||||
}
|
||||
|
@ -178,7 +194,11 @@ namespace FineUIPro.Web.TestRun.Meeting
|
|||
string id = Grid1.DataKeys[e.RowIndex][0].ToString();
|
||||
if (e.CommandName == "AttachUrl")
|
||||
{
|
||||
PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("../../AttachFile/webuploader.aspx?type=-1&toKeyId={0}&path=FileUpload/TestRun/Meeting/WeekMeeting&menuId={1}", id, BLL.Const.WeekMeetingMenuId)));
|
||||
PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("../../AttachFile/webuploader.aspx?type=-1&toKeyId={0}&path=FileUpload/TestRun/Meeting/WeekMeeting&menuId={1}&strParam=1", id, BLL.Const.WeekMeetingMenuId)));
|
||||
}
|
||||
if (e.CommandName == "SignUrl")
|
||||
{
|
||||
PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("../../AttachFile/webuploader.aspx?type=-1&toKeyId={0}&path=FileUpload/TestRun/Meeting/WeekMeeting&menuId={1}&strParam=2", id, BLL.Const.WeekMeetingMenuId)));
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
@ -208,5 +228,74 @@ namespace FineUIPro.Web.TestRun.Meeting
|
|||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 格式化字符串
|
||||
/// <summary>
|
||||
/// 获取通知人员姓名
|
||||
/// </summary>
|
||||
/// <param name="meetingId"></param>
|
||||
/// <returns></returns>
|
||||
protected string ConvertUserName(object meetingId)
|
||||
{
|
||||
string userName = string.Empty;
|
||||
var meetingItem = BLL.MeetingItemService.GetMeetingItemByMeetingId(meetingId.ToString());
|
||||
if (meetingItem.Count > 0)
|
||||
{
|
||||
foreach (var item in meetingItem)
|
||||
{
|
||||
userName += BLL.UserService.GetUserNameByUserId(item.UserId) + ",";
|
||||
}
|
||||
if (!string.IsNullOrEmpty(userName))
|
||||
{
|
||||
userName = userName.Substring(0, userName.LastIndexOf(','));
|
||||
}
|
||||
}
|
||||
return userName;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 通知反馈
|
||||
/// <summary>
|
||||
/// 反馈
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void btnMenuFeek_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (Grid1.SelectedRowIndexArray.Length == 0)
|
||||
{
|
||||
Alert.ShowInTop("请至少选择一条记录", MessageBoxIcon.Warning);
|
||||
return;
|
||||
}
|
||||
var meeting = BLL.MeetingService.GetMeetingById(Grid1.SelectedRowID);
|
||||
if (meeting.States == "2")
|
||||
{
|
||||
var items = BLL.MeetingItemService.GetMeetingItemByMeetingId(Grid1.SelectedRowID);
|
||||
if (items.Count > 0)
|
||||
{
|
||||
var user = items.Where(x => x.UserId == this.CurrUser.UserId);
|
||||
if (user.Count() > 0)
|
||||
{
|
||||
PageContext.RegisterStartupScript(Window2.GetShowReference(String.Format("Feedback.aspx?id={0}", Grid1.SelectedRowID, "编辑 - ")));
|
||||
}
|
||||
else
|
||||
{
|
||||
Alert.ShowInTop("未参与此会议,无需反馈!", MessageBoxIcon.Warning);
|
||||
return;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
Alert.ShowInTop("未参与此会议,无需反馈!", MessageBoxIcon.Warning);
|
||||
return;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
Alert.ShowInTop("审核未完成,无需反馈!", MessageBoxIcon.Warning);
|
||||
return;
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
}
|
|
@ -58,22 +58,13 @@ namespace FineUIPro.Web.TestRun.Meeting {
|
|||
protected global::FineUIPro.Toolbar ToolSearch;
|
||||
|
||||
/// <summary>
|
||||
/// drpUnitWorkId 控件。
|
||||
/// txtCode 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.DropDownList drpUnitWorkId;
|
||||
|
||||
/// <summary>
|
||||
/// txtMeetingContent 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.TextBox txtMeetingContent;
|
||||
protected global::FineUIPro.TextBox txtCode;
|
||||
|
||||
/// <summary>
|
||||
/// btnSearch 控件。
|
||||
|
@ -102,6 +93,15 @@ namespace FineUIPro.Web.TestRun.Meeting {
|
|||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label lblPageIndex;
|
||||
|
||||
/// <summary>
|
||||
/// tbxGroupName 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label tbxGroupName;
|
||||
|
||||
/// <summary>
|
||||
/// ToolbarSeparator1 控件。
|
||||
/// </summary>
|
||||
|
@ -138,6 +138,15 @@ namespace FineUIPro.Web.TestRun.Meeting {
|
|||
/// </remarks>
|
||||
protected global::FineUIPro.Window Window1;
|
||||
|
||||
/// <summary>
|
||||
/// Window2 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Window Window2;
|
||||
|
||||
/// <summary>
|
||||
/// WindowAtt 控件。
|
||||
/// </summary>
|
||||
|
@ -173,5 +182,14 @@ namespace FineUIPro.Web.TestRun.Meeting {
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.MenuButton btnMenuDel;
|
||||
|
||||
/// <summary>
|
||||
/// btnMenuFeek 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.MenuButton btnMenuFeek;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,10 +1,11 @@
|
|||
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WeekMeetingEdit.aspx.cs" Inherits="FineUIPro.Web.TestRun.Meeting.WeekMeetingEdit" %>
|
||||
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WeekMeetingEdit.aspx.cs" Inherits="FineUIPro.Web.TestRun.Meeting.WeekMeetingEdit" ValidateRequest="false"%>
|
||||
<%@ Register Src="~/Controls/FlowOperateControl.ascx" TagName="FlowOperateControl" TagPrefix="uc1" %>
|
||||
|
||||
<!DOCTYPE html>
|
||||
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head runat="server">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<title>编辑开车周例会</title>
|
||||
</head>
|
||||
<body>
|
||||
|
@ -19,6 +20,8 @@
|
|||
</f:ToolbarFill>
|
||||
<f:Button ID="btnSave" OnClick="btnSave_Click" Icon="SystemSave" runat="server" ToolTip="保存" ValidateForms="SimpleForm1">
|
||||
</f:Button>
|
||||
<f:Button ID="btnSubmit" OnClick="btnSubmit_Click" Icon="SystemSaveNew" runat="server" ToolTip="提交" ValidateForms="SimpleForm1">
|
||||
</f:Button>
|
||||
<f:HiddenField ID="hdAttachUrl" runat="server">
|
||||
</f:HiddenField>
|
||||
<f:HiddenField ID="hdId" runat="server"></f:HiddenField>
|
||||
|
@ -36,61 +39,59 @@
|
|||
<Rows>
|
||||
<f:FormRow>
|
||||
<Items>
|
||||
<f:DropDownList ID="drpUnitWorkId" runat="server" Label="单位工程" LabelAlign="Right" LabelWidth="150px"></f:DropDownList>
|
||||
<f:TextBox ID="txtMeetingCode" runat="server" Label="编号" LabelAlign="Right" LabelWidth="100px" MaxLength="50" Required="true" ShowRedStar="true">
|
||||
</f:TextBox>
|
||||
<f:DatePicker ID="txtMeetingDate" runat="server" Label="会议日期" LabelAlign="Right" LabelWidth="100px" Required="true" ShowRedStar="true"></f:DatePicker>
|
||||
</Items>
|
||||
</f:FormRow>
|
||||
<f:FormRow>
|
||||
<Items>
|
||||
<f:TextBox ID="txtMeetingTake" runat="server" Label="会议主持" LabelAlign="Right" LabelWidth="150px" MaxLength="50" Required="true" ShowRedStar="true">
|
||||
<f:TextBox ID="txtMeetingAddress" runat="server" Label="地点" LabelAlign="Right" LabelWidth="100px" MaxLength="100" Required="true" ShowRedStar="true">
|
||||
</f:TextBox>
|
||||
<f:TextBox ID="txtMeetingUrl" runat="server" Label="会议链接" LabelAlign="Right" LabelWidth="100px" MaxLength="1000">
|
||||
</f:TextBox>
|
||||
</Items>
|
||||
</f:FormRow>
|
||||
<f:FormRow>
|
||||
<Items>
|
||||
<f:TextBox ID="txtMeetingUnit" runat="server" Label="参会单位" LabelAlign="Right" LabelWidth="150px" MaxLength="150">
|
||||
</f:TextBox>
|
||||
</Items>
|
||||
</f:FormRow>
|
||||
<f:FormRow>
|
||||
<Items>
|
||||
<f:DatePicker ID="txtMeetingDate" runat="server" Label="会议日期" LabelAlign="Right" LabelWidth="150px"></f:DatePicker>
|
||||
</Items>
|
||||
</f:FormRow>
|
||||
<f:FormRow>
|
||||
<Items>
|
||||
<f:TextBox ID="txtNumber" runat="server" Label="期数" LabelAlign="Right" LabelWidth="150px" MaxLength="50">
|
||||
</f:TextBox>
|
||||
</Items>
|
||||
</f:FormRow>
|
||||
<f:FormRow>
|
||||
<Items>
|
||||
<f:TextBox ID="txtMeetingAddress" runat="server" Label="地点" LabelAlign="Right" LabelWidth="150px" MaxLength="100">
|
||||
</f:TextBox>
|
||||
</Items>
|
||||
</f:FormRow>
|
||||
<f:FormRow>
|
||||
<Items>
|
||||
<f:TextArea ID="txtMeetingContent" runat="server" Label="会议内容" LabelAlign="Right" LabelWidth="150px" MaxLength="500">
|
||||
</f:TextArea>
|
||||
</Items>
|
||||
</f:FormRow>
|
||||
<f:FormRow>
|
||||
<Items>
|
||||
<f:TextArea ID="txtRemark" runat="server" Label="备注" LabelAlign="Right" LabelWidth="150px" MaxLength="500">
|
||||
</f:TextArea>
|
||||
<f:DropDownList ID="drpCompileMan" runat="server" Label="发起人" LabelAlign="Right" LabelWidth="100px" EnableEdit="true" Required="true" ShowRedStar="true"></f:DropDownList>
|
||||
<f:DatePicker ID="txtCompileDate" runat="server" Label="发起日期" LabelAlign="Right" LabelWidth="100px" Required="true" ShowRedStar="true"></f:DatePicker>
|
||||
</Items>
|
||||
</f:FormRow>
|
||||
<f:FormRow runat="server">
|
||||
<Items>
|
||||
<f:Panel ID="Panel3" Width="300px" ShowHeader="false" ShowBorder="false" Layout="Column" CssClass="" runat="server">
|
||||
<Items>
|
||||
<f:Label ID="lblAttach" runat="server" Label="上传附件"
|
||||
LabelWidth="150px">
|
||||
<f:Label ID="lblAttach" runat="server" Label="会议纪要" LabelWidth="100px">
|
||||
</f:Label>
|
||||
<f:Button ID="btnAttach" Icon="TableCell" EnablePostBack="true" Text="附件" runat="server" OnClick="btnAttach_Click">
|
||||
</f:Button>
|
||||
</Items>
|
||||
</f:Panel>
|
||||
<f:Panel ID="Panel1" Width="300px" ShowHeader="false" ShowBorder="false" Layout="Column" CssClass="" runat="server">
|
||||
<Items>
|
||||
<f:Label ID="Label1" runat="server" Label="签到表" LabelWidth="100px">
|
||||
</f:Label>
|
||||
<f:Button ID="btnSign" Icon="TableCell" EnablePostBack="true" Text="附件" runat="server" OnClick="btnSign_Click">
|
||||
</f:Button>
|
||||
</Items>
|
||||
</f:Panel>
|
||||
</Items>
|
||||
</f:FormRow>
|
||||
<f:FormRow>
|
||||
<Items>
|
||||
<f:Tree ID="tvAttendMeetingsPerson" EnableCollapse="true" ShowHeader="true" Title="参会人员" EnableCheckBox="true"
|
||||
AutoLeafIdentification="true" runat="server" EnableIcons="true" AutoScroll="true"
|
||||
EnableSingleClickExpand="true" OnNodeCheck="tvAttendMeetingsPerson_NodeCheck">
|
||||
</f:Tree>
|
||||
</Items>
|
||||
</f:FormRow>
|
||||
<f:FormRow>
|
||||
<Items>
|
||||
<f:ContentPanel ID="ContentPanel1" runat="server" ShowHeader="false" EnableCollapse="true"
|
||||
BodyPadding="0px">
|
||||
<uc1:flowoperatecontrol id="ctlAuditFlow" runat="server" />
|
||||
</f:ContentPanel>
|
||||
</Items>
|
||||
</f:FormRow>
|
||||
</Rows>
|
||||
|
|
|
@ -15,8 +15,7 @@ namespace FineUIPro.Web.TestRun.Meeting
|
|||
{
|
||||
if (!IsPostBack)
|
||||
{
|
||||
BLL.UnitWorkService.InitUnitWorkDropDownList(this.drpUnitWorkId, this.CurrUser.LoginProjectId, true);
|
||||
|
||||
BLL.UserService.InitUserDropDownList(this.drpCompileMan, this.CurrUser.LoginProjectId, true);
|
||||
string id = Request.Params["id"];
|
||||
if (!string.IsNullOrEmpty(id))
|
||||
{
|
||||
|
@ -24,23 +23,32 @@ namespace FineUIPro.Web.TestRun.Meeting
|
|||
if (data != null)
|
||||
{
|
||||
this.hdId.Text = id;
|
||||
if (!string.IsNullOrEmpty(data.UnitWorkId))
|
||||
{
|
||||
this.drpUnitWorkId.SelectedValue = data.UnitWorkId;
|
||||
}
|
||||
this.txtMeetingTake.Text = data.MeetingTake;
|
||||
this.txtMeetingUnit.Text = data.MeetingUnit;
|
||||
this.txtMeetingCode.Text = data.MeetingCode;
|
||||
this.txtMeetingDate.Text = data.MeetingDate.HasValue ? string.Format("{0:yyyy-MM-dd}", data.MeetingDate) : "";
|
||||
this.txtMeetingAddress.Text = data.MeetingAddress;
|
||||
this.txtMeetingContent.Text = data.MeetingContent;
|
||||
this.txtNumber.Text = data.Number;
|
||||
this.txtRemark.Text = data.Remark;
|
||||
this.txtMeetingUrl.Text = data.AttachUrl;
|
||||
if (!string.IsNullOrEmpty(data.CompileMan))
|
||||
{
|
||||
this.drpCompileMan.SelectedValue = data.CompileMan;
|
||||
}
|
||||
this.txtCompileDate.Text = data.CompileDate.HasValue ? string.Format("{0:yyyy-MM-dd}", data.CompileDate) : "";
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
this.txtMeetingDate.Text = string.Format("{0:yyyy-MM-dd}", DateTime.Now);
|
||||
this.drpCompileMan.SelectedValue = this.CurrUser.LoginProjectId;
|
||||
this.txtCompileDate.Text = string.Format("{0:yyyy-MM-dd}", DateTime.Now);
|
||||
string perfix = BLL.ProjectService.GetProjectCodeByProjectId(this.CurrUser.LoginProjectId) + "-MM-PSM-";
|
||||
this.txtMeetingCode.Text = BLL.SQLHelper.RunProcNewId("SpGetThreeNumber", "dbo.Driver_Meeting", "MeetingCode", this.CurrUser.LoginProjectId, perfix);
|
||||
}
|
||||
///初始化审核菜单
|
||||
this.ctlAuditFlow.MenuId = BLL.Const.WeekMeetingMenuId;
|
||||
this.ctlAuditFlow.DataId = id;
|
||||
this.ctlAuditFlow.ProjectId = this.CurrUser.LoginProjectId;
|
||||
this.ctlAuditFlow.UnitId = this.CurrUser.UnitId;
|
||||
|
||||
InitMenuTree();
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
@ -57,7 +65,21 @@ namespace FineUIPro.Web.TestRun.Meeting
|
|||
{
|
||||
this.hdId.Text = SQLHelper.GetNewID(typeof(Model.Driver_Meeting));
|
||||
}
|
||||
PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("../../AttachFile/webuploader.aspx?type=0&toKeyId={0}&path=FileUpload/TestRun/Meeting/WeekMeeting&menuId={1}", this.hdId.Text, BLL.Const.WeekMeetingMenuId)));
|
||||
PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("../../AttachFile/webuploader.aspx?type=0&toKeyId={0}&path=FileUpload/TestRun/Meeting/WeekMeeting&menuId={1}&strParam=1", this.hdId.Text, BLL.Const.WeekMeetingMenuId)));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 签到表
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void btnSign_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (string.IsNullOrEmpty(this.hdId.Text)) //新增记录
|
||||
{
|
||||
this.hdId.Text = SQLHelper.GetNewID(typeof(Model.Driver_Meeting));
|
||||
}
|
||||
PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("../../AttachFile/webuploader.aspx?type=0&toKeyId={0}&path=FileUpload/TestRun/Meeting/WeekMeeting&menuId={1}&strParam=2", this.hdId.Text, BLL.Const.WeekMeetingMenuId)));
|
||||
}
|
||||
#endregion
|
||||
|
||||
|
@ -68,21 +90,53 @@ namespace FineUIPro.Web.TestRun.Meeting
|
|||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void btnSave_Click(object sender, EventArgs e)
|
||||
{
|
||||
SaveData(BLL.Const.BtnSave);
|
||||
ShowNotify("保存成功!", MessageBoxIcon.Success);
|
||||
PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 提交按钮
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void btnSubmit_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (this.ctlAuditFlow.NextStep == BLL.Const.State_1 && this.ctlAuditFlow.NextPerson == BLL.Const._Null)
|
||||
{
|
||||
ShowNotify("请选择下一步办理人!", MessageBoxIcon.Warning);
|
||||
return;
|
||||
}
|
||||
SaveData(BLL.Const.BtnSubmit);
|
||||
ShowNotify("提交成功!", MessageBoxIcon.Success);
|
||||
PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 保存数据
|
||||
/// </summary>
|
||||
/// <param name="type"></param>
|
||||
private void SaveData(string type)
|
||||
{
|
||||
string id = Request.Params["id"];
|
||||
Model.Driver_Meeting newData = new Model.Driver_Meeting();
|
||||
if (this.drpUnitWorkId.SelectedValue != BLL.Const._Null)
|
||||
{
|
||||
newData.UnitWorkId = this.drpUnitWorkId.SelectedValue;
|
||||
}
|
||||
newData.MeetingTake = this.txtMeetingTake.Text.Trim();
|
||||
newData.MeetingUnit = this.txtMeetingUnit.Text.Trim();
|
||||
newData.MeetingCode = this.txtMeetingCode.Text.Trim();
|
||||
newData.MeetingDate = Funs.GetNewDateTime(this.txtMeetingDate.Text.Trim());
|
||||
newData.MeetingAddress = this.txtMeetingAddress.Text.Trim();
|
||||
newData.MeetingContent = this.txtMeetingContent.Text.Trim();
|
||||
newData.Number = this.txtNumber.Text.Trim();
|
||||
newData.Remark = this.txtRemark.Text.Trim();
|
||||
newData.AttachUrl = this.txtMeetingUrl.Text.Trim();
|
||||
if (this.drpCompileMan.SelectedValue != BLL.Const._Null)
|
||||
{
|
||||
newData.CompileMan = this.drpCompileMan.SelectedValue;
|
||||
}
|
||||
newData.CompileDate = Funs.GetNewDateTime(this.txtCompileDate.Text.Trim());
|
||||
newData.ProjectId = this.CurrUser.LoginProjectId;
|
||||
////单据状态
|
||||
newData.States = BLL.Const.State_0;
|
||||
if (type == BLL.Const.BtnSubmit)
|
||||
{
|
||||
newData.States = this.ctlAuditFlow.NextStep;
|
||||
}
|
||||
if (!string.IsNullOrEmpty(id))
|
||||
{
|
||||
newData.MeetingId = id;
|
||||
|
@ -102,8 +156,145 @@ namespace FineUIPro.Web.TestRun.Meeting
|
|||
}
|
||||
BLL.MeetingService.AddMeeting(newData);
|
||||
}
|
||||
ShowNotify("保存成功!", MessageBoxIcon.Success);
|
||||
PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
|
||||
|
||||
#region 保存参会人员
|
||||
BLL.MeetingItemService.DeleteMeetingItemByMeetingId(this.hdId.Text);
|
||||
TreeNode[] nodes = this.tvAttendMeetingsPerson.GetCheckedNodes();
|
||||
if (nodes.Length > 0)
|
||||
{
|
||||
foreach (TreeNode tn in nodes)
|
||||
{
|
||||
if (tn.NodeID != "0")
|
||||
{
|
||||
Model.Driver_MeetingItem newItem = new Model.Driver_MeetingItem
|
||||
{
|
||||
MeetingItemId = SQLHelper.GetNewID(typeof(Model.Driver_MeetingItem)),
|
||||
MeetingId = this.hdId.Text,
|
||||
UserId = tn.NodeID,
|
||||
};
|
||||
BLL.MeetingItemService.AddMeetingItem(newItem);
|
||||
}
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
////保存流程审核数据
|
||||
this.ctlAuditFlow.btnSaveData(this.CurrUser.LoginProjectId, BLL.Const.WeekMeetingMenuId, this.hdId.Text, (type == BLL.Const.BtnSubmit ? true : false), newData.MeetingCode, null);
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 初始化树
|
||||
/// <summary>
|
||||
/// 初始化树
|
||||
/// </summary>
|
||||
/// <param name="menuList">单位集合</param>
|
||||
private void InitMenuTree()
|
||||
{
|
||||
this.tvAttendMeetingsPerson.Nodes.Clear();
|
||||
var units = BLL.UnitService.GetUnitByProjectIdList(this.CurrUser.LoginProjectId);
|
||||
foreach (var item in units)
|
||||
{
|
||||
TreeNode rootNode = new TreeNode
|
||||
{
|
||||
Text = item.UnitName,
|
||||
NodeID = item.UnitId,
|
||||
EnableCheckBox = true,
|
||||
EnableCheckEvent = true,
|
||||
Expanded = true
|
||||
};
|
||||
this.tvAttendMeetingsPerson.Nodes.Add(rootNode);
|
||||
this.BoundTree(rootNode.Nodes, rootNode.NodeID);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 遍历增加子节点
|
||||
/// </summary>
|
||||
/// <param name="nodes"></param>
|
||||
/// <param name="menuId"></param>
|
||||
private void BoundTree(TreeNodeCollection nodes, string superMenuId)
|
||||
{
|
||||
var menus = BLL.UserService.GetUserByUnitId(this.CurrUser.LoginProjectId, superMenuId);
|
||||
foreach (var item in menus)
|
||||
{
|
||||
TreeNode chidNode = new TreeNode
|
||||
{
|
||||
Text = item.Text,
|
||||
NodeID = item.Value,
|
||||
EnableCheckBox = true,
|
||||
EnableCheckEvent = true
|
||||
};
|
||||
var items = BLL.MeetingItemService.GetMeetingItemByMeetingId(this.hdId.Text.Trim());
|
||||
if (items.Count > 0)
|
||||
{
|
||||
foreach (var i in items)
|
||||
{
|
||||
if (i.UserId == item.Value)
|
||||
{
|
||||
chidNode.Checked = true;
|
||||
chidNode.Expanded = true;
|
||||
chidNode.Selectable = true;
|
||||
|
||||
var meeting = BLL.MeetingService.GetMeetingById(this.hdId.Text.Trim());
|
||||
if (meeting != null)
|
||||
{
|
||||
if (meeting.States == "2")
|
||||
{
|
||||
if (i.IsMeeting == true)
|
||||
{
|
||||
chidNode.Text = item.Text + "(可按时参加)";
|
||||
}
|
||||
else if (i.IsMeeting == false)
|
||||
{
|
||||
chidNode.Text = item.Text + "(因故不参加:" + i.Feedback + ")";
|
||||
}
|
||||
else
|
||||
{
|
||||
chidNode.Text = item.Text + "(暂未反馈)";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
nodes.Add(chidNode);
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 全选、全不选
|
||||
/// <summary>
|
||||
/// 全选、全不选
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void tvAttendMeetingsPerson_NodeCheck(object sender, FineUIPro.TreeCheckEventArgs e)
|
||||
{
|
||||
if (e.Checked)
|
||||
{
|
||||
this.tvAttendMeetingsPerson.CheckAllNodes(e.Node.Nodes);
|
||||
SetCheckParentNode(e.Node);
|
||||
}
|
||||
else
|
||||
{
|
||||
this.tvAttendMeetingsPerson.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
|
||||
}
|
||||
|
|
|
@ -66,6 +66,15 @@ namespace FineUIPro.Web.TestRun.Meeting {
|
|||
/// </remarks>
|
||||
protected global::FineUIPro.Button btnSave;
|
||||
|
||||
/// <summary>
|
||||
/// btnSubmit 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Button btnSubmit;
|
||||
|
||||
/// <summary>
|
||||
/// hdAttachUrl 控件。
|
||||
/// </summary>
|
||||
|
@ -103,31 +112,13 @@ namespace FineUIPro.Web.TestRun.Meeting {
|
|||
protected global::FineUIPro.Form Form2;
|
||||
|
||||
/// <summary>
|
||||
/// drpUnitWorkId 控件。
|
||||
/// txtMeetingCode 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.DropDownList drpUnitWorkId;
|
||||
|
||||
/// <summary>
|
||||
/// txtMeetingTake 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.TextBox txtMeetingTake;
|
||||
|
||||
/// <summary>
|
||||
/// txtMeetingUnit 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.TextBox txtMeetingUnit;
|
||||
protected global::FineUIPro.TextBox txtMeetingCode;
|
||||
|
||||
/// <summary>
|
||||
/// txtMeetingDate 控件。
|
||||
|
@ -138,15 +129,6 @@ namespace FineUIPro.Web.TestRun.Meeting {
|
|||
/// </remarks>
|
||||
protected global::FineUIPro.DatePicker txtMeetingDate;
|
||||
|
||||
/// <summary>
|
||||
/// txtNumber 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.TextBox txtNumber;
|
||||
|
||||
/// <summary>
|
||||
/// txtMeetingAddress 控件。
|
||||
/// </summary>
|
||||
|
@ -157,22 +139,31 @@ namespace FineUIPro.Web.TestRun.Meeting {
|
|||
protected global::FineUIPro.TextBox txtMeetingAddress;
|
||||
|
||||
/// <summary>
|
||||
/// txtMeetingContent 控件。
|
||||
/// txtMeetingUrl 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.TextArea txtMeetingContent;
|
||||
protected global::FineUIPro.TextBox txtMeetingUrl;
|
||||
|
||||
/// <summary>
|
||||
/// txtRemark 控件。
|
||||
/// drpCompileMan 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.TextArea txtRemark;
|
||||
protected global::FineUIPro.DropDownList drpCompileMan;
|
||||
|
||||
/// <summary>
|
||||
/// txtCompileDate 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.DatePicker txtCompileDate;
|
||||
|
||||
/// <summary>
|
||||
/// Panel3 控件。
|
||||
|
@ -201,6 +192,60 @@ namespace FineUIPro.Web.TestRun.Meeting {
|
|||
/// </remarks>
|
||||
protected global::FineUIPro.Button btnAttach;
|
||||
|
||||
/// <summary>
|
||||
/// Panel1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Panel Panel1;
|
||||
|
||||
/// <summary>
|
||||
/// Label1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Label Label1;
|
||||
|
||||
/// <summary>
|
||||
/// btnSign 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Button btnSign;
|
||||
|
||||
/// <summary>
|
||||
/// tvAttendMeetingsPerson 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Tree tvAttendMeetingsPerson;
|
||||
|
||||
/// <summary>
|
||||
/// ContentPanel1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.ContentPanel ContentPanel1;
|
||||
|
||||
/// <summary>
|
||||
/// ctlAuditFlow 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Web.Controls.FlowOperateControl ctlAuditFlow;
|
||||
|
||||
/// <summary>
|
||||
/// WindowAtt 控件。
|
||||
/// </summary>
|
||||
|
|
|
@ -0,0 +1,106 @@
|
|||
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WeekMeetingView.aspx.cs" Inherits="FineUIPro.Web.TestRun.Meeting.WeekMeetingView" ValidateRequest="false" %>
|
||||
<%@ Register Src="~/Controls/FlowOperateControl.ascx" TagName="FlowOperateControl" TagPrefix="uc1" %>
|
||||
|
||||
<!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="SimpleForm1" runat="server" />
|
||||
<f:Form ID="SimpleForm1" ShowBorder="false" ShowHeader="false" AutoScroll="true"
|
||||
BodyPadding="10px" runat="server" RedStarPosition="BeforeText" LabelAlign="Right">
|
||||
<Toolbars>
|
||||
<f:Toolbar ID="Toolbar1" Position="Bottom" ToolbarAlign="Right" runat="server">
|
||||
<Items>
|
||||
<f:ToolbarFill ID="ToolbarFill1" runat="server">
|
||||
</f:ToolbarFill>
|
||||
<f:HiddenField ID="hdAttachUrl" runat="server">
|
||||
</f:HiddenField>
|
||||
<f:HiddenField ID="hdId" runat="server"></f:HiddenField>
|
||||
</Items>
|
||||
</f:Toolbar>
|
||||
</Toolbars>
|
||||
<Rows>
|
||||
<f:FormRow>
|
||||
<Items>
|
||||
<f:ContentPanel ID="ContentPanel2" ShowBorder="true"
|
||||
BodyPadding="10px" EnableCollapse="true" ShowHeader="false" AutoScroll="true"
|
||||
runat="server">
|
||||
<f:Form ID="Form2" ShowBorder="false" ShowHeader="false" AutoScroll="true"
|
||||
BodyPadding="10px" runat="server" RedStarPosition="BeforeText" LabelAlign="Right">
|
||||
<Rows>
|
||||
<f:FormRow>
|
||||
<Items>
|
||||
<f:TextBox ID="txtMeetingCode" runat="server" Label="编号" LabelAlign="Right" LabelWidth="100px" >
|
||||
</f:TextBox>
|
||||
<f:DatePicker ID="txtMeetingDate" runat="server" Label="会议日期" LabelAlign="Right" LabelWidth="100px" ></f:DatePicker>
|
||||
</Items>
|
||||
</f:FormRow>
|
||||
<f:FormRow>
|
||||
<Items>
|
||||
<f:TextBox ID="txtMeetingAddress" runat="server" Label="地点" LabelAlign="Right" LabelWidth="100px">
|
||||
</f:TextBox>
|
||||
<f:TextBox ID="txtMeetingUrl" runat="server" Label="会议链接" LabelAlign="Right" LabelWidth="100px" >
|
||||
</f:TextBox>
|
||||
</Items>
|
||||
</f:FormRow>
|
||||
<f:FormRow>
|
||||
<Items>
|
||||
<f:DropDownList ID="drpCompileMan" runat="server" Label="发起人" LabelAlign="Right" LabelWidth="100px" ></f:DropDownList>
|
||||
<f:DatePicker ID="txtCompileDate" runat="server" Label="发起日期" LabelAlign="Right" LabelWidth="100px" ></f:DatePicker>
|
||||
</Items>
|
||||
</f:FormRow>
|
||||
<f:FormRow runat="server">
|
||||
<Items>
|
||||
<f:Panel ID="Panel3" Width="300px" ShowHeader="false" ShowBorder="false" Layout="Column" CssClass="" runat="server">
|
||||
<Items>
|
||||
<f:Label ID="lblAttach" runat="server" Label="会议纪要" LabelWidth="100px">
|
||||
</f:Label>
|
||||
<f:Button ID="btnAttach" Icon="TableCell" EnablePostBack="true" Text="附件" runat="server" OnClick="btnAttach_Click">
|
||||
</f:Button>
|
||||
</Items>
|
||||
</f:Panel>
|
||||
<f:Panel ID="Panel1" Width="300px" ShowHeader="false" ShowBorder="false" Layout="Column" CssClass="" runat="server">
|
||||
<Items>
|
||||
<f:Label ID="Label1" runat="server" Label="签到表" LabelWidth="100px">
|
||||
</f:Label>
|
||||
<f:Button ID="btnSign" Icon="TableCell" EnablePostBack="true" Text="附件" runat="server" OnClick="btnSign_Click">
|
||||
</f:Button>
|
||||
</Items>
|
||||
</f:Panel>
|
||||
</Items>
|
||||
</f:FormRow>
|
||||
<f:FormRow runat="server">
|
||||
<Items>
|
||||
<f:Tree ID="tvAttendMeetingsPerson" EnableCollapse="true" ShowHeader="true" Title="参会人员" EnableCheckBox="true"
|
||||
AutoLeafIdentification="true" runat="server" EnableIcons="true" AutoScroll="true"
|
||||
EnableSingleClickExpand="true" >
|
||||
</f:Tree>
|
||||
</Items>
|
||||
</f:FormRow>
|
||||
<f:FormRow>
|
||||
<Items>
|
||||
<f:ContentPanel ID="ContentPanel1" runat="server" ShowHeader="false" EnableCollapse="true"
|
||||
BodyPadding="0px">
|
||||
<uc1:FlowOperateControl ID="ctlAuditFlow" runat="server" />
|
||||
</f:ContentPanel>
|
||||
</Items>
|
||||
</f:FormRow>
|
||||
</Rows>
|
||||
</f:Form>
|
||||
</f:ContentPanel>
|
||||
</Items>
|
||||
</f:FormRow>
|
||||
</Rows>
|
||||
</f:Form>
|
||||
<f:Window ID="WindowAtt" Title="弹出窗体" Hidden="true" EnableIFrame="true" EnableMaximize="true"
|
||||
Target="Parent" EnableResize="false" runat="server" IsModal="true" Width="700px"
|
||||
Height="500px">
|
||||
</f:Window>
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,150 @@
|
|||
using System;
|
||||
|
||||
namespace FineUIPro.Web.TestRun.Meeting
|
||||
{
|
||||
public partial class WeekMeetingView : PageBase
|
||||
{
|
||||
#region 加载
|
||||
/// <summary>
|
||||
/// 页面加载
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (!IsPostBack)
|
||||
{
|
||||
BLL.UserService.InitUserDropDownList(this.drpCompileMan, this.CurrUser.LoginProjectId, true);
|
||||
string id = Request.Params["id"];
|
||||
if (!string.IsNullOrEmpty(id))
|
||||
{
|
||||
Model.Driver_Meeting data = BLL.MeetingService.GetMeetingById(id);
|
||||
if (data != null)
|
||||
{
|
||||
this.hdId.Text = id;
|
||||
this.txtMeetingCode.Text = data.MeetingCode;
|
||||
this.txtMeetingDate.Text = data.MeetingDate.HasValue ? string.Format("{0:yyyy-MM-dd}", data.MeetingDate) : "";
|
||||
this.txtMeetingAddress.Text = data.MeetingAddress;
|
||||
this.txtMeetingUrl.Text = data.AttachUrl;
|
||||
if (!string.IsNullOrEmpty(data.CompileMan))
|
||||
{
|
||||
this.drpCompileMan.SelectedValue = data.CompileMan;
|
||||
}
|
||||
this.txtCompileDate.Text = data.CompileDate.HasValue ? string.Format("{0:yyyy-MM-dd}", data.CompileDate) : "";
|
||||
}
|
||||
}
|
||||
InitMenuTree();
|
||||
///初始化审核菜单
|
||||
this.ctlAuditFlow.MenuId = BLL.Const.WeekMeetingMenuId;
|
||||
this.ctlAuditFlow.DataId = id;
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 附件上传
|
||||
/// <summary>
|
||||
/// 会议纪要
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void btnAttach_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (!string.IsNullOrEmpty(this.hdId.Text))
|
||||
{
|
||||
PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("../../AttachFile/webuploader.aspx?type=-1&toKeyId={0}&path=FileUpload/TestRun/Meeting/WeekMeeting&menuId={1}&strParam=1", this.hdId.Text, BLL.Const.WeekMeetingMenuId)));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 签到表
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void btnSign_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (!string.IsNullOrEmpty(this.hdId.Text))
|
||||
{
|
||||
PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("../../AttachFile/webuploader.aspx?type=-1&toKeyId={0}&path=FileUpload/TestRun/Meeting/WeekMeeting&menuId={1}&strParam=2", this.hdId.Text, BLL.Const.WeekMeetingMenuId)));
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 初始化树
|
||||
/// <summary>
|
||||
/// 初始化树
|
||||
/// </summary>
|
||||
/// <param name="menuList">单位集合</param>
|
||||
private void InitMenuTree()
|
||||
{
|
||||
this.tvAttendMeetingsPerson.Nodes.Clear();
|
||||
var units = BLL.UnitService.GetUnitByProjectIdList(this.CurrUser.LoginProjectId);
|
||||
foreach (var item in units)
|
||||
{
|
||||
TreeNode rootNode = new TreeNode
|
||||
{
|
||||
Text = item.UnitName,
|
||||
NodeID = item.UnitId,
|
||||
EnableCheckBox = true,
|
||||
EnableCheckEvent = true,
|
||||
Expanded = true
|
||||
};
|
||||
this.tvAttendMeetingsPerson.Nodes.Add(rootNode);
|
||||
this.BoundTree(rootNode.Nodes, rootNode.NodeID);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 遍历增加子节点
|
||||
/// </summary>
|
||||
/// <param name="nodes"></param>
|
||||
/// <param name="menuId"></param>
|
||||
private void BoundTree(TreeNodeCollection nodes, string superMenuId)
|
||||
{
|
||||
var menus = BLL.UserService.GetUserByUnitId(this.CurrUser.LoginProjectId, superMenuId);
|
||||
foreach (var item in menus)
|
||||
{
|
||||
TreeNode chidNode = new TreeNode
|
||||
{
|
||||
Text = item.Text,
|
||||
NodeID = item.Value,
|
||||
EnableCheckBox = true,
|
||||
EnableCheckEvent = true
|
||||
};
|
||||
var items = BLL.MeetingItemService.GetMeetingItemByMeetingId(this.hdId.Text.Trim());
|
||||
if (items.Count > 0)
|
||||
{
|
||||
foreach (var i in items)
|
||||
{
|
||||
if (i.UserId == item.Value)
|
||||
{
|
||||
chidNode.Checked = true;
|
||||
chidNode.Expanded = true;
|
||||
chidNode.Selectable = true;
|
||||
var meeting = BLL.MeetingService.GetMeetingById(this.hdId.Text.Trim());
|
||||
if (meeting != null)
|
||||
{
|
||||
if (meeting.States == "2")
|
||||
{
|
||||
if (i.IsMeeting == true)
|
||||
{
|
||||
chidNode.Text = item.Text + "(可按时参加)";
|
||||
}
|
||||
else if (i.IsMeeting == false)
|
||||
{
|
||||
chidNode.Text = item.Text + "(因故不参加:" + i.Feedback + ")";
|
||||
}
|
||||
else
|
||||
{
|
||||
chidNode.Text = item.Text + "(暂未反馈)";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
nodes.Add(chidNode);
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
}
|
|
@ -0,0 +1,240 @@
|
|||
//------------------------------------------------------------------------------
|
||||
// <自动生成>
|
||||
// 此代码由工具生成。
|
||||
//
|
||||
// 对此文件的更改可能导致不正确的行为,如果
|
||||
// 重新生成代码,则所做更改将丢失。
|
||||
// </自动生成>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace FineUIPro.Web.TestRun.Meeting {
|
||||
|
||||
|
||||
public partial class WeekMeetingView {
|
||||
|
||||
/// <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>
|
||||
/// Toolbar1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Toolbar Toolbar1;
|
||||
|
||||
/// <summary>
|
||||
/// ToolbarFill1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.ToolbarFill ToolbarFill1;
|
||||
|
||||
/// <summary>
|
||||
/// hdAttachUrl 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.HiddenField hdAttachUrl;
|
||||
|
||||
/// <summary>
|
||||
/// hdId 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.HiddenField hdId;
|
||||
|
||||
/// <summary>
|
||||
/// ContentPanel2 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.ContentPanel ContentPanel2;
|
||||
|
||||
/// <summary>
|
||||
/// Form2 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Form Form2;
|
||||
|
||||
/// <summary>
|
||||
/// txtMeetingCode 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.TextBox txtMeetingCode;
|
||||
|
||||
/// <summary>
|
||||
/// txtMeetingDate 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.DatePicker txtMeetingDate;
|
||||
|
||||
/// <summary>
|
||||
/// txtMeetingAddress 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.TextBox txtMeetingAddress;
|
||||
|
||||
/// <summary>
|
||||
/// txtMeetingUrl 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.TextBox txtMeetingUrl;
|
||||
|
||||
/// <summary>
|
||||
/// drpCompileMan 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.DropDownList drpCompileMan;
|
||||
|
||||
/// <summary>
|
||||
/// txtCompileDate 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.DatePicker txtCompileDate;
|
||||
|
||||
/// <summary>
|
||||
/// Panel3 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Panel Panel3;
|
||||
|
||||
/// <summary>
|
||||
/// lblAttach 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Label lblAttach;
|
||||
|
||||
/// <summary>
|
||||
/// btnAttach 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Button btnAttach;
|
||||
|
||||
/// <summary>
|
||||
/// Panel1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Panel Panel1;
|
||||
|
||||
/// <summary>
|
||||
/// Label1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Label Label1;
|
||||
|
||||
/// <summary>
|
||||
/// btnSign 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Button btnSign;
|
||||
|
||||
/// <summary>
|
||||
/// tvAttendMeetingsPerson 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Tree tvAttendMeetingsPerson;
|
||||
|
||||
/// <summary>
|
||||
/// ContentPanel1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.ContentPanel ContentPanel1;
|
||||
|
||||
/// <summary>
|
||||
/// ctlAuditFlow 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Web.Controls.FlowOperateControl ctlAuditFlow;
|
||||
|
||||
/// <summary>
|
||||
/// WindowAtt 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Window WindowAtt;
|
||||
}
|
||||
}
|
|
@ -719,6 +719,9 @@ namespace Model
|
|||
partial void InsertDriver_Meeting(Driver_Meeting instance);
|
||||
partial void UpdateDriver_Meeting(Driver_Meeting instance);
|
||||
partial void DeleteDriver_Meeting(Driver_Meeting instance);
|
||||
partial void InsertDriver_MeetingItem(Driver_MeetingItem instance);
|
||||
partial void UpdateDriver_MeetingItem(Driver_MeetingItem instance);
|
||||
partial void DeleteDriver_MeetingItem(Driver_MeetingItem instance);
|
||||
partial void InsertDriver_TestRun(Driver_TestRun instance);
|
||||
partial void UpdateDriver_TestRun(Driver_TestRun instance);
|
||||
partial void DeleteDriver_TestRun(Driver_TestRun instance);
|
||||
|
@ -4412,6 +4415,14 @@ namespace Model
|
|||
}
|
||||
}
|
||||
|
||||
public System.Data.Linq.Table<Driver_MeetingItem> Driver_MeetingItem
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.GetTable<Driver_MeetingItem>();
|
||||
}
|
||||
}
|
||||
|
||||
public System.Data.Linq.Table<Driver_TestRun> Driver_TestRun
|
||||
{
|
||||
get
|
||||
|
@ -121006,10 +121017,20 @@ namespace Model
|
|||
|
||||
private string _Remark;
|
||||
|
||||
private string _MeetingCode;
|
||||
|
||||
private string _States;
|
||||
|
||||
private string _CompileMan;
|
||||
|
||||
private System.Nullable<System.DateTime> _CompileDate;
|
||||
|
||||
private EntityRef<Base_Project> _Base_Project;
|
||||
|
||||
private EntityRef<WBS_UnitWork> _WBS_UnitWork;
|
||||
|
||||
private EntitySet<Driver_MeetingItem> _Driver_MeetingItem;
|
||||
|
||||
#region 可扩展性方法定义
|
||||
partial void OnLoaded();
|
||||
partial void OnValidate(System.Data.Linq.ChangeAction action);
|
||||
|
@ -121038,12 +121059,21 @@ namespace Model
|
|||
partial void OnMeetingTypeChanged();
|
||||
partial void OnRemarkChanging(string value);
|
||||
partial void OnRemarkChanged();
|
||||
partial void OnMeetingCodeChanging(string value);
|
||||
partial void OnMeetingCodeChanged();
|
||||
partial void OnStatesChanging(string value);
|
||||
partial void OnStatesChanged();
|
||||
partial void OnCompileManChanging(string value);
|
||||
partial void OnCompileManChanged();
|
||||
partial void OnCompileDateChanging(System.Nullable<System.DateTime> value);
|
||||
partial void OnCompileDateChanged();
|
||||
#endregion
|
||||
|
||||
public Driver_Meeting()
|
||||
{
|
||||
this._Base_Project = default(EntityRef<Base_Project>);
|
||||
this._WBS_UnitWork = default(EntityRef<WBS_UnitWork>);
|
||||
this._Driver_MeetingItem = new EntitySet<Driver_MeetingItem>(new Action<Driver_MeetingItem>(this.attach_Driver_MeetingItem), new Action<Driver_MeetingItem>(this.detach_Driver_MeetingItem));
|
||||
OnCreated();
|
||||
}
|
||||
|
||||
|
@ -121295,6 +121325,86 @@ namespace Model
|
|||
}
|
||||
}
|
||||
|
||||
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_MeetingCode", DbType="NVarChar(50)")]
|
||||
public string MeetingCode
|
||||
{
|
||||
get
|
||||
{
|
||||
return this._MeetingCode;
|
||||
}
|
||||
set
|
||||
{
|
||||
if ((this._MeetingCode != value))
|
||||
{
|
||||
this.OnMeetingCodeChanging(value);
|
||||
this.SendPropertyChanging();
|
||||
this._MeetingCode = value;
|
||||
this.SendPropertyChanged("MeetingCode");
|
||||
this.OnMeetingCodeChanged();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_States", DbType="Char(1)")]
|
||||
public string States
|
||||
{
|
||||
get
|
||||
{
|
||||
return this._States;
|
||||
}
|
||||
set
|
||||
{
|
||||
if ((this._States != value))
|
||||
{
|
||||
this.OnStatesChanging(value);
|
||||
this.SendPropertyChanging();
|
||||
this._States = value;
|
||||
this.SendPropertyChanged("States");
|
||||
this.OnStatesChanged();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CompileMan", DbType="NVarChar(50)")]
|
||||
public string CompileMan
|
||||
{
|
||||
get
|
||||
{
|
||||
return this._CompileMan;
|
||||
}
|
||||
set
|
||||
{
|
||||
if ((this._CompileMan != value))
|
||||
{
|
||||
this.OnCompileManChanging(value);
|
||||
this.SendPropertyChanging();
|
||||
this._CompileMan = value;
|
||||
this.SendPropertyChanged("CompileMan");
|
||||
this.OnCompileManChanged();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CompileDate", DbType="DateTime")]
|
||||
public System.Nullable<System.DateTime> CompileDate
|
||||
{
|
||||
get
|
||||
{
|
||||
return this._CompileDate;
|
||||
}
|
||||
set
|
||||
{
|
||||
if ((this._CompileDate != value))
|
||||
{
|
||||
this.OnCompileDateChanging(value);
|
||||
this.SendPropertyChanging();
|
||||
this._CompileDate = value;
|
||||
this.SendPropertyChanged("CompileDate");
|
||||
this.OnCompileDateChanged();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Data.Linq.Mapping.AssociationAttribute(Name="FK_Driver_Meeting_Base_Project", Storage="_Base_Project", ThisKey="ProjectId", OtherKey="ProjectId", IsForeignKey=true)]
|
||||
public Base_Project Base_Project
|
||||
{
|
||||
|
@ -121363,6 +121473,230 @@ namespace Model
|
|||
}
|
||||
}
|
||||
|
||||
[global::System.Data.Linq.Mapping.AssociationAttribute(Name="FK_Driver_MeetingItem_Driver_Meeting", Storage="_Driver_MeetingItem", ThisKey="MeetingId", OtherKey="MeetingId", DeleteRule="NO ACTION")]
|
||||
public EntitySet<Driver_MeetingItem> Driver_MeetingItem
|
||||
{
|
||||
get
|
||||
{
|
||||
return this._Driver_MeetingItem;
|
||||
}
|
||||
set
|
||||
{
|
||||
this._Driver_MeetingItem.Assign(value);
|
||||
}
|
||||
}
|
||||
|
||||
public event PropertyChangingEventHandler PropertyChanging;
|
||||
|
||||
public event PropertyChangedEventHandler PropertyChanged;
|
||||
|
||||
protected virtual void SendPropertyChanging()
|
||||
{
|
||||
if ((this.PropertyChanging != null))
|
||||
{
|
||||
this.PropertyChanging(this, emptyChangingEventArgs);
|
||||
}
|
||||
}
|
||||
|
||||
protected virtual void SendPropertyChanged(String propertyName)
|
||||
{
|
||||
if ((this.PropertyChanged != null))
|
||||
{
|
||||
this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
|
||||
}
|
||||
}
|
||||
|
||||
private void attach_Driver_MeetingItem(Driver_MeetingItem entity)
|
||||
{
|
||||
this.SendPropertyChanging();
|
||||
entity.Driver_Meeting = this;
|
||||
}
|
||||
|
||||
private void detach_Driver_MeetingItem(Driver_MeetingItem entity)
|
||||
{
|
||||
this.SendPropertyChanging();
|
||||
entity.Driver_Meeting = null;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.Driver_MeetingItem")]
|
||||
public partial class Driver_MeetingItem : INotifyPropertyChanging, INotifyPropertyChanged
|
||||
{
|
||||
|
||||
private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
|
||||
|
||||
private string _MeetingItemId;
|
||||
|
||||
private string _MeetingId;
|
||||
|
||||
private string _UserId;
|
||||
|
||||
private System.Nullable<bool> _IsMeeting;
|
||||
|
||||
private string _Feedback;
|
||||
|
||||
private EntityRef<Driver_Meeting> _Driver_Meeting;
|
||||
|
||||
#region 可扩展性方法定义
|
||||
partial void OnLoaded();
|
||||
partial void OnValidate(System.Data.Linq.ChangeAction action);
|
||||
partial void OnCreated();
|
||||
partial void OnMeetingItemIdChanging(string value);
|
||||
partial void OnMeetingItemIdChanged();
|
||||
partial void OnMeetingIdChanging(string value);
|
||||
partial void OnMeetingIdChanged();
|
||||
partial void OnUserIdChanging(string value);
|
||||
partial void OnUserIdChanged();
|
||||
partial void OnIsMeetingChanging(System.Nullable<bool> value);
|
||||
partial void OnIsMeetingChanged();
|
||||
partial void OnFeedbackChanging(string value);
|
||||
partial void OnFeedbackChanged();
|
||||
#endregion
|
||||
|
||||
public Driver_MeetingItem()
|
||||
{
|
||||
this._Driver_Meeting = default(EntityRef<Driver_Meeting>);
|
||||
OnCreated();
|
||||
}
|
||||
|
||||
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_MeetingItemId", DbType="NVarChar(50) NOT NULL", CanBeNull=false, IsPrimaryKey=true)]
|
||||
public string MeetingItemId
|
||||
{
|
||||
get
|
||||
{
|
||||
return this._MeetingItemId;
|
||||
}
|
||||
set
|
||||
{
|
||||
if ((this._MeetingItemId != value))
|
||||
{
|
||||
this.OnMeetingItemIdChanging(value);
|
||||
this.SendPropertyChanging();
|
||||
this._MeetingItemId = value;
|
||||
this.SendPropertyChanged("MeetingItemId");
|
||||
this.OnMeetingItemIdChanged();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_MeetingId", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
|
||||
public string MeetingId
|
||||
{
|
||||
get
|
||||
{
|
||||
return this._MeetingId;
|
||||
}
|
||||
set
|
||||
{
|
||||
if ((this._MeetingId != value))
|
||||
{
|
||||
if (this._Driver_Meeting.HasLoadedOrAssignedValue)
|
||||
{
|
||||
throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
|
||||
}
|
||||
this.OnMeetingIdChanging(value);
|
||||
this.SendPropertyChanging();
|
||||
this._MeetingId = value;
|
||||
this.SendPropertyChanged("MeetingId");
|
||||
this.OnMeetingIdChanged();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_UserId", DbType="NVarChar(50)")]
|
||||
public string UserId
|
||||
{
|
||||
get
|
||||
{
|
||||
return this._UserId;
|
||||
}
|
||||
set
|
||||
{
|
||||
if ((this._UserId != value))
|
||||
{
|
||||
this.OnUserIdChanging(value);
|
||||
this.SendPropertyChanging();
|
||||
this._UserId = value;
|
||||
this.SendPropertyChanged("UserId");
|
||||
this.OnUserIdChanged();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_IsMeeting", DbType="Bit")]
|
||||
public System.Nullable<bool> IsMeeting
|
||||
{
|
||||
get
|
||||
{
|
||||
return this._IsMeeting;
|
||||
}
|
||||
set
|
||||
{
|
||||
if ((this._IsMeeting != value))
|
||||
{
|
||||
this.OnIsMeetingChanging(value);
|
||||
this.SendPropertyChanging();
|
||||
this._IsMeeting = value;
|
||||
this.SendPropertyChanged("IsMeeting");
|
||||
this.OnIsMeetingChanged();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Feedback", DbType="NVarChar(100)")]
|
||||
public string Feedback
|
||||
{
|
||||
get
|
||||
{
|
||||
return this._Feedback;
|
||||
}
|
||||
set
|
||||
{
|
||||
if ((this._Feedback != value))
|
||||
{
|
||||
this.OnFeedbackChanging(value);
|
||||
this.SendPropertyChanging();
|
||||
this._Feedback = value;
|
||||
this.SendPropertyChanged("Feedback");
|
||||
this.OnFeedbackChanged();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Data.Linq.Mapping.AssociationAttribute(Name="FK_Driver_MeetingItem_Driver_Meeting", Storage="_Driver_Meeting", ThisKey="MeetingId", OtherKey="MeetingId", IsForeignKey=true)]
|
||||
public Driver_Meeting Driver_Meeting
|
||||
{
|
||||
get
|
||||
{
|
||||
return this._Driver_Meeting.Entity;
|
||||
}
|
||||
set
|
||||
{
|
||||
Driver_Meeting previousValue = this._Driver_Meeting.Entity;
|
||||
if (((previousValue != value)
|
||||
|| (this._Driver_Meeting.HasLoadedOrAssignedValue == false)))
|
||||
{
|
||||
this.SendPropertyChanging();
|
||||
if ((previousValue != null))
|
||||
{
|
||||
this._Driver_Meeting.Entity = null;
|
||||
previousValue.Driver_MeetingItem.Remove(this);
|
||||
}
|
||||
this._Driver_Meeting.Entity = value;
|
||||
if ((value != null))
|
||||
{
|
||||
value.Driver_MeetingItem.Add(this);
|
||||
this._MeetingId = value.MeetingId;
|
||||
}
|
||||
else
|
||||
{
|
||||
this._MeetingId = default(string);
|
||||
}
|
||||
this.SendPropertyChanged("Driver_Meeting");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public event PropertyChangingEventHandler PropertyChanging;
|
||||
|
||||
public event PropertyChangedEventHandler PropertyChanged;
|
||||
|
|
Loading…
Reference in New Issue