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.
 
 
 
 
 

428 lines
14 KiB

<template>
<view>
<!-- 转单弹窗 -->
<uni-popup ref="popup" background-color="#fff">
<view class="popup-content">
<view style="width: 100%;">
<view class="close-text" @click="closePopup">关闭</view>
</view>
<uni-search-bar class="uni-mt-10" v-model="searchStr" @input='searchLbg' radius="5" placeholder="输入手机号或姓名查询" clearButton="auto" cancelButton="none" />
<view v-for="(item,index) in conditionList" :key="index">
<view class="lbg-list" @tap.stop="transOrder(item)">
<view>姓名{{item.workerName}}</view>
<view>进行中{{item.orderCount == null ? '0':item.orderCount}}</view>
</view>
</view>
</view>
</uni-popup>
<!-- 复制地址弹窗 -->
<uni-popup ref="addressPopup" background-color="#fff">
<view class="popup-content" style="width:400rpx;height: auto;">
<view style="width: 100%;">
<view class="close-text" @tap="$refs.addressPopup.close()">关闭</view>
<view style="width: 100%;margin-top:50rpx;text-align: center;font-size: 40rpx;">您要复制的地址</view>
</view>
<view style="display: flex;width: 95%;margin: 100rpx auto 10rpx; ">
<button @click="getAddress('send')" class="call-btn">发货人信息</button>
<button @click="getAddress('put')" class="call-btn" v-if="signPerson == 2">收货人信息</button>
</view>
</view>
</uni-popup>
<!-- 打电话弹窗 -->
<uni-popup ref="callPopup" background-color="#fff">
<view class="popup-content" style="width:400rpx;height: auto;">
<view style="width: 100%;">
<view class="close-text" @tap="$refs.callPopup.close()">关闭</view>
<view style="width: 100%;margin-top:50rpx;text-align: center;font-size: 40rpx;">您要拨打的电话?</view>
</view>
<view style="display: flex;width: 95%;margin: 100rpx auto 10rpx; ">
<button @click="connect('dCall')" class="call-btn">店铺</button>
<button @click="connect('wCall')" class="call-btn">物流</button>
</view>
</view>
</uni-popup>
<!-- type 订单类型 1帮送 2帮取 3帮买 4 帮排队 5帮办-->
<view v-for="(item,index) in list" class="cell column">
<!-- 时间状态 -->
<!-- 35分钟内送达 8:00到达 尽快送达 尽快购买 尽快取件 服务中 -->
<view class="section1 row">
<image class="section1-shijian" src="../../static/image/shijian.png"></image>
<block v-if="item.type == 4 || item.type == 5">
<view v-if="item.status == 4" class="section1-time row">
<view>{{i18n.order.fuwuzhong}}</view>
</view>
<view v-else class="section1-time row">{{123456}}
<view style="color: #323232;">{{i18n.order.daoda}}</view>
</view>
</block>
<block v-else>
<!-- 时间-->
<view class="section1-time row">{{item.createTime}}
<view v-if="item.type == 1 || item.type == 2" style="color: #323232;">{{i18n.order.qujian}}
</view>
<view v-if="item.type == 3" style="color: #323232;">{{i18n.order.songda}}</view>
<block v-if="item.type == 4 || item.type == 5">
<view v-if="item.status == 3" style="color: #323232;">{{i18n.order.daoda}}</view>
<view v-if="item.status == 4">{{i18n.order.fuwuzhong}}</view>
</block>
</view>
</block>
<!-- <block v-if="selectedIndex == 0">
<view class="section1-price row">
<view style="font-size: 20px;height: 20px;line-height: 22px;">{{item.orderBkge || 100}}</view>
<view style="font-size: 16px;height: 20px;">¥</view>
</view>
</block> -->
<block>
<view class="section1-price row">
<view style="font-size: 14px;height: 20px;line-height: 30px;" @tap.stop="total('address',item)">一键复制地址</view>
</view>
</block>
<block v-if="selectedIndex !=0">
<view v-if=" item.reminder_count > 0" class="section1-price row">
<view style="font-size: 20px;height: 20px;line-height: 22px;">{{i18n.order.cuidan}}</view>
</view>
<!-- <image @tap.stop="navigation(item)" class="daohangimgage" src="../../static/image/daohang.png">-->
<!-- </image>-->
</block>
</view>
<view class="section2 row">
<view class="section2-left column">
<image src="../../static/image/qu.png"></image>
<image v-if="item.type == 3" src="../../static/image/mai.png"></image>
<image v-if="item.type == 4" src="../../static/image/pai.png"></image>
<image v-if="item.type == 5" src="../../static/image/ban.png"></image>
<block v-if="item.type == 3">
<text v-if="item.f_lng != ''">{{item.myDistance}}</text>
</block>
<block v-else>
<text>{{item.myDistance}}</text>
</block>
<!-- <text v-if="item.type !=3 && item.extra.type != 2" >{{item.myDistance}}</text> -->
</view>
<view class="section2-right column">
<block v-if="item.type != 4 && item.type != 5">
<block v-if="item.type == 3">
<block v-if="item.extra.type == 2">
<view class="section2-right-title oneline">
{{i18n.order.jiujingoumai}}
</view>
</block>
<block v-else>
<view class="section2-right-title oneline">
{{item.orderDescribe}}
</view>
</block>
</block>
<!-- mark 取-->
<block v-else>
<view class="section2-right column">
<view class="section2-right-title oneline" style="">
{{item.shopName}} - {{item.orderId | orderSplit}}
</view>
<view class="section2-right-des oneline">
{{item.getOrderAddress}}
<!-- {{item.orderDescribe}} -->
</view>
</view>
</block>
<view class="section2-right-des oneline">
{{item.orderDescribe}}
</view>
</block>
<!-- mark-->
<block v-else>
<view class="section2-right-title oneline">
{{item.orderDescribe}}
</view>
<view class="section2-right-des oneline">
{{item.orderDescribe}}
</view>
</block>
</view>
</view>
<view v-if="item.type != 4 && item.type != 5" class="line"></view>
<!-- mark 送-->
<view v-if="item.type != 4 && item.type != 5" class="section3 row">
<view class="section2-left column">
<image src="../../static/image/song.png"></image>
<text v-if="item.allDistance">{{item.allDistance}}</text>
</view>
<view class="section2-right column" v-if="signPerson == 1">
<view class="section2-right-title oneline">
{{item.orderAddress | splitStr}}
<!-- {{item.orderDescribe}} -->
</view>
</view>
<view class="section2-right column" v-if="signPerson == 2">
<view class="section2-right-title oneline" style="">
{{item.province+'-'+item.city+'-'+item.area}}
</view>
<view class="section2-right-title oneline" style="">
{{item.orderAddress | splitStr1}}
</view>
</view>
</view>
<!-- mark 取-->
<!-- 任务类型 -->
<!-- 帮我办 帮我送 帮我买 帮我排队 -->
<view class="section4 row">
<view v-if="item.type_t" class="section4-type1">{{item.type_t}}</view>
<view v-if="item.tips" class="section4-type2" :style="item.ispre == 1?'background-color: #FDC208;':''">
{{item.tips}}
</view>
<view class="section4-service_time" v-if="selectedIndex == 2 && (item.type == 4 || item.type == 5)">
{{item.service_time+i18n.order.daoda}}
</view>
</view>
<!-- <view v-if="item.des.length > 0" class="section7">-->
<!-- <view class="sectionbeizhu">{{item.des}}</view>-->
<!-- </view>-->
<image class="zhuandan" v-if="item.istrans == 1" src="../../static/image/zhuandan.png"></image>
<!-- 按钮状态 -->
<!-- 拒绝接单 抢单 -->
<block v-if="selectedIndex == 0">
<view class="section5 row">
<!-- <view class="section5-type1" @tap.stop="RefuseOrders(item)">{{i18n.order.jujuejiedan}}</view>-->
<view class="section5-type2" @tap.stop="GrabOrder(item)">{{i18n.order.qiangdan}}</view>
</view>
</block>
<!-- 已取件 开始服务 已购买 -->
<block v-if="selectedIndex == 1">
<view class="section6 row">
<view class="section6-type1" @tap.stop="total('call',item)">{{i18n.order.lianxi}}</view>
<view v-if="item.type == 4 || item.type == 5" class="section6-type2" @tap.stop="StartService(item)">
{{i18n.order.kaishifuwu}}
</view>
<view class="section6-type2" style="width: calc(30% - 58px);" @tap.stop="transferOrder(item)">{{i18n.order.zhuandan}}</view>
<view class="section6-type2" style="width: calc(70% - 58px);" @tap.stop="pickSure(item)">{{i18n.order.querenqujian}}</view>
<view v-if="item.type == 3" class="section6-type2" @tap.stop="BuySure(item)">
{{i18n.order.querengoumai}}</view>
</view>
</block>
<!-- 确认送达 服务完成 -->
<block v-if="selectedIndex == 2">
<view class="section6 row">
<view class="section6-type1" @tap.stop="total('call',item)">{{i18n.order.lianxi}}</view>
<view v-if="item.type == 4 || item.type == 5" class="section6-type2"
@tap.stop="serviceCompleted(item)">{{i18n.order.fuwuwancheng}}</view>
<view v-else class="section6-type2" @tap.stop="serviceCompleted(item)">{{i18n.set.tupianshangchuan}}
</view>
</view>
</block>
</view>
</view>
</template>
<script>
export default {
props: {
selectedIndex: {
type: Number,
default: 0
},
// list: {
// type: Array,
// default: []
// }
},
computed: {
i18n() {
return this.$t('index')
},
},
data() {
return {
list: [],
searchStr:'',
conditionList:[],
data:{},
isOnLine:uni.getStorageSync('isOnLine'),
signPerson:uni.getStorageSync('signPerson') || ''
}
},
filters:{
splitStr(str){
var data
if(str.indexOf(" ") != -1){
data = str.split(" ")[0]
}else{
data = str
}
return data
},
splitStr1(str){
var data
if(str.indexOf(" ") != -1){
data = str.split(" ")[3]
}else{
data = str
}
return data
},
orderSplit(str){
return str.slice(-4);
}
},
created() {
console.log(this.signPerson)
},
methods: {
reload(list) {
this.list = list
console.log('list', list)
this.$forceUpdate()
},
//服务完成
serviceCompleted(item) {
this.$emit('serviceCompleted', item)
},
//拒绝接单
RefuseOrders(item) {
this.$emit('RefuseOrders', item)
},
//接单
GrabOrder(item) {
this.$emit('GrabOrder', item)
},
//去详情
gotomapdetail(item) {
// if (item.istrans == 0){
this.$emit('gotomapdetail', item)
// }
},
//开始服务-完成服务
StartService(item) {
this.$emit('StartService', item)
},
pickSure(item) {
this.$emit('StartService', item)
},
BuySure(item) {
this.$emit('StartService', item)
},
closePopup(){
this.$refs.popup.close()
},
total(type,item){
if(type == 'call'){
this.callData = item;
this.$refs.callPopup.open()
}else if(type=='address'){
this.addressData = item;
this.$refs.addressPopup.open()
}else if(type == 'online'){
this.$refs.onlinePopup.open()
}
},
//联系
connect(type) {
var phone;
if(type=='dCall'){
phone = this.callData.mobile + ''
}else{
phone = this.callData.transCompanyPhone + ''
}
uni.makePhoneCall({
phoneNumber: phone,
success: (res) => {
},
// 失败回调
fail: (res) => {
console.log('调用失败!', JSON.stringify(res))
}
})
},
searchLbg(){
console.log('变化',this.searchStr)
this.getCondition();
},
//跳转导航
navigation(item) {
if (this.selectedIndex == 1) {
if (item.type == 1 || item.type == 2 || item.type == 3) {
this.openLocation('__UNI__7350749', item.f_lng, item.f_lat, item.f_name)
} else {
this.openLocation('__UNI__7350749', item.t_lng, item.t_lat, item.t_name)
}
} else {
this.openLocation('__UNI__7350749', item.t_lng, item.t_lat, item.t_name)
}
},
//一键复制地址
getAddress(type){
console.log('地址',this.addressData)
let data;
if(type == 'send'){
data = this.addressData.shopName+'-'+this.addressData.mobile+'-河北省沧州市运河区明珠商贸城'+this.addressData.getOrderAddress
}else{
data = this.addressData.orderAddress.split('-')[1] +'-'+ this.addressData.userName + this.addressData.userMobile
}
uni.setClipboardData({
data:data,
success: function () {
uni.showToast({
title: "复制成功",
icon: 'none'
})
}
});
},
//转单
transferOrder(data){
console.log('转单',data)
this.data = data
this.getCondition();
this.$refs.popup.open('center')
},
//点击拉包工转单
transOrder(item){
this.NB.sendRequest('/order/ow/transferOrder', {
orderId:this.data.orderId,
orderByWorker:item.workerId,
workerName:item.workerName
}, false, 'POST', 'application/json').then(data => {
uni.showToast({
title: data.message,
icon: 'none'
});
this.closePopup();
})
},
getCondition(){
this.NB.sendRequest('/worker/getByCondition', {
ownerCompany: uni.getStorageSync('ownerCompany'), //公司id,如果是快递公司,才需要传
searchStr: this.searchStr,
pageNum: 1,
pageSize: 10
}, false, 'POST', 'application/json').then(data => {
this.conditionList = data.result.content
})
},
openLocation(appid, lng, lat, name) {
var farray = this.NB.wgs84togcj02(lng, lat)
lng = farray[0]
lat = farray[1]
console.log(farray)
uni.openLocation({
latitude: parseFloat(lat),
longitude: parseFloat(lng),
success: function() {
console.log('success');
},
fail(err) {
console.log(err);
}
});
}
}
}
</script>
<style>
@import url("./index.css");
</style>