Compare commits

...

14 Commits

  1. 36
      App.vue
  2. 7
      Utils/Api.js
  3. 16
      components/cart-choose/cart-choose.vue
  4. 34
      components/goods-list/goods-list.vue
  5. 2
      index.html
  6. 735
      pages/tabBar/category/category.vue
  7. 23
      pages/tabBar/classify/classify.vue
  8. 2
      pages/user/coupon/coupon.vue
  9. 3
      pages/user/order_list/order_list.vue
  10. 9
      physical-merchants/address/addNewAddress/addNewAddress.vue
  11. 28
      physical-merchants/address/address.vue
  12. 17
      physical-merchants/classify/cart/cart.vue
  13. 11
      physical-merchants/classify/goods-search/goods-search.vue
  14. 14
      physical-merchants/classify/goodsDetail/goodsDetail.vue
  15. 56
      physical-merchants/settleAccounts/settleAccounts.vue
  16. BIN
      static/img/changed.png

@ -99,25 +99,25 @@
// #endif
// #ifdef H5
let that = this;
that.globalData.url = 'https://hsgcs.dctpay.com/crest';
that.globalData.v1url = 'https://hsgcs.dctpay.com/v1';
that.globalData.payurl = 'https://gratia-pay.dctpay.com/crest';
that.globalData.orderurl = 'https://hsgcs.dctpay.com/order';
that.globalData.userurl = 'https://hsgcs.dctpay.com/user';
that.globalData.brestUrl = 'https://hsgcs.dctpay.com/brest';
that.globalData.imgUrl = 'https://hsgcs.dctpay.com/filesystem/';
that.globalData.imageWxImg = 'https://hsgcs.dctpay.com/filesystem/wxApplets/';
that.globalData.imageqrImg = 'https://hsgcs.dctpay.com/filesystem/temporary/';
// that.globalData.url = 'https://hsgcs.dctpay.com/crest';
// that.globalData.v1url = 'https://hsgcs.dctpay.com/v1';
// that.globalData.payurl = 'https://gratia-pay.dctpay.com/crest';
// that.globalData.orderurl = 'https://hsgcs.dctpay.com/order';
// that.globalData.userurl = 'https://hsgcs.dctpay.com/user';
// that.globalData.brestUrl = 'https://hsgcs.dctpay.com/brest';
// that.globalData.imgUrl = 'https://hsgcs.dctpay.com/filesystem/';
// that.globalData.imageWxImg = 'https://hsgcs.dctpay.com/filesystem/wxApplets/';
// that.globalData.imageqrImg = 'https://hsgcs.dctpay.com/filesystem/temporary/';
// that.globalData.url = 'https://hsg.dctpay.com/crest';
// that.globalData.v1url = 'https://hsg.dctpay.com/v1';
// that.globalData.payurl = 'https://pay.dctpay.com/crest';
// that.globalData.orderurl = 'https://hsg.dctpay.com/order';
// that.globalData.userurl = 'https://hsg.dctpay.com/user';
// that.globalData.brestUrl = 'https://hsg.dctpay.com/brest';
// that.globalData.imgUrl = 'https://hsg.dctpay.com/filesystem/';
// that.globalData.imageWxImg = 'https://hsg.dctpay.com/filesystem/wxApplets/';
// that.globalData.imageqrImg = 'https://hsg.dctpay.com/filesystem/temporary/';
that.globalData.url = 'https://hsg.dctpay.com/crest';
that.globalData.v1url = 'https://hsg.dctpay.com/v1';
that.globalData.payurl = 'https://pay.dctpay.com/crest';
that.globalData.orderurl = 'https://hsg.dctpay.com/order';
that.globalData.userurl = 'https://hsg.dctpay.com/user';
that.globalData.brestUrl = 'https://hsg.dctpay.com/brest';
that.globalData.imgUrl = 'https://hsg.dctpay.com/filesystem/';
that.globalData.imageWxImg = 'https://hsg.dctpay.com/filesystem/wxApplets/';
that.globalData.imageqrImg = 'https://hsg.dctpay.com/filesystem/temporary/';
uni.getStorage({
key: 'openId',
success(e) {

@ -140,6 +140,13 @@ export const getOrderById = params => {
export const getMerchantList = params => {
return POST('GET', `${base}/highMerchantStore/getMerchantList`, params).then(res => res.data);
}
//查询新的地图商户
export const getIndustry = params => {
return POST('GET', `${base}/common/getIndustry`, params).then(res => res.data);
}
export const getMapStore = params => {
return POST('GET', `${base}/common/getMapStore`, params).then(res => res.data);
}
//首页获取门店
export const getStoreListByMerchant = params => {
return POST('GET', `${base}/highMerchantStore/getStoreListByMerchant`, params).then(res => res.data);

@ -5,7 +5,7 @@
<view class="choose-detail" >
<view class="choose-top" >
<view class="marRight10">
<image v-if="specificationList[chooseIndex].showImg" :src="imageUrl+specificationList[chooseIndex].showImg" @click="perImage(chooseIndex,imgList)" class="img choose-img " mode="aspectFill"></image>
<image v-if="specificationList[chooseIndex].showImg" :src="imageUrl+specificationList[chooseIndex].showImg" @click="perImage(chooseIndex,[imageUrl+specificationList[chooseIndex].showImg])" class="img choose-img " mode="aspectFill"></image>
</view>
<view class="choose-price marRight10">
<text class="" style="text-decoration: line-through;">原价¥{{specificationList[chooseIndex].originalPrice}}</text>
@ -44,7 +44,7 @@
</view>
<view class="choose-select">
<view v-for="(item,index) in specificationList" :key="index" :data-index="index" :class="'choose-item padleft10 mart10 '+ (chooseIndex == index ? 'choose-active':'')" @click="select(index)">
<image v-if="item.showImg" :src="imageUrl+item.showImg" class="img "></image>
<image v-if="item.showImg" :src="imageUrl+item.showImg" @click="perImage(0,[imageUrl+item.showImg])" class="img "></image>
<view class="padleft15 paddtright15 font13"> {{item.name}}</view>
<view class="padleft15 paddtright5 fontwig6 font13 fcor999">{{item.price}}</view>
<view class="padleft15 paddtright5 font13 ">库存{{item.stock}}</view>
@ -365,9 +365,9 @@
width: calc(100% - 40rpx);
padding-bottom: 20rpx;
.choose-way{
height: 70rpx;
height: 80rpx;
width: 100%;
border-radius: 35rpx;
border-radius: 40rpx;
overflow: hidden;
display: flex;
align-items: center;
@ -375,15 +375,15 @@
.way{
width: 50%;
height:70rpx;
line-height:70rpx;
height:80rpx;
line-height:80rpx;
text-align: center;
}
.way1{
width: 100% ;
height: 70rpx;
line-height: 70rpx;
height: 80rpx;
line-height: 80rpx;
text-align: center;
}

@ -1,6 +1,7 @@
<template>
<view style="height: 100%;">
<scroll-view v-if="typeList=='classify'" style="perspective: 1000;" class="scroll-view goods-list" :scroll-top="scrollTop" :scroll-y="true"
<!-- perspective: 1000; -->
<scroll-view v-if="typeList=='classify'" class="scroll-view goods-list" :scroll-top="scrollTop" :scroll-y="true"
:lower-threshold="lowerThreshold" @scrolltolower="handleScrolltolower" @touchstart="handleTouchStart"
@touchmove.stop.prevent="handleTouchMove" @touchend="handleTouchEnd" @touch.stop>
<!-- @touchmove.stop.prevent -->
@ -76,8 +77,8 @@
<scroll-view v-if="typeList=='goodsSearch'" :scroll-y="true" class="ht-auto goods-list"
@scrolltolower="scroll_lower" lower-threshold="30">
<view class="right-content-actual pr bs" :style="'padding-bottom:'+paddBottom+'px;height:100%'">
<view v-if="(propData || null) != null && propData.length > 0" class="oh">
<!-- <view class="right-content-actual pr bs" :style="'padding-bottom:'+paddBottom+'px;'"> -->
<view v-if="(propData || null) != null && propData.length > 0" >
<view v-for="(item, index) in propData" :key="index">
<view @click="goGoodsDetail(item.id)" class="goods-item bs">
@ -102,6 +103,7 @@
</view>
</view>
</view>
<noMore :bgColor="'#ffffff'"></noMore>
</view>
<!-- -->
@ -110,7 +112,7 @@
<!-- <text class="empty-text">{{ emptyText }}</text> -->
</view>
</view>
<!-- </view> -->
@ -122,7 +124,7 @@
<!-- cartNum -->
<uniBadge class="uni-badge-left-margin badgeClass" max-num="99" :text="cartNum+''" type="warning"
size="small" />
<view class="icon cart font30px">
<view class="icon cart font40">
</view>
</view>
@ -197,9 +199,6 @@
},
mounted() {
this.handleInit();
},
props: {
propData: {
@ -228,10 +227,10 @@
typeList: {
type: String,
default: "classify"
}
},
},
watch: {
selectObject: {
handler(n, o) {
if (n.selectIndex == n.length - 1) {
@ -486,9 +485,13 @@
position: absolute;
bottom: 10px;
right: 25px;
width: 30px;
height: 30px;
width: 35px;
height: 35px;
color: #3DA7E7 !important;
.font40{
font-size: 35px !important;
color: #F0AD4E;
}
}
@ -498,10 +501,6 @@
right: -10px;
}
.font30px {
font-size: 30px !important;
color: #F0AD4E;
}
//
.br {
@ -602,7 +601,7 @@
line-height: 80rpx;
color: #3DA7E7;
text-align: center;
font-size: 40rpx;
font-size: 50rpx;
}
@ -633,6 +632,7 @@
.scroll-content1 {
width: 100%;
padding-bottom: 40px;
// position: relative;
// height: inherit;
.empty-view {

@ -18,7 +18,7 @@
<script src="https://unpkg.com/video.js/dist/video.min.js"></script>
<script src="https://cdn.bootcss.com/socket.io/2.1.1/socket.io.js"></script>
<script src="https://open.95516.com/s/open/js/upsdk.js"></script>
<script src="https://3gimg.qq.com/lightmap/components/geolocation/geolocation.min.js"></script>
<!-- <script src="https://3gimg.qq.com/lightmap/components/geolocation/geolocation.min.js"></script> -->
</head>
<body>
<noscript>

@ -1,142 +1,236 @@
<template>
<view>
<!-- 状态栏 -->
<view class="status" :style="{position:headerPosition}"></view>
<view class="header" :style="{position:headerPosition}">
<view class="addr" @click="goPostion">
<!-- <view class="icon location"></view> -->
{{city}}
<image mode="widthFix" style="width: 15px;" :src="imagewxUrl+imgadres"></image>
<view class="map-container">
<map style="width: 100%; height: 10vh;" :style="{height:mapheight}" :latitude="latitude" :longitude="longitude"
:markers="marker" :scale="scale" @markertap="markertap" @callouttap='callouttap'>
<!-- <cover-view class="cover-view-loca" :style='{bottom:coverbottom}' @click="onControltap">
<cover-image class="cover-image" @click="play" src="../../../static/img/adresw.png"></cover-image>
<cover-view>
定位
</cover-view>
</cover-view> -->
<!-- 一级分类 -->
<view class="width100 cover-views mart15">
<scroll-view class="width90 cover-view-cont" scroll-x="true">
<view class="cover-view-head font14" :class="[typeid == item.id ? 'onclick' : '']"
v-for="(item,index) in goodsFirstClassList" :key="index" @click="changeType(item)">{{item.name}}
</view>
</scroll-view>
<!-- 二级分类 -->
<view class="width100 mart15 backcorfff cover-viewchage alijus fotct" style="border-radius: 22px;">
<!-- :class="[selectFirst == 1? 'onchange' : '']" -->
<view class="font14 width30w onchange text1" @click="changeChilerType()">{{selectFirstName}}
<image mode="widthFix" class="margle" style="width: 8px;" :src="imagewxUrl+imgadres2"></image>
</view>
<view class="font14 width30w onchange" @click="changeChilerdistance()">{{distanceName}}
<image mode="widthFix" class="margle" style="width: 8px;" :src="imagewxUrl+imgadres2"></image>
</view>
<view class="font14 width30w">
<!-- 全部
<image mode="widthFix" class="margle" style="width: 8px;" :src="imagewxUrl+imgadres2"></image> -->
</view>
<view class="input-box">
<input placeholder="搜索门店" placeholder-style="color:#c0c0c0;" @tap="toSearch()" />
<view class="icon search"></view>
</view>
</view>
<!-- 占位 -->
<view class="place"></view>
<!-- <view class="category-list"> -->
<view class="width100 height45l backcorfff" v-if="MerchantList != ''">
<view class="width90">
<!-- <view class="stuMenu flleft fotct" @click="showPopup() ">{{showCategoryIndex}}
<image mode="widthFix" class="stuimg margle" :src="imagewxUrl+imgadres2"></image>
</view> -->
<picker mode="selector" :range="MerchantList" range-key="merchantName" @change="showCategory">
<view class="font14">{{showCategoryIndex}}
<image mode="widthFix" class="stuimg margle" :src="imagewxUrl+imgadres2"></image>
<!-- // -->
<view class="change-cont" v-if="selectChiler == 1">
<view class="width100 backcorfff"></view>
</view>
</picker>
<!-- // -->
<view class="change-optiac paddbotm20" v-if="selectChiler == 1">
<scroll-view scroll-y="true" class="width100 height260">
<view class="width90 bor-botm1 paddtop15 paddbotm15 alijusstart"
v-for="(item,index) in goodsSendotClassList" :key="item.id" @click="changeFirstcont(item)">
<view class="width90w" :class="[selectFirst == item.id? 'onchange' : '']">{{item.name}}</view>
<image class="icon20" src="../../../static/img/changed.png" mode="widthFix"
v-if="selectFirst == item.id"></image>
</view>
</scroll-view>
</view>
<!-- 二级距离 -->
<view class="change-optiac paddbotm20" v-if="selectChilerdistance == 1">
<scroll-view scroll-y="true" class="width100 height260">
<view class="width90 bor-botm1 paddtop15 paddbotm15 alijusstart"
v-for="(item,index) in distanceList" :key="index" @click="changeDistance(item)">
<view class="width90w" :class="[ distance== item.id? 'onchange' : '']">{{item.title}}</view>
<image class="icon20" src="../../../static/img/changed.png" mode="widthFix"
v-if="distance == item"></image>
</view>
</scroll-view>
</view>
<view v-if="categoryList == '' " class="mart60 fotct font14 fcor666 fotct width100">
<image mode="widthFix" style="width: 70vw;" :src="imagewxUrl+imgadres3"></image>
<!-- 未打开筛选前 -->
<view class="cover-view-foot" v-if="isSelected == 1">
<view class="line-view" @click="updateSelected(2)"></view>
<view class="mart10 fcor666 font13 width100" @click="updateSelected(2)">发现更多商户</view>
<view class="input-box">
<input placeholder="搜索商品" v-model="searchName" placeholder-style="color:#c0c0c0;"
@click="updateSelected(2)" />
</view>
</view>
<view class="width96 height100p backcorfff border-r mart10" v-for="(box,i) in categoryList" :key="i">
<image mode="widthFix" :src="imageUrl+box.ext1" class="recontleft flleft mart10 border-r"
style="max-height: 80px;" @click="toCategory(box)">
<!-- 打开筛选后 -->
<view class="cover-view-foot-behind" v-if="isSelected == 2">
<view class="line-view" @click="updateSelected(1)"></view>
<view class="mart10 fcor666 font13 width100" @click="updateSelected(1)">发现更多商户</view>
<view class="input-box">
<input placeholder="搜索商品" v-model="searchName" placeholder-style="color:#c0c0c0;"
@input="getMapStore()" />
</view>
<scroll-view class="scoroll-cont width94 mart10" scroll-y="true">
<view v-if="marker == '' " class="mart30 fotct font14 fcor666 fotct width100">
<image mode="widthFix" style="width: 70vw;" :src="imagewxUrl+imgadres3"></image>
</view>
<view class="width96 height80 bor-botm1 alijusstart" v-for="(box,i) in marker" :key="i"
@click="seeloaction(box)">
<image mode="widthFix" :src="box.logo" class="recontleft flleft border-r"
style="max-height: 60px;">
</image>
<view class="recontright">
<view class="text2 width100 font18 fontwig6 paddtop15" @click="toCategory(box)">
{{box.storeName}}
<view class="fotlt paddleft5">
<view class="text2 width100 font18 fontwig6">
{{box.callout.content}}
</view>
<view class="width100 mart10 height22">
<view class="width70 flleft text1 font13 fcor999" @click="toCategory(box)">
{{box.address}}
<view class="height22">
<view class="width70 flleft text1 font13 fcor999">
{{box.callout.address}}
</view>
<view class="width30 flright font13 fcor666 fotct" @click="seeloaction(item)">
<view class="width30 flright font13 fcor666 fotct">
<image mode="widthFix" :src="imagewxUrl+imgadres4" style="width: 10px;"></image>
{{box.distance}}km
</view>
</view>
</view>
</view>
<!-- <wybPopup ref="popup" type="top" height="800" width="500" radius="6" :showCloseIcon="false">
<view class="fotct font18 fontwig6 fcor333 mart10 height30">筛选门店</view>
<view class="mart15">
<view :class="item.merchantName == showCategoryIndex?'activeRefuel':'refuel'"
v-for="(item,index) in MerchantList" :key="index" @click="showCategory(item.merchantName,item.id)">
{{item.merchantName}}
</scroll-view>
</view>
</view>
</wybPopup> -->
<!-- #ifdef MP-->
<button open-type="contact">
<image :src="imagewxUrl+imgadres5" mode="widthFix" class="xfimg"></image>
</button>
<!-- #endif -->
<!-- #ifdef H5-->
<image :src="imagewxUrl+imgadres5" mode="widthFix" class="h5xfimg" @click="playPhone"></image>
<!-- #endif -->
</map>
</view>
</template>
<script>
import {
getCouponList,
getStoreListByMerchant,
getMerchantList,
findByLatAndLng
} from "../../../Utils/Api.js";
import wybPopup from '../../../components/wyb-popup/wyb-popup.vue';
getIndustry,
getMapStore
} from '../../../Utils/Api.js';
let app = getApp();
export default {
components: {
wybPopup
},
data() {
return {
showCategoryIndex: '',
showCategoryIndexId: '',
headerPosition: "fixed",
latitude: '', //
longitude: '', //
scale: 13, //
bottomData: false,
imagewxUrl: app.globalData.imageWxImg,
imgadres: 'jt.png',
imgadres2: 'xiala.png',
imgadres1: 'noorder.png',
imgadres4: 'dh.png',
imgadres3: 'noorder.png',
imgadres5: 'cusservice.png',
city: "",
imageUrl: app.globalData.imgUrl,
//
categoryList: [],
MerchantList: [],
pageNum: 1,
pageSize: 10,
isNoMoreData: false
// loadingText: ''
imgadres4: 'dh.png',
marker: '', //
typeid: 0, //
isSelected: 1, //
selectFirst: '', //
selectFirstName: '', //
selectChiler: 2, //
selectChilerdistance: 2, //
goodsFirstClassList: '', //
goodsSendotClassList: '', //
distanceList: [{
id: 1,
title: '1km'
},
{
id: 3,
title: '3km'
},
{
id: 5,
title: '5km'
},
], //
distance: '1',
distanceName: '1km',
searchName: '' //
}
},
onPageScroll(e) {
//iOS
if (e.scrollTop >= 0) {
this.headerPosition = "fixed";
onLoad() {
this.getIndustry();
this.latitude = app.globalData.latitude;
this.longitude = app.globalData.longitude;
},
computed: {
mapheight() {
let data = ''
if (this.bottomData) {
if (this.upTop) {
data = '50px'
} else {
this.headerPosition = "absolute";
data = '200px'
}
} else {
data = '100vh'
}
return data
},
onLoad() {},
onShow() {
this.pageNum = 1;
this.categoryList = [];
this.MerchantList = [];
if (app.globalData.cityName != '') {
this.city = app.globalData.qianzhuCityName;
this.getMerchantList();
coverbottom() {
let data = ''
if (this.bottomData) {
data = '20rpx'
} else {
this.postionIng();
data = '200rpx'
}
return data
}
},
methods: {
//
getIndustry() {
getIndustry().then(res => {
if (res.return_code == '000000') {
this.goodsFirstClassList = res.return_data;
this.typeid = res.return_data[0].id;
this.goodsSendotClassList = res.return_data[0].childIndustry;
this.selectFirst = res.return_data[0].childIndustry[0].id;
this.selectFirstName = res.return_data[0].childIndustry[0].name;
this.getMapStore();
}
})
},
//page.json"onReachBottomDistance"
onReachBottom() {
this.getStoreListByMerchant();
//
getMapStore() {
let datas = {
distance: this.distance,
name: this.searchName,
childId: this.selectFirst,
longitude: app.globalData.longitude,
latitude: app.globalData.latitude
}
getMapStore(datas).then(res => {
if (res.return_code == '000000') {
this.marker = res.return_data
} else {
this.marker = [];
}
})
},
methods: {
//
showPopup() {
this.$refs.popup.show();
//
changeFirstcont(item) {
this.selectFirst = item.id;
this.selectFirstName = item.name;
this.selectChiler = 2;
this.getMapStore();
},
//
changeDistance(item) {
this.distance = item.id;
this.distanceName = item.title;
this.selectChilerdistance = 2;
this.getMapStore();
},
//
markertap(e) {},
//
callouttap(e) {
console.log('地图点击事件', e)
},
postionIng() {
let that = this;
uni.getLocation({
@ -244,361 +338,206 @@
this.categoryList = [];
}
})
},
//
onControltap() {
},
//
showCategory(e) {
this.showCategoryIndex = this.MerchantList[e.target.value].merchantName;
this.showCategoryIndexId = this.MerchantList[e.target.value].id;
this.pageNum = 1;
this.pageSize = 10;
this.isNoMoreData = false;
this.categoryList = [];
this.getStoreListByMerchant();
//
changeType(item) {
this.typeid = item.id;
this.goodsSendotClassList = item.childIndustry;
this.selectFirst = item.childIndustry[0].id;
this.selectFirstName = item.childIndustry[0].name;
this.getMapStore();
},
toCategory(e) {
uni.navigateTo({
url: '../../goods/store-list/store-details?id=' + e.id + '&juli=' + e.distance
})
// uni.navigateTo({
// url: '../../goods/goods?id=' + e
// });
uni.setStorage({
key: "store_id",
data: e.id
})
uni.setStorage({
key: "store_juli",
data: e.distance
})
//
changeChilerType() {
if (this.selectChiler == 1) {
this.selectChiler = 2;
} else {
this.selectChiler = 1;
}
},
//
toSearch() {
uni.navigateTo({
url: '../../goods/HM-search/HM-search'
})
// uni.showToast({title: ""});
//
changeChilerdistance() {
if (this.selectChilerdistance == 1) {
this.selectChilerdistance = 2;
} else {
this.selectChilerdistance = 1;
}
},
//
playPhone() {
let cont = "本服务由惠兑礼品提供\n400-678-0738";
let content = cont.replace(/<br>/g,"\n");
uni.showModal({
title: '客服',
content: content,
success: function(res) {
if (res.confirm) {
uni.makePhoneCall({
phoneNumber: '4006780738', //
success: function(e) {
console.log(e);
//
updateSelected(item) {
this.isSelected = item;
},
fail: function(e) {
console.log(e);
}
seeloaction(item) {
// #ifdef H5
window.location.href =
`http://apis.map.qq.com/uri/v1/marker?marker=coord:(${item.latitude},${item.longitude})&addr:${item.address}`;
// #endif
// #ifdef MP
uni.openLocation({
latitude: Number(item.latitude), //
longitude: Number(item.longitude), //
name: item.store_name,
address: item.address
})
}
}
})
}
// #endif
},
}
}
</script>
<style lang="scss">
page {
background-color: #f1f3f5;
}
<style lang='less' scoped>
.map-container {
position: relative;
overflow: hidden;
.h5xfimg {
width: 80rpx;
bottom: 140rpx;
position: fixed;
right: 40rpx;
.cover-views {
position: absolute;
z-index: 99999;
}
.xfimg {
width: 80rpx;
bottom: 60rpx;
position: fixed;
right: 40rpx;
.cover-view-cont {
display: flex;
flex-direction: row;
flex-wrap: nowrap;
white-space: nowrap;
}
.status {
width: 100%;
height: 0;
position: fixed;
z-index: 10;
.cover-view-head {
height: 35px;
line-height: 35px;
background-color: #fff;
top: 0;
/* #ifdef APP-PLUS */
height: var(--status-bar-height); //
/* #endif */
}
button::after {
border: none
}
.recontleft {
width: 80px;
margin-left: 10px;
}
.recontright {
margin-left: 100px;
}
.refuel {
padding: 6px 5px;
border-radius: 5px;
background-color: #f6f6f6;
color: #666666;
margin-left: 10px;
margin-top: 15px;
display: inline-block;
font-size: 13px;
width: 18%;
display: inline-table;
flex-direction: column;
text-align: center;
position: relative;
margin-right: 15px;
border-radius: 22px;
padding: 0 10px;
}
.activeRefuel {
padding: 6px 5px;
border-radius: 5px;
border: 1px solid #089bf5;
color: #089bf5;
margin-left: 10px;
margin-top: 15px;
display: inline-block;
font-size: 13px;
width: 18%;
text-align: center;
.cover-viewchage {
height: 35px;
}
.stuMenu {
width: 33.3%;
height: 30px;
line-height: 30px;
font-size: 14px;
margin-top: 10px;
color: #333333;
.onchange {
color: #089bf5;
}
.stuimg {
width: 10px;
vertical-align: middle;
.onclick {
background-color: #089bf5;
color: #fff;
}
.loading-text {
width: 100%;
.cover-view-loca {
display: flex;
justify-content: center;
flex-direction: column;
align-items: center;
height: 60upx;
color: #979797;
font-size: 24upx;
justify-content: center;
width: 40px;
height: 40px;
color: #484848;
background-color: #fff;
background-size: 60px 60px;
background-position: center center;
position: absolute;
bottom: 100px;
right: 16px;
}
.header {
width: 92%;
padding: 0 4%;
height: 100upx;
display: flex;
align-items: center;
position: fixed;
top: 0;
z-index: 10;
background-color: #0083f5;
/* #ifdef APP-PLUS */
top: var(--status-bar-height);
/* #endif */
.addr {
width: 120upx;
height: 60upx;
flex-shrink: 0;
color: #FFFFFF;
display: flex;
align-items: center;
font-size: 28upx;
.icon {
height: 60upx;
margin-right: 5upx;
display: flex;
align-items: center;
font-size: 42upx;
color: #ffc50a;
}
.cover-image {
display: inline-block;
width: 15px;
height: 15px;
}
.input-box {
.cover-view-foot {
text-align: center;
height: 200rpx;
background-color: #fff;
position: absolute;
bottom: 0px;
width: 100%;
height: 70rpx;
background-color: #f5f5f5;
border-radius: 10rpx;
position: relative;
display: flex;
align-items: center;
border-radius: 18px 18px 0 0;
}
.icon {
display: flex;
align-items: center;
.change-cont {
position: absolute;
top: 0;
right: 0;
width: 60upx;
height: 60upx;
font-size: 34upx;
color: #c0c0c0;
z-index: 99999999;
top: 100px;
background-color: #333;
width: 100%;
opacity: 0.8;
height: calc(100% - 100px);
}
input {
padding-left: 28upx;
height: 28upx;
font-size: 28upx;
.change-optiac {
position: absolute;
z-index: 99999999;
top: 100px;
width: 100%;
background-color: #fff;
height: 260px;
}
}
.icon-btn {
width: 60upx;
height: 60upx;
flex-shrink: 0;
display: flex;
.icon {
width: 60upx;
height: 60upx;
display: flex;
justify-content: center;
align-items: center;
font-size: 42upx;
background-color: transparent;
}
.cover-view-foot-behind {
text-align: center;
height: calc(100% - 110px);
background-color: #fff;
position: absolute;
z-index: 999999;
bottom: 0px;
width: 100%;
border-radius: 18px 18px 0 0;
}
}
.place {
background-color: #ffffff;
height: 100upx;
/* #ifdef APP-PLUS */
margin-top: var(--status-bar-height);
/* #endif */
.scoroll-cont {
height: calc(100% - 80px);
}
.category-list {
width: 100%;
display: flex;
.left,
.right {
position: absolute;
top: 100upx;
/* #ifdef APP-PLUS */
top: calc(100upx + var(--status-bar-height));
/* #endif */
bottom: 0upx;
.line-view {
width: 10%;
margin-left: 45%;
height: 5px;
border-radius: 12px;
margin-top: 10px;
background-color: #f0f0f0;
}
.left {
width: 24%;
left: 0upx;
background-color: #f2f2f2;
.row {
width: 100%;
height: 90upx;
display: flex;
align-items: center;
.text {
width: 100%;
.input-box {
width: 90%;
margin-left: 5%;
margin-top: 5px;
text-align: left;
height: 70rpx;
background-color: #f0f0f0;
border-radius: 22px;
position: relative;
font-size: 28upx;
align-items: center;
display: flex;
justify-content: center;
color: #3c3c3c;
.block {
position: absolute;
width: 0upx;
left: 0;
}
}
&.on {
height: 100upx;
background-color: #fff;
.text {
font-size: 30upx;
font-weight: 600;
color: #2d2d2d;
.block {
width: 10upx;
height: 80%;
top: 10%;
background-color: #0083f5;
}
}
}
}
}
.right {
width: 76%;
left: 24%;
.category {
width: 94%;
padding: 20upx 3%;
.banner {
width: 100%;
height: 24.262vw;
border-radius: 10upx;
overflow: hidden;
box-shadow: 0upx 5upx 20upx rgba(0, 0, 0, 0.3);
image {
input {
padding-left: 12px;
padding-right: 12px;
height: 30px;
color: #666;
font-size: 14px;
width: 100%;
height: 24.262vw;
}
}
.list {
margin-top: 40upx;
width: 100%;
display: flex;
flex-wrap: wrap;
.box {
width: calc(70vw / 2);
margin-bottom: 30upx;
display: flex;
justify-content: center;
align-items: center;
flex-wrap: wrap;
image {
width: 60%;
height: calc(70vw / 2 * 0.6);
.onclick {
background-color: #089bf5;
color: #fff;
}
.text {
margin-top: 5upx;
width: 80%;
display: flex;
justify-content: center;
font-size: 26upx;
}
}
}
}
}
.recontleft {
width: 60px;
margin-left: 10px;
}
</style>

@ -45,7 +45,7 @@
<block v-if="(data_content || null) != null && (data_content.children || null) != null && data_content.children.length > 0">
<block v-for="(item, index) in data_content.children" :key="index">
<view :class="'dis-flex flex-center item ' + (nav_active_item_two_index == index ? 'active-class active-border nav-active' : '')" :data-index="nav_active_index" :data-itemtwoindex="index" @click="nav_event">
<image v-if="item.img" style="height: 20px;width: 20px;" :src="imageUrl+item.img" mode="aspectFit"></image> <text class="">{{item.title || ''}}</text>
<image v-if="item.img" class="item-img" :src="imageUrl+item.img" mode="aspectFit"></image> <text class="">{{item.title || ''}}</text>
</view>
</block>
</block>
@ -78,7 +78,7 @@
:key="index"
>
</skeleton>
<goodsList v-if="hackReset&&!isLoading" :propData="goodsListData" :pageData="pageData" :selectObject="selectObject" @loadData="loadData" @switchCategory="switchCategory" :paddBottom="0" ></goodsList>
<goodsList v-if="!isLoading" ref="goodsList" :hackReset="true" :propData="goodsListData" :pageData="pageData" :selectObject="selectObject" @loadData="loadData" @switchCategory="switchCategory" :paddBottom="0" ></goodsList>
<!-- <view class="spinner">
<view class="dot"></view>
<view class="dot"></view>
@ -145,7 +145,7 @@
sortOrder:0,//12
// cartNum:app.globalData.cartNum,
hackReset:false,//
isLoading:false,
skeletonNum:[1,2,3,4],
@ -160,10 +160,15 @@
},
onShow(){
this.hackReset = false;
this.$nextTick(()=>{
this.hackReset = true;
if(this.$refs.goodsList){
this.$refs.goodsList.refreshCartNum()
}
})
},
methods:{
//
@ -275,7 +280,7 @@
_this.pageData.allData = res.return_data.total;
_this.pageData.navigateLastPage = res.return_data.navigateLastPage;
console.log(_this.pageData)
// console.log(_this.pageData)
}
@ -381,7 +386,11 @@
/*
*/
.item-img{
height: 40rpx;
width:40rpx;
margin-right: 12rpx;
}
.spinner {
width: 60px;

@ -220,7 +220,7 @@
font-size: 16px;
}
</style>
<button class="download" style="height:40px;line-height: 40PX;width:100%;border:none;">立即使用</button>
<button class="download" style="height:40px;line-height: 40PX;width:100%;border:none;">使用</button>
</script>
</wx-open-launch-weapp>

@ -307,13 +307,12 @@
if(res.return_data.list.length>0){
res.return_data.list.map(item=>{
if(item.ext6){
if(item.ext6&&item.productType==12){
item.ext6 = item.ext6.split(',')
}
})
}
this.orderList = this.orderList.concat(res.return_data.list);
this.pageNum = res.return_data.list.length == this.pageSize ? ++pagenum : pagenum;
} else {

@ -251,14 +251,7 @@
})
},
backPageRefresh() {
let pages = getCurrentPages(); //
let beforePage = pages[pages.length - 2]; //
uni.navigateBack({
success:function(){
beforePage.$vm.initData();
// console.log("!");
}
})
uni.navigateBack({})
},
addAddress(){
let _this = this;

@ -60,9 +60,7 @@
},
data() {
return {
addressId: [
111, 222, 333, 444
],
selectId: 0,
addressList: [],
status: 0, //
@ -84,6 +82,7 @@
title: '加载中',
mask:true,
});
this.addressList=[];
getDeliveryAddressList().then(res => {
uni.hideLoading();
if (res.return_code == '000000') {
@ -218,17 +217,20 @@
},
chooseAddress(addressItem) {
console.log(addressItem, "addressItem")
if (this.status == 1) {
let pages = getCurrentPages(); //
let beforePage = pages[pages.length - 2]; //
uni.navigateBack({
success: function() {
beforePage.$vm.getRegiFreight(addressItem);
console.log("返回成功!");
}
})
// let pages = getCurrentPages(); //
// let beforePage = pages[pages.length - 2]; //
// uni.navigateBack({
// success: function() {
// beforePage.$vm.getRegiFreight(addressItem);
// }
// })
uni.$emit('address',addressItem);
uni.navigateBack({})
}

@ -60,7 +60,7 @@
</scroll-view>
<view v-if="cartList.length==0" class="empy-cart fcor666 fotct cart-list backcor9">
<view v-else class="empy-cart fcor666 fotct cart-list backcor9">
<view class="icon cart fcor666 font48"></view>
<view class=" mart30">
购物车内暂无商品快去逛逛吧
@ -217,13 +217,14 @@
uni.showLoading({
title: '加载中',
mask:true,
duration:2000
});
getShoppingCartList().then(res => {
uni.hideLoading();
if (res.return_code == '000000') {
console.log(res.return_data)
this.allCheck.whetherCheck = false;
this.cartList = res.return_data;
this.allCheckInit();
// this.allCheckInit();
} else {
uni.showToast({
@ -314,11 +315,9 @@
//
const goods = this.cartList.every(item => {
if (!this.isEdit) { //
if (item.loseEfficacy) {
if (!this.isEdit&&item.loseEfficacy) { //
return true;
}
}
return item.whetherCheck === true
})
if (goods) {
@ -376,7 +375,7 @@
let selestArr = this.cartList.filter(item => item.whetherCheck == true)
selestArr = JSON.stringify(selestArr)
// console.log(selestArr)
// console.log(selestArr,"")
uni.navigateTo({
url: '/physical-merchants/settleAccounts/settleAccounts?goodsList=' + selestArr
})
@ -391,7 +390,7 @@
},
//
swipe_opt_event(e, id) {
console.log(e, "dianji")
// console.log(e, "dianji")
if (e.index == 1) { //
@ -415,7 +414,7 @@
},
//
swipe_change(e, id) {
console.log(e, id)
// console.log(e, id)
// this.swipe_item_index= (e == 'none') ? null : v
},

@ -10,7 +10,7 @@
</block>
<!-- 搜索列表 -->
<view class="search-list">
<goodsList v-if="hackReset" typeList="goodsSearch" @loadData="loadData" :propData="data_list" :paddBottom="0">
<goodsList ref="goodsList" typeList="goodsSearch" @loadData="loadData" :propData="data_list" :paddBottom="0">
</goodsList>
</view>
@ -38,7 +38,7 @@
navigateLastPage: 1, //
allData: 0 //
},
hackReset:false,
}
},
components: {
@ -46,9 +46,10 @@
goodsList
},
onShow(){
this.hackReset = false;
this.$nextTick(()=>{
this.hackReset = true;
if(this.$refs.goodsList){
this.$refs.goodsList.refreshCartNum()
}
})
},
methods: {
@ -125,7 +126,7 @@
.search-list {
height: calc(100vh - 50px);
height: calc(100vh - 80px);
// padding: 20rpx;
}
}

@ -4,7 +4,7 @@
<view class="swiper-box">
<swiper circular="true" :autoplay="false" style="height: 288px;" @change="swiperChange">
<swiper-item class="fotct" v-for="(swiper,index) in goodsDetail.bannerImg" :key="index">
<image mode="heightFix" :src="swiper" @click="perImage(index,goodsDetail.bannerImg)"></image>
<image mode="heightFix" style="height: 100%;" :src="swiper" @click="perImage(index,goodsDetail.bannerImg)"></image>
</swiper-item>
</swiper>
<view class="indicator">{{currentSwiper+1}}/{{goodsDetail.bannerImg.length}}</view>
@ -591,13 +591,13 @@
//popUp
.choose-detail {
position: relative;
padding: 20rpx;
//
&.baozhang-detail {
padding-top: 30px;
padding:30px 10px 10px;
box-sizing: border-box;
height: 100%;
height:calc(100% - 100rpx);
.baozhangTitle {}
@ -609,9 +609,9 @@
position: fixed;
bottom: 20rpx;
width: calc(100% - 40rpx);
height: 60rpx;
line-height: 60rpx;
border-radius: 30rpx;
height: 80rpx;
line-height: 80rpx;
border-radius: 40rpx;
text-align: center;
background: linear-gradient(to right, #FF8E01, #FD5100);

@ -209,7 +209,8 @@
getAddressPrice,
getUserExclusiveDiscount,
createOrder,
findUser
findUser,
findDeliveryAddressById
} from '@/Utils/physicalObject.js'
import {
getThirdPartyByDetail
@ -225,6 +226,7 @@
isMoreThanOne: false, //
goodsList: [], //
haveAddress: false, //
isFirstSearchAddress:true,
addressDetail: null, //
postPrice: null, //
@ -390,18 +392,53 @@
if (this.goodsList.length > 1) {
this.isMoreThanOne = true;
}
//
uni.$on('address',(addressDetail)=>{
this.addressDetail = addressDetail;
this.getRegiFreight(addressDetail);
console.log(addressDetail,"监听")
})
},
onUnload() {
//
uni.$off('address');
},
onShow() {
this.getAddrPrice() //
this.getUserDiscount() //
this.findUser() //
this.getAddrPrice() //
if(this.addressDetail&&!this.isFirstSearchAddress){
console.log(this.addressDetail,"123456")
let params = {
id:this.addressDetail.id
}
findDeliveryAddressById(params).then(res=>{
// console.log(res)
if (res.return_code == '000000') {
}else{ //
this.isFirstSearchAddress=true;
this.haveAddress = false;
this.addressDetail = null;
this.getAddrPrice();
}
})
}
},
methods: {
//
getRegiFreight(addressDetail) {
this.haveAddress = true;
async getRegiFreight(addressDetail) {
// console.log(addressDetail,"addressDetail")
this.addressDetail = addressDetail;
this.haveAddress = true;
let params = {
regionId: addressDetail.regionId
}
@ -420,7 +457,8 @@
},
//
getAddrPrice() {
if(this.haveAddress){
if(!this.isFirstSearchAddress&&this.addressDetail){
return
}
@ -428,15 +466,15 @@
title: '加载中',
mask: true,
});
getAddressPrice().then(res => {
uni.hideLoading();
this.isFirstSearchAddress = false;
if (res.return_code == '000000') {
if (res.return_data) {
this.getRegiFreight(res.return_data.deliveryAddress)
}
} else {
this.haveAddress = false;
// uni.showToast({
// title: res.return_msg,
// icon: 'none',
@ -572,7 +610,7 @@
let yhqID = this.yhqId
this.$refs.detailPopup.show(str, this.goodsList,yhqID);
} else if (str == 'freight') {
if (!this.postPrice) {
if (!this.addressDetail&&!this.haveAddress) {
uni.showToast({
title: '请先选择地址',
duration: 1000,
@ -595,7 +633,7 @@
},
// ,
settleAccount() {
if (!this.addressDetail) {
if (!this.addressDetail&&!this.haveAddress) {
uni.showToast({
title: '请选择地址',
duration: 1000,

Binary file not shown.

After

Width:  |  Height:  |  Size: 489 B

Loading…
Cancel
Save