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

315 lines
12 KiB

11 months ago
<!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%;
}
.echart-msg {
display: none;
position: absolute;
font-size: 30px;
align-items: center;
top: 20%;
left: 43%;
}
</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">
<select id="EPU_TYPE" lay-filter="EPU_TYPE" lay-search="">
<option value="0">消防装备</option>
<option value="1">车载装备</option>
<option value="2">库存装备</option>
</select>
</div>
<div class="layui-input-inline">
<select id="DIC_ID" lay-filter="DIC_ID" lay-search="">
<option value="">---装备类别---</option>
</select>
</div>
<div class="layui-input-inline">
<input type="checkbox" lay-filter="is_content" checked="" id="is_content" name='is_content' value="1" title="包含下级所属单位">
</div>
</div>
</form>
</blockquote>
</div>
<div class="content" id="echartid">
<div></div>
</div>
<div id="echartMsg" class="echart-msg">
<p>未查询到数据!</p>
</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'], function () {
var form = layui.form,
layer = parent.layer === undefined ? layui.layer : top.layer,
table = layui.table;
var OrgId = JSON.parse(window.sessionStorage.getItem("userInfo")).OrgID;
var $zTree, OrgList = [];
var setting = {
view: {
selectedMulti: false
},
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;
personStrengthSta();
}
}
};
//初始化树
$.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 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);
}
}
}
//装备类别 下拉框(字典表)
var modtypes = ["EQUIPMENT_TYPE"];
$.post("../../ashx/CommonHandler.ashx", {
Action: "getModsDicList",
modtypes: modtypes.join(","),
random: new Date().getTime() //随机参数
}, function (res) {
if (res && res.data) {
var dicNameStr = "";
res.data.forEach(function (obj, index, arr) {
if (obj.MOD_CODE == "EQUIPMENT_TYPE") {
dicNameStr += "<option value='" + obj.ID + "'>" + obj.DIC_TEXT + "</option>";
}
});
$("#DIC_ID").append(dicNameStr);
form.render('select');
}
});
var myChart = echarts.init(document.getElementById('echartid'));
option = {
title: {
text: '消防装备统计',
left: 'center',
textStyle: {
color: '#ffffff'
}
},
tooltip: {
trigger: 'item',
formatter: '{a} <br/>{b} : {c} ({d}%)'
},
legend: {
type: 'scroll',
orient: 'vertical',
right: 10,
top: 20,
bottom: 20,
data: [],
textStyle: {
color: '#ffffff'
}
},
color: ['#fc8251', '#5470c6', '#9A60B4', '#ef6567', '#f9c956', '#3BA272'],
series: [
{
name: '消防装备',
type: 'pie',
radius: '55%',
center: ['40%', '50%'],
itemStyle: {
normal: {
label: {
formatter: function (params) {
if (params.name !== "") {
return params.name + ":" + params.value;
} else {
return "";
}
}
}
}
},
data: [],
emphasis: {
itemStyle: {
shadowBlur: 10,
shadowOffsetX: 0,
shadowColor: 'rgba(0, 0, 0, 0.5)'
}
}
}
]
};
myChart.setOption(option);
window.onresize = function () {
myChart.resize();
};
function updateOption(data) {
var EpuType = $("#EPU_TYPE").val(), legendList = [], dataList = [];
data.forEach(function (item, index, arr) {
legendList.push(item.NAME);
var num = 0;
switch (EpuType) {
case "0":
num = item.CZ_NUM + item.KC_NUM;
break;
case "1":
num = item.CZ_NUM;
break;
case "2":
num = item.KC_NUM;
break;
}
dataList.push({
value: num,
name: item.NAME
});
});
option.legend.data = legendList;
option.series[0].data = dataList;
myChart.setOption(option);
}
var staData = [];
function personStrengthSta() {
var index = layer.msg('正在加载...请稍候', { icon: 16, time: false, shade: 0.2 });
staData = [];
var is_content = "";
$("input:checkbox[name='is_content']:checked").each(function (i) {
is_content = $(this).val();
});
$.post("../../ashx/FireEpuHandler.ashx", {
Action: "epuStatisticalChart",
OrgId: OrgId,
DicId: $("#DIC_ID").val(),
is_content: is_content,
random: new Date().getTime()//随机参数
}, function (res) {
layer.close(index);
layui.layer.msg(res.msg);
staData = res.data;
if (res.data.length>0) {
$("#echartMsg").attr("style", "display:none;");
} else {
$("#echartMsg").attr("style", "display:block;");
}
updateOption(staData);
}, "JSON");
}
personStrengthSta();
form.on('select(EPU_TYPE)', function (data) {
updateOption(staData)
});
form.on('select(DIC_ID)', function (data) {
personStrengthSta(staData)
});
form.on('checkbox(is_content)', function (data) {
personStrengthSta(staData)
});
})
</script>
<link rel="stylesheet" href="/css/right-list.css" media="all" />
<link rel="stylesheet" href="/css/bulletframebg.css" media="all" />
</body>
</html>