From c9bcbceb7112358c780688ffbd0ebb3ef528e65e Mon Sep 17 00:00:00 2001 From: xuhy <3313886187@qq.com> Date: 星期五, 07 四月 2023 18:40:06 +0800 Subject: [PATCH] 首页管理 --- management/guns-admin/src/main/webapp/WEB-INF/view/system/tHomePage/tHomePageMap.html | 264 ++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 252 insertions(+), 12 deletions(-) diff --git a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tHomePage/tHomePageMap.html b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tHomePage/tHomePageMap.html index b60284e..80ef970 100644 --- a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tHomePage/tHomePageMap.html +++ b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tHomePage/tHomePageMap.html @@ -9,27 +9,78 @@ <div class="row row-lg"> <div class="col-sm-12" > - <div class="initialLevel col-sm-12 control-label form-group" style="cursor: pointer;text-align: left;"> - <div class="initialLevel col-sm-3 control-label form-group" > - <label class="control-label" >运营数据总览/车辆地图总览/</label> - <label class="control-label" style="color: red">订单热点图</label> - </div> - </div> +<!-- <div class="initialLevel col-sm-12 control-label form-group" style="cursor: pointer;text-align: left;">--> +<!-- <div class="initialLevel col-sm-3 control-label form-group" >--> +<!-- <label class="control-label" >运营数据总览/车辆地图总览/</label>--> +<!-- <label class="control-label" style="color: red">订单热点图</label>--> +<!-- </div>--> +<!-- </div>--> <div class="initialLevel col-sm-12 control-label form-group" style="cursor: pointer;text-align: left;"> <div class="initialLevel col-sm-1 control-label form-group" > - <select class="input-group" id="agentName" style="width: 120px;height: 33px" name="agentName"> + <select class="input-group" id="agentName" style="width: 100px;height: 33px" name="agentName"> <option value="">请选择代理商</option> + @for(i in agentList){ + <option value="${i.id}">${i.principal}</option> + @} </select> </div> <div class="initialLevel col-sm-1 control-label form-group" > - <select class="input-group" id="orderType" style="width: 125px;height: 33px" name="orderType"> + <select class="input-group" id="orderType" style="width: 100px;height: 33px" name="orderType"> <option value="">请选择订单类型</option> + <option value="1">未接单</option> + <option value="2">服务中</option> + <option value="3">已完成</option> + <option value="4">已取消</option> </select> </div> <div class="initialLevel col-sm-2 control-label form-group" > - <#button name="搜索" icon="fa-search" clickFun="TCoupon.search()"/> - <#button name="重置" icon="fa-trash" clickFun="TCoupon.resetSearch()" space="true"/> + <#button name="搜索" icon="fa-search" clickFun="getData()"/> + <#button name="重置" icon="fa-trash" clickFun="reset()" space="true"/> + </div> + </div> + <div class="col-sm-10" > + <input hidden id="allList" value="${allList}"> + <input hidden id="onLineDriver" value="${onLineDriver}"> + <div class="initialLevel col-sm-12 control-label form-group" style="cursor: pointer;text-align: left;"> + <div class="initialLevel col-sm-12 control-label form-group" > + <div id="container" ></div> + <div id="panel" ></div> + </div> + </div> + + <div class="initialLevel col-sm-12 control-label form-group" style="cursor: pointer;text-align: left;"> + <div class="initialLevel col-sm-2 control-label form-group" > + <label>在线司机:</label> + <label id="onLineDriverCount">${onLineDriverCount}</label> + <label>人</label> + </div> + <div class="initialLevel col-sm-2 control-label form-group" > + <label>未接单</label> + <label id="pendingOrderCount">${pendingOrderCount}</label> + </div> + <div class="initialLevel col-sm-2 control-label form-group" > + <label>服务中</label> + <label id="serverCount">${serverCount}</label> + </div> + <div class="initialLevel col-sm-2 control-label form-group" > + <label>已完成</label> + <label id="finishCount">${finishCount}</label> + </div> + <div class="initialLevel col-sm-2 control-label form-group" > + <label>已取消</label> + <label id="cancelCount">${cancelCount}</label> + </div> + </div> + </div> + + <div class="col-sm-2"> + <div class="ibox float-e-margins"> + <div class="ibox-content"> + <div class="form-horizontal" id="serverOrder" style="overflow:scroll;width: 100%; height:650px;"> + + </div> + </div> </div> </div> @@ -39,8 +90,197 @@ </div> </div> </div> -<script src="${ctxPath}/static/modular/system/tCoupon/tCoupon_info.js"></script> -<script src="${ctxPath}/static/modular/system/tCoupon/tCoupon.js"></script> +<script src="${ctxPath}/static/modular/system/tHomePage/tOrder.js"></script> +<script src="https://webapi.amap.com/loader.js"></script> + +<style type="text/css"> + #container { + background-color: white; + height: 620px; + width: 100%; + flex-grow: initial; + flex-shrink: initial; + flex-basis: initial; + align-self: initial; + } + td{ + width: 25%; + font-size: 2px; + } + #panel { + position: fixed; + background-color: white; + max-height: 90%; + overflow-y: auto; + top: 10px; + right: 10px; + width: 280px; + } + #panel .amap-call { + background-color: #009cf9; + border-top-left-radius: 4px; + border-top-right-radius: 4px; + } + #panel .amap-lib-driving { + border-bottom-left-radius: 4px; + border-bottom-right-radius: 4px; + overflow: hidden; + } +</style> <script type="text/javascript"> + + function getData(){ + var ajax = new $ax(Feng.ctxPath + "/tHomePage/getMap", function (data) { + document.getElementById("onLineDriverCount").innerText=data.onLineDriverCount + document.getElementById("pendingOrderCount").innerText=data.pendingOrderCount + document.getElementById("serverCount").innerText=data.serverCount + document.getElementById("finishCount").innerText=data.finishCount + document.getElementById("cancelCount").innerText=data.cancelCount + $('#allList').val(data.allList); + map(data.allList) + getOrder() + + }, function (data) { + }); + ajax.set("agentId",$("#agentName").val()); + ajax.set("type",$("#orderType").val()); + ajax.start(); + } + function reset(){ + $("#agentName").val('') + $("#orderType").val('') + var ajax = new $ax(Feng.ctxPath + "/tHomePage/getMap", function (data) { + document.getElementById("onLineDriverCount").innerText=data.onLineDriverCount + document.getElementById("pendingOrderCount").innerText=data.pendingOrderCount + document.getElementById("serverCount").innerText=data.serverCount + document.getElementById("finishCount").innerText=data.finishCount + document.getElementById("cancelCount").innerText=data.cancelCount + $('#allList').val(data.allList); + map(data.allList) + getOrder() + }, function (data) { + }); + ajax.set("agentId",$("#agentName").val()); + ajax.set("type",$("#orderType").val()); + ajax.start(); + } + + + function map(e){ + window._AMapSecurityConfig = { + securityJsCode:'b62d9146929db08c4c2f4537d045320d', + }; + laydate.render({ + elem: '#createTime', + type: 'date', + range: true + }); + + AMapLoader.reset() // 需要把这个reset一下 + AMapLoader.load({ + "key": "1d43098bcd98ab124623e7e4bcc9595e", // 申请好的Web端开发者Key,首次调用 load 时必填 + "version": "2.0", // 指定要加载的 JSAPI 的版本,缺省时默认为 1.4.15 + "plugins": ['AMap.Driving'], // 需要使用的的插件列表,如比例尺'AMap.Scale'等 + "AMapUI": { // 是否加载 AMapUI,缺省不加载 + "version": '1.1', // AMapUI 版本 + "plugins":['overlay/SimpleMarker'], // 需要加载的 AMapUI ui插件 + }, + "Loca":{ // 是否加载 Loca, 缺省不加载 + "version": '2.0' // Loca 版本 + }, + }).then((AMap)=>{ + //初始化地图对象,加载地图 + var map = new AMap.Map('container', { + viewMode: '2D', // 默认使用 2D 模式,如果希望使用带有俯仰角的 3D 模式,请设置 viewMode: '3D', + zoom:10, //初始化地图层级 + center: [104.043246,30.641849] //初始化地图中心点 + }); + // map.clearMap(); // 清除地图覆盖物 + // 经纬度坐标数组 + var allList; + if(e==""){ + allList = $('#allList').val(); + var list = JSON.stringify(allList) + const jsonArray = JSON.parse(list) + const jsonArray1 = JSON.parse(jsonArray); + console.log(jsonArray1) + M = jsonArray1; + }else{ + M=e; + + } + console.log(M) + M.forEach(function(marker) { + new AMap.Marker({ + map: map, + icon: marker[2]==301?'//a.amap.com/jsapi_demos/static/demo-center/icons/poi-marker-1.png':((marker[2]==109||marker[2]==107||marker[2]==108)?'//a.amap.com/jsapi_demos/static/demo-center/icons/poi-marker-2.png': + (marker[2]==101?'//a.amap.com/jsapi_demos/static/demo-center/icons/poi-marker-3.png':'//a.amap.com/jsapi_demos/static/demo-center/icons/poi-marker-4.png') + ), + position: [marker[0], marker[1]], + offset: new AMap.Pixel(-13, -30) + }); + }); + + const onLineDriver = $('#onLineDriver').val(); + var list1 = JSON.stringify(onLineDriver) + const jsonArr = JSON.parse(list1) + const jsonArr1 = JSON.parse(jsonArr); + console.log(jsonArr1) + M = jsonArr1; + M.forEach(function(marker) { + new AMap.Marker({ + map: map, + icon: marker[2]==1?'//a.amap.com/jsapi_demos/static/demo-center/icons/poi-marker-5.png':'//a.amap.com/jsapi_demos/static/demo-center/icons/poi-marker-6.png', + position: [marker[0], marker[1]], + offset: new AMap.Pixel(-13, -30) + }); + }); + + // var center = map.getCenter(); + // var centerText = '当前中心点坐标:' + center.getLng() + ',' + center.getLat(); + // 添加事件监听, 使地图自适应显示到合适的范围 + AMap.event.addDomListener(document.getElementById('container'), 'click', function() { + var newCenter = map.setFitView(); + }); + }).catch((e)=>{ + console.error(e); //加载错误提示 + }); + } + + function getOrder(){ + $.ajax({ + url: Feng.ctxPath + '/tHomePage/getServerOrder', + type: 'POST', + data: { + agentId: $("#agentName").val() + }, + success: function (res) { + var order = res.serverList + var str = '<table><tr><h3>服务中</h3></tr><hr/><br>'; + if(order.length > 0){ + for(var i in order){ + console.log(order[i].startTime) + str += + '<tr><img src=' + order[i].avatar + ' style="height: 40px;width: 40px"></img>' + order[i].driverName +'</tr><br>' + + '<table><tr><td>驾龄</td><td>' + order[i].drivingExperience + '年'+'</td><td>代驾次数</td><td>' + order[i].valetDrivingCount + '次'+'</td></tr><br></table>' + + '<table><br><tr><td>出行时间</td><td>' + order[i].startTime + '</td></tr>' + + '<tr><td>起点</td><td>' + order[i].startAddress + '</td></tr>' + + '<tr><td>终点</td><td>' + order[i].endAddress + '</td></tr></table><br>' + + '<table><tr><td>预估费用</td><td>' + order[i].estimatedPrice + '元'+'</td><td>行驶里程</td><td>' + order[i].mileageTraveled + '公里'+'</td></tr>' + + '<tr><td>等待时间</td><td>' + order[i].waitTime + '分钟'+'</td><td>行驶时间</td><td>' + order[i].goTime + '分钟'+'</td></tr></table><hr/>'; + } + } + str += '</table>'; + $('#serverOrder').html(str); + } + }); + } + + + $(function(){ + map(""); + getOrder(); + }) + </script> @} -- Gitblit v1.7.1