Commit 6a9ff6c8 by zhangzhen

功能较大优化

parent af5ed6ad
......@@ -64,6 +64,7 @@
this.$refs.popupPhone.close()
},
onGetPhoneNumber(e){
let that = this;
this.phoneCode = e.detail.code;
wx.login({
success: (res) => {
......@@ -81,8 +82,8 @@
key: uni.getStorageSync('tokenHeaders'),
data: res.data.data.token,
success: (res) => {
this.$refs.popupPhone.close()
that.$emit('success')
this.$refs.popupPhone.close()
}
})
}
......
......@@ -38,13 +38,13 @@
imgUrl: config.assetsPath+'/order_2_icon.png',
sortName:"续"
},
{
name:"验券",
url:config.assetsPath+'/tool_3.png',
imgUrl: config.assetsPath+'/scan_code_icon.png',
sortName:"验",
routePath:"/pages/useCouponIllustrate/useCouponIllustrate?keyData=coupon_use_process"
},
// {
// name:"验券",
// url:config.assetsPath+'/tool_3.png',
// imgUrl: config.assetsPath+'/scan_code_icon.png',
// sortName:"验",
// routePath:"/pages/useCouponIllustrate/useCouponIllustrate?keyData=coupon_use_process"
// },
{
name:"客服",
url:config.assetsPath+'/tool_4.png',
......@@ -88,7 +88,7 @@
}
},
onHandle(val,index){
if(index===3){
if(index===2){
this.onGetSysConfig()
return
};
......
......@@ -50,7 +50,7 @@
</view>
<view v-for="(item,index) in roomVoList" :key="index" class="list-item-box"
@tap="onNavToOrder(item)">
<view class="itemRow listStyle">
<view class="itemRow listStyle">
<view class="relative part-top">
<image class="room-img" :src="item.images[0]" mode="aspectFill" @tap.stop="onPreview(item.images)"></image>
</view>
......@@ -70,7 +70,7 @@
<text>{{facilitieList[val]}}</text>
</view>
</view>
<view class="item-Go">
<view class="flex-row room-type">
<view class="flex-col">
......@@ -78,13 +78,13 @@
<view class="part-2">
<text class="text-sm">{{val.duration}}小时套餐:</text>
<text class="text-red text-bold text-xl">{{val.price}}</text>
</view>
</view>
</view>
</view>
</view>
<view class="flex-between confirm-box">
<view class="flex-priceBox"></view>
<view class="confirm">
......@@ -95,10 +95,10 @@
</view>
<view class="flex-row list-point-box">
<view v-for="(val,k) in list" :key="k" class="flex-1 flex-col">
<view class="box" :class="objListDate.length && objListDate[index] && objListDate[index].length && objListDate[index][k].status==1&& objListDate[index][k+1].status==1?'bg-pink':'bg-gray'">
<view class="box" :class="item.list && item.list[val].status==1 && item.list[val+1].status==1?'bg-pink':'bg-gray'">
</view>
<text class="text-gray text-sm">{{val>=24? val-24:val}}</text>
<text class="text-gray text-sm">{{val==24?'次日':val>24?val-24:val}}</text>
</view>
</view>
</view>
......@@ -156,11 +156,6 @@
LoginPop
},
data() {
let h = new Date().getHours();
let list = []
for(let i=0;i<24;i++){
list.push(h+i)
}
return {
scrollTop: 0,
storeId: '',
......@@ -214,13 +209,14 @@
show: true,
timer: null,
roomVoList:[],
list,
list:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23],
objListDate:[]
}
},
onShow() {
this.onGetSysConfig();
this.onLoading()
this.onGetSysConfig();
this.list = [];
this.onSetShowPoint()
},
onReachBottom() {
if (this.status == 'loadmore') {
......@@ -238,6 +234,15 @@
this.onGetDicts();
},
methods: {
onSetShowPoint(){
let h = new Date().getHours();
let list = []
for(let i=0;i<24;i++){
list.push(h+i)
}
this.list = list;
this.onLoading()
},
onGetSysConfig(){
systemConfig().then(res=>{
uni.setStorage({
......@@ -254,12 +259,15 @@
this.facilitieList = getDictItem(dicts, "indoor_facilities");
this.roomTypeEnum = getDictItem(dicts, "store_room_type");
this.roomStatusEnum = getDictItem(dicts, "store_room_status");
if(this.roomVoList.length){
this.$forceUpdate()
}
})
},
onLoading() {
uni.showLoading({
title:'加载中'
})
})
uni.getLocation({
type: "gcj02",
complete: (res) => {
......@@ -283,14 +291,13 @@
nowLatitude: this.latitude,
nowLongitude: this.longitude
}).then(res => {
uni.hideLoading()
if (res.data.code == 200 && res.data.data.length) {
this.storeList = res.data.data;
let obj = {}
if(uni.getStorageSync("storeId")){
obj = this.storeList.find(item=>item.id === uni.getStorageSync("storeId"))
}else{
obj = res.data.data[0];
obj = res.data.data[0];
}
that.storeInfo = {
...obj,
......@@ -304,6 +311,7 @@
images: item.images ? item.images.split(",").map(val => this.hostUrl + val) : []
}
})
uni.hideLoading()
that.onGetSortDistance(0);
}
}
......@@ -311,7 +319,7 @@
},
onGetSortDistance(i = 0){
if(i >= this.roomVoList.length){
this.$forceUpdate();
// this.$forceUpdate();
return
}
listSortDistance({
......@@ -320,8 +328,13 @@
day: moment().format("YYYY-MM-DD"),
orderType:1
}).then(res=>{
if(res.data.code == 200 && i <= this.roomVoList.length-1){
this.objListDate[i] = this.list.map(val=>res.data.data[val])
if(res.data.code == 200){
this.roomVoList = this.roomVoList.map((item,k)=>{
return {
...item,
list: i === k? res.data.data: item.list && item.list.length? item.list: []
}
})
this.onGetSortDistance(++i)
}
})
......@@ -353,7 +366,7 @@
scale: 18,
name: this.storeInfo.address,
complete: (res) => {
}
})
},
......@@ -361,12 +374,12 @@
uni.makePhoneCall({
phoneNumber: this.storeInfo.phone,
complete: (res) => {
}
})
},
onTouchStart() {
this.timer = null;
this.show = true;
},
......@@ -403,7 +416,7 @@
if(res.authSetting['scope.userLocation']){
this.onClose();
this.onLoading()
}
}
}
})
},
......@@ -439,7 +452,7 @@
display: flex;
flex: 1;
width: 100vw;
.content-box {
position: absolute;
......@@ -509,7 +522,7 @@
margin-left: 158rpx;
flex: 1;
}
.cu-btn {
background: linear-gradient(to right,rgba(250, 219, 73, 1),rgba(250, 219, 75, 1),rgba(255, 167, 81, 1));
box-shadow: 0 0 6px rgba(0, 0, 0, 0.3);
......@@ -789,7 +802,7 @@
font-weight: 500 !important;
}
}
.text-dw{
font-size: 36rpx;
margin-left: -4rpx;
......@@ -818,11 +831,11 @@
.part-bottom{
display: flex;
flex: 1;
border: 0 !important;
border-radius: 0rpx !important;
padding-left: 20rpx;
.room-title{
padding: 0 !important;
display: flex;
......@@ -832,7 +845,7 @@
flex-direction: row;
align-items: center;
text{
color: #9e9e9e;
color: #9e9e9e;
}
}
// 标签
......@@ -861,7 +874,7 @@
font-size: 40rpx;
color: #e70486;
}
}
}
}
......@@ -907,7 +920,7 @@
// }
// }
}
.room-type {
display: flex;
flex-direction: row;
......@@ -925,7 +938,7 @@
// border: 2rpx solid #fc3f21;
margin: 0 1%;
overflow: hidden;
.part-1{
display: flex;
justify-content: center;
......@@ -986,20 +999,21 @@
margin-bottom: 4upx;
margin-right: 4upx;
}
}
}
.list-point-box{
width: 100%;
margin-bottom: 20upx;
.flex-col{
text-align: center;
align-items: center;
}
.box{
margin: 0 4upx 6upx;
height: 20upx;
border-radius: 8upx;
margin: 0 2upx 6upx;
width: 10px;
height: 10px;
border-radius: 5px;
}
.text-sm{
font-size: 20upx;
}
}
</style>
\ No newline at end of file
</style>
......@@ -22,11 +22,11 @@
<text class="text-gray">修改资料</text>
</view>
</view>
<view v-else class="none-login margin-left">
<view v-else class="none-login margin-left" @tap="onNavToLogin">
<view class="cu-avatar xl round">
<image class="avatar-img" :src=" assetsPath+'/avatar_no.png'" mode="scaleToFill"></image>
</view>
<text class="text-gray margin-left" @tap="onNavToLogin">未授权</text>
<text class="text-gray margin-left" >授权登录</text>
</view>
<view class="flex-between amount-coupon" :style="{background:'url('+assetsPath+'/my_coupon_bg.png) 0 0 / 100% 100% no-repeat'}">
<view class="part-left">
......@@ -216,11 +216,14 @@
},
onCheckUserLogin() {
let tokenHeaders = uni.getStorageSync("tokenHeaders");
console.log(tokenHeaders, 909090)
if (tokenHeaders) {
this.onGetUserInfo();
} else {
this.loginStatus = false;
uni.removeStorage({
key:'userInfo'
})
this.userInfo = {}
}
},
onGetUserInfo() {
......
......@@ -97,10 +97,10 @@
<view class="part">
<button class="cu-btn block round bg-pink lg" :class="openDoorStatus?'bg-gray':'bg-pink'" @tap="onOpenDoor">进店开门</button>
</view>
<view class="part">
<view v-if="userInfo.id == orderInfo.consumerId" class="part">
<button class="cu-btn block round line-pink lg" open-type="share">分享好友</button>
</view>
<view v-if="orderInfo.status === 1" class="part">
<view v-if="orderInfo.status === 1 && userInfo.id == orderInfo.consumerId" class="part">
<button class="cu-btn block round bg-mauve lg" @tap="onNavToOrder">房间续单</button>
</view>
</view>
......@@ -122,7 +122,7 @@
</view>
</view>
<view v-if="orderInfo.status ===0 && orderInfo.isRefund" class="cancle-btn-box">
<view v-if="orderInfo.status ===0 && orderInfo.isRefund && !shareOrder" class="cancle-btn-box">
<button class="cu-btn bg-pink round block lg" @tap="onOrderRefund">立即退单</button>
</view>
</view>
......@@ -133,14 +133,12 @@
</template>
<script>
import {
getDictItem
} from "@/utils/tools.js"
import {getDictItem} from "@/utils/tools.js"
import fNavbar from '@/components/module/f-navbar/f-navbar';
import {getOrderInfoByNo,orderRefund} from "@/api/order.js"
import {getOrderInfoByNo,orderRefund,openDoor} from "@/api/order.js"
import moment from "@/common/moment_zh_cn.js";
import {openDoor} from "@/api/order.js"
import config from "@/config/index.config"
import {listSortDistance} from "@/api/store.js";
export default {
components:{
......@@ -154,11 +152,24 @@
hostUrl:config.hostUrl,
orderStatusEnum:{},
roomTypeEnum:{},
openDoorStatus:false
openDoorStatus:false,
shareOrder:false,
userInfo:{
id:''
}
};
},
onLoad(option) {
this.userInfo = uni.getStorageSync('userInfo')
console.log(this.userInfo,"用户信息")
this.orderNo = option.orderNo;
if(option.share && option.share =="share"){
this.shareOrder = true
}else{
this.shareOrder = false
}
this.onGetDicts()
this.onLoading();
if(option.success){
......@@ -169,7 +180,7 @@
onShareAppMessage() {
return {
title: `${this.orderInfo.storeName}-${this.orderInfo.roomName}${this.orderInfo.roomTypeName}】`,
path: `/pages/orderResult/orderResult?orderNo=${this.orderNo}`
path: `/pages/orderResult/orderResult?orderNo=${this.orderNo}&share=share`
}
},
methods:{
......@@ -231,6 +242,9 @@
icon:"none",
title:res.data.msg
})
if(res.data.code == 200){
this.onLoading();
}
setTimeout(()=>{
this.openDoorStatus = false;
},5000)
......@@ -249,8 +263,33 @@
})
},
onNavToOrder(){
uni.navigateTo({
url:`/pages/order/order?roomId=${this.orderInfo.roomId}&orderNo=${this.orderInfo.orderNo}`
listSortDistance({
storeId: this.orderInfo.storeId,
roomId: this.orderInfo.roomId,
day: this.orderInfo.endDate,
orderType:2
}).then(res=>{
let h = this.orderInfo.endTime.split(":").map(item=>Number(item))
if(res.data.code == 200){
let val = res.data.data[h[0]+1];
if(val.status ===0){
uni.navigateTo({
url:`/pages/order/order?roomId=${this.orderInfo.roomId}&orderNo=${this.orderInfo.orderNo}`
})
}else if(val.status ===1){
let nextStartH = moment(val.startHoldTime).format("HH:mm").split(":").map(item=>Number(item))
if(nextStartH[1]>h[1]){
uni.navigateTo({
url:`/pages/order/order?roomId=${this.orderInfo.roomId}&orderNo=${this.orderInfo.orderNo}`
})
}else{
uni.showToast({
icon:"none",
title:"此订单已无可续单时段"
})
}
}
}
})
},
onOrderRefund(){
......@@ -298,6 +337,7 @@
display: flex;
flex-direction: column;
width: 100vw;
padding-bottom: 120upx;
.order-info-content{
display: flex;
flex-direction: column;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment