This commit is contained in:
weipengfei 2024-01-12 18:23:15 +08:00
parent 289e68b756
commit 2b3fc277f7
7 changed files with 2677 additions and 248 deletions

View File

@ -162,10 +162,10 @@ export default {
itemTap(item) {
this.$emit('itemTap', item)
},
// item
goShop(item) {
this.$emit('goShop', item)
}
// item
goShop(item) {
this.$emit('goShop', item)
}
}
}
</script>

View File

@ -218,6 +218,15 @@
"navigationBarTextStyle": "#fff"
// #endif
}
},{
"path": "index_v",
"style": {
"navigationStyle": "custom"
// #ifdef MP || APP-PLUS
,
"navigationBarTextStyle": "#fff"
// #endif
}
}]
},
{

File diff suppressed because it is too large Load Diff

View File

@ -4,8 +4,8 @@
<view class='productList' :style="viewColor">
<!-- 顶部 -->
<view class="top">
<view style="height: 10px;">
</view>
<!-- <view style="height: 10px;">
</view> -->
<view class="head_tit">
<view class="" style="display: flex;align-items: center;">
<view class="back" @click='backjJump()' style="margin-right: 17rpx;">
@ -24,243 +24,29 @@
</view>
<view style="position: relative;">
<!-- <text class='iconfont icon-sousuo'></text>
<input placeholder='搜索店铺名称' placeholder-class='placeholder' confirm-type='search' name="search"
:value='sotreParam.keyword' @confirm="searchSubmit"></input> -->
<u-search borderColor="#FF6D20" bgColor="white" :showAction="false" placeholder="搜索店铺名称"
<u-search borderColor="#FF6D20" bgColor="white" :showAction="false" placeholder="搜索商品名称"
v-model="sotreParam.keyword" class="serch_cls"></u-search>
<view class="serchbtn img_cls" @tap="searchSubmit">搜索</view>
<!-- <u--image @tap="searchSubmit" class="img_cls" :showLoading="true"
src="/static/images/GXSC/SSBT.png" width="115.65rpx" height="56.82rpx"></u--image> -->
</view>
</view>
</view>
<view class="content">
<view class="hot_serch">
<!-- <text>热搜:</text> <text>热a搜商品</text> <text>热搜商品</text>
<text>热搜sasas商品</text> -->
</view>
<!-- <view class="menu_cls">
<u-scroll-list>
<view class="menu_li" @click="navGo(item.merchant_category_id)" v-for="item,index in menuList"
:key="index">
<u--image :showLoading="true" :src="imgList[index]" width="94.63rpx" height="99.63rpx"
style="margin-bottom: 20rpx;"></u--image>
<text style="display: block; width: 15vw;">{{item.category_name}}</text>
</view>
</u-scroll-list>
</view> -->
<view class="goods_list">
<view class="goods_card" @click="goStore(item.mer_id)" v-for="(item,index) in storeList"
:key="index">
<view class="left">
<u--image :showLoading="true" :src="item.mer_avatar" width="157.71rpx"
height="157.71rpx"></u--image>
</view>
<view class="right">
<view class="li head" style="display: flex;">
<text class="com_name">{{item.mer_name}}</text>
<text
style="font-weight: normal;font-size: 19.28rpx;color: red;padding:0 10rpx; border-radius: 10rpx; border: 1px solid red;">{{item.type_name}}</text>
</view>
<view class="li">
<u--image v-for="item,index in [1,1,,1,1,1]" :key="index" :showLoading="true"
src="/static/images/GXSC/PF.png" width="20.85rpx" height="19.85rpx"></u--image>
<text style="margin-left: 20rpx;color: #FF6D20; ">5.0</text>
<text>月销2000+</text>
</view>
<view class="li" style="align-items: center;">
<u--image :showLoading="true" src="/static/images/GXSC/DH.png" width="33.85rpx"
height="33.85rpx"></u--image>
<text> {{item.service_phone}}</text>
</view>
<view class="li" style="align-items: center;">
<u--image :showLoading="true" src="/static/images/GXSC/SJ.png" width="33.85rpx"
height="33.85rpx"></u--image>
<text>{{item.mer_take_time[0]}}-{{item.mer_take_time[1]}}</text>
</view>
<view class="li" style="align-items: center;">
<u--image :showLoading="true" src="/static/images/GXSC/DW.png" width="33.85rpx"
height="33.85rpx"></u--image>
<text class="address">{{item.mer_address}}</text>
</view>
</view>
</view>
</view>
</view>
<!-- 热搜 -->
<!-- <view class="nav-wrapper" :class="'styleType'+store_street_theme">
<view class='nav acea-row row-middle' :class="'styleType'+store_street_theme">
<view v-for="item in downMenus" :key="item.key" class='item'
:class="{'font-colors':firstKey == item.key}" @click='set_where(item.key)'>
<view class="">
{{item.title}}
</view>
<view class="line" :class="{'font-line':firstKey == item.key}">
</view>
</view>
</view>
</view>
-->
<!-- 店铺 -->
<!--
<block>
<view class="store-wrapper">
<view class="store-item" v-for="(item,index) in storeList" :key="index">
<view class="head">
<view class="bgc_img" :style="{ backgroundImage: `url(${item.mini_banner})`}">
</view>
<view class="zhezhao">
</view>
<view class="zhezhao1" @click="goStore(item.mer_id)">
<view class="title">
<view>{{item.mer_name}}
</view>
<span>
{{item.type_name}}
</span>
</view>
<view class="coent">
<view class="avater">
<image :src="item.mer_avatar" mode=""></image>
</view>
<view class=" text">
<view class="text_one">
<view class="">
<image src="@/static/images/phone.png" mode=""></image>
{{item.service_phone}}
</view>
<view class="text_one_r">
<image src="@/static/images/clock.png" mode=""></image>
{{item.mer_take_time[0]}}-{{item.mer_take_time[1]}}
</view>
</view>
<view class="text_two">
<image src="@/static/images/shangpu.png" mode=""></image>
{{item.mer_info}}
</view>
<view class="text_three">
<image src="@/static/images/dingwei.png" mode=""></image>
{{item.mer_address}}
</view>
</view>
</view>
</view>
</view>
</view>
</view>
</block>
<block v-if="store_street_theme == 2">
<view class="mer-item2" v-for="(item,index) in storeList" :key='index'>
<view class="mer-hd mer-shop-count" @click="goStore(item.mer_id)">
<image class="mer-avatar" :src="item.mer_avatar"></image>
<view class="mer-shop-right">
<view class="mer-count">
<view class="mer-top">
<view class="txt line1">{{item.mer_name}}</view>
<text v-if="item.type_name" class="font-bg-red ml8">{{item.type_name}}</text>
<text v-else-if="item.is_trader" class="font-bg-red ml8">自营</text>
</view>
<view class="mer-btn">
<view class="">
{{item.care_count<10000 ? item.care_count : (item.care_count/10000).toFixed(2)+''}}人关注
</view>
<view class="line" v-if="item.distance"></view>
<view class="distance" v-if="item.distance" @click.stop="showStoreLocation(item)">
<view class="">
{{item.distance}}
</view>
<view class="iconfont icon-xiangyou"></view>
</view>
</view>
</view>
<view class="pro-box">
<navigator :url="`/pages/goods_details/index?id=${itemn.product_id}`" hover-class="none"
class="pro-item" v-for="(itemn,indexn) in item.recommend" :key='indexn'>
<view class="picture">
<easy-loadimage mode="widthFix" :image-src="itemn.image"></easy-loadimage>
<view v-if="itemn.border_pic"
:style="{ backgroundImage: `url(${itemn.border_pic})` }"
class="border-picture"></view>
</view>
<view class="price">
<text></text>{{itemn.price}}
</view>
</navigator>
</view>
</view>
</view>
</view>
</block>
<block v-if="store_street_theme == 3">
<view class="mer-item mer-item3" v-for="(item,index) in storeList" :key='index'
:style="'background-image:url('+item.mini_banner+')'">
<view class="mer-hd" @click="goStore(item.mer_id)">
<view class="mer-name">
<image :src="item.mer_avatar"></image>
<view class="">
<view class="mer-top">
<view class="txt line1">{{item.mer_name}}</view>
<text v-if="item.type_name" class="font-bg-red ml8">{{item.type_name}}</text>
<text v-else-if="item.is_trader" class="font-bg-red ml8">自营</text>
</view>
<view class="mer-btn">
<view class="">
{{item.care_count<10000 ? item.care_count : (item.care_count/10000).toFixed(2)+''}}人关注
</view>
<view class="line" v-if="item.distance"></view>
<view class="distance" v-if="item.distance" @click.stop="showStoreLocation(item)">
<view class="">
{{item.distance}}
</view>
<view class="iconfont icon-xiangyou"></view>
</view>
</view>
</view>
</view>
</view>
<view class="pro-box" :class="'styleType'+store_street_theme">
<view class="pro-item" v-for="(itemn,indexn) in item.recommend" :key='indexn' v-if="indexn<=2">
<view @click="go_details(itemn.product_type,itemn.product_id)">
<view class="picture">
<image :src="itemn.image"></image>
<view v-if="itemn.border_pic"
:style="{ backgroundImage: `url(${itemn.border_pic})` }" class="border-picture">
</view>
</view>
<view class="price">
<text></text>{{itemn.price}}
</view>
</view>
</view>
</view>
</view>
</block>
<view class='loadingicon acea-row row-center-wrapper' v-if="loading">
<text class='loading iconfont icon-jiazai' :hidden='loading==false'></text>{{loadTitle}}
</view>
-->
<view class="goodslist">
<WaterfallsFlow :wfList="storeList" @itemTap="itemTap" :type="1" />
</view>
</view>
<view class='no-shop' v-if="!storeList.length && !loading && !loadingIcon" v-cloak>
<view class='pictrue' style="margin: 0 auto;background-color: #F0F2F5;">
<image src='../../../static/images/noCart.png'></image>
<text>暂无店铺快去搜索其他店铺</text>
<text>暂无商品快去搜索其他商品吧</text>
</view>
</view>
</block>
@ -276,6 +62,7 @@
<script>
import {
storeMerchantList,
getProductslist,
getGeocoder,
supMenuApi,
supAgoodsApi
@ -296,6 +83,7 @@
configMap
} from '@/utils';
import easyLoadimage from '@/components/easy-loadimage/easy-loadimage.vue';
import WaterfallsFlow from '@/components/WaterfallsFlow/WaterfallsFlow.vue'
const app = getApp();
export default {
components: {
@ -356,6 +144,7 @@
category_id: '',
type_id: '',
street_id: '',
village_id: '',
type_code: '',
},
@ -371,7 +160,7 @@
latitude: "",
longitude: "",
count: 0,
storeTypeArr: [], //
storeTypeArr: [], //
merList: [], //
product_type: 0,
show: false,
@ -380,7 +169,9 @@
};
},
onLoad(options) {
this.sotreParam.type_code = options.type_code
this.sotreParam.type_code = options.type_code;
this.sotreParam.street_id = options.street_id || null;
this.sotreParam.village_id = options.village_id || null;
this.storeList = [];
if (this.mer_location == 1) {
this.selfLocation()
@ -416,6 +207,14 @@
url: `/pages/nongKe/supply_chain/supplierA?type_id=10&?merchant_category_id=${id}`
})
},
itemTap(item){
uni.navigateTo({
url: '/pages/goods_details/index_v?id=' + item.product_id,
fail: (err) => {
console.log(err);
}
})
},
go_details: function(product_type, product_id) {
if (product_type == 98) {
uni.navigateTo({
@ -456,7 +255,7 @@
});
});
},
//
//
getStoreType: function() {
let temp = []
getStoreTypeApi().then(res => {
@ -575,7 +374,7 @@
},
});
},
//
//
storeMerchantList() {
if (this.loading) return
this.loading = true
@ -588,10 +387,16 @@
if (this.latitude) {
rqData.location = this.latitude + ',' + this.longitude
}
if(this.sotreParam.street_id){
rqData.street_id = this.sotreParam.street_id;
}
if(this.sotreParam.village_id){
rqData.village_id = this.sotreParam.village_id;
}
// console.log(rqData)
storeMerchantList(rqData).then(res => {
getProductslist(rqData).then(res => {
this.count = res.data.count
this.storeList = this.storeList.concat(res.data.list)
this.storeList = this.storeList.concat(res.data.list);
this.loading = false
this.loadingIcon = false
// this.titName = this.storeList[0].mer_info
@ -872,12 +677,12 @@
color: #B3B3B3;
display: flex;
justify-content: space-around;
margin: 20rpx 0;
margin: 0;
flex-wrap: wrap;
// margin-top: 50rpx;
padding-top: 50rpx;
/* #ifdef H5 */
padding-top: 100rpx;
padding-top: 80rpx;
/* #endif */
text {
@ -1329,4 +1134,35 @@
transform: translateY(-50%);
}
.goodslist {
margin: 0 auto;
width: 725rpx;
.no-more {
text-align: center;
padding-top: 18rpx;
}
.pictrue_tips {
color: $uni-nothing-text;
}
.common-hd {
display: flex;
align-items: center;
justify-content: center;
height: 118rpx;
.title {
padding: 0 80rpx;
font-size: 34rpx;
color: $theme-color;
font-weight: bold;
background-image: url("~@/static/images/index-title.png");
background-repeat: no-repeat;
background-size: 100% auto;
background-position: left center;
}
}
}
</style>

View File

@ -71,7 +71,7 @@
</view>
</view>
</view>
<view class="item">
<!-- <view class="item">
<view class="uni-list">
<view class="uni-list-cell">
<view class="uni-list-cell-db acea-row row-middle">
@ -81,15 +81,10 @@
v-model="mer_classification">
<view class='iconfont icon-jiantou'></view>
</picker>
<!-- <picker @change="bindPickerChange" @columnchange="columnchange" mode="multiSelector" :value="index" :range="[array, bindPickerChangeidx]" range-key="cate_name">
<input placeholder="请选择商户分类" type="text" readonly disabled
v-model="mer_classification">
<view class='iconfont icon-jiantou'></view>
</picker> -->
</view>
</view>
</view>
</view>
</view> -->
<view class="item">
<view class="uni-list">
<view class="uni-list-cell">
@ -837,8 +832,8 @@ import { Toast } from '../../../libs/uniApi';
address: that.merchantData.address,
// invitation_code: that.merchantData.invitation_code,
// social_credit_code: that.merchantData.social_credit_code,
merchant_category_id: that.merchantData.classification,
merchant_category_name: that.mer_classification,
// merchant_category_id: that.merchantData.classification,
// merchant_category_name: that.mer_classification,
// is_company: that.nature_business==1?1:0, // , 1, 0
// mer_type_id: that.merchantData.mer_type,
// mer_storeType: this.mer_storeType,
@ -911,7 +906,7 @@ import { Toast } from '../../../libs/uniApi';
if (value.user_name && value.phone && /^1(3|4|5|7|8|9|6)\d{9}$/i.test(
value
.phone) &&
value.yanzhengma && this.mer_classification) {
value.yanzhengma) {
if (!that.isShowCode) {
that.validate = true;
} else {
@ -949,9 +944,9 @@ import { Toast } from '../../../libs/uniApi';
if (!value.yanzhengma) return that.$util.Tips({
title: '请填写验证码'
});
if (!this.mer_classification) return that.$util.Tips({
title: '请选择商户分类'
});
// if (!this.mer_classification) return that.$util.Tips({
// title: ''
// });
// if (!this.nature_business) return that.$util.Tips({
// title: ''
// })

View File

@ -87,7 +87,7 @@
</view>
<view class="list-con">
<view class="list-con-left" @tap="navgo('/pages/nongKe/specialty/index?type_code=TypeFamousSpecialties')">
<view class="list-con-left" @tap="navgo('/pages/nongKe/specialty/index?type_code=PersonalStore&street_id='+street_id)">
<!-- <view class="list-con-title">
<view class="con-titlea">
名优特产

View File

@ -87,6 +87,20 @@
<text class='iconfont icon-you'></text>
</view>
</view>
<view class='item acea-row row-between-wrapper'>
<view>填写邀请码</view>
<view class='input acea-row row-between-wrapper' @click="showPopup">
<input type='text' placeholder="填写他人邀请码" disabled='true' class='id'></input>
<text class='iconfont icon-you'></text>
</view>
<uni-popup ref="popup">
<view class="code-popup">
<text class="title">填写邀请码</text>
<u-input type='text' placeholder="填写他人邀请码" class='id'></u-input>
<u-button class="code-btn">确认</u-button>
</view>
</uni-popup>
</view>
<view class='item acea-row row-between-wrapper'>
<view>地址管理</view>
<navigator url="/pages/users/user_address_list/index" hover-class="none"
@ -172,7 +186,8 @@
isShowAuth: false, //
headBg: '../static/images/currentAcc',
mp_is_new: this.$Cache.get('MP_VERSION_ISNEW') || false,
version: ''
version: '',
code_show: false
};
},
computed: configMap({ open_update_info: 0 }, mapGetters(['isLogin', 'viewColor', 'keyColor'])),
@ -352,6 +367,9 @@
});
}
},
showPopup(){
this.$refs.popup.open();
},
//
changeCancel() {
uni.navigateTo({
@ -603,4 +621,22 @@
border-radius: 50%;
}
}
.code-popup{
width: 600rpx;
height: 300rpx;
background-color: #fff;
border-radius: 28rpx;
padding: 28rpx;
display: flex;
flex-direction: column;
justify-content: space-between;
.title{
text-align: center;
}
.code-btn{
background-color: $theme-color;
border-radius: 40rpx;
color: #fff;
}
}
</style>