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.
 
 
 
 
 

733 lines
20 KiB

<template>
<view class="page1">
<view class="title">
<view class="title-sreach">
<view style="position: absolute;display: flex;" :style="{'top': menuButtonInfo.top +'px'}">
<view class="sort-member" style="width: 260rpx;">
<view class="tab1">
<view class="tabs1" @tap="checkTab1('daiqu')"
:style="{'color':tab1Checked == 'daiqu'?'#000':'#777','font-size':tab1Checked== 'daiqu'?'36rpx':'30rpx'}">
待取货
<img v-if="tab1Checked == 'daiqu'"
src="https://jewel-shop.oss-cn-beijing.aliyuncs.com/4bb5fc7725cb4a7a84d1d3a15f05b39c.png"
alt=""
style="width: 120rpx;height: 12rpx;position: absolute;bottom: 4rpx;left: 30rpx;" />
</view>
<view class="tabs1" @tap="checkTab1('daisong')"
:style="{'color':tab1Checked == 'daisong'?'#000':'#777','font-size':tab1Checked== 'daisong'?'36rpx':'30rpx'}">
待送达
<img v-if="tab1Checked == 'daisong'"
src="https://jewel-shop.oss-cn-beijing.aliyuncs.com/4bb5fc7725cb4a7a84d1d3a15f05b39c.png"
alt=""
style="width: 80rpx;height: 14rpx;position: absolute;bottom: 4rpx;left: 32rpx;" />
</view>
</view>
</view>
</view>
</view>
</view>
<view style="height: 50rpx;width: 95%;margin: -200rpx auto 0;display: flex;line-height: 50rpx;">
<view class="guize-box" @tap="openPopup()">
<uni-icons type="info" size="10"></uni-icons>
设置规则
</view>
<view class="">
<view @tap="changeOnline(0)" class="shangxia-btn shangxian-btn" v-if="isOnLine==1">
<text>已上线</text>
</view>
<view @tap="changeOnline(1)" class="shangxia-btn lixian-btn" v-else>
<text>已离线</text>
</view>
</view>
</view>
<view class="content">
<view class="box1">
<view class="maotou">
#<text>021</text>
</view>
<view style="width: 100%;line-height: 70rpx;font-size: 28rpx;font-weight: 700;display: flex;">
<view
style="height: 40rpx;line-height: 40rpx;background: rgba(255, 233, 89, 1);padding: 0 16rpx;border-radius: 40rpx;margin: 14rpx 20rpx 0 0;">
代买饭
</view>
<!-- <view style="height: 40rpx;line-height: 40rpx;background: rgba(166, 255, 234, 1);padding: 0 16rpx;border-radius: 40rpx;margin: 14rpx 20rpx 0 0;">
指派单-代买饭
</view>
<view style="height: 40rpx;line-height: 40rpx;background: rgba(255, 220, 199, 1);padding: 0 16rpx;border-radius: 40rpx;margin: 14rpx 20rpx 0 0;">
代取快递
</view>
<view style="height: 40rpx;line-height: 40rpx;background: rgba(130, 255, 130, 1);padding: 0 16rpx;border-radius: 40rpx;margin: 14rpx 20rpx 0 0;">
代跑腿
</view> -->
立即送达(10:30前)
</view>
<view class=""
style="background: #f5f5f5;height: 80rpx;line-height: 80rpx;font-weight: 500;padding: 0 20rpx;border-radius: 20rpx;">
备注:不要葱,不要香菜
</view>
<view class=""
style="background: #f5f5f5;line-height: 80rpx;font-weight: 700;padding: 0 20rpx;border-radius: 20rpx;margin-top: 20rpx;color: #777;">
<view style="display: flex;">
<view style="flex:1">
取件方式(3件)
</view>
<!-- <view class="">
取件码截图
</view>
<view class="">
取件码取件
</view> -->
<view style="flex:1;text-align: right;">
手机尾号
</view>
</view>
<view style="display: flex;padding: 20rpx 0;">
<img @tap="largeImg" src="https://jewel-shop.oss-cn-beijing.aliyuncs.com/1f77398a73454a6595c12a3c18731599.png" alt="" style="width: 90rpx;height: 106rpx;background-size: 100%;margin-right:20rpx;"/>
</view>
<!-- <view style="display: flex;padding: 10px 0;">
<view class="code-box" style="margin-right:10px;">
1-3-1290
</view>
</view> -->
<!-- <view style="display: flex;padding: 10px 0;">
<view class="code-box">
手机尾号 - 5741
</view>
</view> -->
</view>
<view style="display: flex;border-radius: 20rpx;margin-top: 32rpx;">
<view class="goods-content">
<view class="goods-name" style="font-size: 24rpx;line-height: 50rpx;display: flex;">
<img src="https://jewel-shop.oss-cn-beijing.aliyuncs.com/1f77398a73454a6595c12a3c18731599.png"
alt="" style="width: 50rpx;height: 50rpx;" />
<view style="flex: 1;">
<view class="">
沁园春第三食堂A20窗口
</view>
<view style="color: #777;">
18829382718
</view>
</view>
<view class="right">
<img @tap="makeCall(shopItem.contactPhone)"
src="https://jewel-shop.oss-cn-beijing.aliyuncs.com/869a7af6a1c24bf3a0d523c4a18b55c6.png"
alt="" style="width: 60rpx;height: 60rpx;" />
</view>
</view>
<view class="goods-name"
style="font-size: 24rpx;line-height: 50rpx;display: flex;margin-top: 14rpx;">
<img src="https://jewel-shop.oss-cn-beijing.aliyuncs.com/d0764fb4138747769538cf1cafa3b017.png"
alt="" style="width: 50rpx;height: 50rpx;" />
<view style="flex: 1;">
<view class="">
11号宿舍楼610
</view>
<view style="color: #777;">
18829382718
</view>
</view>
<view class="right">
<img @tap="makeCall(shopItem.contactPhone)"
src="https://jewel-shop.oss-cn-beijing.aliyuncs.com/869a7af6a1c24bf3a0d523c4a18b55c6.png"
alt="" style="width: 60rpx;height: 60rpx;" />
</view>
</view>
</view>
</view>
<view style="display: flex;border-radius: 20rpx;margin-top: 10rpx;">
<view class="goods-content">
<view class="goods-name" style="font-size: 24rpx;line-height: 50rpx;display: flex;">
<img src="" alt="" style="width: 50rpx;height: 50rpx;" />
<view style="flex: 1;display: flex;">
<view style="color: #777;display: flex;">
配送佣金
<view class="chaoda">
超大/超重
</view>
</view>
<view style="flex: 1;text-align: right;">
¥5.00 <text style="color: #777;font-size: 20rpx;">(包含¥2平台佣金)</text>
</view>
</view>
</view>
</view>
</view>
<view style="width: 100%;height: 100rpx;margin-top: 32rpx;">
<img src="https://jewel-shop.oss-cn-beijing.aliyuncs.com/c318cf292a4f40b296995c30e5e539ea.png"
alt="" style="width: 100%;height: 100rpx;background-size: 100%;" />
</view>
</view>
<!-- 设置指派单规则弹窗 -->
<uni-popup ref="carPopup" background-color="#fff" style="height: 1600rpx !important;">
<view class="guize-list">
<view style="height: 80rpx;line-height: 80rpx;font-size: 36rpx;font-weight: 700;text-align: center;">
设置指派单规则
</view>
<view class="zhipai-box">
接受指派单
<view class="zhipai">
<switch :checked="zhipaiCheck" @change="zhipaiChange"
style="transform: scale(0.7);text-align: right;" />
</view>
</view>
<view style="height: 50rpx;line-height: 50rpx;font-weight: 700;display: flex;">
外卖规则
<view @tap="allCheck('waimai')" v-if="zhipaiCheck" style="color: #1E90FF;flex:1;text-align: right;padding-right: 20rpx;">
全选
</view>
</view>
<view class="guize1" v-for="(item, index) in waimaRuleList" :key="index"
style="flex-direction: column; padding-bottom: 20rpx; border-bottom: 1px solid #ddd;position: relative;">
<view v-if="!zhipaiCheck" style="position: absolute;top: 0;left: 0;width: 100%;height: 100%;background: rgba(255, 255, 255, 0.5);"></view>
<view style="display: flex; width: 100%;" @tap="checkVoucher(index,'waimai')">
<view class="guize1-qusong">
<view class="qusong1">
</view>
<view class="qusong2">
{{item.getAreaName}}
</view>
</view>
<view class="guize1-qusong">
<view class="qusong1">
</view>
<view class="qusong2" style="background: rgba(209, 206, 255, 1);">
{{item.putAreaName}}
</view>
</view>
<view class="radio-check" v-if="item.isChecked">
<uni-icons type="checkmarkempty" size="12"></uni-icons>
</view>
<view class="radio-no-check" v-else></view>
<!-- <uni-icons type="closeempty" size="20" @click="selectRule(item)" color="#ff0000"
style="margin-left:5px;"></uni-icons> -->
</view>
</view>
<view style="height: 50rpx;line-height: 50rpx;font-weight: 700;display: flex;">
跑腿规则
<view @tap="allCheck('paotui')" v-if="zhipaiCheck" style="color: #1E90FF;flex:1;text-align: right;padding-right: 20rpx;">
全选
</view>
</view>
<view class="guize1" v-for="(item, index) in paotuiRuleList" :key="index"
style="flex-direction: column; padding-bottom: 20rpx; border-bottom: 1px solid #ddd;position: relative;">
<view v-if="!zhipaiCheck" style="position: absolute;top: 0;left: 0;width: 100%;height: 100%;background: rgba(255, 255, 255, 0.5);"></view>
<view style="display: flex; width: 100%;" @tap="checkVoucher(index,'paotui')">
<view class="guize1-qusong">
<view class="qusong1">
</view>
<view class="qusong2">
{{item.getAreaName}}
</view>
</view>
<view class="guize1-qusong">
<view class="qusong1">
</view>
<view class="qusong2" style="background: rgba(209, 206, 255, 1);">
{{item.putAreaName}}
</view>
</view>
<view class="radio-check" v-if="item.isChecked">
<uni-icons type="checkmarkempty" size="12"></uni-icons>
</view>
<view class="radio-no-check" v-else></view>
<!-- <uni-icons type="closeempty" size="20" @click="selectRule(item)" color="#ff0000"
style="margin-left:5px;"></uni-icons> -->
</view>
</view>
<view class="btn" @tap="selectRule">
确认修改
</view>
</view>
</uni-popup>
<!-- 查看大图弹出层 -->
<uni-popup ref="imgPopup" background-color="#fff">
<view class="img-popup-content">
<img :src="bigImg" alt="" style="width: 100%;height: 100%;">
</view>
</uni-popup>
<view style="width: 100%;height: 160rpx;"></view>
<uni-load-more :status="loadStatus" />
</view>
</view>
</template>
<script>
export default {
data() {
return {
isOnLine:1,
bigImg:'',
zhipaiCheck: false,
tab1Checked: 'daiqu',
menuButtonInfo: {},
isArea: false,
waimaRuleList: [],
selectRuleList: [],
paotuiRuleList: [],
lineStatus: [{
title: '上线',
value: 0
},
{
title: '下线',
value: 1
}
]
}
},
props: {
},
watch: {
},
onReachBottom() {
if (this.searchForm.pageNumber >= this.totalPages) return;
// this.status = 'loading';
this.searchForm.pageNumber++;
this.getShopList();
},
methods: {
init() {
console.log("配送初始化")
this.menuButtonInfo = uni.getMenuButtonBoundingClientRect()
this.isOnLine = uni.getStorageSync('worker').isOnLine
this.$forceUpdate()
},
//查看大图
largeImg(img) {
this.bigImg = 'https://jewel-shop.oss-cn-beijing.aliyuncs.com/00b1f011787c4549bbea650d95a4eb39.png'
this.$refs.imgPopup.open()
},
zhipaiChange(e) {
this.zhipaiCheck = e.detail.value
},
checkVoucher(index,type) {
if (type == 'waimai'){
this.waimaRuleList[index].isChecked = !this.waimaRuleList[index].isChecked
}else{
this.paotuiRuleList[index].isChecked = !this.paotuiRuleList[index].isChecked
}
},
selectRule(item) {
//TODO 这里应该改成 复选,选中的遍历再放进来
// let rule = {
// id: item.id,
// getPushOrder: 1
// }
// this.selectRuleList.push(rule)
this.selectRuleList = []
this.waimaiData = []
this.kuaidiData = []
for(let i=0;i<this.waimaRuleList.length;i++){
if(this.waimaRuleList[i].isChecked){
let rule = {
id: this.waimaRuleList[i].id,
getPushOrder: 1
}
this.selectRuleList.push(rule)
this.waimaiData.push(this.waimaRuleList[i])
}
}
for(let i=0;i<this.paotuiRuleList.length;i++){
if(this.paotuiRuleList[i].isChecked){
let rule = {
id: this.paotuiRuleList[i].id,
getPushOrder: 1
}
this.selectRuleList.push(rule)
this.kuaidiData.push(this.paotuiRuleList[i])
}
}
let submitData = {
userId: uni.getStorageSync('id'),
workerRelaPriceList: this.selectRuleList,
getPushOrder: this.zhipaiCheck?1:0
};
this.tui.request('/app/workerRelaPrice/batchUpdate', 'post', submitData).then(res => {
uni.hideLoading();
if (res.code == 200) {
let worker = uni.getStorageSync('worker') || {}; // 避免取不到时出错
worker.getPushOrder = this.zhipaiCheck ? 1 : 0;
uni.setStorageSync('worker', worker);
uni.setStorageSync('waimaiData',this.waimaiData)
uni.setStorageSync('kuaidiData',this.kuaidiData)
if(this.zhipaiCheck == false){
uni.removeStorageSync('waimaiData')
uni.removeStorageSync('kuaidiData')
}
uni.showToast({
title: '设置成功'
});
} else {
uni.showToast({
title: res.message,
icon: 'none'
});
}
}).catch(err => {
uni.hideLoading();
});
},
allCheck(type){
let data = []
if(type=='waimai'){
data = this.waimaRuleList
}else{
data = this.paotuiRuleList
}
for(let i=0;i<data.length;i++){
data[i].isChecked = true
}
},
openPopup() {
let that = this
that.tui.request("/app/workerRelaPrice/getByWorkerId?workerId=" + uni.getStorageSync('worker').workerId,
"GET", {}, false, true).then((res) => {
if (res.code == 200) {
if (res.result != null) {
let data = res.result;
let list = data.workerRelaPriceList || [];
for(let i=0;i<list.length;i++){
list[i].isChecked = false
}
let waimaList = list.filter(item => item.orderType == 0);
let paotuiList = list.filter(item => item.orderType == 1);
if (waimaList.length > 0) {
that.waimaRuleList = waimaList;
}
if (paotuiList.length > 0) {
that.paotuiRuleList = paotuiList;
}
that.$forceUpdate();
}
this.zhipaiCheck = uni.getStorageSync('worker').getPushOrder==1?true:false
if(uni.getStorageSync('waimaiData')){
let waimaiData = uni.getStorageSync('waimaiData')
for(let i=0;i<waimaiData.length;i++){
for(let m=0;m<that.waimaRuleList.length;m++){
if(waimaiData[i].id == that.waimaRuleList[m].id){
that.waimaRuleList[m].isChecked = true
}
}
}
}
if(uni.getStorageSync('kuaidiData')){
let kuaidiData = uni.getStorageSync('kuaidiData')
for(let i=0;i<kuaidiData.length;i++){
for(let m=0;m<that.paotuiRuleList.length;m++){
if(kuaidiData[i].id == that.paotuiRuleList[m].id){
that.paotuiRuleList[m].isChecked = true
}
}
}
}
this.$refs.carPopup.open()
} else {
that.tui.toast(res.message)
return
}
}).catch((res) => {})
},
checkArea() {
this.isArea = !this.isArea
},
checkTab1(type) {
this.tab1Checked = type
},
changeOnline(value) {
let url = ''
if (value == 0) {
url = '/worker/onLine'
} else {
url = '/worker/offLine'
}
this.tui.request(url, "POST", {
id: uni.getStorageSync('worker').workerId
}, false, true).then((res) => {
if (res.code == 200) {
let worker = uni.getStorageSync('worker') || {}; // 避免取不到时出错
worker.isOnLine = value;
this.isOnLine = value
uni.setStorageSync('worker', worker);
this.tui.toast(res.message)
} else {
this.tui.toast(res.message)
}
})
this.isArea = !this.isArea
this.$forceUpdate()
},
ceshi(e) {
console.log("11111111", e)
if (e.detail.code) {
// 将 code 发送给后端
this.tui.request("/social/wechat/getPhone", "POST", {
code: e.detail.code
}, false, true).then((res) => {
if (res.code == 200) {
} else {
this.tui.toast(res.message)
}
})
} else {
// 用户拒绝授权
console.log('用户取消授权');
}
}
}
}
</script>
<style>
page {
width: 100%;
height: 100%;
font-size: 24rpx;
background: #F5F8F5;
color: #00231C;
}
.page1 {
width: 100%;
height: 100%;
font-size: 24rpx;
position: relative;
display: flex;
flex-direction: column;
}
.title {
background: url('https://jewel-shop.oss-cn-beijing.aliyuncs.com/8bc15960c2dc40268e295d6dd23aecce.png') no-repeat;
width: 100%;
height: 380rpx;
}
.title-sreach {
width: 100%;
display: flex;
height: 200rpx;
position: relative;
}
.sort-member {
line-height: 60rpx;
text-align: center;
height: 60rpx;
}
.tab1 {
height: 60rpx;
line-height: 60rpx;
display: flex;
}
.tabs1 {
position: relative;
font-size: 30rpx;
font-weight: 700;
color: #777;
flex: 1;
}
.content {
flex: 1;
width: 95%;
overflow-y: auto;
-webkit-overflow-scrolling: touch;
margin: 20rpx auto 0;
}
.box1 {
width: 100%;
margin: 20rpx auto 20rpx;
background: #fff;
border-radius: 20rpx;
padding: 20rpx;
position: relative;
}
.goods-content {
flex: 1;
}
.goods-name {
font-size: 32rpx;
font-weight: 900;
}
.maotou {
width: 90rpx;
background: url('https://jewel-shop.oss-cn-beijing.aliyuncs.com/a1584a13e9db4b6fbcc66890219d0018.png') no-repeat;
height: 90rpx;
background-size: 100%;
position: absolute;
top: -20rpx;
right: 20rpx;
text-align: center;
line-height: 90rpx;
font-weight: 900;
font-size: 24rpx;
}
.right {
width: 60rpx;
padding-top: 20rpx;
}
.guize-list {
width: 600rpx;
padding: 20rpx;
overflow: scroll;
background: #fff;
border-radius: 20rpx;
max-height: 1000rpx;
}
.zhipai-box {
display: flex;
height: 100rpx;
line-height: 100rpx;
font-size: 32rpx;
font-weight: 700;
border-bottom: 1px solid #eee;
}
.zhipai {
flex: 1;
text-align: right;
}
.radio-check {
background: linear-gradient(90deg, rgba(227, 255, 150, 1), rgba(166, 255, 234, 1));
width: 48rpx;
height: 48rpx;
border-radius: 48rpx;
text-align: center;
line-height: 48rpx;
margin: 16rpx 20rpx 0 0;
}
.radio-no-check {
width: 48rpx;
height: 48rpx;
border-radius: 48rpx;
border: 1px solid #eee;
margin: 16rpx 20rpx 0 0;
}
.guize1-qusong {
display: flex;
flex: 1;
padding-top: 20rpx;
}
.guize1 {
display: flex;
}
.qusong1 {
width: 40rpx;
height: 40rpx;
background: rgba(0, 35, 28, 1);
color: #fff;
border-radius: 40rpx;
text-align: center;
line-height: 40rpx;
font-size: 20rpx;
z-index: 80;
}
.qusong2 {
height: 40rpx;
font-size: 24rpx;
line-height: 38rpx;
text-align: center;
background: rgba(166, 255, 234, 0.5);
padding: 0 20rpx;
margin-left: -10rpx;
font-weight: 700;
border-top-right-radius: 40rpx;
border-bottom-right-radius: 40rpx;
}
.qusong3 {
width: 190rpx;
height: 70rpx;
background: #fff;
border-radius: 10rpx;
padding: 10rpx 20rpx;
flex: 1;
}
.btn {
width: 95%;
height: 100rpx;
font-size: 32rpx;
font-weight: 700;
background: linear-gradient(90deg, rgba(227, 255, 150, 1), rgba(166, 255, 234, 1));
border-radius: 100rpx;
line-height: 100rpx;
text-align: center;
margin: 40rpx auto;
}
.code-box{
display: inline-block;
height: 32rpx;
line-height: 32rpx;
background: rgba(166, 255, 234, 0.4);
padding: 0 20rpx;
border-radius: 10rpx;
color: #000;
border: 1px solid rgba(2, 251, 221, 1);
}
.img-popup-content {
width: 500rpx;
height: 500rpx;
}
.chaoda{
height: 30rpx;
line-height: 30rpx;
margin: 10rpx 0 0 20rpx;
padding: 0 10rpx;
background: rgba(255, 117, 88, 1);
color: #fff;
border-radius: 10rpx;
}
.shangxian-btn{
background: url('https://jewel-shop.oss-cn-beijing.aliyuncs.com/7620b3eed7b14bb69d3c456ed0be72b3.png') no-repeat;
padding-left: 16rpx;
}
.lixian-btn{
background: url('https://jewel-shop.oss-cn-beijing.aliyuncs.com/462cacb9682f4919a3e750700bbc5f3e.png') no-repeat;
text-align: right;
padding-right: 16rpx;
}
.shangxia-btn{
width: 132rpx;
height: 50rpx;
background-size: 100%;
font-size: 20rpx;
font-weight: 700;
}
.guize-box{
font-size: 20rpx;
font-weight: 700;
background: rgba(166, 255, 234, 1);
width: 140rpx;
height: 50rpx;
border-radius: 50rpx;
margin-right: 20rpx;
padding-left: 10rpx;
}
</style>