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.

225 lines
8.0 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>
<html>
<head>
<meta charset="utf-8">
<title>流程应用</title>
<meta name="renderer" content="webkit" />
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1" />
<script src="../../WF/Scripts/jquery-1.11.0.min.js" type="text/javascript"></script>
<!--layui-->
<link href="../../WF/Scripts/layui/layui/css/modules/layer/default/layer.css" rel="stylesheet" />
<link href="../../WF/Scripts/layui/layui/css/layui.css" rel="stylesheet" />
<script src="../../WF/Scripts/layui/layui/layui.js" type="text/javascript"></script>
<script src="../../WF/Scripts/layui/layui/lay/modules/layer.js" type="text/javascript"></script>
<!--通用的JS-->
<script src="../../WF/Scripts/config.js" type="text/javascript"></script>
<script src="../../WF/Scripts/QueryString.js" type="text/javascript"></script>
<script src="../../WF/Scripts/QueryString.js" type="text/javascript"></script>
<script src="../../WF/Comm/Gener.js" type="text/javascript"></script>
<script src="../../WF/Scripts/layui/LayuiDialog.js"></script>
<script src="bar.js"></script>
<script type="text/javascript" language="javascript">
var flowNo = GetQueryString("FK_Flow");
var pageIdx = 1;
var pageSize = 10;
layui.use(['table', 'laytpl', 'form', 'laydate'], function () {
var table = layui.table;
// 数据.
var ens = new Entities("BP.WF.Template.FlowTabs");
var data = ens.DoMethodReturnString("Default_Init", flowNo);
if (data.indexOf("err@") != -1) {
layer.alert(data);
console.log(data);
return;
}
data = JSON.parse(data);
//获取列
var cols = GetTableCols(data);
//渲染table
//主页面数据
var vtable = table.render({
elem: '#lay_table',
id: 'lay_table',
data: data["DT"],
toolbar: '#toolBarDemo', //开启头部工具栏,并为其绑定左侧模板
defaultToolbar: ['filter'],
title: '数据表',
height: $(document).height()- $("#toolbar").height() - 130,
cellMinWidth: 120,
size: 'lg',
cols: [cols],
page: false,
limits: [5, 10, 15, 20, 25]
});
// renderLaypage(data["DT"].length);
});
/**
* 设置显示的列
* @return Cols的集合
*/
function GetTableCols(data) {
var columns = new Array();;
//系统字段
var mapAttrOfSys = data["Sys_MapAttrOfSystem"];
//流程所有字段
var mapAttrOfAll = data["Sys_MapAttr"];
//表单字段
var mapAttrOfFrm = $.grep(mapAttrOfAll, function (item) {
if (item.UIContralType != 0 && item.UIContralType != 1 && item.UIContralType != 2 && item.UIContralType != 3)
return true;
if (sysFiels.indexOf("," + item.KeyOfEn + ",") != -1)
return true;
return false;
}, true);
//用户选择显示的字段
var selectFields = "";
//生成表格的Cols数组
columns.push({
title: '序',
field: '',
align: 'center',
width: 50,
templet: function (d) {
return d.LAY_INDEX;//pageSize * (pageIdx - 1) + d.LAY_TABLE_INDEX + 1; // 返回每条的序号: 每页条数 *(当前页 - 1 + 序号
}
});
var keyOfEn = "";
for (var i = 0; i < mapAttrOfSys.length; i++) {
keyOfEn = mapAttrOfSys[i].KeyOfEn;
if (keyOfEn == "WFState")
continue;
columns.push(GenerColumn(mapAttrOfSys[i], false));
}
for (var i = 0; i < mapAttrOfFrm.length; i++) {
keyOfEn = mapAttrOfFrm[i].KeyOfEn;
if (selectFields.indexOf("," + keyOfEn + ",") != -1 || selectFields.indexOf("," + keyOfEn + "T" + ",") != -1 || selectFields.indexOf("," + keyOfEn + "Text" + ",") != -1)
columns.push(GenerColumn(mapAttrOfFrm[i], false));
else
columns.push(GenerColumn(mapAttrOfFrm[i], true));
}
//流程状态
columns.push({
field: "WFState",
title: "状态",
minWidth: "100",
sort: true,
templet: function (data) {
return data["WFStateText"];
}
});
return columns;
}
/**
* 根据字段属性生成列属性
* @param attr
*/
function GenerColumn(attr, isHide) {
var field = attr.KeyOfEn;
var title = attr.Name;
var width = attr.Width;
if (field == "Title") {
width = 230;
}
if (attr.UIContralType == 1) {
if (width == null || width == "" || width == undefined)
width = 180;
return {
field: field, //字段名
title: title, //标题名称
minWidth: width, //宽度
hide: isHide, //是否隐藏
sort: true,
templet: function (data) {
var val = data[this.field + "Text"];
if (val == null && val == undefined)
val = data[this.field + "T"];
if (val == null && val == undefined)
val = data[this.field];
return val;
}
};
}
if (attr.UIContralType == 2) {
if (width == null || width == "" || width == undefined) {
width = 60;
}
return {
field: field,
title: title,
minWidth: width,
hide: isHide, //是否隐藏
sort: true,
templet: function (data) {
if (data[this.field] == "0") return "否";
if (data[this.field] == "1") return "是";
}
};
}
if (width == null || width == "" || width == undefined)
width = 100;
if (field == "FlowStartRDT")
width = 160;
return {
field: field,
title: title,
minWidth: width,
hide: isHide, //是否隐藏
sort: true,
templet: function (data) {
if (this.field == "Title") {
return "<a style='color:#1e9fff' href='javaScript:void(0)' onclick='OpenForm(\"" + GetQueryString("FK_Flow") + "\"," + data.FlowEndNode + "," + data.OID + "," + data.FID + ")'>" + data[this.field] + "</a>";
}
return data[this.field];
}
};
}
</script>
<style>
.toolber a {
margin-left: 10px;
}
</style>
</head>
<body>
<div class="layui-header" id="toolbar"></div>
<div class="layui-fluid">
<div class="layui-row layui-col-space15">
<!-- 内容主体区域 -->
<div class="layui-col-md12">
<div class="layui-card">
<div class="layui-card-body">
<table class="layui-hide" id="lay_table" lay-filter="default"></table>
<div id="page"></div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>