<%@ page language="java" import="java.util.*" pageEncoding="UTF-8" %>
|
<%
|
String path = request.getContextPath();
|
String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort()
|
+ path + "/";
|
%>
|
|
<!DOCTYPE HTML>
|
<html>
|
<head>
|
<base href="<%=basePath%>">
|
<meta name="viewport" charset="width=device-width, initial-scale=1.0">
|
<meta http-equiv="X-UA-Compatible" content="ie=edge">
|
<title>业务表信息</title>
|
|
<link rel="stylesheet" href="static/plugins/jquery-steps/css/main.css" type="text/css">
|
<link rel="stylesheet" href="static/plugins/jquery-steps/css/jquery.steps.css" type="text/css">
|
<!--[if !IE]><!-->
|
<link href="static/plugins/font-awesome/css/font-awesome.css" rel="stylesheet" type="text/css">
|
<!--<![endif]-->
|
<!--[if gt IE 8]>
|
<link href="static/plugins/font-awesome/css/font-awesome.css" rel="stylesheet" type="text/css">
|
<![endif]-->
|
<link href="static/plugins/jquery-easyui/themes/bootstrap/easyui.css" rel="stylesheet" type="text/css">
|
<link rel="stylesheet" href="static/styles/initialize.css" type="text/css">
|
<link rel="stylesheet" href="static/styles/common.css" type="text/css">
|
<link rel="stylesheet" href="static/plugins/layer/skin/default/layer.css" type="text/css">
|
|
<script type="text/javascript" src="static/plugins/jquery/jquery.min.js"></script>
|
<script type="text/javascript" src="static/plugins/jquery-easyui/jquery.easyui.min.js"></script>
|
<script type="text/javascript" src="static/plugins/jquery-easyui/locale/easyui-lang-zh_CN.js"></script>
|
<script type="text/javascript" src="static/scripts/easyuiExtend.js"></script>
|
<script type="text/javascript" src="static/scripts/jquery-extend.js"></script>
|
<script type="text/javascript" src="static/plugins/layer/layer.js"></script>
|
<script type="text/javascript" src="static/plugins/slimScroll/jquery.slimscroll.min.js"></script>
|
<script type="text/javascript" src="static/plugins/jquery-easyui-edatagrid/jquery.edatagrid.js"></script>
|
<!-- 弹窗加载组件 -->
|
<script type="text/javascript" src="static/plugins/layer/layer.js"></script>
|
<script type="text/javascript" src="static/plugins/spinjs/spin.js"></script>
|
<script type="text/javascript" src="static/plugins/spinjs/jquery.spin.js"></script>
|
<script type="text/javascript" src="static/plugins/jquery.blockUI.js"></script>
|
<!-- wcp组件 -->
|
<script type="text/javascript" src="static/wcp/scripts/wcp.js"></script>
|
<script type="text/javascript" src="static/wcp/scripts/libs/wcp.layer.js"></script>
|
<script type="text/javascript" src="static/wcp/scripts/libs/wcp.blockUI.js"></script>
|
<script type="text/javascript" src="static/wcp/scripts/libs/wcp.spin.js"></script>
|
<script type="text/javascript" src="static/wcp/scripts/libs/wcp.jquery.js"></script>
|
|
<!--[if lt IE 9]>
|
<script type="text/javascript" src="static/plugins/json2.js"></script>
|
<![endif]-->
|
|
|
<style>
|
html, body {
|
height: 100%;
|
}
|
|
.container {
|
width: 100%;
|
height: 100%;
|
padding: 10px;
|
}
|
|
.left {
|
width: 50%;
|
float: left;
|
}
|
|
.right {
|
width: 50%;
|
float: right;
|
}
|
|
.search {
|
clear: both;
|
}
|
|
.pt-selected {
|
margin-bottom: 10px;
|
}
|
|
.textbox-label {
|
width: auto;
|
}
|
|
.pt-selected .textbox, .pt-selected .textbox-label {
|
margin-right: 10px;
|
}
|
|
.toptitle {
|
height: 40px;
|
line-height: 40px;
|
}
|
|
.toptitle h5 {
|
font-size: 14px;
|
font-weight: bold;
|
color: #3c8dbc;
|
float: left;
|
padding-left: 16px;
|
}
|
</style>
|
|
</head>
|
<body>
|
<div class="container">
|
<div class="pt-selected">
|
<select name="sel_Table" id="sel_Table" style="width: 200px;" class="easyui-combobox"
|
data-options="panelHeight: 'auto'"></select>
|
|
<!-- <input class="easyui-checkbox" value="" label="去掉系统字段" labelPosition="after" data-options=""> -->
|
<!-- <input class="easyui-checkbox" value="" label="加载其他表" labelPosition="after" data-options="onChange:addBusTable"> -->
|
</div>
|
|
<div class="left">
|
<div class="toptitle" id="tb1" style="height: 43px;">
|
<h5>待选区</h5>
|
<div class="pt-search" style="margin-top: -1px;margin-left:20px;float:left">
|
<p class="pt-retrieval">
|
<input id="txtKeySearch" type="text" placeholder="请输入字段名搜索">
|
<button id="btnKeySearch">
|
<i class="fa fa-search"></i>
|
</button>
|
</p>
|
</div>
|
</div>
|
<table id="tb_WaitSelectFields"></table>
|
</div>
|
<div class="right">
|
<table id="tb_HasSelectFields"></table>
|
</div>
|
<div id="tb">
|
<div class="toptitle">
|
<h5>已选区</h5>
|
<a href="javascript:void(0);" onclick="delAll();" class="pt-btn pt-btn-danger pull-right">
|
<i class="fa fa-trash-o"></i>
|
全部删除
|
</a>
|
</div>
|
</div>
|
|
<div class="pt-form-btn" style="bottom:0px;">
|
<div class="form-group">
|
<button type="button" class="pt-btn pt-btn-primary" onclick="doSave();">确定</button>
|
<button type="reset" class="pt-btn pt-btn-default" onclick="closeWindow();">关闭</button>
|
</div>
|
</div>
|
</div>
|
</body>
|
<script type="text/javascript" src="static/scripts/ResizeScroll.js"></script>
|
<script>
|
//窗口参数,用于弹窗传递
|
var params = {
|
opts: null,
|
callBack: null
|
};
|
|
|
function closeWindow() {
|
var index = top.layer.getFrameIndex(window.name); //获取窗口索引
|
top.layer.close(index);
|
}
|
</script>
|
|
<script>
|
var tb_WaitSelectFields_dg = null;
|
var selTableid;
|
var multiSelect = "${multiSelect}" == "true";
|
$(function () {
|
/* if (tableIds != "") {
|
//判断是否包含当前业务表ID,若不包含则将当前业务表加入ids
|
if ((',' + tableIds + ',').indexOf(',' + tableId + ',') < 0) {
|
tableIds = tableId + "," + tableIds;
|
}
|
GetViewList(tableIds);
|
} else if (tableId != "0") {
|
$("#sel_Table").empty();
|
$("#sel_Table").append($("<option value='" + tableId + "'>" + tableName + "</option>"));
|
} else {
|
$("#sel_Table").empty();
|
$("#sel_Table").append($("<option value='0'> 当前业务表 (未保存)</option>"));
|
}*/
|
|
getViewList();
|
setTimeout(function () {
|
initHasSelect();
|
initWaitSelect();
|
}, 100);
|
|
//右边已选框
|
$("#tb_HasSelectFields").datagrid({
|
fitColumns: true,
|
nowrap: true,
|
rownumbers: true,
|
toolbar: "#tb",
|
height: 440,
|
idField: 'columnId',
|
columns: [[
|
{
|
field: 'columnName',
|
title: '字段名称',
|
width: 100
|
}, {
|
field: 'columnId',
|
title: '操作',
|
width: 50,
|
align: 'center',
|
formatter: function (value, row, index) {
|
return '<a onclick="delTableRow(\'' + row.type + '\',\'' + value + '\',' + index + ');" class="pt-color-danger"><i class="fa fa-trash-o" title="删除"></i></a>';
|
}
|
}
|
]],
|
onLoadSuccess: function () {
|
new ResizeScroll({
|
"id": ".datagrid-body",
|
"height": "361",
|
"index": 3
|
});
|
|
},
|
onDblClickRow: function (rowIndex, rowData) {
|
var hasSelectRows = $("#tb_WaitSelectFields").datagrid("getRows");
|
for (var i = 0; i < hasSelectRows.length; i++) {
|
if (rowData.columnId == hasSelectRows[i].columnId) {
|
$("#tb_WaitSelectFields").datagrid("uncheckRow", i);
|
break;
|
}
|
}
|
}
|
});
|
//绑定关键字检索输入框回车事件
|
$("#btnKeySearch").click(function () {
|
SearchKey();
|
});
|
//关键字检索按钮事件
|
$('#txtKeySearch').bind('keypress', function (event) {
|
if (event.keyCode == "13") {
|
SearchKey();
|
}
|
});
|
});
|
|
function initWaitSelect() {
|
//左边待选框
|
tb_WaitSelectFields_dg = $("#tb_WaitSelectFields").datagrid({
|
fitColumns: true,
|
nowrap: true,
|
rownumbers: true,
|
url: "config/table/selectColumnList?tableId=" + "${tableId}",
|
singleSelect: !multiSelect,
|
height: 440,
|
toolbar: "#tb1",
|
idField: 'columnId',
|
frozenColumns: [[
|
{
|
field: 'ck',
|
checkbox: true
|
}
|
]],
|
columns: [[
|
{
|
field: 'displayName',
|
title: '字段显示',
|
width: 150
|
},
|
{
|
field: 'columnName',
|
title: '字段名称',
|
width: 150
|
},
|
]],
|
onLoadSuccess: function () {
|
new ResizeScroll({
|
"id": ".datagrid-body",
|
"height": "361",
|
"index": 1
|
});
|
//刷新选中项
|
var hasRows = $("#tb_HasSelectFields").datagrid("getRows");
|
var waitRows = $("#tb_WaitSelectFields").datagrid("getRows");
|
if (hasRows != null && hasRows.length > 0 && waitRows != null && waitRows.length > 0) {
|
for (var j = 0; j < waitRows.length; j++) {
|
for (var i = 0; i < hasRows.length; i++) {
|
if (hasRows[i].columnId == waitRows[j].columnId) {
|
$("#tb_WaitSelectFields").datagrid("checkRow", j);
|
break;
|
}
|
}
|
}
|
}
|
},
|
onCheck: function (rowIndex, rowData) {
|
var state = false;
|
var hasRows = $('#tb_HasSelectFields').datagrid("getRows");
|
if (hasRows != null) {
|
for (var i = 0; i < hasRows.length; i++) {
|
if (rowData.columnId == hasRows[i].columnId) {
|
state = true;
|
break;
|
}
|
}
|
}
|
|
if (!state) {
|
if (!multiSelect) {
|
$('#tb_HasSelectFields').datagrid("loadData", []);
|
}
|
$('#tb_HasSelectFields').datagrid("appendRow", {
|
columnId: rowData.columnId,
|
columnName: rowData.columnName,
|
displayName: rowData.displayName,
|
srcData: rowData
|
});
|
}
|
},
|
onUncheck: function (rowIndex, rowData) {
|
var hasSelectRows = $("#tb_HasSelectFields").datagrid("getRows");
|
for (var i = 0; i < hasSelectRows.length; i++) {
|
if (rowData.columnId == hasSelectRows[i].columnId) {
|
$("#tb_HasSelectFields").datagrid("deleteRow", i);
|
break;
|
}
|
}
|
},
|
onCheckAll: function (rows) {
|
var hasRows = $('#tb_HasSelectFields').datagrid("getRows");
|
for (var j = 0; j < rows.length; j++) {
|
var state = false;
|
if (hasRows != null) {
|
for (var i = 0; i < hasRows.length; i++) {
|
if (hasRows[i].columnId == rows[j].columnId) {
|
state = true;
|
break;
|
}
|
}
|
}
|
|
if (state != true) {
|
$('#tb_HasSelectFields').datagrid("appendRow", {
|
columnId: rows[j].columnId,
|
columnName: rows[j].columnName,
|
displayName: rows[j].displayName,
|
srcData: rows[j]
|
});
|
}
|
}
|
|
},
|
onUncheckAll: function (rows) {
|
$("#tb_HasSelectFields").datagrid('loadData', []);
|
}
|
});
|
}
|
|
//初始化选中数据
|
function initHasSelect() {
|
var hasSelectIds = null;
|
var hasSelectNames = null;
|
var separator = null;
|
if (params.opts != null) {
|
if (params.opts.hasSelectIds != null) {
|
hasSelectIds = params.opts.hasSelectIds;
|
hasSelectNames = params.opts.hasSelectNames;
|
}
|
if (params.opts.separator != null) {
|
separator = params.opts.separator;
|
}
|
}
|
if (hasSelectIds != null && hasSelectIds != "") {
|
var hasSelectName = hasSelectNames.split(separator);
|
var hasSelectId;
|
//判断id存储格式
|
if (hasSelectIds.indexOf("|") > 0) {
|
var ids = new Array();
|
var hasId = hasSelectIds.split(separator);
|
for (var i = 0; i < hasId.length; i++) {
|
var id = hasId[i].split("|");
|
ids.push(id[1]);
|
}
|
hasSelectId = ids;
|
} else {
|
hasSelectId = hasSelectIds.split(separator);
|
|
}
|
|
//已选择数据赋值
|
for (var i = 0; i < hasSelectId.length; i++) {
|
$('#tb_HasSelectFields').datagrid("appendRow", {
|
columnId: hasSelectId[i],
|
columnName: hasSelectName[i]
|
});
|
}
|
|
}
|
}
|
|
//关键字搜索方法
|
function SearchKey() {
|
var keyValue = $("#txtKeySearch").val();
|
$('#tb_WaitSelectFields').datagrid('load', {
|
searchText: keyValue
|
});
|
}
|
|
//首次加载下拉框数据
|
function getViewList() {
|
$("#sel_Table").empty();
|
var tableIdH = "${tableIds}";
|
var tableName = "${tableName}";
|
var moduleId = "${moduleId}";
|
var data = [];
|
wcp.ui.setBusy("body", wcp.ajax({
|
url: "config/table/getTableList?tableId=" + tableIdH + "&tableName=" + tableName + "&moduleId=" + moduleId,
|
}).done(function (result) {
|
for (var i = 0; i < result.length; i++) {
|
//$("#sel_Table").append($("<option value='" + result[i].tableId + "'>" + result[i].tableName + "</option>"));
|
var tableId = result[i].tableId;
|
var tableName = result[i].tableName;
|
if (i == 0) {
|
data.push({
|
"id": tableId,
|
"text": tableName,
|
"selected": true
|
});
|
} else {
|
data.push({
|
"id": tableId,
|
"text": tableName
|
});
|
}
|
|
}
|
//下拉框设置点击事件
|
$("#sel_Table").combobox({
|
data: data,
|
valueField: 'id',
|
textField: 'text',
|
onClick: function (record) {
|
var tableId = record.id;
|
if (tableId) {
|
selectColumn(tableId);
|
}
|
}
|
});
|
}));
|
}
|
|
|
function selectColumn(tableId) {
|
var url = "config/table/selectColumnList?tableId=" + tableId;
|
var columnData = [];
|
wcp.ui.setBusy("body", wcp.ajax({
|
url: url,
|
}).done(function (result) {
|
for (var i = 0; i < result.length; i++) {
|
// var columnId = result[i].columnId;
|
// var columnName = result[i].columnName;
|
// var displayName = result[i].displayName;
|
// columnData.push({
|
// "columnId" : columnId,
|
// "columnName" : columnName,
|
// "displayName" : displayName
|
// });
|
columnData.push(result[i]);
|
}
|
tb_WaitSelectFields_dg.datagrid("loadData", columnData);
|
}));
|
}
|
|
/* function removeTr() {
|
var len = $("table.datagrid-btable tr").length;
|
var xy = len - 11 - 1;
|
$("table.datagrid-btable tr:gt(" + xy + ")").hide();
|
|
}
|
*/
|
//加载其他表事件
|
function addBusTable() {
|
var tableIdH = "${tableId}";
|
var isOpen = true;
|
var data = [];
|
|
var selValue = $("#sel_Table").combobox("getValue");
|
var selText = $("#sel_Table").combobox("getText");
|
data.push({
|
"id": selValue,
|
"text": selText
|
});
|
if (isOpen) {
|
wcp.ui.setBusy("body", wcp.ajax({
|
url: "config/table/getTableList",
|
}).done(function (result) {
|
for (var i = 0; i < result.length; i++) {
|
if (result[i].tableId != 0 && result[i].tableId != tableIdH) {
|
//$("#sel_Table").append($("<option value='" + result[i].tableId + "'>" + result[i].tableName + "</option>"));
|
var tableId = result[i].tableId;
|
var tableName = result[i].tableName;
|
data.push({
|
"id": tableId,
|
"text": tableName
|
});
|
}
|
}
|
$("#sel_Table").combobox("loadData", data);
|
}));
|
}
|
}
|
|
//删除已选中的行
|
function delTableRow(type, id, index) {
|
$("#tb_HasSelectFields").datagrid('deleteRow', index);
|
|
//刷新已选区,重新生成行号,不然会出错
|
var hasRows = $('#tb_HasSelectFields').datagrid("getRows");
|
for (var i = 0; i < hasRows.length; i++) {
|
$("#tb_HasSelectFields").datagrid('refreshRow', i);
|
}
|
|
//刷新待选区,去掉待选区中的对应的选择项
|
var waitRows = $('#tb_WaitSelectFields').datagrid("getRows");
|
if (waitRows != null) {
|
for (var i = 0; i < waitRows.length; i++) {
|
if (waitRows[i].columnId == id) {
|
$('#tb_WaitSelectFields').datagrid("uncheckRow", i);
|
break;
|
}
|
}
|
}
|
}
|
|
//确定按钮事件
|
function doSave() {
|
var hasRows = $('#tb_HasSelectFields').datagrid("getRows");
|
|
//分隔符
|
var separator = params.opts.separator ? params.opts.separator : ";";
|
|
var names = "";
|
|
for (var i = 0; i < hasRows.length; i++) {
|
names += hasRows[i].displayName + "|" + hasRows[i].columnName + separator;
|
}
|
names = names.slice(0, -1);
|
|
if (params.opts.layerOpener) {
|
|
params.opts.layerOpener.$("#" + params.opts.nameElement).val(names);
|
try {
|
params.opts.layerOpener.$("#" + params.opts.nameElement).textbox("setValue", names);
|
} catch (e) {
|
}
|
}
|
|
//回调函数
|
if (params.callBack) {
|
params.callBack(hasRows);
|
}
|
|
var index = top.layer.getFrameIndex(window.name); //获取窗口索引
|
top.layer.close(index);
|
}
|
|
//已选取的全部删除
|
function delAll() {
|
$('#tb_HasSelectFields').datagrid("loadData", []);
|
$('#tb_WaitSelectFields').datagrid("clearChecked");
|
}
|
</script>
|
</html>
|