This commit is contained in:
THK3121 2023-08-23 11:35:09 +08:00
parent 5399625d7d
commit 1bb374e0fb
7 changed files with 265 additions and 141 deletions

View File

@ -68,7 +68,6 @@
}, },
showToast() { showToast() {
// 6
this.$refs.uToast.show({ this.$refs.uToast.show({
type: 'success', type: 'success',
title: '成功主题(带图标)', title: '成功主题(带图标)',
@ -78,7 +77,6 @@
}, },
showToast2() { showToast2() {
// 6 // 6
this.$refs.uToast.show({ this.$refs.uToast.show({
type: 'error', type: 'error',
message: "取件码不能为空", message: "取件码不能为空",

View File

@ -3,8 +3,6 @@
<view v-if='showLoading'> <view v-if='showLoading'>
<u-loading-page :loading="showLoading"></u-loading-page> <u-loading-page :loading="showLoading"></u-loading-page>
</view> </view>
<view v-else> <view v-else>
<view class="order"> <view class="order">
<p class="tit" v-if="goodsDetil.logistics.status==1">订单编号:&nbsp;&nbsp;{{goodsDetil.logistics.order_sn}} <p class="tit" v-if="goodsDetil.logistics.status==1">订单编号:&nbsp;&nbsp;{{goodsDetil.logistics.order_sn}}
@ -87,7 +85,6 @@
</view> </view>
</view> </view>
<!-- 已送达 --> <!-- 已送达 -->
<view class="left" v-if="goodsDetil.logistics.status==2"> <view class="left" v-if="goodsDetil.logistics.status==2">
<view class="list"> <view class="list">

View File

@ -4,8 +4,24 @@
v-model="keywords"></u-search> v-model="keywords"></u-search>
<view class="cards"> <view class="cards" v-for="item,index in orderlist" :key="index">
<view class="li">订单编号: {{item.order_sn}}</view>
<view class="li">取货时间: {{item.qh_time}}</view>
<view class="li">手机号: {{item.receiver_phone}}</view>
<view class="btn_li">收货人姓名: {{fuzzyName(item.receiver_name)}} <u-button type="primary" class="btn"
@click="doneFn(item.id)"><u-icon name="car-fill" color="white" size="25"
style="margin-right: 10rpx;;"></u-icon>
货物送达</u-button></view>
</view>
<view>
<u-modal :show="showPop" @close="showPop=false" title="请输入收件码" @confirm="confirm"
:closeOnClickOverlay="true">
<view class="slot-content">
<u--input placeholder="请输入收件码" type="number" border="surround" v-model="take_code"></u--input>
</view>
</u-modal>
<u-toast ref="uToast"></u-toast>
</view> </view>
</view> </view>
</template> </template>
@ -14,35 +30,102 @@
import { import {
getList getList
} from "@/api/logistics.js" } from "@/api/logistics.js"
import {
doneDelivery
} from "@/api/logistics.js"
export default { export default {
data() { data() {
return {
showPop: false,
keywords: "",
orderlist: [],
is_captain: "",
take_code: "",
order_id: "",
}
},
methods: {
fuzzyName(name) {
let length = name.length;
let fuzzyChars = "*".repeat(length - 1);
return name[0] + fuzzyChars;
},
showToast() {
this.$refs.uToast.show({
type: 'success',
title: '成功主题(带图标)',
message: "操作成功",
iconUrl: 'https://cdn.uviewui.com/uview/demo/toast/success.png'
})
},
doneFn(id) {
this.order_id = id
this.showPop = true
},
confirm() {
if (!this.take_code) return
doneDelivery({
take_code: this.take_code,
logistics_id: this.order_id,
}).then(res => {
this.showToast()
return {} })
} this.showPop = false
} this.getOrderList()
},
getOrderList() {
console.log("列表更新")
let id = JSON.parse(uni.getStorageSync('USER_INFO')).id
getList({
status: 1,
user_id: id,
keywords: this.keywords,
user_type: this.is_captain
}).then(res => {
this.orderlist = []
this.orderlist = res.data.data
})
}
},
onLoad() {
this.is_captain = JSON.parse(uni.getStorageSync('USER_INFO')).is_captain
this.getOrderList()
},
methods: {
// getOrderList() {
// console.log("")
// let id = JSON.parse(uni.getStorageSync('USER_INFO')).id
// getList({
// status: 1,
// user_id: id,
// keywords: this.keywords,
// user_type: this.is_captain
// }).then(res => {
// this.orderlist = []
// this.orderlist = res.data.data
// })
// }
} }
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.content { .content {
padding: 30rpx; padding: 30rpx;
.cards {
padding: 2vw;
border-radius: 15rpx;
background-color: white;
margin: 30rpx 0;
.li {
// margin: 10rpx 0;
height: 43rpx;
}
.btn_li {
display: flex;
justify-content: space-between;
align-items: center;
height: 43rpx;
.btn {
background-color: #FF7C32;
border: 0;
border-radius: 2vw;
width: auto;
height: 60rpx;
}
}
}
} }
</style> </style>

View File

@ -247,7 +247,7 @@ export const oaHomeData = [{
{ {
text: '驿站', text: '驿站',
icon: '../../static/img/home/GRCW.png', icon: '../../static/img/home/GRCW.png',
url: '/subpkg/finance/finance', url: '/pages/logistics/post',
// captain: true // captain: true
}, },
// { // {

View File

@ -22,9 +22,17 @@
</view> </view>
</view> </view>
<view class=""> <view class="is_contract">
<text>担任职务 :</text> <view>
<text>{item.master_position}</text> <text>担任职务 :</text>
<text>{item.master_position}</text>
</view>
<view>
<u-checkbox-group>
<u-checkbox active-color="#0122C7" v-model="checked" shape="square" label=""></u-checkbox>
</u-checkbox-group>
</view>
</view> </view>
<view class="" @click="copyPhone()"> <view class="" @click="copyPhone()">
<text>联系电话 :</text> <text>联系电话 :</text>

View File

@ -5,40 +5,52 @@
inactiveStyle="color:#fff" activeStyle="color:#fff"></u-tabs> inactiveStyle="color:#fff" activeStyle="color:#fff"></u-tabs>
</u-sticky> </u-sticky>
<view class="serch"> <view class="serch">
<u-search placeholder="搜索你的订单" :show-action="true" bg-color="white" v-model="keywords"></u-search> <u-search placeholder="输入车牌号进行搜索" :show-action="true" bg-color="white" v-model="keywords"></u-search>
</view> </view>
<view v-if="curNow==0" class="personnel_list"> <view v-if="curNow==0" class="personnel_list">
<view class="cards"> <view v-if="dataList.length">
<view class="cards_head"> <view class="cards" v-for="item,index in dataList" :key="index">
<text>XSDSDSD</text> <view class="cards_head">
<text>XSDSDSD</text>
</view> </view>
<view class="cards_content"> <view class="cards_content">
<view class="right"> <view class="right">
<view class="li"> <view class="li">
<text>车牌号: </text> <text>车牌号: </text>
<text> { item.name }</text> <text> { item.name }</text>
</view> </view>
<view class="li"> <view class="li">
<text>行驶总里程: </text> <text>行驶总里程: </text>
<text>{ item.phone }</text> <text>{ item.phone }</text>
<view style="float: right;"> <view style="float: right;">
<u-checkbox-group> <u-checkbox-group v-model="checked">
<u-checkbox active-color="#0122C7" v-model="checked" shape="square" <u-checkbox active-color="#0122C7" :label="item" :name="item" shape="square"
label=""></u-checkbox> label=""></u-checkbox>
</u-checkbox-group> </u-checkbox-group>
</view>
</view>
<view class="li">
<text>本公司签约时间: </text>
<text> 所属片区 </text>
</view> </view>
</view> </view>
<view class="li">
<text>本公司签约时间: </text>
<text> 所属片区 </text>
</view>
</view> </view>
</view>
</view>
<view v-else>
<!-- dsdssaddddddddddddddddddddddddddddddddddddddd -->
<view class="empty">
<!-- <u-empty></u-empty> -->
<view>
当前没有可以签约的的车辆,快去签约新车吧!
</view>
<u-button type="primary" class="btn"> 签约新车</u-button>
</view> </view>
</view> </view>
</view> </view>
@ -103,6 +115,10 @@
<script> <script>
import mybtn from "@/components/mybtn/mybtn.vue" import mybtn from "@/components/mybtn/mybtn.vue"
import {
Toast
} from "../../libs/uniApi";
// Toast("")
export default { export default {
components: { components: {
mybtn mybtn
@ -110,6 +126,7 @@
name: "vehicle", name: "vehicle",
data() { data() {
return { return {
dataList: [],
tabLists: [{ tabLists: [{
name: '未出租', name: '未出租',
}, { }, {
@ -124,8 +141,11 @@
}, },
methods: { methods: {
signFn() { signFn() {
console.log("签约咯") console.log(this.checked)
this.toDetail("/subpkg/property/chosseCompany") if (!this.checked.length) Toast("请至少选择一辆车")
else {
this.toDetail("/subpkg/property/chosseCompany")
}
}, },
toDetail(url) { toDetail(url) {
@ -151,6 +171,20 @@
padding: 28rpx 0; padding: 28rpx 0;
margin-bottom: 130rpx; margin-bottom: 130rpx;
.empty {
padding-top: 100rpx;
text-align: center;
.btn {
width: 30vw;
margin-top: 10rpx;
}
// height: 80vh;
// background-color: red;
}
.cards { .cards {
margin: 0 auto; margin: 0 auto;
margin-bottom: 28rpx; margin-bottom: 28rpx;

View File

@ -15,10 +15,10 @@
<view class="map_address"> <view class="map_address">
<view class="li"> <view class="li">
<view style="display: flex;justify-content: left;"> <view style="display: flex;justify-content: left;">
<view style="flex-shrink: 0;margin-right: 14rpx;"> <view style="flex-shrink: 0;margin-right: 14rpx;">
<text class="cir" style="background-color: #40BC5E;"></text> <text class="cir" style="background-color: #40BC5E;"></text>
中转站: 中转站:
</view> </view>
<view v-if="address.terminus">{{address.terminus.address}}</view> <view v-if="address.terminus">{{address.terminus.address}}</view>
</view> </view>
<view :class="{lg_status1:address.terminus.status==2,lg_status2:address.terminus.status==1}"> <view :class="{lg_status1:address.terminus.status==2,lg_status2:address.terminus.status==1}">
@ -28,13 +28,13 @@
</view> </view>
</view> </view>
<view class="li"> <view class="li">
<view style="display: flex;justify-content: left;"> <view style="display: flex;justify-content: left;">
<view style="flex-shrink: 0;margin-right: 14rpx;"> <view style="flex-shrink: 0;margin-right: 14rpx;">
<text class="cir" style="background-color: #40BC5E;"></text> <text class="cir" style="background-color: #40BC5E;"></text>
&emsp;: &emsp;:
</view> </view>
<view v-if="address.transfer">{{address.transfer.address}}</view> <view v-if="address.transfer">{{address.transfer.address}}</view>
</view> </view>
<view :class="{lg_status1:address.transfer.status==2,lg_status2:address.transfer.status==1}"> <view :class="{lg_status1:address.transfer.status==2,lg_status2:address.transfer.status==1}">
<text class="cir" style="background-color: transparent;"></text> <text class="cir" style="background-color: transparent;"></text>
<text class="status">车辆状态</text><text v-if="address.transfer.status==2">已完成</text> <text class="status">车辆状态</text><text v-if="address.transfer.status==2">已完成</text>
@ -44,9 +44,9 @@
</view> </view>
</view> </view>
</view> </view>
</view> </view>
<mybtn v-if="status==1" @click="getFn" text="抵达地点(中转站) 1/2"></mybtn> <mybtn v-if="status==1" @click="getFn" text="抵达地点(中转站) 1/2"></mybtn>
<mybtn v-else-if="status==2" @click="getFn" text="抵达地点(终点) 2/2"></mybtn> <mybtn v-else-if="status==2" @click="getFn" text="抵达地点(终点) 2/2"></mybtn>
<mybtn v-else-if="status==3" text="任务已完成" my_btn_disabled></mybtn> <mybtn v-else-if="status==3" text="任务已完成" my_btn_disabled></mybtn>
@ -55,11 +55,13 @@
<script> <script>
import mybtn from "@/components/mybtn/mybtn.vue" import mybtn from "@/components/mybtn/mybtn.vue"
import { import {
taskTricycleDetail, taskTricycleDetail,
taskAddTricycleCoordinate taskAddTricycleCoordinate
} from "@/api/task.js" } from "@/api/task.js"
import { Toast } from "../../libs/uniApi"; import {
Toast
} from "../../libs/uniApi";
export default { export default {
components: { components: {
mybtn mybtn
@ -90,42 +92,44 @@ import { Toast } from "../../libs/uniApi";
} }
], ],
polyline: [], polyline: [],
task_id: -1, task_id: -1,
address: { address: {
terminus:{ terminus: {
status: 1 status: 1
}, },
transfer:{ transfer: {
status: 1 status: 1
} }
} }
} }
}, },
onLoad(options){ onLoad(options) {
this.task_id = options.task_id; this.task_id = options.task_id;
this.initPosition(); this.initPosition();
this.locationFn(); this.locationFn();
}, },
methods: { methods: {
// //
async initPosition(){ async initPosition() {
let res = await taskTricycleDetail({id: this.task_id}); let res = await taskTricycleDetail({
this.address = res.data.extend; id: this.task_id
if(res.data.extend?.update?.terminus?.lnglat[0]){ //, });
this.markers[0].latitude = +res.data.extend.transfer.lnglat[1]; this.address = res.data.extend;
this.markers[0].longitude = +res.data.extend.transfer.lnglat[0]; if (res.data.extend?.update?.terminus?.lnglat[0]) { //,
this.status = 2; this.markers[0].latitude = +res.data.extend.transfer.lnglat[1];
this.address.terminus['status'] = 2; this.markers[0].longitude = +res.data.extend.transfer.lnglat[0];
}else { // , this.status = 2;
this.markers[0].latitude = +res.data.extend.terminus.lnglat[1]; this.address.terminus['status'] = 2;
this.markers[0].longitude = +res.data.extend.terminus.lnglat[0]; } else { // ,
this.address.terminus['status'] = 1; this.markers[0].latitude = +res.data.extend.terminus.lnglat[1];
} this.markers[0].longitude = +res.data.extend.terminus.lnglat[0];
if(res.data.extend?.update?.transfer?.lnglat[0]){ this.address.terminus['status'] = 1;
this.address.transfer['status'] = 2; }
this.status = 3; if (res.data.extend?.update?.transfer?.lnglat[0]) {
}else this.address.transfer['status'] = 1; this.address.transfer['status'] = 2;
}, this.status = 3;
} else this.address.transfer['status'] = 1;
},
// //
locationFn() { locationFn() {
let that = this let that = this
@ -219,45 +223,45 @@ import { Toast } from "../../libs/uniApi";
const distance = 6378137 * c; const distance = 6378137 * c;
return distance; return distance;
}, },
// //
getFn() { getFn() {
uni.showLoading({ uni.showLoading({
title: '上传中', title: '上传中',
mask: true mask: true
}) })
this.locationFn() this.locationFn()
// console.log(this.getDistance(this.markers[0], this.markers[1])) // console.log(this.getDistance(this.markers[0], this.markers[1]))
if ((this.getDistance(this.markers[0], this.markers[1]) >> 0) > 10000) { if ((this.getDistance(this.markers[0], this.markers[1]) >> 0) > 10000) {
return Toast('距离目标位置过远'); return Toast('距离目标位置过远');
}else { } else {
let data; let data;
if(this.status==1)data = { if (this.status == 1) data = {
id: this.task_id, id: this.task_id,
terminus: { terminus: {
lnglat: [ lnglat: [
this.markers[1].longitude, this.markers[1].longitude,
this.markers[1].latitude this.markers[1].latitude
] ]
} }
}; };
else data = { else data = {
id: this.task_id, id: this.task_id,
transfer: { transfer: {
lnglat: [ lnglat: [
this.markers[1].longitude, this.markers[1].longitude,
this.markers[1].latitude this.markers[1].latitude
] ]
} }
}; };
taskAddTricycleCoordinate(data).then(()=>{ taskAddTricycleCoordinate(data).then(() => {
uni.hideLoading() uni.hideLoading()
Toast('上传成功!') Toast('上传成功!')
if(this.status==1){ if (this.status == 1) {
this.initPosition(); this.initPosition();
this.locationFn(); this.locationFn();
} }
}) })
} }
}, },
getDriverLine() { getDriverLine() {
const that = this; const that = this;