2018-06-03 22:26:41 +08:00

257 lines
10 KiB
Plaintext
Raw Permalink 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 import="com.amarsoft.app.als.product.LeaseNodeHTMLView"%>
<%@ page contentType="text/html; charset=GBK"%>
<%@ include file="/IncludeBegin.jsp"%>
<%/*~BEGIN~可编辑区~[Editable=true;CodeAreaID=List00;Describe=注释区;]~*/%>
<%/*~END~*/%>
<%/*~BEGIN~可编辑区~[Editable=true;CodeAreaID=List02;Describe=定义变量,获取参数;]~*/ %>
<%
//获取参数
String sProductID = CurPage.getParameter("ProductID"); //当前产品ID
String sIsModified = CurPage.getParameter("IsModified"); //当前页面是否修改
String sTypeName = CurPage.getParameter("TypeName"); //当前产品名称
if(sTypeName == null ) sTypeName="";
if(sIsModified == null ) sIsModified="false";
if(sProductID == null ) sProductID="";
//变量定义及预处理
LeaseNodeHTMLView view = new LeaseNodeHTMLView(sProductID); //生成CVNodeHTMLView对象绘制HTML表格
List<BizObject>prodStage=view.getProdStage();//产品中的阶段
List<BizObject>prodNode=view.getProdNode();//产品中的节点
String stageNodeJson=view.getProdStageNodeJson();//产品阶段中的数据
%>
<%/*~END~*/%>
<%/*~BEGIN~不可编辑区~[Editable=false;CodeAreaID=List05;Describe=主体页面;]~*/%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<link rel="stylesheet" href="<%=sWebRootPath%>/SystemManage/SynthesisManage/css/PRDNodeConfig.css">
</head>
<body onbeforeunload="onClose(event)" onunload="" style="height: 100%; overflow: auto;">
<div class="lefttit">
<span>
操作说明:<br />
1. 点击"配置基础节点"按钮, 选择需要的节点.<br />
2. 点击"笔"图片样式,自定义节点名称.按回车或点击"磁盘"图片样式完成编辑.<br />
</span>
<span class="btn_zone">
<a class="linka" href="javascript:void(0);" onclick="selectPhase()">配置节点阶段</a>
<a class="linkb" href="javascript:void(0);" onclick="selectNodes()">配置基础节点</a>
<a class="linkb" href="javascript:void(0);" onclick="saveRecord()">保存</a>
<a class="linkc" href="javascript:void(0);" onclick="goBack()">返回</a>
</span>
</div>
<form action='' name="nodeConfigForm">
<div class="div_tbl">
<table class="tbl_nor" id="NodeConfigTable">
<tr class="tr_nor tr_tit_bg">
<td class="td_nor td_font_color td_font_align" colspan="<%=prodStage.size()+1%>" style="width:1035px; font-size:14px">节点信息配置图:<%=sTypeName %></td>
</tr>
<tr class="tr_nor tr_bg2">
<td class="td_nor td_tit_bg"><label class="lblleft">节点</label> <label class="lblright">阶段</label></td>
<%for(int i = 0; i < prodStage.size(); i++){ //生成列名称(除TITLE外起第一行)%>
<td class="td_nor td_font_align tfc2"><input type="checkbox" id="<%=i %>" onclick="selColumnsNew(this.id, this.checked)"><%=prodStage.get(i).getAttribute("itemname").getString() %></td>
<%}%>
</tr>
<%for(int i = 0; i < prodNode.size(); i++){ //生成节点(行)%>
<tr class="tr_nor" onclick="trClick(this);" onmouseover="$(this).addClass('tr_bg');" onmouseout="$(this).removeClass('tr_bg');"><!-- tr_bg tr_bg_color -->
<td class="td_nor"><input type='text' name="nodeName" nodeid="<%=prodNode.get(i).getAttribute("nodeid").getString()%>" class ='iptTxt' size='15' onkeyup="checkEnter(this, event)" value="<%=prodNode.get(i).getAttribute("nodename").getString()%>"/><span class="txtpen"><%=prodNode.get(i).getAttribute("nodename").getString()%></span><span class="edpenX" onclick="editClick(this);"></span></td>
<%for(int j = 0; j < prodStage.size(); j++){ //给每个节点生成check box(列)%>
<td class="td_nor"><input type="checkbox" name="cell" id="<%=prodNode.get(i).getAttribute("nodeid").getString()+""+prodStage.get(j).getAttribute("itemno").getString()%>" value="<%=prodNode.get(i).getAttribute("nodeid").getString()+"@"+prodStage.get(j).getAttribute("itemno").getString()%>" onclick="changeStatus()"/></td>
<%}%>
</tr>
<%}%>
</table>
</div>
<!--
<div class="btn_zone">
<a class="linka" href="javascript:void(0);" onclick="selectNodes()">配置基础节点</a>
<a class="linkb" href="javascript:void(0);" onclick="saveRecord()">保存</a>
<a class="linkc" href="javascript:void(0);" onclick="goBack()">返回</a>
</div>
-->
</form>
</body>
<%/*~BEGIN~可编辑区~[Editable=false;CodeAreaID=List06;Describe=自定义函数;]~*/%>
<script type="text/javascript">
//---------------------定义按钮事件------------------------------------
var preTrClick = null; //存储上一次点击的行号
var isModified = "<%=sIsModified%>"; //当前页面时否被修改过
//---------------------初始化------------------------------------
$(function(){
var strStageNode="<%=stageNodeJson%>"
if(strStageNode!="[]"){
var vStageNode=eval("("+strStageNode+")");
for(var i=0;i<vStageNode.length;i++){
var sid=vStageNode[i].node_id+""+vStageNode[i].prd_stage;
$("#"+sid).attr("checked", true);
}
}
});
/*~[Describe=高亮被点击的行;InputParam=curTr:当前行;OutPutParam=无;]~*/
function trClick(curTr){
stripeTable();
if ($(curTr).hasClass("tr_stripe_color")){
$(curTr).removeClass("tr_stripe_color"); //若当前行已经有隔行高亮效果,则去除该效果
}
$(preTrClick).removeClass("tr_bg_color"); //去除上一次点击行的高亮效果
$(curTr).addClass("tr_bg_color"); //为当前点击行增加点击高亮效果
preTrClick = curTr;
}
/*~[Describe=编辑/非编辑模式互相切换;InputParam=tdPen:当前行;OutPutParam=无;]~*/
function editClick(tdPen){
isModified = "true";
if ($(tdPen).hasClass("edpenX")){ //常规状态进入编辑状态
$(tdPen).removeClass("edpenX").addClass("edpen");
$(tdPen).prev().hide().prev().show(); //hide span and show input
$(tdPen).prev().prev().focus(); //为input获得焦点
}
else if($(tdPen).hasClass("edpen")) { //编辑状态进入常规状态
toggleVal($(tdPen).prev().prev()[0]); //toggleVal(input)
}
}
/*~[Describe=监听回车事件;InputParam=obj:input对象, event:事件;OutPutParam=无;]~*/
function checkEnter(obj, event){
if(event.keyCode == 13){
toggleVal(obj);
}
}
/*~[Describe=编辑状态进入常规状态(helper function);InputParam=obj:input对象, event:事件;OutPutParam=无;]~*/
function toggleVal(obj){
var span = $(obj).hide().next().show(); //hide input and show span
span.next().removeClass("edpen").addClass("edpenX");
span.text($(obj).val());
}
/*~[Describe=离开页面前判断当前页面是否被修改过;InputParam=event:事件;OutPutParam=无;]~*/
function onClose(event){}
function goBack(){
if(isModified == "true"){
if(confirm(getMessageText('ALS71024'))){
parent.AsDialog.ClosePage();
}
}else{
parent.AsDialog.ClosePage();
}
}
/*~[Describe=为某产品选择展现节点;InputParam=无;OutPutParam=无;]~*/
function selectNodes(){
var sPara = "ProductID=" + "<%=sProductID%>";
//检查已选中的节点,在弹出的树图框反选
var selectedNodes = RunJavaMethodTrans("com.amarsoft.app.als.product.ProductHelper", "checkPRDNode", sPara);
AsDialog.PopView("/SystemManage/SynthesisManage/PRDNodeSelect.jsp","SelectedNodes=" + selectedNodes,"dialogWidth=600px;dialogHeight=650px;center:yes;status:no;statusbar:no",function(sNodeInfo){
if(typeof(sNodeInfo) != "undefined" && sNodeInfo != "" && sNodeInfo != null){
var sNodeInfoArr = sNodeInfo.split("@");
var sPRDNodeID = sNodeInfoArr[0].split("|").join("@"); //-- 节点ID
var sPara = " prodId=" + "<%=sProductID%>" + ", prodNode=" + sNodeInfo;
result = RunJavaMethodTrans("com.amarsoft.app.als.product.LeaseNodeHTMLController","saveProductNode",sPara);
//根据选择节点(ID数组去除最后一个@符号)重新生成HTML
AsControl.OpenView("/SystemManage/SynthesisManage/HTMLGridDrawing.jsp", "NodeIDArr=" + sPRDNodeID.substr(0, sPRDNodeID.length -1) + "&ProductID=" + "<%=sProductID%>" + "&IsModified=true&TypeName=<%=sTypeName%>", "_self", "");
}
})
}
/*~[Describe=保存选择结果;InputParam=无;OutPutParam=无;]~*/
function saveRecord()
{
var nodes = document.nodeConfigForm.elements["nodeName"];
var cell = document.all("cell"); //document.getElementById("NodeConfigTable");
var txt = "";
var result = "";
var sPara = "";
var nodeNames = "";
for(var i =0; i <cell.length; i++){
if(cell[i].checked){
txt = txt +cell[i].value + "@@";
}
}
if(txt == ""){
alert(getMessageText('ALS71025')); //请勾选至少一个复选框
return;
}
for(var i = 0; i < nodes.length; i++){
if (nodes[i].value == ""){
var msg = getMessageText('ALS71026') + (i+1) + getMessageText('ALS71027') //第____行节点名称为空, 请先命名!
alert(msg);
return;
}else{
nodeNames += nodes[i].value+"@"+nodes[i].getAttribute("nodeid")+ "@@";
}
}
sPara = "prodStageNode=" + txt + ", prodId=" + "<%=sProductID%>" + ", prodNode=" + nodeNames;
result = RunJavaMethodTrans("com.amarsoft.app.als.product.LeaseNodeHTMLController","saveProdStageNode",sPara);
if (result == "SUCCESS"){
alert(getMessageText('ALS71028')); //保存成功
isModified = "false";
}
else{
alert(getMessageText('ALS71029')); //保存失败
}
}
/*~[Describe=反选某列;InputParam=选中列的id该列的checkbox状态true/false;OutPutParam=无;]~*/
function selColumnsNew(col, isChecked){
isModified = "true";
var tarTable = document.getElementById("NodeConfigTable");
var cell = document.all("cell");
if(!cell){ return; }
for(var i =0; i <cell.length; i++){
if(i % (tarTable.rows[1].cells.length-1) == col){
cell[i].checked = isChecked;
}
}
}
/*~[Describe=点选checkbox时改变修改状态;InputParam=无;OutPutParam=无;]~*/
function changeStatus(){
isModified = "true";
}
/*~[Describe=点选checkbox时改变修改状态;InputParam=无;OutPutParam=无;]~*/
function stripeTable(){
var tarTable = document.getElementById("NodeConfigTable");
for(var i =2; i <tarTable.rows.length; i++){
if(i % 2 == 0){
$(tarTable.rows[i]).addClass("tr_stripe_color");
}
}
}
/*~[Describe=节点阶段配置;InputParam=无;OutPutParam=无;]~*/
function selectPhase(){
AsDialog.PopView("/SystemManage/SynthesisManage/PrdStageManagerFrame.jsp","","dialogWidth=1300px;dialogHeight=800px;resizable=no;scrollbars=no;status:yes;maximize:no;help:no;","","节点阶段页面",function(sNodeInfo){
AsControl.OpenView("/SystemManage/SynthesisManage/HTMLGridDrawing.jsp", "ProductID=" + "<%=sProductID%>" + "&IsModified=true&TypeName=<%=sTypeName%>", "_self", "");
});
}
window.onload = function(){
stripeTable();
}
</script>
</html>
<%@ include file="/IncludeEnd.jsp"%>