课程名称:多端全栈项目实战:商业级代驾全流程落地
课程章节: 华夏代驾全栈小程序实战
课程讲师: 神思者
课程内容:
前端实时上传gps定位 前端页面
课程收获:
因为创建订单得时候我们要上传车型和车牌。所以选择好车型和车牌后,页面跳转得时候 可以将数据传到后端
<view v-if="list.length > 0" v-for="one in list" class="row"
@tap="choseOneHandle(one.id, one.carPlate, one.carType)"
@longpress="removeHandle(one.id)">
<view>
<u-icon name="info-circle-fill" color="#2979ff" size="35" class="icon"></u-icon>
<text class="car-type">{{ one.carType }}</text>
</view>
<text class="car-plate">{{ one.carPlate }}</text></view>
使用得是uni.navigateTo
choseOneHandle: function(id, carPlate, carType) {
uni.navigateTo({
url: `../create_order/create_order?showCar=true&carId=${id}&carPlate=${carPlate}&carType=${carType}`
});}create_order页面需要对showCar 数据进行报错
onLoad: function(options) {
if (options.hasOwnProperty('showCar')) {
that.showCar = options.showCar;
that.carId = options.carId;
that.carPlate = options.carPlate;
that.carType = options.carType
}}接下来需要在页面编写一个组件
进行弹窗
然后是 确定下单得 click事件
<button class="btn" @tap="createOrderHandle">确定下单</button>
createOrderHandle: function() {
let that = this;
if (that.carType == null || that.carPlate == null) {
uni.showToast({
icon: 'error',
title: '没有设置代驾车辆'
});
return;
}
uni.showLoading({
title: '下单中请稍后'
});
setTimeout(function() {
uni.hideLoading();
}, 60000);
let data = {
startPlace: that.from.address,
startPlaceLatitude: that.from.latitude,
startPlaceLongitude: that.from.longitude,
endPlace: that.from.address,
endPlaceLatitude: that.to.latitude,
endPlaceLongitude: that.to.longitude,
favourFee: '0.0',
carPlate: that.carPlate,
carType: that.carType };
that.ajax(that.url.createNewOrder, 'POST', data, function(resp) {
uni.hideLoading();
if (resp.data.result.count > 0) {
uni.showToast({
icon: 'success',
title: '订单创建成功'
});
setTimeout(function() {
that.orderId = resp.data.result.orderId;
//显示等待接单的弹窗
that.showPopup = true;
}, 2000);
} else {
uni.showToast({
icon: 'none',
title: '没有适合接单的司机'
});
}
});},