You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

163 lines
2.8 KiB

<template>
<view class="dis_col_evenly">
<text class="t_2">
骑行时间 (min)
</text>
<text class="t_1">
{{now_time_list}}
</text>
<text class="t_2">
当前费用: {{expenses}}
</text>
<view class="t_3">
<text class="btn_now" style="width: 100px" @click="handle_finish">
</text>
</view>
<text class="t_4">佰安出行已为您本次出行购买了安全保险</text>
</view>
</template>
<script setup>
import {
ref,
toRefs,
defineProps,
defineEmits
} from 'vue'
import mapnvueApi from '@/sheep/api/home/mapnvue';
import {
baseUrl,
apiPath
}
from '@/sheep/config';
import sheep from '@/sheep';
import {
onLoad,
onShow,
onReady
} from '@dcloudio/uni-app';
const props = defineProps({
rideOrderId: Number,
now_time_list: String,
expenses: Number
})
const all_props = toRefs(props)
const timer = ref(null)
onShow(() => {
})
//
async function handle_finish() {
// 查看是否需要调度费用
let val = {
lng: uni.getStorageSync('latitude'),
log: uni.getStorageSync('longitude')
}
const {
data,
code
} = await mapnvueApi.operate_scope(val)
if (code == 0) {
if (data == false) {
uni.showModal({
title: '换车范围外',
content: '当前还车位置不在还车点内,是否确认还车',
confirmText: '确认',
success: (res) => {
if (res.confirm) {
handle_f_l()
} else if (res.cancel) {
return
}
}
});
} else {
handle_f_l()
}
}
}
//
async function handle_f_l() {
let rideOrderId = uni.getStorageSync('rideOrderId')
const {
data,
code
} = await mapnvueApi.finishRide(rideOrderId)
if (code == 0) {
handle_finish_pay(data.rideId)
} else {
uni.showToast({
icon: 'error',
title: '结束失败'
})
}
}
//
async function handle_finish_pay(val) {
let coms = {
rideId: val
}
const {
data,
code
} = await mapnvueApi.business_pay(coms)
if (code == 0) {
sheep.$router.go('/pages/pay/index', {
id: data,
type: '结束行程'
})
} else {
uni.showToast({
icon: 'error',
title: '支付失败'
})
}
}
</script>
<style lang="scss" scoped>
.dis_col_evenly {
// width: 100%;
height: 200px;
display: flex;
flex-direction: column;
align-items: center;
justify-content: space-around;
padding: 10px 20px;
}
.t_1 {
font-weight: 800;
font-size: 30px;
margin: 10px 0;
}
.t_2 {
font-size: 13px;
color: #999999;
// margin-top: 5px;
}
.t_3 {
// width: 500px;
padding: 10px 40px;
}
.t_4 {
margin-top: 5px;
font-size: 13px;
color: #a6a6a6;
}
.btn_now {
height: 40px;
background: #000000;
color: #fff;
font-size: 14px;
border-radius: 3px;
line-height: 40px;
text-align: center;
margin-top: 10px;
}
</style>