You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

415 lines
15 KiB
Plaintext

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="UTF-8" />
<title>查询</title>
<!--jquery-->
<script src="../../Scripts/jquery-1.11.0.min.js" type="text/javascript"></script>
<!--公共JS-->
<script src="../../Scripts/QueryString.js" type="text/javascript"></script>
<script src="../../Scripts/config.js" type="text/javascript"></script>
<script src="../Gener.js" type="text/javascript"></script>
<link href="../../Scripts/layui/layui/css/layui.css" rel="stylesheet" />
<link href="../../Scripts/layui/style/admin.css" rel="stylesheet" />
<script src="../../Scripts/layui/layui/layui.js" type="text/javascript"></script>
<script src="../../Scripts/layui/LayuiDialog.js" type="text/javascript"></script>
<base target="_self" />
<style type="text/css">
.layui-form-label {
padding: 9px 0px;
}
.layui-form-label {
margin-bottom: 0px;
}
.layui-table th {
font-weight: bold;
}
</style>
<script language="javascript" type="text/javascript">
//页面启动函数.
var frmData = null;
var mapData = null;
var webUser = new WebUser();
var ensName = GetQueryString("EnsName");
var enName = ensName.substring(0, ensName.length - 1);
var enPK = "";
//页面设置信息
var cfg = new Entity("BP.Sys.EnCfg");
cfg.No = ensName;
cfg.RetrieveFromDBSources();
$(function () {
if (webUser.No == undefined) {
alert('登录信息丢失,请重新登录。');
return;
}
if (ensName == null || ensName == undefined) {
$("#Msg").html("必要的参数EnsName没有传入.");
return;
}
var httpHandler = new HttpHandler("BP.WF.HttpHandler.WF_CommEntity");
httpHandler.AddUrlData(); //增加参数属性.
var data = httpHandler.DoMethodReturnString("Dtl_Init");
if (data.indexOf('err@') == 0) {
$("#Msg").html(data);
return;
}
//解析json.
frmData = JSON.parse(data);
mapData = frmData["Sys_MapData"][0];
mapData = new Entity("BP.Sys.MapData", mapData);
document.title = mapData.Name;
enPK = mapData.GetPara("EntityPK");
layui.use(['table', 'laydate'], function () {
var table = layui.table,
laydate = layui.laydate;
InitToolbar();
//按钮操作
$('.toolbar').on('click', function () {
var id = this.id;
switch (id) {
case "Add":
OpenEn("");
break;
case "Exp":
Export();
break;
case "Import":
Imp();
break;
case "Setting":
Setting();
break;
default: break;
}
});
var data = frmData.Dtls;
//获取列
var cols = GetColoums(frmData);
//渲染table
//主页面数据
var vtable = table.render({
elem: '#tableSearch',
id: 'tableSearch',
data: data,
title: '数据表',
limit: Number.MAX_VALUE,
height: $(document).height() - $("#toolbar").height()-40,
cellMinWidth: 120,
cols: [cols],
page: false
});
//触发行双击事件
if (cfg.DoubleOrClickModel == 0) {
table.on('rowDouble(search)', function (obj) {
var row = obj.data;
var pkval = row[enPK];
var rowstr = JSON.stringify(row);
rowstr = encodeURIComponent(rowstr);
OpenEn(pkval, rowstr);
});
}
if (cfg.DoubleOrClickModel == 1) {
table.on('row(search)', function (obj) {
var row = obj.data;
var pkval = row[enPK];
var rowstr = JSON.stringify(row);
rowstr = encodeURIComponent(rowstr);
OpenEn(pkval, rowstr);
});
}
});
});
function InitToolbar() {
var _html = "<div class='layui-inline'>";
//权限控制.
if (mapData.GetPara("IsInsert") == 1) {
_html += "<button type='button' class='layui-btn layui-btn-radius layui-btn-sm toolbar' id='Add'>新建</button>";
}
if (mapData.GetPara("IsImp") == 1) {
_html += "<button type='button' class='layui-btn layui-btn-radius layui-btn-sm toolbar' id='Imp'>导入</button>";
}
if (mapData.GetPara("IsExp") == 1)
_html += "<button type='button' class='layui-btn layui-btn-radius layui-btn-sm toolbar' id='Exp'>导出</button>";
if (new WebUser().IsAdmin == true)
_html += "<button type='button' class='layui-btn layui-btn-radius layui-btn-sm toolbar' id='Setting'>设置</button>";
$("#toolbar").append(_html);
layui.form.render();
}
function OpenEn(pk,row) {
if (row != null && row != undefined && row != "")
row = JSON.parse(decodeURIComponent(row));
var url = "./En.htm?EnName=" + enName + "&PKVal=" + pk + "&RefPK=" + GetQueryString("RefKey") + "&RefPKVal=" + GetQueryString("RefVal");
var windowW = document.body.clientWidth*4/5;
OpenLayuiDialog(url, mapData.Name, windowW, 100, "r", true, false, false, null, function () {
//关闭弹窗时刷新本页面如果父页面时En.htm时页需要刷新
var httpHandler = new HttpHandler("BP.WF.HttpHandler.WF_CommEntity");
httpHandler.AddUrlData(); //增加参数属性.
var data = httpHandler.DoMethodReturnString("Dtl_Init");
if (data.indexOf('err@') == 0) {
$("#Msg").html(data);
return;
}
//解析json.
frmData = JSON.parse(data);
layui.table.reload('tableSearch', { data: frmData.Dtls });
if (typeof window.parent.vm != "undefined") {
var len = frmData.Dtls.length;
if (window.parent.vm.tabsList.length > window.parent.vm.selectedTabsIndex) {
//修改Tab标签
$.each(window.parent.vm.tabsList, function (i, item) {
if (i == window.parent.vm.selectedTabsIndex) {
item.name = mapData.Name + "(" + len + ")";
item.Title = item.name;
}
})
//修改树形菜单
var dd = $("dd[data-id='" + ensName + "']", window.parent.document);
dd.attr("data-name", mapData.Name + "(" + len + ")");
$(dd.find("a")[0]).find("span").html(mapData.Name + "(" + len + ")");
$.each(window.parent.vm.menuTreeData, function (i,group) {
$.each(group.children, function (k, item) {
if (item.No == ensName) {
item.name = mapData.Name + "(" + len + ")";
item.Title = item.name;
return false;
}
})
})
}
}
});
}
function GetColoums(data) {
var attrs = data.Sys_MapAttr;
// enPK = sysMapData.GetPara("PK");
if (attrs == undefined) {
alert('没有取得属性.');
return;
}
var cols = [];
var fieldColumns = {};
fieldColumns = {
title: '序',
field: '',
align: 'center',
width: 50,
type: 'numbers',
};
cols.push(fieldColumns);
for (var i = 0; i < attrs.length; i++) {
var attr = attrs[i];
if (attr.UIVisible == 0
|| attr.KeyOfEn == "OID"
|| attr.KeyOfEn == "WorkID"
|| attr.KeyOfEn == "NodeID"
|| attr.KeyOfEn == "MyNum"
|| attr.KeyOfEn == "MyPK") {
keyOfEn = attr.KeyOfEn
continue;
}
var field = attr.KeyOfEn;
var title = attr.Name;
var width = attr.Width;
if (width < 60) {
width = 60;
}
if (field == "Title") {
width = 230;
}
if (attr.UIContralType == 1) {
if (width == null || width == "" || width == undefined)
width = 180;
field = field + "Text";
fieldColumns = {
field: field,
title: title,
fixed: false,
minWidth: width,
};
cols.push(fieldColumns);
continue;
}
if (attr.UIContralType == 2) {
fieldColumns = {
field: field,
title: title,
minWidth: width,
fixed: false,
templet: function (row) {
var val = "";
if (row[this.field] == "0")
val = "否";
if (row[this.field] == "1")
val = "是";
return val;
}
};
cols.push(fieldColumns);
continue;
}
if (width == null || width == "" || width == undefined)
width = 100;
if (attr.IsRichText == "1") {
richAttrs.push(attr);
fieldColumns = {
field: field,
title: title,
width: width,
fixed: false,
templet: function (row) {
var val = row[this.field];
if (val == "")
return val;
val = htmlDecodeByRegExp(val);
return "<div>" + val + "</div>";
}
};
cols.push(fieldColumns);
continue;
}
if (attr.MyDataType == "6") {
fieldColumns = {
field: field,
title: title,
width: width,
fixed: false,
templet: function (row) {
var val = row[this.field];
if (val == null || val == undefined || val == "")
return "";
val = FormatDate(new Date(val), "yyyy-MM-dd");
return val;
}
};
cols.push(fieldColumns);
continue;
}
fieldColumns = {
field: field,
title: title,
minWidth: width,
fixed: false,
};
cols.push(fieldColumns);
continue;
}
//fieldColumns = {
// field: '_operate',
// title: '操作',
// minWidth: 200,
// align: 'center',
// templet: function (row) {
// return rowbar(dtMs, row);
// }
//}
//cols.push(fieldColumns);
return cols;
}
function Import() {
var title = mapData.Name + "导入数据";
var W = document.body.clientWidth*3/5;
var url = "../../CCForm/DtlImpByExcel.htm?EnsName=" + GetQueryString("EnsName") + "&RefPKVal=" + GetQueryString("RefVal") + "&FK_MapData=" + GetQueryString("EnName");
OpenLayuiDialog(url, title, W, 100, 'r', true);
}
//导出
function Export() {
var handler = new HttpHandler("BP.WF.HttpHandler.WF_CommEntity");
handler.AddPara("EnsName", GetQueryString("EnsName"));
handler.AddPara("RefKey", GetQueryString("RefKey"));
handler.AddPara("RefVal", GetQueryString("RefVal"));
//查询集合
var data = handler.DoMethodReturnString("Dtl_Exp");
if (data.indexOf('err@') == 0) {
alert(data);
return;
}
data = basePath + "/" + data;
window.open(data);
return;
}
//设置
function Setting() {
//先判断是否有该笔数据.
var ensName = GetQueryString("EnsName");
var en = new Entity("BP.Sys.EnCfg");
en.SetPKVal(ensName);
var i = en.RetrieveFromDBSources();
if (i == 0) {
en.No = ensName;
en.Insert();
}
var url = "./En.htm?EnName=BP.Sys.EnCfg&No=" + GetQueryString("EnsName") + "&m=" + Math.random();
//获取屏幕的长宽
var W = document.body.clientWidth*4/5;
OpenLayuiDialog(url, "", W, 100, "r", true);
}
</script>
</head>
<body>
<div class="layui-fluid">
<div class="layui-row layui-col-space30">
<!-- 内容主体区域 -->
<div class="layui-col-md12" style="padding:10px">
<div class="layui-card">
<div class="layui-card-body">
<!--查询条件-->
<div>
<form class="layui-form" id="toolbar" style="text-align:right;margin-right:20px">
</form>
</div>
<!--查询表格-->
<table class="layui-hide" id="tableSearch" lay-filter="search"></table>
</div>
</div>
</div>
</div>
</div>
</body>
</html>