软测单独项目
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

<!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>