20231114本部检查检查管理优化

This commit is contained in:
2023-11-14 16:02:36 +08:00
parent 0391faa14c
commit c76127bbba
11 changed files with 572 additions and 499 deletions
@@ -6,8 +6,8 @@
<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" />
<script src="../res/js/jquery-3.3.1.min.js" type="text/javascript"></script>
<link href="../../res/css/common.css" rel="stylesheet" />
<script src="../../res/js/jquery-3.3.1.min.js"></script>
<style type="text/css">
.f-grid-row .f-grid-cell-inner {
white-space: normal;
@@ -43,59 +43,65 @@
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:Grid ID="Grid1" ShowBorder="true" ShowHeader="false" Title="检查标准" EnableCollapse="false" runat="server"
BoxFlex="1" DataKeyNames="ID" AllowCellEditing="true" EnableColumnLines="true"
ClicksToEdit="1" DataIDField="ID" AllowSorting="true" SortField="SortIndex" SortDirection="ASC"
OnSort="Grid1_Sort" EnableTextSelection="True" EnableSummary="true" SummaryPosition="Bottom">
<Columns>
<f:RenderField HeaderText="主键" ColumnID="ID" DataField="ID" Hidden="true">
</f:RenderField>
<f:RenderField HeaderText="序号" ColumnID="SortIndex" DataField="SortIndex"
HeaderTextAlign="Center" TextAlign="Center" Width="60px">
</f:RenderField>
<f:RenderField HeaderText="检查项目" ColumnID="CheckItem" DataField="CheckItem"
HeaderTextAlign="Center" TextAlign="Left" Width="150px">
</f:RenderField>
<f:RenderField HeaderText="检查标准" ColumnID="CheckStandard" DataField="CheckStandard"
HeaderTextAlign="Center" TextAlign="Left" Width="400px" ExpandUnusedSpace="true">
</f:RenderField>
<f:RenderField HeaderText="检查方法" ColumnID="CheckMethod" DataField="CheckMethod"
HeaderTextAlign="Center" TextAlign="Left" Width="300px" >
</f:RenderField>
<f:RenderField HeaderText="检查结果" ColumnID="CheckResult" DataField="CheckResult"
HeaderTextAlign="Center" TextAlign="Left" Width="160px">
<Editor>
<f:TextArea ID="txtCheckResult" runat="server">
</f:TextArea>
</Editor>
</f:RenderField>
<f:RenderField HeaderText="基准分" ColumnID="BaseScore" DataField="BaseScore"
HeaderTextAlign="Center" TextAlign="Left" Width="100px" FieldType="Double">
<Editor>
<f:NumberBox ID="txtBaseScore" runat="server" NoDecimal="false" NoNegative="true" DecimalPrecision="2">
</f:NumberBox>
</Editor>
</f:RenderField>
<f:RenderField HeaderText="扣减分" ColumnID="DeletScore" DataField="DeletScore"
HeaderTextAlign="Center" TextAlign="Left" Width="100px" FieldType="Double">
<Editor>
<f:NumberBox ID="txtDeletScore" runat="server" NoDecimal="false" NoNegative="true" DecimalPrecision="2">
</f:NumberBox>
</Editor>
</f:RenderField>
<f:RenderField HeaderText="实得分" ColumnID="GetScore" DataField="GetScore"
HeaderTextAlign="Center" TextAlign="Left" Width="100px" FieldType="Double">
</f:RenderField>
</Columns>
<Listeners>
<%-- <f:Listener Event="beforerowcontextmenu" Handler="onRowContextMenu" />--%>
<f:Listener Event="afteredit" Handler="onGridAfterEdit" />
<f:Listener Event="dataload" Handler="onGridDataLoad" />
</Listeners>
</f:Grid>
</Items>
</f:FormRow>
<Items>
<f:Grid ID="Grid1" ShowBorder="true" ShowHeader="false" Title="检查标准" EnableCollapse="false" runat="server"
BoxFlex="1" DataKeyNames="ID" AllowCellEditing="true" EnableColumnLines="true"
ClicksToEdit="1" DataIDField="ID" AllowSorting="true" SortField="SortIndex" SortDirection="ASC"
OnSort="Grid1_Sort" EnableTextSelection="True" EnableSummary="true" SummaryPosition="Bottom">
<Columns>
<f:RenderField HeaderText="主键" ColumnID="ID" DataField="ID" Hidden="true">
</f:RenderField>
<f:RenderField HeaderText="序号" ColumnID="SortIndex" DataField="SortIndex"
HeaderTextAlign="Center" TextAlign="Center" Width="60px">
</f:RenderField>
<f:RenderField HeaderText="检查项目" ColumnID="CheckItem" DataField="CheckItem"
HeaderTextAlign="Center" TextAlign="Left" Width="100px">
</f:RenderField>
<f:RenderField HeaderText="检查标准" ColumnID="CheckStandard" DataField="CheckStandard"
HeaderTextAlign="Center" TextAlign="Left" Width="220px" ExpandUnusedSpace="true">
</f:RenderField>
<f:RenderField HeaderText="检查方法" ColumnID="CheckMethod" DataField="CheckMethod"
HeaderTextAlign="Center" TextAlign="Left" Width="300px">
</f:RenderField>
<f:RenderCheckField Width="100px" ColumnID="IsSelect" DataField="IsSelect" HeaderText="是否适用" />
<f:RenderField HeaderText="检查结果" ColumnID="CheckResult" DataField="CheckResult"
HeaderTextAlign="Center" TextAlign="Left" Width="200px">
<Editor>
<f:TextArea ID="txtCheckResult" runat="server">
</f:TextArea>
</Editor>
</f:RenderField>
<f:RenderField HeaderText="基准分" ColumnID="BaseScore" DataField="BaseScore"
HeaderTextAlign="Center" TextAlign="Left" Width="70px" FieldType="Double">
<Editor>
<f:NumberBox ID="txtBaseScore" runat="server" NoDecimal="false" NoNegative="true" DecimalPrecision="2">
</f:NumberBox>
</Editor>
</f:RenderField>
<f:RenderField HeaderText="扣减分" ColumnID="DeletScore" DataField="DeletScore"
HeaderTextAlign="Center" TextAlign="Left" Width="70px" FieldType="Double">
<Editor>
<f:NumberBox ID="txtDeletScore" runat="server" NoDecimal="false" NoNegative="true" DecimalPrecision="2">
</f:NumberBox>
</Editor>
</f:RenderField>
<f:RenderField HeaderText="实得分" ColumnID="GetScore" DataField="GetScore"
HeaderTextAlign="Center" TextAlign="Left" Width="70px" FieldType="Double">
</f:RenderField>
</Columns>
<Listeners>
<f:Listener Event="beforerowcontextmenu" Handler="onRowContextMenu" />
<f:Listener Event="afteredit" Handler="onGridAfterEdit" />
<f:Listener Event="dataload" Handler="onGridDataLoad" />
</Listeners>
</f:Grid>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:Label ID="lbTotalCheckScore" runat="server" Label="检查得分"></f:Label>
</Items>
</f:FormRow>
<f:FormRow ColumnWidths="66% 34%">
<Items>
<f:Label ID="lbTotal100Score" runat="server"></f:Label>
@@ -127,64 +133,64 @@
</form>
<script type="text/javascript">
var grid1ClientID = '<%= Grid1.ClientID %>';
var lbTotal100ScoreClientID = '<%= lbTotal100Score.ClientID %>';
<%-- var hdTotalDeletScore6_7ClientID = '<%= hdTotalDeletScore6_7.ClientID %>';--%>
<%-- var lbTotalLastScoreClientID = '<%= lbTotalLastScore.ClientID %>';--%>
var lbEvaluationResultClientID = '<%= lbEvaluationResult.ClientID %>';
function reloadGrid() {
__doPostBack(null, 'reloadGrid');
var lbTotalCheckScoreClientID = '<%= lbTotalCheckScore.ClientID %>';
var lbEvaluationResultClientID = '<%= lbEvaluationResult.ClientID %>'; // 返回false,来阻止浏览器右键菜单
function onRowContextMenu(event, rowId) {
// F(menuID).show(); //showAt(event.pageX, event.pageY);
return false;
}
//合并列
function onGridDataLoad(event) {
this.mergeColumns(['SortIndex', 'CheckItem', 'CheckMethod', 'CheckResult','BaseScore','DeletScore','GetScore'], {
this.mergeColumns(['SortIndex', 'CheckItem', 'CheckMethod', 'CheckResult', 'BaseScore', 'DeletScore', 'GetScore'], {
dependsFirst: true
});
}
function onGridAfterEdit(event, value, params) {
function reloadGrid() {
__doPostBack(null, 'reloadGrid');
}
function onGridAfterEdit(event, value, params) {
var me = this, columnId = params.columnId, rowId = params.rowId;
if (columnId === 'DeletScore' || columnId === 'BaseScore') {
var baseS = me.getCellValue(rowId, 'BaseScore') * 1.0;;
var deleteS = me.getCellValue(rowId, 'DeletScore') * 1.0;;
if (columnId === 'DeletScore' || columnId === 'BaseScore' || columnId === 'IsSelect') {
var baseS = me.getCellValue(rowId, 'BaseScore');
var deleteS = me.getCellValue(rowId, 'DeletScore');
me.updateCellValue(rowId, 'GetScore', (baseS - deleteS).toFixed(2));
}
updateSummary();
}
function updateSummary() {
var me = F(grid1ClientID), baseScoreTotal = 0, deletScoreTotal = 0, getScoreTotal = 0;
me.getRowEls().each(function (index, tr) {
baseScoreTotal += me.getCellValue(tr, 'BaseScore') * 1.0;
deletScoreTotal += me.getCellValue(tr, 'DeletScore') * 1.0;
getScoreTotal += me.getCellValue(tr, 'GetScore') * 1.0;
var me = F(grid1ClientID), baseScoreTotal = 0, deletScoreTotal = 0, getScoreTotal = 0;
me.getRowEls().each(function (index, tr) {
var ischecked = me.getCellValue(tr, 'IsSelect');
if (ischecked) {
baseScoreTotal += me.getCellValue(tr, 'BaseScore');
deletScoreTotal += me.getCellValue(tr, 'DeletScore');
getScoreTotal += me.getCellValue(tr, 'GetScore');
}
});
// 第三个参数 true,强制更新,不显示左上角的更改标识
me.updateSummaryCellValue('CheckItem', '合计分', true);
me.updateSummaryCellValue('BaseScore', baseScoreTotal, true);
me.updateSummaryCellValue('DeletScore', deletScoreTotal, true);
me.updateSummaryCellValue('GetScore', getScoreTotal, true);
var pValue=((getScoreTotal / baseScoreTotal) * 100).toFixed(2);
var lab100 = "本表百分制得分 = (实查项实得分之和/实查项应得满分之和*100 " + pValue + " 分";
F(lbTotal100ScoreClientID).setValue(lab100);
// 第三个参数 true,强制更新,不显示左上角的更改标识
me.updateSummaryCellValue('CheckItem', '合计分', true);
me.updateSummaryCellValue('BaseScore', baseScoreTotal, true);
me.updateSummaryCellValue('DeletScore', deletScoreTotal, true);
me.updateSummaryCellValue('GetScore', getScoreTotal, true);
// var lastScore = pValue - F(hdTotalDeletScore6_7ClientID).value;
//var lablast = "综合评定得分 = 本表得分 - 负面清单罚分 = " + lastScore + " 分";
//F(lbTotalLastScoreClientID).setValue(lablast);
var pValue = ((getScoreTotal / baseScoreTotal) * 100).toFixed(2);
F(lbTotalCheckScoreClientID).setValue(pValue);
var str= "";
var str = "";
if (pValue >= 80) {
str = "A级合格";
}
str = "A级合格";
}
else if (pValue >= 71 && pValue <= 79) {
str = "B级基本合格";
}
str = "B级基本合格";
}
else if (pValue <= 70) {
str = "C级不合格";
}
F(lbEvaluationResultClientID).setValue(str);
str = "C级不合格";
}
F(lbEvaluationResultClientID).setValue(str);
}
</script>
</body>