CNCEC_SUBQHSE_WUHUAN/SGGL/FineUIPro.Web/TestRun/Report/ScheduleSetUp.aspx

334 lines
25 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ScheduleSetUp.aspx.cs" Inherits="FineUIPro.Web.TestRun.Report.ScheduleSetUp" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>子系统工作包管理</title>
<style>
.f-grid-row .f-grid-cell-inner {
white-space: normal;
word-break: break-all;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<f:PageManager ID="PageManager1" AutoSizePanelID="Panel1" runat="server" />
<f:Panel ID="Panel1" runat="server" ShowBorder="false" ShowHeader="false" Layout="Region">
<Items>
<f:Panel runat="server" ID="panelCenterRegion" RegionPosition="Center" ShowBorder="true"
Layout="VBox" ShowHeader="false" BodyPadding="5px" IconFont="PlusCircle" Title="预试车/试车数据设置"
TitleToolTip="预试车/试车数据设置" AutoScroll="true">
<Toolbars>
<f:Toolbar ID="Toolbar2" Position="Top" runat="server" ToolbarAlign="Right">
<Items>
</Items>
</f:Toolbar>
</Toolbars>
<Items>
<f:Form ID="SimpleForm1" ShowBorder="true" ShowHeader="false" AutoScroll="true" BodyPadding="10px"
runat="server" RedStarPosition="BeforeText" LabelAlign="Right">
<Rows>
<f:FormRow runat="server" ID="zxtsc">
<Items>
<f:TabStrip ID="TabStrip1" IsFluid="true"
AutoPostBack="true" OnTabIndexChanged="TabStrip1_TabIndexChanged"
ShowBorder="true" ActiveTabIndex="1" runat="server">
<Tabs>
<f:Tab Title="预试车数据设置" BodyPadding="10px" Layout="Fit" runat="server">
<Items>
<f:Grid Height="550px" ID="GridYsc" ShowBorder="true" ClicksToEdit="1" ShowHeader="true" EnableCollapse="true" runat="server" DataIDField="ScheduleId" DataKeyNames="ScheduleId,WorkPackId" AllowSorting="true" SortField="Sort" SortDirection="ASC" EnableColumnLines="true" AllowCellEditing="true" EnableMultiSelect="false" AllowPaging="true" IsDatabasePaging="true" PageSize="10" AllowFilters="true" EnableSummary="true" SummaryPosition="Flow">
<Toolbars>
<f:Toolbar ID="Toolbar1" runat="server">
<Items>
<f:Button ID="btnYscReset" Text="重置" ToolTip="重置" ConfirmText="重置后数据会全部被清空,是否确认?" Icon="Reload" runat="server" OnClick="btnYscReset_Click"></f:Button>
<f:Button ID="btnYscSave" Text="保存" ToolTip="保存" Icon="FilmSave" runat="server" OnClientClick="if(!isYscValid()){return false;}" OnClick="btnYscSave_Click"></f:Button>
<f:ToolbarFill ID="ToolbarFill" runat="server"></f:ToolbarFill>
<f:Button ID="btnYscExport" runat="server" Icon="ApplicationGo" Text="导出" ToolTip="导出" OnClick="btnYscExport_Click" DisableControlBeforePostBack="false" EnableAjax="false"></f:Button>
</Items>
</f:Toolbar>
</Toolbars>
<Columns>
<f:RowNumberField EnablePagingNumber="true" HeaderTextAlign="Center" TextAlign="Center" />
<f:RenderField HeaderText="工作包名称" ColumnID="WorkPackName" DataField="WorkPackName" FieldType="String" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField HeaderText="全部数量" ColumnID="AllNum" DataField="AllNum" FieldType="Int" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
<Editor>
<f:NumberBox NoNegative="true" runat="server" ID="txtAllNum" Required="true"></f:NumberBox>
</Editor>
</f:RenderField>
<f:RenderField HeaderText="未开始数量" ColumnID="NotStartedNum" DataField="NotStartedNum" FieldType="Int" HeaderTextAlign="Center" TextAlign="Center">
<Editor>
<f:NumberBox NoNegative="true" runat="server" ID="txtNotStartedNum" Required="true"></f:NumberBox>
</Editor>
</f:RenderField>
<f:RenderField HeaderText="进行中数量" ColumnID="ProgressNum" DataField="ProgressNum" FieldType="Int" HeaderTextAlign="Center" TextAlign="Center">
<Editor>
<f:NumberBox NoNegative="true" runat="server" ID="txtProgressNum" Required="true"></f:NumberBox>
</Editor>
</f:RenderField>
<f:RenderField HeaderText="已完成数量" ColumnID="CompleteNum" DataField="CompleteNum" FieldType="Int" HeaderTextAlign="Center" TextAlign="Center">
<Editor>
<f:NumberBox NoNegative="true" runat="server" ID="txtCompleteNum" Required="true"></f:NumberBox>
</Editor>
</f:RenderField>
</Columns>
<Listeners>
<f:Listener Event="beforerowcontextmenu" Handler="onRowContextMenu" />
<f:Listener Event="afteredit" Handler="onGridYscAfterEdit" />
</Listeners>
</f:Grid>
</Items>
</f:Tab>
<f:Tab Title="试车数据设置" BodyPadding="10px" runat="server">
<Items>
<f:Grid Height="550px" ID="GridSc" ClicksToEdit="1" ShowBorder="true" ShowHeader="true" EnableCollapse="true" runat="server" DataIDField="ScheduleId" DataKeyNames="ScheduleId,WorkPackId" AllowSorting="true" SortField="Sort" SortDirection="ASC" EnableColumnLines="true" AllowCellEditing="true" EnableMultiSelect="false" AllowPaging="true" IsDatabasePaging="true" PageSize="10" AllowFilters="true" EnableSummary="true" SummaryPosition="Flow">
<Toolbars>
<f:Toolbar ID="Toolbar3" runat="server">
<Items>
<f:Button ID="btnScReset" Text="重置" ToolTip="重置" ConfirmText="重置后数据会全部被清空,是否确认?" Icon="Reload" runat="server" OnClick="btnScReset_Click"></f:Button>
<f:Button ID="btnScSave" Text="保存" ToolTip="保存" Icon="FilmSave" runat="server" OnClientClick="if(!isScValid()){return false;}" OnClick="btnScSave_Click"></f:Button>
<f:ToolbarFill ID="ToolbarFill1" runat="server"></f:ToolbarFill>
<f:Button ID="btnScExport" runat="server" Icon="ApplicationGo" Text="导出" ToolTip="导出" OnClick="btnScExport_Click" DisableControlBeforePostBack="false" EnableAjax="false"></f:Button>
</Items>
</f:Toolbar>
</Toolbars>
<Columns>
<f:RowNumberField EnablePagingNumber="true" Width="100px" HeaderTextAlign="Center" TextAlign="Center" />
<f:RenderField HeaderText="工作包名称" ColumnID="WorkPackName" DataField="WorkPackName" FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="150px">
</f:RenderField>
<f:RenderField HeaderText="全部数量" ColumnID="AllNum" DataField="AllNum" FieldType="Int" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
<Editor>
<f:NumberBox NoNegative="true" runat="server" ID="txtAllNum1"></f:NumberBox>
</Editor>
</f:RenderField>
<f:RenderField HeaderText="未开始数量" ColumnID="NotStartedNum" DataField="NotStartedNum" FieldType="Int" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
<Editor>
<f:NumberBox NoNegative="true" runat="server" ID="txtNotStartedNum1"></f:NumberBox>
</Editor>
</f:RenderField>
<f:RenderField HeaderText="进行中数量" ColumnID="ProgressNum" DataField="ProgressNum" FieldType="Int" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
<Editor>
<f:NumberBox NoNegative="true" runat="server" ID="txtProgressNum1"></f:NumberBox>
</Editor>
</f:RenderField>
<f:RenderField HeaderText="已完成数量" ColumnID="CompleteNum" DataField="CompleteNum" FieldType="Int" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
<Editor>
<f:NumberBox NoNegative="true" runat="server" ID="txtCompleteNum1"></f:NumberBox>
</Editor>
</f:RenderField>
</Columns>
<Listeners>
<f:Listener Event="beforerowcontextmenu" Handler="onRowContextMenu" />
<f:Listener Event="afteredit" Handler="onGridScAfterEdit" />
</Listeners>
</f:Grid>
</Items>
</f:Tab>
<f:Tab Title="三查四定进度" BodyPadding="10px" runat="server">
<Items>
<f:Grid Height="550px" ID="GridScsd" ClicksToEdit="1" ShowBorder="true" ShowHeader="true" EnableCollapse="true" runat="server" DataIDField="ScheduleId" DataKeyNames="ScheduleId,LevelName" AllowSorting="true" SortField="Sort" SortDirection="ASC" EnableColumnLines="true" AllowCellEditing="true" EnableMultiSelect="false" AllowPaging="true" IsDatabasePaging="true" PageSize="10" AllowFilters="true" EnableSummary="true" SummaryPosition="Flow">
<Toolbars>
<f:Toolbar ID="Toolbar4" runat="server">
<Items>
<f:Button ID="btnScsdReset" Text="重置" ToolTip="重置" ConfirmText="重置后数据会全部被清空,是否确认?" Icon="Reload" runat="server" OnClick="btnScsdReset_Click"></f:Button>
<f:Button ID="btnScsdSave" Text="保存" ToolTip="保存" Icon="FilmSave" runat="server" OnClientClick="if(!isScsdValid()){return false;}" OnClick="btnScsdSave_Click"></f:Button>
<f:ToolbarFill ID="ToolbarFill2" runat="server"></f:ToolbarFill>
<f:Button ID="btnScsdExport" runat="server" Icon="ApplicationGo" Text="导出" ToolTip="导出" OnClick="btnScsdExport_Click" DisableControlBeforePostBack="false" EnableAjax="false"></f:Button>
</Items>
</f:Toolbar>
</Toolbars>
<Columns>
<f:RowNumberField EnablePagingNumber="true" Width="100px" HeaderTextAlign="Center" TextAlign="Center" />
<f:RenderField HeaderText="类别名称" ColumnID="LevelName" DataField="LevelName" FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="150px">
</f:RenderField>
<f:RenderField HeaderText="全部数量" ColumnID="AllNum" DataField="AllNum" FieldType="Int" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
<Editor>
<f:NumberBox NoNegative="true" runat="server" ID="NumberBox1"></f:NumberBox>
</Editor>
</f:RenderField>
<f:RenderField HeaderText="进行中数量" ColumnID="ProgressNum" DataField="ProgressNum" FieldType="Int" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
<Editor>
<f:NumberBox NoNegative="true" runat="server" ID="NumberBox2"></f:NumberBox>
</Editor>
</f:RenderField>
<f:RenderField HeaderText="已完成数量" ColumnID="CompleteNum" DataField="CompleteNum" FieldType="Int" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
<Editor>
<f:NumberBox NoNegative="true" runat="server" ID="NumberBox3"></f:NumberBox>
</Editor>
</f:RenderField>
</Columns>
<Listeners>
<f:Listener Event="beforerowcontextmenu" Handler="onRowContextMenu" />
<f:Listener Event="afteredit" Handler="onGridScsdAfterEdit" />
</Listeners>
</f:Grid>
</Items>
</f:Tab>
</Tabs>
</f:TabStrip>
</Items>
</f:FormRow>
</Rows>
</f:Form>
</Items>
</f:Panel>
</Items>
</f:Panel>
</form>
<script type="text/javascript">
// 返回false来阻止浏览器右键菜单
function onRowContextMenu(event, rowId) {
return false;
}
function reloadGrid() {
__doPostBack(null, 'reloadGrid');
}
//预试车验证
function isYscValid() {
var gridysc = F('<%= GridYsc.ClientID %>');
var valid = true, modifiedData = gridysc.getMergedData();//gridysc.getModifiedData();
$.each(modifiedData, function (index, rowData) {
var allNum = parseInt(rowData.values['AllNum']);
var notStartedNum = parseInt(rowData.values['NotStartedNum']);
var progressNum = parseInt(rowData.values['ProgressNum']);
var completeNum = parseInt(rowData.values['CompleteNum']);
var workPackName = rowData.values['WorkPackName'];
if (allNum != (notStartedNum + progressNum + completeNum)) {
F.alert({
message: '工作包(' + workPackName + ')全部数量不等于未开始数量+进行中数量+已完成数量!',
ok: function () {
grid1.startEdit(rowData.id, 'AllNum');
}
});
valid = false;
return false; // break
}
});
return valid;
}
//预试车合计
function onGridYscAfterEdit(event, value, params) {
var me = F('<%= GridYsc.ClientID %>');
var allNumTotal = 0;
var notStartedNumTotal = 0;
var progressNumTotal = 0;
var completeNumTotal = 0;
me.getRowEls().each(function (index, tr) {
debugger;
allNumTotal += me.getCellValue(tr, 'AllNum');
notStartedNumTotal += me.getCellValue(tr, 'NotStartedNum');
progressNumTotal += me.getCellValue(tr, 'ProgressNum');
completeNumTotal += me.getCellValue(tr, 'CompleteNum');
});
// 第三个参数 true强制更新不显示左上角的更改标识
me.updateSummaryCellValue('AllNum', allNumTotal, true);
me.updateSummaryCellValue('NotStartedNum', notStartedNum, true);
me.updateSummaryCellValue('ProgressNum', progressNumTotal, true);
me.updateSummaryCellValue('CompleteNum', completeNumTotal, true);
}
//试车验证
function isScValid() {
var gridSc = F('<%= GridSc.ClientID %>');
var valid = true, modifiedData = gridSc.getMergedData();
$.each(modifiedData, function (index, rowData) {
var allNum = parseInt(rowData.values['AllNum']);
var notStartedNum = parseInt(rowData.values['NotStartedNum']);
var progressNum = parseInt(rowData.values['ProgressNum']);
var completeNum = parseInt(rowData.values['CompleteNum']);
var workPackName = rowData.values['WorkPackName'];
if (allNum != (notStartedNum + progressNum + completeNum)) {
F.alert({
message: '工作包(' + workPackName + ')全部数量不等于未开始数量+进行中数量+已完成数量!',
ok: function () {
grid1.startEdit(rowData.id, 'AllNum');
}
});
valid = false;
return false; // break
}
});
return valid;
}
//试车合计
function onGridScAfterEdit(event, value, params) {
var me = F('<%= GridSc.ClientID %>');
var allNumTotal = 0;
var progressNumTotal = 0;
var completeNumTotal = 0;
me.getRowEls().each(function (index, tr) {
allNumTotal += me.getCellValue(tr, 'AllNum');
notStartedNumTotal += me.getCellValue(tr, 'NotStartedNum');
progressNumTotal += me.getCellValue(tr, 'ProgressNum');
completeNumTotal += me.getCellValue(tr, 'CompleteNum');
});
// 第三个参数 true强制更新不显示左上角的更改标识
me.updateSummaryCellValue('AllNum', allNumTotal, true);
me.updateSummaryCellValue('NotStartedNum', notStartedNumTotal, true);
me.updateSummaryCellValue('ProgressNum', progressNumTotal, true);
me.updateSummaryCellValue('CompleteNum', completeNumTotal, true);
}
//三查四定验证
function isScsdValid() {
var gridyScsd = F('<%= GridScsd.ClientID %>');
var valid = true, modifiedData = gridyScsd.getMergedData();
$.each(modifiedData, function (index, rowData) {
var allNum = parseInt(rowData.values['AllNum']);
var progressNum = parseInt(rowData.values['ProgressNum']);
var completeNum = parseInt(rowData.values['CompleteNum']);
var levelName = rowData.values['LevelName'];
if (allNum != (progressNum + completeNum)) {
F.alert({
message: '类别(' + levelName + ')全部数量不等于进行中数量加已完成数量!',
ok: function () {
grid1.startEdit(rowData.id, 'AllNum');
}
});
valid = false;
return false; // break
}
});
return valid;
}
//三查四定合计
function onGridScsdAfterEdit(event, value, params) {
var me = F('<%= GridScsd.ClientID %>');
var allNumTotal = 0;
var progressNumTotal = 0;
var completeNumTotal = 0;
me.getRowEls().each(function (index, tr) {
debugger;
allNumTotal += me.getCellValue(tr, 'AllNum');
progressNumTotal += me.getCellValue(tr, 'ProgressNum');
completeNumTotal += me.getCellValue(tr, 'CompleteNum');
});
// 第三个参数 true强制更新不显示左上角的更改标识
me.updateSummaryCellValue('AllNum', allNumTotal, true);
me.updateSummaryCellValue('ProgressNum', progressNumTotal, true);
me.updateSummaryCellValue('CompleteNum', completeNumTotal, true);
}
</script>
</body>
</html>