let element, layer, table, tree; const bidCode = parent.$('#bidPro').val(); var map; layui.use(['layer', 'element', 'table', 'tree'], function () { element = layui.element; layer = layui.layer; table = layui.table; tree = layui.tree; //人员列表 PersonnelList(); //人员运动趋预警 PersonnelMovementWarning(); //穿戴装备 wearGarList(); }); // 人员列表 function PersonnelList(){ const url = commonUrl + "screen/largeScreen/personnelControl/getPersonnelList"; const params = { "roleCode": roleCode, "orgId": orgId, "userId": userId, "bidCode": bidCode, "keyWord": $("#keyWord").val() } let encryptStr = encryptCBC(JSON.stringify(params)); ajaxRequest(url, "POST", encryptStr, true, function () { }, function (result) { console.log(result); if (result.code === 200) { // 人员列表树 let treeList = getTreeList(result.data, bidCode, []); renderTree(treeList); } else if (result.code === 500) { layer.msg(result.msg, { icon: 2 }); }else if(result.code === 401){ loginout(1) } }, function (xhr) { // error(xhr) }, function (xhr, status, error) { error(xhr, status, error) }, "application/json",aqEnnable); } //递归拼接树 function getTreeList(rootList, id, List) { for (let item of rootList) { if (item.parentId == id) { let newItem = Object.assign({}, item); // 创建一个新的对象,避免直接修改原始对象 newItem.spread = true; newItem.children = []; List.push(newItem); getTreeList(rootList, newItem.id, newItem.children); } } return List; } //layui渲染树 function renderTree(treeList) { tree.render({ elem: '#tree', data: treeList, isJump: false, // 禁止点击节点时跳转 showLine: false, // 不显示连接线 onlyIconControl: false, // 仅允许节点左侧图标控制展开收起 click: function(obj) { } }); } //人员运动趋预警 function PersonnelMovementWarning(){ const url = commonUrl + "screen/largeScreen/personnelControl/getPersonnelMovementList"; table.render({ elem: '#dome', url: url, skin: 'line', page: false, headers:{ decrypt:"decrypt", "Authorization":token }, where: { roleCode: roleCode, orgId: orgId, userId: userId, bidCode: bidCode }, cols: [[ {field: 'warningTime', align: 'center', title: '时间'}, {field: 'warningContent', align: 'center', title: '预警内容'}, ]], initComplete: function () { // 在表格渲染完成后,重新渲染序号列 var that = this.elem.next(); var tool = that.children('.layui-table-box').children('.layui-table-fixed').children('.layui-table-body').children('.layui-table'); tool.find("tr").each(function (index, item) { $(this).find('td[data-field="LAY_TABLE_INDEX"]').text(index + 1); }); }, done:function(res, curr, count, origin){ console.log(res); } }) } //穿戴装备 function wearGarList(){ const url = commonUrl + "screen/largeScreen/personnelControl/getWearEquipmentList"; table.render({ elem: '#dome1', url: url, skin: 'line', page: false, headers:{ decrypt:"decrypt", "Authorization":token }, where: { roleCode: roleCode, orgId: orgId, userId: userId, bidCode: bidCode }, cols: [[ {field: 'number', width:80,title: '序号', align: 'center', type: 'numbers'}, {field: 'deviceType', width:120, align: 'center', title: '装备类型'}, {field: 'deviceName', width:120, align: 'center', title: '装备名称'}, {field: 'userName', width:80, align: 'center', title: '负责人'}, {field: 'status', align: 'center', title: '状态' ,templet: function (d) { if(d.status == 1){ return "在线"; }else if(d.status == 0){ return '离线'; } } }, {field: 'warningContent', align: 'center', fixed: 'right', title: '操作', templet: function (d) { if (d.status == 0) { return "--"; }else{ return '开启对讲'; } } }, ]], initComplete: function () { // 在表格渲染完成后,重新渲染序号列 var that = this.elem.next(); var tool = that.children('.layui-table-box').children('.layui-table-fixed').children('.layui-table-body').children('.layui-table'); tool.find("tr").each(function (index, item) { $(this).find('td[data-field="LAY_TABLE_INDEX"]').text(index + 1); }); }, done:function(res, curr, count, origin){ console.log(res); } }) } document.addEventListener('DOMContentLoaded', function() { // 获取经纬度 var lat,lon; if (navigator.geolocation) { navigator.geolocation.getCurrentPosition(function (position) { lat = position.coords.latitude; lon = position.coords.longitude; console.log(lon,lat) map= new BMap.Map("map"); map.centerAndZoom(new BMap.Point(lon,lat), 11); map.enableScrollWheelZoom(true); var marker = new BMap.Marker(new BMap.Point(lon,lat)); // 创建标注 map.addOverlay(marker); var overlays = []; var overlaycomplete = function (e) { overlays.push(e.overlay); }; var styleOptions = { strokeColor: "red", //边线颜色。 fillColor: "red", //填充颜色。当参数为空时,圆形将没有填充效果。 strokeWeight: 3, //边线的宽度,以像素为单位。 strokeOpacity: 0.8, //边线透明度,取值范围0 - 1。 fillOpacity: 0.6, //填充的透明度,取值范围0 - 1。 strokeStyle: 'solid' //边线的样式,solid或dashed。 } //实例化鼠标绘制工具 var drawingManager = new BMapLib.DrawingManager(map, { isOpen: false, //是否开启绘制模式 enableDrawingTool: true, //是否显示工具栏 drawingToolOptions: { anchor: BMAP_ANCHOR_TOP_RIGHT, //位置 offset: new BMap.Size(5, 5), //偏离值 }, circleOptions: styleOptions, //圆的样式 polylineOptions: styleOptions, //线的样式 polygonOptions: styleOptions, //多边形的样式 rectangleOptions: styleOptions //矩形的样式 }); //添加鼠标绘制工具监听事件,用于获取绘制结果 drawingManager.addEventListener('overlaycomplete', overlaycomplete); console.log(overlays) function clearAll() { for (var i = 0; i < overlays.length; i++) { map.removeOverlay(overlays[i]); } overlays.length = 0 } }); } else { console.log("浏览器不支持 Geolocation API"); } });