260 lines
16 KiB
Plaintext
260 lines
16 KiB
Plaintext
|
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ManHoursActual.aspx.cs" Inherits="FineUIPro.Web.ManHours.ManHoursActual" %>
|
|||
|
|
|||
|
<!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>
|
|||
|
<style type="text/css">
|
|||
|
.customlabel span {
|
|||
|
color: red;
|
|||
|
font-weight: bold;
|
|||
|
}
|
|||
|
</style>
|
|||
|
</head>
|
|||
|
<body>
|
|||
|
<form id="form1" runat="server">
|
|||
|
<f:PageManager ID="PageManager1" runat="server" AutoSizePanelID="Panel1" />
|
|||
|
<f:Panel ID="Panel1" CssClass="blockpanel" Margin="20px" runat="server" ShowBorder="false" ShowHeader="false" Layout="Region">
|
|||
|
<Items>
|
|||
|
<f:Panel runat="server" ID="panelCenterRegion" RegionPosition="Center" AutoScroll="true"
|
|||
|
Title="中间面板" ShowBorder="true" ShowHeader="false" BodyPadding="10px">
|
|||
|
<Toolbars>
|
|||
|
<f:Toolbar ID="Toolbar1" runat="server">
|
|||
|
<Items>
|
|||
|
<f:Button ID="btnNew" Text="Add" Icon="Add" EnablePostBack="false" runat="server" Hidden="true">
|
|||
|
</f:Button>
|
|||
|
<f:Button ID="btnDelete" Text="Delete" Icon="Delete" EnablePostBack="false" runat="server" Hidden="true">
|
|||
|
<Listeners>
|
|||
|
<f:Listener Event="click" Handler="onDeleteClick" />
|
|||
|
</Listeners>
|
|||
|
</f:Button>
|
|||
|
<f:Button ID="btnSelect" runat="server" Text="Select Task" Icon="Find" OnClick="btnSelect_Click" Hidden="true"></f:Button>
|
|||
|
<f:DatePicker ID="txtMonth" runat="server" Label="Month" LabelAlign="Right" DateFormatString="yyyyMM" DisplayType="Month" ShowTodayButton="false" Width="250px" AutoPostBack="true" OnTextChanged="txtMonth_TextChanged"></f:DatePicker>
|
|||
|
</Items>
|
|||
|
</f:Toolbar>
|
|||
|
</Toolbars>
|
|||
|
<Items>
|
|||
|
<f:HiddenField runat="server" ID="hidsIdArr" />
|
|||
|
<f:HiddenField runat="server" ID="HiddenField1" />
|
|||
|
<f:Grid ID="Grid1" ShowBorder="true" ShowHeader="false" Title="人工时实际计划" EnableCollapse="true"
|
|||
|
runat="server" BoxFlex="1" AllowCellEditing="true" EnableColumnLines="true"
|
|||
|
ClicksToEdit="1" AllowSorting="true" SortField="Hours" EnableRowDoubleClickEvent="true" EnableSummary="true" SummaryPosition="Bottom">
|
|||
|
<Columns>
|
|||
|
<f:RenderField Width="10px" ColumnID="EProjectId" DataField="EProjectId"
|
|||
|
FieldType="String" HeaderText="EProjectId" HeaderTextAlign="Center" Hidden="true">
|
|||
|
</f:RenderField>
|
|||
|
<f:RenderField Width="120px" ColumnID="ManHoursActualId" DataField="ManHoursActualId"
|
|||
|
FieldType="String" HeaderText="ManHoursActualId" HeaderTextAlign="Center" Hidden="true">
|
|||
|
</f:RenderField>
|
|||
|
<f:RenderField Width="200px" ColumnID="Type" DataField="Type" EnableFilter="true"
|
|||
|
RendererFunction="renderddType"
|
|||
|
SortField="Type" FieldType="String" HeaderText="Type" HeaderTextAlign="Center" TextAlign="Left">
|
|||
|
<Editor>
|
|||
|
<f:DropDownList ID="ddType" runat="server" Required="true" ShowRedStar="true" EnableEdit="true" ForceSelection="false" EnableGroup="true"></f:DropDownList>
|
|||
|
</Editor>
|
|||
|
</f:RenderField>
|
|||
|
<f:RenderField Width="200px" ColumnID="Account" DataField="Account"
|
|||
|
FieldType="String" HeaderText="Account" HeaderTextAlign="Center">
|
|||
|
<Editor>
|
|||
|
<f:TextBox ID="txtAccount" Required="true" runat="server">
|
|||
|
</f:TextBox>
|
|||
|
</Editor>
|
|||
|
</f:RenderField>
|
|||
|
<f:RenderField Width="600px" ColumnID="Description" DataField="Description"
|
|||
|
FieldType="String" HeaderText="Description" HeaderTextAlign="Center" ExpandUnusedSpace="true">
|
|||
|
<Editor>
|
|||
|
<f:TextBox ID="txtDescription" Required="true" runat="server">
|
|||
|
</f:TextBox>
|
|||
|
</Editor>
|
|||
|
</f:RenderField>
|
|||
|
<f:RenderField Width="120px" ColumnID="Hours" DataField="Hours"
|
|||
|
FieldType="Float" HeaderText="Hours" HeaderTextAlign="Center">
|
|||
|
<Editor>
|
|||
|
<f:NumberBox ID="txtHours" runat="server" MinValue="0"></f:NumberBox>
|
|||
|
</Editor>
|
|||
|
</f:RenderField>
|
|||
|
<f:RenderField Width="120px" ColumnID="Month" DataField="Month" SortField="Month"
|
|||
|
Renderer="Date" RendererArgument="yyyy-MM-dd" HeaderText="Date" HeaderTextAlign="Center" >
|
|||
|
<Editor>
|
|||
|
<f:TextBox runat="server" ID="txttime" Readonly="true"></f:TextBox>
|
|||
|
<%-- <f:DatePicker ID="DatePicker1" Required="true" runat="server">
|
|||
|
</f:DatePicker>--%>
|
|||
|
</Editor>
|
|||
|
</f:RenderField>
|
|||
|
<f:RenderField Width="120px" ColumnID="Itype" DataField="Itype"
|
|||
|
FieldType="String" HeaderText="Itype" HeaderTextAlign="Center" Hidden="true">
|
|||
|
</f:RenderField>
|
|||
|
<f:RenderField Width="120px" ColumnID="DisciplineId" DataField="DisciplineId"
|
|||
|
FieldType="String" HeaderText="DisciplineId" HeaderTextAlign="Center" Hidden="true">
|
|||
|
</f:RenderField>
|
|||
|
<f:RenderField Width="120px" ColumnID="Discipline" DataField="Discipline"
|
|||
|
FieldType="String" HeaderText="Discipline" HeaderTextAlign="Center" Hidden="true">
|
|||
|
</f:RenderField>
|
|||
|
<f:RenderField Width="120px" ColumnID="UserId" DataField="UserId"
|
|||
|
FieldType="String" HeaderText="UserId" HeaderTextAlign="Center" Hidden="true">
|
|||
|
</f:RenderField>
|
|||
|
<f:RenderField Width="120px" ColumnID="UserName" DataField="UserName"
|
|||
|
FieldType="String" HeaderText="UserName" HeaderTextAlign="Center" Hidden="true">
|
|||
|
</f:RenderField>
|
|||
|
<f:RenderField Width="120px" ColumnID="Roles" DataField="Roles"
|
|||
|
FieldType="String" HeaderText="Roles" HeaderTextAlign="Center" Hidden="true">
|
|||
|
</f:RenderField>
|
|||
|
<f:RenderField Width="120px" ColumnID="ResourcePlanId" DataField="ResourcePlanId"
|
|||
|
FieldType="String" HeaderText="ResourcePlanId" HeaderTextAlign="Center" Hidden="true">
|
|||
|
</f:RenderField>
|
|||
|
<f:RenderField Width="120px" ColumnID="ManHoursPlanId" DataField="ManHoursPlanId"
|
|||
|
FieldType="String" HeaderText="ManHoursPlanId" HeaderTextAlign="Center" Hidden="true">
|
|||
|
</f:RenderField>
|
|||
|
</Columns>
|
|||
|
<Listeners>
|
|||
|
<f:Listener Event="afteredit" Handler="onGridAfterEdit" />
|
|||
|
</Listeners>
|
|||
|
</f:Grid>
|
|||
|
</Items>
|
|||
|
</f:Panel>
|
|||
|
</Items>
|
|||
|
<Toolbars>
|
|||
|
<f:Toolbar ID="Toolbar2" Position="Bottom" ToolbarAlign="Right" runat="server">
|
|||
|
<Items>
|
|||
|
<f:HiddenField runat="server" ID="hdItemsString">
|
|||
|
</f:HiddenField>
|
|||
|
<f:Label runat="server" CssClass="customlabel" Text="计划内:点击 Select Task 按钮,计划外:点击 Add 按钮"></f:Label>
|
|||
|
<f:ToolbarFill runat="server"></f:ToolbarFill>
|
|||
|
<f:Button ID="btnSave" Icon="SystemSave" runat="server" Text="Save" ToolTip="Save"
|
|||
|
OnClick="btnSave_Click" Hidden="true">
|
|||
|
</f:Button>
|
|||
|
<f:Button ID="btnClose" EnablePostBack="false" ToolTip="Close" Text="Close" runat="server" Icon="SystemClose">
|
|||
|
</f:Button>
|
|||
|
</Items>
|
|||
|
</f:Toolbar>
|
|||
|
</Toolbars>
|
|||
|
</f:Panel>
|
|||
|
<f:Window ID="Window1" Title="Select Task" Hidden="true" EnableIFrame="true" EnableMaximize="true"
|
|||
|
Target="Parent" EnableResize="true" runat="server" OnClose="Window1_Close" IsModal="true"
|
|||
|
Width="1300px" Height="680px">
|
|||
|
</f:Window>
|
|||
|
|
|||
|
<%--<f:Window ID="Window1" Title="Pop-up window" Hidden="true" EnableIFrame="false" EnableMaximize="false"
|
|||
|
Target="Self" EnableResize="false" runat="server" OnClose="Window1_Close" IsModal="true"
|
|||
|
Width="1000px" Height="540px">
|
|||
|
<Items>
|
|||
|
|
|||
|
<f:Panel runat="server" ID="panel2" RegionPosition="Center" AutoScroll="true"
|
|||
|
Title="中间面板" ShowBorder="true" ShowHeader="false" BodyPadding="10px">
|
|||
|
<Items>
|
|||
|
<f:Grid ID="Grid2" ShowBorder="true" ShowHeader="false" Title="人工时计划" EnableCollapse="true"
|
|||
|
AllowColumnLocking="true" EnableColumnLines="true" EnableCheckBoxSelect="true"
|
|||
|
EnableTextSelection="True"
|
|||
|
runat="server" BoxFlex="1" AllowCellEditing="true"
|
|||
|
ClicksToEdit="2" AllowSorting="true" SortField="ManHours" AllowPaging="false" IsDatabasePaging="false">
|
|||
|
<Toolbars>
|
|||
|
<f:Toolbar ID="Toolbar4" runat="server">
|
|||
|
<Items>
|
|||
|
<f:DropDownList ID="drpJobNo" runat="server" AutoPostBack="true" OnSelectedIndexChanged="drpJobNo_SelectedIndexChanged"></f:DropDownList>
|
|||
|
</Items>
|
|||
|
</f:Toolbar>
|
|||
|
</Toolbars>
|
|||
|
<Columns>
|
|||
|
<f:TemplateField Width="50px" TextAlign="Center">
|
|||
|
<ItemTemplate>
|
|||
|
<asp:Label ID="Label1" runat="server" Text='<%# Container.DataItemIndex + 1 %>'></asp:Label>
|
|||
|
</ItemTemplate>
|
|||
|
</f:TemplateField>
|
|||
|
<f:RenderField Width="120px" ColumnID="ProjectControl_JobNo" DataField="ProjectControl_JobNo" EnableFilter="true"
|
|||
|
SortField="ProjectControl_JobNo" FieldType="String" HeaderText="Job No." HeaderTextAlign="Center" TextAlign="Left">
|
|||
|
</f:RenderField>
|
|||
|
<f:RenderField Width="120px" ColumnID="Discipline" DataField="Discipline"
|
|||
|
FieldType="String" HeaderText="Discipline" HeaderTextAlign="Center">
|
|||
|
</f:RenderField>
|
|||
|
<f:RenderField Width="120px" ColumnID="EngineerName" DataField="EngineerName"
|
|||
|
FieldType="String" HeaderText="EngineerName" HeaderTextAlign="Center">
|
|||
|
</f:RenderField>
|
|||
|
<f:RenderField Width="120px" ColumnID="Account" DataField="Account"
|
|||
|
FieldType="String" HeaderText="Account" HeaderTextAlign="Center">
|
|||
|
</f:RenderField>
|
|||
|
<f:RenderField Width="120px" ColumnID="ManHours" DataField="ManHours"
|
|||
|
FieldType="String" HeaderText="ManHours" HeaderTextAlign="Center">
|
|||
|
</f:RenderField>
|
|||
|
<f:RenderField Width="250px" ColumnID="ProjectControl_JobTitle" DataField="ProjectControl_JobTitle" SortField="ProjectControl_JobTitle"
|
|||
|
FieldType="String" HeaderText="Job Title" HeaderTextAlign="Center" ExpandUnusedSpace="true">
|
|||
|
</f:RenderField>
|
|||
|
<f:RenderField Width="120px" ColumnID="ProjectControl_BUCode" DataField="ProjectControl_BUCode"
|
|||
|
FieldType="String" HeaderText="Bu.Code" HeaderTextAlign="Center">
|
|||
|
</f:RenderField>
|
|||
|
</Columns>
|
|||
|
</f:Grid>
|
|||
|
</Items>
|
|||
|
</f:Panel>
|
|||
|
</Items>
|
|||
|
<Toolbars>
|
|||
|
<f:Toolbar ID="Toolbar3" Position="Bottom" ToolbarAlign="Right" runat="server">
|
|||
|
<Items>
|
|||
|
<f:Button ID="Button1" Icon="SystemSave" runat="server" ToolTip="Save" ValidateForms="SimpleForm1" OnClick="Button1_Click">
|
|||
|
</f:Button>
|
|||
|
</Items>
|
|||
|
</f:Toolbar>
|
|||
|
</Toolbars>
|
|||
|
</f:Window>--%>
|
|||
|
</form>
|
|||
|
<script type="text/javascript">
|
|||
|
var grid1ClientID = '<%= Grid1.ClientID %>';
|
|||
|
|
|||
|
// 同时只能选中一项
|
|||
|
function onCheckBoxListChange(event, checkbox, isChecked) {
|
|||
|
var me = this;
|
|||
|
if (isChecked) {
|
|||
|
me.setValue(checkbox.getInputValue());
|
|||
|
}
|
|||
|
__doPostBack('', 'CheckBoxList1Change');
|
|||
|
}
|
|||
|
|
|||
|
var ddType = '<%= ddType.ClientID %>';
|
|||
|
function renderddType(value) {
|
|||
|
|
|||
|
return F(ddType).getTextByValue(value);
|
|||
|
}
|
|||
|
var windowClientID = '<%= Window1.ClientID %>';
|
|||
|
function onEditButtonClick(event) {
|
|||
|
F(windowClientID).show();
|
|||
|
}
|
|||
|
|
|||
|
function updateSummary() {
|
|||
|
var me = F(grid1ClientID), hoursTotal = 0;
|
|||
|
me.getRowEls().each(function (index, tr) {
|
|||
|
hoursTotal += me.getCellValue(tr, 'Hours');
|
|||
|
});
|
|||
|
// 第三个参数 true,强制更新,不显示左上角的更改标识
|
|||
|
me.updateSummaryCellValue('Hours', "∑Sum:" + hoursTotal, true);
|
|||
|
}
|
|||
|
|
|||
|
function onGridAfterEdit(event, value, params) {
|
|||
|
var grid = F(grid1ClientID);
|
|||
|
var type = grid.getCellValue(params.rowId, 'Type');
|
|||
|
if (type == "T12_Leave" || type == "T13_Sick Leave") {
|
|||
|
grid.updateCellValue(params.rowId, 'Account', '');
|
|||
|
}
|
|||
|
updateSummary();
|
|||
|
}
|
|||
|
|
|||
|
// 点击删除按钮
|
|||
|
function onDeleteClick() {
|
|||
|
var grid1 = F(grid1ClientID);
|
|||
|
if (!grid1.hasSelection()) {
|
|||
|
F.alert('请至少选择一项!');
|
|||
|
return false;
|
|||
|
}
|
|||
|
F.confirm({
|
|||
|
message: '删除选中行?',
|
|||
|
ok: function () {
|
|||
|
grid1.deleteSelectedRows();
|
|||
|
// 删除行后,要记得更新合计行
|
|||
|
updateSummary();
|
|||
|
}
|
|||
|
});
|
|||
|
}
|
|||
|
</script>
|
|||
|
</body>
|
|||
|
</html>
|