<template>
|
|
<!-- 修改营业时间弹框 -->
|
|
<uv-overlay :show="show" @click="close">
|
|
<view class="warp">
|
|
<view class="rect" @tap.stop>
|
|
<view class="title">修改营业时间</view>
|
|
<view class="center">
|
|
<view style="display: flex;justify-content: space-around;">
|
|
<view>上班时间:</view>
|
|
<view @click="startDateOpen()">
|
|
{{ startTime }}
|
|
<uv-datetime-picker ref="startDateRef" v-model="startTime" mode="time"
|
|
@confirm="startDateChange()"></uv-datetime-picker>
|
|
</view>
|
|
</view>
|
|
|
|
<view style="display: flex;justify-content: space-around;">
|
|
<view>下班时间:</view>
|
|
<view @click="endDateOpen()">
|
|
{{ endTime }}
|
|
<uv-datetime-picker style="z-index: 999;" ref="endDateRef" v-model="endTime" mode="time"
|
|
@confirm="endDateChange()"></uv-datetime-picker>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
<view class="bottom">
|
|
<view>
|
|
<uv-button type="info" shape="circle" text="取消" :custom-style="customStyle1"
|
|
@click="close"></uv-button>
|
|
</view>
|
|
<view>
|
|
<uv-button type="info" shape="circle" text="确定" :custom-style="customStyle2"
|
|
@click="confirm"></uv-button>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</uv-overlay>
|
|
</template>
|
|
|
|
<script>
|
|
import {
|
|
mapGetters,
|
|
mapState,
|
|
} from 'vuex'
|
|
import dayjs from '../../uni_modules/uv-ui-tools/libs/util/dayjs';
|
|
export default {
|
|
data() {
|
|
return {
|
|
show: false,
|
|
startTime: dayjs(new Date()).format("HH:mm"),
|
|
endTime: dayjs(new Date()).format("HH:mm")
|
|
}
|
|
},
|
|
computed: {
|
|
...mapGetters(['userShop']),
|
|
...mapState(['userInfo']),
|
|
customStyle1() {
|
|
return {
|
|
height: '60rpx',
|
|
background: '#FFF',
|
|
color: '#000000',
|
|
fontSize: '36rpx',
|
|
borderRadius: '40rpx', //圆角
|
|
|
|
// nvue中必须是下方的写法
|
|
'border-top-right-radius': '40rpx',
|
|
'border-bottom-left-radius': '40rpx',
|
|
'border-bottom-right-radius': '40rpx',
|
|
'width': '150rpx',
|
|
}
|
|
},
|
|
customStyle2() {
|
|
return {
|
|
height: '60rpx',
|
|
background: '#fd5100',
|
|
color: '#FFF',
|
|
fontSize: '34px',
|
|
borderRadius: '40rpx', //圆角
|
|
// nvue中必须是下方的写法
|
|
'border-top-right-radius': '40rpx',
|
|
'border-bottom-left-radius': '40rpx',
|
|
'border-bottom-right-radius': '40rpx',
|
|
'width': '150rpx',
|
|
}
|
|
}
|
|
},
|
|
onShow() {
|
|
this.$store.commit('getUserInfo')
|
|
|
|
},
|
|
methods: {
|
|
|
|
startDateChange(val) {
|
|
this.$nextTick(() => {
|
|
this.startTime = val.value
|
|
});
|
|
},
|
|
startDateOpen() {
|
|
this.$refs.startDateRef.open();
|
|
},
|
|
endDateChange(val) {
|
|
this.$nextTick(() => {
|
|
this.endTime = val.value
|
|
});
|
|
},
|
|
endDateOpen() {
|
|
this.$refs.endDateRef.open();
|
|
},
|
|
|
|
|
|
open() {
|
|
this.show = true
|
|
this.startTime = this.userInfo.shop.jobTime.split("-")[0]
|
|
this.endTime = this.userInfo.shop.jobTime.split("-")[1]
|
|
},
|
|
close() {
|
|
this.show = false
|
|
},
|
|
confirm() {
|
|
this.show = false
|
|
|
|
this.$api('updateJobTime', {
|
|
time: this.startTime + '-' + this.endTime
|
|
}, res => {
|
|
if (res.code == 200) {
|
|
this.$store.commit('getUserInfo')
|
|
uni.showToast({
|
|
icon: 'success',
|
|
title: '修改营业时间成功',
|
|
duration: 1500
|
|
})
|
|
}
|
|
})
|
|
},
|
|
}
|
|
}
|
|
</script>
|
|
|
|
<style scoped lang="scss">
|
|
.uv-popup {
|
|
z-index: 999;
|
|
}
|
|
|
|
.warp {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
height: 100%;
|
|
|
|
}
|
|
|
|
.rect {
|
|
width: 600rpx;
|
|
height: 300rpx;
|
|
background-color: #fff;
|
|
border-radius: 20rpx;
|
|
overflow: hidden;
|
|
|
|
.title {
|
|
padding: 10rpx 0 0 15rpx;
|
|
background-color: #fd5100;
|
|
color: #FFF;
|
|
text-align: left;
|
|
width: 100%;
|
|
height: 18%;
|
|
font-size: 36rpx;
|
|
}
|
|
|
|
.center {
|
|
height: 50%;
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 20rpx;
|
|
// justify-content: center;
|
|
// align-items: center;
|
|
font-size: 36rpx;
|
|
padding: 20rpx 50rpx 0 50rpx;
|
|
}
|
|
|
|
.bottom {
|
|
display: flex;
|
|
justify-content: center;
|
|
gap: 50rpx;
|
|
}
|
|
}
|
|
</style>
|