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.

368 lines
13 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">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>流程发起列表</title>
<link href="../Scripts/bootstrap/css/bootstrap.css" rel="stylesheet" type="text/css" />
<link href="../Scripts/bootstrap/css/font-awesome.css" rel="stylesheet">
<link href="../Style/skin/css/style.css" rel="stylesheet" type="text/css" />
<link href="../Style/skin/css/animate.css" rel="stylesheet" type="text/css" />
<link href="Style/skin/font/iconfont.css" rel="stylesheet" type="text/css" />
<style>
table {
width: 100%;
font-size: 14px;
}
table td,
table th {
padding: 10px;
}
.row {
margin-top: 10px;
}
#Table {
border-collapse: collapse;
border: none;
}
#Table td,
#Table th {
border: solid #dddddd .5px;
}
</style>
</head>
<body class="gray-bg">
<div class="wrapper wrapper-content animated fadeInRight">
<div class="ibox-content">
<table id="Table">
<!-- <tr>
<th colspan="4" style="background-color: #f8f8ff;">办公类</th>
</tr>
<tr>
<td><a>请假20</a></td>
<td><a>请假20</a></td>
<td><a>请假20</a></td>
<td><a>请假20</a></td>
</tr>
<tr>
<td><a>请假20</a></td>
<td><a>请假20</a></td>
<td><a>请假20</a></td>
<td><a>请假20</a></td>
</tr> -->
</table>
<!-- <table class="table table-striped">
<thead>
<tr>
<th width="40">#</th>
<th>名称</th>
<th colspan="2">查询</th>
<th>发起</th>
</tr>
</thead>
<tbody id="Table1"></tbody>
</table> -->
<div class="row">
<div class="col-sm-12"><span id="Table2"></span></div>
</div>
</div>
</div>
<script type="text/javascript" src="../Scripts/bootstrap/js/jquery.min.js"></script>
<script type="text/javascript" src="../Scripts/bootstrap/js/bootstrap.min.js"></script>
<script src="../Scripts/QueryString.js" type="text/javascript"></script>
<script src="../Scripts/config.js" type="text/javascript"></script>
<script src="../Comm/Gener.js" type="text/javascript"></script>
<script src="../Scripts/layui/layui/lay/modules/layer.js" type="text/javascript"></script>
<script type="text/javascript">
function GroupBarClick(groupName) {
var alt = document.getElementById('Img' + groupName).alert;
var sta = 'block';
if (alt == 'Max') {
sta = 'block';
alt = 'Min';
classname = 'fa fa-minus-square';
} else {
sta = 'none';
alt = 'Max';
classname = 'fa fa-plus-square';
}
document.getElementById('Img' + groupName).className = classname;
document.getElementById('Img' + groupName).alert = alt;
var i = 0;
for (i = 0; i <= 600; i++) {
var row = document.getElementById(groupName + i);
if (row == null || row == undefined || row.style == null)
continue;
if (sta == 'block') {
row.style.display = '';
} else {
row.style.display = sta;
}
}
}
function WinOpenIt(url) {
layer.open({
skin: 'layer-class',
type: 2,
title: '单流程查询',
area: ['96%', '90%'],
content: url
});
}
</script>
<script language="javascript" type="text/javascript">
//发起时打开窗口
function WinOpenStartFlow(flowNo) {
var url = "MyFlow.htm?FK_Flow=" + flowNo;
window.open(url);
return;
layer.open({
skin: 'layer-class',
type: 2,
title: flowNo,
area: ['96%', '90%'],
content: url
});
}
//查询
function WinOpenSearch(flowNo, title) {
var intFlowNo = flowNo;
// var url = "./Rpt/Search.htm?RptNo=ND" + Number(flowNo) + "MyRpt&FK_Flow=" + flowNo;
var url = "../RptDfine/Default.htm?RptNo=ND" + Number(flowNo) + "MyRpt&FK_Flow=" + flowNo;
window.open(url);
return;
layer.open({
skin: 'layer-class',
type: 2,
title: title,
area: ['96%', '90%'],
content: url
});
}
//页面启动函数.
$(function () {
InitPage();
});
/*初始化数据. 弃用
function InitPage() {
var handler = new HttpHandler("BP.WF.HttpHandler.WF_RptDfine");
var data = handler.DoMethodReturnString("Flowlist_Init");
var data2022 = handler.DoMethodReturnString("Flowlist_Init2022");
console.log(`🚀 :: data2022`, data2022);
console.log(`🚀 :: data `, data);
if (data.indexOf('err@') == 0) {
alert(data);
return;
}
data = JSON.parse(data);
data.Flows.forEach(flow => {
let sort = data.Sort.find(sortItem => sortItem.No == flow.FK_FlowSort)
if (sort) {
if (!Array.isArray(sort.flows)) sort.flows = [];
sort.flows.push(flow)
}
})
data.Sort.forEach(item => {
if (item.flows) {
let index = 0;
let Dom = `
<tr>
<th colspan="4" style="background-color: #f8f8ff;">${item.Name}</th>
</tr>
<tr>`
for (let i = 0; i < Math.ceil(item.flows.length / 4); i++) {
let flowsLen = 4 - item.flows.length
item.flows.forEach(flow => {
index++;
Dom += `<td style="width:25%"><a href="/WF/SearchZongHe.htm?FlowNo=${flow.No}">${flow.Name}</a></td>`
})
for (let f = 0; f < flowsLen; f++) {
Dom += '<td style="width:25%"></td>'
}
}
Dom += '</tr>';
$('#Table').append(Dom)
$("#Table2").html(`合计:${index}条`);
}
})
// var dtSort = data["Sort"]; //类别.
// var dtFlow = data["Flows"]; //发起的流程.
// var listbox = '';
// var myNum = 0;
// var is1 = false;
// for (var i = 0; i < dtSort.length; i++) {
// var sortNo = dtSort[i].No;
// var sortName = dtSort[i].Name;
// //检查该类别下是否有流程没有流程就continue ;.
// var isHaveFlow = false;
// for (var idx = 0; idx < dtFlow.length; idx++) {
// var flow = dtFlow[idx];
// if (sortNo == flow.FK_FlowSort) {
// isHaveFlow = true;
// break;
// }
// }
// if (isHaveFlow == false)
// continue;
// if (sortName == "" || sortName == null)
// continue;
// listbox += "<tr onclick=\"GroupBarClick('" + sortName + "')\" > <th colspan=8 class='table-title'> <i class='fa fa-minus-square' alert='Min' id='Img" + sortName + "'></i><span>" + sortName + "</span></th> </tr>";
// //增加处理.
// for (var idx = 0; idx < dtFlow.length; idx++) {
// var flow = dtFlow[idx];
// var flowSort = flow.FK_FlowSort;
// if (sortNo != flowSort)
// continue;
// myNum++;
// if (is1 == true) {
// listbox += "<tr id='" + sortName + myNum + "' >";
// is1 = false;
// }
// else {
// listbox += "<tr id='" + sortName + myNum + "' >";
// is1 = true;
// }
// listbox += "<td class=Idx >" + myNum + "</td>";
// listbox += "<td> <a href=\"javascript:WinOpenSearch('" + flow.No + "','" + flow.Name + "');\" > " + flow.No + "." + flow.Name + "</a></td>";
// listbox += "<td> <a href=\"javascript:WinOpenStart('" + flow.No + "','" + flow.Name + "');\" >我发起的流程</a></td>";
// listbox += "<td> <a href=\"javascript:WinOpenJoin('" + flow.No + "','" + flow.Name + "');\" >我审批的流程</a></td>";
// //listbox += "<td> <a href=\"javascript:WinOpenStartFlow('" + flow.No + "','" + flow.Name + "');\" >流程发起</a></td>";
// listbox += "</tr>";
// }
// }
// $('#Table1').html(listbox);
// $("#Table2").html("合计:" + myNum + "条");
}
*/
function InitPage() {
var handler = new HttpHandler("BP.WF.HttpHandler.WF_RptDfine");
let data = handler.DoMethodReturnString("Flowlist_Init2022");
if (data.indexOf('err@') == 0) {
alert(data);
return;
}
data = JSON.parse(data);
const result = {};
data.forEach(item => {
if (result[item.SortName]) {
result[item.SortName].push(item);
} else {
result[item.SortName] = [item];
}
})
let index = 0;
let Dom = '';
for (let key in result) {
let difference = 4 - (result[key].length % 4)
for (let i = 0; i < Math.ceil(result[key].length / 4); i++) {
Dom += `
<tr>
<th colspan="4" style="background-color: #f8f8ff;">${key}</th>
</tr>
<tr>`
for (let j = (i + 1) * 4 - 4; j < result[key].length; j++) {
index++;
Dom += `<td style="width:25%"><a href="../SearchZongHe.htm?FlowNo=${result[key][j].FlowNo}">${result[key][j].FlowName}</a></td>`
}
for (let d = 0; d < difference; d++) {
Dom += '<td style="width:25%"></td>'
}
Dom += '</tr>';
}
}
$('#Table').append(Dom)
$("#Table2").html(`合计:${index}条`);
}
//发起时打开窗口
function WinOpenStartFlow(flowNo, title) {
var url = "../MyFlow.htm?FK_Flow=" + flowNo;
window.open(url);
return;
layer.open({
skin: 'layer-class',
type: 2,
title: title + ' : 流程发起',
area: ['96%', '90%'],
content: url
});
}
//我发起的流程.
function WinOpenStart(flowNo, title) {
var intFlowNo = flowNo;
var url = "../RptDfine/Default.htm?RptNo=ND" + Number(flowNo) + "MyRpt&FK_Flow=" + flowNo + "&SearchType=My";
window.open(url);
return;
layer.open({
skin: 'layer-class',
type: 2,
title: title + ' : 我发起的流程',
area: ['96%', '90%'],
content: url
});
}
//我发起的流程.
function WinOpenJoin(flowNo, title) {
var intFlowNo = flowNo;
var url = "../RptDfine/Default.htm?RptNo=ND" + Number(flowNo) + "MyRpt&FK_Flow=" + flowNo + "&SearchType=MyJoin";
window.open(url);
return;
layer.open({
skin: 'layer-class',
type: 2,
title: title + ' : 我审批的流程',
area: ['96%', '90%'],
content: url
});
}
</script>
</body>
</html>