页面修复
This commit is contained in:
parent
fe6c79ca90
commit
d426fcaaef
@ -1,458 +1,466 @@
|
|||||||
<template>
|
<template>
|
||||||
<view>
|
<view>
|
||||||
<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="content">
|
<view class="content">
|
||||||
<u-toast ref="uToast"></u-toast>
|
<u-toast ref="uToast"></u-toast>
|
||||||
<view class="map">
|
<view class="map">
|
||||||
<map :class="mapClass" id="map" @markertap='mapFun' :enable-zoom="true" :polyline="polyline"
|
<map :class="mapClass" id="map" @markertap='mapFun' :enable-zoom="true" :polyline="polyline"
|
||||||
:markers='markers' :scale="scale" style="width:100%;height: 70%;"
|
:markers='markers' :scale="scale" style="width:100%;height: 70%;"
|
||||||
:latitude="markers[0].latitude" :enable-scroll="true" :longitude="markers[0].longitude">
|
:latitude="markers[0].latitude" :enable-scroll="true" :longitude="markers[0].longitude">
|
||||||
<cover-image class="map_btn" @tap="test" src="../../static/img/logistics/DH.png">
|
<cover-image class="map_btn" @tap="test" src="../../static/img/logistics/DH.png">
|
||||||
</cover-image>
|
</cover-image>
|
||||||
</map>
|
</map>
|
||||||
<view class="map_address">
|
<view class="map_address">
|
||||||
<view style="display: flex;">
|
<view style="display: flex;">
|
||||||
<view style="flex-shrink: 0;margin-right: 16rpx;"><text class="cir" style="background-color: #40BC5E;"></text> 起点:</view>
|
<view style="flex-shrink: 0;margin-right: 16rpx;"><text class="cir"
|
||||||
<view>{{nowAddress}}</view>
|
style="background-color: #40BC5E;"></text> 起点:</view>
|
||||||
</view>
|
<view>{{nowAddress}}</view>
|
||||||
<view style="display: flex;">
|
</view>
|
||||||
<view style="flex-shrink: 0;margin-right: 16rpx;"><text class="cir" style="background-color: #FF7C32;"></text>终点:</view>
|
<view style="display: flex;">
|
||||||
<view>{{goodsDetil.logistics.shop_address}}</view>
|
<view style="flex-shrink: 0;margin-right: 16rpx;"><text class="cir"
|
||||||
</view>
|
style="background-color: #FF7C32;"></text>终点:</view>
|
||||||
</view>
|
<view>{{goodsDetil.logistics.shop_address}}</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view class="order_info">
|
|
||||||
<view class="top">
|
|
||||||
<view>
|
|
||||||
订单号信息:
|
|
||||||
</view>
|
|
||||||
<view>订单编号: {{goodsDetil.logistics.order_sn}}</view>
|
|
||||||
<view>
|
|
||||||
商户名称: {{goodsDetil.logistics.shop_name}}
|
|
||||||
</view>
|
|
||||||
<view @click.stop="callFn(goodsDetil.logistics.shop_phone)">
|
|
||||||
联系电话: <u-icon style="display: inline-block;margin-left: 5rpx;" name="phone"
|
|
||||||
color="#fff" size="22"></u-icon>{{goodsDetil.logistics.shop_phone}}
|
|
||||||
</view>
|
|
||||||
<view>
|
|
||||||
店铺地址: {{goodsDetil.logistics.shop_address}}
|
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view class="mark">
|
<view class="order_info">
|
||||||
请详细核对订单信息
|
<view class="top">
|
||||||
|
<view>
|
||||||
</view>
|
订单号信息:
|
||||||
|
</view>
|
||||||
</view>
|
<view>订单编号: {{goodsDetil.logistics.order_sn}}</view>
|
||||||
|
<view>
|
||||||
<view class="order_info" style="background-color: #47BE62;">
|
商户名称: {{goodsDetil.logistics.shop_name}}
|
||||||
<view class="top">
|
</view>
|
||||||
<view>
|
<view @click.stop="callFn(goodsDetil.logistics.shop_phone)">
|
||||||
物流信息:
|
联系电话: <u-icon style="display: inline-block;margin-left: 5rpx;" name="phone"
|
||||||
</view>
|
color="#fff" size="22"></u-icon>{{goodsDetil.logistics.shop_phone}}
|
||||||
<view>用户名称: {{fuzzyName( goodsDetil.logistics.receiver_name)}}</view>
|
</view>
|
||||||
<view>
|
<view>
|
||||||
通知时间: {{goodsDetil.logistics.create_time}}
|
店铺地址: {{goodsDetil.logistics.shop_address}}
|
||||||
</view>
|
|
||||||
<view class="pro_list">
|
|
||||||
<text>
|
|
||||||
商品信息
|
|
||||||
</text>
|
|
||||||
<view class="goods">
|
|
||||||
<view class="goods_tit" v-for="(item,index) in goodsDetil.product">
|
|
||||||
<text style="flex: 8;">{{item.goods_name}}</text>
|
|
||||||
<text style="flex: 2;">X{{item.product_num}}{{item.goods_unit}}</text>
|
|
||||||
</view>
|
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
</view>
|
<view class="mark">
|
||||||
<view class="mark" style="display: flex; justify-content: space-between;">
|
请详细核对订单信息
|
||||||
<text>请详细核对订单信息</text>
|
|
||||||
<text style="color: #0122C7;">共计{{goodsDetil.product_count}}件商品</text>
|
</view>
|
||||||
|
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
</view>
|
<view class="order_info" style="background-color: #47BE62;">
|
||||||
|
<view class="top">
|
||||||
|
<view>
|
||||||
|
物流信息:
|
||||||
|
</view>
|
||||||
|
<view>用户名称: {{fuzzyName( goodsDetil.logistics.receiver_name)}}</view>
|
||||||
|
<view>
|
||||||
|
通知时间: {{goodsDetil.logistics.create_time}}
|
||||||
|
</view>
|
||||||
|
<view class="pro_list">
|
||||||
|
<text>
|
||||||
|
商品信息
|
||||||
|
</text>
|
||||||
|
<view class="goods">
|
||||||
|
<view class="goods_tit" v-for="(item,index) in goodsDetil.product">
|
||||||
|
<text style="flex: 8;">{{item.goods_name}}</text>
|
||||||
|
<text style="flex: 2;">X{{item.product_num}}{{item.goods_unit}}</text>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
<view style="margin-top: 200rpx;height: 1px;">
|
</view>
|
||||||
<!-- 565 -->
|
<view class="mark" style="display: flex; justify-content: space-between;">
|
||||||
</view>
|
<text>请详细核对订单信息</text>
|
||||||
<view class="btn" v-if="!is_captain">
|
<text style="color: #0122C7;">共计{{goodsDetil.product_count}}件商品</text>
|
||||||
<u-button @click="qrqodeFn" type="primary" style="background-color: #0122C7;border: 0;">
|
</view>
|
||||||
<u-icon name="scan" color="white" size="30" style="margin-right: 10rpx;"></u-icon>
|
|
||||||
扫码取货</u-button>
|
</view>
|
||||||
|
|
||||||
|
<view style="margin-top: 200rpx;height: 1px;">
|
||||||
|
<!-- 565 -->
|
||||||
|
</view>
|
||||||
|
<view class="btn" v-if="!is_captain">
|
||||||
|
<u-button @click="qrqodeFn" type="primary" style="background-color: #0122C7;border: 0;">
|
||||||
|
<u-icon name="scan" color="white" size="30" style="margin-right: 10rpx;"></u-icon>
|
||||||
|
扫码取货</u-button>
|
||||||
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
|
|
||||||
</view>
|
</view>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
</view>
|
import {
|
||||||
</template>
|
getDetil
|
||||||
|
} from "@/api/logistics.js"
|
||||||
<script>
|
import {
|
||||||
import {
|
takeGoods
|
||||||
getDetil
|
} from "@/api/logistics.js"
|
||||||
} from "@/api/logistics.js"
|
import {
|
||||||
import {
|
Toast
|
||||||
takeGoods
|
} from "../../libs/uniApi";
|
||||||
} from "@/api/logistics.js"
|
export default {
|
||||||
import { Toast } from "../../libs/uniApi";
|
data() {
|
||||||
export default {
|
return {
|
||||||
data() {
|
is_captain: 0,
|
||||||
return {
|
mapClass: 'custom-map',
|
||||||
is_captain: 0,
|
showLoading: true,
|
||||||
mapClass: 'custom-map',
|
showPop: false,
|
||||||
showLoading: true,
|
goodsDetil: undefined,
|
||||||
showPop: false,
|
scale: 17,
|
||||||
goodsDetil: undefined,
|
nowAddress: "无",
|
||||||
scale: 17,
|
markers: [
|
||||||
nowAddress: "无",
|
// 商家
|
||||||
markers: [
|
{
|
||||||
// 商家
|
id: 1,
|
||||||
{
|
latitude: undefined,
|
||||||
id: 1,
|
longitude: undefined,
|
||||||
latitude: undefined,
|
iconPath: '../../static/img/logistics/SJ.png', //显示的图标
|
||||||
longitude: undefined,
|
},
|
||||||
iconPath: '../../static/img/logistics/SJ.png', //显示的图标
|
// 骑手
|
||||||
},
|
{
|
||||||
// 骑手
|
id: 2,
|
||||||
{
|
latitude: undefined,
|
||||||
id: 2,
|
longitude: undefined,
|
||||||
latitude: undefined,
|
iconPath: '../../static/img/logistics/QS.png', //显示的图标
|
||||||
longitude: undefined,
|
|
||||||
iconPath: '../../static/img/logistics/QS.png', //显示的图标
|
|
||||||
}
|
|
||||||
],
|
|
||||||
polyline: []
|
|
||||||
|
|
||||||
}
|
|
||||||
},
|
|
||||||
methods: {
|
|
||||||
fuzzyName(name) {
|
|
||||||
let length = name.length;
|
|
||||||
let fuzzyChars = "*".repeat(length - 1);
|
|
||||||
return name[0] + fuzzyChars;
|
|
||||||
},
|
|
||||||
callFn(num) {
|
|
||||||
uni.makePhoneCall({
|
|
||||||
phoneNumber: num
|
|
||||||
});
|
|
||||||
},
|
|
||||||
// 获取位置
|
|
||||||
// 位置
|
|
||||||
locationFn() {
|
|
||||||
let that = this
|
|
||||||
//#ifdef APP
|
|
||||||
uni.getLocation({
|
|
||||||
type: 'gcj02',
|
|
||||||
geocode: true,
|
|
||||||
isHighAccuracy: true,
|
|
||||||
success: function async (res) {
|
|
||||||
that.nowAddress = res.address.city + res.address.district + res.address.street + res
|
|
||||||
.address.streetNum + res.address.poiName
|
|
||||||
|
|
||||||
that.markers[1].latitude = res.latitude
|
|
||||||
that.markers[1].longitude = res.longitude
|
|
||||||
that.getDriverLine()
|
|
||||||
}
|
|
||||||
});
|
|
||||||
//#endif
|
|
||||||
},
|
|
||||||
|
|
||||||
// 唤起高德
|
|
||||||
test() {
|
|
||||||
if (this.is_captain) return;
|
|
||||||
let that = this;
|
|
||||||
uni.getSystemInfo({
|
|
||||||
success(e) {
|
|
||||||
if(e.platform ==='ios'){
|
|
||||||
// Toast('不支持');
|
|
||||||
// iOS上获取本机是否安装了百度高德地图,需要在manifest里配置
|
|
||||||
// 在manifest.json文件app-plus->distribute->apple->urlschemewhitelist节点下添加
|
|
||||||
//(如urlschemewhitelist:["iosamap","baidumap"])
|
|
||||||
plus.nativeUI.actionSheet({
|
|
||||||
title: "选择地图应用",
|
|
||||||
cancel: "取消",
|
|
||||||
buttons: [{title: "高德地图"}]
|
|
||||||
}, function(e) {
|
|
||||||
if(e.index!=1)return;
|
|
||||||
try{
|
|
||||||
let url = `iosamap://viewMap?sourceApplication=applicationName&poiname=${that.goodsDetil.logistics.shop_name}&lat=${that.markers[0].latitude}&lon=${that.markers[0].longitude}&dev=0`;
|
|
||||||
if (url != "") {
|
|
||||||
url = encodeURI(url);
|
|
||||||
plus.runtime.openURL(url, function(e) {
|
|
||||||
plus.nativeUI.alert("您的手机没有安装高德地图");
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}catch(e){
|
|
||||||
console.log(e);
|
|
||||||
Toast('暂不支持唤起地图')
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
plus.nativeUI.actionSheet({
|
|
||||||
title: "选择地图应用",
|
|
||||||
cancel: "取消",
|
|
||||||
buttons: [{title: "高德地图"}]
|
|
||||||
}, function(e) {
|
|
||||||
if(e.index!=1)return;
|
|
||||||
try{
|
|
||||||
var packageName = 'com.autonavi.minimap';
|
|
||||||
var main = plus.android.runtimeMainActivity();
|
|
||||||
var packageManager = main.getPackageManager();
|
|
||||||
var PackageManager = plus.android.importClass(packageManager)
|
|
||||||
var packageInfo = packageManager.getPackageInfo(packageName, PackageManager.GET_ACTIVITIES);
|
|
||||||
if (packageInfo) {
|
|
||||||
var Uri = plus.android.importClass("android.net.Uri");
|
|
||||||
var url =
|
|
||||||
`amapuri://route/plan?sourceApplication=maxuslife+
|
|
||||||
&sid=A&slat=36.702558&slon=116.876678&sname=我的位置&did=B&dlat=${that.markers[0].latitude}&dlon=${that.markers[0].longitude}&dname=${that.goodsDetil.logistics.shop_name}&dev=0&t=0`;
|
|
||||||
var Intent = plus.android.importClass('android.content.Intent');
|
|
||||||
var intent = new Intent();
|
|
||||||
intent.setAction(Intent.ACTION_VIEW);
|
|
||||||
intent.addCategory(Intent.CATEGORY_DEFAULT);
|
|
||||||
var uri = Uri.parse(url);
|
|
||||||
//将功能Scheme以URI的方式传入data
|
|
||||||
intent.setData(uri);
|
|
||||||
intent.setPackage("com.autonavi.minimap");
|
|
||||||
var main = plus.android.runtimeMainActivity();
|
|
||||||
main.startActivity(intent);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
// alert('未安装' + packageName + '')
|
|
||||||
uni.showToast({
|
|
||||||
title: `您的手机没有安装高德地图`,
|
|
||||||
icon: 'none'
|
|
||||||
})
|
|
||||||
}
|
|
||||||
console.log("唤醒高德线路规划")
|
|
||||||
}catch(e){
|
|
||||||
console.log(e);
|
|
||||||
Toast('启动出错')
|
|
||||||
}
|
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
})
|
|
||||||
},
|
|
||||||
showToast() {
|
|
||||||
this.$refs.uToast.show({
|
|
||||||
type: 'success',
|
|
||||||
title: '成功主题(带图标)',
|
|
||||||
message: "操作成功",
|
|
||||||
iconUrl: 'https://cdn.uviewui.com/uview/demo/toast/success.png'
|
|
||||||
})
|
|
||||||
},
|
|
||||||
mapFun() {
|
|
||||||
uni.openLocation({
|
|
||||||
latitude: Number(this.goodsDetil.logistics.shop_lat),
|
|
||||||
longitude: Number(this.goodsDetil.logistics.shop_long),
|
|
||||||
address: this.goodsDetil.logistics.shop_address,
|
|
||||||
name: this.goodsDetil.logistics.shop_name,
|
|
||||||
scale: 15,
|
|
||||||
});
|
|
||||||
},
|
|
||||||
showToast() {
|
|
||||||
this.$refs.uToast.show({
|
|
||||||
type: 'success',
|
|
||||||
title: '成功主题(带图标)',
|
|
||||||
message: "操作成功",
|
|
||||||
iconUrl: 'https://cdn.uviewui.com/uview/demo/toast/success.png'
|
|
||||||
})
|
|
||||||
},
|
|
||||||
getDriverLine() {
|
|
||||||
const that = this;
|
|
||||||
const key = "997c9a3d88154fa78f4d28bebc1dd84f";
|
|
||||||
|
|
||||||
const origin = `${this.markers[1].longitude},${this.markers[1].latitude}`;
|
|
||||||
|
|
||||||
const destination = `${this.markers[0].longitude},${this.markers[0].latitude}`;
|
|
||||||
uni.request({
|
|
||||||
// url: `https://restapi.amap.com/v3/direction/walking?key=${key}&origin=105.43639400000002,28.908854&destination=105.439304,28.908447`,
|
|
||||||
url: `https:restapi.amap.com/v4/direction/bicycling?key=${key}&origin=${origin}&destination=${destination}`,
|
|
||||||
success: (res) => {
|
|
||||||
const data = res.data.data;
|
|
||||||
var points = [];
|
|
||||||
if (data.paths && data.paths[0] && data.paths[0].steps) {
|
|
||||||
var steps = data.paths[0].steps;
|
|
||||||
for (var i = 0; i < steps.length; i++) {
|
|
||||||
//将每一步的数据放到points数组中
|
|
||||||
var poLen = steps[i].polyline.split(";");
|
|
||||||
for (var j = 0; j < poLen.length; j++) {
|
|
||||||
points.push({
|
|
||||||
longitude: parseFloat(poLen[j].split(",")[0]),
|
|
||||||
latitude: parseFloat(poLen[j].split(",")[1]),
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
that.runningRoute = data.paths[0].steps[0].instruction;
|
|
||||||
|
|
||||||
}
|
}
|
||||||
that.polyline = [{
|
],
|
||||||
points: points,
|
polyline: []
|
||||||
color: "#0091ff",
|
|
||||||
dottedLine: true,
|
|
||||||
width: 30,
|
|
||||||
|
|
||||||
}, ];
|
}
|
||||||
},
|
|
||||||
fail: function(res) {
|
|
||||||
console.log("获取路线失败", res);
|
|
||||||
},
|
|
||||||
});
|
|
||||||
},
|
},
|
||||||
|
methods: {
|
||||||
|
fuzzyName(name) {
|
||||||
|
let length = name.length;
|
||||||
|
let fuzzyChars = "*".repeat(length - 1);
|
||||||
|
return name[0] + fuzzyChars;
|
||||||
|
},
|
||||||
|
callFn(num) {
|
||||||
|
uni.makePhoneCall({
|
||||||
|
phoneNumber: num
|
||||||
|
});
|
||||||
|
},
|
||||||
|
// 获取位置
|
||||||
|
// 位置
|
||||||
|
locationFn() {
|
||||||
|
let that = this
|
||||||
|
//#ifdef APP
|
||||||
|
uni.getLocation({
|
||||||
|
type: 'gcj02',
|
||||||
|
geocode: true,
|
||||||
|
isHighAccuracy: true,
|
||||||
|
success: function async (res) {
|
||||||
|
that.nowAddress = res.address.city + res.address.district + res.address.street + res
|
||||||
|
.address.streetNum + res.address.poiName
|
||||||
|
|
||||||
|
that.markers[1].latitude = res.latitude
|
||||||
|
that.markers[1].longitude = res.longitude
|
||||||
|
that.getDriverLine()
|
||||||
|
}
|
||||||
|
});
|
||||||
|
//#endif
|
||||||
|
},
|
||||||
|
|
||||||
|
// 唤起高德
|
||||||
|
test() {
|
||||||
|
if (this.is_captain) return;
|
||||||
|
let that = this;
|
||||||
|
uni.getSystemInfo({
|
||||||
|
success(e) {
|
||||||
|
if (e.platform === 'ios') {
|
||||||
|
// Toast('不支持');
|
||||||
|
// iOS上获取本机是否安装了百度高德地图,需要在manifest里配置
|
||||||
|
// 在manifest.json文件app-plus->distribute->apple->urlschemewhitelist节点下添加
|
||||||
|
//(如urlschemewhitelist:["iosamap","baidumap"])
|
||||||
|
plus.nativeUI.actionSheet({
|
||||||
|
title: "选择地图应用",
|
||||||
|
cancel: "取消",
|
||||||
|
buttons: [{
|
||||||
|
title: "高德地图"
|
||||||
|
}]
|
||||||
|
}, function(e) {
|
||||||
|
if (e.index != 1) return;
|
||||||
|
try {
|
||||||
|
let url =
|
||||||
|
`iosamap://viewMap?sourceApplication=applicationName&poiname=${that.goodsDetil.logistics.shop_name}&lat=${that.markers[0].latitude}&lon=${that.markers[0].longitude}&dev=0`;
|
||||||
|
if (url != "") {
|
||||||
|
url = encodeURI(url);
|
||||||
|
plus.runtime.openURL(url, function(e) {
|
||||||
|
plus.nativeUI.alert("您的手机没有安装高德地图");
|
||||||
|
});
|
||||||
|
}
|
||||||
|
} catch (e) {
|
||||||
|
console.log(e);
|
||||||
|
Toast('暂不支持唤起地图')
|
||||||
|
}
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
plus.nativeUI.actionSheet({
|
||||||
|
title: "选择地图应用",
|
||||||
|
cancel: "取消",
|
||||||
|
buttons: [{
|
||||||
|
title: "高德地图"
|
||||||
|
}]
|
||||||
|
}, function(e) {
|
||||||
|
if (e.index != 1) return;
|
||||||
|
try {
|
||||||
|
var packageName = 'com.autonavi.minimap';
|
||||||
|
var main = plus.android.runtimeMainActivity();
|
||||||
|
var packageManager = main.getPackageManager();
|
||||||
|
var PackageManager = plus.android.importClass(packageManager)
|
||||||
|
var packageInfo = packageManager.getPackageInfo(packageName,
|
||||||
|
PackageManager.GET_ACTIVITIES);
|
||||||
|
if (packageInfo) {
|
||||||
|
var Uri = plus.android.importClass("android.net.Uri");
|
||||||
|
var url =
|
||||||
|
`amapuri://route/plan?sourceApplication=maxuslife+
|
||||||
|
&sid=A&slat=36.702558&slon=116.876678&sname=我的位置&did=B&dlat=${that.markers[0].latitude}&dlon=${that.markers[0].longitude}&dname=${that.goodsDetil.logistics.shop_name}&dev=0&t=0`;
|
||||||
|
var Intent = plus.android.importClass('android.content.Intent');
|
||||||
|
var intent = new Intent();
|
||||||
|
intent.setAction(Intent.ACTION_VIEW);
|
||||||
|
intent.addCategory(Intent.CATEGORY_DEFAULT);
|
||||||
|
var uri = Uri.parse(url);
|
||||||
|
//将功能Scheme以URI的方式传入data
|
||||||
|
intent.setData(uri);
|
||||||
|
intent.setPackage("com.autonavi.minimap");
|
||||||
|
var main = plus.android.runtimeMainActivity();
|
||||||
|
main.startActivity(intent);
|
||||||
|
} else {
|
||||||
|
// alert('未安装' + packageName + '')
|
||||||
|
uni.showToast({
|
||||||
|
title: `您的手机没有安装高德地图`,
|
||||||
|
icon: 'none'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
console.log("唤醒高德线路规划")
|
||||||
|
} catch (e) {
|
||||||
|
console.log(e);
|
||||||
|
Toast('启动出错')
|
||||||
|
}
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
showToast() {
|
||||||
|
this.$refs.uToast.show({
|
||||||
|
type: 'success',
|
||||||
|
title: '成功主题(带图标)',
|
||||||
|
message: "操作成功",
|
||||||
|
iconUrl: 'https://cdn.uviewui.com/uview/demo/toast/success.png'
|
||||||
|
})
|
||||||
|
},
|
||||||
|
mapFun() {
|
||||||
|
uni.openLocation({
|
||||||
|
latitude: Number(this.goodsDetil.logistics.shop_lat),
|
||||||
|
longitude: Number(this.goodsDetil.logistics.shop_long),
|
||||||
|
address: this.goodsDetil.logistics.shop_address,
|
||||||
|
name: this.goodsDetil.logistics.shop_name,
|
||||||
|
scale: 15,
|
||||||
|
});
|
||||||
|
},
|
||||||
|
showToast() {
|
||||||
|
this.$refs.uToast.show({
|
||||||
|
type: 'success',
|
||||||
|
title: '成功主题(带图标)',
|
||||||
|
message: "操作成功",
|
||||||
|
iconUrl: 'https://cdn.uviewui.com/uview/demo/toast/success.png'
|
||||||
|
})
|
||||||
|
},
|
||||||
|
getDriverLine() {
|
||||||
|
const that = this;
|
||||||
|
const key = "997c9a3d88154fa78f4d28bebc1dd84f";
|
||||||
|
|
||||||
|
const origin = `${this.markers[1].longitude},${this.markers[1].latitude}`;
|
||||||
|
|
||||||
|
const destination = `${this.markers[0].longitude},${this.markers[0].latitude}`;
|
||||||
|
uni.request({
|
||||||
|
// url: `https://restapi.amap.com/v3/direction/walking?key=${key}&origin=105.43639400000002,28.908854&destination=105.439304,28.908447`,
|
||||||
|
url: `https:restapi.amap.com/v4/direction/bicycling?key=${key}&origin=${origin}&destination=${destination}`,
|
||||||
|
success: (res) => {
|
||||||
|
const data = res.data.data;
|
||||||
|
var points = [];
|
||||||
|
if (data.paths && data.paths[0] && data.paths[0].steps) {
|
||||||
|
var steps = data.paths[0].steps;
|
||||||
|
for (var i = 0; i < steps.length; i++) {
|
||||||
|
//将每一步的数据放到points数组中
|
||||||
|
var poLen = steps[i].polyline.split(";");
|
||||||
|
for (var j = 0; j < poLen.length; j++) {
|
||||||
|
points.push({
|
||||||
|
longitude: parseFloat(poLen[j].split(",")[0]),
|
||||||
|
latitude: parseFloat(poLen[j].split(",")[1]),
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
that.runningRoute = data.paths[0].steps[0].instruction;
|
||||||
|
|
||||||
|
}
|
||||||
|
that.polyline = [{
|
||||||
|
points: points,
|
||||||
|
color: "#0091ff",
|
||||||
|
dottedLine: true,
|
||||||
|
width: 30,
|
||||||
|
|
||||||
|
}, ];
|
||||||
|
},
|
||||||
|
fail: function(res) {
|
||||||
|
console.log("获取路线失败", res);
|
||||||
|
},
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
qrqodeFn() {
|
qrqodeFn() {
|
||||||
let that = this
|
let that = this
|
||||||
uni.scanCode({
|
uni.scanCode({
|
||||||
onlyFromCamera: true,
|
onlyFromCamera: true,
|
||||||
success: function(res) {
|
success: function(res) {
|
||||||
that.takeGood(res.result)
|
that.takeGood(res.result)
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
},
|
||||||
|
// 取货{}
|
||||||
|
takeGood(sn) {
|
||||||
|
takeGoods({
|
||||||
|
logistics_id: this.goodsDetil.logistics.id,
|
||||||
|
order_id: this.goodsDetil.logistics.order_id,
|
||||||
|
order_sn: sn
|
||||||
|
}).then(res => {
|
||||||
|
this.showToast()
|
||||||
|
setTimeout(() => {
|
||||||
|
uni.navigateBack()
|
||||||
|
}, 1000)
|
||||||
|
})
|
||||||
|
|
||||||
|
},
|
||||||
},
|
},
|
||||||
// 取货{}
|
onLoad(options) {
|
||||||
takeGood(sn) {
|
// console.log()
|
||||||
takeGoods({
|
this.is_captain = JSON.parse(uni.getStorageSync("USER_INFO")).is_captain
|
||||||
logistics_id: this.goodsDetil.logistics.id,
|
getDetil({
|
||||||
order_id: this.goodsDetil.logistics.order_id,
|
logistics_id: options.id
|
||||||
order_sn: sn
|
|
||||||
}).then(res => {
|
}).then(res => {
|
||||||
this.showToast()
|
this.goodsDetil = res.data
|
||||||
|
this.markers[0].latitude = res.data.logistics.shop_lat
|
||||||
|
this.markers[0].longitude = res.data.logistics.shop_long
|
||||||
|
this.locationFn()
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
uni.navigateBack()
|
this.showLoading = false
|
||||||
}, 1000)
|
}, 500)
|
||||||
})
|
})
|
||||||
|
|
||||||
},
|
},
|
||||||
},
|
}
|
||||||
onLoad(options) {
|
</script>
|
||||||
// console.log()
|
|
||||||
this.is_captain = JSON.parse(uni.getStorageSync("USER_INFO")).is_captain
|
|
||||||
getDetil({
|
|
||||||
logistics_id: options.id
|
|
||||||
}).then(res => {
|
|
||||||
this.goodsDetil = res.data
|
|
||||||
this.markers[0].latitude = res.data.logistics.shop_lat
|
|
||||||
this.markers[0].longitude = res.data.logistics.shop_long
|
|
||||||
this.locationFn()
|
|
||||||
setTimeout(() => {
|
|
||||||
this.showLoading = false
|
|
||||||
}, 500)
|
|
||||||
})
|
|
||||||
},
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<style lang='scss' scoped>
|
<style lang='scss' scoped>
|
||||||
.custom-map /deep/ .polyline {
|
.custom-map /deep/ .polyline {
|
||||||
stroke-width: 20px;
|
stroke-width: 20px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.content {
|
.content {
|
||||||
padding: 2vh 3vw;
|
padding: 2vh 3vw;
|
||||||
background-color: #F6F7FC;
|
background-color: #F6F7FC;
|
||||||
height: 100vh;
|
height: 100vh;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
}
|
}
|
||||||
|
|
||||||
.map {
|
.map {
|
||||||
height: 40vh;
|
height: 40vh;
|
||||||
border-radius: 2vw;
|
|
||||||
overflow: hidden;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
.map_address {
|
|
||||||
background-color: white;
|
|
||||||
padding: 20rpx 10rpx;
|
|
||||||
|
|
||||||
.cir {
|
|
||||||
display: inline-block;
|
|
||||||
width: 2vw;
|
|
||||||
height: 4vw;
|
|
||||||
border-radius: 2vw;
|
border-radius: 2vw;
|
||||||
margin: 0 20rpx;
|
overflow: hidden;
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.map_btn {
|
|
||||||
width: 50px;
|
|
||||||
height: 50px;
|
|
||||||
position: absolute;
|
|
||||||
bottom: 0px;
|
|
||||||
right: 0;
|
|
||||||
z-index: 9999999;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
.order_info {
|
|
||||||
border: none;
|
|
||||||
background-color: #FF7C32;
|
|
||||||
border-radius: 2vw;
|
|
||||||
overflow: hidden;
|
|
||||||
margin-top: 50rpx;
|
|
||||||
margin-bottom: 30rpx;
|
|
||||||
color: white;
|
|
||||||
|
|
||||||
.top {
|
|
||||||
padding: 1vw 3vw;
|
|
||||||
|
|
||||||
view {
|
|
||||||
margin: 10rpx 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.mark {
|
.map_address {
|
||||||
background-color: white;
|
background-color: white;
|
||||||
color: #A8A8A8;
|
padding: 20rpx 10rpx;
|
||||||
padding: 10rpx 20rpx;
|
|
||||||
|
|
||||||
|
.cir {
|
||||||
|
display: inline-block;
|
||||||
|
width: 2vw;
|
||||||
|
height: 4vw;
|
||||||
|
border-radius: 2vw;
|
||||||
|
margin: 0 20rpx;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.pro_list {
|
.map_btn {
|
||||||
display: flex;
|
width: 50px;
|
||||||
|
height: 50px;
|
||||||
|
position: absolute;
|
||||||
|
bottom: 0px;
|
||||||
|
right: 0;
|
||||||
|
z-index: 9999999;
|
||||||
|
}
|
||||||
|
|
||||||
text {
|
|
||||||
|
|
||||||
flex: 2
|
.order_info {
|
||||||
}
|
border: none;
|
||||||
|
background-color: #FF7C32;
|
||||||
|
border-radius: 2vw;
|
||||||
|
overflow: hidden;
|
||||||
|
margin-top: 50rpx;
|
||||||
|
margin-bottom: 30rpx;
|
||||||
|
color: white;
|
||||||
|
|
||||||
.goods {
|
.top {
|
||||||
flex: 8;
|
padding: 1vw 3vw;
|
||||||
margin: 0;
|
|
||||||
|
|
||||||
.goods_tit {
|
|
||||||
margin: 0;
|
|
||||||
display: flex;
|
|
||||||
|
|
||||||
|
view {
|
||||||
|
margin: 10rpx 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.mark {
|
||||||
|
background-color: white;
|
||||||
|
color: #A8A8A8;
|
||||||
|
padding: 10rpx 20rpx;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.pro_list {
|
||||||
|
display: flex;
|
||||||
|
|
||||||
|
text {
|
||||||
|
|
||||||
|
flex: 2
|
||||||
|
}
|
||||||
|
|
||||||
|
.goods {
|
||||||
|
flex: 8;
|
||||||
|
margin: 0;
|
||||||
|
|
||||||
|
.goods_tit {
|
||||||
|
margin: 0;
|
||||||
|
display: flex;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
.btn {
|
||||||
|
|
||||||
.btn {
|
position: fixed;
|
||||||
|
bottom: 20rpx;
|
||||||
|
width: 90vw;
|
||||||
|
left: 50%;
|
||||||
|
transform: translateX(-50%);
|
||||||
|
|
||||||
position: fixed;
|
}
|
||||||
bottom: 20rpx;
|
</style>
|
||||||
width: 90vw;
|
|
||||||
left: 50%;
|
|
||||||
transform: translateX(-50%);
|
|
||||||
|
|
||||||
}
|
|
||||||
</style>
|
|
@ -58,7 +58,7 @@
|
|||||||
</view>
|
</view>
|
||||||
<view class="car_info" v-if="carList.length">
|
<view class="car_info" v-if="carList.length">
|
||||||
<view class="car_type">
|
<view class="car_type">
|
||||||
<text v-if="true">空闲车辆</text>
|
<text v-if="true">租赁车辆</text>
|
||||||
<text v-else>自有车辆</text>
|
<text v-else>自有车辆</text>
|
||||||
</view>
|
</view>
|
||||||
<view class="car_li" v-for="item,index in carList">
|
<view class="car_li" v-for="item,index in carList">
|
||||||
@ -105,7 +105,7 @@
|
|||||||
</view>
|
</view>
|
||||||
<!-- 审核中 -->
|
<!-- 审核中 -->
|
||||||
<view class="" v-if="dataList.status==0">
|
<view class="" v-if="dataList.status==0">
|
||||||
<u-button :disabled="true" type="primary" text="合同已上传,等待审核" @tap="contractFn" color="grey"></u-button>
|
<u-button :disabled="true" type="primary" text="合同已上传,等待审核" color="grey"></u-button>
|
||||||
</view>
|
</view>
|
||||||
<!-- 审核通过 -->
|
<!-- 审核通过 -->
|
||||||
<view class="" v-if="dataList.status==1||dataList.status==2">
|
<view class="" v-if="dataList.status==1||dataList.status==2">
|
||||||
@ -136,7 +136,6 @@
|
|||||||
color="#0122C7"></u-button>
|
color="#0122C7"></u-button>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<!--uview 组件 -->
|
<!--uview 组件 -->
|
||||||
<view class="">
|
<view class="">
|
||||||
<u-modal :show="showPop" @close="showPop=false" @confirm="confirm" :closeOnClickOverlay="true"
|
<u-modal :show="showPop" @close="showPop=false" @confirm="confirm" :closeOnClickOverlay="true"
|
||||||
@ -270,7 +269,7 @@
|
|||||||
}).then(res => {
|
}).then(res => {
|
||||||
this.navTo('/subpkg/property/success')
|
this.navTo('/subpkg/property/success')
|
||||||
})
|
})
|
||||||
this.navTo('/subpkg/property/success')
|
// this.navTo('/subpkg/property/success')
|
||||||
},
|
},
|
||||||
// sendcontractFn() {
|
// sendcontractFn() {
|
||||||
|
|
||||||
|
@ -13,7 +13,7 @@
|
|||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<!-- <view class="right" @click="navToContract(dataList.file)"> -->
|
<!-- <view class="right" @click="navToContract(dataList.file)"> -->
|
||||||
<view class="right" @click="showContractFn(item.file)">
|
<view class="right" @click="showContractFn(item.contract_url)">
|
||||||
<uni-icons type="paperclip" color="#3274F9"></uni-icons>
|
<uni-icons type="paperclip" color="#3274F9"></uni-icons>
|
||||||
<view>查看</view>
|
<view>查看</view>
|
||||||
</view>
|
</view>
|
||||||
|
@ -17,9 +17,12 @@
|
|||||||
<script>
|
<script>
|
||||||
export default {
|
export default {
|
||||||
onLoad() {
|
onLoad() {
|
||||||
uni.redirectTo({
|
setTimeout(() => {
|
||||||
url: '/subpkg/property/index'
|
uni.redirectTo({
|
||||||
})
|
url: '/subpkg/property/index'
|
||||||
|
})
|
||||||
|
}, 3000)
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
@ -73,7 +73,8 @@
|
|||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<!-- <view class="right" @click="navToContract(dataList.file)"> -->
|
<!-- <view class="right" @click="navToContract(dataList.file)"> -->
|
||||||
<view class="right" @click="showContractFn(datas.contract.file)">
|
<!-- <view class="right" @click="showContractFn(datas.contract.file)"> -->
|
||||||
|
<view class="right" @click="showContractFn(datas.contract.contract_url)">
|
||||||
<uni-icons type="paperclip" color="#3274F9"></uni-icons>
|
<uni-icons type="paperclip" color="#3274F9"></uni-icons>
|
||||||
<view>查看</view>
|
<view>查看</view>
|
||||||
</view>
|
</view>
|
||||||
|
@ -51,10 +51,7 @@ function baseRequestTwo(url, method, data, {
|
|||||||
url: Url + '/api' + url,
|
url: Url + '/api' + url,
|
||||||
method: method || 'GET',
|
method: method || 'GET',
|
||||||
header: {
|
header: {
|
||||||
...header,
|
...header
|
||||||
...{
|
|
||||||
'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8'
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
data: method != 'GET' ? data || {} : {},
|
data: method != 'GET' ? data || {} : {},
|
||||||
params: method == 'GET' ? data : {},
|
params: method == 'GET' ? data : {},
|
||||||
|
Loading…
x
Reference in New Issue
Block a user