首页bug 商家入驻等界面修改

This commit is contained in:
jia 2023-08-30 21:11:53 +08:00
parent 97f957bde1
commit bd284d477f
21 changed files with 1462 additions and 1046 deletions

View File

@ -306,7 +306,7 @@
this.globalData.community_reply_auth = res.data.community_reply_auth this.globalData.community_reply_auth = res.data.community_reply_auth
this.globalData.margin_ico_switch = res.data.margin_ico_switch this.globalData.margin_ico_switch = res.data.margin_ico_switch
this.globalData.margin_ico = res.data.margin_ico this.globalData.margin_ico = res.data.margin_ico
console.log(res.data.global_theme.theme + "我是") // console.log(res.data.global_theme.theme + "")
this.$store.commit("VIEW_COLOR", res.data.global_theme.theme) this.$store.commit("VIEW_COLOR", res.data.global_theme.theme)
this.$store.commit("KEY_COLOR", '_' + res.data.global_theme.type) this.$store.commit("KEY_COLOR", '_' + res.data.global_theme.type)
try { try {

View File

@ -103,6 +103,10 @@ export function getUserCoupons(data) {
export function getArticleCategoryList() { export function getArticleCategoryList() {
return request.get('article/category/lst', {}, { noAuth: true }) return request.get('article/category/lst', {}, { noAuth: true })
} }
export function getArticleCategoryLists() {
return request.get('article/category/lst?is_home='+1, {}, { noAuth: true })
}
/** /**
* 文章列表 * 文章列表
* @param int cid * @param int cid

View File

@ -467,7 +467,7 @@ export function getGeocoder(data) {
* *
*/ */
export function getStoreTypeApi() { export function getStoreTypeApi() {
return request.get('intention/type', {sift_store:1}, { return request.get('intention/type', {sift_store:0}, {
noAuth: true noAuth: true
}); });
} }

View File

@ -7,6 +7,8 @@
</view> </view>
<view v-for="(item,index) in cartInfo" :key="index"> <view v-for="(item,index) in cartInfo" :key="index">
<view v-if="activityType === 2"> <view v-if="activityType === 2">
<view class='item presell_item'> <view class='item presell_item'>
<view class="acea-row row-between-wrapper"> <view class="acea-row row-between-wrapper">
<view class='pictrue' @click="jumpCon(item)"> <view class='pictrue' @click="jumpCon(item)">
@ -110,11 +112,11 @@
</view> </view>
<view class="btn-item" <view class="btn-item"
v-if="(item.is_refund ==0 && (evaluate != 10 && evaluate != 11) && orderData.refund_status || item.refund_num > 0)&& evaluate != 1&&evaluate !=4&& evaluate!=3 || evaluate==2 ||activityType==98" v-if="(item.is_refund ==0 && (evaluate != 10 && evaluate != 11) && orderData.refund_status || item.refund_num > 0)&& evaluate!=9 &&evaluate != 1&&evaluate !=4&& evaluate!=3 || evaluate==2"
@click.stop="refund(item)">申请退款</view> @click.stop="refund(item)">申请退款</view>
<view class='btn-item' <view class='btn-item'
v-if='item.is_reply==0 && evaluate!=2&& evaluate!=3 && evaluate!=8&& item.refund_num > 0' v-if='item.is_reply==0 && evaluate!=2&& evaluate!=3 && evaluate!=8&& evaluate!=9&& item.refund_num > 0'
@click.stop="evaluateTap(item.order_product_id,orderId)">去评价</view> @click.stop="evaluateTap(item.order_product_id,orderId)">去评价</view>
<view class='btn-item on' v-else-if="item.is_reply==1 && evaluate==2">已评价</view> <view class='btn-item on' v-else-if="item.is_reply==1 && evaluate==2">已评价</view>
</view> </view>

View File

@ -1,291 +1,349 @@
<template> <template>
<view class="zbp-head-wrapper"> <view class="zbp-head-wrapper">
<view class="color-lump"></view> <view class="color-lump"></view>
<view class="bg-img"> <view class="bg-img">
<img :src="bgColor" alt=""> <img :src="bgColor" alt="">
</view> </view>
<view class="site-box flex_a_c_j_sb"> <view class="site-box flex_a_c_j_sb">
<view class="place_wrapper flex_a_c" @click="selectLocation"> <view class="place_wrapper flex_a_c" @click="selectLocation">
<view class="iconfont icon-weizhi"></view> <view class="iconfont icon-weizhi"></view>
<view class="town_name">{{street}}</view> <view class="town_name">{{street}}</view>
</view> </view>
<navigator url="/pages/chat/customer_list/index?type=0" hover-class="none"> <navigator url="/pages/chat/customer_list/index?type=0" hover-class="none">
<view class="iconfont icon-xiaoxi" style="color:#fff;"></view> <view class="iconfont icon-xiaoxi" style="color:#fff;"></view>
</navigator> </navigator>
</view> </view>
<!-- 搜索栏 --> <!-- 搜索栏 -->
<navigator url="/pages/columnGoods/goods_search/index" hover-class="none" class="search_content flex_a_c_j_sb"> <navigator url="/pages/columnGoods/goods_search/index" hover-class="none" class="search_content flex_a_c_j_sb">
<view class="flex_a_c"> <view class="flex_a_c">
<view class="iconfont icon-sousuo"></view> <view class="iconfont icon-sousuo"></view>
<input type="text" v-model="keyword" placeholder="搜索产品或店铺" disabled> <input type="text" v-model="keyword" placeholder="搜索产品或店铺" disabled>
</view> </view>
<button class="search_btn">搜索</button> <button class="search_btn">搜索</button>
</navigator> </navigator>
<!-- 轮播图 --> <!-- 轮播图 -->
<view class="supply_chains-head"> <view class="supply_chains-head">
<swiper class="swiper l_center" @change="swiperChange" :indicator-dots="swiper.indicatorDots" <swiper class="swiper l_center" @change="swiperChange" :indicator-dots="swiper.indicatorDots"
:autoplay="swiper.autoplay" :interval="swiper.interval" :duration="swiper.duration" :autoplay="swiper.autoplay" :interval="swiper.interval" :duration="swiper.duration"
indicator-active-color="#fff"> indicator-active-color="#fff">
<block v-for="(item,index) in swiper['url']" :key="index"> <block v-for="(item,index) in swiper['url']" :key="index">
<swiper-item class="swi_item" @click="swiperClick(item)"> <swiper-item class="swi_item" @click="swiperClick(item)">
<u--image :showLoading="true" :src="item.img" width="694.74rpx" height="242.11rpx" mode="aspectFill"> <u--image :showLoading="true" :src="item.img" width="694.74rpx" height="242.11rpx"
</u--image> mode="aspectFill">
</swiper-item> </u--image>
</block> </swiper-item>
</swiper> </block>
</view> </swiper>
<u-picker :defaultIndex="defaInd" :show="showPicker" ref="uPicker" :columns="columnData" @confirm="confirm" </view>
@cancel="showPicker = false" @change="changeHandler" keyName="name"></u-picker> <u-picker :defaultIndex="defaInd" :show="showPicker" ref="uPicker" :columns="columnData" @confirm="confirm"
</view> @cancel="showPicker = false" @change="changeHandler" keyName="name"></u-picker>
</view>
</template> </template>
<script> <script>
import { getArea, getStreet } from '@/api/article.js'; import {
import { getIndexData, getDiy } from '@/api/api.js' getArea,
import { getGeocoder } from '@/api/store.js'; getStreet
import { mapGetters } from 'vuex' } from '@/api/article.js';
import { Toast } from '../libs/uniApi'; import {
import Cache from '@/utils/cache'; getIndexData,
export default { getDiy
props: { } from '@/api/api.js'
isSelectPlace: { import {
type: Boolean, getGeocoder
default: false } from '@/api/store.js';
}, import {
location_Arr: { mapGetters
type: Object, } from 'vuex'
default: () => ({}) import {
} Toast
}, } from '../libs/uniApi';
data() { import Cache from '@/utils/cache';
return { export default {
defaInd: [0, 0], props: {
street: '', isSelectPlace: {
showPicker: false, type: Boolean,
styleConfig: [], default: false
columnData: [], },
homeCombData: [], location_Arr: {
keyword: '', type: Object,
bgColor: '', default: () => ({})
swiper: { }
url: [{ },
img: '' data() {
}], return {
indicatorDots: true, // defaInd: [0, 0],
vertical: false, // street: '',
autoplay: true, // showPicker: false,
interval: 2000, // styleConfig: [],
duration: 400 // columnData: [],
}, homeCombData: [],
} keyword: '',
}, bgColor: '',
computed: mapGetters(['location']), swiper: {
watch: { url: [{
location: { img: ''
handler(newVal, oldVal) { }],
// console.log(newVal, oldVal) indicatorDots: true, //
if (newVal.address_component?.street) this.street = newVal.address_component.street vertical: false, //
}, autoplay: true, //
immediate: true interval: 2000, //
} duration: 400 //
}, },
created() { }
this.getBanner() },
this.Area()
if (this.location.address_component?.street) this.street = this.location.address_component.street
// this.street = Cache.get('LOCATION_DATA',true)
// console.log( Cache.get('LOCATION_DATA'))
},
methods: {
swiperClick(item) {
const url = item.info[1].value
uni.navigateTo({
url: url
})
},
selectLocation() {
this.isSelectPlace ? this.showPicker = true : ''
},
confirm(e) {
this.street = e.value[1].name
this.showPicker = false
this.$emit('selectPlce', e)
let adress = Cache.get('LOCATION_DATA',true)
Cache.set('LOCATION_DATA',adress)
},
changeHandler(e) {
const {
columnIndex,
value,
values,
index,
picker = this.$refs.uPicker
} = e;
if (columnIndex === 0) {
getStreet({ area_code: value[0]['code'] }).then(res => {
picker.setColumnValues(1, res.data);
});
}
},
Area() {
getArea({ city_code: 510500 }).then(res => {
this.$refs.uPicker.setColumnValues(0, res.data);
this.Street(res.data[0]['code']);
});
},
Street(code) {
getStreet({ area_code: code }).then(res => {
this.$refs.uPicker.setColumnValues(1, res.data);
});
},
swiperChange(e) { created() {
let { current, source } = e.detail; this.appLocation()
if (source === 'autoplay' || source === 'touch') {
this.bgColor = this.swiper.url[e.detail.current]['img'] this.getBanner()
} this.Area()
},
// },
objToArr(data) { onShow() {
let obj = Object.keys(data).sort(); this.street = uni.getStorageSync('adress_location')
let m = obj.map(key => data[key]); },
return m; methods: {
}, swiperClick(item) {
async getBanner(id) { const url = item.info[1].value
let that = this; uni.navigateTo({
const { data } = await getDiy({ id: 0 }) url: url
that.styleConfig = that.objToArr(data.value); })
/* 循环数组得到数据*/ },
that.styleConfig.forEach((item, index, arr) => { selectLocation() {
if (item.name == 'headerSerch' || item.name == 'homeComb') { this.isSelectPlace ? this.showPicker = true : ''
if (item.name == 'homeComb') {
that.swiper.url = item.swiperConfig.list },
} async appLocation() {
} uni.getLocation({
}) type: 'wgs84',
this.bgColor = this.swiper.url[0].img timeout: '10',
}, success: (res) => {
} // console.log(res)
}
let latitude, longitude;
latitude = res.latitude.toString();
longitude = res.longitude.toString();
getGeocoder({
lat: latitude,
long: longitude
}).then(res => {
this.street = res.data.address_component.street
uni.setStorageSync('adress_location', res.data.address_component
.street)
}).catch(err => {
uni.showToast({
title: err,
icon: 'none'
})
})
},
fail: (err) => {
uni.showToast({
title: "获取定位超时",
icon: 'none',
duration: 2000
});
}
});
},
confirm(e) {
this.street = uni.setStorageSync('adress_location', e.value[1].name) ? uni.setStorageSync(
'adress_location', e.value[1].name) : e.value[1].name
this.showPicker = false
this.$emit('selectPlce', e)
uni.setStorageSync('adress_location', e.value[1].name)
},
changeHandler(e) {
const {
columnIndex,
value,
values,
index,
picker = this.$refs.uPicker
} = e;
if (columnIndex === 0) {
getStreet({
area_code: value[0]['code']
}).then(res => {
picker.setColumnValues(1, res.data);
});
}
},
Area() {
getArea({
city_code: 510500
}).then(res => {
this.$refs.uPicker.setColumnValues(0, res.data);
this.Street(res.data[0]['code']);
});
},
Street(code) {
getStreet({
area_code: code
}).then(res => {
this.$refs.uPicker.setColumnValues(1, res.data);
});
},
swiperChange(e) {
let {
current,
source
} = e.detail;
if (source === 'autoplay' || source === 'touch') {
this.bgColor = this.swiper.url[e.detail.current]['img']
}
},
//
objToArr(data) {
let obj = Object.keys(data).sort();
let m = obj.map(key => data[key]);
return m;
},
async getBanner(id) {
let that = this;
const {
data
} = await getDiy({
id: 0
})
that.styleConfig = that.objToArr(data.value);
/* 循环数组得到数据*/
that.styleConfig.forEach((item, index, arr) => {
if (item.name == 'headerSerch' || item.name == 'homeComb') {
if (item.name == 'homeComb') {
that.swiper.url = item.swiperConfig.list
}
}
})
this.bgColor = this.swiper.url[0].img
},
}
}
</script> </script>
<style lang="scss"> <style lang="scss">
.zbp-head-wrapper { .zbp-head-wrapper {
position: relative; position: relative;
padding-top: 78.95rpx; padding-top: 78.95rpx;
overflow: hidden; overflow: hidden;
.color-lump { .color-lump {
z-index: 1; z-index: 1;
position: absolute; position: absolute;
bottom: -86px; bottom: -86px;
left: 50%; left: 50%;
transform: translate(-50%, 0); transform: translate(-50%, 0);
width: 102%; width: 102%;
height: 133px; height: 133px;
border-radius: 30px 30px 0 0; border-radius: 30px 30px 0 0;
background-color: #fff; background-color: #fff;
} }
.bg-img { .bg-img {
position: absolute; position: absolute;
width: 100%; width: 100%;
height: 100%; height: 100%;
top: 0; top: 0;
/* #ifdef MP || APP-PLUS */ /* #ifdef MP || APP-PLUS */
z-index: -1; z-index: -1;
/* #endif */ /* #endif */
/* #ifdef H5 */ /* #ifdef H5 */
z-index: 0; z-index: 0;
/* #endif */ /* #endif */
z-index: 0; z-index: 0;
filter: blur(0); filter: blur(0);
overflow: hidden; overflow: hidden;
img { img {
width: 100%; width: 100%;
height: 100%; height: 100%;
filter: blur(30rpx); filter: blur(30rpx);
transform: scale(1.5); transform: scale(1.5);
} }
} }
.site-box { .site-box {
margin: 0 auto; margin: 0 auto;
width: 694.74rpx; width: 694.74rpx;
height: 66.67rpx; height: 66.67rpx;
margin-bottom: 26.32rpx; margin-bottom: 26.32rpx;
position: relative; position: relative;
// //
.place_wrapper { .place_wrapper {
color: #fff; color: #fff;
margin-right: 24.56rpx; margin-right: 24.56rpx;
font-size: 31.58rpx; font-size: 31.58rpx;
.town_name { .town_name {
margin-left: 10.53rpx; margin-left: 10.53rpx;
} }
} }
.iconfont { .iconfont {
font-size: 35.09rpx; font-size: 35.09rpx;
} }
} }
.my-main { .my-main {
transition: background-color .5s ease; transition: background-color .5s ease;
} }
.search_content { .search_content {
margin: 0 auto; margin: 0 auto;
width: 694.74rpx; width: 694.74rpx;
height: 61.4rpx; height: 61.4rpx;
padding: 2px 2px 2px 21.05rpx; padding: 2px 2px 2px 21.05rpx;
border-radius: 100px; border-radius: 100px;
background: #fff; background: #fff;
margin-bottom: 17.54rpx; margin-bottom: 17.54rpx;
position: relative; position: relative;
box-sizing: border-box; box-sizing: border-box;
.icon-sousuo { .icon-sousuo {
font-size: 26.32rpx; font-size: 26.32rpx;
font-weight: bold; font-weight: bold;
color: #c8c7c6; color: #c8c7c6;
margin-right: 17.54rpx; margin-right: 17.54rpx;
} }
.search_btn { .search_btn {
color: #fff; color: #fff;
width: 105.26rpx; width: 105.26rpx;
height: 52.63rpx; height: 52.63rpx;
line-height: 52.63rpx; line-height: 52.63rpx;
background: #f84221; background: #f84221;
border-radius: 100px; border-radius: 100px;
font-size: 28.07rpx; font-size: 28.07rpx;
} }
} }
.supply_chains-head { .supply_chains-head {
margin-bottom: 17.54rpx; margin-bottom: 17.54rpx;
position: relative; position: relative;
z-index: 2; z-index: 2;
.swiper { .swiper {
width: 694.74rpx; width: 694.74rpx;
height: 242.11rpx; height: 242.11rpx;
margin: 0 auto; margin: 0 auto;
border-radius: 15px; border-radius: 15px;
overflow: hidden; overflow: hidden;
.swi_item { .swi_item {
width: 100%; width: 100%;
height: 242.11rpx; height: 242.11rpx;
} }
} }
} }
} }
</style> </style>

View File

@ -9,8 +9,8 @@ let httpApiThree
// 网络接口修改此字符 小程序域名要求https // 网络接口修改此字符 小程序域名要求https
// let httpApi = 'http://192.168.31.110:8324' // 测试 // let httpApi = 'http://192.168.31.110:8324' // 测试
if (process.env.NODE_ENV === "development") { if (process.env.NODE_ENV === "development") {
// httpApi = 'https://shop.lihaink.cn' // 生产 httpApi = 'https://shop.lihaink.cn' // 生产
httpApi = "https://crmeb-test.shop.lihaink.cn" // httpApi = "https://crmeb-test.shop.lihaink.cn"
// httpApi = "http://192.168.0.222" // httpApi = "http://192.168.0.222"
// httpApi = "http://192.168.0.108:8325" // httpApi = "http://192.168.0.108:8325"
// httpApi = 'http://192.168.0.108:8325' // httpApi = 'http://192.168.0.108:8325'

View File

@ -2,8 +2,8 @@
"name" : "惠农生活", "name" : "惠农生活",
"appid" : "__UNI__3A527D1", "appid" : "__UNI__3A527D1",
"description" : "", "description" : "",
"versionName" : "1.0.18", "versionName" : "1.0.0",
"versionCode" : 142, "versionCode" : 100,
"transformPx" : false, "transformPx" : false,
/* 5+App */ /* 5+App */
"app-plus" : { "app-plus" : {

View File

@ -165,7 +165,7 @@
确认付款 确认付款
</view> </view>
<view class="bnt delivery" @click="toPostagequ(orderInfo)" v-if="orderInfo.status == 0&&orderInfo.activity_type==0"> <view class="bnt delivery" @click="toPostagequ(orderInfo)" v-if="orderInfo.status == 0&&orderInfo.activity_type==0&& orderInfo.order_type !=1 ">
收件码 收件码
</view> </view>
<navigator class="bnt delivery" v-if="orderInfo.paid == 1 && orderInfo.status == 0 && orderInfo.order_type == 0&&orderInfo.activity_type==98" :url="'/pages/admin/delivery/index?id='+orderInfo.order_id+'&merId='+mer_id">去发货</navigator> <navigator class="bnt delivery" v-if="orderInfo.paid == 1 && orderInfo.status == 0 && orderInfo.order_type == 0&&orderInfo.activity_type==98" :url="'/pages/admin/delivery/index?id='+orderInfo.order_id+'&merId='+mer_id">去发货</navigator>

View File

@ -172,7 +172,7 @@
<view class="bnt bnt_color" v-if="where.status == 2 && item.order_type == 0&&item.activity_type==98" <view class="bnt bnt_color" v-if="where.status == 2 && item.order_type == 0&&item.activity_type==98"
@click="toPostage(item)">去发货 @click="toPostage(item)">去发货
</view> </view>
<view class="bnt bnt_color" v-if="where.status == 2 && item.order_type == 0&&item.activity_type==0" <view class="bnt bnt_color" v-if="where.status == 2 && item.order_type == 0&& item.order_type !=1 &&item.activity_type==0"
@click="toPostagequ(item)">收件码 @click="toPostagequ(item)">收件码
</view> </view>
<view class="bnt bnt_color" <view class="bnt bnt_color"

View File

@ -11,8 +11,8 @@
</view> </view>
<view style="text-align: right;" v-if="tabIndex==1" class='iconfont' <view style="text-align: right;" v-if="tabIndex==1" class='iconfont'
:class='is_switch==true?"icon-pailie":"icon-tupianpailie"' @click='Changswitch'></view> :class='is_switch==true?"icon-pailie":"icon-tupianpailie"' @click='Changswitch'></view>
<view v-else-if="mer_location == 1" style="text-align: right;" class='iconfont icon-dingwei' <!-- <view v-else-if="mer_location == 1" style="text-align: right;" class='iconfont icon-dingwei'
@click="showMaoLocation(latitude,longitude)"></view> @click="showMaoLocation(latitude,longitude)"></view> -->
</view> </view>
<view class="nav-wrapper"> <view class="nav-wrapper">
<view v-if="hide_mer_status == 0" class="tab-bar"> <view v-if="hide_mer_status == 0" class="tab-bar">

View File

@ -2,9 +2,60 @@
<view class="Circle_friends"> <view class="Circle_friends">
<view class="circle_friends_wrapper"> <view class="circle_friends_wrapper">
<zbpSwiper :isSelectPlace="true" :location_Arr="locationArr"></zbpSwiper> <zbpSwiper :isSelectPlace="true" :location_Arr="locationArr"></zbpSwiper>
<view class="tabs_wrapper flex_a_c_j_sb" style="margin-top: 30rpx;">
<view class="title flex_a_c">热点资讯</view>
<navigator class="flex_a_c" hover-class="none" url="/pages/news_list/index?type=1">
更多
<view class="iconfont icon-gengduo3"></view>
</navigator>
</view>
<view class="article_box">
<block v-for="(item, index) in recoList.slice(0,2)" :key="index">
<navigator :url='"/pages/news_details/index?id="+item.article_id' hover-class='none'
class='article-item'>
<view class='text'>
<view class='name'>{{item.title}}</view>
<view class="time">{{item.create_time}}</view>
</view>
<view class='pictrue'>
<image :src='item.image_input'></image>
</view>
</navigator>
</block>
</view>
<view class="empty_wrapper" v-if="recoList.length==0">
<u-empty></u-empty>
</view>
<view class="tabs_wrapper">
<u-tabs :list="tabsData1.list" @click="tabsChange1" keyName="title" lineColor="#F84221"></u-tabs>
</view>
<view class="tabs_wrapper" :isSelectPlace="true" @selectPlce="selectPlce" :location_Arr="locationArr"> <view class="goods">
<block v-for="(item,index) in articleList" :key="index">
<view class="goods_item" @click="article(item)">
<image class="goods_img" :src="item.image_input" mode="aspectFill"></image>
<view class="botm">
<view class="title">{{item.title}}</view>
<view class="goods_info flex_a_c">
<view class="l_info flex_a_c">
<image :src="(item.author && item.author.avatar) || '/static/images/f.png'"
mode="aspectFill" class="g_img"></image>
<view class="g_name">{{item.author}}</view>
</view>
<!-- <view class="nice_box" @click.stop="giveStart(item)">
<text class="iconfont" :class="item.relevance_id ? 'icon-shoucang1' : 'icon-dianzan'"></text>
<text class="collect">{{item.count_start}}</text>
</view> -->
</view>
</view>
</view>
</block>
</view>
<view class="empty_wrapper" v-if="articleList.length==0">
<u-empty></u-empty>
</view>
<view class="tabs_wrapper">
<u-tabs :list="tabsData.list" @click="tabsChange" lineColor="#F84221" keyName="cate_name"></u-tabs> <u-tabs :list="tabsData.list" @click="tabsChange" lineColor="#F84221" keyName="cate_name"></u-tabs>
</view> </view>
<view class=""> <view class="">
@ -47,7 +98,7 @@
<u-picker :defaultIndex="[0,0]" :show="showPicker" ref="uPicker" :columns="columnData" @confirm="confirm" <u-picker :defaultIndex="[0,0]" :show="showPicker" ref="uPicker" :columns="columnData" @confirm="confirm"
@cancel="showPicker = false" @change="changeHandler" keyName="name"></u-picker> @cancel="showPicker = false" @change="changeHandler" keyName="name"></u-picker>
<u-loadmore :status="status" v-if="cateGoods.length>=where.limit" /> <u-loadmore :status="status" v-if="cateGoods.length>=where.limit" />
<!-- <view class="bg_color"></view> --> <!-- <view class="bg_color"></view> -->
<!-- <m-tabbar native> <!-- <m-tabbar native>
@ -57,6 +108,14 @@
</view> </view>
</template> </template>
</m-tabbar> --> </m-tabbar> -->
<view class="location" v-if='isshow'>
<view class="locationa">
位置权限使用说明
</view>
<view class="locationb">
用于向你推荐最近门店
</view>
</view>
</view> </view>
</template> </template>
@ -64,6 +123,7 @@
import mTabbar from '@/components/m-tabbar/m-tabbar.vue' import mTabbar from '@/components/m-tabbar/m-tabbar.vue'
import zbpSwiper from '@/components/zbpSwiper' import zbpSwiper from '@/components/zbpSwiper'
import easyLoadimage from '@/components/easy-loadimage/easy-loadimage.vue'; import easyLoadimage from '@/components/easy-loadimage/easy-loadimage.vue';
import { import {
getSlideAPI getSlideAPI
} from '@/api/lihai.js' } from '@/api/lihai.js'
@ -74,7 +134,9 @@
} from '@/api/community.js' } from '@/api/community.js'
import { import {
getIndexData, getIndexData,
getDiy getDiy,
getArticleList,
getArticleCategoryLists
} from '@/api/api.js' } from '@/api/api.js'
import { import {
getGeocoder, getGeocoder,
@ -95,7 +157,9 @@
}, },
data() { data() {
return { return {
locationArr: ({}),
isshow: false,
locationArr: ({}),
status: 'loadmore', status: 'loadmore',
bgColor: '', bgColor: '',
showPicker: false, showPicker: false,
@ -105,6 +169,10 @@
list: [], list: [],
tabsActive: 0 tabsActive: 0
}, },
tabsData1: {
list: [],
tabsActive: 0
},
where: { where: {
category_id: 0, category_id: 0,
page: 1, page: 1,
@ -115,12 +183,15 @@
location: '', location: '',
emptyShow: false, emptyShow: false,
street: '', street: '',
cateGoods: [] cateGoods: [],
recoList: [],
articleList: [],
streeta_id: ''
} }
}, },
onPullDownRefresh() { onPullDownRefresh() {
this.getCateList() this.getCateList()
this.cateGoods=[] this.cateGoods = []
this.getGoods() this.getGoods()
this.selfLocation() this.selfLocation()
this.Area() this.Area()
@ -129,10 +200,12 @@
onLoad() { onLoad() {
this.getCateList() this.getCateList()
this.getArticle()
this.getGoods() this.getGoods()
this.selfLocation()
this.Area()
this.setPermissions() this.setPermissions()
// this.openTongZhi() // this.openTongZhi()
uni.$on('connectstatusChange', (connectstatus) => { uni.$on('connectstatusChange', (connectstatus) => {
var connectstr = '' var connectstr = ''
@ -151,21 +224,56 @@
if (this.status == 'nomore') return; if (this.status == 'nomore') return;
this.status = 'loading'; this.status = 'loading';
this.where.page = ++this.where.page; this.where.page = ++this.where.page;
this.
this.getGoods() this.getGoods()
}, },
methods: { methods: {
tabsChange1(item) {
this.getArticleList(item.article_category_id)
this.streeta_id = item.id
this.tabsData1.tabsActive = item.index
},
async getArticle() {
let list = []
const {
data
} = await getArticleCategoryLists()
data.map((item, index) => {
if (item.title !== '首页推荐') {
list.push(item)
} else {
getArticleList(item.article_category_id).then(res => {
this.recoList = res.data.list
})
}
})
this.tabsData1.list = list
this.getArticleList(list[0].article_category_id)
},
async getArticleList(id) {
let obj = {
is_home: 1
}
const {
data
} = await getArticleList(id)
this.articleList = data.list
},
article(item) {
uni.navigateTo({
url: '/pages/news_details/index?id=' + item.article_id
})
},
selectPlce(e) { selectPlce(e) {
this.selfLocation() this.street_id = e.value[1].code
this.Area() this.town = e.value[1].name
this.street_id = e.value[1].code this.getCloudShopMerId(e.value[1].code)
this.town = e.value[1].name
this.getCloudShopMerId(e.value[1].code)
}, },
getCloudShopMerId(id) { getCloudShopMerId(id) {
get_cloud_shop(id).then(res => { get_cloud_shop(id).then(res => {
res.data.length > 0 ? this.isYunCang = 1 : this.isYunCang = 0 res.data.length > 0 ? this.isYunCang = 1 : this.isYunCang = 0
}) })
}, },
confirm(e) { confirm(e) {
this.where.street_id = e.value[1].code this.where.street_id = e.value[1].code
@ -204,17 +312,20 @@
}, },
gogogo(item) { gogogo(item) {
if (this.tabsData.tabsActive == 1) { if (this.tabsData.tabsActive == 1) {
uni.navigateTo({ uni.navigateTo({
//#ifdef APP // #ifdef MP || H5
url: '/pages/short_video/appSwiper/index?id=' + item.community_id, url: `/pages/short_video/nvueSwiper/index?id=${item.community_id}`
//#endif // #endif
//#ifndef MP || H5 // #ifdef APP
url: '/pages/short_video/nvueSwiper/index?id=' + item.community_id url: `/pages/short_video/appSwiper/index?id=${item.community_id}`
//#endif // #endif
}) })
} else { } else {
uni.navigateTo({ uni.navigateTo({
url: '/pages/plantGrass/plant_detail/index?id=' + item.community_id
url: `/pages/plantGrass/plant_detail/index?id=${item.community_id}`
}) })
} }
}, },
@ -241,9 +352,9 @@
if (this.where.page == 1 && res.data.list.length <= 0) this.emptyShow = true if (this.where.page == 1 && res.data.list.length <= 0) this.emptyShow = true
if(item){ if (item) {
if (item.index == 1 &&this.cateGoods[0] ) { if (item.index == 1 && this.cateGoods[0]) {
uni.navigateTo({ uni.navigateTo({
// #ifdef MP || H5 // #ifdef MP || H5
url: `/pages/short_video/nvueSwiper/index?id=${this.cateGoods[0].community_id}` url: `/pages/short_video/nvueSwiper/index?id=${this.cateGoods[0].community_id}`
@ -282,11 +393,18 @@
}, },
selfLocation() { selfLocation() {
const that = this if (uni.getStorageSync('loction') == true) {
this.isshow = false
} else {
this.isshow = true
uni.setStorageSync('loction', true);
}
uni.getLocation({ uni.getLocation({
type: 'wgs84', type: 'wgs84',
timeout: '10', timeout: '10',
success: (res) => { success: (res) => {
// console.log(res)
this.isshow = false
let latitude, longitude; let latitude, longitude;
latitude = res.latitude.toString(); latitude = res.latitude.toString();
longitude = res.longitude.toString(); longitude = res.longitude.toString();
@ -294,8 +412,10 @@
lat: latitude, lat: latitude,
long: longitude long: longitude
}).then(res => { }).then(res => {
that.$store.commit('setLocation', res.data) uni.setStorageSync('adress_location',res.data.address)
that.street = res.data.address_component.street // that.$store.dispatch('setLocation', res.data)
// that.street = res.data.address_component.street
}).catch(err => { }).catch(err => {
uni.showToast({ uni.showToast({
title: err, title: err,
@ -304,6 +424,7 @@
}) })
}, },
fail: (err) => { fail: (err) => {
this.isshow = false
uni.showToast({ uni.showToast({
title: "获取定位超时", title: "获取定位超时",
icon: 'none', icon: 'none',
@ -403,6 +524,33 @@
// background: linear-gradient(180deg, #FFFFFF 0%, #F6F6F6 100%); // background: linear-gradient(180deg, #FFFFFF 0%, #F6F6F6 100%);
} }
.location {
background-color: #F6F6F6;
width: 680rpx;
height: 150rpx;
position: absolute;
top: 0;
z-index: 9999;
border-radius: 20rpx;
left: 50%;
margin-left: -340rpx;
margin-top: 80rpx;
padding-left: 20rpx;
.locationa {
font-size: 28rpx;
color: #000;
font-weight: 500;
margin-top: 30rpx;
margin-bottom: 15rpx;
}
.locationb {
font-size: 20rpx;
color: #5a5a5a;
}
}
.Circle_friends { .Circle_friends {
position: relative; position: relative;
padding: 0 0 87.72rpx 0; padding: 0 0 87.72rpx 0;
@ -432,6 +580,79 @@
justify-content: center; justify-content: center;
} }
.article_box {
height: 100%;
width: 694.74rpx;
margin: 0 auto;
background-color: #fff;
border-radius: 16rpx;
padding: 0 24.56rpx;
box-sizing: border-box;
.title-box {
height: 87.72rpx;
text {
font-size: 28.07rpx;
}
}
.article-item {
display: flex;
// height: 175.44rpx;
justify-content: space-between;
border-bottom: 1px solid #f0f0f0;
padding: 21.05rpx 0;
.text {
flex: 1;
height: 122.81rpx;
margin-right: 17.54rpx;
font-size: 24rpx;
color: #999;
display: flex;
flex-direction: column;
justify-content: space-between;
.name {
font-size: 26.32rpx;
color: #282828;
}
}
.pictrue {
width: 175.44rpx;
height: 122.81rpx;
image {
width: 100%;
height: 100%;
border-radius: 8px;
}
}
}
}
.tabs_wrapper {
width: 694.74rpx;
margin: 38.6rpx auto;
margin-bottom: 21.05rpx;
.title {
font-size: 31.58rpx;
font-weight: bold;
&::before {
content: '';
display: inline-block;
width: 3px;
height: 31.58rpx;
background-color: #F84221;
margin-right: 7.02rpx;
}
}
}
.goods { .goods {
margin: 0 auto; margin: 0 auto;
width: 694.74rpx; width: 694.74rpx;

View File

@ -1,339 +1,352 @@
<template> <template>
<view> <view>
<view class='newsList'> <view class='newsList'>
<view class='swiper' v-if="imgUrls.length > 0"> <view class='swiper' v-if="imgUrls.length > 0">
<swiper indicator-dots="true" :autoplay="autoplay" :circular="circular" :interval="interval" <swiper indicator-dots="true" :autoplay="autoplay" :circular="circular" :interval="interval"
:duration="duration" indicator-color="rgba(102,102,102,0.3)" indicator-active-color="#666"> :duration="duration" indicator-color="rgba(102,102,102,0.3)" indicator-active-color="#666">
<block v-for="(item,index) in imgUrls" :key="index"> <block v-for="(item,index) in imgUrls" :key="index">
<swiper-item> <swiper-item>
<navigator :url="'/pages/news_details/index?id='+item.id"> <navigator :url="'/pages/news_details/index?id='+item.id">
<image :src="item.image_input[0]" class="slide-image" /> <image :src="item.image_input[0]" class="slide-image" />
</navigator> </navigator>
</swiper-item> </swiper-item>
</block> </block>
</swiper> </swiper>
</view> </view>
<view class='nav' v-if="navList.length > 0"> <view class='nav' v-if="navList.length > 0">
<scroll-view class="scroll-view_x" scroll-x scroll-with-animation :scroll-left="scrollLeft" <scroll-view class="scroll-view_x" scroll-x scroll-with-animation :scroll-left="scrollLeft"
style="width:auto;overflow:hidden;"> style="width:auto;overflow:hidden;">
<block v-for="(item,index) in navList" :key="index"> <block v-for="(item,index) in navList" :key="index">
<view class='item' style="text-align: center;" :class='active==item.article_category_id?"on":""' <view class='item' style="text-align: center;" :class='active==item.article_category_id?"on":""'
@click='tabSelect(item.article_category_id)'> @click='tabSelect(item.article_category_id)'>
<view>{{item.title}}</view> <view>{{item.title}}</view>
<view class='line bg-color' v-if="active==item.article_category_id"></view> <view class='line bg-color' v-if="active==item.article_category_id"></view>
</view> </view>
</block> </block>
</scroll-view> </scroll-view>
</view> </view>
<view class='list'> <view class='list'>
<block v-for="(item,index) in articleList" :key="index"> <block v-for="(item,index) in articleList" :key="index">
<navigator :url='"/pages/news_details/index?id="+item.article_id' hover-class='none' <navigator :url='"/pages/news_details/index?id="+item.article_id' hover-class='none'
class='item acea-row row-between-wrapper'> class='item acea-row row-between-wrapper'>
<view class='text acea-row row-column-between'> <view class='text acea-row row-column-between'>
<view class='name line2'>{{item.title}}</view> <view class='name line2'>{{item.title}}</view>
<view>{{item.create_time}}</view> <view>{{item.create_time}}</view>
</view> </view>
<view class='pictrue'> <view class='pictrue'>
<image :src='item.image_input'></image> <image :src='item.image_input'></image>
</view> </view>
</navigator> </navigator>
</block> </block>
</view> </view>
</view> </view>
<view class='empty-box acea-row row-middle' v-if="articleList.length == 0 && (page != 1 || active== 0)"> <view class='empty-box acea-row row-middle' v-if="articleList.length == 0 && (page != 1 || active== 0)">
<view class='pictrue'> <view class='pictrue'>
<image src='../../static/images/empty-box.png'></image> <image src='../../static/images/empty-box.png'></image>
<view class="txt">暂无新闻信息~</view> <view class="txt">暂无新闻信息~</view>
</view> </view>
</view> </view>
<!-- <home></home> --> <!-- <home></home> -->
</view> </view>
</template> </template>
<script> <script>
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
// | CRMEB [ CRMEB ] // | CRMEB [ CRMEB ]
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
// | Copyright (c) 2016~2021 https://www.crmeb.com All rights reserved. // | Copyright (c) 2016~2021 https://www.crmeb.com All rights reserved.
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
// | Licensed CRMEBCRMEB // | Licensed CRMEBCRMEB
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
// | Author: CRMEB Team <admin@crmeb.com> // | Author: CRMEB Team <admin@crmeb.com>
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
import { import {
getArticleCategoryList, getArticleCategoryLists,
getArticleList, getArticleCategoryList,
getArticleHotList, getArticleList,
getArticleBannerList getArticleHotList,
} from '@/api/api.js'; getArticleBannerList
import home from '@/components/home'; } from '@/api/api.js';
export default { import home from '@/components/home';
components: { export default {
home components: {
}, home
data() { },
return { data() {
imgUrls: [], return {
articleList: [], imgUrls: [],
indicatorDots: false, articleList: [],
circular: true, indicatorDots: false,
autoplay: true, circular: true,
interval: 3000, autoplay: true,
duration: 500, interval: 3000,
navList: [], duration: 500,
active: 0, navList: [],
page: 1, active: 0,
limit: 8, page: 1,
status: false, limit: 8,
scrollLeft: 0 status: false,
}; scrollLeft: 0,
}, type: 0
/** };
* 生命周期函数--监听页面显示 },
*/ /**
onShow: function() {}, * 生命周期函数--监听页面显示
/** */
* 生命周期函数--监听页面显示 onShow: function() {},
*/ /**
onLoad: function() { * 生命周期函数--监听页面显示
this.getArticleCate(); */
this.status = false; onLoad: function(e) {
this.page = 1;
this.articleList = []; this.type = e.type
}, this.getArticleCate();
/** this.status = false;
* 页面上拉触底事件的处理函数 this.page = 1;
*/ this.articleList = [];
onReachBottom: function() { },
this.getCidArticle(); /**
}, * 页面上拉触底事件的处理函数
methods: { */
getArticleHot: function() { onReachBottom: function() {
let that = this; this.getCidArticle();
getArticleHotList().then(res => { },
that.$set(that, 'articleList', res.data); methods: {
}); getArticleHot: function() {
}, let that = this;
getArticleBanner: function() { getArticleHotList().then(res => {
let that = this; that.$set(that, 'articleList', res.data);
getArticleBannerList().then(res => { });
that.imgUrls = res.data; },
}); getArticleBanner: function() {
}, let that = this;
getCidArticle: function() { getArticleBannerList().then(res => {
let that = this; that.imgUrls = res.data;
if (that.active == 0) return; });
let limit = that.limit; },
let page = that.page; getCidArticle: function() {
let articleList = that.articleList; let that = this;
if (that.status) return; if (that.active == 0) return;
getArticleList(that.active, { let limit = that.limit;
page: page, let page = that.page;
limit: limit let articleList = that.articleList;
}).then(res => { if (that.status) return;
let articleListNew = []; getArticleList(that.active, {
let len = res.length; page: page,
articleListNew = articleList.concat(res.data.list); limit: limit
that.page++; }).then(res => {
that.$set(that, 'articleList', articleListNew); let articleListNew = [];
that.status = limit > len; let len = res.length;
that.page = that.page; articleListNew = articleList.concat(res.data.list);
}); that.page++;
}, that.$set(that, 'articleList', articleListNew);
getArticleCate: function() { that.status = limit > len;
let that = this; that.page = that.page;
getArticleCategoryList().then(res => { });
this.active = res.data[0].article_category_id },
that.$set(that, 'navList', res.data); getArticleCate: function() {
this.getCidArticle(); let that = this;
}); if (this.type == 1) {
}, getArticleCategoryLists().then(res => {
tabSelect(active) { this.active = res.data[0].article_category_id
this.active = active; that.$set(that, 'navList', res.data);
if (this.active == 0) this.getArticleHot(); this.getCidArticle();
else { });
this.$set(this, 'articleList', []); } else {
this.page = 1; getArticleCategoryList().then(res => {
this.status = false; this.active = res.data[0].article_category_id
this.getCidArticle(); that.$set(that, 'navList', res.data);
} this.getCidArticle();
} });
} }
}
},
tabSelect(active) {
this.active = active;
if (this.active == 0) this.getArticleHot();
else {
this.$set(this, 'articleList', []);
this.page = 1;
this.status = false;
this.getCidArticle();
}
}
}
}
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
page { page {
background-color: #fff !important; background-color: #fff !important;
} }
.newsList .swiper { .newsList .swiper {
width: 100%; width: 100%;
position: relative; position: relative;
box-sizing: border-box; box-sizing: border-box;
padding: 0 30rpx; padding: 0 30rpx;
} }
.newsList .swiper swiper { .newsList .swiper swiper {
width: 100%; width: 100%;
height: 365rpx; height: 365rpx;
position: relative; position: relative;
} }
.newsList .swiper .slide-image { .newsList .swiper .slide-image {
width: 100%; width: 100%;
height: 335rpx; height: 335rpx;
border-radius: 6rpx; border-radius: 6rpx;
} }
// #ifdef MP-WEIXIN // #ifdef MP-WEIXIN
.newsList .swiper .wx-swiper-dot { .newsList .swiper .wx-swiper-dot {
width: 12rpx !important; width: 12rpx !important;
height: 12rpx !important; height: 12rpx !important;
border-radius: 0; border-radius: 0;
transform: rotate(-45deg); transform: rotate(-45deg);
transform-origin: 0 100%; transform-origin: 0 100%;
} }
.newsList .swiper .wx-swiper-dot~.wx-swiper-dot { .newsList .swiper .wx-swiper-dot~.wx-swiper-dot {
margin-left: 5rpx; margin-left: 5rpx;
} }
.newsList .swiper .wx-swiper-dots.wx-swiper-dots-horizontal { .newsList .swiper .wx-swiper-dots.wx-swiper-dots-horizontal {
margin-bottom: -15rpx; margin-bottom: -15rpx;
} }
// #endif // #endif
// #ifdef APP-PLUS || H5 // #ifdef APP-PLUS || H5
.newsList .swiper .uni-swiper-dot { .newsList .swiper .uni-swiper-dot {
width: 12rpx !important; width: 12rpx !important;
height: 12rpx !important; height: 12rpx !important;
border-radius: 0; border-radius: 0;
transform: rotate(-45deg); transform: rotate(-45deg);
transform-origin: 0 100%; transform-origin: 0 100%;
} }
.newsList .swiper .uni-swiper-dot~.uni-swiper-dot { .newsList .swiper .uni-swiper-dot~.uni-swiper-dot {
margin-left: 5rpx; margin-left: 5rpx;
} }
.newsList .swiper .uni-swiper-dots.uni-swiper-dots-horizontal { .newsList .swiper .uni-swiper-dots.uni-swiper-dots-horizontal {
margin-bottom: -15rpx; margin-bottom: -15rpx;
} }
// #endif // #endif
.newsList .nav { .newsList .nav {
padding: 0 30rpx; padding: 0 30rpx;
width: 100%; width: 100%;
white-space: nowrap; white-space: nowrap;
box-sizing: border-box; box-sizing: border-box;
margin-top: 43rpx; margin-top: 43rpx;
} }
.newsList .nav .item { .newsList .nav .item {
display: inline-block; display: inline-block;
font-size: 32rpx; font-size: 32rpx;
color: #999; color: #999;
min-width: 130rpx; min-width: 130rpx;
white-space: nowrap; white-space: nowrap;
overflow: hidden; overflow: hidden;
text-overflow: ellipsis; text-overflow: ellipsis;
position: relative; position: relative;
padding-bottom: 20rpx; padding-bottom: 20rpx;
} }
.newsList .nav .item.on { .newsList .nav .item.on {
color: #282828; color: #282828;
} }
.newsList .nav .item~.item { .newsList .nav .item~.item {
margin-left: 46rpx; margin-left: 46rpx;
} }
.newsList .nav .item .line { .newsList .nav .item .line {
width: 24rpx; width: 24rpx;
height: 4rpx; height: 4rpx;
border-radius: 2rpx; border-radius: 2rpx;
margin: 10rpx auto 0 auto; margin: 10rpx auto 0 auto;
position: absolute; position: absolute;
bottom: 5rpx; bottom: 5rpx;
left: 50%; left: 50%;
margin-left: -12rpx; margin-left: -12rpx;
} }
.newsList .list .item { .newsList .list .item {
margin: 0 30rpx; margin: 0 30rpx;
border-bottom: 1px solid #f0f0f0; border-bottom: 1px solid #f0f0f0;
padding: 35rpx 0; padding: 35rpx 0;
} }
.newsList .list .item .pictrue { .newsList .list .item .pictrue {
width: 250rpx; width: 250rpx;
height: 156rpx; height: 156rpx;
} }
.newsList .list .item .pictrue image { .newsList .list .item .pictrue image {
width: 100%; width: 100%;
height: 100%; height: 100%;
border-radius: 6rpx; border-radius: 6rpx;
} }
.newsList .list .item .text { .newsList .list .item .text {
width: 420rpx; width: 420rpx;
height: 156rpx; height: 156rpx;
font-size: 24rpx; font-size: 24rpx;
color: #999; color: #999;
} }
.newsList .list .item .text .name { .newsList .list .item .text .name {
font-size: 30rpx; font-size: 30rpx;
color: #282828; color: #282828;
} }
.newsList .list .item .picList .pictrue { .newsList .list .item .picList .pictrue {
width: 335rpx; width: 335rpx;
height: 210rpx; height: 210rpx;
margin-top: 30rpx; margin-top: 30rpx;
} }
.newsList .list .item .picList.on .pictrue { .newsList .list .item .picList.on .pictrue {
width: 217rpx; width: 217rpx;
height: 136rpx; height: 136rpx;
} }
.newsList .list .item .picList .pictrue image { .newsList .list .item .picList .pictrue image {
width: 100%; width: 100%;
height: 100%; height: 100%;
border-radius: 6rpx; border-radius: 6rpx;
} }
.newsList .list .item .time { .newsList .list .item .time {
text-align: right; text-align: right;
font-size: 24rpx; font-size: 24rpx;
color: #999; color: #999;
margin-top: 22rpx; margin-top: 22rpx;
} }
.noCommodity { .noCommodity {
border: none; border: none;
} }
.empty-box { .empty-box {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
justify-content: center; justify-content: center;
align-items: center; align-items: center;
margin-top: 200rpx; margin-top: 200rpx;
image { image {
width: 414rpx; width: 414rpx;
height: 240rpx; height: 240rpx;
} }
.txt { .txt {
font-size: 26rpx; font-size: 26rpx;
color: #999; color: #999;
text-align: center; text-align: center;
} }
} }
</style> </style>

View File

@ -12,7 +12,7 @@
<input placeholder='搜索店铺名称' placeholder-class='placeholder' confirm-type='search' name="search" <input placeholder='搜索店铺名称' placeholder-class='placeholder' confirm-type='search' name="search"
:value='sotreParam.keyword' @confirm="searchSubmit"></input> :value='sotreParam.keyword' @confirm="searchSubmit"></input>
</view> </view>
<view v-if="mer_location == 1" :class="'styleType'+store_street_theme" style="text-align: right;" <!-- <view v-if="mer_location == 1" :class="'styleType'+store_street_theme" style="text-align: right;"
class='iconfont search-right' @click='showMaoLocation(latitude,longitude)'> class='iconfont search-right' @click='showMaoLocation(latitude,longitude)'>
<view class="iconfont icon-dingwei"></view> <view class="iconfont icon-dingwei"></view>
<view class="right-text" v-if="recommend_address"> <view class="right-text" v-if="recommend_address">
@ -20,7 +20,7 @@
</view> </view>
<view class="iconfont icon-xiangyou" v-if="recommend_address"></view> <view class="iconfont icon-xiangyou" v-if="recommend_address"></view>
</view> </view>
</view> --> </view>
<view class="nav-wrapper" :class="'styleType'+store_street_theme"> <view class="nav-wrapper" :class="'styleType'+store_street_theme">
<view class='nav acea-row row-middle' :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' <view v-for="item in downMenus" :key="item.key" class='item'
@ -629,7 +629,7 @@
flex-wrap: nowrap; flex-wrap: nowrap;
background-color: #fff; background-color: #fff;
padding-top: 80rpx; padding-top: 80rpx;
padding-bottom: 20rpx;
&.styleType1 { &.styleType1 {
background-color: var(--view-theme); background-color: var(--view-theme);
} }
@ -730,7 +730,7 @@
z-index: 9; z-index: 9;
position: fixed; position: fixed;
left: 0; left: 0;
top: 30px; top: 25px;
width: 100%; width: 100%;
margin-top: 86rpx; margin-top: 86rpx;
background-color: #fff; background-color: #fff;

View File

@ -21,8 +21,10 @@
<view v-else> <view v-else>
<view class='header acea-row row-middle' :class='isGoodsReturn ? "on":""'> <view class='header acea-row row-middle' :class='isGoodsReturn ? "on":""'>
<view class='pictrue' v-if="isGoodsReturn==false"> <view class='pictrue' v-if="isGoodsReturn==false">
<image v-if="orderInfo.status != 9" :src="imgUrl+'/static/order_'+(orderInfo.status+2)+'.gif'">
<image v-if="orderInfo.status != 9&&orderInfo.status !=12" :src="imgUrl+'/static/order_'+(orderInfo.status+2)+'.gif'">
</image> </image>
<image v-else :src="imgUrl+'/static/order_2.gif'"></image> <image v-else :src="imgUrl+'/static/order_2.gif'"></image>
</view> </view>
<view class='data' :class='isGoodsReturn ? "on":""'> <view class='data' :class='isGoodsReturn ? "on":""'>
@ -30,7 +32,8 @@
<block v-if="orderInfo.order_status == 2 ">待发货</block> <block v-if="orderInfo.order_status == 2 ">待发货</block>
<block v-if="orderInfo.status == 9">等待其他人参加拼团</block> <block v-if="orderInfo.status == 9">等待其他人参加拼团</block>
<block v-if="orderInfo.order_status == 7">待核销</block> <block v-if="orderInfo.order_status == 7">待核销</block>
<block v-if="orderInfo.order_status == 3">{{orderInfo.is_virtual == 1 ? '服务商品已虚拟发货' : '待收货'}} <block v-if="orderInfo.order_status == 3">
{{orderInfo.is_virtual == 1 ? '服务商品已虚拟发货' : '待收货'}}
</block> </block>
<block v-if="orderInfo.order_status == 4">待评价</block> <block v-if="orderInfo.order_status == 4">待评价</block>
<block v-if="orderInfo.order_status == 5">已完成</block> <block v-if="orderInfo.order_status == 5">已完成</block>
@ -42,7 +45,9 @@
<block v-if="isGoodsReturn==false"> <block v-if="isGoodsReturn==false">
<view class='nav'> <view class='nav'>
<view class='navCon acea-row row-between-wrapper'> <view class='navCon acea-row row-between-wrapper'>
<view :class="orderInfo.order_status == 8||orderInfo.order_status == 1 ? 'on':''">待付款</view> <view
:class="orderInfo.order_status == 8||orderInfo.order_status == 1||orderInfo.order_status == 9 ? 'on':''">
待付款</view>
<view <view
:class="(orderInfo.status == 0 || orderInfo.status == 9||orderInfo.order_status == 2) ? 'on':''" :class="(orderInfo.status == 0 || orderInfo.status == 9||orderInfo.order_status == 2) ? 'on':''"
v-if="orderInfo.order_type != 1">待发货</view> v-if="orderInfo.order_type != 1">待发货</view>
@ -55,8 +60,10 @@
<view :class="orderInfo.order_status == 5 ? 'on':''">已完成</view> <view :class="orderInfo.order_status == 5 ? 'on':''">已完成</view>
</view> </view>
<view class='progress acea-row row-between-wrapper'> <view class='progress acea-row row-between-wrapper'>
<view class='iconfont icon-webicon318 t-color' v-if=" orderInfo.order_status == 8||orderInfo.order_status == 1"></view> <view class='iconfont icon-webicon318 t-color'
<view class='iconfont icon-yuandianxiao t-color' else></view> v-if=" orderInfo.order_status == 8||orderInfo.order_status == 9||orderInfo.order_status == 1">
</view>
<view class='iconfont t-color' else></view>
<view class='line b-color'></view> <view class='line b-color'></view>
<view class='iconfont' <view class='iconfont'
:class='((orderInfo.status == 0 || orderInfo.status == 9||orderInfo.order_status == 2) ? "icon-webicon318":"icon-yuandianxiao") + " " + (orderInfo.status >= 0 ? "t-color":"")'> :class='((orderInfo.status == 0 || orderInfo.status == 9||orderInfo.order_status == 2) ? "icon-webicon318":"icon-yuandianxiao") + " " + (orderInfo.status >= 0 ? "t-color":"")'>
@ -291,6 +298,8 @@
<view v-if="orderInfo.presellOrder.activeStatus == 0" class='bnt b-color btn_auto'> <view v-if="orderInfo.presellOrder.activeStatus == 0" class='bnt b-color btn_auto'>
{{ orderInfo.presellOrder.final_start_time | filterDay }} 付尾款 {{ orderInfo.presellOrder.final_start_time | filterDay }} 付尾款
</view> </view>
<view v-if="orderInfo.presellOrder.activeStatus == 1" class='bnt b-color' @tap='pay_open()'>立即付款 <view v-if="orderInfo.presellOrder.activeStatus == 1" class='bnt b-color' @tap='pay_open()'>立即付款
</view> </view>
<view v-if="orderInfo.presellOrder.activeStatus == 2" class='bnt cancel' @click="cancelOrder">取消订单 <view v-if="orderInfo.presellOrder.activeStatus == 2" class='bnt cancel' @click="cancelOrder">取消订单
@ -303,6 +312,12 @@
<block v-if="orderInfo.status == 9"> <block v-if="orderInfo.status == 9">
<view class="bnt cancel" @click="getCombinationRemove">取消拼团</view> <view class="bnt cancel" @click="getCombinationRemove">取消拼团</view>
</block> </block>
<block v-if="orderInfo.order_status == 9">
<view class='bnt cancel' @click="cancelOrder">取消订单
</view>
<view class='bnt b-color' @tap='pay_opena()'>立即付款
</view>
</block>
<view class='bnt b-color' v-if="orderInfo.activity_type==4 && orderInfo.status==9" @tap='goJoinPink'> <view class='bnt b-color' v-if="orderInfo.activity_type==4 && orderInfo.status==9" @tap='goJoinPink'>
查看拼团</view> 查看拼团</view>
<block v-if="orderInfo.status == 1"> <block v-if="orderInfo.status == 1">
@ -787,7 +802,20 @@
* 打开支付组件 * 打开支付组件
* *
*/ */
pay_opena() {
uni.showModal({
title: '提示',
title: '该订单属于先货后款的订单,等商户确认后才能支付',
success: function(res) {
if (res.confirm) {
console.log('用户点击确定');
} else if (res.cancel) {
console.log('用户点击取消');
}
}
});
},
pay_open: function(pay_price, order_id) { pay_open: function(pay_price, order_id) {
this.pay_close = true; this.pay_close = true;

View File

@ -365,7 +365,7 @@
onLoad: function(options) { onLoad: function(options) {
console.log('11111111') console.log('11111111')
this.credit_buy = options.credit_buy this.credit_buy = options.credit_buy
console.log(options.product_type) // console.log(options.product_type)
if (options.product_type) { if (options.product_type) {
this.product_type = options.product_type this.product_type = options.product_type
} }

View File

@ -20,7 +20,7 @@
--> -->
<!-- 头部导航 --> <!-- 头部导航 -->
<view v-if="!isUser" class="header" :style="{backgroundColor:currentNav==3?'#FC4E09':''}" > <view v-if="!isUser" class="header" :style="{backgroundColor:'#FC4E09'}" >
<view class="items" @click.stop="navTap(2)"> <view class="items" @click.stop="navTap(2)">
<text class="tName" :class="currentNav==2?'on':''">关注</text> <text class="tName" :class="currentNav==2?'on':''">关注</text>
</view> </view>
@ -1182,7 +1182,7 @@
margin: 0 30rpx; margin: 0 30rpx;
.tName { .tName {
color: #ffffff; color: #000;
font-size: 32rpx; font-size: 32rpx;
&.on { &.on {

View File

@ -15,7 +15,7 @@
<!-- 头部导航 --> <!-- 头部导航 -->
<view v-if="!isUser" class="header" :style="{backgroundColor:currentNav==3?'#FC4E09':''}"> <view v-if="!isUser" class="header" :style="{backgroundColor:'#FC4E09'}">
<view class="tool-bar"> <view class="tool-bar">
<view class='iconfont icon-xiangzuo' @tap='goBack'></view> <view class='iconfont icon-xiangzuo' @tap='goBack'></view>
@ -1258,6 +1258,8 @@
z-index: 9; z-index: 9;
width: 750rpx; width: 750rpx;
height: 120rpx; height: 120rpx;
flex-direction: row; flex-direction: row;
justify-content: center; justify-content: center;
align-items: center; align-items: center;
@ -1279,7 +1281,7 @@
margin-right: 40rpx; margin-right: 40rpx;
margin-left: 20rpx; margin-left: 20rpx;
font-size: 30rpx; font-size: 30rpx;
color: #fff; color: #000;
margin-top: 60rpx; margin-top: 60rpx;
} }
} }
@ -1288,7 +1290,7 @@
margin: 0 30rpx; margin: 0 30rpx;
.tName { .tName {
color: #ffffff; color: #000;
font-size: 32rpx; font-size: 32rpx;
&.on { &.on {

View File

@ -1,456 +1,513 @@
<template> <template>
<view class="Circle_friends"> <view class="Circle_friends">
<view class="circle_friends_wrapper"> <view class="circle_friends_wrapper">
<zbpSwiper :isSelectPlace="true" @selectPlce="selectPlce" :location_Arr="locationArr"></zbpSwiper> <zbpSwiper :isSelectPlace="true" @selectPlce="selectPlce" :location_Arr="locationArr"></zbpSwiper>
<view class="shop_wrapper"> <view class="shop_wrapper">
<!-- locationArr.address_reference.town.id --> <!-- locationArr.address_reference.town.id -->
<navigator class="l_yun" hover-class="none" <navigator class="l_yun" hover-class="none"
:url="`/pages/nongKe/supply_chain/supplier?type_id=10&street_id=${street_id}`" :url="`/pages/nongKe/supply_chain/supplier?type_id=10&street_id=${street_id}`"
:style=" {'background-image': `url(${bgData[0].pic})`}"> :style=" {'background-image': `url(${bgData[0].pic})`}">
<view class=" text-name"> <view class=" text-name">
<text>{{town}}</text> <text>{{town}}</text>
<view class="name_town">-供销综合云市场-</view> <view class="name_town">-供销综合云市场-</view>
</view> </view>
</navigator> </navigator>
<view class="r_lihai" @click="go_shop" :style=" {'background-image': `url(${bgData[1].pic})`}"> <view class="r_lihai" @click="go_shop" :style=" {'background-image': `url(${bgData[1].pic})`}">
<view class="title">里海云仓</view> <view class="title">里海云仓</view>
</view> </view>
</view> </view>
<view class="tabs_wrapper flex_a_c_j_sb"> <view class="tabs_wrapper flex_a_c_j_sb">
<view class="title flex_a_c">热点资讯</view> <view class="title flex_a_c">热点资讯</view>
<navigator class="flex_a_c" hover-class="none" url="/pages/news_list/index"> <navigator class="flex_a_c" hover-class="none" url="/pages/news_list/index">
更多 更多
<view class="iconfont icon-gengduo3"></view> <view class="iconfont icon-gengduo3"></view>
</navigator> </navigator>
</view> </view>
<view class="article_box"> <view class="article_box">
<block v-for="(item, index) in recoList.slice(0,2)" :key="index"> <block v-for="(item, index) in recoList.slice(0,2)" :key="index">
<navigator :url='"/pages/news_details/index?id="+item.article_id' hover-class='none' class='article-item'> <navigator :url='"/pages/news_details/index?id="+item.article_id' hover-class='none'
<view class='text'> class='article-item'>
<view class='name'>{{item.title}}</view> <view class='text'>
<view class="time">{{item.create_time}}</view> <view class='name'>{{item.title}}</view>
</view> <view class="time">{{item.create_time}}</view>
<view class='pictrue'> </view>
<image :src='item.image_input'></image> <view class='pictrue'>
</view> <image :src='item.image_input'></image>
</navigator> </view>
</block> </navigator>
</view> </block>
</view>
<view class="tabs_wrapper"> <view class="tabs_wrapper">
<u-tabs :list="tabsData.list" @click="tabsChange" keyName="title" lineColor="#F84221"></u-tabs> <u-tabs :list="tabsData.list" @click="tabsChange" keyName="title" lineColor="#F84221"></u-tabs>
</view> </view>
<view class="goods"> <view class="goods">
<block v-for="(item,index) in articleList" :key="index"> <block v-for="(item,index) in articleList" :key="index">
<view class="goods_item" @click="gogogo(item)"> <view class="goods_item" @click="gogogo(item)">
<image class="goods_img" :src="item.image_input" mode="aspectFill"></image> <image class="goods_img" :src="item.image_input" mode="aspectFill"></image>
<view class="botm"> <view class="botm">
<view class="title">{{item.title}}</view> <view class="title">{{item.title}}</view>
<view class="goods_info flex_a_c"> <view class="goods_info flex_a_c">
<view class="l_info flex_a_c"> <view class="l_info flex_a_c">
<image :src="(item.author && item.author.avatar) || '/static/images/f.png'" mode="aspectFill" <image :src="(item.author && item.author.avatar) || '/static/images/f.png'"
class="g_img"></image> mode="aspectFill" class="g_img"></image>
<view class="g_name">{{item.author}}</view> <view class="g_name">{{item.author}}</view>
</view> </view>
<!-- <view class="nice_box" @click.stop="giveStart(item)"> <!-- <view class="nice_box" @click.stop="giveStart(item)">
<text class="iconfont" :class="item.relevance_id ? 'icon-shoucang1' : 'icon-dianzan'"></text> <text class="iconfont" :class="item.relevance_id ? 'icon-shoucang1' : 'icon-dianzan'"></text>
<text class="collect">{{item.count_start}}</text> <text class="collect">{{item.count_start}}</text>
</view> --> </view> -->
</view> </view>
</view> </view>
</view> </view>
</block> </block>
</view> </view>
<view class="empty_wrapper" v-if="emptyShow"> <view class="empty_wrapper" v-if="emptyShow">
<u-empty :show="emptyShow" mode="list" icon="http://cdn.uviewui.com/uview/empty/list.png"></u-empty> <u-empty :show="emptyShow" mode="list" icon="http://cdn.uviewui.com/uview/empty/list.png"></u-empty>
</view> </view>
</view> </view>
<!-- <view class="bg_color"></view> --> <!-- <view class="bg_color"></view> -->
<!-- <m-tabbar native> <!-- <m-tabbar native>
<template v-slot:tabbar_index_2> <template v-slot:tabbar_index_2>
<view class="custom_style"> <view class="custom_style">
<view class="custom_style_icon"></view> <view class="custom_style_icon"></view>
</view> </view>
</template> </template>
</m-tabbar> --> </m-tabbar> -->
</view> </view>
</template> </template>
<script> <script>
import zbpSwiper from '@/components/zbpSwiper' import zbpSwiper from '@/components/zbpSwiper'
import { mapGetters } from 'vuex' import {
import mTabbar from '@/components/m-tabbar/m-tabbar.vue' mapGetters
import { graphicStartApi } from '@/api/community.js' } from 'vuex'
import { getArticleList, getArticleCategoryList, get_cloud_shop } from '@/api/api.js' import mTabbar from '@/components/m-tabbar/m-tabbar.vue'
import { getHotBanner } from '@/api/store.js' import {
import { Toast } from '@/libs/uniApi' graphicStartApi
import { getGeocoder } from '@/api/store.js'; } from '@/api/community.js'
export default { import {
components: { getArticleList,
mTabbar, getArticleCategoryList,
zbpSwiper get_cloud_shop
}, } from '@/api/api.js'
data() { import {
return { getHotBanner
tabsData: { } from '@/api/store.js'
list: [], import {
tabsActive: 0 Toast
}, } from '@/libs/uniApi'
town: '', street_id: '', import {
emptyShow: false, getGeocoder
articleList: [], } from '@/api/store.js';
recoList: [], export default {
components: {
mTabbar,
zbpSwiper
},
data() {
return {
tabsData: {
list: [],
tabsActive: 0
},
town: '',
street_id: '',
emptyShow: false,
articleList: [],
recoList: [],
bgData: [{ pic: '' }, { pic: '' }], bgData: [{
store_id: '', pic: ''
locationArr: ({}), }, {
setrecommend_address: "", pic: ''
isYunCang: 0 }],
} store_id: '',
}, locationArr: ({}),
onLoad() { setrecommend_address: "",
getHotBanner('good').then(res => { isYunCang: 0
// console.log(res); }
this.bgData = res.data },
}) onLoad() {
this.getArticle() this.appLocation()
getArticleList(19).then(res => { getHotBanner('good').then(res => {
this.recoList = res.data.list // console.log(res);
}) this.bgData = res.data
this.getTownAndStoreId() })
}, this.getArticle()
onShow() {}, getArticleList(19).then(res => {
computed: mapGetters(['location']), this.recoList = res.data.list
watch: { })
location: { this.getTownAndStoreId()
handler(newVal, oldVal) {
this.street_id = newVal.address_reference.town.id },
this.getCloudShopMerId(this.street_id) onShow() {},
this.town = newVal.address_component.street ?? '' computed: mapGetters(['location']),
},
immediate: true methods: {
} appLocation() {
},
methods: { uni.getLocation({
getTownAndStoreId() { type: 'wgs84',
const LOCA = this.location timeout: '10',
this.street_id = LOCA.address_reference.town.id success: (res) => {
this.getCloudShopMerId(this.street_id)
this.town = LOCA.address_component.street ?? '' let latitude, longitude;
}, latitude = res.latitude.toString();
selectPlce(e) { longitude = res.longitude.toString();
this.street_id = e.value[1].code getGeocoder({
this.town = e.value[1].name lat: latitude,
this.getCloudShopMerId(e.value[1].code) long: longitude
}, }).then(res => {
getCloudShopMerId(id) { console.log(res.data.address_reference.town)
get_cloud_shop(id).then(res => { this.town = res.data.address_reference.town.title
res.data.length > 0 ? this.isYunCang = 1 : this.isYunCang = 0 this.street_id = res.data.address_reference.town.id
}) this.getCloudShopMerId(res.data.address_reference.town.id)
}, }).catch(err => {
navigat() { uni.showToast({
uni.navigateTo({ title: err,
url: '/pages/store/settledApply/settledApply' icon: 'none'
}) })
}, })
gogogo(item) { },
uni.navigateTo({ fail: (err) => {
url: '/pages/news_details/index?id=' + item.article_id
}) uni.showToast({
}, title: "获取定位超时",
go_shop() { icon: 'none',
if (this.isYunCang == 0) { duration: 2000
return Toast('当前区域没有云仓库') });
} }
uni.navigateTo({ });
url: `/pages/nongKe/cloud_entrepot/index?street=${this.street_id}&town=${this.town}` },
}) getTownAndStoreId() {
// uni.navigateTo({ const LOCA = this.location
// url: '/pages/store/home/index?id=' + this.mer_id + '&LihaiYun=Lihai' this.street_id = LOCA.address_reference.town.id
// }) this.getCloudShopMerId(this.street_id)
}, this.town = LOCA.address_component.street ?? ''
async getArticle() { },
let list = [] selectPlce(e) {
const { data } = await getArticleCategoryList() this.street_id = e.value[1].code
data.map((item, index) => { this.town = e.value[1].name
if (item.title !== '推荐') { this.getCloudShopMerId(e.value[1].code)
list.push(item) // console.log( e.value[1].name)
} uni.setStorageSync('adress_location', e.value[1].name)
}) },
this.tabsData.list = list getCloudShopMerId(id) {
this.getArticleList(list[0].article_category_id) get_cloud_shop(id).then(res => {
}, res.data.length > 0 ? this.isYunCang = 1 : this.isYunCang = 0
async getArticleList(id) { })
const { data } = await getArticleList(id) },
this.articleList = data.list navigat() {
}, uni.navigateTo({
// url: '/pages/store/settledApply/settledApply'
giveStart(item) { })
let status = item.status ? 0 : 1 },
// console.log('item', item); gogogo(item) {
graphicStartApi(item.community_id, { status: status }).then(res => { uni.navigateTo({
Toast(res.message) url: '/pages/news_details/index?id=' + item.article_id
this.getArticleList() })
}) },
}, go_shop() {
tabsChange(item) { if (this.isYunCang == 0) {
this.getArticleList(item.article_category_id) return Toast('当前区域没有云仓库')
this.street_id = item.id }
this.tabsData.tabsActive = item.index uni.navigateTo({
}, url: `/pages/nongKe/cloud_entrepot/index?street=${this.street_id}&town=${this.town}`
}, })
onPullDownRefresh() { // uni.navigateTo({
uni.stopPullDownRefresh() // url: '/pages/store/home/index?id=' + this.mer_id + '&LihaiYun=Lihai'
} // })
} },
async getArticle() {
let list = []
const {
data
} = await getArticleCategoryList()
data.map((item, index) => {
if (item.title !== '推荐') {
list.push(item)
}
})
this.tabsData.list = list
this.getArticleList(list[0].article_category_id)
},
async getArticleList(id) {
const {
data
} = await getArticleList(id)
this.articleList = data.list
},
//
giveStart(item) {
let status = item.status ? 0 : 1
// console.log('item', item);
graphicStartApi(item.community_id, {
status: status
}).then(res => {
Toast(res.message)
this.getArticleList()
})
},
tabsChange(item) {
this.getArticleList(item.article_category_id)
this.street_id = item.id
this.tabsData.tabsActive = item.index
},
},
onPullDownRefresh() {
uni.stopPullDownRefresh()
}
}
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.Circle_friends { .Circle_friends {
background: linear-gradient(180deg, #FFFFFF 0%, #F6F6F6 100%); background: linear-gradient(180deg, #FFFFFF 0%, #F6F6F6 100%);
} }
.shop_wrapper { .shop_wrapper {
height: 192.98rpx; height: 192.98rpx;
width: 694.74rpx; width: 694.74rpx;
margin: 0 auto; margin: 0 auto;
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
margin-top: 0; margin-top: 0;
.l_yun { .l_yun {
width: 456.14rpx; width: 456.14rpx;
border-radius: 16rpx; border-radius: 16rpx;
background-repeat: no-repeat; background-repeat: no-repeat;
background-size: cover; background-size: cover;
overflow: hidden; overflow: hidden;
position: relative; position: relative;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
align-items: center; align-items: center;
.text-name { .text-name {
margin-top: 14.04rpx; margin-top: 14.04rpx;
text-align: center; text-align: center;
color: #fff; color: #fff;
font-weight: bold; font-weight: bold;
font-size: 29.82rpx; font-size: 29.82rpx;
text { text {
font-size: 40.35rpx; font-size: 40.35rpx;
} }
} }
.yun_title { .yun_title {
color: #B24322; color: #B24322;
background-color: #ffad99; background-color: #ffad99;
height: 56.14rpx; height: 56.14rpx;
clip-path: polygon(0% 0, 100% 0, 90% 100%, 0 100%); clip-path: polygon(0% 0, 100% 0, 90% 100%, 0 100%);
text-align: center; text-align: center;
line-height: 56.14rpx; line-height: 56.14rpx;
padding: 0 31.58rpx 0 21.05rpx; padding: 0 31.58rpx 0 21.05rpx;
width: max-content; width: max-content;
.iconlihai { .iconlihai {
font-size: 24.56rpx; font-size: 24.56rpx;
margin-left: 16rpx; margin-left: 16rpx;
} }
} }
.text_cont { .text_cont {
position: absolute; position: absolute;
left: 21.05rpx; left: 21.05rpx;
bottom: 47.37rpx; bottom: 47.37rpx;
color: #7F1616; color: #7F1616;
font-weight: 700; font-weight: 700;
font-size: 31.58rpx; font-size: 31.58rpx;
.name_town { .name_town {
font-size: 49.12rpx; font-size: 49.12rpx;
} }
} }
} }
.r_lihai { .r_lihai {
width: 217.54rpx; width: 217.54rpx;
height: 100%; height: 100%;
font-size: 35.09rpx; font-size: 35.09rpx;
padding-top: 28.07rpx; padding-top: 28.07rpx;
text-align: center; text-align: center;
background-repeat: no-repeat; background-repeat: no-repeat;
background-size: cover; background-size: cover;
box-sizing: border-box; box-sizing: border-box;
border-radius: 16rpx; border-radius: 16rpx;
color: #fff; color: #fff;
font-weight: bold; font-weight: bold;
.title { .title {
margin-top: 105.26rpx; margin-top: 105.26rpx;
} }
} }
} }
.tabs_wrapper { .tabs_wrapper {
width: 694.74rpx; width: 694.74rpx;
margin: 38.6rpx auto; margin: 38.6rpx auto;
margin-bottom: 21.05rpx; margin-bottom: 21.05rpx;
.title { .title {
font-size: 31.58rpx; font-size: 31.58rpx;
font-weight: bold; font-weight: bold;
&::before { &::before {
content: ''; content: '';
display: inline-block; display: inline-block;
width: 3px; width: 3px;
height: 31.58rpx; height: 31.58rpx;
background-color: #F84221; background-color: #F84221;
margin-right: 7.02rpx; margin-right: 7.02rpx;
} }
} }
} }
.article_box { .article_box {
height: 100%; height: 100%;
width: 694.74rpx; width: 694.74rpx;
margin: 0 auto; margin: 0 auto;
background-color: #fff; background-color: #fff;
border-radius: 16rpx; border-radius: 16rpx;
padding: 0 24.56rpx; padding: 0 24.56rpx;
box-sizing: border-box; box-sizing: border-box;
.title-box { .title-box {
height: 87.72rpx; height: 87.72rpx;
text { text {
font-size: 28.07rpx; font-size: 28.07rpx;
} }
} }
.article-item { .article-item {
display: flex; display: flex;
// height: 175.44rpx; // height: 175.44rpx;
justify-content: space-between; justify-content: space-between;
border-bottom: 1px solid #f0f0f0; border-bottom: 1px solid #f0f0f0;
padding: 21.05rpx 0; padding: 21.05rpx 0;
.text { .text {
flex: 1; flex: 1;
height: 122.81rpx; height: 122.81rpx;
margin-right: 17.54rpx; margin-right: 17.54rpx;
font-size: 24rpx; font-size: 24rpx;
color: #999; color: #999;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
justify-content: space-between; justify-content: space-between;
.name { .name {
font-size: 26.32rpx; font-size: 26.32rpx;
color: #282828; color: #282828;
} }
} }
.pictrue { .pictrue {
width: 175.44rpx; width: 175.44rpx;
height: 122.81rpx; height: 122.81rpx;
image { image {
width: 100%; width: 100%;
height: 100%; height: 100%;
border-radius: 8px; border-radius: 8px;
} }
} }
} }
} }
.goods { .goods {
margin: 0 auto; margin: 0 auto;
width: 694.74rpx; width: 694.74rpx;
display: flex; display: flex;
flex-wrap: wrap; flex-wrap: wrap;
justify-content: space-between; justify-content: space-between;
.goods_item { .goods_item {
width: 342.11rpx; width: 342.11rpx;
height: 491.23rpx; height: 491.23rpx;
border-radius: 8px; border-radius: 8px;
overflow: hidden; overflow: hidden;
background-color: #fff; background-color: #fff;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
margin-bottom: 10.53rpx; margin-bottom: 10.53rpx;
.goods_img { .goods_img {
width: 100%; width: 100%;
height: 294.74rpx; height: 294.74rpx;
} }
.botm { .botm {
flex: 1; flex: 1;
padding: 0 14.04rpx; padding: 0 14.04rpx;
padding-bottom: 21.05rpx; padding-bottom: 21.05rpx;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
justify-content: space-between; justify-content: space-between;
.title { .title {
margin: 12px 0; margin: 12px 0;
width: 100%; width: 100%;
overflow: hidden; overflow: hidden;
text-overflow: ellipsis; text-overflow: ellipsis;
display: -webkit-box; display: -webkit-box;
-webkit-line-clamp: 2; -webkit-line-clamp: 2;
-webkit-box-orient: vertical; -webkit-box-orient: vertical;
} }
.goods_info { .goods_info {
justify-content: space-between; justify-content: space-between;
.g_img { .g_img {
width: 60rpx; width: 60rpx;
height: 60rpx; height: 60rpx;
border-radius: 50%; border-radius: 50%;
} }
.g_name { .g_name {
margin-left: 8.77rpx; margin-left: 8.77rpx;
width: 100.63rpx; width: 100.63rpx;
text-overflow: ellipsis; text-overflow: ellipsis;
/* 溢出显示省略号 */ /* 溢出显示省略号 */
overflow: hidden; overflow: hidden;
/* 溢出隐藏 */ /* 溢出隐藏 */
white-space: nowrap; white-space: nowrap;
/* 强制不换行 */ /* 强制不换行 */
} }
.nice_box { .nice_box {
display: flex; display: flex;
align-items: center; align-items: center;
.isshow { .isshow {
color: #FE3530 !important; color: #FE3530 !important;
} }
.iconfont { .iconfont {
font-size: 30rpx; font-size: 30rpx;
} }
.icon-shoucang1 { .icon-shoucang1 {
color: #F84221; color: #F84221;
} }
.collect { .collect {
font-size: 24rpx; font-size: 24rpx;
margin-left: 5rpx; margin-left: 5rpx;
} }
} }
} }
} }
} }
} }
</style> </style>

View File

@ -148,7 +148,8 @@
<text class='money p-color'>{{item.pay_price}}</text> <text class='money p-color'>{{item.pay_price}}</text>
</view> </view>
<view class='bottom acea-row row-right row-middle'> <view class='bottom acea-row row-right row-middle'>
<view class='bnt b-color' @click.stop='goPay(item.pay_price,item.group_order_id,item.activity_type)'> <view class='bnt b-color'
@click.stop='goPay(item.pay_price,item.group_order_id,item.activity_type)'>
立即付款</view> 立即付款</view>
</view> </view>
</view> </view>
@ -181,6 +182,7 @@
<view v-if="item.order_status == 6" class='t-color'>已退款</view> <view v-if="item.order_status == 6" class='t-color'>已退款</view>
<view v-if="item.order_status == 8 && item.pay_type == 8" class='t-color'>待结算 <view v-if="item.order_status == 8 && item.pay_type == 8" class='t-color'>待结算
</view> </view>
<view v-if="item.order_status == 9" class='t-color'>待商家确认</view>
</view> </view>
<view v-if="item.activity_type === 2"> <view v-if="item.activity_type === 2">
<view class='item-info acea-row row-between row-top' <view class='item-info acea-row row-between row-top'
@ -275,13 +277,24 @@
<block v-if="item.order_status == 1 "> <block v-if="item.order_status == 1 ">
<view class='bnt b-color' <view class='bnt b-color' v-if="item.status==12" @click.stop='dePay'>
去付款
</view>
<view class='bnt b-color' v-else
@click.stop='goPay(item.pay_price,item.group_order_id,item.activity_type)'> @click.stop='goPay(item.pay_price,item.group_order_id,item.activity_type)'>
去付款 去付款
</view> </view>
</block> </block>
<block v-if="item.order_status == 9 ">
<view class='bnt b-color' v-if="item.status==12" @click.stop='dePay'>
去付款
</view>
<view class='bnt b-color' v-else
@click.stop='goPay(item.pay_price,item.group_order_id,item.activity_type)'>
去付款
</view>
</block>
<block v-if="item.status == 2 "> <block v-if="item.status == 2 ">
<!-- <navigator v-if="community_status == 1 && !item.community_id" :url="'/pages/plantGrass/plant_release/index?order_id='+item.order_id" class='bnt colorBnt' hover-class="none"> <!-- <navigator v-if="community_status == 1 && !item.community_id" :url="'/pages/plantGrass/plant_release/index?order_id='+item.order_id" class='bnt colorBnt' hover-class="none">
<text class="iconfont icon-fabu"></text> <text class="iconfont icon-fabu"></text>
@ -320,8 +333,8 @@
</view> </view>
<home></home> <home></home>
<authorize @onLoadFun="onLoadFun" :isAuto="isAuto" :isShowAuth="isShowAuth" @authColse="authColse"></authorize> <authorize @onLoadFun="onLoadFun" :isAuto="isAuto" :isShowAuth="isShowAuth" @authColse="authColse"></authorize>
<payment :payMode='payMode' :pay_close="pay_close" :order_type='order_type' @onChangeFun='onChangeFun' :order_id="pay_order_id" <payment :payMode='payMode' :pay_close="pay_close" :order_type='order_type' @onChangeFun='onChangeFun'
:totalPrice='totalPrice'></payment> :order_id="pay_order_id" :totalPrice='totalPrice'></payment>
<addInvoicing ref="addInvoicing" @changeInvoiceClose="changeInvoiceClose" :invoice='invoice'></addInvoicing> <addInvoicing ref="addInvoicing" @changeInvoiceClose="changeInvoiceClose" :invoice='invoice'></addInvoicing>
@ -407,7 +420,7 @@
limit: 20, limit: 20,
receivingshow: false, receivingshow: false,
domain: HTTP_REQUEST_URL, domain: HTTP_REQUEST_URL,
order_type:0, order_type: 0,
payMode: [{ payMode: [{
name: "微信支付", name: "微信支付",
icon: "icon-weixinzhifu", icon: "icon-weixinzhifu",
@ -593,12 +606,12 @@
* 打开支付组件 * 打开支付组件
* *
*/ */
goPay: function(pay_price, order_id,order_type) { goPay: function(pay_price, order_id, order_type) {
this.$set(this, 'pay_close', true); this.$set(this, 'pay_close', true);
this.order_id = order_id; this.order_id = order_id;
this.pay_order_id = order_id.toString() this.pay_order_id = order_id.toString()
this.$set(this, 'totalPrice', pay_price); this.$set(this, 'totalPrice', pay_price);
this.order_type=order_type this.order_type = order_type
}, },
/** /**
* 支付成功回调 * 支付成功回调
@ -663,6 +676,24 @@
} }
// #endif // #endif
}, },
/**
* 点击去评价
*/
dePay() {
uni.showModal({
title: '提示',
title: '该订单属于先货后款的订单,等商户确认后才能支付',
success: function (res) {
if (res.confirm) {
console.log('用户点击确定');
} else if (res.cancel) {
console.log('用户点击取消');
}
}
});
},
/** /**
* 点击去评价 * 点击去评价
*/ */

View File

@ -204,6 +204,7 @@
}, 1000) }, 1000)
} }
}).catch(err => { }).catch(err => {
uni.showToast({ uni.showToast({
title: err.message title: err.message
}) })

View File

@ -27,7 +27,6 @@ const state = {
const mutations = { const mutations = {
setLocation(state, data) { setLocation(state, data) {
// console.log(data);
state.location = data state.location = data
Cache.set('LOCATION_DATA', data); Cache.set('LOCATION_DATA', data);
}, },