商品详情视屏播放
This commit is contained in:
commit
5bdef04def
13
api/store.js
13
api/store.js
@ -300,6 +300,19 @@ export function getStoreCategory(id, data) {
|
||||
noAuth: true
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 新获取商品分类
|
||||
* @param {Object} id 商铺 id
|
||||
* @param {Object} data
|
||||
*/
|
||||
export function getProductCategoryList(data) {
|
||||
return request.get("store/product/category/index", data, {
|
||||
noAuth: true
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 关注商铺
|
||||
* @param {Object} type_id 商铺 id
|
||||
|
@ -63,7 +63,7 @@
|
||||
</view>
|
||||
|
||||
<!-- tab导航 -->
|
||||
<view class="tabs" v-if="showTab">
|
||||
<view class="tabs" v-if="showTab" :style="{top:'calc(98rpx + var(--status-bar-height))'}">
|
||||
<block v-for="(item,indx) in tabsArr" :key="indx">
|
||||
<view v-if="indx>0" style="width: 3rpx;height: 36rpx;background-color: #ccc;"></view>
|
||||
<view :class="{'tabs-item-active':item.val==currTabs}" class="tabs-item" @click="changeTab(item.val)">
|
||||
@ -166,6 +166,18 @@
|
||||
},
|
||||
mounted() {
|
||||
this.getArticleList();
|
||||
|
||||
|
||||
this.$nextTick(() => {
|
||||
const query = uni.createSelectorQuery().in(this);
|
||||
query
|
||||
.select(".my-main")
|
||||
.boundingClientRect((data) => {
|
||||
console.log("得到布局位置信息" + JSON.stringify(data));
|
||||
console.log("节点离页面顶部的距离为" + data.top);
|
||||
})
|
||||
.exec();
|
||||
})
|
||||
},
|
||||
methods: {
|
||||
changeTab(e) {
|
||||
@ -280,6 +292,11 @@
|
||||
}
|
||||
|
||||
.tabs {
|
||||
position: sticky;
|
||||
top: 0;
|
||||
z-index: 900;
|
||||
background: #fff;
|
||||
padding-bottom: 20rpx;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
|
@ -2,8 +2,8 @@
|
||||
"name": "惠农生活",
|
||||
"appid": "__UNI__3A527D1",
|
||||
"description": "",
|
||||
"versionName" : "2.0.54",
|
||||
"versionCode" : 2054,
|
||||
"versionName": "2.0.51",
|
||||
"versionCode": 2051,
|
||||
"transformPx": false,
|
||||
/* 5+App特有相关 */
|
||||
"app-plus": {
|
||||
|
@ -341,7 +341,7 @@
|
||||
"path": "market/market",
|
||||
"style": {
|
||||
"navigationBarTitleText": "供销云市场",
|
||||
"enablePullDownRefresh": false,
|
||||
"enablePullDownRefresh": true,
|
||||
"navigationStyle": "custom"
|
||||
}
|
||||
},
|
||||
@ -349,7 +349,7 @@
|
||||
"path": "specialty/specialty",
|
||||
"style": {
|
||||
"navigationBarTitleText": "名优特产",
|
||||
"enablePullDownRefresh": false,
|
||||
"enablePullDownRefresh": true,
|
||||
"navigationStyle": "custom"
|
||||
}
|
||||
}
|
||||
|
@ -6,9 +6,20 @@
|
||||
.wholeSale {
|
||||
background-color: #f8fafb !important;
|
||||
|
||||
.wholeSale-header-wrap {
|
||||
background-color: #40AE36;
|
||||
}
|
||||
|
||||
.wholeSale-header-search-wrap {
|
||||
padding: 30rpx 20rpx 0;
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
.wholeSale-header {
|
||||
position: sticky;
|
||||
top: 0;
|
||||
z-index: 100;
|
||||
margin-bottom: 20rpx;
|
||||
// background-color: #40AE36;
|
||||
|
||||
.scrollview {
|
||||
display: flex;
|
||||
@ -45,6 +56,8 @@
|
||||
|
||||
.wholeSale-con {
|
||||
margin: 0 20rpx;
|
||||
padding-bottom: 30rpx;
|
||||
}
|
||||
|
||||
.wholeSale-nav {
|
||||
display: flex;
|
||||
@ -57,7 +70,6 @@
|
||||
}
|
||||
|
||||
.search_content {
|
||||
// margin-bottom: 40rpx;
|
||||
flex: 1;
|
||||
height: 70rpx;
|
||||
padding: 2px 2px 2px 21.05rpx;
|
||||
@ -198,13 +210,12 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
<template>
|
||||
<view class="wholeSale">
|
||||
|
||||
<!-- 顶部 -->
|
||||
<view class="wholeSale-header" style="position: fixed;top: 0;left: 0;width: 100%;z-index: 999;">
|
||||
<view class="wholeSale-header">
|
||||
<view class="wholeSale-header-wrap">
|
||||
<!-- 适配不同机 -->
|
||||
<view style="height: var(--status-bar-height);background-color: #40af37;"></view>
|
||||
<view style="display: flex;padding: 20rpx 28rpx;background-color: #40af37;color: #fff;">
|
||||
@ -213,11 +224,8 @@
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<!-- 内容 -->
|
||||
<view class="wholeSale-con" style="padding-top: calc(var(--status-bar-height) + 100rpx);">
|
||||
<view class="wholeSale-header-search-wrap">
|
||||
<view class="wholeSale-nav">
|
||||
<!-- <u-icon class="icon" name="arrow-left" size="20" @click="navBack"></u-icon> -->
|
||||
<!-- 搜索 -->
|
||||
<view @click="navTo(`/pages/columnGoods/goods_search/index?back=true&searchVal=${where.keyword}`)"
|
||||
hover-class="none" class="search_content flex_a_c_j_sb">
|
||||
<view class="flex_a_c search_content_wrap">
|
||||
@ -225,7 +233,6 @@
|
||||
<input type="text" placeholder="搜索商品名称" :value="where.keyword"
|
||||
placeholder-style="font-size: 30rpx;color:#999;" disabled style="pointer-events: none;">
|
||||
</view>
|
||||
<!-- <button class="search_btn">搜索</button> -->
|
||||
</view>
|
||||
</view>
|
||||
|
||||
@ -262,22 +269,11 @@
|
||||
</view>
|
||||
</scroll-view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<!-- 综合查询 -->
|
||||
<!-- <view class="comprehensive">
|
||||
<view class="comprehensive-price">
|
||||
<text>价格</text>
|
||||
<image src="@/static/new_define/priceChange.png"></image>
|
||||
</view>
|
||||
<view class="comprehensive-sales_num">
|
||||
<text>销量</text>
|
||||
</view>
|
||||
<view class="comprehensive-discount">
|
||||
<text>抵扣</text>
|
||||
<image class="loudou" src="@/static/new_define/loudou.png"></image>
|
||||
</view>
|
||||
</view> -->
|
||||
|
||||
<!-- 内容 -->
|
||||
<view class="wholeSale-con">
|
||||
<!-- 流水瀑布 -->
|
||||
<WaterfallsFlow :wfList='hostProduct' @itemTap="goDetail" :type="0" />
|
||||
<loadmore :type="isLoading"></loadmore>
|
||||
|
@ -6,9 +6,20 @@
|
||||
.wholeSale {
|
||||
background-color: #f8fafb !important;
|
||||
|
||||
.wholeSale-header-wrap {
|
||||
background-color: #40AE36;
|
||||
}
|
||||
|
||||
.wholeSale-header-search-wrap {
|
||||
padding: 30rpx 20rpx 0;
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
.wholeSale-header {
|
||||
position: sticky;
|
||||
top: 0;
|
||||
z-index: 100;
|
||||
margin-bottom: 20rpx;
|
||||
// background-color: #40AE36;
|
||||
|
||||
.scrollview {
|
||||
display: flex;
|
||||
@ -43,9 +54,6 @@
|
||||
}
|
||||
}
|
||||
|
||||
.wholeSale-con {
|
||||
margin: 0 20rpx;
|
||||
|
||||
.wholeSale-nav {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
@ -198,9 +206,13 @@
|
||||
}
|
||||
}
|
||||
|
||||
.wholeSale-con {
|
||||
margin: 0 20rpx;
|
||||
}
|
||||
|
||||
.goods_list {
|
||||
padding-bottom: 30rpx;
|
||||
|
||||
.goods {
|
||||
width: 710rpx;
|
||||
height: 200rpx;
|
||||
@ -296,7 +308,7 @@
|
||||
position: absolute;
|
||||
top: 70rpx;
|
||||
right: -10rpx;
|
||||
// background-color: rgba(#000, 0.7);
|
||||
z-index: 101;
|
||||
width: 250rpx;
|
||||
padding: 20rpx;
|
||||
padding-top: 30rpx;
|
||||
@ -326,7 +338,8 @@
|
||||
<view class="wholeSale">
|
||||
|
||||
<!-- 顶部 -->
|
||||
<view class="wholeSale-header" style="position: fixed;top: 0;left: 0;width: 100%;z-index: 999;">
|
||||
<view class="wholeSale-header">
|
||||
<view class="wholeSale-header-wrap">
|
||||
<!-- 适配不同机 -->
|
||||
<view style="height: var(--status-bar-height);background-color: #40af37;"></view>
|
||||
<view
|
||||
@ -351,11 +364,8 @@
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<!-- 内容 -->
|
||||
<view class="wholeSale-con" style="padding-top: calc(var(--status-bar-height) + 100rpx);">
|
||||
<view class="wholeSale-header-search-wrap">
|
||||
<view class="wholeSale-nav">
|
||||
<!-- <u-icon class="icon" name="arrow-left" size="20" @click="navBack"></u-icon> -->
|
||||
<!-- 搜索 -->
|
||||
<view
|
||||
@click="navTo(`/pages/columnGoods/goods_search/index?back=true&searchVal=${where.keyword}&shop=true`)"
|
||||
hover-class="none" class="search_content flex_a_c_j_sb">
|
||||
@ -364,7 +374,6 @@
|
||||
<input type="text" placeholder="搜索店铺名称" :value="where.keyword"
|
||||
placeholder-style="font-size: 30rpx;color:#999;" disabled style="pointer-events: none;">
|
||||
</view>
|
||||
<!-- <button class="search_btn">搜索</button> -->
|
||||
</view>
|
||||
</view>
|
||||
|
||||
@ -388,13 +397,12 @@
|
||||
</scroll-view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<!-- 列表 -->
|
||||
<view class="goods_list">
|
||||
<view class="goods" v-for="(item, index) in goodsList" :key="index" @click="goStore(item.mer_id)">
|
||||
<view class="avatar">
|
||||
<!-- <image style="width: 100%;height: 100%;" :src="item.mer_avatar" mode="aspectFill" lazy-load>
|
||||
</image> -->
|
||||
<u--image width="160rpx" height="160rpx" :src="item.mer_avatar" mode="aspectFill">
|
||||
<template v-slot:loading>
|
||||
<u-loading-icon color="#999" size="15" />
|
||||
@ -519,6 +527,9 @@
|
||||
onPageScroll() {
|
||||
uni.$emit('scroll');
|
||||
},
|
||||
onPullDownRefresh() {
|
||||
this.storeMerchantList(true);
|
||||
},
|
||||
methods: {
|
||||
navTo(url) {
|
||||
uni.navigateTo({
|
||||
@ -568,10 +579,13 @@
|
||||
if (this.isLoading == -1) return;
|
||||
this.isLoading = 1;
|
||||
storeMerchantList(this.where).then(res => {
|
||||
uni.stopPullDownRefresh();
|
||||
this.goodsList = [...this.goodsList, ...res.data.list];
|
||||
this.isLoading = 0;
|
||||
if (res.data.list.length < this.where.limit) this.isLoading = -1;
|
||||
this.where.page++;
|
||||
}).catch(() => {
|
||||
uni.stopPullDownRefresh();
|
||||
})
|
||||
},
|
||||
closeShowAddress() {
|
||||
|
@ -5,9 +5,21 @@
|
||||
|
||||
.wholeSale {
|
||||
background-color: #f8fafb !important;
|
||||
|
||||
.wholeSale-header-wrap {
|
||||
background-color: #40AE36;
|
||||
}
|
||||
|
||||
.wholeSale-header-search-wrap {
|
||||
padding: 30rpx 20rpx 0;
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
.wholeSale-header {
|
||||
position: sticky;
|
||||
top: 0;
|
||||
z-index: 100;
|
||||
margin-bottom: 20rpx;
|
||||
// background-color: #40AE36;
|
||||
|
||||
.scrollview {
|
||||
display: flex;
|
||||
@ -42,13 +54,13 @@
|
||||
}
|
||||
}
|
||||
|
||||
.wholeSale-con {
|
||||
margin: 0 20rpx;
|
||||
|
||||
|
||||
.wholeSale-nav {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-bottom: 40rpx;
|
||||
|
||||
.icon {
|
||||
margin-right: 20rpx;
|
||||
}
|
||||
@ -195,34 +207,36 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.wholeSale-con {
|
||||
padding-bottom: 30rpx;
|
||||
margin: 0 20rpx;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
<template>
|
||||
<view class="wholeSale">
|
||||
|
||||
<!-- 顶部 -->
|
||||
<view class="wholeSale-header" style="position: fixed;top: 0;left: 0;width: 100%;z-index: 999;">
|
||||
<view class="wholeSale-header">
|
||||
<view class="wholeSale-header-wrap">
|
||||
<!-- 适配不同机 -->
|
||||
<view style="height: var(--status-bar-height);background-color: #40af37;"></view>
|
||||
<view style="display: flex;padding: 20rpx 28rpx;background-color: #40af37;color: #fff;">
|
||||
<view style="display: flex;font-weight: bold;font-size: 32rpx;"><u-icon style="margin-right: 20rpx;" name="arrow-left" size="20" color="#fff" @click="navBack"></u-icon>名优特产</view>
|
||||
<view style="display: flex;font-weight: bold;font-size: 32rpx;"><u-icon style="margin-right: 20rpx;"
|
||||
name="arrow-left" size="20" color="#fff" @click="navBack"></u-icon>名优特产</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<!-- 内容 -->
|
||||
<view class="wholeSale-con" style="padding-top: calc(var(--status-bar-height) + 100rpx);">
|
||||
<view class="wholeSale-header-search-wrap">
|
||||
<view class="wholeSale-nav">
|
||||
<!-- <u-icon class="icon" name="arrow-left" size="20" @click="navBack"></u-icon> -->
|
||||
<!-- 搜索 -->
|
||||
<view @click="navTo(`/pages/columnGoods/goods_search/index?back=true&searchVal=${where.keyword}`)" hover-class="none"
|
||||
class="search_content flex_a_c_j_sb">
|
||||
<view @click="navTo(`/pages/columnGoods/goods_search/index?back=true&searchVal=${where.keyword}`)"
|
||||
hover-class="none" class="search_content flex_a_c_j_sb">
|
||||
<view class="flex_a_c search_content_wrap">
|
||||
<view class="iconfont icon-sousuo" style="font-size: 39rpx;"></view>
|
||||
<input type="text" placeholder="搜索商品名称" :value="where.keyword" placeholder-style="font-size: 30rpx;color:#999;"
|
||||
disabled style="pointer-events: none;">
|
||||
<input type="text" placeholder="搜索商品名称" :value="where.keyword"
|
||||
placeholder-style="font-size: 30rpx;color:#999;" disabled style="pointer-events: none;">
|
||||
</view>
|
||||
<!-- <button class="search_btn">搜索</button> -->
|
||||
</view>
|
||||
</view>
|
||||
|
||||
@ -231,8 +245,10 @@
|
||||
<scroll-view scroll-x="true">
|
||||
<view class="category-wrap">
|
||||
<block v-for="(item,index) in store_category" :key="index">
|
||||
<view class="category-item" :class="{'category-item-active': index==cate_change}" @click="changeCate(index)">
|
||||
<u--image class="category-item-img" width="108rpx" :src="item.pic" height="108rpx" shape="circle">
|
||||
<view class="category-item" :class="{'category-item-active': index==cate_change}"
|
||||
@click="changeCate(index)">
|
||||
<u--image class="category-item-img" width="108rpx" :src="item.pic" height="108rpx"
|
||||
shape="circle">
|
||||
<template v-slot:loading>
|
||||
<u-loading-icon color="#999" size="15" />
|
||||
</template>
|
||||
@ -249,29 +265,19 @@
|
||||
<scroll-view scroll-x="true">
|
||||
<view class="cate-wrap">
|
||||
<block v-for="(item,index) in store_category_children" :key="index">
|
||||
<view class="cate-item" :class="{'cate-item-active':index == cate_change_children}" @click="changeChildrenCate(index)">
|
||||
<view class="cate-item" :class="{'cate-item-active':index == cate_change_children}"
|
||||
@click="changeChildrenCate(index)">
|
||||
<text>{{item.cate_name}}</text>
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
</scroll-view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<!-- 综合查询 -->
|
||||
<!-- <view class="comprehensive">
|
||||
<view class="comprehensive-price">
|
||||
<text>价格</text>
|
||||
<image src="@/static/new_define/priceChange.png"></image>
|
||||
</view>
|
||||
<view class="comprehensive-sales_num">
|
||||
<text>销量</text>
|
||||
</view>
|
||||
<view class="comprehensive-discount">
|
||||
<text>抵扣</text>
|
||||
<image class="loudou" src="@/static/new_define/loudou.png"></image>
|
||||
</view>
|
||||
</view> -->
|
||||
|
||||
<!-- 内容 -->
|
||||
<view class="wholeSale-con">
|
||||
<!-- 流水瀑布 -->
|
||||
<WaterfallsFlow :wfList='hostProduct' @itemTap="goDetail" :type="0" />
|
||||
<loadmore :type="isLoading"></loadmore>
|
||||
@ -320,6 +326,9 @@
|
||||
onPageScroll() {
|
||||
uni.$emit('scroll');
|
||||
},
|
||||
onPullDownRefresh() {
|
||||
this.getProductslist(true);
|
||||
},
|
||||
methods: {
|
||||
navTo(url) {
|
||||
uni.navigateTo({
|
||||
@ -346,7 +355,9 @@
|
||||
cate_name: '全部',
|
||||
store_category_id: ''
|
||||
}];
|
||||
if(this.store_category[e].children) this.store_category_children = [...this.store_category_children, ...this.store_category[e].children];
|
||||
if (this.store_category[e].children) this.store_category_children = [...this.store_category_children, ...
|
||||
this.store_category[e].children
|
||||
];
|
||||
this.cate_change_children = 0;
|
||||
this.where.cate_pid = this.store_category[e].store_category_id;
|
||||
this.getProductslist(true);
|
||||
@ -354,11 +365,15 @@
|
||||
changeChildrenCate(e) {
|
||||
this.cate_change_children = e;
|
||||
this.where.cate_pid = this.store_category_children[e].store_category_id;
|
||||
if(e==0) this.where.cate_pid = this.store_category[this.cate_change].store_category_id; // 如若选中全部, 则取父级id
|
||||
if (e == 0) this.where.cate_pid = this.store_category[this.cate_change]
|
||||
.store_category_id; // 如若选中全部, 则取父级id
|
||||
this.getProductslist(true);
|
||||
},
|
||||
getCategoryIndexList() {
|
||||
getCategoryIndexList({mer_type: this.where.mer_type, sale_type: this.where.sale_type}).then(res=>{
|
||||
getCategoryIndexList({
|
||||
mer_type: this.where.mer_type,
|
||||
sale_type: this.where.sale_type
|
||||
}).then(res => {
|
||||
this.store_category = [{
|
||||
cate_name: '全部',
|
||||
pic: 'https://lihai001.oss-cn-chengdu.aliyuncs.com/def/0bc7a202404021652194310.png',
|
||||
@ -380,10 +395,13 @@
|
||||
if (this.isLoading == -1) return;
|
||||
this.isLoading = 1;
|
||||
getProductslist(this.where).then(res => {
|
||||
uni.stopPullDownRefresh();
|
||||
this.hostProduct = [...this.hostProduct, ...res.data.list];
|
||||
this.where.page++;
|
||||
this.isLoading = 0;
|
||||
if (res.data.list.length < this.where.limit) this.isLoading = -1;
|
||||
}).catch(() => {
|
||||
uni.stopPullDownRefresh();
|
||||
})
|
||||
},
|
||||
goDetail(item) {
|
||||
|
@ -481,7 +481,7 @@
|
||||
this.getNav();
|
||||
if (that.isLogin) {
|
||||
this.getUserInfo();
|
||||
this.orderNum();
|
||||
|
||||
} else {
|
||||
// this.userInfo = {
|
||||
// is_svip: 0
|
||||
@ -642,39 +642,54 @@
|
||||
that.is_promoter = res.data.is_promoter;
|
||||
that.extension_status = res.data.extension_status;
|
||||
that.getMyMenus();
|
||||
this.orderNum();
|
||||
});
|
||||
},
|
||||
// 订单数字
|
||||
orderNum() {
|
||||
let openType = '';
|
||||
orderData().then(({
|
||||
data
|
||||
}) => {
|
||||
this.orderMenu.forEach((item, index) => {
|
||||
switch (item.title) {
|
||||
case '待付款':
|
||||
item.num = data.noPay
|
||||
item.num = Number(data.noPay) + Number(data.mer_noPay);
|
||||
if ((data.noPay >= data.mer_noPay) || data.noPay) {
|
||||
openType = 1;
|
||||
} else {
|
||||
openType = 2;
|
||||
}
|
||||
item.url = '/pages/users/order_list/index?status=0&openType=' + openType
|
||||
break
|
||||
case '待发货':
|
||||
item.num = data.noPostage
|
||||
item.num = Number(data.noPostage) + Number(data.mer_noPostage);
|
||||
if ((data.noPostage >= data.mer_noPostage) || data.noPostage) {
|
||||
openType = 1;
|
||||
} else {
|
||||
openType = 2;
|
||||
}
|
||||
item.url = '/pages/users/order_list/index?status=1&openType=' + openType
|
||||
break
|
||||
case '待收货':
|
||||
let openType = '';
|
||||
item.num = Number(data.noDeliver) + Number(data.mer_noDeliver)
|
||||
if (data.noDeliver > data.mer_noDeliver)
|
||||
item.num = Number(data.noDeliver) + Number(data.mer_noDeliver);
|
||||
|
||||
if ((data.noDeliver >= data.mer_noDeliver) || data.noDeliver) {
|
||||
openType = 1;
|
||||
else
|
||||
} else {
|
||||
openType = 2;
|
||||
// 没有同意协议 就是一般用户 不是商户
|
||||
let user = this.$store.state.app.userInfo;
|
||||
if (!user.mer_info || !user.mer_info.mer_settlement_agree_status || user
|
||||
.mer_info.mer_settlement_agree_status != 1) {
|
||||
openType = 1;
|
||||
}
|
||||
|
||||
item.url = '/pages/users/order_list/index?status=2&openType=' + openType
|
||||
break
|
||||
case '待评价':
|
||||
item.num = data.noComment
|
||||
item.num = Number(data.noComment) + Number(data.mer_noComment);
|
||||
if ((data.noComment >= data.mer_noComment) || data.noComment) {
|
||||
openType = 1;
|
||||
} else {
|
||||
openType = 2;
|
||||
}
|
||||
item.url = '/pages/users/order_list/index?status=3&openType=' + openType
|
||||
break
|
||||
case '售后/退款':
|
||||
item.num = data.refund
|
||||
|
@ -9,8 +9,9 @@
|
||||
<view class="btn_tab">
|
||||
<view class="tab_item" :class="{'tab_item_active': sale_type==1}" @click="changeSaleType(1)">
|
||||
用户订单</view>
|
||||
<view v-if="mer_info.mer_settlement_agree_status||sale_type==2" class="tab_item"
|
||||
:class="{'tab_item_active': sale_type==2}" @click="changeSaleType(2)">商户订单</view>
|
||||
<view v-if="(mer_info && mer_info.mer_settlement_agree_status==1)||sale_type==2"
|
||||
class="tab_item" :class="{'tab_item_active': sale_type==2}" @click="changeSaleType(2)">商户订单
|
||||
</view>
|
||||
</view>
|
||||
<view class="btn_car" @click="toGwc">
|
||||
<text class="iconfont icon-gouwuche" style="font-size: 36rpx;"></text>
|
||||
@ -19,15 +20,15 @@
|
||||
<view class='nav acea-row row-around new-nav-tab'>
|
||||
<view class='item' :class='orderStatus==-1 ? "on": ""' @click="statusClick(-1)">
|
||||
<view>全部</view>
|
||||
<view class='num'>{{orderData.all || 0}}</view>
|
||||
<view class='num'>{{(sale_type==1?orderData.all:orderData.mer_all) || 0}}</view>
|
||||
</view>
|
||||
<view class='item' :class='orderStatus==0 ? "on": ""' @click="statusClick(0)">
|
||||
<view>待付款</view>
|
||||
<view class='num'>{{orderData.noPay || 0}}</view>
|
||||
<view class='num'>{{(sale_type==1?orderData.noPay:orderData.mer_noPay) || 0}}</view>
|
||||
</view>
|
||||
<view class='item' :class='orderStatus==1 ? "on": ""' @click="statusClick(1)">
|
||||
<view>待发货</view>
|
||||
<view class='num'>{{orderData.noPostage || 0}}</view>
|
||||
<view class='num'>{{(sale_type==1?orderData.noPostage:orderData.mer_noPostage) || 0}}</view>
|
||||
</view>
|
||||
<view class='item' :class='orderStatus==2 ? "on": ""' @click="statusClick(2)">
|
||||
<view>待收货</view>
|
||||
@ -36,11 +37,11 @@
|
||||
</view>
|
||||
<view class='item' :class='orderStatus==3 ? "on": ""' @click="statusClick(3)">
|
||||
<view>待评价</view>
|
||||
<view class='num'>{{orderData.noComment || 0}}</view>
|
||||
<view class='num'>{{(sale_type==1?orderData.noComment:orderData.mer_noComment) || 0}}</view>
|
||||
</view>
|
||||
<view class='item' :class='orderStatus==4 ? "on": ""' @click="statusClick(4)">
|
||||
<view>退款/售后</view>
|
||||
<view class='num'>{{orderData.refund || 0}}</view>
|
||||
<view class='num'>{{(sale_type==1?orderData.refund:orderData.mer_refund) || 0}}</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
@ -83,6 +84,7 @@
|
||||
<text class="iconfont icon-sousuo"></text>
|
||||
搜索我的订单
|
||||
</navigator>
|
||||
|
||||
<!--定金预售订单-->
|
||||
<view v-if="presellProList.length > 0" class="event_container"
|
||||
:style="{ 'background-image': `url(${domain}/static/images/presell_orderBg.png)`}">
|
||||
@ -587,17 +589,13 @@
|
||||
onLoad(options) {
|
||||
if (options.sale_type) this.sale_type = options.sale_type;
|
||||
if (options.status) this.orderStatus = options.status;
|
||||
if (options.openType && options.openType == 2) this.changeSaleType(2);
|
||||
|
||||
let user = this.$store.state.app.userInfo;
|
||||
if (user.mer_info) this.initMerInfo(user);
|
||||
if (this.isLogin) {
|
||||
this.page = 1;
|
||||
this.loadend = false;
|
||||
this.loading = false;
|
||||
this.getOrderData();
|
||||
this.getOrderList();
|
||||
this.getUserInfo();
|
||||
this.getUserInfo(options);
|
||||
this.getpreSellOrderList();
|
||||
} else {
|
||||
toLogin()
|
||||
@ -636,7 +634,7 @@
|
||||
},
|
||||
|
||||
methods: {
|
||||
// 赋值银行信息
|
||||
// 复制银行信息
|
||||
handleCopy() {
|
||||
let that = this;
|
||||
uni.setClipboardData({
|
||||
@ -664,18 +662,9 @@
|
||||
navBack() {
|
||||
uni.navigateBack();
|
||||
},
|
||||
initMerInfo(user) {
|
||||
this.mer_info = user;
|
||||
if (this.mer_info.mer_settlement_agree_status) {
|
||||
this.payMode.forEach(item => {
|
||||
if (item.value == 'merBalance') {
|
||||
item.payStatus = 1;
|
||||
item.number = this.mer_info.mer_money;
|
||||
}
|
||||
})
|
||||
}
|
||||
},
|
||||
|
||||
changeSaleType(type = 1) {
|
||||
if (type != this.sale_type) {
|
||||
this.loadend = false;
|
||||
this.loading = false;
|
||||
this.$set(this, 'orderList', []);
|
||||
@ -685,7 +674,6 @@
|
||||
this.refundParam.page = 1;
|
||||
this.getRefundList();
|
||||
} else {
|
||||
if (type != this.sale_type) {
|
||||
this.sale_type = type;
|
||||
this.page = 1;
|
||||
this.getOrderData();
|
||||
@ -717,24 +705,34 @@
|
||||
* 获取用户信息
|
||||
*
|
||||
*/
|
||||
getUserInfo: function() {
|
||||
getUserInfo: function(options) {
|
||||
let that = this;
|
||||
getUserInfo().then(res => {
|
||||
that.payMode[2].number = res.data.now_money;
|
||||
if (res.data.mer_info) that.initMerInfo(res.data.mer_info);
|
||||
if (res.data.mer_info) that.initMerInfo(res.data.mer_info, options);
|
||||
});
|
||||
},
|
||||
/**
|
||||
* 关闭支付组件
|
||||
*
|
||||
*/
|
||||
|
||||
initMerInfo(user, options) {
|
||||
this.mer_info = user;
|
||||
if (user && user.mer_settlement_agree_status) {
|
||||
this.payMode.forEach(item => {
|
||||
if (item.value == 'merBalance') {
|
||||
item.payStatus = 1;
|
||||
item.number = this.mer_info.mer_money;
|
||||
}
|
||||
});
|
||||
//如果是opentype=2 优先展示商户订单
|
||||
if (options && options.openType && options.openType == 2) this.changeSaleType(2);
|
||||
}
|
||||
},
|
||||
|
||||
// 关闭支付组件
|
||||
payClose: function() {
|
||||
this.pay_close = false;
|
||||
},
|
||||
/**
|
||||
* 获取订单统计数据
|
||||
*
|
||||
*/
|
||||
|
||||
// 获取订单统计数据
|
||||
getOrderData: function() {
|
||||
let that = this;
|
||||
orderData({
|
||||
@ -743,10 +741,8 @@
|
||||
that.$set(that, 'orderData', res.data);
|
||||
})
|
||||
},
|
||||
/**
|
||||
* 取消订单
|
||||
*
|
||||
*/
|
||||
|
||||
// 取消订单
|
||||
cancelOrder: function(index, order_id) {
|
||||
let that = this;
|
||||
if (!order_id) return that.$util.Tips({
|
||||
@ -768,10 +764,8 @@
|
||||
});
|
||||
});
|
||||
},
|
||||
/**
|
||||
* 打开支付组件
|
||||
*
|
||||
*/
|
||||
|
||||
// 打开支付组件
|
||||
goPay: function(pay_price, order_id) {
|
||||
this.$set(this, 'pay_close', true);
|
||||
this.order_id = order_id;
|
||||
@ -797,10 +791,7 @@
|
||||
});
|
||||
},
|
||||
|
||||
/**
|
||||
* 支付成功回调
|
||||
*
|
||||
*/
|
||||
// 支付成功回调
|
||||
pay_complete: function() {
|
||||
this.loadend = false;
|
||||
this.page = 1;
|
||||
@ -810,18 +801,14 @@
|
||||
this.getOrderData();
|
||||
this.getOrderList();
|
||||
},
|
||||
/**
|
||||
* 支付失败回调
|
||||
*
|
||||
*/
|
||||
|
||||
// 支付失败回调
|
||||
pay_fail: function() {
|
||||
this.pay_close = false;
|
||||
this.pay_order_id = '';
|
||||
},
|
||||
|
||||
/**
|
||||
* 去订单详情
|
||||
*/
|
||||
// 去订单详情
|
||||
goOrderDetails: function(order_id) {
|
||||
let self = this
|
||||
if (!order_id) return that.$util.Tips({
|
||||
@ -861,9 +848,7 @@
|
||||
// #endif
|
||||
},
|
||||
|
||||
/**
|
||||
* 点击去评价
|
||||
*/
|
||||
// 点击去评价
|
||||
goOrderDetails_Evaluation: function(order_id) {
|
||||
let self = this
|
||||
if (!order_id) return that.$util.Tips({
|
||||
@ -893,9 +878,7 @@
|
||||
// #endif
|
||||
},
|
||||
|
||||
/**
|
||||
* 切换类型
|
||||
*/
|
||||
// 切换类型
|
||||
statusClick: function(status) {
|
||||
this.loadend = false;
|
||||
this.loading = false;
|
||||
@ -919,21 +902,23 @@
|
||||
// 获取退款列表
|
||||
getRefundList() {
|
||||
let that = this;
|
||||
console.log(that.loadend);
|
||||
console.log(that.loading);
|
||||
if (that.loadend) return;
|
||||
if (that.loading) return;
|
||||
that.loading = true;
|
||||
that.loadTitle = "加载更多";
|
||||
refundListNew(this.refundParam).then(res => {
|
||||
let list = res.data.list || [];
|
||||
let loadend = list.length < that.limit;
|
||||
that.orderList = that.page == 1 ? list : that.$util.SplitArray(list, that
|
||||
let loadend = list.length < that.refundParam.limit;
|
||||
that.orderList = that.refundParam.page == 1 ? list : that.$util.SplitArray(list, that
|
||||
.orderList);
|
||||
that.$set(that, 'orderList', that.orderList);
|
||||
that.getProductCount();
|
||||
that.loadend = loadend;
|
||||
that.loading = false;
|
||||
that.loadTitle = loadend ? "我也是有底线的" : '加载更多';
|
||||
that.page = that.page + 1;
|
||||
that.refundParam.page = that.refundParam.page + 1;
|
||||
that.isReady = true;
|
||||
uni.stopPullDownRefresh();
|
||||
}).catch(err => {
|
||||
@ -971,9 +956,7 @@
|
||||
});
|
||||
},
|
||||
|
||||
/**
|
||||
* 获取订单列表
|
||||
*/
|
||||
// 获取订单列表
|
||||
getOrderList: function() {
|
||||
let that = this;
|
||||
if (that.loadend) return;
|
||||
@ -1028,9 +1011,8 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
/**
|
||||
* 获取定金预售订单列表
|
||||
*/
|
||||
|
||||
// 获取定金预售订单列表
|
||||
getpreSellOrderList: function() {
|
||||
let that = this;
|
||||
getOrderList({
|
||||
@ -1044,9 +1026,8 @@
|
||||
that.$set(that, 'presellProList', list);
|
||||
})
|
||||
},
|
||||
/**
|
||||
* 获取单个订单商品数量
|
||||
*/
|
||||
|
||||
// 获取单个订单商品数量
|
||||
getProductCount: function() {
|
||||
if (this.orderStatus !== 0) {
|
||||
this.orderList.forEach((item, i) => {
|
||||
@ -1060,9 +1041,8 @@
|
||||
})
|
||||
}
|
||||
},
|
||||
/**
|
||||
* 删除订单
|
||||
*/
|
||||
|
||||
// 删除订单
|
||||
delOrder: function(order_id, index) {
|
||||
let that = this;
|
||||
orderDel(order_id).then(res => {
|
||||
@ -1080,6 +1060,7 @@
|
||||
});
|
||||
})
|
||||
},
|
||||
|
||||
// 确认收货
|
||||
confirmOrder: function(item, index) {
|
||||
let that = this;
|
||||
@ -1105,6 +1086,7 @@
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
/*申请开票*/
|
||||
applyInvoice(order_id) {
|
||||
let that = this;
|
||||
@ -1114,11 +1096,13 @@
|
||||
that.$refs.addInvoicing.getInvoiceDefault();
|
||||
that.$refs.addInvoicing.getInvoiceList();
|
||||
},
|
||||
|
||||
// 关闭发票弹窗
|
||||
changeInvoiceClose: function(data) {
|
||||
if (data) this.getInvoiceData(data);
|
||||
this.$set(this.invoice, 'invoice', false);
|
||||
},
|
||||
|
||||
// 开票回调
|
||||
getInvoiceData(data) {
|
||||
let that = this
|
||||
|
@ -1,8 +1,92 @@
|
||||
<style lang="scss">
|
||||
.sel_addr_wrap {
|
||||
height: 120rpx;
|
||||
padding: 30rpx 0;
|
||||
|
||||
.sel_addr {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
margin: 0 30rpx;
|
||||
border: 2rpx solid #40ae36;
|
||||
height: 60rpx;
|
||||
line-height: 60rpx;
|
||||
text-align: center;
|
||||
color: #40ae36;
|
||||
border-radius: 10rpx;
|
||||
font-weight: bold;
|
||||
|
||||
&:active {
|
||||
background: rgba(64, 174, 54, .1);
|
||||
}
|
||||
|
||||
text {
|
||||
margin-right: 10rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.sel_addr_update-wrap {
|
||||
padding: 30rpx 0;
|
||||
|
||||
|
||||
.sel_addr_update {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
border: 2rpx solid #40ae36;
|
||||
box-shadow: 0 0 2rpx 2rpx #40ae3650;
|
||||
padding: 10rpx 20rpx;
|
||||
margin: 0rpx 30rpx;
|
||||
border-radius: 10rpx;
|
||||
|
||||
.sel_addr_wrap-l {
|
||||
.sel_addr_wrap-l-addr {
|
||||
margin-bottom: 8rpx;
|
||||
font-size: 28rpx;
|
||||
font-weight: bold;
|
||||
color: #333;
|
||||
max-width: 480rpx;
|
||||
}
|
||||
|
||||
.sel_addr_wrap-l-detail {
|
||||
font-size: 26rpx;
|
||||
color: #999;
|
||||
max-width: 480rpx;
|
||||
}
|
||||
}
|
||||
|
||||
.sel_addr_wrap-r {
|
||||
padding: 8rpx 8rpx;
|
||||
border: 2rpx solid #40ae36;
|
||||
border-radius: 10rpx;
|
||||
color: #40ae36;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
<template>
|
||||
<view :style="viewColor">
|
||||
<form @submit="formSubmit" report-submit='true'>
|
||||
<view class='addAddress'>
|
||||
<view class='list'>
|
||||
<view class="sel_addr_wrap">
|
||||
<view class="sel_addr" @click="handleToChoose">
|
||||
<text>选择收货地址</text>
|
||||
<u-icon name="arrow-right" size="16" color="#40ae36"></u-icon>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="sel_addr_update-wrap">
|
||||
<view class="sel_addr_update">
|
||||
<view class="sel_addr_wrap-l">
|
||||
<view class="sel_addr_wrap-l-addr line1">柏林湾</view>
|
||||
<view class="sel_addr_wrap-l-detail line1">四川省泸州市龙马潭区陶然路三段1号</view>
|
||||
</view>
|
||||
<view class="sel_addr_wrap-r">修改地址</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class='item acea-row row-between-wrapper'>
|
||||
<view class='name'>姓名</view>
|
||||
<input type='text' placeholder='请输入姓名' name='real_name' :value="userAddress.real_name"
|
||||
@ -13,38 +97,22 @@
|
||||
<input type='text' placeholder='请输入联系电话' name="phone" :value='userAddress.phone'
|
||||
placeholder-class='placeholder'></input>
|
||||
</view>
|
||||
<view class='item acea-row row-between-wrapper'>
|
||||
<!-- <view class='item acea-row row-between-wrapper'>
|
||||
<view class='name'>所在地区</view>
|
||||
<view class="region">
|
||||
<view class="region_count" @click="changeRegion">
|
||||
<text v-if="!addressInfo.length" style="color:#cdcdcd;">请选择地区</text>
|
||||
<text v-else>{{addressText}}</text>
|
||||
<text class="iconfont icon-xiangyou"></text>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
<!-- <view class='item acea-row row-between-wrapper'>
|
||||
<view class='name'>所在村队</view>
|
||||
<view class="region">
|
||||
<view class="region_count" @click="changevillage">
|
||||
<text v-if="!villageInfo.length" style="color:#cdcdcd;">请选择村队</text>
|
||||
<text v-else>{{villageText}}</text>
|
||||
<view class="region_count" @click="handleToChoose">
|
||||
<text v-if="!detail.length" style="color:#cdcdcd;">请选择地区</text>
|
||||
<text v-else>{{detail}}</text>
|
||||
<text class="iconfont icon-xiangyou"></text>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
</view> -->
|
||||
|
||||
<view class='item acea-row row-between-wrapper'>
|
||||
<view class='name'>详细地址</view>
|
||||
<input type='text' class="location-input" placeholder='请填写具体地址' name='detail'
|
||||
placeholder-class='placeholder' v-model="userAddress.detail"></input>
|
||||
<!--<view class="location" @click="selfLocation">
|
||||
<text class="iconfont icon-chakanditu"></text>
|
||||
<br>
|
||||
定位
|
||||
</view> -->
|
||||
|
||||
</view>
|
||||
</view>
|
||||
<view class='default acea-row row-middle'>
|
||||
@ -86,7 +154,9 @@ import {
|
||||
editAddress,
|
||||
getAddressDetail
|
||||
} from '@/api/user.js';
|
||||
import { wgsToGcj } from "@/utils/wgs.js";
|
||||
import {
|
||||
wgsToGcj
|
||||
} from "@/utils/wgs.js";
|
||||
import {
|
||||
getCityV2,
|
||||
getCityList
|
||||
@ -113,7 +183,8 @@ export default {
|
||||
couponId: 0, //优惠券id
|
||||
address_id: 0, //地址id
|
||||
userAddress: {
|
||||
is_default: false
|
||||
is_default: false,
|
||||
detail: '',
|
||||
}, //地址详情
|
||||
region: ['省', '市', '区'],
|
||||
valueRegion: [0, 0, 0],
|
||||
@ -126,10 +197,15 @@ export default {
|
||||
display: false,
|
||||
display_one: false,
|
||||
addressInfo: [],
|
||||
newAddrInfo: '',
|
||||
newPCAS: '',
|
||||
villageInfo: [],
|
||||
list: [],
|
||||
latitude: '',
|
||||
longitude: ''
|
||||
longitude: '',
|
||||
detail: '', //四川省泸州市龙马潭区龙门大道15号
|
||||
location: '', // 经纬度
|
||||
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
@ -158,14 +234,38 @@ export default {
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
|
||||
// 选择地址
|
||||
handleToChoose() {
|
||||
let that = this;
|
||||
// #ifdef H5
|
||||
uni.navigateTo({
|
||||
url: "/pages/select_address_n/select_address_n",
|
||||
success: (res) => {
|
||||
uni.$once('changeAddress', res => {
|
||||
console.log(res)
|
||||
// this.newAddrInfo = res.addr; "name": "中国,四川省,泸州市,龙马潭区",
|
||||
that.detail = res.addr.address;
|
||||
that.location = res.addr.location;
|
||||
})
|
||||
}
|
||||
})
|
||||
// #endif
|
||||
// #ifndef H5
|
||||
uni.chooseLocation({
|
||||
success: function(res) {
|
||||
that.userAddress.detail = res.address;
|
||||
that.location = `${res.latitude},${res.longitude}`;;
|
||||
}
|
||||
});
|
||||
// #endif
|
||||
},
|
||||
|
||||
OnChangeAddress(address) {
|
||||
this.addressInfo = address;
|
||||
this.list = address
|
||||
},
|
||||
OnChangevAddress(address) {
|
||||
this.villageInfo = address;
|
||||
console.log(this.villageInfo)
|
||||
},
|
||||
|
||||
// 地址数据
|
||||
getCityList: function() {
|
||||
let that = this;
|
||||
@ -208,7 +308,9 @@ export default {
|
||||
let region = [res.data.province, res.data.city, res.data.district, res.data.street, res
|
||||
.data.village
|
||||
];
|
||||
console.log({...res.data});
|
||||
console.log({
|
||||
...res.data
|
||||
});
|
||||
that.$set(that, 'userAddress', res.data);
|
||||
that.$set(that, 'region', region);
|
||||
that.city_id = res.data.city_id
|
||||
@ -344,6 +446,8 @@ export default {
|
||||
formSubmit: function(e) {
|
||||
let that = this,
|
||||
value = e.detail.value;
|
||||
value.location = this.location
|
||||
|
||||
if (!value.real_name) return that.$util.Tips({
|
||||
title: '请填写收货人姓名'
|
||||
});
|
||||
@ -353,19 +457,22 @@ export default {
|
||||
if (!/^1(3|4|5|7|8|9|6)\d{9}$/i.test(value.phone)) return that.$util.Tips({
|
||||
title: '请输入正确的手机号码'
|
||||
});
|
||||
if (!that.addressInfo.length) return that.$util.Tips({
|
||||
title: '请选择所在地区'
|
||||
});
|
||||
// if (!that.detail.length) return that.$util.Tips({
|
||||
// title: '请选择所在地区'
|
||||
// });
|
||||
// if (!that.villageInfo.length) return that.$util.Tips({
|
||||
// title: '请选择所在村队'
|
||||
// });
|
||||
if (!value.detail) return that.$util.Tips({
|
||||
title: '请填写详细地址'
|
||||
});
|
||||
if (!value.location) return that.$util.Tips({
|
||||
title: '请填写详细地址'
|
||||
});
|
||||
value.address_id = that.address_id;
|
||||
value.is_default = that.userAddress.is_default ? 1 : 0;
|
||||
value.area = that.addressInfo;
|
||||
value.brigade = that.villageInfo[0]
|
||||
value.area = that.detail;
|
||||
// value.brigade = that.villageInfo[0]
|
||||
|
||||
uni.showLoading({
|
||||
title: '保存中',
|
||||
@ -470,8 +577,11 @@ export default {
|
||||
}
|
||||
|
||||
.region .region_count {
|
||||
height: 42rpx;
|
||||
line-height: 42rpx;
|
||||
// height: 42rpx;
|
||||
// line-height: 42rpx;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
|
||||
.icon-xiangyou {
|
||||
float: right;
|
||||
|
@ -1,293 +1,8 @@
|
||||
<style lang="scss" scoped>
|
||||
page {
|
||||
background-color: #F8F9FA;
|
||||
}
|
||||
|
||||
.wholeSale {
|
||||
.wholeSale-header {
|
||||
margin-bottom: 20rpx;
|
||||
background-color: #40AE36;
|
||||
|
||||
.scrollview {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
height: 98rpx;
|
||||
padding-left: 32rpx;
|
||||
|
||||
.scrollview-item {
|
||||
margin-right: 30rpx;
|
||||
font-size: 28rpx;
|
||||
color: #FFFFFF;
|
||||
}
|
||||
|
||||
.scrollview-active {
|
||||
position: relative;
|
||||
font-weight: bold;
|
||||
font-size: 36rpx;
|
||||
color: #FFFFFF;
|
||||
|
||||
&::after {
|
||||
content: "";
|
||||
display: inline-block;
|
||||
position: absolute;
|
||||
bottom: -6rpx;
|
||||
left: 50%;
|
||||
transform: translateX(-50%);
|
||||
width: 100%;
|
||||
height: 6rpx;
|
||||
background-color: #FFFFFF;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.wholeSale-con {
|
||||
margin: 0 10px;
|
||||
|
||||
.search_content {
|
||||
margin-bottom: 40rpx;
|
||||
height: 70rpx;
|
||||
padding: 2px 2px 2px 21.05rpx;
|
||||
border-radius: 80rpx;
|
||||
background: #EDEFF2;
|
||||
position: relative;
|
||||
box-sizing: border-box;
|
||||
|
||||
.search_content_wrap {
|
||||
width: 100%;
|
||||
|
||||
.icon-sousuo {
|
||||
font-size: 26.32rpx;
|
||||
font-weight: bold;
|
||||
color: #c8c7c6;
|
||||
margin-right: 17.54rpx;
|
||||
}
|
||||
|
||||
input {
|
||||
width: 80%;
|
||||
}
|
||||
}
|
||||
|
||||
.search_btn {
|
||||
width: 106rpx;
|
||||
height: 60rpx;
|
||||
line-height: 60rpx;
|
||||
background: #40AE36;
|
||||
border-radius: 100px;
|
||||
font-size: 28rpx;
|
||||
color: #fff;
|
||||
}
|
||||
}
|
||||
|
||||
.category {
|
||||
width: 100%;
|
||||
overflow: auto;
|
||||
margin-bottom: 20rpx;
|
||||
|
||||
.category-wrap {
|
||||
display: flex;
|
||||
padding-bottom: 20rpx;
|
||||
|
||||
.category-item {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
margin-right: 38rpx;
|
||||
|
||||
text {
|
||||
margin-top: 16rpx;
|
||||
font-size: 24rpx;
|
||||
color: #666666;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.category-item-text {
|
||||
width: 120rpx;
|
||||
text-align: center;
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
}
|
||||
|
||||
.category-item-active {
|
||||
position: relative;
|
||||
|
||||
.category-item-img {
|
||||
border: 2px solid #40AE36;
|
||||
border-radius: 50%;
|
||||
}
|
||||
|
||||
text {
|
||||
background-color: #40AE36;
|
||||
color: #fff;
|
||||
padding: 2rpx 10rpx 6rpx 10rpx;
|
||||
border-radius: 50rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.cate {
|
||||
width: 100%;
|
||||
overflow: auto;
|
||||
margin-bottom: 30rpx;
|
||||
|
||||
.cate-wrap {
|
||||
display: flex;
|
||||
padding-bottom: 8rpx;
|
||||
|
||||
.cate-item {
|
||||
|
||||
text {
|
||||
padding: 4rpx 16rpx;
|
||||
white-space: nowrap;
|
||||
font-size: 30rpx;
|
||||
color: #333;
|
||||
}
|
||||
}
|
||||
|
||||
.cate-item-active {
|
||||
text {
|
||||
color: #40AE36;
|
||||
font-weight: bold;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.comprehensive {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
padding: 20rpx 50rpx;
|
||||
|
||||
[class^=comprehensive-] {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
|
||||
text {
|
||||
margin-right: 12rpx;
|
||||
font-size: 26rpx;
|
||||
color: #666666;
|
||||
}
|
||||
|
||||
image {
|
||||
width: 28rpx;
|
||||
height: 28rpx;
|
||||
}
|
||||
|
||||
.loudou {
|
||||
width: 24rpx;
|
||||
height: 24rpx;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
.comp-color {
|
||||
|
||||
text {
|
||||
margin-right: 12rpx;
|
||||
font-size: 26rpx;
|
||||
color: #40ae36 !important;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.pictrue {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
color: #999;
|
||||
|
||||
image {
|
||||
width: 414rpx;
|
||||
height: 305rpx;
|
||||
}
|
||||
}
|
||||
|
||||
.goods_list {
|
||||
.goods {
|
||||
// width: 690rpx;
|
||||
height: 200rpx;
|
||||
margin: 20rpx auto;
|
||||
margin-top: 0;
|
||||
background-color: #fff;
|
||||
border-radius: 24rpx;
|
||||
display: flex;
|
||||
|
||||
.avatar {
|
||||
height: 160rpx;
|
||||
width: 160rpx;
|
||||
margin: 20rpx;
|
||||
border-radius: 12rpx;
|
||||
overflow: hidden;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.content {
|
||||
margin: 20rpx 0;
|
||||
width: 520rpx;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: space-between;
|
||||
|
||||
.content-head {
|
||||
width: 500rpx;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: flex-end;
|
||||
font-size: 28rpx;
|
||||
color: #333;
|
||||
|
||||
.title {
|
||||
width: 360rpx;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
}
|
||||
|
||||
.content-two {
|
||||
display: flex;
|
||||
font-size: 24rpx;
|
||||
color: #666;
|
||||
align-items: center;
|
||||
|
||||
.star {
|
||||
position: relative;
|
||||
width: 111rpx;
|
||||
height: 19rpx;
|
||||
margin-right: 10rpx;
|
||||
background: url(../columnGoods/images/star.png) left top/100% 100% no-repeat;
|
||||
overflow: hidden;
|
||||
|
||||
view {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background: url(../columnGoods/images/star_active.png) left top/111rpx 19rpx no-repeat;
|
||||
|
||||
&.star_purple {
|
||||
background: url(../columnGoods/images/star_active_purple.png) left top/111rpx 19rpx no-repeat;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
<template>
|
||||
<view class="wholeSale">
|
||||
<!-- 顶部 -->
|
||||
<view class="wholeSale-header" style="position: fixed;top: 0;left: 0;width: 100%;z-index: 999;">
|
||||
<view class="wholeSale-header">
|
||||
<view class="wholeSale-header-wrap">
|
||||
<!-- 适配不同机 -->
|
||||
<view style="height: var(--status-bar-height);"></view>
|
||||
|
||||
@ -304,14 +19,12 @@
|
||||
</scroll-view>
|
||||
</view>
|
||||
|
||||
<!-- 内容 -->
|
||||
<view class="wholeSale-con" style="padding-top: calc(var(--status-bar-height) + 120rpx);">
|
||||
<u-subsection v-if="tabsCurr==2" :list="subList" @change="changeSub" :current="subCurr" mode="subsection"
|
||||
activeColor="#40ae36" fontSize="14" style="margin-bottom: 24rpx;"></u-subsection>
|
||||
<view class="wholeSale-header-search-wrap">
|
||||
|
||||
<u-subsection v-if="tabsCurr==2" :list="subList" @change="changeSub" :current="subCurr"
|
||||
mode="subsection" activeColor="#40ae36" fontSize="14" style="margin-bottom: 24rpx;"></u-subsection>
|
||||
|
||||
<view class="wholeSale-nav">
|
||||
<!-- <u-icon class="icon" name="arrow-left" size="20" @click="navBack"></u-icon> -->
|
||||
<!-- 搜索 -->
|
||||
<view
|
||||
@click="navTo(`/pages/columnGoods/goods_search/index?back=true&searchVal=${where.keyword}&shop=${subCurr!=1 || (subCurr==1 && tabsCurr!=2) ? false : true}`)"
|
||||
hover-class="none" class="search_content flex_a_c_j_sb">
|
||||
@ -334,8 +47,8 @@
|
||||
<view class="category-item" :class="{'category-item-active': index==cate_change}"
|
||||
@click="changeCate(index)">
|
||||
<block v-if="subCurr!=1 || (subCurr==1 && tabsCurr!=2)">
|
||||
<u--image class="category-item-img" width="108rpx" :src="item.pic" height="108rpx"
|
||||
shape="circle">
|
||||
<u--image class="category-item-img" width="108rpx" :src="item.pic"
|
||||
height="108rpx" shape="circle">
|
||||
<template v-slot:loading>
|
||||
<u-loading-icon color="#999" size="15" />
|
||||
</template>
|
||||
@ -357,7 +70,6 @@
|
||||
</scroll-view>
|
||||
</view>
|
||||
|
||||
|
||||
<!-- 商品小分类 -->
|
||||
<view class="cate" v-if="store_category_children.length>1">
|
||||
<scroll-view scroll-x="true">
|
||||
@ -374,7 +86,8 @@
|
||||
|
||||
<!-- 综合查询 -->
|
||||
<view class="comprehensive" v-if="subCurr!=1 || (subCurr==1 && tabsCurr!=2)">
|
||||
<view class="comprehensive-price" :class="{'comp-color': orderCurr==1}" @click="toOrder('price', 1)">
|
||||
<view class="comprehensive-price" :class="{'comp-color': orderCurr==1}"
|
||||
@click="toOrder('price', 1)">
|
||||
<text>价格</text>
|
||||
<image v-if="orderCurr==1" style="width: 15rpx;height: 21rpx;"
|
||||
:src="where.order == 'price_asc' ? domain+'/static/diy/up'+keyColor+'.png' : domain+'/static/diy/down'+keyColor+'.png'">
|
||||
@ -417,12 +130,16 @@
|
||||
<text>4:6</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<!-- 内容 style="padding-top: calc(var(--status-bar-height) + 120rpx);" -->
|
||||
<view class="wholeSale-con">
|
||||
|
||||
<!-- 流水瀑布 -->
|
||||
<WaterfallsFlow v-if="subCurr!=1 || (subCurr==1 && tabsCurr!=2)" :wfList='hostProduct' @itemTap="goDetail"
|
||||
:type="0" :sale_type="2" />
|
||||
|
||||
|
||||
<!-- 列表 -->
|
||||
<view class="goods_list" v-else>
|
||||
<view class="goods" v-for="(item, index) in shopList" :key="index" @click="goStore(item.mer_id)">
|
||||
@ -608,7 +325,7 @@
|
||||
this.initData(true, true);
|
||||
},
|
||||
onReachBottom() {
|
||||
this.initData();
|
||||
this.initData(false, true);
|
||||
},
|
||||
methods: {
|
||||
initData(re = false, stop = false) {
|
||||
@ -808,3 +525,301 @@
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
page {
|
||||
background-color: #F8F9FA;
|
||||
}
|
||||
|
||||
.wholeSale {
|
||||
.wholeSale-header {
|
||||
position: sticky;
|
||||
top: 0;
|
||||
z-index: 100;
|
||||
margin-bottom: 20rpx;
|
||||
|
||||
.wholeSale-header-wrap {
|
||||
background-color: #40AE36;
|
||||
}
|
||||
|
||||
.wholeSale-header-search-wrap {
|
||||
padding: 30rpx 20rpx 0;
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
.scrollview {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
height: 98rpx;
|
||||
padding-left: 32rpx;
|
||||
|
||||
.scrollview-item {
|
||||
margin-right: 30rpx;
|
||||
font-size: 28rpx;
|
||||
color: #FFFFFF;
|
||||
}
|
||||
|
||||
.scrollview-active {
|
||||
position: relative;
|
||||
font-weight: bold;
|
||||
font-size: 36rpx;
|
||||
color: #FFFFFF;
|
||||
|
||||
&::after {
|
||||
content: "";
|
||||
display: inline-block;
|
||||
position: absolute;
|
||||
bottom: -6rpx;
|
||||
left: 50%;
|
||||
transform: translateX(-50%);
|
||||
width: 100%;
|
||||
height: 6rpx;
|
||||
background-color: #FFFFFF;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.wholeSale-con {
|
||||
margin: 0 10px;
|
||||
}
|
||||
|
||||
.search_content {
|
||||
margin-bottom: 40rpx;
|
||||
height: 70rpx;
|
||||
padding: 2px 2px 2px 21.05rpx;
|
||||
border-radius: 80rpx;
|
||||
background: #EDEFF2;
|
||||
position: relative;
|
||||
box-sizing: border-box;
|
||||
|
||||
.search_content_wrap {
|
||||
width: 100%;
|
||||
|
||||
.icon-sousuo {
|
||||
font-size: 26.32rpx;
|
||||
font-weight: bold;
|
||||
color: #c8c7c6;
|
||||
margin-right: 17.54rpx;
|
||||
}
|
||||
|
||||
input {
|
||||
width: 80%;
|
||||
}
|
||||
}
|
||||
|
||||
.search_btn {
|
||||
width: 106rpx;
|
||||
height: 60rpx;
|
||||
line-height: 60rpx;
|
||||
background: #40AE36;
|
||||
border-radius: 100px;
|
||||
font-size: 28rpx;
|
||||
color: #fff;
|
||||
}
|
||||
}
|
||||
|
||||
.category {
|
||||
width: 100%;
|
||||
overflow: auto;
|
||||
margin-bottom: 20rpx;
|
||||
|
||||
.category-wrap {
|
||||
display: flex;
|
||||
padding-bottom: 20rpx;
|
||||
height: 192rpx;
|
||||
|
||||
.category-item {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
margin-right: 38rpx;
|
||||
|
||||
text {
|
||||
margin-top: 16rpx;
|
||||
font-size: 24rpx;
|
||||
color: #666666;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.category-item-text {
|
||||
width: 120rpx;
|
||||
text-align: center;
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
}
|
||||
|
||||
.category-item-active {
|
||||
position: relative;
|
||||
|
||||
.category-item-img {
|
||||
border: 2px solid #40AE36;
|
||||
border-radius: 50%;
|
||||
}
|
||||
|
||||
text {
|
||||
background-color: #40AE36;
|
||||
color: #fff;
|
||||
padding: 2rpx 10rpx 6rpx 10rpx;
|
||||
border-radius: 50rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.cate {
|
||||
width: 100%;
|
||||
overflow: auto;
|
||||
margin-bottom: 30rpx;
|
||||
|
||||
.cate-wrap {
|
||||
display: flex;
|
||||
padding-bottom: 8rpx;
|
||||
|
||||
.cate-item {
|
||||
|
||||
text {
|
||||
padding: 4rpx 16rpx;
|
||||
white-space: nowrap;
|
||||
font-size: 30rpx;
|
||||
color: #333;
|
||||
}
|
||||
}
|
||||
|
||||
.cate-item-active {
|
||||
text {
|
||||
color: #40AE36;
|
||||
font-weight: bold;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.comprehensive {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
padding: 20rpx 50rpx;
|
||||
|
||||
[class^=comprehensive-] {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
|
||||
text {
|
||||
margin-right: 12rpx;
|
||||
font-size: 26rpx;
|
||||
color: #666666;
|
||||
}
|
||||
|
||||
image {
|
||||
width: 28rpx;
|
||||
height: 28rpx;
|
||||
}
|
||||
|
||||
.loudou {
|
||||
width: 24rpx;
|
||||
height: 24rpx;
|
||||
}
|
||||
}
|
||||
|
||||
.comp-color {
|
||||
|
||||
text {
|
||||
margin-right: 12rpx;
|
||||
font-size: 26rpx;
|
||||
color: #40ae36 !important;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.pictrue {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
color: #999;
|
||||
|
||||
image {
|
||||
width: 414rpx;
|
||||
height: 305rpx;
|
||||
}
|
||||
}
|
||||
|
||||
.goods_list {
|
||||
.goods {
|
||||
// width: 690rpx;
|
||||
height: 200rpx;
|
||||
margin: 20rpx auto;
|
||||
margin-top: 0;
|
||||
background-color: #fff;
|
||||
border-radius: 24rpx;
|
||||
display: flex;
|
||||
|
||||
.avatar {
|
||||
height: 160rpx;
|
||||
width: 160rpx;
|
||||
margin: 20rpx;
|
||||
border-radius: 12rpx;
|
||||
overflow: hidden;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.content {
|
||||
margin: 20rpx 0;
|
||||
width: 520rpx;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: space-between;
|
||||
|
||||
.content-head {
|
||||
width: 500rpx;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: flex-end;
|
||||
font-size: 28rpx;
|
||||
color: #333;
|
||||
|
||||
.title {
|
||||
width: 360rpx;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
}
|
||||
|
||||
.content-two {
|
||||
display: flex;
|
||||
font-size: 24rpx;
|
||||
color: #666;
|
||||
align-items: center;
|
||||
|
||||
.star {
|
||||
position: relative;
|
||||
width: 111rpx;
|
||||
height: 19rpx;
|
||||
margin-right: 10rpx;
|
||||
background: url(../columnGoods/images/star.png) left top/100% 100% no-repeat;
|
||||
overflow: hidden;
|
||||
|
||||
view {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background: url(../columnGoods/images/star_active.png) left top/111rpx 19rpx no-repeat;
|
||||
|
||||
&.star_purple {
|
||||
background: url(../columnGoods/images/star_active_purple.png) left top/111rpx 19rpx no-repeat;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
@ -8,6 +8,7 @@
|
||||
// | Author: CRMEB Team <admin@crmeb.com>
|
||||
// +----------------------------------------------------------------------
|
||||
module.exports = {
|
||||
publicPath: '/h5',
|
||||
productionSourceMap: false, // 生产打包时不输出map文件,增加打包速度
|
||||
configureWebpack: config => {
|
||||
if (process.env.NODE_ENV === 'production') {
|
||||
|
Loading…
x
Reference in New Issue
Block a user