listSearchConfig.jsp 8.78 KB
<%@page import="weaver.general.BaseBean"%>
<%@page import="com.weaver.formmodel.mobile.utils.MobileCommonUtil"%>
<%@page import="net.sf.json.JSONObject"%>
<%@page import="net.sf.json.JSONArray"%>
<%@ page contentType="text/html; charset=UTF-8"%>
<%@page import="com.weaver.formmodel.mobile.ui.model.AppField"%>
<%@page import="com.weaver.formmodel.mobile.ui.model.AppFormUI"%>
<%@page import="com.weaver.formmodel.mobile.ui.manager.MobileAppUIManager"%>
<%@page import="com.weaver.formmodel.mobile.ui.manager.MobileAppFieldManager"%>
<%@ include file="/mobilemode/admin/init.jsp"%>
<%
int sourceV = Util.getIntValue(Util.null2String(request.getParameter("sourceV")));
JSONArray asArr;
String advancedSearchContent = MobileCommonUtil.decompressByLZ(Util.null2String(request.getParameter("advancedSearchContent")));
try{
	asArr = JSONArray.fromObject(advancedSearchContent.trim().equals("") ? "[]" : advancedSearchContent);
}catch(Exception e){
	asArr = new JSONArray();
	new BaseBean().writeLog(e);
}

MobileAppUIManager mobileAppUIManager = MobileAppUIManager.getInstance();
AppFormUI formui = (AppFormUI)mobileAppUIManager.getById(sourceV);
int formid = formui.getFormId();
int searchid = formui.getSourceid() == null ? 0 : formui.getSourceid();
List<AppField> fieldlist = MobileAppFieldManager.getInstance().getAppFieldList(formid, user.getLanguage(), searchid);

JSONArray fieldArr = new JSONArray();
for(AppField appField : fieldlist) {
	JSONObject fieldObj = new JSONObject();
	if(appField.getHtmlType() != 6 && appField.getHtmlType() != 7){//option选项过滤掉附件和特殊字段
		fieldObj.put("id", appField.getFieldid());
		fieldObj.put("name", appField.getFieldName());
		fieldObj.put("desc", appField.getFieldDesc());
		fieldObj.put("detailtable", appField.getDetailtable());
		fieldObj.put("encrypted", appField.isEncrypted());
		fieldArr.add(fieldObj);
	}
}

%>
<!DOCTYPE HTML>
<html>
<head>
	<link type="text/css" rel="stylesheet" href="/mobilemode/admin/src/common/css/common.css">
	<link type="text/css" rel="stylesheet" href="/mobilemode/admin/src/appdesigner/appDesigner.css">
<script type="text/javascript" src="/formmode/js/jquery/jquery-1.8.3.min_wev8.js"></script>
<script type="text/javascript" src="/formmode/js/jquery/jquery-ui-1.10.3/ui/minified/jquery-ui.min_wev8.js"></script>
<style type="text/css">
*{
	font-family: 'Microsoft Yahei', Arial;
}
body{
	padding: 2px 5px 0px 5px;
	background: none;
	overflow-y: auto;
}
.e8_zDialog_bottom{
	position: absolute;
	left: 0px;
	bottom: 0px;
	width: 100%;
}
#searchTableWrap{
	min-height: 35px;
}
.searchTable{
	width: 100%;
	border-collapse: collapse;
	table-layout: fixed;
}
.searchTable thead td{
	color: #A4A9AE;
	border-bottom: 1px solid #DFDFDF;
	font-weight: bold;
	font-size: 13px;
	padding: 8px 3px 8px 3px;
}
.searchTable tbody td{
	border-bottom: 1px solid rgb(233, 236, 243);
	padding: 10px 3px;
}
.searchTable tbody td.bemove{
	background: url("/mobilemode/images/tr_move2_wev8.png") no-repeat center;
	cursor: move;
}
.searchTable tbody tr:last-child td{
	border-bottom:none;
}
.delBtn{
	width: 25px;
	height: 25px;
	background: url("/mobilemode/images/del-3.png");
	cursor: pointer;
}
.delBtn:HOVER{
	background-image: url("/mobilemode/images/del-3-hover.png");
}
#addSearch{
	border: 2px dotted rgb(223, 223, 223);
	height: 43px;
	line-height: 43px;
	text-align: right;
	cursor: pointer;
	background: #f9f9f9;
}
#addSearch div{
	color: rgb(185, 185, 185);
	float: right;
	height: 100%;
	background: url("/mobilemode/images/plus-small.png") no-repeat;
	background-position: 0px center;
	padding-left: 20px;
	font-size: 14px;
	margin-right: 13px;
}
#addSearch:HOVER div{
	background-image: url("/mobilemode/images/plus-small-hover.png");
	color: rgb(0, 144, 255);
}
.errstatus1{
	background-color: #4572a7;
}
.errstatus2{
	background-color: #aa4643;
}
.errstatus3{
	background-color: #89a54e;
}
.errstatus4{
	background-color: #80699b;
}
.errstatus5{
	background-color: #92a8cd;
}
.errstatus6{
	background-color: #db843d;
}
.errstatus7{
	background-color: #a47d7c;
}
.errstatus8{
	background-color: #fedd74;
}
.errstatus9{
	background-color: #82d8ef;
}
.errstatus10{
	background-color: #f76864;
}
.errstatus11{
	background-color: #80bd91;
}
.errstatus12{
	background-color: #fd9fc1;
}
.errstatus13{
	background-color: #bc6666;
}
.errstatus14{
	background-color: #cbab4f;
}
.errstatus15{
	background-color: #76a871;
}
select.form-control{
	appearance: menulist-button;
	-webkit-appearance:menulist-button;
	-moz-appearance:menulist-button;
}
</style>

