bug修改

This commit is contained in:
DESKTOP-GMUNQ1B\k 2024-04-07 17:16:33 +08:00
parent 33a80b53cd
commit 7527061444
11 changed files with 1697 additions and 1434 deletions
components
WaterfallsFlowItem
popups
pages.json
pages
admin/storeDiy
cloud_warehouse/home
columnGoods/goods_search
payment
plantGrass/plant_search
store/home
whole_sale

@ -13,8 +13,9 @@
</view>
<view class="item_tags">
<!-- 后端返回的标签 -->
<text class="tags_item delivery" :class="{'delivery_yellow': sale_type==2&&i==0}"
<text class="tags_item delivery" :class="{'delivery_yellow': e =='批发价'?true:false}"
v-for="(e, i) in item.mer_label_name" :key="i">{{e}}</text>
<!-- 商品标签 -->
<!-- <text v-if="item.product_type == 0 && item.merchant.type_name" class="font-bg-red b-color">{{item.merchant.type_name}}</text>
<text v-else-if="item.product_type == 0 && item.merchant.is_trader" class="font-bg-red b-color">自营</text> -->
@ -99,10 +100,16 @@
// | Author: CRMEB Team <admin@crmeb.com>
// +----------------------------------------------------------------------
import easyLoadimage from '@/components/easy-loadimage/easy-loadimage.vue'
import { mapGetters } from "vuex";
import { HTTP_REQUEST_URL } from '@/config/app';
import {
mapGetters
} from "vuex";
import {
HTTP_REQUEST_URL
} from '@/config/app';
export default {
components: { easyLoadimage },
components: {
easyLoadimage
},
computed: mapGetters(['viewColor']),
props: {
item: {
@ -341,8 +348,7 @@
font-size: 20rpx;
text-align: center;
border-radius: 5rpx;
padding: 0 4rpx;
height: 28rpx;
padding: 4rpx 6rpx;
align-items: center;
justify-content: center;
margin-right: 8rpx;
@ -354,15 +360,13 @@
}
.item_tags .tags_item.delivery {
// color: #FF9000;
// border: 1px solid #FF9000;
color: var(--view-theme);
border: 1px solid var(--view-theme);
color: #fff;
background-color: var(--view-theme);
}
.item_tags .tags_item.delivery_yellow {
color: #FF9000;
border: 1px solid #FF9000;
.delivery_yellow {
background-color: #FF9000 !important;
color: #fff !important;
}
.wf-page1 .text .money .ticket-big {

@ -220,14 +220,14 @@
.keyboard-right-clear {
width: 100%;
height: 240rpx;
line-height: 226rpx;
height: 120rpx;
line-height: 120rpx;
}
.keyboard-right-pay {
width: 100%;
height: 240rpx;
line-height: 226rpx;
height: 360rpx;
line-height: 360rpx;
text-align: center;
background-color: #40AE36;
color: #fff !important;

@ -78,7 +78,7 @@
{
"path": "pages/payment/get_payment",
"style": {
"navigationBarTitleText": "提货付款",
"navigationBarTitleText": "支付",
"navigationStyle": "custom"
}
},
@ -282,11 +282,10 @@
}
},
{
"path" : "pages/newActivity/share/share",
"style" :
{
"navigationBarTitleText" : "",
"enablePullDownRefresh" : false
"path": "pages/newActivity/share/share",
"style": {
"navigationBarTitleText": "",
"enablePullDownRefresh": false
}
}
],

@ -1,5 +1,6 @@
<template>
<view :style="{ 'background-image': `linear-gradient(0deg, rgba(0, 0, 0, 0.9) 0%, rgba(0, 0, 0, 0.5) 100%),url(${store.mer_banner})` }"
<view
:style="{ 'background-image': `linear-gradient(0deg, rgba(0, 0, 0, 0.9) 0%, rgba(0, 0, 0, 0.5) 100%),url(${store.mer_banner})` }"
class="store-home">
<!-- 搜索 -->
<!-- #ifdef MP || APP-PLUS -->
@ -26,7 +27,8 @@
<view :class="{ active: navActive === 0 }" class="item">
<view class="cont">
{{ select.selected ? '评分' : '默认' }}
<text :class="['arrow-icon', 'iconfont', select.show ? 'icon-xiangshang' : 'icon-xiangxia']"></text>
<text
:class="['arrow-icon', 'iconfont', select.show ? 'icon-xiangshang' : 'icon-xiangxia']"></text>
</view>
</view>
<view :class="{ active: navActive === 1 }" class="item">
@ -35,17 +37,21 @@
<view :class="{ active: navActive === 2 }" class="item">
<view class="cont">
价格
<image :src="sortPrice ? domain+'/static/diy/up'+keyColor+'.png' : domain+'/static/diy/down'+keyColor+'.png'"></image>
<image
:src="sortPrice ? domain+'/static/diy/up'+keyColor+'.png' : domain+'/static/diy/down'+keyColor+'.png'">
</image>
</view>
</view>
<view class="item">
<view class="cont">
<text :class="['layout-icon', 'iconfont', isColumn ? 'icon-pailie' : 'icon-tupianpailie']"></text>
<text
:class="['layout-icon', 'iconfont', isColumn ? 'icon-pailie' : 'icon-tupianpailie']"></text>
</view>
</view>
</view>
<view v-show="select.show && navShow" class="select">
<view v-for="item in select.options" :key="item.id" :class="{ active: item.id === select.selected }" class="item">
<view v-for="item in select.options" :key="item.id" :class="{ active: item.id === select.selected }"
class="item">
{{ item.name }}
<text v-if="item.id === select.selected" class="iconfont icon-gou"></text>
</view>
@ -82,7 +88,8 @@
<view class="score">
<view class="star">
<view
:style="{width: `${score.star.toFixed(2)}%`, backgroundImage: `url(${domain}/static/diy/score1${keyColor}.png)`}"></view>
:style="{width: `${score.star.toFixed(2)}%`, backgroundImage: `url(${domain}/static/diy/score1${keyColor}.png)`}">
</view>
</view>
<view>{{ score.number.toFixed(1) }}</view>
</view>
@ -110,7 +117,8 @@
<view class="item active">
<view class="cont">
{{ select.selected ? '评分' : '默认' }}
<text :class="['arrow-icon', 'iconfont', select.show ? 'icon-xiangshang' : 'icon-xiangxia']"></text>
<text
:class="['arrow-icon', 'iconfont', select.show ? 'icon-xiangshang' : 'icon-xiangxia']"></text>
</view>
</view>
<view class="item">
@ -121,19 +129,22 @@
<view class="item">
<view class="cont">
价格
<image v-if="navActive === 2 && where.order == 'price_asc'" :src="domain+'/static/diy/up'+keyColor+'.png'"></image>
<image v-if="navActive === 2 && where.order == 'price_desc'" :src="domain+'/static/diy/down'+keyColor+'.png'"></image>
<image v-if="navActive === 2 && where.order == 'price_asc'"
:src="domain+'/static/diy/up'+keyColor+'.png'"></image>
<image v-if="navActive === 2 && where.order == 'price_desc'"
:src="domain+'/static/diy/down'+keyColor+'.png'"></image>
</view>
</view>
<view class="item">
<view class="cont">
<text :class="['layout-icon', 'iconfont', isColumn ? 'icon-pailie' : 'icon-tupianpailie']"></text>
<text
:class="['layout-icon', 'iconfont', isColumn ? 'icon-pailie' : 'icon-tupianpailie']"></text>
</view>
</view>
</view>
<view v-show="select.show && !navShow" class="select">
<view v-for="item in select.options" :key="item.id" :class="{ active: item.id === select.selected }" class="item"
>{{ item.name }}
<view v-for="item in select.options" :key="item.id" :class="{ active: item.id === select.selected }"
class="item">{{ item.name }}
<text v-if="item.id === select.selected" class="iconfont icon-gou"></text>
</view>
</view>
@ -155,7 +166,8 @@
</view>
</view>
<view v-show="select.show && !navShow" class="select">
<view v-for="item in select.options" :key="item.id" :class="{ active: item.id === select.selected }" class="item">
<view v-for="item in select.options" :key="item.id" :class="{ active: item.id === select.selected }"
class="item">
{{ item.name }}
<text v-if="item.id === select.selected" class="iconfont icon-gou"></text>
</view>
@ -167,19 +179,14 @@
<!-- #ifdef H5 -->
<view v-for="(item, index) in styleConfig" :key="index">
<block v-if="item.name != 'headerSerch' && item.name != 'tabNav' && item.name != 'pageFoot'">
<component
:is="item.name"
:index="index"
:dataConfig="item"
:merId="id"
@detail="goGoodsDetail"
></component>
<component :is="item.name" :index="index" :dataConfig="item" :merId="id"
@detail="goGoodsDetail"></component>
</block>
</block>
</view>
<!-- #endif -->
<!-- #ifdef MP || APP-PLUS-->
<block v-for="(item, index) in styleConfig" :key="index" >
<block v-for="(item, index) in styleConfig" :key="index">
<view>
<activeParty v-if="item.name == 'activeParty'" :merId="id" :dataConfig="item"></activeParty>
<articleList v-if="item.name == 'articleList'" :merId="id" :dataConfig="item"></articleList>
@ -188,9 +195,11 @@
<combination v-if="item.name == 'combination'" :merId="id" :dataConfig="item"></combination>
<topic v-if="item.name == 'topic'" :merId="id" :dataConfig="item"></topic>
<coupon v-if="item.name == 'coupon'" :merId="id" :dataConfig="item"></coupon>
<goodList v-if="item.name == 'goodList'" :merId="id" :dataConfig="item" @detail="goGoodsDetail"></goodList>
<goodList v-if="item.name == 'goodList'" :merId="id" :dataConfig="item"
@detail="goGoodsDetail"></goodList>
<guide v-if="item.name == 'guide'" :merId="id" :dataConfig="item"></guide>
<liveBroadcast v-if="item.name == 'liveBroadcast'" :merId="id" :dataConfig="item"></liveBroadcast>
<liveBroadcast v-if="item.name == 'liveBroadcast'" :merId="id" :dataConfig="item">
</liveBroadcast>
<menus v-if="item.name == 'menus'" :merId="id" :dataConfig="item"></menus>
<presellList v-if="item.name == 'presellList'" :merId="id" :dataConfig="item"></presellList>
<richText v-if="item.name == 'richText'" :merId="id" :dataConfig="item"></richText>
@ -227,14 +236,32 @@
import request from "@/utils/request.js";
import WaterfallsFlow from '@/components/WaterfallsFlow/WaterfallsFlow.vue'
import easyLoadimage from '@/components/easy-loadimage/easy-loadimage.vue'
import {getStoreDetail, getStoreGoods, getStoreCategory, storeServiceList, hasServiceApi} from '@/api/store.js';
import { getDiy } from '@/api/api.js';
import { getUserInfo } from '@/api/user.js';
import { configMap } from "@/utils";
import { mapGetters } from "vuex";
import { goShopDetail } from '@/libs/order.js';
import {
getStoreDetail,
getStoreGoods,
getStoreCategory,
storeServiceList,
hasServiceApi
} from '@/api/store.js';
import {
getDiy
} from '@/api/api.js';
import {
getUserInfo
} from '@/api/user.js';
import {
configMap
} from "@/utils";
import {
mapGetters
} from "vuex";
import {
goShopDetail
} from '@/libs/order.js';
import emptyPage from '@/components/emptyPage.vue'
import { HTTP_REQUEST_URL } from '@/config/app';
import {
HTTP_REQUEST_URL
} from '@/config/app';
import mConfig from '../../store/component/index.js';
// #ifdef MP || APP-PLUS
import activeParty from '../../index/component/activeParty';
@ -389,7 +416,8 @@
number: 0
};
if ('postage_score' in store) {
score.number = (parseFloat(store.postage_score) + parseFloat(store.product_score) + parseFloat(store.service_score)) /
score.number = (parseFloat(store.postage_score) + parseFloat(store.product_score) + parseFloat(
store.service_score)) /
3;
score.star = score.number / 5 * 100;
}
@ -398,7 +426,7 @@
...configMap({
margin_ico_switch: 0,
margin_ico: '',
}, mapGetters(['isLogin','uid','viewColor','keyColor'])),
}, mapGetters(['isLogin', 'uid', 'viewColor', 'keyColor'])),
},
watch: {
@ -435,7 +463,11 @@
// diy
diyData() {
let that = this;
getDiy({id: that.id, did: that.did, version: '221'}).then(res => {
getDiy({
id: that.id,
did: that.did,
version: '221'
}).then(res => {
let data = res.data;
that.styleConfig = that.objToArr(data.value);
uni.setNavigationBarTitle({
@ -458,13 +490,14 @@
getStore: function() {
getStoreDetail(this.id).then(res => {
this.store = res.data;
if(this.id == 0){
if (this.id == 0) {
this.tabs = this.tabs1
}else{
if((res.data.delivery_way.length == 1 && res.data.delivery_way[0] == '1') || res.data.delivery_way.length == 2){
} else {
if ((res.data.delivery_way.length == 1 && res.data.delivery_way[0] == '1') || res.data
.delivery_way.length == 2) {
this.tabs = this.tabs1
this.service_open = true
}else{
} else {
this.tabs = this.tabs2
this.service_open = false
}
@ -523,16 +556,18 @@
</script>
<style lang="scss" scoped>
.tab-cont{
.tab-cont {
background: #f5f5f5;
min-height: 500rpx;
pointer-events: none;
}
/deep/.care {
background-image: none !important;
border: 1px solid #fff;
background-color: transparent;
}
.store-home {
position: fixed;
top: 0;
@ -547,6 +582,7 @@
background: left top/750rpx 390rpx no-repeat fixed;
overflow: hidden;
}
.header {
position: relative;
z-index: 6;
@ -555,6 +591,7 @@
padding-right: 34rpx;
height: 43px;
padding-left: 33rpx;
.head-menu {
display: -webkit-box;
display: -webkit-flex;
@ -566,10 +603,12 @@
width: 70px;
background: rgba(0, 0, 0, 0.25);
border-radius: 13px;
.icon-xiangzuo {
font-size: 32rpx;
color: #FFFFFF;
}
.iconfont {
-webkit-box-flex: 1;
-webkit-flex: 1;
@ -577,11 +616,13 @@
text-align: center;
color: #fff;
box-sizing: border-box;
&.icon-xiangzuo {
border-right: 1px solid rgba(255,255,255,.3);
border-right: 1px solid rgba(255, 255, 255, .3);
}
}
}
.search {
flex: 1;
display: flex;
@ -596,6 +637,7 @@
color: #999999;
/* #ifdef MP */
margin-right: 200rpx;
/* #endif */
.iconfont {
margin-right: 13rpx;
@ -604,27 +646,32 @@
}
}
}
.main_count{
.main_count {
background-color: #ffffff;
padding: 30rpx 20rpx;
.list{
.list {
width: 710rpx;
height: 280rpx;
margin-bottom: 30rpx;
position: relative;
.picture{
.picture {
width: 710rpx;
height: 280rpx;
border-radius: 16rpx;
}
}
}
.main {
flex: 1;
min-height: 0rpx;
box-sizing: border-box;
padding: 0;
}
.store {
position: relative;
z-index: 6;
@ -634,33 +681,40 @@
padding-left: 20rpx;
padding-top: 20rpx;
padding-bottom: 22rpx;
image {
width: 74rpx;
height: 74rpx;
border-radius: 6rpx;
}
.store-margin{
.store-margin {
width: 26rpx;
height: 26rpx;
margin-left: 10rpx;
}
.kefu{
.kefu {
color: #ffffff;
margin-right: 26rpx;
cursor: pointer;
.icon-kefu3{
.icon-kefu3 {
font-size: 34rpx;
}
}
.text {
flex: 1;
min-width: 0;
margin-right: 20rpx;
margin-left: 20rpx;
.text-view {
display: inline-flex;
align-items: center;
max-width: 100%;
.name {
flex: 1;
min-width: 0;
@ -672,12 +726,14 @@
line-height: 1;
color: #FFFFFF;
}
.iconfont {
margin-left: 10rpx;
font-size: 17rpx;
color: #FFFFFF;
}
}
.score {
display: flex;
align-items: center;
@ -686,6 +742,7 @@
font-size: 24rpx;
line-height: 1;
color: #FFFFFF;
.star {
position: relative;
width: 111rpx;
@ -693,6 +750,7 @@
margin-right: 10rpx;
background: url(../../columnGoods/images/star.png) left top/100% 100% no-repeat;
overflow: hidden;
view {
position: absolute;
top: 0;
@ -700,13 +758,15 @@
width: 100%;
height: 100%;
background: url(../../columnGoods/images/star_active.png) left top/111rpx 19rpx no-repeat;
&.star_purple{
&.star_purple {
background: url(../../columnGoods/images/star_active_purple.png) left top/111rpx 19rpx no-repeat;
}
}
}
}
}
button {
display: flex;
justify-content: center;
@ -718,40 +778,49 @@
font-weight: 500;
font-size: 22rpx;
color: #FFFFFF;
.iconfont {
margin-right: 6rpx;
font-size: 22rpx;
}
&.gary {
background-color: #999;
}
}
}
.font-bg-red {
background-color: var(--view-theme);
border: 1px solid var(--view-theme);
}
.nav.fixed {
position: fixed;
left: 0;
width: 100%;
.nav-cont {
position: absolute;
width: 100%;
}
}
.nav {
position: relative;
.nav-cont {
display: flex;
align-items: center;
height: 84rpx;
.item {
flex: 1;
display: flex;
justify-content: center;
align-items: center;
min-width: 0;
.cont {
display: flex;
justify-content: center;
@ -762,16 +831,20 @@
font-weight: 500;
font-size: 24rpx;
color: #FFFFFF;
.arrow-icon {
margin-left: 10rpx;
font-size: 18rpx;
}
.layout-icon {
font-size: 32rpx;
}
.icon-pailie {
font-size: 32rpx;
}
image {
width: 15rpx;
height: 21rpx;
@ -779,6 +852,7 @@
}
}
}
.active {
.cont {
background-color: #FFFFFF;
@ -787,6 +861,7 @@
}
}
}
.select {
position: absolute;
top: 100%;
@ -800,14 +875,17 @@
border-bottom-left-radius: 24rpx;
background-color: #FFFFFF;
box-shadow: 0px 2px 10px 0px rgba(0, 0, 0, 0.06);
.item {
margin-top: 28rpx;
font-size: 24rpx;
color: #454545;
}
.active {
color: var(--view-theme);
.iconfont{
.iconfont {
color: var(--view-theme);
float: right;
font-size: 20rpx;
@ -815,6 +893,7 @@
}
}
}
.goods {
display: flex;
flex-wrap: wrap;
@ -824,12 +903,14 @@
padding-left: 20rpx;
background-color: #F5F5F5;
width: 750rpx;
.item {
width: 345rpx;
border-radius: 16rpx;
margin-bottom: 20rpx;
background-color: #FFFFFF;
overflow: hidden;
.sell_out {
display: flex;
width: 110rpx;
@ -837,14 +918,15 @@
align-items: center;
justify-content: center;
border-radius: 100%;
background: rgba(0,0,0,.6);
background: rgba(0, 0, 0, .6);
color: #fff;
font-size: 24rpx;
position: absolute;
top: 50%;
left: 50%;
margin: -55rpx 0 0 -55rpx;
&::before{
&::before {
content: "";
display: block;
width: 100rpx;
@ -856,17 +938,24 @@
left: 5rpx;
}
}
.image,.easy-loadimage,image,uni-image {
.image,
.easy-loadimage,
image,
uni-image {
width: 345rpx;
height: 345rpx;
image {
display: block;
width: 100%;
height: 100%;
}
}
.text {
padding: 20rpx 20rpx 25rpx;
.name {
font-weight: 500;
font-size: 30rpx;
@ -874,25 +963,30 @@
color: #222222;
display: flex;
align-items: center;
.name_text{
.name_text {
display: inline-block;
max-width: 400rpx;
}
}
.money-wrap {
display: flex;
align-items: center;
margin-top: 43rpx;
.money {
font-weight: bold;
font-size: 26rpx;
color: var(--view-priceColor);
text {
font-size: 34rpx;
line-height: 1;
}
}
}
.score {
margin-top: 20rpx;
font-weight: 500;
@ -901,9 +995,11 @@
color: #737373;
}
}
.item_tags{
.item_tags {
margin-top: 8rpx;
}
.item_tags .tags_item {
display: inline-block;
font-size: 20rpx;
@ -913,14 +1009,17 @@
line-height: 28rpx;
margin-right: 8rpx;
}
.item_tags .tags_item.ticket{
.item_tags .tags_item.ticket {
border: 1px solid var(--view-theme);
color: var(--view-theme);
}
.item_tags .tags_item.delivery{
.item_tags .tags_item.delivery {
color: #FF9000;
border: 1px solid #FF9000;
}
.foot {
display: flex;
justify-content: center;
@ -930,6 +1029,7 @@
font-weight: 500;
font-size: 24rpx;
color: #FFFFFF;
.iconfont {
margin-right: 10rpx;
font-size: 22rpx;
@ -942,6 +1042,7 @@
.column {
padding: 0;
background-color: #FFFFFF;
.item {
position: relative;
display: flex;
@ -949,6 +1050,7 @@
padding: 30rpx 20rpx;
border-radius: 0;
margin-bottom: 0;
&::before {
content: " ";
position: absolute;
@ -957,7 +1059,11 @@
left: 250rpx;
border-top: 1px solid #F5F5F5;
}
/deep/.image,/deep/.easy-loadimage,/deep/image,/deep/uni-image {
/deep/.image,
/deep/.easy-loadimage,
/deep/image,
/deep/uni-image {
width: 260rpx;
height: 260rpx;
border-radius: 16rpx;
@ -965,6 +1071,7 @@
position: relative;
}
.border-picture {
position: absolute;
top: 0;
@ -973,6 +1080,7 @@
height: 100%;
background: center/cover no-repeat;
}
.text {
position: relative;
width: 450rpx;
@ -980,18 +1088,22 @@
padding-top: 0;
padding-right: 0;
padding-bottom: 0;
.name {
color: #282828;
width: 100%;
display: flex;
}
.item_bot{
.item_bot {
width: 100%;
}
.money-wrap {
display: flex;
align-items: center;
margin-top: 52rpx;
.ticket {
height: 28rpx;
padding-right: 12rpx;
@ -1005,6 +1117,7 @@
}
}
}
.foot {
position: absolute;
right: 20rpx;
@ -1018,14 +1131,17 @@
}
}
}
.category {
padding-top: 34rpx;
padding-right: 20rpx;
padding-left: 20rpx;
.section {
border-radius: 10rpx;
margin-bottom: 20rpx;
background-color: #FFFFFF;
.head {
position: relative;
display: flex;
@ -1035,6 +1151,7 @@
padding-left: 36rpx;
font-weight: bold;
color: #282828;
&::before {
content: " ";
position: absolute;
@ -1045,6 +1162,7 @@
background-color: var(--view-theme);
transform: translateY(-50%);
}
.title {
flex: 1;
min-width: 0;
@ -1053,17 +1171,20 @@
text-overflow: ellipsis;
font-size: 30rpx;
}
.iconfont {
font-size: 22rpx;
line-height: 1;
}
}
.body {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: center;
padding: 9rpx 36rpx 14rpx;
.item {
width: 314rpx;
height: 84rpx;
@ -1083,22 +1204,26 @@
}
}
}
.empty-box{
.empty-box {
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
margin-top: 0;
padding-top: 200rpx;
image{
image {
width: 414rpx;
height: 240rpx;
}
.txt{
.txt {
font-size: 26rpx;
color: #999;
}
}
.footer {
position: fixed;
bottom: 0;
@ -1111,6 +1236,7 @@
height: calc(100rpx + env(safe-area-inset-bottom)); /// IOS>11.2/
background-color: #FFFFFF;
opacity: 0.96;
.item {
flex: 1;
display: flex;
@ -1120,33 +1246,40 @@
font-weight: 500;
font-size: 20rpx;
color: #282828;
.iconfont {
font-size: 43rpx;
}
.icon-zhuanti{
.icon-zhuanti {
font-size: 38rpx;
}
}
.active {
color: var(--view-theme);
}
}
.p-b-75{
.p-b-75 {
padding-bottom: 150rpx;
}
.vip-money {
color: #282828;
font-size: 22rpx;
margin-left: 6rpx;
font-weight: bold;
}
.vipImg {
width: 65rpx;
height: 28rpx;
margin-left: 4rpx;
image {
width: 100%!important;
height: 100%!important;
width: 100% !important;
height: 100% !important;
display: block;
}
}

@ -5,6 +5,7 @@
.wholeSale {
background-color: #f8fafb !important;
.wholeSale-header {
margin-bottom: 20rpx;
// background-color: #40AE36;
@ -45,11 +46,12 @@
.wholeSale-con {
margin: 0 20rpx;
.wholeSale-nav{
.wholeSale-nav {
display: flex;
align-items: center;
margin-bottom: 40rpx;
.icon{
.icon {
margin-right: 20rpx;
}
}
@ -206,7 +208,8 @@
<!-- 适配不同机 -->
<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>
@ -215,12 +218,12 @@
<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>
@ -231,8 +234,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,7 +254,8 @@
<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>
@ -300,7 +306,7 @@
cate_change: 0,
cate_change_children: 0,
isLoading: 0,
where:{
where: {
page: 1,
limit: 20,
mer_type: 1, //1-, 2-, 3-
@ -310,7 +316,7 @@
}
}
},
onLoad(option){
onLoad(option) {
this.getStoreCategory();
this.getProductslist(true);
},
@ -321,12 +327,12 @@
uni.$emit('scroll');
},
methods: {
navTo(url){
navTo(url) {
uni.navigateTo({
url:url,
url: url,
success: () => {
uni.$once('searchValue', (e)=>{
this.$nextTick(()=>{
uni.$once('searchValue', (e) => {
this.$nextTick(() => {
this.where.keyword = e;
this.getProductslist(true);
})
@ -334,16 +340,16 @@
}
})
},
navBack(){
navBack() {
uni.navigateBack();
},
tabsChange(e) {
this.tabsCurr = e;
},
changeCate(e){
changeCate(e) {
this.cate_change = e;
this.store_category_children = [];
if(this.store_category[e].children) this.store_category_children = [...this.store_category[e].children];
if (this.store_category[e].children) this.store_category_children = [...this.store_category[e].children];
this.store_category_children.unshift({
cate_name: '全部',
store_category_id: ''
@ -352,14 +358,15 @@
this.where.mer_cate_id = this.store_category[e].store_category_id;
this.getProductslist(true);
},
changeChildrenCate(e){
changeChildrenCate(e) {
this.cate_change_children = e;
this.where.mer_cate_id = this.store_category_children[e].store_category_id;
if(e==0) this.where.mer_cate_id = this.store_category[this.cate_change].store_category_id; // , id
if (e == 0) this.where.mer_cate_id = this.store_category[this.cate_change]
.store_category_id; // , id
this.getProductslist(true);
},
getStoreCategory(){
getStoreCategory(259).then(res=>{
getStoreCategory() {
getStoreCategory(259).then(res => {
this.store_category = [{
cate_name: '全部',
pic: 'https://lihai001.oss-cn-chengdu.aliyuncs.com/def/0bc7a202404021652194310.png',
@ -372,18 +379,18 @@
})
})
},
getProductslist(reLoad=false){
if(reLoad){
getProductslist(reLoad = false) {
if (reLoad) {
this.where.page = 1;
this.hostProduct = [];
this.isLoading = 0;
}
if(this.isLoading==-1)return;
if (this.isLoading == -1) return;
this.isLoading = 1;
getProductslist(this.where).then(res=>{
getProductslist(this.where).then(res => {
this.hostProduct = [...this.hostProduct, ...res.data.list];
this.isLoading = 0;
if(res.data.list.length<this.where.limit) this.isLoading = -1;
if (res.data.list.length < this.where.limit) this.isLoading = -1;
this.where.page++;
})
},

@ -4,8 +4,8 @@
<view class='search acea-row row-between-wrapper'>
<view class='input acea-row row-between-wrapper'>
<text class='iconfont icon-sousuo2'></text>
<input type='text' :value='searchValue' :focus="focus" :placeholder="isShop?'点击搜索店铺名称':'点击搜索商品名称'" placeholder-class='placeholder'
@input="setValue"></input>
<input type='text' :value='searchValue' :focus="focus" :placeholder="isShop?'点击搜索店铺名称':'点击搜索商品名称'"
placeholder-class='placeholder' @input="setValue"></input>
</view>
<view class='bnt' @tap='searchBut'>搜索</view>
</view>
@ -25,7 +25,9 @@
</view>
<view v-if="historyList.length == 0" style="text-align: center; color: #999;">暂无搜索历史~</view>
<block v-if="isShop==false">
<view class='title'>热门搜索</view>
<!-- <view class='title'>热门搜索</view>
<view class='list acea-row' :style="{'height': hotSearchBox?'auto':'150rpx'}">
<block v-for="(item,index) in hotSearchList" :key="index">
<view class='item line1' @tap='setHotSearchValue(item,1)'>{{item.keyword}}</view>
@ -38,9 +40,9 @@
<view class="more-btn" v-if="hotSearchList.length>8 && hotSearchBox" @click="hotSearchBox = false">
收起<text class="iconfont icon-xiangshang"></text>
</view>
</view>
</view> -->
<!--今日热搜模块-->
<view class="search-hot">
<!-- <view class="search-hot">
<scroll-view v-if="isShow" scroll-x="true" style="white-space: nowrap; display: flex;" scroll-with-animation show-scrollbar="true">
<view v-if="daySearchList.length>0" class="scroll-count">
<view class="scroll-item" :style="{'background-image':`url(${domain}/static/images/search-title-bg.png)`}">
@ -70,7 +72,7 @@
</view>
</view>
</view>
<!--热销排行-->
热销排行
<view v-for="(item,index) in hotRankList" class="scroll-count">
<view class="scroll-item" :style="{'background-image':`url(${domain}/static/images/search-title-bg.png)`}">
<view class="search-title">
@ -110,7 +112,7 @@
<text>开启热搜榜</text>
</view>
</view>
</view>
</view> -->
</block>
</view>
<!-- #ifndef H5 -->
@ -129,17 +131,34 @@
// +----------------------------------------------------------------------
// | Author: CRMEB Team <admin@crmeb.com>
// +----------------------------------------------------------------------
import { getSearchKeyword,copyPasswordSearch,getTodayHotSearch,getHotRanking } from '@/api/store.js';
import {
getSearchKeyword,
copyPasswordSearch,
getTodayHotSearch,
getHotRanking
} from '@/api/store.js';
import shareScence from '@/libs/spread';
import { silenceBindingSpread } from '@/utils';
import { goShopDetail } from '@/libs/order.js';
import { initiateAssistApi } from '@/api/activity.js';
import { mapGetters } from 'vuex';
import { HTTP_REQUEST_URL } from '@/config/app';
import {
silenceBindingSpread
} from '@/utils';
import {
goShopDetail
} from '@/libs/order.js';
import {
initiateAssistApi
} from '@/api/activity.js';
import {
mapGetters
} from 'vuex';
import {
HTTP_REQUEST_URL
} from '@/config/app';
// #ifndef H5
import passwordPopup from '@/components/passwordPopup';
// #endif
import { toLogin } from '@/libs/login.js';
import {
toLogin
} from '@/libs/login.js';
export default {
computed: mapGetters(['isLogin', 'uid']),
components: {
@ -180,7 +199,7 @@
onLoad(options) {
this.searchValue = options.searchVal || ''
this.back = options.back;
if(options.shop=='true'){
if (options.shop == 'true') {
this.isShop = options.shop;
uni.setNavigationBarTitle({
title: '搜索店铺'
@ -230,13 +249,13 @@
});
},
/*今日热搜*/
getHotSearchList(){
getHotSearchList() {
getTodayHotSearch().then(res => {
this.$set(this, 'daySearchList', res.data);
});
},
/*热销排行*/
getHotRankingList(){
getHotRankingList() {
getHotRanking().then(res => {
this.$set(this, 'hotRankList', res.data);
});
@ -257,19 +276,21 @@
this.$set(this, 'searchValue', event.detail.value);
},
searchBut: function() {
if(this.back) {
if (this.back) {
return uni.navigateBack({
success: () => {
uni.$emit('searchValue', this.searchValue)
}
})
}
if(/^(\/@[1-9]{1}).*\*\//.test(this.searchValue)){
if (/^(\/@[1-9]{1}).*\*\//.test(this.searchValue)) {
uni.showLoading({
title: '加载中',
mask: true
});
copyPasswordSearch({key: this.searchValue}).then(res => {
copyPasswordSearch({
key: this.searchValue
}).then(res => {
uni.hideLoading();
let item = res.data
shareScence(res.data.user.uid, this.isLogin);
@ -283,7 +304,8 @@
let id = res.data.product_assist_set_id;
uni.hideLoading();
uni.navigateTo({
url: '/pages/activity/assist_detail/index?id=' + id
url: '/pages/activity/assist_detail/index?id=' +
id
});
})
@ -304,7 +326,7 @@
});
this.searchValue = ""
});
}else{
} else {
let status = false
this.tempStorage.forEach((el, index) => {
if (el == this.searchValue) {
@ -335,9 +357,11 @@
.searchGood .search {
padding-left: 30rpx;
}
.searchGood .search {
margin-top: 20rpx;
}
.searchGood .search .input {
width: 598rpx;
background-color: #f7f7f7;
@ -346,17 +370,21 @@
box-sizing: border-box;
height: 66rpx;
}
.searchGood .search .input input {
width: 472rpx;
font-size: 28rpx;
}
.searchGood .search .input .placeholder {
color: #bbb;
}
.searchGood .search .input .iconfont {
color: #000;
font-size: 35rpx;
}
.searchGood .search .bnt {
width: 120rpx;
text-align: center;
@ -365,11 +393,13 @@
font-size: 30rpx;
color: #282828;
}
.searchGood .title {
position: relative;
font-size: 28rpx;
color: #282828;
margin: 50rpx 30rpx 25rpx 30rpx;
.icon-shanchu {
position: absolute;
right: 0;
@ -378,10 +408,12 @@
color: #999;
}
}
.searchGood .list {
padding: 0 10rpx;
overflow: hidden;
}
.searchGood .list .item {
font-size: 26rpx;
color: #666;
@ -393,10 +425,12 @@
margin: 0 0 20rpx 20rpx;
max-width: 150rpx;
}
.searchGood .line {
border-bottom: 1rpx solid #eee;
margin: 20rpx 30rpx 0 30rpx;
}
.more-btn {
display: flex;
align-items: center;
@ -405,97 +439,117 @@
height: 60rpx;
font-size: 24rpx;
color: #999;
.iconfont {
font-size: 22rpx;
margin-left: 10rpx;
}
}
.search-hot{
.search-hot {
padding: 0 30rpx 30rpx;
padding-bottom: calc(30rpx+ constant(safe-area-inset-bottom)); /// IOS<11.2/
padding-bottom: calc(30rpx + env(safe-area-inset-bottom)); /// IOS>11.2/
scroll-view{
width:100%;
scroll-view {
width: 100%;
}
/deep/.uni-scroll-view-content{
/deep/.uni-scroll-view-content {
display: flex;
}
}
.scroll-item{
.scroll-item {
border: 1px solid #FFECEC;
border-radius: 16rpx;
background-repeat: no-repeat;
background-size: 100% auto;
height: 980rpx;
}
.scroll-count{
.scroll-count {
display: inline-block;
width: 450rpx;
margin-right: 30rpx;
vertical-align:top;
&:last-child{
vertical-align: top;
&:last-child {
margin-right: 0;
}
.search-title{
.search-title {
padding: 20rpx 20rpx 32rpx;
color: #E93323;
font-size: 28rpx;
font-weight: bold;
display: flex;
align-items: center;
.title-icon{
.title-icon {
width: 30rpx;
height: 30rpx;
margin-right: 10rpx;
}
}
.search-list{
.search-list {
padding: 0 20rpx 40rpx;
position: relative;
top: -15rpx;
}
.search-item{
.search-item {
display: flex;
align-items: center;
margin-bottom: 20rpx;
&:nth-child(n+3){
&:nth-child(n+3) {
margin-bottom: 0;
}
.list-more{
.list-more {
display: flex;
align-items: center;
margin-top: 40rpx;
}
.picture{
.picture {
width: 106rpx;
height: 106rpx;
border-radius: 10rpx;
position: relative;
.image{
.image {
width: 100%;
height: 100%;
border-radius: 10rpx;
}
}
.list-info{
.list-info {
max-width: 260rpx;
margin-left: 20rpx;
}
.title{
.title {
margin: 0;
color: #282828;
font-size: 26rpx;
&.titleml{
&.titleml {
margin-left: 15rpx;
max-width: 360rpx;
}
}
.info{
.info {
font-size: 22rpx;
color: #999999;
}
}
.list-num{
.list-num {
width: 28rpx;
height: 31rpx;
display: flex;
@ -504,16 +558,19 @@
font-size: 20rpx;
color: #ffffff;
background-size: 100% 100%;
&.num-pic{
&.num-pic {
position: absolute;
top: 0;
left: 0;
}
}
}
.search-hot-switch{
.search-hot-switch {
margin-top: 20rpx;
.switch{
.switch {
border: 1px solid #CCCCCC;
border-radius: 22rpx;
display: flex;
@ -523,7 +580,8 @@
height: 43rpx;
color: #666666;
font-size: 20rpx;
.iconfont{
.iconfont {
font-size: 24rpx;
margin-right: 10rpx;
position: relative;

@ -2,7 +2,7 @@
<view class="container">
<!-- #ifdef APP-PLUS -->
<view v-if="!isWeixin" class="v-navbar">
<u-navbar title="提货付款" :safeAreaInsetTop="false" :fixed="false" @leftClick="leftClick" bgColor="transparent"
<u-navbar title="支付" :safeAreaInsetTop="false" :fixed="false" @leftClick="leftClick" bgColor="transparent"
leftIconColor="#333" :titleStyle="{color:'#333',fontWeight:'bold',fontSize:'32rpx'}">
</u-navbar>
</view>
@ -49,11 +49,12 @@
</scroll-view> -->
</view>
</view>
<view class="v-btn-wrap" @click="submitOrder">
<!-- #ifdef H5 -->
<!-- <view class="v-btn-wrap" @click="submitOrder">
<u-button class="v-btn" :loading="loading"
:text="Number(cartForm.total_amount||0).toFixed(2)+'元 确认支付'"></u-button>
</view>
</view> -->
<!-- #endif -->
<!-- 登陆 -->
<authorize :isAuto="isAuto" :is-pay="true" :isShowAuth="isShowAuth" @authColse="authColse"

@ -102,7 +102,7 @@
<text @click="openDiscount">优惠明细</text>
</view>
</view>
<view class='settlement' style='z-index:100' @tap="SubOrder">{{'提交订单'}}</view>
<view class='settlement' style='z-index:100' @tap="SubOrder">{{'立即支付'}}</view>
</view>
</view>
<block v-if="coupon.status">

@ -4,8 +4,9 @@
<view class='search acea-row row-between-wrapper'>
<view class='input acea-row row-between-wrapper'>
<text class='iconfont icon-sousuo2'></text>
<input type='text' :value='searchValue' :focus="focus" placeholder='请输入关键字' placeholder-class='placeholder'
@input="setValue" confirm-type="search" @confirm="searchBut()"></input>
<input type='text' :value='searchValue' :focus="focus" placeholder='请输入关键字'
placeholder-class='placeholder' @input="setValue" confirm-type="search"
@confirm="searchBut()"></input>
</view>
<view class='bnt' @tap='searchCancle'>取消</view>
</view>
@ -24,20 +25,20 @@
</view>
</view>
<view v-if="historyList.length == 0" style="text-align: center; color: #999;">暂无搜索历史~</view>
<view class='title'>热门搜索</view>
<!-- <view class='title'>热门搜索</view>
<view class='list acea-row' :style="{'height': hotSearchBox?'auto':'150rpx'}">
<block v-for="(item,index) in hotSearchList" :key="index">
<view class='item line1' @tap='setHotSearchValue(item,1)'>{{item.keyword}}</view>
</block>
</view>
<view>
</view> -->
<!-- <view>
<view class="more-btn" v-if="hotSearchList.length>8 && !hotSearchBox" @click="hotSearchBox = true">
展开全部<text class="iconfont icon-xiangxia"></text>
</view>
<view class="more-btn" v-if="hotSearchList.length>8 && hotSearchBox" @click="hotSearchBox = false">
收起<text class="iconfont icon-xiangshang"></text>
</view>
</view>
</view> -->
</view>
</view>
</template>
@ -52,7 +53,9 @@
// +----------------------------------------------------------------------
// | Author: CRMEB Team <admin@crmeb.com>
// +----------------------------------------------------------------------
import { hotSearchLst } from '@/api/community.js';
import {
hotSearchLst
} from '@/api/community.js';
export default {
data() {
return {
@ -149,7 +152,7 @@
url: '/pages/plantGrass/plant_search_list/index?searchValue=' + this.searchValue
})
},
searchCancle(){
searchCancle() {
uni.navigateBack();
}
}
@ -166,6 +169,7 @@
padding-left: 30rpx;
margin-top: 20rpx;
}
.searchGood .search .input {
width: 598rpx;
background-color: #f7f7f7;
@ -174,17 +178,21 @@
box-sizing: border-box;
height: 66rpx;
}
.searchGood .search .input input {
width: 472rpx;
font-size: 28rpx;
}
.searchGood .search .input .placeholder {
color: #bbb;
}
.searchGood .search .input .iconfont {
color: #000;
font-size: 35rpx;
}
.searchGood .search .bnt {
width: 120rpx;
text-align: center;
@ -193,11 +201,13 @@
font-size: 30rpx;
color: #282828;
}
.searchGood .title {
position: relative;
font-size: 28rpx;
color: #282828;
margin: 50rpx 30rpx 25rpx 30rpx;
.icon-shanchu {
position: absolute;
right: 0;
@ -206,10 +216,12 @@
color: #999;
}
}
.searchGood .list {
padding: 0 10rpx;
overflow: hidden;
}
.searchGood .list .item {
font-size: 26rpx;
color: #666;
@ -221,10 +233,12 @@
margin: 0 0 20rpx 20rpx;
max-width: 150rpx;
}
.searchGood .line {
border-bottom: 1rpx solid #eee;
margin: 20rpx 30rpx 0 30rpx;
}
.more-btn {
display: flex;
align-items: center;
@ -233,6 +247,7 @@
height: 60rpx;
font-size: 24rpx;
color: #999;
.iconfont {
font-size: 22rpx;
margin-left: 10rpx;

@ -153,7 +153,8 @@
<view class="text on acea-row row-between-wrapper">
<view class="name line1">
<text class="name_text line1">{{ item.store_name }}</text>
<text class="sale_num">已销 {{item.sales}}{{item.sales>0?'+':''}}</text>
<text v-if="item.sales>0"
class="sale_num">已销{{item.sales}}{{item.sales>0?'+':''}}</text>
</view>
<!-- 标签 -->

@ -197,16 +197,19 @@
}
}
}
.pictrue{
.pictrue {
display: flex;
flex-direction: column;
align-items: center;
color: #999;
image {
width: 414rpx;
height: 305rpx;
}
}
.goods_list {
.goods {
// width: 690rpx;
@ -253,6 +256,36 @@
display: flex;
font-size: 24rpx;
color: #666;
.score {
display: flex;
align-items: center;
font-weight: 500;
font-size: 24rpx;
line-height: 1;
color: #FFFFFF;
.star {
position: relative;
width: 111rpx;
height: 19rpx;
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;
}
}
}
}
}
}
}
@ -270,8 +303,8 @@
<scroll-view scroll-x="true" :scroll-top="100" :show-scrollbar="false" scroll-into-view="a1">
<view class="scrollview">
<block v-for="(item,indx) in tabsArr" :key="indx">
<view class="scrollview-item" :id="'a' + indx" :class="{'scrollview-active':tabsCurr == item.val}"
@click="tabsChange(item.val)">
<view class="scrollview-item" :id="'a' + indx"
:class="{'scrollview-active':tabsCurr == item.val}" @click="tabsChange(item.val)">
{{item.name}}
</view>
</block>
@ -281,17 +314,21 @@
<!-- 内容 -->
<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>
<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!=0 || (subCurr==0 && tabsCurr!=2) ? false : true}`)"
<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">
<view class="flex_a_c search_content_wrap">
<view class="iconfont icon-sousuo" style="font-size: 39rpx;"></view>
<input type="text" :placeholder="subCurr!=0 || (subCurr==0 && tabsCurr!=2) ? '搜索您需要批发进货的产品名称': '搜索店铺名称'" :value="where.keyword"
placeholder-style="font-size: 30rpx;color:#999;" disabled style="pointer-events: none;">
<input type="text"
:placeholder="subCurr!=1 || (subCurr==1 && tabsCurr!=2) ? '搜索您需要批发进货的产品名称': '搜索店铺名称'"
:value="where.keyword" placeholder-style="font-size: 30rpx;color:#999;" disabled
style="pointer-events: none;">
</view>
<!-- <button class="search_btn">搜索</button> -->
</view>
@ -304,8 +341,9 @@
<block v-for="(item,index) in store_category" :key="index">
<view class="category-item" :class="{'category-item-active': index==cate_change}"
@click="changeCate(index)">
<block v-if="subCurr!=0 || (subCurr==0 && tabsCurr!=2)">
<u--image class="category-item-img" width="108rpx" :src="item.pic" height="108rpx" shape="circle">
<block v-if="subCurr!=1 || (subCurr==1 && tabsCurr!=2)">
<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>
@ -313,7 +351,8 @@
<text class="category-item-text">{{item.cate_name}}</text>
</block>
<block v-else>
<u--image class="category-item-img" width="108rpx" :src="item.background" height="108rpx" shape="circle">
<u--image class="category-item-img" width="108rpx" :src="item.background"
height="108rpx" shape="circle">
<template v-slot:loading>
<u-loading-icon color="#999" size="15" />
</template>
@ -342,7 +381,7 @@
</view>
<!-- 综合查询 -->
<view class="comprehensive" v-if="subCurr!=0 || (subCurr==0 && tabsCurr!=2)">
<view class="comprehensive" v-if="subCurr!=1 || (subCurr==1 && tabsCurr!=2)">
<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;"
@ -350,7 +389,8 @@
</image>
<view v-else style="width: 15rpx;height: 21rpx;"></view>
</view>
<view class="comprehensive-sales_num" :class="{'comp-color': orderCurr==2}" @click="toOrder('sales', 2)">
<view class="comprehensive-sales_num" :class="{'comp-color': orderCurr==2}"
@click="toOrder('sales', 2)">
<text>销量</text>
</view>
<view class="comprehensive-discount" :class="{'comp-color': orderCurr==3}" v-if="tabsCurr!=1"
@ -387,7 +427,8 @@
</view>
<!-- 流水瀑布 -->
<WaterfallsFlow v-if="subCurr!=0 || (subCurr==0 && tabsCurr!=2)" :wfList='hostProduct' @itemTap="goDetail" :type="0" :sale_type="2" />
<WaterfallsFlow v-if="subCurr!=1 || (subCurr==1 && tabsCurr!=2)" :wfList='hostProduct' @itemTap="goDetail"
:type="0" :sale_type="2" />
<!-- 列表 -->
@ -405,17 +446,20 @@
<view class="content">
<view class="content-head">
<view class="title">{{item.mer_name}}</view>
<text style="font-size: 21.03rpx;color: #aaa;" v-if="item.sales>=100">月销{{item.sales}}</text>
<text style="font-size: 21.03rpx;color: #aaa;"
v-if="item.sales>=100">月销{{item.sales}}</text>
</view>
<view class="content-two">
<view class="score">
<view class="star">
<view
:style="{width: `${(item.service_score / 5 * 100).toFixed(0)}%`, backgroundImage: `url(${domain}/static/diy/score1${keyColor}.png)`}">
:style="{ height:'26rpx', width: ((item.service_score / 5) * 222).toFixed(0) + 'rpx', backgroundImage:`url(${domain}/static/diy/score1${keyColor}.png)`}">
</view>
</view>
</view>
<text style="margin-left: 20rpx;color: #FF6D20;font-size: 22.78rpx; ">{{item.service_score}}</text>
<text
style="margin-left: 20rpx;color: #FF6D20;font-size: 22.78rpx; ">{{item.service_score}}</text>
<text v-if="item.distance"
style="margin-left: 20rpx;font-size: 21.03rpx;color: #aaa;">{{item.distance}}</text>
</view>
@ -423,8 +467,8 @@
<u--image :showLoading="true" src="/static/images/GXSC/DH.png" width="33.85rpx"
height="33.85rpx"></u--image>
<text> {{item.service_phone}}</text>
<u--image style="margin-left: 28rpx;" v-if="item.mer_take_time" :showLoading="true" src="/static/images/GXSC/SJ.png" width="33.85rpx"
height="33.85rpx"></u--image>
<u--image style="margin-left: 28rpx;" v-if="item.mer_take_time" :showLoading="true"
src="/static/images/GXSC/SJ.png" width="33.85rpx" height="33.85rpx"></u--image>
<text v-if="item.mer_take_time">{{item.mer_take_time[0]}}-{{item.mer_take_time[1]}}</text>
</view>
<view class="content-two">
@ -437,7 +481,8 @@
</view>
<loadmore :type="isLoading" v-if="isLoading || hostProduct.length > 0" style="padding: 40rpx 0 150rpx; 0"></loadmore>
<loadmore :type="isLoading" v-if="isLoading || hostProduct.length > 0" style="padding: 40rpx 0 150rpx; 0">
</loadmore>
<view class='pictrue' v-if="!isLoading && hostProduct.length == 0">
<image :src="`${domain}/static/images/noCart.png`"></image>
<view>暂无商品看点别的吧</view>
@ -495,7 +540,7 @@
}],
tabsCurr: 1,
orderCurr: 3, //
subList: ['批发商户', '批发市场'],
subList: ['批发市场', '批发商户'],
subCurr: 0,
newData: {},
activeRouter: '',
@ -541,16 +586,16 @@
this.initData();
},
methods: {
initData(re=false, stop=false){
if(!stop) this.getStoreCategory();
if (this.tabsCurr==2&&this.subCurr==0) this.storeMerchantList(re, stop);
initData(re = false, stop = false) {
if (!stop) this.getStoreCategory();
if (this.tabsCurr == 2 && this.subCurr == 1) this.storeMerchantList(re, stop);
else this.getProductslist(re, stop);
},
changeDeduction(e) {
this.where.deduction_rate = e;
this.getProductslist(true);
},
changeSub(e){
changeSub(e) {
this.subCurr = e;
this.where = {
page: 1,
@ -558,7 +603,7 @@
sale_type: this.where.sale_type,
keyword: this.where.keyword,
}
if(this.subCurr!=0) this.where.mer_type = 2;
if (this.subCurr != 1) this.where.mer_type = 2;
this.cate_change = 0;
this.cate_change_children = 0;
this.initData(true);
@ -605,13 +650,13 @@
}
this.cate_change = 0;
this.cate_change_children = 0;
if(this.tabsCurr!=2||(this.tabsCurr==2&&this.subCurr!=0)) this.where.mer_type = e;
if (this.tabsCurr != 2 || (this.tabsCurr == 2 && this.subCurr != 0)) this.where.mer_type = e;
this.initData(true);
},
changeCate(e) {
this.cate_change = e;
this.store_category_children = [];
if(this.tabsCurr==2&&this.subCurr==0) {
if (this.tabsCurr == 2 && this.subCurr == 0) {
this.where.merchant_category_id = this.store_category[e].merchant_category_id;
return this.storeMerchantList(true);
}
@ -641,7 +686,7 @@
if (this.tabsCurr == 1) getStoreCategory(259).then(res => {
this.initStoreCate(res);
})
else if (this.tabsCurr == 2 && this.subCurr==0) merClassifly().then(res => {
else if (this.tabsCurr == 2 && this.subCurr == 0) merClassifly().then(res => {
this.store_category = [{
category_name: '全部',
merchant_category_id: '',
@ -682,18 +727,18 @@
})
},
storeMerchantList(reLoad = false, stop) {
if(reLoad){
if (reLoad) {
this.where.page = 1;
this.shopList = [];
this.isLoading = 0;
}
if(this.isLoading==-1)return;
if (this.isLoading == -1) return;
this.isLoading = 1;
storeMerchantList(this.where).then(res => {
if(stop) uni.stopPullDownRefresh()
if (stop) uni.stopPullDownRefresh()
this.shopList = [...this.shopList, ...res.data.list];
this.isLoading = 0;
if(res.data.list.length<this.where.limit) this.isLoading = -1;
if (res.data.list.length < this.where.limit) this.isLoading = -1;
this.where.page++;
})
},