You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
446 lines
17 KiB
446 lines
17 KiB
<!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">
|
|
<meta name="apple-mobile-web-app-status-bar-style" content="black">
|
|
<meta name="apple-mobile-web-app-capable" content="yes">
|
|
<meta name="format-detection" content="telephone=no">
|
|
<link rel="stylesheet" href="../../layui/css/layui.css" media="all" />
|
|
<link rel="stylesheet" href="../../css/public.css" media="all" />
|
|
<link rel="stylesheet" href="../../css/ztree/metro/ztree.css">
|
|
<style>
|
|
html, body {
|
|
height: 100%;
|
|
width: 100%;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.header {
|
|
width: 100%;
|
|
height: 10%;
|
|
}
|
|
|
|
.content {
|
|
width: 100%;
|
|
height: 90%;
|
|
}
|
|
</style>
|
|
|
|
</head>
|
|
<body>
|
|
<div style="position: absolute;top: 0;bottom: 0px;left: 0;width: 270px;min-height: 500px; border: 1px solid #0c6f89;background: rgba(12, 70, 100, 0.8);border-radius:4px;">
|
|
<blockquote class="layui-elem-quote title">机构目录</blockquote>
|
|
<ul id="ztree" class="ztree"></ul>
|
|
</div>
|
|
<div class="layui-col-lg10 layui-col-md10 layui-col-xs10" style="position: absolute; left: 290px; right: 0; top: 0; bottom: 0; z-index: 998; width: auto; overflow: hidden; overflow-y: auto; box-sizing: border-box; border: 1px solid #0c6f89; background: rgba(12, 70, 100, 0.8);; border-radius: 4px; padding: 20px;">
|
|
<div class="header">
|
|
<blockquote class="layui-elem-quote quoteBox" style="padding-left:0; padding-top:0;">
|
|
<form class="layui-form">
|
|
<div class="layui-inline">
|
|
<div class="layui-input-inline">
|
|
<input type="text" class="layui-input" id="searchTime" placeholder="开始 到 结束">
|
|
</div>
|
|
<div class="layui-input-inline">
|
|
<input type="checkbox" checked="" id="is_content" lay-filter="bellow" name='is_content' value="1" title="包含下级所属单位">
|
|
</div>
|
|
<a class="layui-btn search_btn" data-type="reload">搜索</a>
|
|
</div>
|
|
</form>
|
|
</blockquote>
|
|
</div>
|
|
<div class="content" id="echartid">
|
|
</div>
|
|
</div>
|
|
<script src="../../js/jquery-2.1.3.min.js"></script>
|
|
<script src="../../js/jq_extend.js"></script>
|
|
<script type="text/javascript" src="../../layui/layui.js"></script>
|
|
<script src="../../js/echarts.min.js"></script>
|
|
<script type="text/javascript">
|
|
layui.config({
|
|
base: '../../js/'
|
|
}).use(['ztree', 'form', 'layer', 'table', 'laydate'], function () {
|
|
var form = layui.form,
|
|
layer = parent.layer === undefined ? layui.layer : top.layer,
|
|
table = layui.table,
|
|
laydate = layui.laydate;
|
|
|
|
laydate.render({
|
|
elem: '#searchTime'
|
|
, range: '到'
|
|
, format: 'yyyy-M-d'
|
|
});
|
|
|
|
var OrgId = JSON.parse(window.sessionStorage.getItem("userInfo")).OrgID;
|
|
|
|
var myChart = echarts.init(document.getElementById('echartid'));
|
|
//option = {
|
|
// title: {
|
|
// text: '人员出入统计',
|
|
// left: 150,
|
|
// textStyle: {
|
|
// color: '#ffffff'
|
|
// }
|
|
// },
|
|
// tooltip: {
|
|
// trigger: 'axis'
|
|
// },
|
|
// toolbox: {
|
|
// feature: {
|
|
// saveAsImage: {}
|
|
// }
|
|
// , right: 50
|
|
// },
|
|
// legend: {
|
|
// data: ['总数','干部','消防员','文员','其他'],
|
|
// textStyle: {
|
|
// color: '#ffffff'
|
|
// }
|
|
// },
|
|
// grid: {
|
|
// left: '3%',
|
|
// right: '4%',
|
|
// bottom: '3%',
|
|
// containLabel: true
|
|
// },
|
|
// xAxis: {
|
|
// type: 'category',
|
|
// boundaryGap: false,
|
|
// data: ['00', '01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23'],
|
|
// axisLine: {
|
|
// lineStyle: {
|
|
// color: '#ffffff'
|
|
// }
|
|
// }
|
|
// },
|
|
// yAxis: {
|
|
// name: "次数",
|
|
// type: 'value',
|
|
// minInterval: 1,
|
|
// splitLine: {
|
|
// lineStyle: {
|
|
// color: 'rgba(255,255,255,.2)'
|
|
// }
|
|
// },
|
|
// axisLine: {
|
|
// lineStyle: {
|
|
// color: '#ffffff'
|
|
// }
|
|
// }
|
|
// },
|
|
// series: [
|
|
// {
|
|
// name: '总数',
|
|
// type: 'line',
|
|
// stack: '总数',
|
|
// data: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
|
|
// },
|
|
// {
|
|
// name: '干部',
|
|
// type: 'line',
|
|
// stack: '干部',
|
|
// data: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
|
|
// },
|
|
// {
|
|
// name: '消防员',
|
|
// type: 'line',
|
|
// stack: '消防员',
|
|
// data: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
|
|
// },
|
|
// {
|
|
// name: '文员',
|
|
// type: 'line',
|
|
// stack: '文员',
|
|
// data: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
|
|
// },
|
|
// {
|
|
// name: '其他',
|
|
// type: 'line',
|
|
// stack: '其他',
|
|
// data: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
|
|
// }
|
|
// ]
|
|
//};
|
|
option = {
|
|
tooltip: {
|
|
trigger: 'axis',
|
|
axisPointer: {
|
|
type: 'cross',
|
|
crossStyle: {
|
|
color: '#999'
|
|
}
|
|
}
|
|
},
|
|
legend: {
|
|
data: ['总数', '干部', '消防员', '文员', '其他'],
|
|
textStyle: {
|
|
color: '#fff', //坐标的字体颜色
|
|
},
|
|
},
|
|
xAxis: [
|
|
{
|
|
type: 'category',
|
|
data: ['00', '01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23'],
|
|
axisPointer: {
|
|
type: 'shadow'
|
|
},
|
|
axisLabel: {
|
|
interval: 0,
|
|
// show: true,
|
|
textStyle: {
|
|
color: "#0bbad0",
|
|
fontSize: 12
|
|
}
|
|
},
|
|
axisLine: {
|
|
lineStyle: {
|
|
color: '#4a646f',
|
|
|
|
}
|
|
},
|
|
axisTick: {
|
|
show: true,
|
|
alignWithLabel: true,
|
|
}
|
|
}
|
|
],
|
|
yAxis: [
|
|
{
|
|
type: 'value',
|
|
name: '数量',
|
|
axisLabel: {
|
|
textStyle: {
|
|
color: '#0bbad0',
|
|
fontSize: 12
|
|
}
|
|
},
|
|
axisLine: {
|
|
lineStyle: {
|
|
color: '#4a646f',
|
|
}
|
|
}
|
|
,
|
|
|
|
splitLine: {
|
|
show: true,
|
|
lineStyle: {
|
|
color: '#4a646f',
|
|
type: "dashed"
|
|
}
|
|
}
|
|
}
|
|
],
|
|
series: [
|
|
{
|
|
name: '总数',
|
|
type: 'line',
|
|
data: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
|
|
itemStyle: {
|
|
normal: {
|
|
color: "#FFD56E"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
name: '干部',
|
|
type: 'bar',
|
|
data: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
|
|
itemStyle: {
|
|
normal: {
|
|
color: "#4790f5"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
name: '消防员',
|
|
type: 'bar',
|
|
data: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
|
|
itemStyle: {
|
|
normal: {
|
|
color: "#5be12f"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
name: '文员',
|
|
type: 'bar',
|
|
data: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
|
|
itemStyle: {
|
|
normal: {
|
|
color: "#FFD56E"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
name: '其他',
|
|
type: 'bar',
|
|
data: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
|
|
itemStyle: {
|
|
normal: {
|
|
color: "#e98f6f"
|
|
}
|
|
}
|
|
},
|
|
]
|
|
};
|
|
|
|
myChart.setOption(option);
|
|
window.onresize = function () {
|
|
myChart.resize();
|
|
};
|
|
|
|
|
|
var $zTree, OrgList = [];
|
|
var setting = {
|
|
view: {
|
|
selectedMulti: false
|
|
},
|
|
check: {
|
|
enable: true
|
|
},
|
|
data: {
|
|
key: {
|
|
name: "NAME"
|
|
},
|
|
simpleData: {
|
|
enable: true,
|
|
type: "TYPE",
|
|
idKey: "ID",
|
|
pIdKey: "PID"
|
|
}
|
|
},
|
|
edit: {
|
|
enable: false
|
|
},
|
|
callback: {
|
|
onClick: function (e, treeId, treeNode) {
|
|
OrgId = treeNode.ID;
|
|
pAlarmSta();
|
|
}
|
|
}
|
|
};
|
|
//初始化树
|
|
$.ajax({
|
|
type: "post",
|
|
url: "../../ashx/SysEmpHandler.ashx",
|
|
data: { Action: "OrgDeptTree", OrgId: OrgId },
|
|
dataType: "json",
|
|
success: function (result) {
|
|
var data = result.data;
|
|
var zNodes = [];
|
|
if (data.length > 0) {
|
|
for (var i in data) {
|
|
if (data[i].TYPE == "org") {
|
|
OrgList.push(data[i].ID);
|
|
zNodes.push(data[i]);
|
|
}
|
|
}
|
|
}
|
|
$zTree = $.fn.zTree.init($("#ztree"), setting, zNodes);
|
|
|
|
var nodes = $zTree.getNodes();
|
|
for (var i = 0; i < nodes.length; i++) {
|
|
$zTree.expandNode($zTree.getNodes()[i], true, false, false);
|
|
}
|
|
}
|
|
});
|
|
|
|
//延迟展开根节点
|
|
setTimeout(function () {
|
|
var nodes = $zTree.getNodes();
|
|
for (var i = 0; i < nodes.length; i++) {
|
|
$zTree.expandNode($zTree.getNodes()[i], true, false, false);
|
|
}
|
|
}, 500);
|
|
|
|
//每次加载节点触发的方法
|
|
function onAsyncSuccess(event, treeId, treeNode, msg) {
|
|
//递归展开子节点
|
|
if (treeNode != undefined) {
|
|
expandNodes(treeNode.children, "ztree");
|
|
}
|
|
}
|
|
|
|
//递归展开子节点
|
|
function expandNodes(nodes, treeId) {
|
|
if (!nodes) return;
|
|
var zTree = $.fn.zTree.getZTreeObj(treeId);
|
|
for (var i = 0, l = nodes.length; i < l; i++) {
|
|
zTree.expandNode(nodes[i], true, false, false);
|
|
if (nodes[i].isParent && nodes[i].zAsync) {
|
|
expandNodes(nodes[i].children, treeId);
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
function pAlarmSta() {
|
|
var time = $("#searchTime").val();
|
|
var times = ["", ""];
|
|
if (time) {
|
|
times = time.split('到');
|
|
}
|
|
var xdata = [], data = [];
|
|
var is_content = "";
|
|
$("input:checkbox[name='is_content']:checked").each(function (i) {
|
|
is_content = $(this).val();
|
|
});
|
|
$.post("../../ashx/PersonAccessHandler.ashx", {
|
|
Action: "personAccessStaForProf",
|
|
Org_Id: OrgId,
|
|
S_Time: times[0],
|
|
E_Time: times[1],
|
|
is_content: is_content,
|
|
random: new Date().getTime()//随机参数
|
|
}, function (res) {
|
|
|
|
if (res.code == 1) {
|
|
var num = res.data;
|
|
var allArr = [], gbArr = [], gqArr = [], htzxfyArr = [], xfyArr = [], xfwyArr = [], qtArr = [];
|
|
|
|
num.forEach(function (value, index, arr) {
|
|
|
|
if (value.DIC_VALUE == "15") { //干部
|
|
gbArr.push(value.NUM);
|
|
} else if (value.DIC_VALUE == "18") {//公勤
|
|
gqArr.push(value.NUM);
|
|
} else if (value.DIC_VALUE == "16") {//合同制消防员
|
|
htzxfyArr.push(value.NUM);
|
|
} else if (value.DIC_VALUE == "19") {//消防员
|
|
xfyArr.push(value.NUM);
|
|
} else if (value.DIC_VALUE == "17") {//消防文员
|
|
xfwyArr.push(value.NUM);
|
|
} else {//其他
|
|
qtArr.push(value.NUM);
|
|
}
|
|
|
|
});
|
|
|
|
for (var i = 0; i < 24; i++) {
|
|
allArr[i] = gbArr[i] + gqArr[i] + htzxfyArr[i] + xfyArr[i] + xfwyArr[i] + qtArr[i];
|
|
xfyArr[i] = xfyArr[i] + htzxfyArr[i]; //消防员
|
|
xfwyArr[i] = xfwyArr[i] + gqArr[i]; //文员
|
|
}
|
|
option.series[0].data = allArr;
|
|
option.series[1].data = gbArr;
|
|
option.series[2].data = xfyArr;
|
|
option.series[3].data = xfwyArr;
|
|
option.series[4].data = qtArr;
|
|
myChart.setOption(option);
|
|
} else {
|
|
|
|
}
|
|
}, "JSON");
|
|
}
|
|
$(".search_btn").click(function () {
|
|
pAlarmSta();
|
|
});
|
|
pAlarmSta();
|
|
})
|
|
</script>
|
|
<link rel="stylesheet" href="../../css/right-list.css" media="all" />
|
|
</body>
|
|
</html>
|
|
|