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>
|