This commit is contained in:
weipengfei 2024-02-23 14:42:42 +08:00
commit 4aa3b0745f
2 changed files with 229 additions and 131 deletions

View File

@ -1,7 +1,7 @@
<template>
<view class="empty-box">
<image src="/static/images/empty-box.png"></image>
<view class="txt">{{title}}</view>
<view class="txt" :style="{color:color}">{{title}}</view>
</view>
</template>
@ -21,9 +21,12 @@
type: String,
default: '暂无记录',
},
color: {
type: String,
default: "#999"
}
},
}
</script>
<style lang="scss">
@ -33,10 +36,12 @@
justify-content: center;
align-items: center;
margin-top: 200rpx;
image {
width: 414rpx;
height: 240rpx;
}
.txt {
font-size: 26rpx;
color: #999;

View File

@ -4,20 +4,35 @@
<view class="fixed-head">
<view class="tool-bar">
<view class='iconfont icon-xiangzuo' @tap='goBack'></view>
<view class="v-input" style="width: 90%;margin-right: 40rpx;">
<u--input v-model="keyword" placeholder="搜索商品名称" prefixIcon="search" shape="circle"
:custom-style="{'background-color':'#fff',width:'100%',height:'70rpx'}"
prefixIconStyle="font-size: 22px;color: #909399" @input="search">
<template slot="suffix">
<u-button type="success" text="搜索" size="mini" shape="circle"
color="linear-gradient(to right, #F84221, #FF6C20)"
:customStyle="{height:'50rpx','font-size':'32rpx!important'}"
@click="search"></u-button>
</template>
</u--input>
</view>
</view>
</view>
<view class='header'>
<!-- <image mode="widthFix" class="presellBg" :src="domain+'/static/diy/presell_title'+keyColor+'.png'" alt=""> -->
<image mode="widthFix" class="presellBg" src="https://lihai001.oss-cn-chengdu.aliyuncs.com/public/uploads/home_img/nongzinongju_bg.webp" alt="">
<image mode="widthFix" class="presellBg"
src="https://lihai001.oss-cn-chengdu.aliyuncs.com/public/uploads/home_img/nongzinongju_bg.webp"
alt="">
</view>
<view class="main_count">
<view class='list'>
<view class='list' v-if="presellList.length != 0">
<block v-for="(item,index) in presellList" :key='index'>
<view class='item acea-row row-between-wrapper' @tap='goDetails(item)'>
<view class='pictrue'>
<image :src='item.product.image'></image>
</view>
<view class='text acea-row row-column-around' style="justify-content: space-between;display: flex;flex-direction: column;height: 100%;padding: 20rpx 0;">
<view class='text acea-row row-column-around'
style="justify-content: space-between;display: flex;flex-direction: column;height: 100%;padding: 20rpx 0;">
<view class='name line1'>{{item.store_name}}</view>
<view class="card_price">
<text class="card_small">¥</text>
@ -34,11 +49,16 @@
</view>
</block>
</view>
<block v-if="presellList.length == 0">
<emptyPage title="暂无记录~" color="#f1f1f1"></emptyPage>
</block>
</view>
</view>
<uni-popup ref="tipspopupRef">
<view class="popup_ref">
<image class="p_icon" src="https://lihai001.oss-cn-chengdu.aliyuncs.com/def/7b63620240205163923734.png"></image>
<image class="p_icon" src="https://lihai001.oss-cn-chengdu.aliyuncs.com/def/7b63620240205163923734.png">
</image>
<view class="p_item1">非常抱歉</view>
<view class="p_item2">供销农资春节期间暂停发货年后恢复购买~</view>
</view>
@ -60,6 +80,7 @@
// +----------------------------------------------------------------------
// | Author: CRMEB Team <admin@crmeb.com>
// +----------------------------------------------------------------------
import emptyPage from '@/components/emptyPage.vue';
import {
getSeckillIndexTime,
getPresellList
@ -68,20 +89,32 @@
// #ifndef H5
import passwordPopup from '@/components/passwordPopup';
// #endif
import { configMap } from "@/utils";
import { mapGetters } from "vuex";
import { HTTP_REQUEST_URL } from '@/config/app';
import { Toast } from '../../../libs/uniApi.js';
import {
configMap
} from "@/utils";
import {
mapGetters
} from "vuex";
import {
HTTP_REQUEST_URL
} from '@/config/app';
import {
Toast
} from '../../../libs/uniApi.js';
export default {
computed: configMap({statusBarHeight:0},mapGetters(['viewColor','keyColor'])),
computed: configMap({
statusBarHeight: 0
}, mapGetters(['viewColor', 'keyColor'])),
components: {
// #ifndef H5
passwordPopup,
// #endif
home
home,
emptyPage
},
data() {
return {
keyword: '', //
domain: HTTP_REQUEST_URL,
topImage: '',
presellList: [],
@ -133,18 +166,27 @@ import { Toast } from '../../../libs/uniApi.js';
goBack: function() {
uni.navigateBack();
},
//
search() {
var that = this;
that.loadend = false;
that.page = 1;
that.presellList = [];
that.getPresellProductList();
},
getPresellProductList: function() {
var that = this;
var data = {
page: that.page,
limit: that.limit,
// type: that.active
keyword: that.keyword
};
if (that.loadend) return;
if (that.pageloading) return;
this.pageloading = true
getPresellList(data).then(res => {
// console.log(res);
var presellList = res.data.list;
var loadend = presellList.length < that.limit;
that.page++;
@ -188,21 +230,26 @@ import { Toast } from '../../../libs/uniApi.js';
// background-color: var(--view-theme);
background-color: #fd552a;
}
.noCommodity {
border-top: none;
}
.flash-sale .header {
width: 100%;
position: relative;
}
.flash-sale .main_count {
position: relative;
// top: -150rpx;
top: -50rpx;
}
.flash-sale .header .presellBg {
width: 750rpx;
}
.flash-sale .presellList {
padding: 0 20rpx;
bottom: 0;
@ -213,23 +260,28 @@ import { Toast } from '../../../libs/uniApi.js';
line-height: 80rpx;
height: 80rpx;
}
.flash-sale .presellList .priceTag {
width: 75rpx;
height: 70rpx;
}
.flash-sale .presellList .priceTag image {
opacity: 1;
}
.flash-sale .presellList .priceTag image {
width: 100%;
height: 100%;
}
.flash-sale .timeList {
display: flex;
justify-content: center;
align-items: center;
margin: 0 auto;
}
.flash-sale .timeList .item {
font-size: 20rpx;
color: #666;
@ -237,15 +289,19 @@ import { Toast } from '../../../libs/uniApi.js';
box-sizing: border-box;
width: 224rpx;
}
.flash-sale .timeList .item .time {
font-size: 26rpx;
color: #AAAAAA;
}
.flash-sale .timeList .item.on .time {
color: var(--view-theme);
font-weight: 700;
span {
position: relative;
&::after {
content: '';
display: inline-block;
@ -259,6 +315,7 @@ import { Toast } from '../../../libs/uniApi.js';
}
}
}
.activity {
padding: 0 20rpx;
border: 1px solid var(--view-theme);
@ -267,6 +324,7 @@ import { Toast } from '../../../libs/uniApi.js';
line-height: 40rpx;
position: relative;
}
.activity:before {
content: ' ';
position: absolute;
@ -280,6 +338,7 @@ import { Toast } from '../../../libs/uniApi.js';
margin-bottom: -6rpx;
border-left-color: #fff;
}
.activity:after {
content: ' ';
position: absolute;
@ -293,9 +352,11 @@ import { Toast } from '../../../libs/uniApi.js';
margin-bottom: -6rpx;
border-right-color: #fff;
}
.flash-sale .list {
margin-top: 24rpx;
}
.flash-sale .list .item {
height: 238rpx;
position: relative;
@ -305,67 +366,81 @@ import { Toast } from '../../../libs/uniApi.js';
border-radius: 20rpx;
padding: 0 25rpx;
}
.flash-sale .list .item .pictrue {
width: 200rpx;
height: 200rpx;
border-radius: 10rpx;
}
.flash-sale .list .item .pictrue image {
width: 100%;
height: 100%;
border-radius: 10rpx;
}
.flash-sale .list .item .text {
width: 420rpx;
font-size: 30rpx;
color: #333;
}
.flash-sale .list .item .text .name {
width: 100%;
color: #282828;
font-weight: bold;
font-size: 28rpx;
}
.flash-sale .list .item .text .booking {
font-size: 30rpx;
color: #E93323;
}
.flash-sale .list .item .text .booking .count {
font-size: 24rpx;
color: #E93323;
}
.flash-sale .list .item .text .limit {
font-size: 22rpx;
color: #999;
margin-bottom: 5rpx;
}
.flash-sale .list .item .text .limit .limitPrice {
margin-left: 10rpx;
}
.flash-sale .list .item .text .progress {
width: 392rpx;
height: 74rpx;
background-size: 100%;
margin-top: 16rpx;
.presell_price {
float: left;
width: 50%;
text-align: center;
line-height: 15px;
padding: 8rpx 0;
.presell_text {
display: block;
color: #FF4F00;
font-size: 20rpx;
}
.price {
font-size: 26rpx;
color: #FF4F00;
text {
font-weight: bold;
}
}
}
.order_btn {
float: left;
width: 50%;
@ -374,6 +449,7 @@ import { Toast } from '../../../libs/uniApi.js';
font-size: 26rpx;
line-height: 76rpx;
}
.unStartBtn {
float: left;
width: 50%;
@ -381,22 +457,30 @@ import { Toast } from '../../../libs/uniApi.js';
color: #FFFFFF;
font-size: 20rpx;
padding: 8rpx 0;
text {
font-size: 22rpx;
}
}
}
.tool-bar {
display: flex;
align-items: center;
height: 40px;
.v-input /deep/.u-button__text {
font-size: 28rpx !important;
}
}
.fixed-head {
position: absolute;
left: 0;
top: var(--status-bar-height);
width: 100%;
z-index: 10;
.icon-xiangzuo {
margin-right: 40rpx;
margin-left: 20rpx;
@ -404,13 +488,16 @@ import { Toast } from '../../../libs/uniApi.js';
color: #fff;
}
}
.card_price {
font-size: 32rpx;
color: #FF8056;
.card_small {
font-size: 26rpx;
}
}
.card_bottom {
display: flex;
justify-content: space-between;
@ -426,10 +513,12 @@ import { Toast } from '../../../libs/uniApi.js';
// height: 96rpx;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 3; /* 指定显示三行 */
-webkit-line-clamp: 3;
/* 指定显示三行 */
overflow: hidden;
text-overflow: ellipsis;
}
.card_right {
flex-shrink: 0;
background-color: #FF593C;
@ -445,6 +534,7 @@ import { Toast } from '../../../libs/uniApi.js';
color: #fff;
}
}
.popup_ref {
width: 583rpx;
height: 393rpx;
@ -455,14 +545,17 @@ import { Toast } from '../../../libs/uniApi.js';
align-items: center;
justify-content: center;
color: #FF8056;
.p_icon {
width: 250rpx;
height: 140rpx;
}
.p_item1 {
font-size: 30rpx;
padding: 30rpx 0;
}
.p_item2 {
font-size: 28rpx;
width: 380rpx;