var uid = $("#3dnzNxplgTiHaddR",top.window.document).val(); var markers = []; var companyId = ''; var Home = { id: "HomeTable", //表格id seItem: null, //选中的条目 table: null, layerIndex: -1, businessType:null,//存储企业信息 }; /** * 初始化表格的列 */ Home.initColumn = function () { return [ {field: 'selectItem', radio: true}, {title: '主键ID', field: 'id', visible: false, align: 'center', valign: 'middle'}, {title: '最后在线时间', field: 'insertTime', visible: true, align: 'center', valign: 'middle', formatter: function (value, row) { var btn = ""; if(row.insertTime != '' && row.insertTime != null) { var time = row.insertTime.replace(" ",'
'); btn = ['

' + time + '

'] } return btn; } }, {title: '司机头像', field: 'headImgUrl', visible: true, align: 'center', valign: 'middle', formatter: function (value, row) { if (row.headImgUrl == null || row.headImgUrl == '') { return ''; } else { return ''; } }, events: 'operateEvents' }, {title: '司机姓名', field: 'name', visible: true, align: 'center', valign: 'middle', formatter: function (value, row) { var btn = ""; if(row.name != '' && row.name != null) { btn = ['

' + row.name + '

'] } return btn; } }, {title: '司机电话', field: 'phone', visible: false, align: 'center', valign: 'middle'}, {title: '在线设备', field: 'device', visible: true, align: 'center', valign: 'middle'}, {title: '当前版本', field: 'version', visible: true, align: 'center', valign: 'middle'} ]; }; /** * 点击添加信息 */ Home.openNetCarInfo = function (e) { var id = e.getExtData()[0]; var index = layer.open({ type: 2, title: '详细数据', area: ['770px', '500px'], //宽高 fix: false, //不固定 maxmin: true, content: Feng.ctxPath + '/home/openNetCarInfo?id=' + id, }); this.layerIndex = index; }; Home.onlineDriver = function () { var index = layer.open({ type: 2, title: '在线司机', area: ['100%', '100%'], //宽高 fix: false, //不固定 maxmin: true, content: Feng.ctxPath + '/home/showDriverOnline', }); this.layerIndex = index; }; Home.search = function () { var queryData = {}; queryData['name'] = $("#name").val(); queryData['phone'] = $("#phone").val(); Home.table.refresh({query: queryData}); }; Home.resetSearch = function () { $("#name").val(""); $("#phone").val(""); Home.search(); }; $(function () { var defaultColunms = Home.initColumn(); var table = new BSTable(Home.id, "/home/queryOnlineDriver", defaultColunms); table.setPaginationType("server"); Home.table = table.init(); var first = $('.breadcrumb').children('li:first').children('a'); first.css({ 'color': '#AB2626' }) var className = first.attr('class'); $('.content').hide(); $('#' + className + 'Div').show(); $('.breadcrumb').find('a').on('click', function () { $('.breadcrumb').children('li').each(function () { $(this).children('a').removeAttr('style'); }) $(this).css({ 'color': '#AB2626' }); var className = $(this).attr('class'); $('.content').hide(); $('#' + className + "Div").show(); switch (className) { case "statistics": getData(); break; case "map": var companyId = $('#branchOffice1').val(); if(null != companyId && '' != companyId){ Home.webSocketClient(companyId); }else{ Home.webSocketClient(null); } break; case "order": Home.getAllOrder(); break; } }) laydate.render({ elem: '#addDate', //指定元素 format: 'yyyy-MM-dd',//日期格式 value: new Date(),//默认值 zIndex: 99999999,//层叠顺序 trigger: 'click', done: function(value, date, endDate){ getData(); console.log(value); //得到日期生成的值,如:2017-08-18 } }); laydate.render({ elem: '#rangeDate', //指定元素 format: 'yyyy-MM-dd',//日期格式 range: true, value: '',//默认值 zIndex: 99999999,//层叠顺序 trigger: 'click', done: function(value, date, endDate){ getData(); console.log(value); //得到日期生成的值,如:2017-08-18 } }); getData(); getCompanyByUid(); // setInterval(function () { // Home.webSocketClient(null); // }, 60000 * 5); // setInterval(function () { // Home.getAllOrder(); // }, 60000 * 5); }); var map = new AMap.Map('container',{ resizeEnable: true, zoom:10 }); var map_ = new AMap.Map('container_',{ resizeEnable: true, mapStyle: 'amap://styles/1de318cbb8d12c02303a22c550b9ccc9', zoom:10 }); var mouseTool = new AMap.MouseTool(map); //监听draw事件可获取画好的覆盖物 var overlays = []; var name = null; var coordinate = '';//存储坐标 mouseTool.on('draw',function(e){ overlays.push(e.obj); console.log(e.obj.getPath()); switch (name) { case 'polyline':{//折线图 var polyline = e.obj.getPath(); getCoordinate(polyline); break; } case 'polygon':{//多边形 var polygon = e.obj.getPath(); getCoordinate(polygon); break; } case 'rectangle':{//矩形 var rectangle = e.obj.getPath(); getCoordinate(rectangle); break; } case 'circle':{//圆行 var center = e.obj.getCenter(); var radius = e.obj.getRadius(); if(radius > 5000){ Feng.error("创建电子围栏失败,圆半径不能大于5000米"); return; } coordinate = center.lng + ',' + center.lat + ';' + radius; break; } } console.log(coordinate); }) function getCompanyByUid() { $.ajax({ url: Feng.ctxPath + "/home/getCompanyInfoByUserId", type: 'POST', success: function (res) { var str = ''; for(var i in res){ str += '' } $('#branchOffice').html(str); $('#branchOffice1').html(str); } }); } function getData() { var branchOffice = $('#branchOffice').val(); var addDate = $('#addDate').val(); var date = $('#rangeDate').val(); var data = new FormData(); if(null != branchOffice && '' != branchOffice){ data.append("companyId", branchOffice); } if(null != addDate && '' != addDate){ data.append("addDate", addDate); } if(null != date && date != ''){ data.append("start", date.split(' - ')[0]); data.append("end", date.split(' - ')[1]); } $.ajax({ url: Feng.ctxPath + "/home/getSumData", type: 'POST', contentType: false, processData: false, data: data, success: function (res) { var operationStatus = res.operationStatus; var operationSum = res.operationSum; var operationGrow = res.operationGrow; var operationTrend = res.operationTrend; $('#newPassengerInfo').text(operationStatus.passengerInfo == null ? 0 : operationStatus.passengerInfo); $('#newNetcardriver').text(operationStatus.netcardriver == null ? 0 : operationStatus.netcardriver); $('#orderDetail1').text(operationStatus.orderDetail1 == null ? 0 : operationStatus.orderDetail1); $('#orderDetail2').text(operationStatus.orderDetail2 == null ? 0 : operationStatus.orderDetail2); $('#orderDetail3').text(operationStatus.orderDetail3 == null ? 0 : operationStatus.orderDetail3); $('#orderDetail4').text(operationStatus.orderDetail4 == null ? 0 : operationStatus.orderDetail4); $('#orderDetail5').text(operationStatus.orderDetail5 == null ? 0 : operationStatus.orderDetail5); $('#passengerInfoSum').text(operationSum.passengerInfoSum == null ? 0 : operationSum.passengerInfoSum); $('#netcarDriverSum').text(operationSum.netcarDriverSum == null ? 0 : operationSum.netcarDriverSum); $('#netCarSum').text(operationSum.netCarSum == null ? 0 : operationSum.netCarSum); $('#orderDetailSum').text(operationSum.orderDetailSum == null ? 0 : operationSum.orderDetailSum); $('#paiceSum').text(operationSum.paiceSum == null ? 0 : operationSum.paiceSum); $('#paySum').text(operationSum.paySum == null ? 0 : operationSum.paySum); $('#passengerInfoSum1').text(operationGrow.passengerInfoSum == null ? 0 : operationGrow.passengerInfoSum); $('#netcarDriverSum1').text(operationGrow.netcarDriverSum == null ? 0 : operationGrow.netcarDriverSum); $('#orderDetail11').text(operationGrow.orderDetail1 == null ? 0 : operationGrow.orderDetail1); $('#orderDetail21').text(operationGrow.orderDetail2 == null ? 0 : operationGrow.orderDetail2); $('#orderDetail31').text(operationGrow.orderDetail3 == null ? 0 : operationGrow.orderDetail3); $('#orderDetail41').text(operationGrow.orderDetail4 == null ? 0 : operationGrow.orderDetail4); $('#orderDetail51').text(operationGrow.orderDetail5 == null ? 0 : operationGrow.orderDetail5); $('#paySum1').text(operationGrow.paySum == null ? 0 : operationGrow.paySum); $('#paiceSum1').text(operationGrow.paiceSum == null ? 0 : operationGrow.paiceSum); $('#orderDetailSum1').sparkline(operationTrend.orderDetailSum, { lineColor:'green', width: '100%', height: '33px' }); $('#passengerInfoSum2').sparkline(operationTrend.passengerInfoSum, { lineColor:'green', width: '100%', height: '33px' }); $('#orderDetail12').sparkline(operationTrend.orderDetail1, { lineColor:'green', width: '100%', height: '33px' }); $('#orderDetail22').sparkline(operationTrend.orderDetail2, { lineColor:'green', width: '100%', height: '33px' }); $('#orderDetail32').sparkline(operationTrend.orderDetail3, { lineColor:'green', width: '100%', height: '33px' }); $('#orderDetail42').sparkline(operationTrend.orderDetail4, { lineColor:'green', width: '100%', height: '33px' }); $('#orderDetail52').sparkline(operationTrend.orderDetail5, { lineColor:'green', width: '100%', height: '33px' }); } }); } Home.webSocketClient = function (companyId) { $.ajax({ url: Feng.ctxPath + '/home/getDriverPosition', type: 'POST', data: { companyId: companyId }, success: function (res) { map.remove(markers); markers = []; var data = res.driver; var order = res.order; var d = ''; for(var i in data){ var driver = data[i].driver; var driverId = driver.id; d += '
  • ' + driver.name + '-' + driver.phone + '
  • '; if('' != data[i].lon){ // 创建 AMap.Icon 实例: var icon = new AMap.Icon({ size: new AMap.Size(40, 50), // 图标尺寸 image: '/static/car.png', // Icon的图像 // imageOffset: new AMap.Pixel(0, -60), // 图像相对展示区域的偏移量,适于雪碧图等 imageSize: new AMap.Size(40, 50), // 根据所设置的大小拉伸或压缩图片 }); var marker = new AMap.Marker({ position: new AMap.LngLat(data[i].lon, data[i].lat), // 经纬度对象,也可以是经纬度构成的一维数组[116.39, 39.9] offset: new AMap.Pixel(-10, -10), icon: icon, // 添加 Icon 实例 }); marker.setExtData([driverId]) marker.on('click', function(){ Home.openNetCarInfo(this); }); markers.push(marker) } } $('#netcardriver').html(d); map.add(markers); //订单数据 var zhuanche = order.zhuanche; var kuacheng = order.kuacheng; var chuzu = order.chuzu; var kuahceng = order.kuahceng; var o = ''; $('#order').html(o); var zc = '
    专车未接订单' for(var i in zhuanche){ zc += '

    起点:' + zhuanche[i].start + '

    终点:' + zhuanche[i].end + '

    ' + '

    下单时间:' + zhuanche[i].travelTime + '

    车型:' + zhuanche[i].carModel + '

    ' + '

    人数:' + zhuanche[i].num + '

    '; } zc += '
    '; o += zc; var kc = '
    跨城出行未接订单' for(var i in kuacheng){ kc += '

    起点:' + kuacheng[i].start + '

    终点:' + kuacheng[i].end + '

    ' + '

    下单时间:' + kuacheng[i].travelTime + '

    车型:' + kuacheng[i].carModel + '

    ' + '

    人数:' + kuacheng[i].num + '

    '; } kc += '
    '; o += kc; var cz = '
    出租车未接订单' for(var i in chuzu){ cz += '

    起点:' + chuzu[i].start + '

    终点:' + chuzu[i].end + '

    ' + '

    下单时间:' + chuzu[i].travelTime + '

    车型:' + chuzu[i].carModel + '

    ' + '

    人数:' + chuzu[i].num + '

    '; } cz += '
    '; o += cz; var cx = '
    城乡出行未接订单' for(var i in kuahceng){ cx += '

    起点:' + kuahceng[i].start + '

    终点:' + kuahceng[i].end + '

    ' + '

    下单时间:' + kuahceng[i].travelTime + '

    车型:' + kuahceng[i].carModel + '

    ' + '

    人数:' + kuahceng[i].num + '

    '; } cx += '
    '; o += cx; $('#order').html(o); } }) } Home.getAllOrder = function () { $.ajax({ url: Feng.ctxPath + '/home/getAllOrder', type: 'POST', data: { companyId: companyId, uid: uid }, success: function (res) { var style = [{ url: 'https://a.amap.com/jsapi_demos/static/images/mass0.png', anchor: new AMap.Pixel(6, 6), size: new AMap.Size(11, 11) }, { url: 'https://a.amap.com/jsapi_demos/static/images/mass1.png', anchor: new AMap.Pixel(4, 4), size: new AMap.Size(7, 7) }, { url: 'https://a.amap.com/jsapi_demos/static/images/mass2.png', anchor: new AMap.Pixel(3, 3), size: new AMap.Size(5, 5) }]; var mass = new AMap.MassMarks(citys, { opacity: 0.8, zIndex: 111, cursor: 'pointer', style: style }); var marker = new AMap.Marker({content: ' ', map: map_}); mass.on('mouseover', function (e) { marker.setPosition(e.data.lnglat); marker.setLabel({content: e.data.name}) }); var data = []; for(var i in res){ var obj = { lnglat: [res[i].lon, res[i].lat] } data.push(obj); } mass.setData(data); mass.setMap(map_); } }); } function getData1() { var companyId = null; var branchOffice1 = $('#branchOffice1').val(); if('' != branchOffice1 && null != branchOffice1){ companyId = branchOffice1; } Home.webSocketClient(companyId); }