This commit is contained in:
DESKTOP-GMUNQ1B\k 2024-02-29 15:07:46 +08:00
parent ce9433b4e3
commit 94bedadb9d
13 changed files with 6188 additions and 2939 deletions

29
api/cloud_warehouse.js Normal file
View File

@ -0,0 +1,29 @@
import request from "@/utils/request.js";
/**
* 获取里海云仓大分类
* @param
*/
export function getCategory(id, pid) {
let par = {};
if (pid) {
par['pid'] = pid;
}
return request.get("store/merchant/category/lst/" + id, par);
}
/**
* 获取里海云仓比例
* @param
*/
export function getProportion(data) {
return request.get("product/spu/storeLabel", data);
}
/**
* 里海云仓商品列表
* @param
*/
export function goodsList(data) {
return request.get("product/spu/merchant/" + data.mer_id, data);
}

View File

@ -1,5 +1,5 @@
<template>
<view class="empty-box">
<view class="empty-box" :style="{'margin-top':mt}">
<image src="/static/images/empty-box.png"></image>
<view class="txt" :style="{color:color}">{{title}}</view>
</view>
@ -24,6 +24,10 @@
color: {
type: String,
default: "#999"
},
mt: {
type: String,
default: "200rpx"
}
},
}

View File

@ -88,8 +88,7 @@
"navigationStyle": "custom",
"navigationBarTitleText": "直播间"
}
}
,{
}, {
"path": "pages/room/histroyroom",
"style": {
"navigationBarTitleText": "历史直播间",
@ -171,36 +170,31 @@
"disableScroll": true,
"navigationStyle": "custom"
}
}
,{
"path" : "pages/margin/margin",
"style" :
{
"navigationBarTitleText":"缴纳押金",
}, {
"path": "pages/margin/margin",
"style": {
"navigationBarTitleText": "缴纳押金",
"enablePullDownRefresh": false
}
},
{
"path" : "pages/select_address/select_address",
"style" :
{
"navigationBarTitleText" : "选择位置",
"enablePullDownRefresh" : false
"path": "pages/select_address/select_address",
"style": {
"navigationBarTitleText": "选择位置",
"enablePullDownRefresh": false
}
},
{
"path" : "pages/select_address/select_address_n",
"style" :
{
"navigationBarTitleText" : "选择位置",
"enablePullDownRefresh" : false
"path": "pages/select_address/select_address_n",
"style": {
"navigationBarTitleText": "选择位置",
"enablePullDownRefresh": false
}
},
{
"path" : "pages/newActivity/activityDetail/activityDetail",
"style" :
{
"path": "pages/newActivity/activityDetail/activityDetail",
"style": {
"navigationBarTitleText": "活动",
"enablePullDownRefresh": true,
"navigationStyle": "custom",
@ -208,9 +202,8 @@
}
},
{
"path" : "pages/newActivity/subsidy/subsidy",
"style" :
{
"path": "pages/newActivity/subsidy/subsidy",
"style": {
"navigationBarTitleText": "补贴记录",
"enablePullDownRefresh": true,
"navigationStyle": "custom",
@ -218,9 +211,8 @@
}
},
{
"path" : "pages/newActivity/invitation/invitation",
"style" :
{
"path": "pages/newActivity/invitation/invitation",
"style": {
"navigationBarTitleText": "拉新活动",
"enablePullDownRefresh": true,
"navigationStyle": "custom",
@ -228,105 +220,94 @@
}
},
{
"path" : "pages/redpacket/redpacket",
"style" :
{
"navigationBarTitleText" : "补贴",
"enablePullDownRefresh" : false
"path": "pages/redpacket/redpacket",
"style": {
"navigationBarTitleText": "补贴",
"enablePullDownRefresh": false
}
},
{
"path" : "pages/redpacket/redpack_type",
"style" :
{
"navigationBarTitleText" : "补贴余额",
"path": "pages/redpacket/redpack_type",
"style": {
"navigationBarTitleText": "补贴余额",
"enablePullDownRefresh": false,
"navigationStyle": "custom",
"onReachBottomDistance": 300
}
},
{
"path" : "pages/newActivity/subsidy/subsidy2",
"style" :
{
"navigationBarTitleText" : "实物通用补贴",
"path": "pages/newActivity/subsidy/subsidy2",
"style": {
"navigationBarTitleText": "实物通用补贴",
"enablePullDownRefresh": false,
"navigationStyle": "custom",
"onReachBottomDistance": 300
}
},
{
"path" : "pages/newActivity/subsidy/subsidy3",
"style" :
{
"navigationBarTitleText" : "现金抵扣补贴",
"path": "pages/newActivity/subsidy/subsidy3",
"style": {
"navigationBarTitleText": "现金抵扣补贴",
"enablePullDownRefresh": false,
"navigationStyle": "custom",
"onReachBottomDistance": 300
}
},
{
"path" : "pages/newActivity/towPrice/towPrice",
"style" :
{
"navigationBarTitleText" : "两元专区",
"path": "pages/newActivity/towPrice/towPrice",
"style": {
"navigationBarTitleText": "两元专区",
"enablePullDownRefresh": false,
"navigationStyle": "custom",
"onReachBottomDistance": 300
}
},
{
"path" : "pages/order_addcart/order_addcart_t",
"style" :
{
"navigationBarTitleText" : "购物车",
"enablePullDownRefresh" : false
"path": "pages/order_addcart/order_addcart_t",
"style": {
"navigationBarTitleText": "购物车",
"enablePullDownRefresh": false
}
},
{
"path" : "pages/newActivity/giftBag/giftBag",
"style" :
{
"navigationBarTitleText" : "新人礼包",
"path": "pages/newActivity/giftBag/giftBag",
"style": {
"navigationBarTitleText": "新人礼包",
"enablePullDownRefresh": false,
"navigationStyle": "custom",
"onReachBottomDistance": 300
}
},
{
"path" : "pages/helpPeople/helpPeople",
"style" :
{
"navigationBarTitleText" : "",
"path": "pages/helpPeople/helpPeople",
"style": {
"navigationBarTitleText": "",
"enablePullDownRefresh": false,
"navigationStyle": "custom",
"onReachBottomDistance": 300
}
},
{
"path" : "pages/helpPeople/formTable",
"style" :
{
"navigationBarTitleText" : "信息收集",
"path": "pages/helpPeople/formTable",
"style": {
"navigationBarTitleText": "信息收集",
"enablePullDownRefresh": false,
"navigationStyle": "custom",
"onReachBottomDistance": 300
}
},
{
"path" : "pages/rich/rich",
"style" :
{
"navigationBarTitleText" : "政策答疑",
"enablePullDownRefresh" : false
"path": "pages/rich/rich",
"style": {
"navigationBarTitleText": "政策答疑",
"enablePullDownRefresh": false
}
},
{
"path" : "pages/rich/mp4",
"style" :
{
"navigationBarTitleText" : "教学视频",
"enablePullDownRefresh" : false
"path": "pages/rich/mp4",
"style": {
"navigationBarTitleText": "教学视频",
"enablePullDownRefresh": false
}
}
],
@ -352,7 +333,7 @@
"navigationBarTextStyle": "#fff"
// #endif
}
},{
}, {
"path": "index_v",
"style": {
"navigationStyle": "custom"
@ -403,6 +384,22 @@
}
}
]
}, {
"root": "pages/cloud_warehouse",
"name": "cloud_warehouse",
"pages": [{
"path": "big_classification/index",
"style": {
"navigationBarTitleText": "云仓分类",
"enablePullDownRefresh": true
}
}, {
"path": "small_classification/index",
"style": {
"navigationBarTitleText": "云仓分类",
"enablePullDownRefresh": true
}
}]
},
{
"root": "pages/nongKe",
@ -527,7 +524,7 @@
"enablePullDownRefresh": true
}
},{
}, {
"path": "cloud_entrepot/indexh",
"style": {
"navigationStyle": "custom",
@ -551,7 +548,7 @@
"navigationStyle": "custom"
}
},{
}, {
"path": "specialty/short_index",
"style": {
"navigationBarTitleText": "集体店铺",
@ -685,11 +682,10 @@
}
},
{
"path" : "user_money/money",
"style" :
{
"navigationBarTitleText" : "我的余额",
"enablePullDownRefresh" : false
"path": "user_money/money",
"style": {
"navigationBarTitleText": "我的余额",
"enablePullDownRefresh": false
}
},
{

View File

@ -0,0 +1,194 @@
<!-- 里海云仓大分类 -->
<template>
<view class="bigClassification">
<!-- 占位 -->
<view style="height: var(--status-bar-height);"></view>
<!-- 返回 -->
<view class="back-icon" @click="handleBack"></view>
<!-- 分类 -->
<view class="classification">
<view class="classification-wrap" v-if="list.length >0">
<block v-for="(item,indx) in list" :key="indx">
<view class="classification-item" @click="goSmallType(item)">
<view class="classification-item-name">{{item.cate_name}}</view>
<view class="classification-item-btn">立即前往</view>
<u-image :src="item.pic" mode="widthFix" width="140rpx" height="130rpx" class="img">
<view slot="error" style="font-size: 24rpx;">暂无图片</view>
</u-image>
</view>
</block>
</view>
<view class='empty-box' v-if="list.length == 0">
<view class='pictrue'>
<u--image src='../../../static/images/empty-box.png' width="414rpx" height="240rpx" />
<view class="txt">暂无更多分类~</view>
</view>
</view>
</view>
</view>
</template>
<script>
import {
getCategory
} from "@/api/cloud_warehouse.js";
import {
getCategoryListLevel
} from '@/api/requesta.js'
export default {
data() {
return {
list: [],
mer_id: ''
}
},
onLoad(opt) {
// this.mer_id = opt.id || 244;
// this.getData();
this.getCloundShop();
},
methods: {
getCloundShop() {
uni.showLoading({
title: "加载中..."
})
getCategoryListLevel({
type: 2
}).then(res => {
uni.hideLoading();
this.list = res.data;
}).catch(() => {
uni.hideLoading();
})
},
//
handleBack() {
uni.navigateBack({
delta: 1
})
},
//
goSmallType(e) {
uni.setStorageSync("market_type_parent", e);
uni.navigateTo({
url: "/pages/cloud_warehouse/small_classification/index"
})
}
}
}
</script>
<style lang="scss" scoped>
page {
height: 100%;
background-color: #F7F7F7;
}
.bigClassification {
position: relative;
width: 100%;
height: 760rpx;
background-image: url('https://lihai001.oss-cn-chengdu.aliyuncs.com/def/06e54202402281547535138.webp');
background-size: cover;
background-repeat: no-repeat;
background-position: center;
}
.back-icon {
position: absolute;
top: 116rpx;
left: 20rpx;
width: 20rpx;
height: 20rpx;
border: 2rpx solid #fff;
border-bottom-color: transparent;
border-right-color: transparent;
transform: rotate(-45deg);
}
.classification {
margin-left: 20rpx;
padding-top: 490rpx;
.classification-wrap {
display: flex;
flex-wrap: wrap;
.classification-item {
width: 47%;
position: relative;
background-color: #fff;
margin: 0 20rpx 18rpx 0;
border-radius: 30rpx;
padding: 26rpx 0 26rpx 24rpx;
.classification-item-name {
position: relative;
z-index: 2;
display: inline-block;
font-size: 36rpx;
color: #000;
font-weight: bold;
margin-bottom: 30rpx;
&::before {
content: "";
display: inline-block;
position: absolute;
z-index: -1;
left: 0rpx;
bottom: -2rpx;
width: 100%;
height: 24rpx;
border-radius: 24rpx;
background: linear-gradient(to right, #FF8259 0%, rgba(255, 255, 255, .8) 80%);
}
}
.classification-item-btn {
width: 140rpx;
height: 48rpx;
line-height: 48rpx;
border-radius: 48rpx;
text-align: center;
color: #FFB298;
border: 2rpx solid #FFB298;
}
.img {
position: absolute;
bottom: 0;
right: 0;
}
}
}
}
.empty-box {
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
margin: 100rpx auto 0;
image {
width: 414rpx;
height: 240rpx;
}
.txt {
font-size: 26rpx;
color: #999;
text-align: center;
}
}
</style>

View File

@ -0,0 +1,406 @@
<template>
<view class="" style="background-color: #fff;">
<u-sticky customNavHeight="0">
<view class="head_top">
<u-tabs :list="tabsList" itemStyle="font-size: 32rpx;height: 74rpx;" :current="current"
@change="changeCurrent" lineColor="#FF6D20" lineWidth="105rpx" height="7rpx"></u-tabs>
</u-tabs>
</view>
</u-sticky>
<view style="background-color: #f4f4f4;height: 30rpx;"></view>
<view class="address-box" v-if="current==0" style="padding: 0;">
<map style="width: 750rpx;height: 750rpx;" :longitude="longitude" :latitude="latitude" :markers="[markers]"
show-location @tap="handleMapTap"></map>
<view class="head_item" style="padding: 10rpx 20rpx;">
<view class="re-location">
<view style="width: 120rpx;"><text class="text">当前位置: </text></view>
<view style="flex: 1;">
<text
class="text">{{locationInfo.formatted_addresses?locationInfo.formatted_addresses.recommend:locationInfo.address}}</text>
</view>
</view>
<view class="re-btn" @click="reGetLocation">
<image class="re-address-img" src="@/static/cloud_warehouse/dw.png"></image><text
class="text">重新定位</text>
</view>
</view>
<u-button text="确认" @click="submitAddress"></u-button>
</view>
<view class="address-box" v-if="current==1">
<view class="head_item_tips">
<view><text class="text">泸州区县</text></view>
</view>
<view class="area">
<view class="area-item" :class="{'area-item-on': item.code==area_change}"
v-for="(item, index) in areaList" :key="index" @click="changeArea(item)">
<text class="text">{{item.name}}</text>
</view>
</view>
<view class="head_item_tips">
<view><text class="text">选择街道/</text></view>
</view>
<view class="street">
<view class="letter-item" v-for="key in mapKey" :key="key">
<view class="letter"><text class="text">{{key}}</text></view>
<view class="item-box">
<view class="street-item" v-for="item in mapList[key]" :key="item.code"
@click="changeStreet(item)">
<text class="text">{{item.name}}</text>
</view>
</view>
</view>
</view>
</view>
</view>
</template>
<script>
import {
getGeocoder,
merClassifly,
getProductslist
} from '@/api/store.js';
import {
getArea,
getStreet
} from "@/api/article.js";
import {
Toast
} from '@/libs/uniApi';
import {
wgsToGcj
} from "@/utils/wgs.js";
export default {
data() {
return {
tabsList: [{
name: '地图定位',
}, {
name: '泸州区县',
}],
current: 0,
latitude: '28.87',
longitude: '105.44',
markers: {
id: 1,
longitude: '28.87',
latitude: '105.44',
iconPath: 'https://lihai001.oss-cn-chengdu.aliyuncs.com/def/cbbd5202311241523412538.png',
width: 28,
height: 28
},
locationInfo: {},
town: '',
street_id: '',
street: '',
areaList: [],
streetList: [],
mapList: {},
area_change: '',
street_change: '',
}
},
onLoad(options) {
this.getLoaction();
this.loadArea();
},
onShow() {},
computed: {
mapKey() {
return Object.keys(this.mapList).sort()
}
},
methods: {
changeCurrent(e) {
this.current = e.index;
},
getLoaction() {
this.street = '定位中'
this.locationInfo = {};
this.locationInfo.formatted_addresses = {};
this.locationInfo.formatted_addresses.recommend = '定位中'
uni.getLocation({
type: 'wgs84',
success: (res) => {
res = wgsToGcj(res);
let latitude, longitude;
latitude = res.latitude.toString();
longitude = res.longitude.toString();
this.latitude = res.latitude.toFixed(6);
this.longitude = res.longitude.toFixed(6);
this.$store.commit('setLocation', {
lat: res.latitude.toFixed(6),
long: res.longitude.toFixed(6),
});
getGeocoder({
lat: latitude,
long: longitude
}).then(res => {
this.locationInfo = res.data;
this.town = res.data.address_reference.town.title
this.street_id = res.data.address_reference.town.id
this.street = res.data.address_reference.town.title;
}).catch(err => {
uni.showToast({
title: err,
icon: 'none'
})
this.street = '定位失败'
})
},
fail: (err) => {
console.log('定位失败');
this.isshow = false
Toast('定位失败,请检查定位权限是否开启')
this.street = '定位失败'
this.locationInfo.formatted_addresses.recommend = '定位失败'
// uni.showToast({
// title: "",
// icon: 'none',
// duration: 2000
// });
}
});
},
reGetLocation() {
this.getLoaction()
},
loadArea() {
getArea({
city_code: 510500
}).then((res) => {
this.areaList = res.data;
this.changeArea(this.areaList[0]);
})
},
loadStreet(area_code) {
this.street_change = '';
getStreet({
area_code
}).then((res) => {
this.streetList = res.data;
this.initPinyin();
})
},
initPinyin() {
this.mapList = {};
this.streetList.forEach((item) => {
let str = item.pinyin?.toUpperCase();
str = str ? str : '#';
if (this.mapList[str]) {
this.mapList[str].push(item);
} else {
this.mapList[str] = [];
this.mapList[str].push(item)
}
})
},
changeArea(item) {
this.area_change = item.code;
this.loadStreet(this.area_change);
},
//
changeStreet(item) {
uni.navigateBack({
success: () => {
uni.$emit('changeAddress', {
area: this.area_change,
street: item
})
}
})
},
//
handleMapTap(e) {
// console.log('', e);
// #ifdef H5
return Toast('H5暂不支持选择坐标');
// #endif
let longitude = e.detail.longitude;
let latitude = e.detail.latitude;
this.markers.longitude = longitude;
this.markers.latitude = latitude;
// console.log('', this.markers);
getGeocoder({
lat: latitude,
long: longitude
}).then(res => {
// console.log(res);
this.locationInfo = res.data;
}).catch(err => {
uni.showToast({
title: err,
icon: 'none'
})
this.locationInfo = {};
this.locationInfo.formatted_addresses = {};
this.locationInfo.formatted_addresses.recommend = '定位失败'
})
},
submitAddress() {
console.log(this.locationInfo);
try {
this.town = this.locationInfo.address_reference.town.title;
this.street_id = this.locationInfo.address_reference.town.id;
this.street = this.locationInfo.address_reference.town.title;
let obj = {
area: this.locationInfo.ad_info.adcode,
street: {
name: this.street,
code: this.street_id
},
latitude: this.latitude,
longitude: this.longitude
}
console.log({
...obj
});
uni.navigateBack({
success: () => {
uni.$emit('changeAddress', obj)
}
})
} catch (e) {
return Toast('地址有误,请重新选择')
}
}
},
onPullDownRefresh() {
uni.stopPullDownRefresh()
}
}
</script>
<style>
/* page {
background-color: #fff;
} */
.text {
font-size: 28rpx;
white-space: normal;
}
.head_top {
background-color: #fff;
padding: 28rpx;
}
.address-box {
border-radius: 21rpx 21rpx 0rpx 0rpx;
padding: 30rpx 28rpx;
width: 750rpx;
}
.head_item {
width: 750rpx;
flex-direction: row;
justify-content: space-between;
padding-bottom: 28rpx;
font-size: 28rpx;
font-family: PingFang SC-Regular, PingFang SC;
font-weight: 400;
color: #333333;
}
.re-location {
flex-direction: row;
flex-wrap: nowrap;
width: 480rpx;
align-items: center;
}
.re-address-img {
width: 38.55rpx;
height: 38.55rpx;
margin-right: 10rpx;
}
.re-btn {
flex-direction: row;
padding-left: 10rpx;
width: 200rpx;
height: 100rpx;
align-items: center;
}
.head_item_tips {
height: 44rpx;
font-size: 32rpx;
font-family: PingFang SC-Regular, PingFang SC;
font-weight: 400;
color: #737373;
}
.address-list {
font-size: 28rpx;
font-family: PingFang SC-Regular, PingFang SC;
font-weight: 400;
color: #333333;
height: 80rpx;
line-height: 75rpx;
border-bottom: 1rpx solid rgba(0, 0, 0, 0.1);
}
.area {
flex-direction: row;
flex-wrap: wrap;
padding-top: 30rpx;
justify-content: flex-start;
}
.area-item {
height: 64rpx;
/* width: 100px; */
background-color: #fff;
border-radius: 11rpx 11rpx 11rpx 11rpx;
border: 2rpx solid #B3B3B3;
flex-direction: row;
align-items: center;
justify-content: center;
padding: 0 20rpx;
font-size: 28rpx;
font-family: PingFang SC-Medium, PingFang SC;
font-weight: 500;
color: #737373;
margin-bottom: 22rpx;
margin-right: 22rpx;
}
.area-item-on {
color: #ff6d20;
border: 2rpx solid #ff6d20;
}
.street {
padding-top: 28rpx;
}
.letter-item {
flex-direction: row;
}
.letter {
margin-right: 28rpx;
font-size: 25rpx;
font-family: PingFang SC, PingFang SC;
font-weight: 400;
width: 40rpx;
text-align: center;
color: #737373;
}
.item-box {
flex: 1;
}
.street-item {
width: 100%;
padding-bottom: 28rpx;
font-size: 28rpx;
font-family: PingFang SC, PingFang SC;
font-weight: 400;
color: #333333;
}
</style>

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,630 @@
<!-- 里海云仓小分类 -->
<template>
<view class="smallClassification">
<!-- 占位 -->
<view style="height: var(--status-bar-height);"></view>
<!-- 搜索 -->
<view class="search">
<view class="icon" @click="handleBack" />
<view class="input-wrap">
<icon type="search" size="18" />
<input type="text" class="uni-input" placeholder="搜索商品" @input="" />
</view>
</view>
<!-- goods -->
<view class="con">
<view class="con-left" :style="{'height':leftDomHeight}">
<!-- 侧边栏商品类型 -->
<block v-for="(item,indx) in cateData" :key="indx">
<view class="con-left-bili_num_2" @click="handleChooseSideBar(item.store_category_id)">
<u--image :src="item.pic" width="100rpx" height="100rpx" style="margin-bottom: 20rpx;"
shape="circle">
<template v-slot:loading>
<u-loading-icon color="#999"></u-loading-icon>
</template>
</u--image>
<text class="cate-name"
:class="{active:searchParam.mer_cate_id == item.store_category_id?true:false}">{{item.cate_name}}</text>
</view>
</block>
</view>
<view class="con-right">
<!-- 补贴比例标签 -->
<view class="con-right-proportion">
<image src="../../../static/cloud_warehouse/dkbl.png" />
<block v-for="(item,indx) in propotionData" :key="indx">
<view class="con-right-proportion-item"
:class="{active:searchParam.deduction_rate == item.product_label_id}"
@click="handleChooseProp(item.product_label_id)">{{item.label_name}}</view>
</block>
</view>
<!-- 商品列表 -->
<scroll-view scroll-y="true" class="con-right-goods" :style="{'height':goodsListHeight}"
:show-scrollbar="false" :scroll-with-animation="true" @scrolltolower="scrolltolower">
<view v-if="goodsData.length > 0">
<view class="con-right-goods-item" v-for="(item,indx) in goodsData" :key="indx">
<view class="goods-item-left">
<u--image :src="item.image" width="190rpx" height="190rpx" radius="10" />
</view>
<view class="goods-item-right">
<view class="goods-item-right-title">
<text class="city">同城</text>
<text class="name line1">{{item.store_name}}</text>
</view>
<view class="goods-item-right-redpackat line1">可使用补贴抵扣20%</view>
<view class="goods-item-right-rules">
<text class="unit">规格1{{item.unit_name}}</text>
<!-- 方山镇 -->
<text class="addr"></text>
</view>
<view class="goods-item-right-purchase">
<text class="num">{{item.price}}</text>
<text class="buy"></text>
</view>
</view>
</view>
<view class="loadingicon acea-row row-center-wrapper" style="color: #ccc;">
<text class="loading iconfont icon-jiazai" :hidden="hotLoading == false"></text>
{{ hotTitle }}
</view>
</view>
<view class='empty-box' v-else>
<view class='pictrue'>
<u--image src='../../../static/images/empty-box.png' width="414rpx"
height="240rpx"></u--image>
<view class="txt">暂无更多商品~</view>
</view>
</view>
</scroll-view>
</view>
</view>
<!-- 悬浮购买按钮 -->
<view class="flow">
<image src="../../../static/cloud_warehouse/gwc.png"></image>
<text>11</text>
</view>
<!-- 底部结算 -->
<view class="footer">
<view class="footer-left">
<text class="price">184.00</text>
<text class="desc">支持配送 售后无忧</text>
</view>
<view class="footer-right">去结算</view>
</view>
</view>
</template>
<script>
import {
getProportion,
getCategory,
goodsList
} from "@/api/cloud_warehouse.js";
export default {
data() {
return {
leftDomHeight: 0, //
goodsListHeight: 0, //
propotionData: [], //
cateData: [], //
goodsData: [], //
pid: '', //id
searchParam: {
mer_cate_id: '', //id
mer_id: '', //id
deduction_rate: '', //id
keyword: '', //
page: 1,
limit: 10
},
//
hotTitle: '加载更多',
hotLoading: false,
hotScroll: true,
}
},
onLoad(opt) {
this.pid = opt.pid;
this.searchParam.mer_id = opt.mer_id; //id
this.initHeight();
this.initGoodsListHeight();
this.initConfig();
},
methods: {
//
handleBack() {
uni.navigateBack({
delta: 1
})
},
//
initConfig() {
uni.showLoading({
title: "加载中",
})
Promise.all([getProportion({
mer_id: this.searchParam.mer_id
}), getCategory(this.searchParam.mer_id, this.pid)]).then(res => {
uni.hideLoading();
const [proportion, cate] = res;
this.cateData = cate.data;
this.propotionData = proportion.data;
//
this.searchParam.mer_cate_id = this.cateData[0].store_category_id;
// this.searchParam.deduction_rate = this.propotionData[0].product_label_id;
this.getGoodsList();
}).catch(er => {
uni.hideLoading();
})
},
//
scrolltolower(e) {
this.getGoodsList();
},
//
getGoodsList() {
let that = this;
let num = that.searchParam.limit;
if (!that.hotScroll) return;
if (that.hotLoading) return;
that.hotLoading = true;
that.hotTitle = '';
goodsList(this.searchParam).then(res => {
let list = res.data.list;
let hotScroll;
if (list.length < num && list.length != 0 || list.length == 0)
hotScroll = true;
else
hotScroll = false;
that.hotScroll = hotScroll;
that.hotLoading = false;
that.hotTitle = hotScroll ? '已全部加载' : '加载更多';
that.goodsData = that.goodsData.concat(list);
that.searchParam.page += 1;
});
},
//
handleChooseProp(e) {
this.goodsData = [];
this.searchParam.page = 1;
this.searchParam.deduction_rate = e;
this.getGoodsList();
},
//
handleChooseSideBar(e) {
this.goodsData = [];
this.searchParam.page = 1;
this.searchParam.mer_cate_id = e;
this.getGoodsList();
},
//
initGoodsListHeight() {
this.$nextTick(async () => {
let footerDom = await this.getDomInfo(".footer");
let goodsDom = await this.getDomInfo(".con-right-goods");
this.goodsListHeight = footerDom.top - goodsDom.top + "px";
})
},
//
initHeight() {
this.$nextTick(async () => {
let leftDom = await this.getDomInfo(".con-left");
let flowDom = await this.getDomInfo(".flow");
this.leftDomHeight = flowDom.top - leftDom.top + "px";
})
},
// dom
getDomInfo(selector) {
return new Promise((resolve, reject) => {
uni.createSelectorQuery().in(this).select(selector).boundingClientRect((data) => {
resolve(data);
}).exec();
})
}
}
}
</script>
<style lang="scss">
page {
height: 100%;
background-color: #F7F7F7;
}
view,
text {
line-height: 1;
}
.smallClassification {
width: 100%;
height: 760rpx;
background-image: url("https://lihai001.oss-cn-chengdu.aliyuncs.com/def/80b54202402290906142644.webp");
background-size: cover;
background-repeat: no-repeat;
background-position: center;
.search {
display: flex;
align-items: center;
padding: 102rpx 30rpx 0;
box-sizing: border-box;
margin-bottom: 42rpx;
.icon {
width: 24rpx;
height: 24rpx;
border: 2rpx solid #fff;
border-bottom-color: transparent;
border-right-color: transparent;
transform: rotate(-45deg);
margin-right: 20rpx;
}
.input-wrap {
flex: 1;
display: flex;
align-items: center;
background: #FFFFFF;
border-radius: 29rpx;
height: 58rpx;
padding-left: 16rpx;
input {
width: 494rpx;
height: 100%;
margin-right: 20rpx;
box-sizing: border-box;
margin-left: 20rpx;
color: #7A7A7A;
}
.uni-input-placeholder {
font-size: 28rpx;
color: #9f9f9f;
}
}
text {
width: 100rpx;
font-size: 28rpx;
font-family: PingFang SC;
font-weight: 500;
color: #FFFFFF;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
image {
width: 42rpx;
height: 40rpx;
}
}
.con {
display: flex;
.con-left {
display: flex;
flex-direction: column;
align-items: center;
width: 176rpx;
overflow: auto;
.con-left-bili_title {
margin-bottom: 40rpx;
}
[class^=con-left-bili_num_] {
display: flex;
flex-direction: column;
align-items: center;
margin-bottom: 30rpx;
text {
position: relative;
display: inline-block;
font-size: 26rpx;
font-family: PingFang SC;
font-weight: 400;
color: #262626;
text-align: center;
width: 80%;
}
.active {
font-size: 26rpx;
font-family: PingFang SC;
font-weight: bold;
color: #252525;
&::after {
content: "";
display: inline-block;
position: absolute;
bottom: -10rpx;
left: 50%;
transform: translateX(-50%);
width: 80rpx;
height: 18rpx;
background: linear-gradient(90deg, #FF8057 0%, rgba(86, 197, 113, 0) 100%);
border-radius: 9rpx 0rpx 0rpx 9rpx;
}
}
}
}
.con-right {
width: calc(100vw - 176rpx);
padding-right: 20rpx;
box-sizing: border-box;
.con-right-proportion {
display: flex;
align-items: center;
height: 38rpx;
margin-bottom: 25rpx;
image {
width: 154rpx;
height: 28rpx;
margin-right: 50rpx;
}
.con-right-proportion-item {
margin-right: 22rpx;
font-size: 26rpx;
font-family: PingFang SC;
font-weight: 500;
color: #FFFFFF;
}
.active {
padding: 7rpx 22rpx;
background: #FEE109;
border-radius: 17rpx;
font-size: 26rpx;
font-family: PingFang SC;
font-weight: 500;
color: #616161;
}
}
.con-right-goods {
overflow: auto;
.con-right-goods-item {
display: flex;
width: 100%;
margin-bottom: 20rpx;
padding: 20rpx;
background: #FFFFFF;
border-radius: 30rpx;
.goods-item-left {
background: #A3CAB9;
border-radius: 20rpx;
margin-right: 20rpx;
}
.goods-item-right {
flex: 1;
.goods-item-right-title {
display: flex;
margin-bottom: 20rpx;
.city {
margin-right: 10rpx;
padding: 4rpx 8rpx;
background: #FF8056;
border-radius: 6rpx;
font-size: 20rpx;
font-family: PingFang SC;
font-weight: 400;
color: #FFFFFF;
}
.name {
width: 206rpx;
height: 28rpx;
font-size: 26rpx;
font-family: PingFang SC;
color: #1A1A1A;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
}
.goods-item-right-redpackat {
display: inline-block;
margin-bottom: 18rpx;
padding: 6rpx 14rpx;
background: rgba(246, 68, 39, .28);
border-radius: 17rpx;
font-size: 22rpx;
font-family: PingFang SC;
font-weight: 400;
color: #F23131;
}
.goods-item-right-rules {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 25rpx;
.unit,
.addr {
font-size: 22rpx;
font-family: PingFang SC;
font-weight: 400;
color: #7A7A7A;
}
.unit {}
.addr {}
}
.goods-item-right-purchase {
display: flex;
justify-content: space-between;
align-items: center;
.num {
font-size: 24rpx;
font-family: PingFang SC;
font-weight: 500;
color: #1A1A1A;
}
.buy {
position: relative;
display: inline-block;
width: 40rpx;
height: 40rpx;
background: #FF8056;
border-radius: 50%;
&::after,
&::before {
content: "";
display: inline-block;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: 24rpx;
height: 4rpx;
background: #FFFFFF;
}
&::before {
transform: translate(-50%, -50%) rotate(90deg);
}
}
}
}
}
}
}
}
.footer {
position: fixed;
bottom: 0;
left: 0;
display: flex;
justify-content: space-between;
padding: 0 20rpx 0 40rpx;
width: 750rpx;
height: 166rpx;
background: #FFFFFF;
box-sizing: border-box;
.footer-left {
display: flex;
flex-direction: column;
margin-top: 14rpx;
.price {
width: 131rpx;
height: 28rpx;
font-size: 30rpx;
font-family: PingFang SC;
font-weight: 400;
color: #1A1A1A;
margin-bottom: 18rpx;
}
.desc {
font-size: 26rpx;
font-family: PingFang SC;
font-weight: 400;
color: #616161;
}
}
.footer-right {
width: 200rpx;
height: 78rpx;
line-height: 78rpx;
text-align: center;
background: linear-gradient(-20deg, #FF8154 0%, #FF8154 100%);
border-radius: 39rpx;
font-size: 30rpx;
font-family: PingFang SC;
font-weight: 500;
color: #FFFFFF;
margin-top: 10rpx;
}
}
.flow {
position: fixed;
bottom: 180rpx;
left: 35rpx;
image {
width: 110rpx;
height: 110rpx;
}
text {
position: absolute;
top: -3rpx;
right: -2rpx;
width: 40rpx;
height: 40rpx;
line-height: 40rpx;
background: #FFCE51;
border-radius: 50%;
font-size: 24rpx;
font-family: PingFang SC;
font-weight: 500;
color: #616161;
text-align: center;
}
}
.empty-box {
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
margin: 100rpx auto 0;
image {
width: 414rpx;
height: 240rpx;
}
.txt {
font-size: 26rpx;
color: #999;
text-align: center;
}
}
}
</style>

View File

@ -28,11 +28,12 @@
<view class="iconfont icon-xiaoxi" style="color:#fff;"> </view>
</navigator>
</view>
<navigator url="/pages/columnGoods/goods_search/index" hover-class="none" class="search_content flex_a_c_j_sb home_search">
<navigator url="/pages/columnGoods/goods_search/index" hover-class="none"
class="search_content flex_a_c_j_sb home_search">
<view class="flex_a_c">
<view class="iconfont icon-sousuo" style="font-size: 39rpx;"></view>
<input type="text" v-model="keyword" placeholder="搜索产品或店铺" placeholder-style="font-size: 30rpx;"
disabled>
<input type="text" v-model="keyword" placeholder="搜索产品或店铺"
placeholder-style="font-size: 30rpx;" disabled>
</view>
<button class="search_btn">搜索</button>
</navigator>
@ -40,9 +41,12 @@
</view>
<view class="home_bg">
<image class="image" mode="aspectFill" src="https://lihai001.oss-cn-chengdu.aliyuncs.com/public/uploads/home_img/home_bg.webp"></image>
<image class="image" mode="aspectFill"
src="https://lihai001.oss-cn-chengdu.aliyuncs.com/public/uploads/home_img/home_bg.webp"></image>
<view class="card">
<image class="title" src="https://lihai001.oss-cn-chengdu.aliyuncs.com/public/uploads/home_img/home_title.webp"></image>
<image class="title"
src="https://lihai001.oss-cn-chengdu.aliyuncs.com/public/uploads/home_img/home_title.webp">
</image>
</view>
</view>
<!-- <zbpSwiper :isSelectPlace="true" :town="street" :streetname="street" :location_Arr="locationArr"
@ -50,17 +54,28 @@
</zbpSwiper> -->
<view class="home_list" style="padding-bottom: 0;">
<image class="left" @click="go_shop" src="https://lihai001.oss-cn-chengdu.aliyuncs.com/public/uploads/home_img/home_yuncang.webp"></image>
<image class="left" @click="navgo('/pages/cloud_warehouse/big_classification/index')"
src="https://lihai001.oss-cn-chengdu.aliyuncs.com/public/uploads/home_img/home_yuncang.webp">
</image>
<view class="right">
<image class="top" @click="navgo(`/pages/nongKe/supply_chain/supplierB?type_id=10,17&street_id=${street_id}&townName=${town}`)" src="https://lihai001.oss-cn-chengdu.aliyuncs.com/public/uploads/home_img/home_shichang.webp"></image>
<image class="bottom" @click="navgo('/pages/nongKe/specialty/index?type_code=PersonalStore&street_id='+street_id)" src="https://lihai001.oss-cn-chengdu.aliyuncs.com/public/uploads/home_img/home_my.webp"></image>
<image class="top"
@click="navgo(`/pages/nongKe/supply_chain/supplierB?type_id=10,17&street_id=${street_id}&townName=${town}`)"
src="https://lihai001.oss-cn-chengdu.aliyuncs.com/public/uploads/home_img/home_shichang.webp">
</image>
<image class="bottom"
@click="navgo('/pages/nongKe/specialty/index?type_code=PersonalStore&street_id='+street_id)"
src="https://lihai001.oss-cn-chengdu.aliyuncs.com/public/uploads/home_img/home_my.webp"></image>
</view>
</view>
<view class="home_list">
<image class="bottom" style="width: 750rpx;" mode="widthFix" @click="navgo('/pages/activity/presell/index')" src="https://lihai001.oss-cn-chengdu.aliyuncs.com/public/uploads/home_img/nongzinongju_card.webp"></image>
<image class="bottom" style="width: 750rpx;" mode="widthFix"
@click="navgo('/pages/activity/presell/index')"
src="https://lihai001.oss-cn-chengdu.aliyuncs.com/public/uploads/home_img/nongzinongju_card.webp">
</image>
</view>
<view class="home_recommend">
<image src="https://lihai001.oss-cn-chengdu.aliyuncs.com/public/uploads/home_img/home_tuijian.webp"></image>
<image src="https://lihai001.oss-cn-chengdu.aliyuncs.com/public/uploads/home_img/home_tuijian.webp">
</image>
</view>
<!-- <view class="list">
@ -175,7 +190,9 @@
<script>
import mTabbar from '@/components/m-tabbar/m-tabbar.vue'
import { wgsToGcj } from "@/utils/wgs.js";
import {
wgsToGcj
} from "@/utils/wgs.js";
import zbpSwiper from '@/components/zbpSwiper'
import easyLoadimage from '@/components/easy-loadimage/easy-loadimage.vue';
import WaterfallsFlow from '@/components/WaterfallsFlow/WaterfallsFlowo.vue'
@ -209,8 +226,10 @@
import {
Toast
} from '@/libs/uniApi'
import { data } from '../../uni_modules/uview-ui/libs/mixin/mixin';
import activityCard from "@/components/activityCard.vue"
import {
data
} from '../../uni_modules/uview-ui/libs/mixin/mixin';
import activityCard from "@/components/activityCard.vue"
export default {
components: {
mTabbar,
@ -281,12 +300,11 @@ import activityCard from "@/components/activityCard.vue"
this.loading = false;
this.list(true, this.street_id);
// this.Area()
this.$u.sleep(1000).then(()=>{
this.$u.sleep(1000).then(() => {
uni.stopPullDownRefresh()
})
},
onShow() {
},
onShow() {},
onLoad() {
// this.Area()
// this.selfLocation()
@ -361,7 +379,7 @@ import activityCard from "@/components/activityCard.vue"
},
// #endif
methods: {
closeActivityCard(){
closeActivityCard() {
this.$refs.activityPopup.close();
},
navaction(val) {
@ -372,7 +390,10 @@ import activityCard from "@/components/activityCard.vue"
},
getPositionFn() {
this.street = '定位中'
this.$store.commit('setLocation', { lat: null, long: null })
this.$store.commit('setLocation', {
lat: null,
long: null
})
uni.removeStorageSync('RejectTarget')
this.selfLocation()
@ -388,12 +409,12 @@ import activityCard from "@/components/activityCard.vue"
},
//
list(isPage=false, id) {
list(isPage = false, id) {
// if(!id||this.loadend) return this.list2(true, ''); // ,
let that = this;
if (that.loadend&&!isPage) return;
if (that.loading&&!isPage) return;
if (isPage===true){
if (that.loadend && !isPage) return;
if (that.loading && !isPage) return;
if (isPage === true) {
that.$set(that, 'where', {
category_id: 0,
page: 1,
@ -416,7 +437,7 @@ import activityCard from "@/components/activityCard.vue"
// await that.$nextTick();
// console.log(222)
let list = res.data.list;
if(list.length>0) list = this.shuffleArray(list);
if (list.length > 0) list = this.shuffleArray(list);
if (res.data.count == 0 && isPage) {
that.list2(true, '');
}
@ -435,11 +456,11 @@ import activityCard from "@/components/activityCard.vue"
});
},
list2(isPage=false, id) {
list2(isPage = false, id) {
let that = this;
if (that.loadend2&&!isPage) return;
if (that.loading2&&!isPage) return;
if (that.loadend2 && !isPage) return;
if (that.loading2 && !isPage) return;
if (isPage === true) {
that.$set(that, 'productList2', []);
@ -457,10 +478,10 @@ import activityCard from "@/components/activityCard.vue"
page: that.where2.page,
limit: that.where2.limit,
};
if(this.latitude&&this.longitude) query.location = this.latitude + ',' + this.longitude
if (this.latitude && this.longitude) query.location = this.latitude + ',' + this.longitude
spuRecommend(query).then(res => {
let list = res.data.list;
if(list.length>0) list = this.shuffleArray(list);
if (list.length > 0) list = this.shuffleArray(list);
let productList = that.$util.SplitArray(list, that.productList2);
let loadend = list.length < that.where2.limit;
that.loadend2 = loadend;
@ -618,7 +639,10 @@ import activityCard from "@/components/activityCard.vue"
},
navgo(url) {
uni.navigateTo({
url
url,
fail(err) {
console.log(err);
}
})
},
dchange(e) {
@ -757,7 +781,7 @@ import activityCard from "@/components/activityCard.vue"
scrollTop: 0, // px
duration: 200 // 300ms ms
});
this.$nextTick(()=>{
this.$nextTick(() => {
this.list(true, this.street_id);
});
this.$bus.$emit('value-updated', e.street.name + ',' + e.street.code);
@ -798,7 +822,8 @@ import activityCard from "@/components/activityCard.vue"
z-index: 9999 !important;
.box{
.box {
//
.place_wrapper {
color: #fff;
@ -1246,8 +1271,10 @@ import activityCard from "@/components/activityCard.vue"
}
}
}
.list-con-center{
.list-con-center {
width: 726rpx;
image {
width: 100%;
height: 100%;
@ -1307,15 +1334,18 @@ import activityCard from "@/components/activityCard.vue"
.rotate-box:active {
transform: rotate(360deg);
}
.home_bg{
.home_bg {
width: 750rpx;
height: 900rpx;
position: relative;
.image{
.image {
height: 100%;
width: 100%;
}
.card{
.card {
position: absolute;
bottom: 0;
left: 0;
@ -1323,7 +1353,8 @@ import activityCard from "@/components/activityCard.vue"
height: 100rpx;
background-color: #fff7e6;
border-radius: 60rpx 60rpx 0 0;
.title{
.title {
position: absolute;
top: -50%;
left: 50%;
@ -1334,33 +1365,40 @@ import activityCard from "@/components/activityCard.vue"
}
}
}
.home_list{
.home_list {
display: flex;
justify-content: space-around;
padding: 10rpx;
padding-bottom: 20rpx;
padding-top: 0;
.left{
.left {
height: 491rpx;
width: 340rpx;
}
.right{
.right {
display: flex;
flex-direction: column;
.top{
.top {
width: 390rpx;
height: 244rpx;
}
.bottom{
.bottom {
width: 390rpx;
height: 244rpx;
}
}
}
.home_recommend{
.home_recommend {
display: flex;
justify-content: center;
image{
image {
width: 618rpx;
height: 113rpx;
}

View File

@ -11,9 +11,10 @@
<u--image v-else :showLoading="true" src="/static/images/LHYC/PFH.png" width="50.82rpx"
height="50.82rpx" @click='goBack'></u--image> -->
<i class="iconfont icon-xiangzuo" v-if="cloudList.length > 0" style="font-size: 40rpx; text-align: left"
<i class="iconfont icon-xiangzuo" v-if="cloudList.length > 0"
style="font-size: 40rpx; text-align: left" @click="goBack"></i>
<i class="iconfont icon-xiangzuo" v-else style="font-size: 40rpx; text-align: left"
@click="goBack"></i>
<i class="iconfont icon-xiangzuo" v-else style="font-size: 40rpx; text-align: left" @click="goBack"></i>
<view class="head_tit" v-if="cloudList.length" style="
font-size: 40rpx;
@ -25,8 +26,8 @@
</view>
<view class="" style="display: flex; align-items: center">
<view class="head_r" @click="showPop = true" v-if="cloudList.length > 0">
<u--image v-if="cloudList.length > 0" :showLoading="true" src="/static/images/LHYC/QB.png"
width="50.82rpx" height="50.82rpx"></u--image>
<u--image v-if="cloudList.length > 0" :showLoading="true"
src="/static/images/LHYC/QB.png" width="50.82rpx" height="50.82rpx"></u--image>
<u--image v-else :showLoading="true" src="/static/images/LHYC/QB1.png" width="50.82rpx"
height="50.82rpx"></u--image>
</view>
@ -45,7 +46,8 @@
<view class="back" style="margin-right: 17rpx">
<!-- <u--image :showLoading="true" src="/static/images/LHYC/FH.png" width="50.82rpx"
height="50.82rpx" @click='goBack'></u--image> -->
<i class="iconfont icon-xiangzuo" style="font-size: 40rpx; text-align: left" @click="goBack"></i>
<i class="iconfont icon-xiangzuo" style="font-size: 40rpx; text-align: left"
@click="goBack"></i>
</view>
<!-- <view class="" style="font-size: 40rpx;transform: skewX(-10deg);font-weight: 700;">
{town}}
@ -60,8 +62,8 @@
</view>
<view style="position: relative; width: 289.14rpx">
<u-search borderColor="#FF6D20" bgColor="white" :showAction="false" placeholder="请输入..." v-model="keyword"
class="serch_cls"></u-search>
<u-search borderColor="#FF6D20" bgColor="white" :showAction="false" placeholder="请输入..."
v-model="keyword" class="serch_cls"></u-search>
<!-- <u--image class="img_cls" :showLoading="true" src="/static/images/GXSC/SSBT.png"
width="115.65rpx" height="56.82rpx" @click="serch"></u--image> -->
@ -78,8 +80,9 @@
<view class="box" v-if="cloudList.length > 0">
<view :class="act_swiper">
<swiper :autoplay="false" :active-class="activeClass" :interval="3000" class="swipers" :circular="true"
previous-margin="0rpx" next-margin="0rpx" :current="current" :disable-touch="true">
<swiper :autoplay="false" :active-class="activeClass" :interval="3000" class="swipers"
:circular="true" previous-margin="0rpx" next-margin="0rpx" :current="current"
:disable-touch="true">
<swiper-item v-for="(item, index) in cloudList">
<u--image :showLoading="true" :src="item.cover" :class="act_img" width="750rpx"
height="718.46rpx"></u--image>
@ -89,16 +92,17 @@
<view class="" style="height: 718.46rpx" v-if="act_swiper"> </view>
<view class="menu" v-if="showtit" style="transition: 1s">
<swiper :autoplay="false" :active-class="activeClass" :interval="3000" class="swiper" :circular="true"
previous-margin="280rpx" next-margin="280rpx" :current="current" @change="test">
<swiper :autoplay="false" :active-class="activeClass" :interval="3000" class="swiper"
:circular="true" previous-margin="280rpx" next-margin="280rpx" :current="current"
@change="test">
<swiper-item v-for="(item, index) in cloudList" :key="index" @click="clickSwiperFn(index)">
<view class="swiper_item" :class="{
swiper_item_act: index == current,
swiper_item_act2:
index == current - 1 || index == current + 1,
}">
<u--image :showLoading="true" :src="item.background" class="swiper_b" width="140.19rpx"
height="140.19rpx"></u--image>
<u--image :showLoading="true" :src="item.background" class="swiper_b"
width="140.19rpx" height="140.19rpx"></u--image>
</view>
</swiper-item>
</swiper>
@ -107,12 +111,14 @@
<!-- 商品列表 -->
<view class="content">
<view class="content_sift" :style="{ position: pocls, top: headtop + 'px' }" v-if="!showtit">
<view :class="{ act: item.act, price_sift: true }" v-for="(item, index) in actList" :key="index"
@click="screenGoods(item.screen, index)">
<view :class="{ act: item.act, price_sift: true }" v-for="(item, index) in actList"
:key="index" @click="screenGoods(item.screen, index)">
{{ item.tit }}
<view class="" v-if="index == 2" style="margin-left: 10rpx">
<u-icon name="arrow-up" :color="item.price && item.act ? '#FF6D20' : 'black'" size="10"></u-icon>
<u-icon name="arrow-down" :color="!item.price && item.act ? '#FF6D20' : 'black'" size="10"></u-icon>
<u-icon name="arrow-up" :color="item.price && item.act ? '#FF6D20' : 'black'"
size="10"></u-icon>
<u-icon name="arrow-down" :color="!item.price && item.act ? '#FF6D20' : 'black'"
size="10"></u-icon>
</view>
</view>
</view>
@ -123,7 +129,8 @@
<view class="goods" @click="goodDetail(item)" v-else v-for="(item, index) in goodsList">
<view class="left">
<!-- <u--image :showLoading="true" :src="item.image" width="192.76rpx" height="192.76rpx"></u--image> -->
<image lazy-load style="height: 192.76rpx;width: 192.76rpx;" :src="item.image"></image>
<image lazy-load style="height: 192.76rpx;width: 192.76rpx;" :src="item.image">
</image>
</view>
<view class="right">
<view class="tit">
@ -136,7 +143,8 @@
item.rate
}}</text>
<text>{{ item.reply_count }}评论</text>
<text v-if="item.merchant.distance" style="margin-left: 10rpx;">{{item.merchant.distance}}</text>
<text v-if="item.merchant.distance"
style="margin-left: 10rpx;">{{item.merchant.distance}}</text>
</view>
<view class="good_price">
@ -161,7 +169,8 @@
<u--image :class="'act_class' + index" :style="`transform:translateX(${
trnList[index]?trnList[index].left:0
}px);transition:${trnList[index]?trnList[index].bottom:0 ? 1 : 0}s `"
src="/static/images/LHYC/J.png" width="49.07rpx" height="49.07rpx"></u--image>
src="/static/images/LHYC/J.png" width="49.07rpx"
height="49.07rpx"></u--image>
</view>
</view>
</view>
@ -188,7 +197,8 @@
<view class="card" :style="`bottom:${appInfo.bottom+10}px`"
@click="navgo('/pages/order_addcart/order_addcart?product_type=98&source='+source)">
<view class="left">
<view class="cart" :class="{ act_cart: act_cart }" style="position: relative; z-index: 9999999">
<view class="cart" :class="{ act_cart: act_cart }"
style="position: relative; z-index: 9999999">
<u--image :showLoading="true" src="/static/images/LHYC/GWC.png" width="63.09rpx"
height="63.09rpx"></u--image>
@ -212,13 +222,14 @@
<view class="pop">
<view style="height: var(--status-bar-height)"></view>
<view class="pop_head" style="display: flex">
<u--image :showLoading="true" src="/static/images/LHYC/PFH.png" width="50.82rpx" height="50.82rpx"
@click="showPop = false"></u--image>
<u--image :showLoading="true" src="/static/images/LHYC/PFH.png" width="50.82rpx"
height="50.82rpx" @click="showPop = false"></u--image>
<view class="head_tit"> 里海云仓 </view>
</view>
<view class="pop_content" v-if="cloudList.length">
<view class="pop_li" @click="all(index)" v-for="(item, index) in cloudList" :key="index">
<u--image :showLoading="true" :src="item.background" width="84.11rpx" height="84.11rpx"></u--image>
<u--image :showLoading="true" :src="item.background" width="84.11rpx"
height="84.11rpx"></u--image>
<view class="" style="margin-left: 20rpx">
<view style="font-size: 33.29rpx; color: black">
{{ item.category_name }}云仓服务
@ -252,7 +263,8 @@
<view style="padding: 10rpx">
<view class="info">
<u--image :showLoading="true" src="/static/images/noCart.png" width="400.09rpx" height="400.09rpx"></u--image>
<u--image :showLoading="true" src="/static/images/noCart.png" width="400.09rpx"
height="400.09rpx"></u--image>
<view class="" style="text-align: center; color: #999">
当前区域暂无云仓
</view>
@ -275,7 +287,8 @@
<view class="sku">
<view class="sku_head">
<view class="sku_head_l">
<u--image :showLoading="true" :src="skuform.image" width="200.09rpx" height="200.09rpx"></u--image>
<u--image :showLoading="true" :src="skuform.image" width="200.09rpx"
height="200.09rpx"></u--image>
</view>
<view class="sku_head_r">
<view class="sku_goods_tit">
@ -292,7 +305,8 @@
<view class="sku_size">
<view class="" style="margin-bottom: 10rpx"> 尺码 </view>
<view class="">
<text class="size_li" :class="{ act_size_li: item.sku == skusize }" v-for="(item, index) in skuform.sku"
<text class="size_li" :class="{ act_size_li: item.sku == skusize }"
v-for="(item, index) in skuform.sku"
@click="skusizechange(item.sku)">{{ item.sku }}</text>
</view>
</view>
@ -690,7 +704,9 @@
})
this.totalMoney = this.totalMoney.toFixed(2)
})
getCartCounts({product_type: 98}).then(res => {
getCartCounts({
product_type: 98
}).then(res => {
this.goodsNum = res.data[0].count
})
},

View File

@ -40,7 +40,7 @@
</view>
<view v-if="list.length == 0">
<emptyPage title="暂无邀请好友记录哦~"></emptyPage>
<emptyPage title="暂无邀请好友记录哦~" mt="60rpx"></emptyPage>
</view>
</view>
</view>
@ -67,7 +67,7 @@
loadTitle: '加载更多',
isAuto: false, //
isShowAuth: false, //
uid:''
uid: ''
}
},
onLoad() {
@ -116,7 +116,7 @@
getUserInfo() {
let userInfo = this.$Cache.get("USER_INFO");
if(userInfo){
if (userInfo) {
userInfo = JSON.parse(userInfo);
this.uid = userInfo.uid;
}
@ -136,7 +136,7 @@
// #endif
// #ifndef H5
let that =this;
let that = this;
uni.downloadFile({
url: imageUrl,
success(res) {
@ -273,9 +273,9 @@
font-family: PingFang SC, PingFang SC;
font-weight: 400;
color: #2E2E2E;
white-space:nowrap;
overflow:hidden;
text-overflow:ellipsis;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.red {

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

BIN
static/images/dingwei.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB