detailOrder.jsp 11.3 KB
<!DOCTYPE html>

<%@ page language="java" contentType="text/html; charset=UTF-8" %>
<%@ include file="/systeminfo/init_wev8.jsp" %>
<%@ page import="weaver.general.Util" %>
<%@ taglib uri="/WEB-INF/weaver.tld" prefix="wea"%>
<jsp:useBean id="DetailOrderManager" class="weaver.workflow.exceldesign.DetailOrderManager" scope="page" />
<jsp:useBean id="rs" class="weaver.conn.RecordSet" scope="page" />
<HTML><HEAD>
<LINK href="/css/Weaver_wev8.css" type=text/css rel=STYLESHEET>
<LINK href="/wui/theme/ecology8/jquery/js/e8_zDialog_btn_wev8.css" type=text/css rel=STYLESHEET>
<SCRIPT language="javascript" src="/js/weaver_wev8.js"></SCRIPT>
<script type="text/javascript" src="/js/ecology8/base/jquery-ui_wev8.js"></script>

<script type="text/javascript">
	var dialog = parent.getDialog(window);
	var parentWin = parent.getParentWindow(window);
</script>
</HEAD>
<%
String imagefilename = "/images/hdMaintenance_wev8.gif";
String titlename = SystemEnv.getHtmlLabelNames("19325,338",user.getLanguage());
String needfav ="1";
String needhelp ="";

String wfid = Util.null2String(request.getParameter("wfid"));
String nodeid = Util.null2String(request.getParameter("nodeid"));
String formid = Util.null2String(request.getParameter("formid"));
String isbill = Util.null2String(request.getParameter("isbill"));
String language = Util.null2String(request.getParameter("language"));
String detailIndex = Util.null2String(request.getParameter("detailIndex"));
String src = Util.null2String(request.getParameter("src"));

if("save".equals(src)){
	//保存排序设置
	DetailOrderManager.saveSetting(request);
	
	//生成排序描述
	String orderDescription = DetailOrderManager.getOrderDescription(wfid,nodeid,formid,isbill,language,detailIndex);
	%>
		<script type="text/javascript">
			Dialog.alert("<%=SystemEnv.getHtmlLabelName(18758,user.getLanguage())%>!",function(){
				parentWin.setOrderDescription("<%=orderDescription%>","<%=detailIndex%>");
				dialog.close();
			});
		</script>
	<%
	return;
}

//获取明细表的字段列表,设置排序的字段优先显示
List<Map<String,String>> fieldList = DetailOrderManager.getFieldMap(wfid,nodeid,formid,isbill,language,detailIndex);
%>
<body scroll="no">
<%@ include file="/systeminfo/TopTitle_wev8.jsp" %>

<%@ include file="/systeminfo/RightClickMenuConent_wev8.jsp" %>
<%
RCMenu += "{"+SystemEnv.getHtmlLabelName(86,user.getLanguage())+",javascript:submitData(),_self} " ;
RCMenuHeight += RCMenuHeightStep;
RCMenu += "{"+SystemEnv.getHtmlLabelName(201,user.getLanguage())+",javascript:btn_cancle(),_top} " ;
RCMenuHeight += RCMenuHeightStep;
%>
<%@ include file="/systeminfo/RightClickMenu_wev8.jsp" %>
<div class="zDialog_div_content">
<jsp:include page="/systeminfo/commonTabHead.jsp">
   <jsp:param name="mouldID" value="workflow"/>
   <jsp:param name="navName" value="<%=titlename %>"/>
