334 lines
25 KiB
Plaintext
334 lines
25 KiB
Plaintext
<%@ 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>
|