<template>
|
|
<uv-popup ref="popup" :round="10">
|
|
<view class="companion-popup" v-if="type == 0">
|
|
<view class="popup-header">
|
|
<text class="popup-title">是否指定之前服务过的伴宠师</text>
|
|
<view class="popup-close" @click="close">
|
|
<uni-icons type="close" size="20" color="#999"></uni-icons>
|
|
</view>
|
|
</view>
|
|
<view class="popup-content">
|
|
<view class="option-item" @click="selectOption('yes')">
|
|
<text class="option-text">是</text>
|
|
<view class="option-circle" :class="{'selected': selectedOption === 'yes'}">
|
|
<view class="option-inner" v-if="selectedOption === 'yes'"></view>
|
|
</view>
|
|
</view>
|
|
<view class="option-item" @click="selectOption('no')">
|
|
<text class="option-text">否</text>
|
|
<view class="option-circle" :class="{'selected': selectedOption === 'no'}">
|
|
<view class="option-inner" v-if="selectedOption === 'no'"></view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
<view class="companion-popup" v-else>
|
|
<view class="popup-header">
|
|
<text class="popup-title">请选择您喜欢的下单方式</text>
|
|
<view class="popup-close" @click="close">
|
|
<uni-icons type="close" size="20" color="#999"></uni-icons>
|
|
</view>
|
|
</view>
|
|
<view class="popup-content">
|
|
<view class="option-item" @click="selectOption('yes')">
|
|
<text class="option-text">系统下单</text>
|
|
<view class="option-circle" :class="{'selected': selectedOption === 'yes'}">
|
|
<view class="option-inner" v-if="selectedOption === 'yes'"></view>
|
|
</view>
|
|
</view>
|
|
<view class="option-item" @click="selectOption('no')">
|
|
<text class="option-text">指定伴宠师</text>
|
|
<view class="option-circle" :class="{'selected': selectedOption === 'no'}">
|
|
<view class="option-inner" v-if="selectedOption === 'no'"></view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</uv-popup>
|
|
</template>
|
|
|
|
<script>
|
|
export default {
|
|
data() {
|
|
return {
|
|
selectedOption: '',
|
|
type : 0,
|
|
}
|
|
},
|
|
methods: {
|
|
// 打开弹窗
|
|
open() {
|
|
this.selectedOption = '';
|
|
this.type = 0;
|
|
this.$refs.popup.open('bottom');
|
|
},
|
|
|
|
// 关闭弹窗
|
|
close() {
|
|
this.$refs.popup.close();
|
|
},
|
|
// 选择选项
|
|
selectOption(option) {
|
|
this.selectedOption = option;
|
|
|
|
if(this.type == 1){
|
|
if (option === 'yes') {
|
|
this.close();
|
|
setTimeout(() => {
|
|
uni.navigateTo({
|
|
url: '/pages/newOrder/serviceNew'
|
|
});
|
|
}, 300);
|
|
} else if (option === 'no') {
|
|
this.close();
|
|
setTimeout(() => {
|
|
uni.navigateTo({
|
|
url: '/pages/companionPetList/companionPetList'
|
|
});
|
|
}, 300);
|
|
}
|
|
return
|
|
}
|
|
|
|
// 如果选择"是",跳转到伴宠师选择页面
|
|
if (option === 'yes') {
|
|
this.close();
|
|
setTimeout(() => {
|
|
uni.navigateTo({
|
|
url: '/pages_order/order/companionSelect'
|
|
});
|
|
}, 300);
|
|
} else if (option === 'no') {
|
|
this.type = 1;
|
|
this.selectedOption = '';
|
|
}
|
|
}
|
|
}
|
|
}
|
|
</script>
|
|
|
|
<style lang="scss" scoped>
|
|
.companion-popup {
|
|
position: relative;
|
|
background-color: #FFFFFF;
|
|
border-radius: 20rpx;
|
|
|
|
.popup-header {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
padding: 30rpx 20rpx;
|
|
position: relative;
|
|
|
|
.popup-title {
|
|
font-size: 32rpx;
|
|
font-weight: bold;
|
|
color: #333;
|
|
text-align: center;
|
|
}
|
|
|
|
.popup-close {
|
|
position: absolute;
|
|
right: 20rpx;
|
|
top: 30rpx;
|
|
}
|
|
}
|
|
|
|
.popup-content {
|
|
padding: 20rpx 30rpx 50rpx;
|
|
|
|
.option-item {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
height: 100rpx;
|
|
border-radius: 10rpx;
|
|
background-color: #F8F8F8;
|
|
margin-bottom: 20rpx;
|
|
padding: 0 30rpx;
|
|
|
|
// &:first-child {
|
|
// background-color: #FFF9E6;
|
|
|
|
// .option-text {
|
|
// color: #FFAA48;
|
|
// }
|
|
// }
|
|
|
|
&:last-child {
|
|
margin-bottom: 0;
|
|
}
|
|
|
|
.option-text {
|
|
font-size: 28rpx;
|
|
color: #333;
|
|
}
|
|
|
|
.option-circle {
|
|
width: 36rpx;
|
|
height: 36rpx;
|
|
border-radius: 50%;
|
|
border: 2rpx solid #DDDDDD;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
|
|
&.selected {
|
|
border-color: #FFAA48;
|
|
}
|
|
|
|
.option-inner {
|
|
width: 24rpx;
|
|
height: 24rpx;
|
|
border-radius: 50%;
|
|
background-color: #FFAA48;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
</style>
|