</jsp:include>
<FORM id=weaver action="detailOrder.jsp" method=post style="width:100%;">
  	<input type="hidden" name="src" value="save">
  	<input type="hidden" name="wfid" value="<%=wfid %>">
  	<input type="hidden" name="nodeid" value="<%=nodeid %>">
  	<input type="hidden" name="formid" value="<%=formid %>">
  	<input type="hidden" name="isbill" value="<%=isbill %>">
  	<input type="hidden" name="language" value="<%=language %>">
  	<input type="hidden" name="detailIndex" value="<%=detailIndex %>">
	<table id="topTitle" cellpadding="0" cellspacing="0">
		<tr>
			<td></td>
			<td class="rightSearchSpan" style="text-align:right; width:500px!important">
		    	<input type="button" value="<%=SystemEnv.getHtmlLabelName(86,user.getLanguage())%>" id="zd_btn_submit" class="e8_btn_top" onclick="submitData()">
				<span title="<%=SystemEnv.getHtmlLabelName(81804,user.getLanguage())%>" class="cornerMenu"></span>
			</td>
		</tr>
	</table>  
		<wea:layout type="twoCol">
		    <wea:group context='<%=SystemEnv.getHtmlLabelName(15601,user.getLanguage())%>'>
			    <wea:item type="groupHead">
					<input type=button class=addbtn onclick="addField()" title="<%=SystemEnv.getHtmlLabelName(611,user.getLanguage())%>"></input>
		  			<input type=button class=delbtn onclick="deleteField()"title="<%=SystemEnv.getHtmlLabelName(91,user.getLanguage())%>"></input>
				</wea:item>
		    	<wea:item attributes="{'isTableList':'true'}">
		    		<table class=ListStyle cellspacing=0  id="choiceTable0">
						<colgroup>
							<col width="10%">
							<col width="30%">
							<col width="30%">
							<col width="30%">
						</colgroup>  
						
						 <tr class="header notMove">
						 	<td><input type="checkbox" id="fieldCheck" onclick="checkAll()"/></td>
						 	<td><%=SystemEnv.getHtmlLabelName(685,user.getLanguage())%></td><!-- 字段名称 -->
						    <td><%=SystemEnv.getHtmlLabelName(383458,user.getLanguage())%></td><!-- 数据库字段类型 -->
			            	<td><%=SystemEnv.getHtmlLabelName(17736,user.getLanguage())%></td><!-- 排序类型 -->
						</tr>
						
						<%
							for(Map<String,String> field : fieldList){ 
								String fieldname = field.get("fieldname");//字段显示名
								String tempOrdertype = field.get("ordertype");
								String fieldid = field.get("fieldid");
								String fielddbtype = field.get("fielddbtype");
						%>
							<tr class="DataDark" id="tr_<%=fieldid %>">
								<td>
									<input type="checkbox" name="check_<%=fieldid %>" id="check_<%=fieldid %>" value="<%=fieldid %>"/>
									<img src='/proj/img/move_wev8.png' style="margin-top: -6px;" title='<%=SystemEnv.getHtmlLabelName(82783,user.getLanguage())%>' />
									<input type="hidden" id="orderindex_<%=fieldid %>" name="orderindex_<%=fieldid %>">
								</td>
								<td>
									<%=fieldname %>
								</td>
								<td>
									<%=fielddbtype %>
								</td>
								<td>
									<select id="ordertype_<%=fieldid %>" name="ordertype_<%=fieldid %>">
										<option value="0" <%if("0".equals(tempOrdertype)) {%>selected<%} %>><%=SystemEnv.getHtmlLabelName(339,user.getLanguage())%></option><!-- 升序 -->
										<option value="1" <%if("1".equals(tempOrdertype)) {%>selected<%} %>><%=SystemEnv.getHtmlLabelName(340,user.getLanguage())%></option><!-- 降序 -->
									</select>
								</td>
							</tr>
						<%} %>
					</table>
		    	</wea:item>
		    </wea:group>
		</wea:layout>		
</FORM>
</div>
<script language="javascript">
function submitData(){
	var i = 0;
	jQuery("#choiceTable0 tr").each(function(){
		if(i > 0){//跳过表头
			var index = jQuery(this).attr("id").substring(3);
			jQuery("#orderindex_"+index).val(i);
		}
		i++;
	})
	jQuery('#weaver').submit();
}

function btn_cancle(){
	dialog.close();
}

function addField(){
	var fieldids = '';
	jQuery("input[name^='check_']").each(function(){
		var fieldid = jQuery(this).val();
		fieldids += "," + fieldid;
	})
	
	if(fieldids != '')
		fieldids = fieldids.substring(1);
	
	
	var title = "<%=SystemEnv.getHtmlLabelName(384091,user.getLanguage())%>";
	var url="/workflow/field/MultiDetailFieldBrowser.jsp?wfid=<%=wfid%>&nodeid=<%=nodeid%>&detailIndex=<%=detailIndex%>&selfieldid="+fieldids;
	var diag = new window.top.Dialog();
	diag.currentWindow = window;
	diag.Width = 550;
	diag.Height = 580;
	diag.Modal = true;
	diag.Title = title;
	diag.URL = url;
	diag.isIframe=false;
	diag.show();
}

function deleteField(){
	var canDel = false;
	jQuery("input[name^='check_']").each(function(){
		var ischeck = jQuery(this).is(":checked");
		if(ischeck){
			canDel = true;
		}
	})
	
	if(canDel){
		Dialog.confirm('<%=SystemEnv.getHtmlLabelName(15097,user.getLanguage())%>',function(){
			jQuery("input[name^='check_']").each(function(){
				var ischeck = jQuery(this).is(":checked");
				if(ischeck){
					var fieldid = jQuery(this).val();
					jQuery('#tr_'+fieldid).remove();
				}
			})
		});
	}else{
		Dialog.alert('<%=SystemEnv.getHtmlLabelName(32568,user.getLanguage())%>');
	}
}

