/**
|
* 初始化快车订单详情对话框
|
*/
|
var TOrderPrivateCarInfoDlg = {
|
tOrderPrivateCarInfoData: {}
|
};
|
|
/**
|
* 清除数据
|
*/
|
TOrderPrivateCarInfoDlg.clearData = function () {
|
this.tOrderPrivateCarInfoData = {};
|
}
|
|
/**
|
* 设置对话框中的数据
|
*
|
* @param key 数据的名称
|
* @param val 数据的具体值
|
*/
|
TOrderPrivateCarInfoDlg.set = function (key, val) {
|
this.tOrderPrivateCarInfoData[key] = (typeof val == "undefined") ? $("#" + key).val() : val;
|
return this;
|
}
|
|
/**
|
* 设置对话框中的数据
|
*
|
* @param key 数据的名称
|
* @param val 数据的具体值
|
*/
|
TOrderPrivateCarInfoDlg.get = function (key) {
|
return $("#" + key).val();
|
}
|
|
/**
|
* 关闭此对话框
|
*/
|
TOrderPrivateCarInfoDlg.close = function () {
|
parent.layer.close(window.parent.TOrderPrivateCar.layerIndex);
|
}
|
|
/**
|
* 收集数据
|
*/
|
TOrderPrivateCarInfoDlg.collectData = function () {
|
this
|
.set('id')
|
.set('type')
|
.set('userId')
|
.set('driverId')
|
.set('carId')
|
.set('orderNum')
|
.set('placementLon')
|
.set('placementLat')
|
.set('placementAddress')
|
.set('startLon')
|
.set('startLat')
|
.set('endLon')
|
.set('startAddress')
|
.set('endLat')
|
.set('endAddress')
|
.set('boardingLon')
|
.set('boardingLat')
|
.set('boardingAddress')
|
.set('boardingTime')
|
.set('getoffLon')
|
.set('getoffLat')
|
.set('getoffAddress')
|
.set('getoffTime')
|
.set('mileage')
|
.set('payManner')
|
.set('payType')
|
.set('orderMoney')
|
.set('startMoney')
|
.set('mileageMoney')
|
.set('durationMoney')
|
.set('longDistanceMoney')
|
.set('parkMoney')
|
.set('roadTollMoney')
|
.set('redPacketMoney')
|
.set('couponMoney')
|
.set('redPacketId')
|
.set('couponId')
|
.set('discount')
|
.set('discountMoney')
|
.set('activityId')
|
.set('companyId')
|
.set('payMoney')
|
.set('substitute')
|
.set('passengers')
|
.set('passengersPhone')
|
.set('state')
|
.set('insertTime')
|
.set('travelTime')
|
.set('snatchOrderTime')
|
.set('setOutTime')
|
.set('arriveTime')
|
.set('startServiceTime')
|
.set('endServiceTime')
|
.set('orderType')
|
.set('orderSource')
|
.set('invoiceId')
|
.set('isReassign')
|
.set('reassignNotice')
|
.set('trackId')
|
.set('isDelete')
|
.set('oldState')
|
.set('telX')
|
.set('bindId')
|
.set('serverCarModelId');
|
}
|
|
/**
|
* 提交添加
|
*/
|
TOrderPrivateCarInfoDlg.addSubmit = function () {
|
|
this.clearData();
|
this.collectData();
|
|
if ($("#startAddress").val() === ""){
|
Feng.error("请输入起点");
|
return false;
|
}
|
if ($("#endAddress").val() === ""){
|
Feng.error("请输入终点");
|
return false;
|
}
|
if ($("#travelTime").val() === ""){
|
Feng.error("请选择用车时间");
|
return false;
|
}
|
if ($("#passengers").val() === ""){
|
Feng.error("请输入乘车人姓名");
|
return false;
|
}
|
if ($("#passengersPhone").val() === ""){
|
Feng.error("请输入乘车人手机号");
|
return false;
|
}
|
//提交信息
|
var ajax = new $ax(Feng.ctxPath + "/tOrderPrivateCar/add", function (data) {
|
Feng.success("添加成功!");
|
window.parent.TOrderPrivateCar.table.refresh();
|
TOrderPrivateCarInfoDlg.close();
|
}, function (data) {
|
Feng.error("添加失败!" + data.responseJSON.message + "!");
|
});
|
ajax.set(this.tOrderPrivateCarInfoData);
|
ajax.start();
|
}
|
|
/**
|
* 提交修改
|
*/
|
TOrderPrivateCarInfoDlg.editSubmit = function () {
|
|
this.clearData();
|
this.collectData();
|
|
//提交信息
|
var ajax = new $ax(Feng.ctxPath + "/tOrderPrivateCar/update", function (data) {
|
Feng.success("修改成功!");
|
window.parent.TOrderPrivateCar.table.refresh();
|
TOrderPrivateCarInfoDlg.close();
|
}, function (data) {
|
Feng.error("修改失败!" + data.responseJSON.message + "!");
|
});
|
ajax.set(this.tOrderPrivateCarInfoData);
|
ajax.start();
|
}
|
|
var map = new AMap.Map("container", {
|
resizeEnable: true,
|
zoom: 14
|
});
|
$(function () {
|
var type = $("#type").val();
|
if (type != 2) {
|
getTrajectory();
|
}
|
});
|
|
function getTrajectory() {
|
$.ajax({
|
url: Feng.ctxPath + '/tOrderPrivateCar/getOrderTrack',
|
type: 'POST',
|
data: {
|
orderDetailId: $("#id").val()
|
},
|
success: function (res) {
|
if (res.status == 200) {
|
var data = res.data;
|
if (data.length > 0) {
|
orderTrack(data);
|
}
|
/*else{
|
Feng.error("当前订单没有轨迹");
|
}*/
|
} else {
|
Feng.error(res.msg);
|
}
|
}
|
});
|
}
|
|
var marker, lineArr = [];
|
|
function orderTrack(data) {
|
for (var i in data) {
|
var waypoints = [];
|
var lon = parseFloat(data[i].lon);
|
var lat = parseFloat(data[i].lat);
|
waypoints.push(lon);
|
waypoints.push(lat);
|
lineArr.push(waypoints);
|
}
|
|
marker = new AMap.Marker({
|
map: map,
|
position: lineArr[0],
|
icon: "https://webapi.amap.com/images/car.png",
|
offset: new AMap.Pixel(-26, -13),
|
autoRotation: true,
|
angle: -90,
|
});
|
|
// 绘制轨迹
|
var polyline = new AMap.Polyline({
|
map: map,
|
path: lineArr,
|
showDir: true,
|
strokeColor: "#28F", //线颜色
|
// strokeOpacity: 1, //线透明度
|
strokeWeight: 6, //线宽
|
// strokeStyle: "solid" //线样式
|
});
|
|
var passedPolyline = new AMap.Polyline({
|
map: map,
|
// path: lineArr,
|
strokeColor: "#AF5", //线颜色
|
// strokeOpacity: 1, //线透明度
|
strokeWeight: 6, //线宽
|
// strokeStyle: "solid" //线样式
|
});
|
|
|
marker.on('moving', function (e) {
|
passedPolyline.setPath(e.passedPath);
|
});
|
|
map.setFitView();
|
}
|
|
|
function startAnimation() {
|
marker.moveAlong(lineArr, 200);
|
}
|
|
function pauseAnimation() {
|
marker.pauseMove();
|
}
|
|
function resumeAnimation() {
|
marker.resumeMove();
|
}
|
|
function stopAnimation() {
|
marker.stopMove();
|
}
|
|
/**
|
* 选择起点
|
*/
|
TOrderPrivateCarInfoDlg.startAddress = function () {
|
$("#startAddressModel").show();
|
};
|
|
|
/**
|
* 选择终点
|
*/
|
TOrderPrivateCarInfoDlg.endAddress = function () {
|
$("#endAddressModel").show();
|
};
|