<script type="text/javascript">
	var fieldArr = <%=fieldArr.toString()%>;
	var lang = top.require('i18n/lang');
	for(var i=0;i<fieldArr.length;i++){
		fieldArr[i].desc = lang.parse(fieldArr[i].desc);
	}
	var asArr = <%=asArr.toString()%>;
	window.onload = function(){
		for(var i = 0; i < asArr.length; i++){
			addRow(asArr[i]["fieldid"] || asArr[i]["field"], asArr[i]["showname"]);
		}
		
		$("#searchTableWrap > .searchTable > tbody").sortable({
			revert: false,
			axis: "y",
			items: "tr",
			handle: ".bemove"
		});
		$('#searchTableWrap').on('change','.fieldSel',function(){
			var isRepeat = checkRepeat();
			if(isRepeat){
				var modal = top.require('modal');
				modal.info("<%=SystemEnv.getHtmlLabelName(127601,user.getLanguage())%>");
			}
		})
	};
	
	function addRow(field, showname){
	
		var $rowContainer = $("#searchTableWrap > .searchTable > tbody");
		
		var $row = $("<tr></tr>");
		
		var html = "<td class=\"bemove\" width=\"30px\"></td>";
			html += "<td width=\"140px\">";
				html += "<select class=\"fieldSel form-control\">";
				var selected = "", disabled = "", valueIndex = -1;
				for(var i = 0; i < fieldArr.length; i++){
					if ((field == fieldArr[i].id || field == fieldArr[i].name) && valueIndex == -1) {
						selected = "selected";
						valueIndex = i;
					}else{
						selected = "";
					}
					if(fieldArr[i].encrypted){
					    disabled = "disabled";
					} else {
					    disabled = "";
					}
					html += "<option value=\""+fieldArr[i]["id"]+"\" data-field=\""+fieldArr[i]["name"]+"\" "+selected+" "+disabled+">"
							+ fieldArr[i]["desc"]+ (fieldArr[i]["detailtable"] ? "-"+SystemEnv.getHtmlNoteName(4865) : "") + (fieldArr[i]["encrypted"] ? "("+SystemEnv.getHtmlNoteName(6233)+")" : "")
						+ "</option>";
				}
				html += "</select>";
			html += "</td>";
			html += "<td width=\"160px\">";
				html += "<input type=\"text\" data-wev_i18n=\"\" class=\"shownameText form-control\"/>";
			html += "</td>";
			html += "<td width=\"60px\">";
				html += "<div class=\"delBtn\"></div>";
			html += "</td>";
			
		$row.html(html);
		$rowContainer.append($row);

		require(["i18n/lang"], function(lang){
			new lang({ container: $row});
		});

		showname = showname ? showname : $(".fieldSel", $row).find("option:selected").text();

		lang.setValue($(".shownameText", $row),showname);
		
		$(".fieldSel", $row).change(function(){
			var $shownameText = $(".shownameText", $row);
			lang.setValue($shownameText,$(this).find("option:selected").text());
		});

		$(".delBtn", $row).click(function(){
			$row.remove();
		});
	}
	
	function afterAddRow(){
		$("#searchTableWrap > .searchTable > tbody > tr").last().find(".fieldSel").trigger("change");
		$(document.body).scrollTop(3000);
	}
	
	function onClose(){
		top.closeTopDialog();
	}
	function checkRepeat(){
		var $selectField = $("#searchTableWrap select.fieldSel");
		var isRepeat = false,
			json = {};
		$selectField.each(function(j){
			var value = $(this).find("option:selected").val();
			if(json[value]){
				isRepeat = true;
			}else{
				json[value] = 1;
			}
		});
		return isRepeat;
	}
	function onOK(){
		var isRepeat = checkRepeat();
		if(isRepeat == true){
			top.alert("<%=SystemEnv.getHtmlLabelName(127601,user.getLanguage())%>");  //查询条件不能重复添加!
			return false;
		}
		var advancedSearchContent = [];
		$("#searchTableWrap > .searchTable > tbody > tr").each(function(i){
			var $row = $(this);
			var obj = {};
			obj["fieldid"] = $(".fieldSel", $row).val();
			obj["showname"] = lang.getValue($(".shownameText", $row));
			advancedSearchContent.push(obj);
		});
		
		if(top && top.callTopDlgHookFn){
			var result = {
				"advancedSearchContent" : advancedSearchContent
			};
			top.callTopDlgHookFn(result);
		}
		onClose();
	}
</script>

</head>
  
<body>
	<div id="searchTableWrap">
	<table class="searchTable">
		<thead>
			<tr>
				<td width="30px"></td>
				<td width="140px"><%=SystemEnv.getHtmlLabelName(83842,user.getLanguage())%><!-- 字段 --></td>
				<td width="160px"><%=SystemEnv.getHtmlLabelName(30828,user.getLanguage())%><!-- 显示名称 --></td>
				<td width="60px"><%=SystemEnv.getHtmlLabelName(126032,user.getLanguage())%><!-- 操作 --></td>
			</tr>
		</thead>
		<tbody>
			
		</tbody>
	</table>
	</div>
	
	<div id="addSearch" onclick="addRow();afterAddRow();">
		<div><%=SystemEnv.getHtmlLabelName(127602,user.getLanguage())%><!-- 添加查询 --></div>
	</div>
	
</body>
</html>