function checkAll(){
	var ischeck = jQuery("#fieldCheck").is(":checked");
	if(ischeck){
		jQuery("input[name^='check_']").each(function(){
			jQuery(this).next().attr("class","jNiceCheckbox jNiceChecked");
			jQuery(this).attr("checked", true);
		})
	}else{
		jQuery("input[name^='check_']").each(function(){
			jQuery(this).next().attr("class","jNiceCheckbox");
			jQuery(this).attr("checked", false);
		})
	}
}


jQuery(document).ready(function(){
	registerDragEvent();
	jQuery("tr.notMove").bind("mousedown", function() {
		return false;
	});
});	

function registerDragEvent() {
	var fixHelper = function(e, ui) {
		ui.children().each(function() {
		    $(this).width($(this).width()); // 在拖动时,拖动行的cell(单元格)宽度会发生改变。在这里做了处理就没问题了
		    $(this).height($(this).height());
		});
		return ui;
	};

	var copyTR = null;
	var startIdx = 0;

	var idStr = "#choiceTable0";
	jQuery(idStr + " tbody tr").bind("mousedown", function(e) {
		copyTR = jQuery(this).next("tr.Spacing");
	});
        
    jQuery(idStr + " tbody").sortable({ // 这里是talbe tbody,绑定 了sortable
        helper: fixHelper, // 调用fixHelper
        axis: "y",
        start: function(e, ui) {
            ui.helper.addClass("e8_hover_tr") // 拖动时的行,要用ui.helper
            if(ui.item.hasClass("notMove")) {
            	e.stopPropagation && e.stopPropagation();
            	e.cancelBubble = true;
            }
            if(copyTR) {
       			copyTR.hide();
       		}
       		startIdx = ui.item.get(0).rowIndex;
            return ui;
        },
        stop: function(e, ui) {
            ui.item.removeClass("e8_hover_tr"); // 释放鼠标时,要用ui.item才是释放的行
        	if(ui.item.get(0).rowIndex < 1) { // 不能拖动到表头上方
                if(copyTR) {
           			copyTR.show();
           		}
        		return false;
        	}
           	if(copyTR) {
				if(ui.item.prev("tr").attr("class") == "Spacing") {
					ui.item.after(copyTR.clone().show());
				}else {
					ui.item.before(copyTR.clone().show());
				}
	       	  	copyTR.remove();
	       	  	copyTR = null;
       		}
       		view();
           	return ui;
        }
    });
}

function fieldCallBack(ids,destMap){
	if(ids != ''){
		var idarray = ids.split(",");
		for(var i = 0;i<idarray.length;i++){
			var tempid = idarray[i]
			var dataitem = destMap[tempid];
			var fielddbtype = dataitem["desc"];
			var fieldlabel = dataitem["name"];
			
			var trHtml = getTrHtml(tempid,fieldlabel,fielddbtype);
			
			
			jQuery("#choiceTable0 tr:last").after(trHtml);
			
			jQuery('#tr_'+tempid).jNice();
			beautySelect('#ordertype_'+tempid);
		}
	}
	
}

/**
 * 拼接行html信息
 */
function getTrHtml(id,fieldlabel,fielddbtype){
	var trHtml = '<tr class="DataDark" id="tr_'+id+'">';
	trHtml += '<td>';
	trHtml += '<input type="checkbox" name="check_'+id+'" id="check_'+id+'" value="'+id+'"/>';
	trHtml += '<img src="/proj/img/move_wev8.png" style="margin-top: -6px;margin-left: 3px;" title="<%=SystemEnv.getHtmlLabelName(82783,user.getLanguage())%>" />';
	trHtml += '<input type="hidden" id="orderindex_'+id+'" name="orderindex_'+id+'">';
	trHtml += '</td>';	
	trHtml += '<td>'+fieldlabel+'</td>';	
	trHtml += '<td>'+fielddbtype+'</td>';
	trHtml += '<td>';
	trHtml += '<select id="ordertype_'+id+'" name="ordertype_'+id+'">';
	trHtml += '<option value="0"><%=SystemEnv.getHtmlLabelName(339,user.getLanguage())%></option>';
	trHtml += '<option value="1"><%=SystemEnv.getHtmlLabelName(340,user.getLanguage())%></option>';
	trHtml += '</select>';
	trHtml += '</td>';	
	trHtml += '</tr>';	
	
	return trHtml;
}

</script>
</BODY>
</HTML>