153 lines
3.6 KiB
Vue
153 lines
3.6 KiB
Vue
<template>
|
||
<view class="businessStatus-container">
|
||
<view class="business-contetn">
|
||
<view class="title">营业状态</view>
|
||
<view class="business-box">
|
||
<view class="business-status">
|
||
<view class="status-name">店铺正常营业中</view>
|
||
<view class="business-time">
|
||
营业时间:{{ dashboardInfo.store_info.info.store_opening_hours }} -
|
||
{{ dashboardInfo.store_info.info.store_close_hours }}
|
||
</view>
|
||
</view>
|
||
<u-switch
|
||
v-model="dashboardInfo.store_info.store_biz_state"
|
||
activeColor="#5ac725"
|
||
inactiveColor="#f56c6c"
|
||
:activeValue="1"
|
||
:inactiveValue="2"
|
||
@change="handerUpdateStoreBizState"
|
||
></u-switch>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
</template>
|
||
|
||
<script>
|
||
import { GetAccountDashboard } from "../../api/user";
|
||
import { UpdateStoreBizState } from "../../api/store";
|
||
export default {
|
||
data() {
|
||
return {
|
||
dashboardInfo: {
|
||
data: {},
|
||
notice: {},
|
||
order: {
|
||
yestoday_num: 0,
|
||
},
|
||
product: {
|
||
illegal_num: 0,
|
||
normal_num: 0,
|
||
off_num: 0,
|
||
total_num: 0,
|
||
verify_passed_off_num: 0,
|
||
verify_refused_num: 0,
|
||
verify_waiting_num: 0,
|
||
},
|
||
return: {
|
||
fin_num: 0,
|
||
review_num: 0,
|
||
total_num: 0,
|
||
un_fin_num: 0,
|
||
},
|
||
store_info: {
|
||
store_id: 1,
|
||
store_name: "",
|
||
store_biz_state: 1,
|
||
info: {
|
||
store_opening_hours: "",
|
||
store_close_hours: "",
|
||
},
|
||
},
|
||
},
|
||
};
|
||
},
|
||
onShow() {
|
||
this.getAccountDashboard();
|
||
},
|
||
methods: {
|
||
async getAccountDashboard() {
|
||
let res = await GetAccountDashboard();
|
||
if (res && res.status == 200) {
|
||
uni.setStorageSync("accountDashboard", res.data);
|
||
this.dashboardInfo = res.data;
|
||
}
|
||
},
|
||
async handerUpdateStoreBizState(e) {
|
||
let params = {
|
||
store_id: this.dashboardInfo.store_info.store_id,
|
||
store_biz_state: e,
|
||
};
|
||
|
||
if (e == 2) {
|
||
uni.showModal({
|
||
title: "提示",
|
||
content: "你确定要暂时关闭店铺营业?",
|
||
success: async (res) => {
|
||
if (res.confirm) {
|
||
let res = await UpdateStoreBizState(params);
|
||
if (res && res.status == 200) {
|
||
uni.showToast({
|
||
title: `关闭成功`,
|
||
icon: "error",
|
||
duration: 1000,
|
||
});
|
||
}
|
||
}
|
||
},
|
||
});
|
||
} else {
|
||
let res = await UpdateStoreBizState(params);
|
||
if (res && res.status == 200) {
|
||
uni.showToast({
|
||
title: `打开成功`,
|
||
icon: "error",
|
||
duration: 1000,
|
||
});
|
||
}
|
||
}
|
||
},
|
||
},
|
||
};
|
||
</script>
|
||
|
||
<style lang="scss">
|
||
.businessStatus-container {
|
||
.business-contetn {
|
||
margin: 40rpx 20rpx;
|
||
background: #fff;
|
||
border-radius: 12rpx;
|
||
box-shadow: 0 2px 8px 0 rgba(0, 0, 0, 0.1);
|
||
|
||
.title {
|
||
padding: 20rpx 32rpx;
|
||
font-weight: bold;
|
||
}
|
||
|
||
.business-status {
|
||
.status-name {
|
||
position: relative;
|
||
|
||
&::before {
|
||
content: "";
|
||
display: block;
|
||
width: 6px;
|
||
height: 6px;
|
||
background-color: #5ac725;
|
||
position: absolute;
|
||
right: 25%;
|
||
top: 36%;
|
||
border-radius: 50%;
|
||
}
|
||
}
|
||
}
|
||
|
||
.business-box {
|
||
padding: 20rpx 32rpx;
|
||
display: flex;
|
||
justify-content: space-between;
|
||
}
|
||
}
|
||
}
|
||
</style>
|