275 lines
5.8 KiB
Vue
275 lines
5.8 KiB
Vue
|
|
<template>
|
||
|
|
<view class="container box box-column box-between">
|
||
|
|
|
||
|
|
<view class="box box-column" style="padding:0px 20upx;border-radius:20upx ;">
|
||
|
|
<view class="box box-between" style="padding: 20upx 40upx 40upx 40upx;background-color: white;">
|
||
|
|
<view :class="menuTypeIndex==index?'chooseMenuType':''" v-for="(item, index) in menuType" :key="index"
|
||
|
|
class="menuType" @click="changeMenuType(index)">{{item.name}}</view>
|
||
|
|
</view>
|
||
|
|
</view>
|
||
|
|
<view class="box" style="padding:0px 20upx;flex-grow: 1;overflow: hidden; ">
|
||
|
|
<view style="background-color: white;overflow: auto;width: 100%;">
|
||
|
|
<view v-if="list.length>0&&menuTypeIndex!=0" style="text-align: center;color: #666666;">
|
||
|
|
<image v-if="list[0].lunch" mode="widthFix" style="width: 100%;" :src="formatImgUrl(list[0].lunch)"
|
||
|
|
@click="vbPicture(new Array(formatImgUrl(list[0].lunch)))"></image>
|
||
|
|
<image mode="widthFix" v-else style="width: 100%;" src="../../static/imgs/wu_weekmenu.png"></image>
|
||
|
|
</view>
|
||
|
|
<view v-if="list.length>0&&menuTypeIndex==0" style="width: 100%;">
|
||
|
|
<image v-if="list[0].breakfast" mode="widthFix" style="width: 100%;"
|
||
|
|
:src="formatImgUrl(list[0].breakfast)"
|
||
|
|
@click="vbPicture(new Array(formatImgUrl(list[0].breakfast)))"></image>
|
||
|
|
<!-- <text v-if="list[0].breakfast">{{list[0].breakfast}}</text> -->
|
||
|
|
<image mode="widthFix" v-else style="width: 100%;" src="../../static/imgs/wu_weekmenu.png"></image>
|
||
|
|
</view>
|
||
|
|
<view v-if="list.length==0"
|
||
|
|
style="text-align: center;font-size: 40upx;color: #666666;padding: 80upx 0upx;">
|
||
|
|
<image mode="widthFix" style="width: 100%;" src="../../static/imgs/wu_weekmenu.png"></image>
|
||
|
|
</view>
|
||
|
|
</view>
|
||
|
|
</view>
|
||
|
|
</view>
|
||
|
|
</template>
|
||
|
|
|
||
|
|
<script>
|
||
|
|
import {
|
||
|
|
getWeekMenuList
|
||
|
|
} from '@/common/api.js';
|
||
|
|
import {
|
||
|
|
callbackRequest,
|
||
|
|
getStorage,
|
||
|
|
alertTip,
|
||
|
|
formatDate,
|
||
|
|
getNumDate,
|
||
|
|
getWeek,
|
||
|
|
vbPicture
|
||
|
|
} from '@/common/util.js';
|
||
|
|
import contentNone from '@/components/contentNone.vue';
|
||
|
|
export default {
|
||
|
|
data() {
|
||
|
|
return {
|
||
|
|
vbPicture: vbPicture,
|
||
|
|
userInfo: getStorage('userInfo'),
|
||
|
|
areas: [{
|
||
|
|
id: '1',
|
||
|
|
name: '科技楼食堂'
|
||
|
|
}, {
|
||
|
|
id: '2',
|
||
|
|
name: '梨园食堂'
|
||
|
|
}, {
|
||
|
|
id: '3',
|
||
|
|
name: '梨园食堂套餐'
|
||
|
|
}],
|
||
|
|
areasIndex: 0,
|
||
|
|
date: getWeek(),
|
||
|
|
dateIndex: new Date().getDay() - 1,
|
||
|
|
//day:new Date().getDay(),
|
||
|
|
menuType: [{
|
||
|
|
id: '0',
|
||
|
|
name: '早餐'
|
||
|
|
}, {
|
||
|
|
id: '1',
|
||
|
|
name: '午、晚餐'
|
||
|
|
}],
|
||
|
|
menuTypeIndex: 0,
|
||
|
|
containerHeight: '',
|
||
|
|
contentHeight: '',
|
||
|
|
imgWidth: '',
|
||
|
|
|
||
|
|
list: [],
|
||
|
|
showDetailItem: {},
|
||
|
|
showAlert: false
|
||
|
|
};
|
||
|
|
},
|
||
|
|
components: {
|
||
|
|
contentNone
|
||
|
|
},
|
||
|
|
onLoad() {
|
||
|
|
var nowHours = new Date().getHours();
|
||
|
|
if (nowHours >= 11 && nowHours <= 14) {
|
||
|
|
this.menuTypeIndex = 1;
|
||
|
|
}
|
||
|
|
this.setHeight();
|
||
|
|
this.initData();
|
||
|
|
},
|
||
|
|
methods: {
|
||
|
|
changeMenuType(v) {
|
||
|
|
this.menuTypeIndex = v;
|
||
|
|
// this.initData();
|
||
|
|
},
|
||
|
|
setHeight() {
|
||
|
|
let windowHeight = uni.getSystemInfoSync().windowHeight; //页面可见区域
|
||
|
|
let windowWidth = uni.getSystemInfoSync().windowWidth;
|
||
|
|
this.containerHeight = windowHeight;
|
||
|
|
this.contentHeight = windowHeight - 60 - 46 - 50;
|
||
|
|
this.imgWidth = (windowWidth - 50) * 0.5;
|
||
|
|
|
||
|
|
},
|
||
|
|
initData() {
|
||
|
|
let params = {
|
||
|
|
method: getWeekMenuList,
|
||
|
|
data: {
|
||
|
|
userId: this.userInfo.id,
|
||
|
|
// date:this.date[this.dateIndex].tiems,
|
||
|
|
// locationId:this.areas[this.areasIndex].id,
|
||
|
|
// menuType:this.menuType[this.menuTypeIndex].id
|
||
|
|
}
|
||
|
|
};
|
||
|
|
callbackRequest(params).then(res => {
|
||
|
|
if (res.data.returnCode == 1) {
|
||
|
|
var result = res.data.returnData || [];
|
||
|
|
this.list = result;
|
||
|
|
console.log(result)
|
||
|
|
}
|
||
|
|
});
|
||
|
|
},
|
||
|
|
formatImgUrl(url) {
|
||
|
|
let oldUrl = url || "";
|
||
|
|
let imgName = oldUrl.split("webImageDir")[1];
|
||
|
|
let newUrl = 'http://127.0.0.1:' + uni.getStorageSync("ZHHQ_HZ_PORT") + '/webImageDir' + imgName;
|
||
|
|
console.log(newUrl, 'newUrl');
|
||
|
|
return newUrl;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
};
|
||
|
|
</script>
|
||
|
|
|
||
|
|
<style lang="scss">
|
||
|
|
.common-shade {
|
||
|
|
position: fixed;
|
||
|
|
top: 0;
|
||
|
|
left: 0;
|
||
|
|
width: 100%;
|
||
|
|
height: 100vh;
|
||
|
|
background: rgba(0, 0, 0, 0.7);
|
||
|
|
z-index: 99;
|
||
|
|
}
|
||
|
|
|
||
|
|
.chooseArea {
|
||
|
|
font-size: 32upx !important;
|
||
|
|
color: #4db4ea !important;
|
||
|
|
font-weight: 600;
|
||
|
|
}
|
||
|
|
|
||
|
|
.areas {
|
||
|
|
padding: 0upx 20upx;
|
||
|
|
font-size: 26upx;
|
||
|
|
}
|
||
|
|
|
||
|
|
.menuType {
|
||
|
|
padding: 18upx 90upx;
|
||
|
|
font-size: 28upx;
|
||
|
|
border: 1px solid #E5E5E5;
|
||
|
|
border-radius: 50upx;
|
||
|
|
color: #666;
|
||
|
|
background-color: #E5E5E5;
|
||
|
|
}
|
||
|
|
|
||
|
|
.chooseMenuType {
|
||
|
|
border: 1px solid #4db4ea;
|
||
|
|
background-color: white;
|
||
|
|
color: #4db4ea;
|
||
|
|
}
|
||
|
|
|
||
|
|
.bg {
|
||
|
|
height: 120upx;
|
||
|
|
width: 100%;
|
||
|
|
position: fixed;
|
||
|
|
z-index: 0;
|
||
|
|
}
|
||
|
|
|
||
|
|
.box {
|
||
|
|
display: flex;
|
||
|
|
display: -webkit-flex;
|
||
|
|
}
|
||
|
|
|
||
|
|
.box-row-reverse {
|
||
|
|
flex-direction: row;
|
||
|
|
}
|
||
|
|
|
||
|
|
/*上下排列*/
|
||
|
|
.box-column {
|
||
|
|
flex-direction: column;
|
||
|
|
}
|
||
|
|
|
||
|
|
/*上下排列*/
|
||
|
|
.box-left {
|
||
|
|
justify-content: flex-start;
|
||
|
|
}
|
||
|
|
|
||
|
|
/*居右*/
|
||
|
|
.box-right {
|
||
|
|
justify-content: flex-end;
|
||
|
|
}
|
||
|
|
|
||
|
|
/*居左*/
|
||
|
|
.box-center {
|
||
|
|
justify-content: center;
|
||
|
|
}
|
||
|
|
|
||
|
|
/*居中*/
|
||
|
|
.box-between {
|
||
|
|
justify-content: space-between;
|
||
|
|
}
|
||
|
|
|
||
|
|
/*两端对齐*/
|
||
|
|
.box-align-center {
|
||
|
|
align-items: center;
|
||
|
|
}
|
||
|
|
|
||
|
|
.box-wrap {
|
||
|
|
flex-wrap: wrap;
|
||
|
|
}
|
||
|
|
|
||
|
|
.scroll-view {
|
||
|
|
border-radius: 20upx 20upx 0upx 0upx;
|
||
|
|
padding: 30upx 0;
|
||
|
|
white-space: nowrap;
|
||
|
|
width: 100%;
|
||
|
|
background: #fff;
|
||
|
|
|
||
|
|
.time-item-box {
|
||
|
|
padding: 0 10upx;
|
||
|
|
margin: 0 16upx;
|
||
|
|
display: inline-block;
|
||
|
|
text-align: center;
|
||
|
|
|
||
|
|
.time {
|
||
|
|
display: block;
|
||
|
|
width: 100%;
|
||
|
|
font-size: 28upx;
|
||
|
|
color: #666;
|
||
|
|
}
|
||
|
|
|
||
|
|
.week {
|
||
|
|
display: block;
|
||
|
|
width: 100%;
|
||
|
|
font-size: 32upx;
|
||
|
|
color: #666;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
.time-active {
|
||
|
|
.time {
|
||
|
|
color: #4db4ea;
|
||
|
|
}
|
||
|
|
|
||
|
|
.week {
|
||
|
|
color: #4db4ea;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
.fixedView {
|
||
|
|
height: 50px;
|
||
|
|
line-height: 50px;
|
||
|
|
padding-left: 10px;
|
||
|
|
background-color: white;
|
||
|
|
width: 100%;
|
||
|
|
/* border-radius: 10px; */
|
||
|
|
/* margin-left: 5%; */
|
||
|
|
font-size: 14px;
|
||
|
|
/* border: 1px solid #cfcfcf; */
|
||
|
|
position: fixed;
|
||
|
|
bottom: 0px;
|
||
|
|
}
|
||
|
|
</style>
|