|
@@ -7,7 +7,7 @@
|
|
|
<template>
|
|
<template>
|
|
|
<view slot="custom" class="align-items-center" @click="toScroll()">
|
|
<view slot="custom" class="align-items-center" @click="toScroll()">
|
|
|
<uni-icons type="location-filled" size="20"></uni-icons>
|
|
<uni-icons type="location-filled" size="20"></uni-icons>
|
|
|
- <view class="fs-32 fw-600 ml-10">重庆邮电大学...</view>
|
|
|
|
|
|
|
+ <view class="fs-32 w-220 fw-600 ml-10 text-overflow-ellipsis-one">{{schoolData.school_name||''}}</view>
|
|
|
<image class="nav-icon ml-10" src="@/static/img/index/index-right.png" mode="aspectFit"></image>
|
|
<image class="nav-icon ml-10" src="@/static/img/index/index-right.png" mode="aspectFit"></image>
|
|
|
</view>
|
|
</view>
|
|
|
</template>
|
|
</template>
|
|
@@ -29,8 +29,8 @@
|
|
|
<!-- 轮播 -->
|
|
<!-- 轮播 -->
|
|
|
<view class="box-border-box plr-24">
|
|
<view class="box-border-box plr-24">
|
|
|
<swiper class="swiper mb-32 " circular indicator-dots indicator-active-color="#4FB3EF" :autoplay="true" :interval="3000" :duration="500">
|
|
<swiper class="swiper mb-32 " circular indicator-dots indicator-active-color="#4FB3EF" :autoplay="true" :interval="3000" :duration="500">
|
|
|
- <swiper-item v-for="(item,i) in 3" :key="i">
|
|
|
|
|
- <view class="swiper-item">A</view>
|
|
|
|
|
|
|
+ <swiper-item v-for="(item,i) in bannerList" :key="i">
|
|
|
|
|
+ <image class="swiper-item" :src="item.image" mode="aspectFill"></image>
|
|
|
</swiper-item>
|
|
</swiper-item>
|
|
|
</swiper>
|
|
</swiper>
|
|
|
</view>
|
|
</view>
|
|
@@ -53,8 +53,8 @@
|
|
|
<image class="image-1" src="@/static/img/index/index-tz.png" mode="scaleToFill"></image>
|
|
<image class="image-1" src="@/static/img/index/index-tz.png" mode="scaleToFill"></image>
|
|
|
<view class="box-1 fs-20 fc-41ABF5">公告</view>
|
|
<view class="box-1 fs-20 fc-41ABF5">公告</view>
|
|
|
<swiper class="tz-swiper" :vertical="true" circular :autoplay="true" :interval="3000" :duration="500">
|
|
<swiper class="tz-swiper" :vertical="true" circular :autoplay="true" :interval="3000" :duration="500">
|
|
|
- <swiper-item v-for="(item,i) in 3" :key="i">
|
|
|
|
|
- <view class="tz-swiper-item">AAAAAAAAAAAAAAAAAAAAA</view>
|
|
|
|
|
|
|
+ <swiper-item v-for="(item,i) in noticeList" :key="i" @click="toNoticeDet(item)">
|
|
|
|
|
+ <view class="tz-swiper-item">{{item.title}}</view>
|
|
|
</swiper-item>
|
|
</swiper-item>
|
|
|
</swiper>
|
|
</swiper>
|
|
|
<image class="image-2" src="@/static/img/toRight.png" mode="scaleToFill"></image>
|
|
<image class="image-2" src="@/static/img/toRight.png" mode="scaleToFill"></image>
|
|
@@ -63,18 +63,18 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
<!-- 限时秒杀 -->
|
|
<!-- 限时秒杀 -->
|
|
|
- <view class="box-border-box plr-24">
|
|
|
|
|
|
|
+ <view class="box-border-box plr-24" v-if="seckillGoodsList.length > 0">
|
|
|
<view class="xsms-box mb-32">
|
|
<view class="xsms-box mb-32">
|
|
|
<image class="image-title" src="@/static/img/index/index-xsms.png" mode="scaleToFill"></image>
|
|
<image class="image-title" src="@/static/img/index/index-xsms.png" mode="scaleToFill"></image>
|
|
|
<view class="xsms-box-list-f box-border-box plr-12">
|
|
<view class="xsms-box-list-f box-border-box plr-12">
|
|
|
<view class="xsms-box-list display-flex ">
|
|
<view class="xsms-box-list display-flex ">
|
|
|
- <view class="xsms-box-list-item box-border-box p-8" v-for="(item,i) in 10" :key="i">
|
|
|
|
|
- <image class="xsms-box-list-item-img-1 mb-4" src="../../static/img/my/bg.png" mode="scaleToFill"></image>
|
|
|
|
|
- <view class="text-overflow-ellipsis-one fs-26 mb-4">AAAAAAAAAAAAAAAAAAAAAA</view>
|
|
|
|
|
|
|
+ <view class="xsms-box-list-item box-border-box p-8" v-for="(item,i) in seckillGoodsList" :key="i" @click="toShop(item)">
|
|
|
|
|
+ <image class="xsms-box-list-item-img-1 mb-4" :src="item.goods_image" mode="aspectFill"></image>
|
|
|
|
|
+ <view class="text-overflow-ellipsis-one fs-26 mb-4">{{item.goods_name}}</view>
|
|
|
<view class="mb-4">
|
|
<view class="mb-4">
|
|
|
- <span class="fs-20 fw-b fc-FB3D03">¥</span><span class="fs-32 fw-b fc-FB3D03">29.99</span>
|
|
|
|
|
|
|
+ <span class="fs-20 fw-b fc-FB3D03">¥</span><span class="fs-32 fw-b fc-FB3D03">{{item.seckill_money}}</span>
|
|
|
</view>
|
|
</view>
|
|
|
- <view class="fs-20 fc-9 text-line-through">¥3300</view>
|
|
|
|
|
|
|
+ <view class="fs-20 fc-9 text-line-through">¥{{item.line_price}}</view>
|
|
|
<image class="xsms-box-list-item-img-2" src="@/static/img/index/index-q.png" mode="scaleToFill"></image>
|
|
<image class="xsms-box-list-item-img-2" src="@/static/img/index/index-q.png" mode="scaleToFill"></image>
|
|
|
</view>
|
|
</view>
|
|
|
</view>
|
|
</view>
|
|
@@ -85,36 +85,37 @@
|
|
|
|
|
|
|
|
<!-- 类型选择 -->
|
|
<!-- 类型选择 -->
|
|
|
<view class="type-list-box display-flex" :style="[{'background':bgckgroundType}]">
|
|
<view class="type-list-box display-flex" :style="[{'background':bgckgroundType}]">
|
|
|
- <view class="type-item-box view-nowrap" :class="type==item.id?'s-type':'n-type'" v-for="(item,i) in typeList" :key="i">{{item.name}}</view>
|
|
|
|
|
|
|
+ <view class="type-item-box view-nowrap" :class="category_id==item.id?'s-type':'n-type'"
|
|
|
|
|
+ v-for="(item,i) in typeList" :key="i" @click="selectType(item.id)">{{item.name}}</view>
|
|
|
</view>
|
|
</view>
|
|
|
<!-- 商品列表 -->
|
|
<!-- 商品列表 -->
|
|
|
<view class="box-border-box plr-24">
|
|
<view class="box-border-box plr-24">
|
|
|
- <view class="goos-list-box box-border-box p-24 display-flex" v-for="(item,i) in 10">
|
|
|
|
|
- <image class="left-img" src="../../static/img/my/bg.png" mode="scaleToFill"></image>
|
|
|
|
|
|
|
+ <view class="goos-list-box box-border-box p-24 display-flex" v-for="(item,i) in goodsList" :key="i" @click="toShop(item)">
|
|
|
|
|
+ <image class="left-img" :src="item.shop_logo" mode="aspectFill"></image>
|
|
|
<view class="flex-1">
|
|
<view class="flex-1">
|
|
|
<view class="align-items-center mb-8">
|
|
<view class="align-items-center mb-8">
|
|
|
- <view class="right-box-title fs-32 fw-600 text-overflow-ellipsis-one">蜜雪冰城(重工页店)122332323232323232323232</view>
|
|
|
|
|
|
|
+ <view class="right-box-title fs-32 fw-600 text-overflow-ellipsis-one">{{item.shop_name}}</view>
|
|
|
<image class="right-box-title-img" src="@/static/img/toRight.png" mode=""></image>
|
|
<image class="right-box-title-img" src="@/static/img/toRight.png" mode=""></image>
|
|
|
</view>
|
|
</view>
|
|
|
<view class="align-items-center mb-8">
|
|
<view class="align-items-center mb-8">
|
|
|
<image class="img-x mr-12" src="@/static/img/my/wdpj.png" mode=""></image>
|
|
<image class="img-x mr-12" src="@/static/img/my/wdpj.png" mode=""></image>
|
|
|
- <view class="fs-26 fw-600 fc-FF7F00 mr-12">4.5分</view>
|
|
|
|
|
- <view class="fc-6 fs-24 mr-12">| 预计38分钟 |</view>
|
|
|
|
|
- <view class="fc-6 fs-24 mr-12">855人购买</view>
|
|
|
|
|
|
|
+ <view class="fs-26 fw-600 fc-FF7F00 mr-12">{{item.shop_score}}分</view>
|
|
|
|
|
+ <view class="fc-6 fs-24 mr-12">| 预计{{item.delivery_time}}分钟 |</view>
|
|
|
|
|
+ <view class="fc-6 fs-24 mr-12">{{item.shop_sales}}人购买</view>
|
|
|
</view>
|
|
</view>
|
|
|
<view class="align-items-center flex-wrap-wrap">
|
|
<view class="align-items-center flex-wrap-wrap">
|
|
|
- <view class="quan-list display-flex mr-12 mb-12" v-for="(item,i) in 3" :key="i">
|
|
|
|
|
|
|
+ <view class="quan-list display-flex mr-12 mb-12" v-for="(info1,index1) in item.coupon" :key="index1">
|
|
|
<view class="quan-list-1 fs-24 fc-f">券</view>
|
|
<view class="quan-list-1 fs-24 fc-f">券</view>
|
|
|
- <view class="quan-list-2 fs-24 fc-FB3D03">10元</view>
|
|
|
|
|
|
|
+ <view class="quan-list-2 fs-24 fc-FB3D03">{{info1.money}}元</view>
|
|
|
</view>
|
|
</view>
|
|
|
</view>
|
|
</view>
|
|
|
<view class="goods-items-list display-flex">
|
|
<view class="goods-items-list display-flex">
|
|
|
- <view class="goods-items-list-box" v-for="(info,i) in 10">
|
|
|
|
|
- <image class="mb-12" src="@/static/img/my/bg.png" mode=""></image>
|
|
|
|
|
- <view class="mb-8 fw-600 text-overflow-ellipsis-one fs-26">AAAAAAAAAAAAAA</view>
|
|
|
|
|
|
|
+ <view class="goods-items-list-box" v-for="(info2,index2) in item.goods" :key="index2">
|
|
|
|
|
+ <image class="mb-12" :src="info2.goods_image" mode="aspectFill"></image>
|
|
|
|
|
+ <view class="mb-8 fw-600 text-overflow-ellipsis-one fs-26">{{info2.goods_name}}</view>
|
|
|
<view class="">
|
|
<view class="">
|
|
|
<span class="fs-24 fc-FB3D03">¥</span>
|
|
<span class="fs-24 fc-FB3D03">¥</span>
|
|
|
- <span class="fs-32 fc-FB3D03 fw-b">3.99</span>
|
|
|
|
|
|
|
+ <span class="fs-32 fc-FB3D03 fw-b">{{info2.price}}</span>
|
|
|
</view>
|
|
</view>
|
|
|
</view>
|
|
</view>
|
|
|
</view>
|
|
</view>
|
|
@@ -127,6 +128,10 @@
|
|
|
</template>
|
|
</template>
|
|
|
<script>
|
|
<script>
|
|
|
import tools from "@/service/tools";
|
|
import tools from "@/service/tools";
|
|
|
|
|
+ import {getNotice,getBanner,} from '@/api/common.js';
|
|
|
|
|
+ import {getSeckillGoods} from '@/api/seckill.js'
|
|
|
|
|
+ import {getTakeaway} from '@/api/category.js';
|
|
|
|
|
+ import {getGoodsList} from '@/api/goods.js';
|
|
|
export default {
|
|
export default {
|
|
|
data() {
|
|
data() {
|
|
|
return {
|
|
return {
|
|
@@ -146,16 +151,43 @@
|
|
|
{name:"回收",img:require('@/static/img/index/index-hs.png'),},
|
|
{name:"回收",img:require('@/static/img/index/index-hs.png'),},
|
|
|
{name:"实习岗位",img:require('@/static/img/index/index-sxgw.png'),},
|
|
{name:"实习岗位",img:require('@/static/img/index/index-sxgw.png'),},
|
|
|
],
|
|
],
|
|
|
- typeList:[
|
|
|
|
|
- {name:"全部",id:-1},
|
|
|
|
|
- {name:"奶茶甜点",id:0},
|
|
|
|
|
- {name:"快餐便当",id:1},
|
|
|
|
|
- {name:"火锅麻辣烫",id:2},
|
|
|
|
|
- {name:"龙虾汉堡",id:3},
|
|
|
|
|
- {name:"棋牌娱乐",id:4},
|
|
|
|
|
- ],
|
|
|
|
|
- type:-1,
|
|
|
|
|
|
|
+
|
|
|
|
|
+ schoolData:{
|
|
|
|
|
+ school_name:'',
|
|
|
|
|
+ },
|
|
|
|
|
+ noticeList:[],
|
|
|
|
|
+ bannerList:[],
|
|
|
|
|
+ seckillGoodsList:[],
|
|
|
|
|
+
|
|
|
|
|
+ typeList:[],//分类数组
|
|
|
|
|
+ category_id:0, //分类id
|
|
|
|
|
+
|
|
|
|
|
+ goodsList:[],
|
|
|
|
|
+ total:0,
|
|
|
|
|
+ page:1,
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+
|
|
|
|
|
+ onShow() {
|
|
|
|
|
+ let school_id = uni.getStorageSync('school_id');
|
|
|
|
|
+ let operate_id = uni.getStorageSync('operate_id');
|
|
|
|
|
+ let school_name = uni.getStorageSync('school_name');
|
|
|
|
|
+ if(!school_id||!operate_id){
|
|
|
|
|
+ setTimeout(()=>{
|
|
|
|
|
+ uni.reLaunch({
|
|
|
|
|
+ url:'/pages-address/select-school?type=1'
|
|
|
|
|
+ })
|
|
|
|
|
+ },1000)
|
|
|
|
|
+ }else{
|
|
|
|
|
+ this.schoolData.school_name = school_name;
|
|
|
}
|
|
}
|
|
|
|
|
+ this.getBanner();
|
|
|
|
|
+ this.getNotice();
|
|
|
|
|
+ this.getSeckillGoods();
|
|
|
|
|
+ this.getTakeaway();
|
|
|
|
|
+ this.page = 1;
|
|
|
|
|
+ this.goodsList = [];
|
|
|
|
|
+ this.getGoodsList();
|
|
|
},
|
|
},
|
|
|
onPageScroll(e) {
|
|
onPageScroll(e) {
|
|
|
if(e.scrollTop>1){
|
|
if(e.scrollTop>1){
|
|
@@ -174,6 +206,10 @@
|
|
|
},
|
|
},
|
|
|
onReachBottom() {
|
|
onReachBottom() {
|
|
|
console.log('触底刷新');
|
|
console.log('触底刷新');
|
|
|
|
|
+ if(this.goodsList.length < this.total){
|
|
|
|
|
+ this.page += 1;
|
|
|
|
|
+ this.getGoodsList();
|
|
|
|
|
+ }
|
|
|
},
|
|
},
|
|
|
created() {
|
|
created() {
|
|
|
uni.getSystemInfo({
|
|
uni.getSystemInfo({
|
|
@@ -182,17 +218,58 @@
|
|
|
let custom = 0;
|
|
let custom = 0;
|
|
|
custom = wx.getMenuButtonBoundingClientRect()
|
|
custom = wx.getMenuButtonBoundingClientRect()
|
|
|
let customBarH = custom.height;
|
|
let customBarH = custom.height;
|
|
|
-
|
|
|
|
|
- console.log(statusBarH);
|
|
|
|
|
- console.log(customBarH);
|
|
|
|
|
this.BarH = statusBarH + customBarH;
|
|
this.BarH = statusBarH + customBarH;
|
|
|
}
|
|
}
|
|
|
})
|
|
})
|
|
|
- },
|
|
|
|
|
- mounted() {
|
|
|
|
|
-
|
|
|
|
|
},
|
|
},
|
|
|
methods: {
|
|
methods: {
|
|
|
|
|
+ getBanner(){
|
|
|
|
|
+ getBanner().then((res)=>{
|
|
|
|
|
+ if(res.code === 1){
|
|
|
|
|
+ this.bannerList = res.data;
|
|
|
|
|
+ }
|
|
|
|
|
+ })
|
|
|
|
|
+ },
|
|
|
|
|
+ getNotice(){
|
|
|
|
|
+ getNotice().then((res)=>{
|
|
|
|
|
+ if(res.code === 1){
|
|
|
|
|
+ this.noticeList = res.data;
|
|
|
|
|
+ }
|
|
|
|
|
+ })
|
|
|
|
|
+ },
|
|
|
|
|
+ getSeckillGoods(){
|
|
|
|
|
+ let operate_id = uni.getStorageSync('operate_id');
|
|
|
|
|
+ getSeckillGoods({operate_id:operate_id}).then((res)=>{
|
|
|
|
|
+ if(res.code === 1){
|
|
|
|
|
+ this.seckillGoodsList = res.data
|
|
|
|
|
+ }
|
|
|
|
|
+ })
|
|
|
|
|
+ },
|
|
|
|
|
+ getTakeaway(){
|
|
|
|
|
+ getTakeaway().then((res)=>{
|
|
|
|
|
+ if(res.code === 1){
|
|
|
|
|
+ this.typeList = res.data;
|
|
|
|
|
+ this.typeList.unshift({name:"全部",id:0})
|
|
|
|
|
+ }
|
|
|
|
|
+ })
|
|
|
|
|
+ },
|
|
|
|
|
+ getGoodsList(){
|
|
|
|
|
+ let operate_id = uni.getStorageSync('operate_id');
|
|
|
|
|
+ getGoodsList({page:this.page,operate_id:operate_id,category_id:this.category_id}).then((res)=>{
|
|
|
|
|
+ if(res.code === 1){
|
|
|
|
|
+ this.goodsList = [...this.goodsList,...res.data.items];
|
|
|
|
|
+ this.total = res.data.total;
|
|
|
|
|
+ }
|
|
|
|
|
+ })
|
|
|
|
|
+ },
|
|
|
|
|
+ selectType(id){
|
|
|
|
|
+ if(this.category_id != id){
|
|
|
|
|
+ this.category_id = id;
|
|
|
|
|
+ this.page = 1;
|
|
|
|
|
+ this.goodsList = [];
|
|
|
|
|
+ this.getGoodsList();
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
toUrl(type){
|
|
toUrl(type){
|
|
|
if(type === 1){
|
|
if(type === 1){
|
|
|
// 去搜索
|
|
// 去搜索
|
|
@@ -238,11 +315,24 @@
|
|
|
url:'/pages-address/select-school'
|
|
url:'/pages-address/select-school'
|
|
|
})
|
|
})
|
|
|
},
|
|
},
|
|
|
|
|
+ toShop(item){
|
|
|
|
|
+ uni.navigateTo({
|
|
|
|
|
+ url:'/pages-takeout/shop?shop_id=' + item.shop_id
|
|
|
|
|
+ })
|
|
|
|
|
+ },
|
|
|
|
|
+ toNoticeDet(item){
|
|
|
|
|
+ uni.navigateTo({
|
|
|
|
|
+ url: '/pages-my/notice/info?id=' +item.id
|
|
|
|
|
+ })
|
|
|
|
|
+ },
|
|
|
},
|
|
},
|
|
|
}
|
|
}
|
|
|
</script>
|
|
</script>
|
|
|
<style lang="scss" scoped>
|
|
<style lang="scss" scoped>
|
|
|
.index-box{
|
|
.index-box{
|
|
|
|
|
+ .w-220{
|
|
|
|
|
+ width: 220rpx;
|
|
|
|
|
+ }
|
|
|
position: relative;
|
|
position: relative;
|
|
|
.bg-img{
|
|
.bg-img{
|
|
|
width: 100%;
|
|
width: 100%;
|
|
@@ -267,7 +357,6 @@
|
|
|
width: 702rpx;
|
|
width: 702rpx;
|
|
|
height: 220rpx;
|
|
height: 220rpx;
|
|
|
border-radius: 20rpx;
|
|
border-radius: 20rpx;
|
|
|
- background-color: skyblue;
|
|
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
.nav-list{
|
|
.nav-list{
|
|
@@ -401,7 +490,7 @@
|
|
|
|
|
|
|
|
.goos-list-box{
|
|
.goos-list-box{
|
|
|
width: 100%;
|
|
width: 100%;
|
|
|
- min-height: 428rpx;
|
|
|
|
|
|
|
+ min-height: 100rpx;
|
|
|
background: #FFFFFF;
|
|
background: #FFFFFF;
|
|
|
box-shadow: 0rpx 0rpx 20rpx 0rpx rgba(51,51,51,0.1);
|
|
box-shadow: 0rpx 0rpx 20rpx 0rpx rgba(51,51,51,0.1);
|
|
|
border-radius: 20rpx;
|
|
border-radius: 20rpx;
|