From 214e6fe7a754ddf4900e07033a2fda6200f4d7a1 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期一, 16 十二月 2024 19:38:32 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
h5/pages/waybill/waybillDetail.vue | 525 +++++++++++++++++++++++++++++++++++----------------------
1 files changed, 320 insertions(+), 205 deletions(-)
diff --git a/h5/pages/waybill/waybillDetail.vue b/h5/pages/waybill/waybillDetail.vue
index e507bac..0b78b75 100644
--- a/h5/pages/waybill/waybillDetail.vue
+++ b/h5/pages/waybill/waybillDetail.vue
@@ -1,235 +1,350 @@
<template>
<view class="main_app">
- <image class="bg" src="@/static/wuliuche_bg@2x.png" mode="widthFix"></image>
- <view class="info">
- <view class="head">
- <view class="code">{{info.contractNumber}}</view>
- <view class="status">{{info.orderStatus}}</view>
- </view>
- <view class="content">
- <view class="line">
- <view class="la">鍙戣揣鍦�</view>
- <view class="val">{{info.fromRepertoty || '-'}}</view>
+ <!-- <image class="bg" src="@/static/wuliuche_bg@2x.png" mode="widthFix"></image> -->
+ <map id="map" :latitude="latitude" :longitude="longitude" :polyline="polyline" :markers="markers" :scale="4">
+
+ </map>
+ <view class="main_content">
+ <view class="info">
+ <view class="head">
+ <view class="code">{{info.contractNumber}}</view>
+ <view class="status">{{info.orderStatusDesc}}</view>
</view>
- <view class="line">
- <view class="la">鍒拌揣鍦�</view>
- <view class="val">{{info.toRepertoty || '-'}}</view>
- </view>
- <view class="line">
- <view class="la">杞︾墝鍙�</view>
- <view class="val">{{info.plateNumber || '-'}}</view>
- </view>
- <view class="line">
- <view class="la">鍙告満淇℃伅</view>
- <view class="val">{{ '-'}}</view>
- </view>
- <view class="line">
- <view class="la">杞﹁締浣嶇疆</view>
- <view class="val">{{ '-'}}</view>
- </view>
- <view class="line">
- <view class="la">棰勮鍒拌揪</view>
- <view class="val">{{'-'}}</view>
+ <view class="content">
+ <view class="line">
+ <view class="la">鍙戣揣鍦�</view>
+ <view class="val">{{info.deliveryEnterprise || '-'}}</view>
+ </view>
+ <view class="line">
+ <view class="la">鍒拌揣鍦�</view>
+ <view class="val">{{info.receiveEnterprise || '-'}}</view>
+ </view>
+ <view class="line">
+ <view class="la">杞︾墝鍙�</view>
+ <view class="val">{{info.plateName || '-'}}</view>
+ </view>
+ <view class="line">
+ <view class="la">鍙告満淇℃伅</view>
+ <view class="val" @click="callPhone(info.driverTel)">{{ info.driverName }} <text class="primaryColor ml12">{{info.driverTel}}</text> </view>
+ </view>
+ <view class="line">
+ <view class="la">杞﹁締浣嶇疆</view>
+ <view class="val">{{'-'}}</view>
+ </view>
+ <view class="line">
+ <view class="la">棰勮鍒拌揪</view>
+ <view class="val">{{info.plannedArrivedDate}}</view>
+ </view>
</view>
</view>
- </view>
- <view class="drive_info">
- <view class="title">鐗╂祦淇℃伅</view>
-<!-- <view class="item">
- <view class="h2">
- <view class="icon_wrap"><image src="@/static/driver/ic_mostarted.png" class="icon"></image></view>
- <view class="text">鍒拌揪鍗歌揣鍦�</view>
+ <view class="drive_info">
+ <view class="title">鐗╂祦淇℃伅</view>
+ <view class="drive_list" v-for="dri,k in info.cicleStatusList">
+ <view class="separate"></view>
+ <view class="item_title">
+ <view class="icon_wrap">
+ <image v-if="dri.key == 0 && k != 0" src="@/static/waybill/ic_dingdan@2x.png" class="icon"></image>
+ <image v-if="dri.key == 0 && k == 0" src="@/static/waybill/ic_dingdan_sel@2x.png" class="icon"></image>
+ <image v-if="dri.key == 1 && k != 0" src="@/static/waybill/ic_peizai@2x.png" class="icon"></image>
+ <image v-if="dri.key == 1 && k == 0" src="@/static/waybill/ic_peizai_sel@2x.png" class="icon"></image>
+ <image v-if="dri.key == 2 && k != 0" src="@/static/waybill/ic_cangku@2x.png" class="icon"></image>
+ <image v-if="dri.key == 2 && k == 0" src="@/static/waybill/ic_cangku_sel@2x.png" class="icon"></image>
+ <image v-if="dri.key == 3 && k != 0" src="@/static/waybill/ic_yunshu@2x.png" class="icon"></image>
+ <image v-if="dri.key == 3 && k == 0" src="@/static/waybill/ic_yunshu_sel@2x.png" class="icon"></image>
+ <image v-if="dri.key == 4" src="@/static/waybill/ic_daohuo_sel@2x.png" class="icon"></image>
+ <image v-if="dri.key == 5" src="@/static/waybill/ic_ruku.png" class="icon"></image>
+ </view>
+ <view class="" :class="{primaryColor: k == 0}">{{dri.name}}</view>
+ </view>
+ <view class="item" v-for="item,i in dri.secondList">
+ <view class="h2" v-if="item.orderStatusDes">
+ <view class="icon_wrap" v-if="i != 0">
+ <image src="@/static/driver/ic_mostarted.png" class="icon"></image>
+ </view>
+ <view v-else class="icon_wrap"></view>
+ <view class="text" :class="{placeholder3: k==0 && i== 0}" >
+ {{item.orderStatusDes}}
+ <text v-if="item.tel">锛屽彂璐т粨搴撶數璇濓細</text>
+ <text v-if="item.tel" @click="callPhone(item.tel)" class="primaryColor">{{item.tel}}</text>
+ </view>
+ </view>
+ <view class="time">{{item.recordDate}}</view>
+ </view>
</view>
- <view class="time">202422222222</view>
- <view class="separate"></view>
</view>
- <view class="item">
- <view class="h2 h1">
- <view class="icon_wrap"><image src="@/static/driver/ic_dangqian.png" class="icon"></image></view>
- <view class="text">鍒拌揪鍗歌揣鍦�</view>
- </view>
- <view class="time">202422222222</view>
- <view class="separate separate_ac"></view>
- </view>
- <view class="item">
- <view class="h2">
- <view class="icon_wrap"><image src="@/static/driver/ic_mostarted.png" class="icon"></image></view>
- <view class="text">鍒拌揪鍗歌揣鍦�</view>
- </view>
- <view class="time">202422222222</view>
- <view class="separate"></view>
- </view> -->
- </view>
+ </view>
</view>
</template>
-<script>
- import { orderInfoTms } from '@/api'
+<script>
+ import {
+ orderInfoTms
+ } from '@/api'
export default {
data() {
return {
- id: '',
- info: {},
- param: {}
+ id: '',
+ info: {},
+ param: {},
+
+ latitude: 31.783205,
+ longitude: 117.262635,
+ markers: [],
+ includePoints: [
+ // {latitude: 31.783205, longitude: 117.262635}, {latitude: 36.783205, longitude: 118.10},
+ ],
+
+ polyline: [
+ // {
+ // points: [{
+ // latitude: 31.783205,
+ // longitude: 117.262635
+ // }, {
+ // latitude: 36.783205,
+ // longitude: 118.10
+ // }],
+ // color: '#FF0000',
+ // width: 3
+ // },
+ ]
};
- },
- onLoad(options) {
- this.id = options.id
- this.getDetail()
- },
- methods: {
- getDetail() {
- orderInfoTms({ contractNumber: this.id }).then(res => {
- this.info = res.data
- })
+ },
+ onLoad(options) {
+ this.id = options.id
+ this.getDetail()
+ },
+ methods: {
+ getDetail() {
+ orderInfoTms({
+ contractNumber: this.id
+ }).then(res => {
+ this.info = res.data
+ if (res.data.deliveryLat && res.data.receiveLat) {
+ this.markers = []
+ this.markers.push({
+ id: 1,
+ latitude: res.data.deliveryLat,
+ longitude: res.data.deliveryLon,
+ width: 36,
+ iconPath: '/static/driver/ic_fahuodi@2x.png',
+ label: {
+ content: ' ',
+ padding: 3,
+ borderWidth: 2,
+ borderRadius: '50%',
+ borderColor: '#fff',
+ borderRadius: 32,
+ bgColor: '#FF0000'
+ }
+ })
+ this.markers.push({
+ id: 2,
+ latitude: res.data.receiveLat,
+ longitude: res.data.receiveLon,
+ width: 36,
+ iconPath: '/static/driver/ic_huowu@2x.png',
+ label: {
+ content: ' ',
+ padding: 3,
+ borderWidth: 2,
+ borderRadius: '50%',
+ borderColor: '#fff',
+ borderRadius: 32,
+ bgColor: '#FF0000'
+ }
+ })
+ this.latitude = (Number(this.markers[0].latitude) + Number(this.markers[1].latitude)) / 2 - 8
+ this.longitude = (Number(this.markers[0].longitude) + Number(this.markers[1].longitude)) / 2
+ }
+ if (res.data && res.data.gisList && res.data.gisList.length > 0) {
+ this.gisInfo = res.data.gisList[0]
+ }
+ })
},
+ callPhone(phone){
+ uni.makePhoneCall({
+ phoneNumber: phone
+ });
+ }
}
}
</script>
-<style lang="scss" scoped>
- page{
- background-color: #f7f7f7;
+<style lang="scss" scoped>
+ page {
+ background-color: #f7f7f7;
}
- .main_app{
- padding-top: 120rpx;
- .bg{
- width: 750rpx;
- position: absolute;
- left: 0;
- top: 0;
- }
- .drive_info{
- background: #fff;
- border-radius: 16rpx;
- padding: 30rpx;
- margin-bottom: 20rpx;
- .title{
- font-weight: 500;
- font-size: 32rpx;
- color: #222222;
- margin-bottom: 20rpx;
- }
- .line{
- display: flex;
- margin-bottom: 24rpx;
- .label{
- color: #666666;
- margin-right: 40rpx;
- }
- .val{
-
- }
- }
- .item{
- position: relative;
- color: #999999;
- margin-bottom: 30rpx;
- .h2{
- display: flex;
- align-items: center;
- height: 48rpx;
- .icon_wrap{
- width: 48rpx;
- margin-right: 30rpx;
- display: flex;
- align-items: center;
- justify-content: center;
- .icon{
- width: 24rpx;
- height: 24rpx;
- position: relative;
- z-index: 2;
- }
- }
- }
- .h1{
- .icon_wrap{
- .icon{
- width: 48rpx;
- height: 48rpx;
- }
- }
- }
- .time{
- padding-left: 78rpx;
- font-size: 24rpx;
- margin-top: 6rpx;
- }
- .separate{
- height: calc( 100% );
- width: 1rpx;
- border: 1rpx dashed #666666;
- position: absolute;
- left: 22rpx;
- top: 24rpx;
- z-index: 1;
- }
- .separate_ac{
- top: 48rpx;
- }
- }
- }
-
- .info {
- border-radius: 12rpx;
- margin-bottom: 20rpx;
- padding: 0 30rpx;
- background-color: #fff;
- overflow: hidden;
+
+ .main_app {
+ padding: 0;
+ padding-top: 45vh;
+ .main_content{
+ height: 55vh ;
+ overflow: auto;
+ padding: 20rpx 30rpx 0;
position: relative;
- z-index: 1;
- .head {
+ z-index: 999;
+ }
+ #map {
+ width: 750rpx;
+ position: absolute;
+ left: 0;
+ top: 0;
+ height: 105vh;
+
+ ::v-deep .amap-marker-label {
+ top: 36px !important;
+ left: 12px !important;
+ border: 3px solid #fff !important;
+ border-radius: 50%;
+ box-shadow: #222222 0px 0px 1px;
+ }
+ }
+
+ .drive_info {
+ background: #fff;
+ border-radius: 16rpx;
+ padding: 30rpx;
+ margin-bottom: 20rpx;
+ position: relative;
+ z-index: 999;
+ .separate {
+ height: calc( 100% - 250rpx );
+ width: 1rpx;
+ border: 1rpx dashed #CCCCCC;
+ position: absolute;
+ left: 53rpx;
+ top: 102rpx;
+ z-index: -1;
+ }
+ .title {
+ font-weight: 500;
+ font-size: 32rpx;
+ color: #222222;
+ margin-bottom: 20rpx;
+ }
+
+ .line {
+ display: flex;
+ margin-bottom: 24rpx;
+
+ .label {
+ color: #666666;
+ margin-right: 40rpx;
+ }
+
+ .val {}
+ }
+ .item_title{
+ font-weight: 600;
+ font-size: 32rpx;
display: flex;
- justify-content: space-between;
align-items: center;
- padding: 0 30rpx;
- width: 690rpx;
- height: 84rpx;
- margin: 0 -30rpx;
- background: linear-gradient( 270deg, #FEFEFF 0%, #E1F7FE 100%);
-
- .code {
- font-weight: 500;
- font-size: 32rpx;
- color: #222222;
- }
-
- .status {
- color: $uni-color-primary;
- }
}
-
- .content {
- padding: 20rpx 0rpx;
- margin-bottom: 20rpx;
-
- .line {
- display: flex;
- margin-bottom: 16rpx;
- font-size: 26rpx;
-
- .la {
- color: #666666;
- width: 140rpx;
- }
-
- .val {}
-
- &:nth-last-child(1) {
- margin-bottom: 0;
- }
+ .icon_wrap {
+ width: 48rpx;
+ margin-right: 30rpx;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ .icon {
+ width: 48rpx;
+ height: 48rpx;
+ position: relative;
+ z-index: 2;
}
- }
-
- }
+ }
+ .item {
+ position: relative;
+ color: #999999;
+ margin-bottom: 30rpx;
+ .text{
+ color: #666666;
+ }
+ .icon {
+ width: 20rpx;
+ height: 20rpx;
+ position: relative;
+ z-index: 2;
+ }
+ .h2 {
+ display: flex;
+ align-items: center;
+ height: 48rpx;
+ }
+
+ .h1 {
+ }
+
+ .time {
+ padding-left: 78rpx;
+ font-size: 24rpx;
+ margin-top: 6rpx;
+ }
+ }
+ }
+
+ .info {
+ border-radius: 12rpx;
+ margin-bottom: 20rpx;
+ padding: 0 30rpx;
+ background-color: #fff;
+ overflow: hidden;
+ position: relative;
+ z-index: 1;
+
+ .head {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ padding: 0 30rpx;
+ width: 690rpx;
+ height: 84rpx;
+ margin: 0 -30rpx;
+ background: linear-gradient(270deg, #FEFEFF 0%, #E1F7FE 100%);
+
+ .code {
+ font-weight: 500;
+ font-size: 32rpx;
+ color: #222222;
+ }
+
+ .status {
+ color: $uni-color-primary;
+ }
+ }
+
+ .content {
+ padding: 20rpx 0rpx;
+ margin-bottom: 20rpx;
+
+ .line {
+ display: flex;
+ margin-bottom: 16rpx;
+ font-size: 28rpx;
+
+ .la {
+ color: #666666;
+ width: 140rpx;
+ }
+
+ .val {}
+
+ &:nth-last-child(1) {
+ margin-bottom: 0;
+ }
+ }
+ }
+
+ }
}
- .main_bg {
- position: absolute;
- left: 0;
+
+ .main_bg {
+ position: absolute;
+ left: 0;
top: 0;
- width: 100%;
- z-index: -1;
+ width: 100%;
+ z-index: -1;
color: #222222;
}
</style>
\ No newline at end of file
--
Gitblit v1.9.3