首页优化+服务优化

dev
shuxiaoquan 10 months ago
parent b00a93fda1
commit 0af15e70d8
  1. 8
      manifest.json
  2. 9
      pages/activity/intimate.vue
  3. 6
      pages/activity/presaleRule.vue
  4. 32
      pages/category/index.vue
  5. 326
      pages/index/index.vue
  6. 37
      pages/news/consult/about.vue
  7. 15
      pages/news/consult/comment.vue
  8. 25
      pages/news/consult/index.vue
  9. 18
      pages/news/consult/store.vue
  10. 25
      pages/news/park/index.vue
  11. 96
      pages/serve/index.vue
  12. 17
      pages/user/vip/goods.vue

@ -1,9 +1,9 @@
{
"name" : "萤火商城2.0",
"name" : "惠云商",
"appid" : "__UNI__1D774AF",
"description" : "萤火商城V2.0,是全新推出的一款轻量级、高性能、前后端分离的电商系统,让您快速搭建个性化独立商城",
"versionName" : "2.3.12",
"versionCode" : 235,
"description" : "慧云商是一款提供家电,3C数码,家装建材为一体的批发采购平台,一站式解决找货方案,简化采购流程",
"versionName" : "1.0.0",
"versionCode" : 1,
"transformPx" : false,
/* 5+App */
"app-plus" : {

@ -4,9 +4,9 @@
<u-navbar title="贴心服务" :border-bottom="false" :background="isScroll?background:background1"></u-navbar>
</view>
<view class="intimate-hd" @click="openPage(1)">
<image :src="storeInfo.image_url"></image>
<view class="a">{{storeInfo.store_name}}<u-icon style="margin-left: 10rpx;" name="arrow-right"></u-icon></view>
<view class="b">{{storeInfo.describe}}</view>
<image :src="storeInfo.imageList?storeInfo.imageList[0]:''"></image>
<view class="a">{{storeInfo.shop_name}}<u-icon style="margin-left: 10rpx;" name="arrow-right"></u-icon></view>
<view class="b">{{storeInfo.summary}}</view>
</view>
<!-- <scroll-view scroll-x class="intimate-menu">
<view class="item" @click="tabItem1(i)" v-for="i in 10" :key="i" :class="tabIndex1==i?'item-on':''">
@ -50,7 +50,6 @@
<script>
import * as newFunApi from '@/api/newFun'
// import img from "@/static/news/refund-bg1.png"
export default {
data() {
return {
@ -76,7 +75,7 @@
onLoad(o) {
this.tabIndex = o.index?(o.index): -1
this.getList();
this.storeInfo = uni.getStorageSync("Store").storeInfo
this.storeInfo = uni.getStorageSync("cityInfo")
},
onPageScroll(e){
if(e.scrollTop <= 44){

@ -1,6 +1,8 @@
<template>
<view class="presale">
<view class="p" v-html="content"></view>
<view class="p">
<image :src="content"></image>
</view>
</view>
</template>
@ -29,7 +31,7 @@
type: type
})
.then(result => {
this.content = result.data.content[0]
this.content = result.data.imgurl[0]
})
.finally(() => app.isLoading = false)
},

@ -63,7 +63,7 @@
console.log(item)
//
uni.navigateTo({
url: '/pages/goods/detail?goodsId=' + item.category_id
url: '/pages/goods/list?categoryId=' + item.category_id
})
},
goSearch() {
@ -95,11 +95,6 @@
//
console.log(res, '分类数据')
that.tabbar = res.data.list;
// that.isChose = that.menuList[0].category_id;
// that.secondMenu = that.menuList[0].children;
// that.secondChose = that.secondMenu[0].category_id
// that.getSonList(that.secondChose)
// that.hotList = that.menuList[0].
})
.catch(reject)
})
@ -141,14 +136,15 @@
},
//
async leftMenuStatus(index) {
this.current = index;
// 0
if (this.menuHeight == 0 || this.menuItemHeight == 0) {
await this.getElRect('menu-scroll-view', 'menuHeight');
await this.getElRect('u-tab-item', 'menuItemHeight');
}
this.current = index;
// item
this.scrollTop = index * this.menuItemHeight + this.menuItemHeight / 2 - this.menuHeight / 2;
},
// item
getMenuItemTop() {
@ -183,7 +179,7 @@
setTimeout(() => { //
this.timer = null;
// scrollHeight
let scrollHeight = e.detail.scrollTop + this.menuHeight / 2;
let scrollHeight = e.detail.scrollTop;
for (let i = 0; i < this.arr.length; i++) {
let height1 = this.arr[i];
let height2 = this.arr[i + 1];
@ -240,12 +236,11 @@
.u-tab-item {
height: 110rpx;
background: #f6f6f6;
box-sizing: border-box;
display: flex;
align-items: center;
justify-content: center;
font-size: 26rpx;
font-size: 28rpx;
color: #444;
font-weight: 400;
line-height: 1;
@ -254,10 +249,8 @@
.u-tab-item-active {
position: relative;
color: #F21A1C;
font-size: 30rpx;
font-weight: 600;
background: #fff;
// background: #fff;
}
// .u-tab-item-active::before {
@ -278,13 +271,14 @@
}
.page-view {
padding: 16rpx;
padding: 0 16rpx 16rpx;
overflow: hidden;
}
.class-item {
margin-bottom: 30rpx;
margin-bottom: 12rpx;
background-color: #fff;
padding: 16rpx;
padding: 20rpx;
border-radius: 8rpx;
}
@ -293,14 +287,15 @@
}
.item-title {
font-size: 26rpx;
font-size: 28rpx;
color: $u-main-color;
font-weight: bold;
padding: 10rpx;
}
.item-menu-name {
font-weight: normal;
font-size: 24rpx;
font-size: 28rpx;
color: $u-main-color;
}
@ -321,5 +316,6 @@
.item-menu-image {
width: 120rpx;
height: 120rpx;
margin-bottom: 10rpx;
}
</style>

@ -17,7 +17,7 @@
</view>
<u-search shape="round" :disabled="true" placeholder="iPhone 15" bg-color="#ffffff" :show-action="false"></u-search>
</view>
<view class="chat" v-if="current == 0">
<view class="chat" v-if="current == 0" @click="toChat()">
<u-icon name="chat" color="#000000" size="70"></u-icon>
<view class="badge">
4
@ -29,7 +29,7 @@
<view :class="tabCurrent==index?'tabItem active':'tabItem'" @click="changeGoodsType(index)" v-for="(item,index) in tabList" :key="index">
{{item.name}}
<view class="flag" v-if="tabCurrent==index" >
<image :src="$picUrl+'/static/index/line.png'" mode=""></image>
<image :src="$picUrl+'/static/index/line.png'"></image>
</view>
</view>
<!-- <u-tabs :list="tabList" name="name" font-size="28" active-color="#F6393D"
@ -44,7 +44,7 @@
<view class="gridRows">
<view class="gridItem" v-for="(item,index) in gridList" @click="goPage(item.path,item.type)" :key="index">
<view class="imageC">
<image :src="item.image" mode=""></image>
<image :src="item.image"></image>
</view>
<text>{{item.text}}</text>
</view>
@ -52,7 +52,7 @@
<view class="gridRows secondRows" :style="{'height': isToggle == false?'160rpx':'auto'}">
<view class="gridItem" v-for="(item,index) in catagoryList" :key="index">
<view class="imageC">
<image :src="item.image?item.image.external_url:''" mode=""></image>
<image :src="item.image?item.image.external_url:''"></image>
</view>
<text>{{item.name}}</text>
</view>
@ -64,27 +64,27 @@
<u-icon v-else style="margin-left: 10rpx;" name="arrow-up"></u-icon>
</view>
</view>
<view class="firstContent">
<image :src="$picUrl+'/static/index/new.png'" class="firstBg"></image>
<view class="firstContent" @click="goNewUser">
<image :src="$picUrl+'/static/index/new.png'" class="firstBg"></image>
<view class="firstInfo">
<view class="fTitle" @click="goNewUser">
<view class="fTitle">
<image :src="$picUrl+'/static/index/xinren.png'" class="firstTitle"></image>
<text>查看更多</text>
<!-- <text></text> -->
</view>
<view class="couponInfo">
<view class="left">
<text class="flag">¥</text>
<text class="num">2516</text>
<text class="num">{{couList.reduce_price}}</text>
<view class="couponName">
<view>新人券包</view>
<view style="font-size: 20rpx;">领取后7天内有效</view>
<view>{{couList.name}}</view>
<view style="font-size: 20rpx;">领取后{{couList.expire_day}}天内有效</view>
</view>
</view>
<view class="line">
<!-- <view class="line">
</view>
</view> -->
<view class="lingqu">
<view class="lqBtn">去领取</view>
<!-- <view class="lqBtn">去领取</view> -->
</view>
</view>
@ -102,7 +102,7 @@
</view>
<view class="more">查看更多<u-icon style="margin-left:10rpx;" name="arrow-right"></u-icon></view>
<view class="dapaiContent" @click="goBigGoods" v-if="dapaiList.length>0">
<view class="dapaiItem" v-for="(item,index) in dapaiList" :key="index">
<view class="dapaiItem" v-for="(item,index) in dapaiList" :key="index" @click="goJump('/pages/goods/detail?goodsId=' + item.goods_id)">
<view class="picContent">
<image :src="item.goods_image"></image>
</view>
@ -124,17 +124,19 @@
<view class="more">查看更多<u-icon style="margin-left:10rpx;" name="arrow-right"></u-icon></view>
<view class="rest">
<text>本场剩余</text>
<view class="date-time">
<text class="time">02</text>
<text class="da">:</text>
<text class="time">15</text>
<text class="da">:</text>
<text class="time">55</text>
</view>
<u-count-down :timestamp="seckillCutDownTime" format="HH:mm:ss" autoStart @change="onChangeSeckillCutDownTime">
<view class="date-time">
<text class="time">{{timeData.hours>10?timeData.hours:'0'+timeData.hours}}</text>
<text class="da">:</text>
<text class="time">{{ timeData.minutes>10?timeData.minutes:'0'+timeData.minutes}}</text>
<text class="da">:</text>
<text class="time">{{ timeData.seconds>10?timeData.seconds:'0'+timeData.seconds}}</text>
</view>
</u-count-down>
</view>
</view>
<view class="goods-list">
<view class="list" v-for="(item, index) in seckillList" :key="index">
<view class="list" v-for="(item, index) in seckillList" :key="index" @click="goJump('/pages/goods/detail?goodsId=' + item.goods_id)">
<view class="pictrue">
<image :src="item.goods_image"></image>
</view>
@ -166,7 +168,7 @@
<view class="more" @click="goNewGoods">查看更多<u-icon name="arrow-right"></u-icon></view>
<scroll-view scroll-x="true">
<view class="right1Good">
<view class="right1Item" v-for="(item,index) in xinpinList" :key="index">
<view class="right1Item" v-for="(item,index) in xinpinList" :key="index" @click="goJump('/pages/goods/detail?goodsId=' + item.goods_id)">
<image :src="item.goods_image"></image>
<view class="priceBox">
<image :src="$picUrl+'/static/index/price.png'" mode="heightFix"></image>
@ -182,7 +184,7 @@
<image :src="$picUrl+'/static/index/paihangbang.png'" mode="widthFix" @click="rankIng" class="title"></image>
<view class="more" @click="rankIng">查看更多<u-icon name="arrow-right"></u-icon></view>
<view class="right1Good">
<view class="right1Item" v-for="(item,index) in paihangList" :key="index">
<view class="right1Item" v-for="(item,index) in paihangList" :key="index" @click="goJump('/pages/goods/detail?goodsId=' + item.goods_id)">
<image :src="item.goods_image"></image>
<view class="priceBox">
<image :src="$picUrl+'/static/index/price.png'" mode="heightFix"></image>
@ -226,9 +228,6 @@
</view>
</view>
<view v-show="current==1">
<view class="toTop">
<image src="@/static/toTop.png"></image>
</view>
<view class="secondSection">
<image class="shopImage" :src="cityInfo.imageList?cityInfo.imageList[0]:''"></image>
<view class="content">
@ -250,7 +249,7 @@
</view>
</view>
<view class="zixun">
<view class="zixunItem">
<view class="zixunItem" @click="openWx()">
<image src="/static/user/weChat.png" mode="widthFix" class="weChat"></image>
<view class="askText">
咨询
@ -291,20 +290,20 @@
<view class="diannei">
<view class="dianneiTitle">
<text>店内现货</text>
<view class="lookMore">
<view class="lookMore" @click="goJump('/pages/user/vip/goods')">
查看更多
<u-icon name="arrow-right"></u-icon>
<u-icon name="arrow-right" color="#909090"></u-icon>
</view>
</view>
<scroll-view scroll-x="true" style="height: 164rpx;">
<view class="dianneiContent">
<view class="dianneiItem" v-for="(item,index) in dapaiList" :key="index">
<scroll-view class="dianneiContent" scroll-x="true" style="height: 164rpx;">
<view class="dianneiItem" v-for="(item,index) in dapaiList" :key="index" @click="goJump('/pages/goods/detail?goodsId=' + item.goods_id)" >
<image :src="item.goods_image"></image>
<view class="itemTitle">
{{item.goods_name}}
</view>
</view>
</view>
<!-- <view class="dianneiContent">
</view> -->
</scroll-view>
</view>
<view class="diannei">
@ -312,36 +311,36 @@
<text>同城服务</text>
<view class="lookMore">
查看更多
<u-icon name="arrow-right"></u-icon>
<u-icon name="arrow-right" color="#909090"></u-icon>
</view>
</view>
<scroll-view scroll-x="true" style="height: 290rpx;">
<view class="serviceConent">
<view class="serviceItem" v-for="(item,index) in weixiuList" :key="index">
<image :src="item.image" mode=""></image>
<scroll-view class="serviceConent" scroll-x="true" style="height: 260rpx;">
<!-- <view class="serviceConent"> -->
<view class="serviceItem" v-for="(item,index) in serveList" :key="index" @click="openServe(index)">
<image :src="item.image_url" mode=""></image>
<view class="itemTitle">
{{item.name}}
</view>
</view>
</view>
<!-- </view> -->
</scroll-view>
</view>
<view class="comment">
<view class="commentTitle">
<text>门店评价(1)</text>
<!-- <view class="lookMore">
<text>门店评价({{cityInfo.evaluate?cityInfo.evaluate.length:''}})</text>
<view class="lookMore" @click="openPinlun()">
查看更多
<u-icon name="arrow-right"></u-icon>
</view> -->
<u-icon name="arrow-right" color="#909090"></u-icon>
</view>
</view>
<view class="commentItem">
<view class="commentItem" v-for="(a,i) in cityInfo.evaluate" :key="i">
<view class="left">
<view class="commentAvatar">
<image :src="cityInfo.evaluate?cityInfo.evaluate.image:''" mode=""></image>
<text>{{cityInfo.evaluate?cityInfo.evaluate.nickname:''}}</text>
<image :src="a.image" mode=""></image>
<text>{{a.nickname}}</text>
</view>
<view class="commentText">
{{cityInfo.evaluate?cityInfo.evaluate.content:''}}
{{a.content}}
</view>
</view>
<!-- <view class="right">
@ -351,13 +350,13 @@
<view class="commentTitle" style="padding:26rpx 0 16rpx 0;" @click="goJump('/pages/news/consult/store')">
<text>门店相册</text>
<view class="lookMore">
<u-icon name="arrow-right"></u-icon>
<u-icon name="arrow-right" color="#909090"></u-icon>
</view>
</view>
<scroll-view scroll-x="true" style="height: 150rpx;">
<scroll-view scroll-x="true" style="height: 130rpx;">
<view class="commentContent">
<view class="serviceItem" v-for="(item,index) in cityInfo.imageList" :key="index">
<image :src="item.image" mode=""></image>
<view class="serviceItem" v-for="(item,index) in cityInfo.imageList" :key="index" @click="previewImage(index)">
<image :src="item"></image>
</view>
</view>
</scroll-view>
@ -368,7 +367,7 @@
门店历史
</view>
<u-time-line>
<u-time-line-item nodeTop="6" style="display: flex;">
<u-time-line-item nodeTop="6" v-for="(a,i) in cityInfo.history" :key="i" style="display: flex;">
<!-- 此处自定义了左边内容用一个图标替代 -->
<template v-slot:node>
<view class="u-node">
@ -379,9 +378,9 @@
</template>
<template v-slot:content>
<view style="margin-bottom:26rpx">
<view class="u-order-title">{{cityInfo.history?cityInfo.history.time:''}}</view>
<view class="u-order-title" style="margin-top:10rpx">{{a.time}}</view>
<view class="u-order-desc">
{{cityInfo.history?cityInfo.history.contenmt:''}}
{{a.contenmt}}
</view>
</view>
@ -413,17 +412,23 @@
</view>
</view>
</view>
<view class="toTop" v-if="isTop" @click="openScrollTo()">
<image src="@/static/toTop.png"></image>
</view>
</view>
</template>
<script>
import * as GoodsApi from '@/api/home/index.js';
import * as limit from '@/api/sharp/home.js';
import * as Api from '@/api/goods'
import * as activity from '@/api/activity'
import * as newFunApi from '@/api/newFun'
export default{
data(){
return{
isTop:true,
isTop: false,
// background: {
// backgroundColor: 'transparent',
// },
@ -439,41 +444,18 @@
tabCurrent:0,
swiperList:[`${this.$picUrl}/static/index/guanggao.png`],
gridList:[
{image:`${this.$picUrl}/static/index/g1.png`,text:"预售专区",path:'/pages/activity/presale',type:1},
{image:`${this.$picUrl}/static/index/g1.png`,text:"预售专区",path:'/pages/activity/presale',type:2},
{image:`${this.$picUrl}/static/index/g2.png`,text:"邀请有礼",path:'/pages/invite/index',type:1},
{image:`${this.$picUrl}/static/index/g3.png`,text:"领券中心",path:'/pages/news/coupon/index',type:1},
{image:`${this.$picUrl}/static/index/g4.png`,text:"安装报修",path:'/pages/serve/index',type:3},
{image:`${this.$picUrl}/static/index/g5.png`,text:"上门回收",path:'/pages/news/recycling/index',type:1},
{image:`${this.$picUrl}/static/index/g3.png`,text:"领券中心",path:'/pages/news/coupon/index',type:2},
{image:`${this.$picUrl}/static/index/g4.png`,text:"安装报修",path:'/pages/serve/index',type: 3},
{image:`${this.$picUrl}/static/index/g5.png`,text:"上门回收",path:'/pages/news/recycling/index',type:2},
],
catagoryList:[],
paihangList:[],
dapaiList:[],
seckillList:[
// {image:`${this.$picUrl}/static/index/goods1.png`,price:"372",linePrice:'2420'},
// {image:`${this.$picUrl}/static/index/goods.png`,price:"372",linePrice:'2420'},
// {image:`${this.$picUrl}/static/index/goods1.png`,price:"372",linePrice:'2420'},
// {image:`${this.$picUrl}/static/index/goods.png`,price:"372",linePrice:'2420'},
// {image:`${this.$picUrl}/static/index/goods1.png`,price:"372",linePrice:'2420'},
// {image:`${this.$picUrl}/static/index/goods.png`,price:"372",linePrice:'2420'},
// {image:`${this.$picUrl}/static/index/goods1.png`,price:"372",linePrice:'2420'},
],
xinpinList:[
// {image:`${this.$picUrl}/static/index/goods.png`,price:"1428"},
// {image:`${this.$picUrl}/static/index/goods1.png`,price:"1428"},
// {image:`${this.$picUrl}/static/index/goods.png`,price:"1428"},
],
goodsRecommend:[
// {image:`${this.$picUrl}/static/index/goods.png`,price:"7599",linePrice:'7089',name:'iphone13 绿 128GBiphone13 绿 128GBiphone13 绿 128GB',comment:'200+',rate:'99',isOwn:true,isExperss:1},
// {image:`${this.$picUrl}/static/index/goods1.png`,price:"7599",linePrice:'7089',name:'iphone13 绿 128GB',comment:'200+',rate:'99',isOwn:true,isExperss:0},
// {image:`${this.$picUrl}/static/index/goods.png`,price:"7599",linePrice:'7089',name:'iphone13 绿 128GB',comment:'200+',rate:'99',isOwn:true,isExperss:0},
// {image:`${this.$picUrl}/static/index/goods1.png`,price:"7599",linePrice:'7089',name:'iphone13 绿 128GB',comment:'200+',rate:'99',isOwn:true,isExperss:1},
// {image:`${this.$picUrl}/static/index/goods.png`,price:"7599",linePrice:'7089',name:'iphone13 绿 128GB',comment:'200+',rate:'99',isOwn:true,isExperss:0},
// {image:`${this.$picUrl}/static/index/goods1.png`,price:"7599",linePrice:'7089',name:'iphone13 绿 128GB',comment:'200+',rate:'99',isOwn:true,isExperss:1},
// {image:`${this.$picUrl}/static/index/goods.png`,price:"7599",linePrice:'7089',name:'iphone13 绿 128GB',comment:'200+',rate:'99',isOwn:true,isExperss:1},
// {image:`${this.$picUrl}/static/index/goods1.png`,price:"7599",linePrice:'7089',name:'iphone13 绿 128GB',comment:'200+',rate:'99',isOwn:true,isExperss:1},
// {image:`${this.$picUrl}/static/index/goods.png`,price:"7599",linePrice:'7089',name:'iphone13 绿 128GB',comment:'200+',rate:'99',isOwn:true,isExperss:1},
],
seckillList:[],
xinpinList:[],
goodsRecommend:[],
isToggle: false,
//
count: 4,
@ -493,24 +475,80 @@
{image:`${this.$picUrl}/static/index/goods.png`,price:"7599",linePrice:'7089',name:'iphone13 绿色 128GB',comment:'200+',rate:'99',isOwn:true,isExperss:1},
],
weixiuList:[
{image:`/static/weixiu.png`,name:'维修'},
{image:`/static/weixiu.png`,name:'安装'},
{image:`/static/weixiu.png`,name:'维修'},
],
commentList:[
{image:`/static/11.png`,name:'维修'},
{image:`/static/11.png`,name:'维修'},
{image:`/static/11.png`,name:'维修'},
{image:`/static/11.png`,name:'维修'},
],
cityInfo:{
}
cityInfo:{},
serveList: [],
couList: [],
timeData: {},
}
},
methods:{
onChangeSeckillCutDownTime(e){
this.timeData = e
},
//
toChat() {
if(!uni.getStorageSync("AccessToken")){
uni.navigateTo({
url: "/pages/login/index"
})
return ;
}
uni.navigateTo({
url: "/pages/news/user/message"
})
},
//
openPinlun(){
uni.navigateTo({
url: "/pages/news/consult/comment"
})
},
//
openWx(){
uni.navigateTo({
url: "/pages/news/consult/index"
})
},
//
previewImage(i){
uni.previewImage({
current: this.cityInfo.imageList[i],
urls: this.cityInfo.imageList
})
},
//
openServe(i){
uni.navigateTo({
url: "/pages/activity/intimate?index="+ i
})
},
/**
* 获取服务列表
*/
async getServeList() {
const {status, message, data} = await newFunApi.serverCategoryList({});
if(status == 200){
this.serveList = data.list
}
},
//
async getCoupons() {
const {
status,
message,
data
} = await activity.couponList();
if (status == 200) {
let arr = {}
if(data.list && data.list.length > 0){
arr = data.list.filter(a=>a.coupon_type == 10)[0]
}
this.couList = arr
}
},
search() {
//
uni.navigateTo({
@ -536,6 +574,10 @@
})
return ;
}
}else if(type == 2){
uni.navigateTo({
url
})
}else{
uni.switchTab({
url
@ -547,7 +589,6 @@
})
},
changeGoodsType(index) {
console.log(index,"00",this.tabList)
this.tabCurrent = index;
this.catagoryList = this.tabList[index].children;
this.getRankingList(this.tabList[index].category_id)
@ -582,7 +623,10 @@
limit.data().then(result => {
let seckillList = [];
if(result.data.tabbar && result.data.tabbar.length > 0){
this.seckillCutDownTime = result.data.tabbar[0].count_down_time;
let count_down_time = result.data.tabbar[0].count_down_time.replace(/-/g, '/');
this.seckillCutDownTime = Math.ceil((new Date(count_down_time).getTime() - new Date().getTime()));
}else{
this.seckillCutDownTime = 0
}
if(result.data.goodsList && result.data.goodsList.data.length > 0){
seckillList = result.data.goodsList.data;
@ -704,14 +748,14 @@
})
},
changeHome(val){
console.log(val,"000")
this.current = val;
},
getCityInfo(){
const that =this
GoodsApi.cityInfo().then(res => {
if (res.status == 200) {
that.cityInfo = res.data
that.cityInfo = res.data;
uni.setStorageSync("cityInfo",res.data)
}
})
.finally(() => {})
@ -728,8 +772,13 @@
},
openMap() {
uni.openLocation({
latitude: this.cityInfo.latitude,
longitude: this.cityInfo.longitude
latitude: Number(this.cityInfo.latitude),
longitude: Number(this.cityInfo.longitude)
})
},
openScrollTo(){
uni.pageScrollTo({
scrollTop: 0
})
},
},
@ -738,14 +787,14 @@
this.getSeckill()
this.getSuggest()
this.getCityInfo()
this.getCoupons();
this.getServeList();
},
onPageScroll(e) {
if (e.scrollTop === 0 ) { // true
this.isTop = true
if (e.scrollTop <= 200 ) { // true
this.isTop = false
} else {
this.isTop = false
this.isTop = true
}
},
}
@ -988,7 +1037,7 @@
display: flex;
justify-content:center;
align-items: center;
margin-top:24rpx;
margin-top: 50rpx;
.flag{
font-size: 46rpx;
font-family: PingFang SC, PingFang SC;
@ -1151,11 +1200,13 @@
}
}
.qianggou{
padding:10rpx 20rpx;
width: 694rpx;
height: 234rpx;
padding: 10rpx 20rpx;
background: linear-gradient(180deg, #FFF8F8 0%, #FFFFFF 100%);
border-radius: 4px 4px 4px 4px;
opacity: 1;
margin-top:18rpx;
border-radius: 8rpx;
margin-top: 18rpx;
box-sizing: border-box;
position: relative;
.more{
font-size: 20rpx;
@ -1168,7 +1219,6 @@
.title{
display: flex;
align-items: center;
justify-content: space-between;
&>image{
width:160rpx;
height:auto;
@ -1440,6 +1490,7 @@
}
.secondSection{
padding-bottom: 40rpx;
margin-top: 20rpx;
.shopImage{
height:484rpx;
width:100%;
@ -1596,10 +1647,8 @@
}
}
.diannei{
padding:20rpx;
padding:10rpx 26rpx;
margin-top:10rpx;
margin: 10rpx 26rpx 0 26rpx;
margin: 20rpx 26rpx 0 26rpx;
background: #fff;
border-radius: 4px 4px 4px 4px;
.dianneiTitle{
@ -1621,12 +1670,17 @@
}
.dianneiContent{
display: flex;
align-items: center;
flex-wrap: nowrap;
white-space: nowrap;
margin-top:14rpx;
.lookMore{
font-size: 24rpx;
font-weight: 400;
color: #909090;
}
.dianneiItem{
width: 20%;
text-align: center;
display: inline-block;
image{
width:104rpx;
height:104rpx;
@ -1645,15 +1699,12 @@
}
}
.serviceConent{
display: flex;
align-items: center;
flex-wrap: nowrap;
white-space: nowrap;
margin-top:26rpx;
.serviceItem{
width: 32%;
// width: 202rpx;
width: 202rpx;
height: 246rpx;
display: inline-block;
position: relative;
margin-right: 26rpx;
// justify-content: space-between;
@ -1682,12 +1733,15 @@
}
}
.comment{
padding:20rpx;
padding:44rpx 40rpx;
margin-top:10rpx;
margin: 10rpx 26rpx 0 26rpx;
margin: 20rpx 26rpx 0 26rpx;
background: #fff;
border-radius: 4px 4px 4px 4px;
.lookMore{
font-size: 24rpx;
font-weight: 400;
color: #909090;
}
.commentTitle{
display:flex;
align-items: center;
@ -1753,7 +1807,7 @@
display: flex;
flex-wrap: nowrap;
.serviceItem{
width: 200rpx;
width: 196rpx;
height: 140rpx;
border-radius:4px;
opacity: 1;
@ -1769,12 +1823,9 @@
}
}
.history{
background: #FFFFFF;
border-radius: 4px 4px 4px 4px;
opacity: 1;
margin-top:16rpx;
margin:16rpx 26rpx;
margin: 20rpx 26rpx;
padding:20rpx 34rpx;
.title{
@ -1793,10 +1844,9 @@
opacity: 1;
border: 2px solid #F21C1C;
margin-top:10rpx;
margin-right:20rpx;
margin-right:0;
}
.u-order-title{
font-size: 24rpx;
font-family: PingFang SC, PingFang SC;
font-weight: 400;

@ -4,21 +4,21 @@
<u-navbar title="联系我们" :border-bottom="false" :background="background"></u-navbar>
</view>
<view class="park-hd">
<image :src="$picUrl+'/static/home/phone.jpg'"></image>
<view class="a">昆明湖店·YN_k121</view>
<view class="b"><u-icon name="map" style="margin-right: 10rpx; margin-top: 10rpx;"></u-icon>2线2600m</view>
<image :src="cityInfo.imageList?cityInfo.imageList[0]:''"></image>
<view class="a">{{cityInfo.shop_name}}</view>
<view class="b" @click="openMap()"><u-icon name="map" style="margin-right: 10rpx; margin-top: 10rpx;"></u-icon>{{cityInfo.address}}</view>
</view>
<view class="park-bd">
<view class="a">联系电话</view>
<view class="b">18020890980<image :src="$picUrl+'/static/news/tel.png'"></image></view>
<view class="b">{{cityInfo.phone}}<image :src="$picUrl+'/static/news/tel.png'" @click="callPhone()"></image></view>
</view>
<view class="park-fd">
<image :src="$picUrl+'/static/home/phone.jpg'"></image>
<image :src="cityInfo.wechat"></image>
<view class="txt">长按识别二维码</view>
<view class="txt">添加我的微信</view>
</view>
<view class="park-btn">
<view class="btn">编辑信息</view>
<view class="park-btn" v-if="userInfo.user_type==40">
<view class="btn" @click="toEdit">编辑信息</view>
</view>
</view>
</template>
@ -34,10 +34,31 @@
// background: 'url('+ img+') center top no-repeat',
backgroundSize: '100%',
},
cityInfo: {},
userInfo: {}
}
},
onLoad() {
this.cityInfo = uni.getStorageSync("cityInfo");
this.userInfo = uni.getStorageSync("userInfo");
},
methods: {
callPhone() {
uni.makePhoneCall({
phoneNumber: this.cityInfo.phone
})
},
openMap() {
uni.openLocation({
latitude: Number(this.cityInfo.latitude),
longitude: Number(this.cityInfo.longitude)
})
},
toEdit() {
uni.navigateTo({
url: "/pages/news/park/personal"
})
},
}
}
</script>

@ -1,13 +1,13 @@
<template>
<view class="comment">
<view class="item" v-for="i in 10" :key="i">
<view class="item" v-for="(a,i) in cityInfo.evaluate">
<view class="avater">
<image :src="$picUrl+'/static/news/avater.png'"></image>
<image :src="a.image"></image>
</view>
<view class="info">
<view class="a">Shark特<text>10分钟前</text></view>
<view class="b">非常棒讲解细致下次还来</view>
<view class="c">
<view class="a">{{a.nickname}}<text v-if="false">10分钟前</text></view>
<view class="b">{{a.content}}</view>
<view class="c" v-if="false">
<image v-for="o in 3" :key="o" :src="$picUrl+'/static/home/phone.jpg'"></image>
</view>
</view>
@ -19,8 +19,11 @@
export default {
data() {
return {
cityInfo: {}
};
},
onLoad() {
this.cityInfo = uni.getStorageSync("cityInfo")
}
}
</script>

@ -4,17 +4,17 @@
<u-navbar title="咨询" :border-bottom="false" :background="background"></u-navbar>
</view>
<view class="park-hd">
<image :src="$picUrl+'/static/home/phone.jpg'"></image>
<view class="a">昆明湖店·YN_k121</view>
<view class="b"><u-icon name="map" style="margin-right: 10rpx; margin-top: 10rpx;"></u-icon>2线2600m</view>
<image :src="cityInfo.imageList?cityInfo.imageList[0]:''"></image>
<view class="a">{{cityInfo.shop_name}}</view>
<view class="b" @click="openMap()"><u-icon name="map" style="margin-right: 10rpx; margin-top: 10rpx;"></u-icon>{{cityInfo.address}}</view>
</view>
<view class="park-bd">
<view class="item"><text>1406</text>服务总时长</view>
<view class="item"><text>7606</text>服务总数</view>
<view class="item"><text>0</text>为我服务次数</view>
<view class="item"><text>{{cityInfo.fuwu_hours}}</text>服务总时长</view>
<view class="item"><text>{{cityInfo.fuwu_num}}</text>服务总数</view>
<view class="item"><text>{{cityInfo.star}}</text>为我服务次数</view>
</view>
<view class="park-fd">
<image :src="$picUrl+'/static/home/phone.jpg'"></image>
<image :src="cityInfo.wechat"></image>
<view class="txt">长按识别二维码</view>
<view class="txt">添加我的微信</view>
</view>
@ -32,10 +32,19 @@
// background: 'url('+ img+') center top no-repeat',
backgroundSize: '100%',
},
cityInfo: {},
}
},
onLoad() {
this.cityInfo = uni.getStorageSync("cityInfo")
},
methods: {
openMap() {
uni.openLocation({
latitude: Number(this.cityInfo.latitude),
longitude: Number(this.cityInfo.longitude)
})
},
}
}
</script>

@ -1,7 +1,7 @@
<template>
<view class="comment">
<view class="item" v-for="i in 20" :key="i">
<image :src="$picUrl+'/static/home/ranking.png'"></image>
<view class="item" v-for="(a,i) in cityInfo.imageList" :key="i" @click="previewImage(i)">
<image :src="a"></image>
</view>
</view>
</template>
@ -10,8 +10,20 @@
export default {
data() {
return {
cityInfo: {},
};
},
onLoad() {
this.cityInfo = uni.getStorageSync("cityInfo")
},
methods: {
//
previewImage(i){
uni.previewImage({
current: this.cityInfo.imageList[i],
urls: this.cityInfo.imageList
})
},
}
}
</script>

@ -4,20 +4,16 @@
<u-navbar title="停车指引" :border-bottom="false" :background="background"></u-navbar>
</view>
<view class="park-hd">
<view class="a">昆明湖店·YN_k121</view>
<view class="b"><u-icon name="map" style="margin-right: 10rpx;"></u-icon>2线2600m</view>
<view class="a">{{cityInfo.shop_name}}</view>
<view class="b"><u-icon name="map" style="margin-right: 10rpx;"></u-icon>{{cityInfo.address}}</view>
</view>
<view class="park-bd">
<view class="a">停车攻略</view>
<view class="b">
<view class="store">昆明湖店广场地下停车场<text>推荐</text></view>
<view class="btn">导航</view>
</view>
<view class="c">
<view class="p"><text>价格:</text>购物免费停车2小时超出部份收取3元/小时</view>
<view class="p"><text>特点:</text>长时间停留推荐相对安全可享免费停车两小时</view>
<view class="p"><text>详细:</text>佰腾数码广场楼下有地下停车场停车场车位不少且出门即可乘坐电梯至门店但节假日等高峰期车位较为紧张</view>
<view class="store">{{cityInfo.parking_name}}<text>推荐</text></view>
<view class="btn" @click="openMap()">导航</view>
</view>
<view class="c" v-html="cityInfo.parking_desc"></view>
</view>
</view>
</template>
@ -33,10 +29,19 @@
// background: 'url('+ img+') center top no-repeat',
backgroundSize: '100%',
},
cityInfo: {},
}
},
onLoad() {
this.cityInfo = uni.getStorageSync("cityInfo");
},
methods: {
openMap() {
uni.openLocation({
latitude: Number(this.cityInfo.latitude),
longitude: Number(this.cityInfo.longitude)
})
},
}
}
</script>

@ -5,11 +5,11 @@
<view class="group">
<image :src="$picUrl+'/static/serve/right.png'" class="tip tipImg"></image>
<text lines="1" class="groupText">不满意重做</text>
<image :src="$picUrl+'/static/serve/right.png'" class="tip"></image>
<image :src="$picUrl+'/static/serve/right1.png'" class="tip"></image>
<text lines="1" class="groupText">7x24小时服务</text>
<image :src="$picUrl+'/static/serve/right.png'" class="tip"></image>
<image :src="$picUrl+'/static/serve/right2.png'" class="tip"></image>
<text lines="1" class="groupText">全场保障</text>
<image :src="$picUrl+'/static/serve/right.png'" class="tip"></image>
<image :src="$picUrl+'/static/serve/right3.png'" class="tip"></image>
<text lines="1" class="groupText">专业服务</text>
</view>
</view>
@ -41,7 +41,7 @@
<text class="listText">支付订单</text>
<text class="listText">服务评价</text>
</view>
<view class="member" @click="goMember" v-if="userInfo.grade_id == 0">
<view class="member" @click="goMember" v-if="!userInfo == false || userInfo.grade_id == 0">
<view class="memberCenter">
会员中心
</view>
@ -72,7 +72,7 @@
this.getList();
},
onShow() {
this.userInfo = uni.getStorageSync("userInfo")?uni.getStorageSync("userInfo"):{}
this.userInfo = uni.getStorageSync("userInfo")?uni.getStorageSync("userInfo"): ""
},
methods:{
openPage1(){
@ -110,35 +110,38 @@
</script>
<style lang="scss" scoped>
.serve {
height: 100%;
width: 100%;
background-color: #F7F8FA;
padding-bottom: 30rpx;
overflow: hidden;
.heade {
width: 100%;
height: 360rpx;
height: 396rpx;
background-color: #fff;
padding-top: 28rpx;
box-sizing: border-box;
.headImage {
width: 690rpx;
height: 264rpx;
margin: 28rpx 0 0 34rpx;
display: block;
margin: 0 auto 0;
}
.group {
display: flex;
align-items: center;
margin-top: 28rpx;
.tip {
width: 42rpx;
height: 42rpx;
}
.tipImg{
margin-left: 24rpx;
width: 40rpx;
height: 40rpx;
margin-left: 10rpx;
margin-right: 10rpx;
&:first-child{
margin-left: 20rpx;
}
}
.groupText {
height: 34rpx;
font-size: 24rpx;
font-family: PingFang SC, PingFang SC;
font-weight: 400;
color: #444444;
line-height: 34rpx;
@ -151,7 +154,6 @@
height: 246rpx;
background: #FFFFFF;
border-radius: 8rpx 8rpx 8rpx 8rpx;
opacity: 1;
left: 0;
right: 0;
margin: auto;
@ -160,7 +162,6 @@
.serveTitle {
height: 40rpx;
font-size: 28rpx;
font-family: PingFang SC, PingFang SC;
font-weight: 500;
color: #000000;
line-height: 40rpx;
@ -171,28 +172,28 @@
white-space: nowrap;
.listItem {
width: 100rpx;
height: 100rpx;
display: inline-block;
text-align: center;
align-items: center;
margin-left: 20rpx;
text-align: center;
&:first-child{
margin-left: 0;
}
.itemImage {
width: 56rpx;
height: 56rpx;
margin-bottom: 16rpx;
margin: 0 auto 16rpx;
}
.itemText {
width: 100rpx;
height: 34rpx;
font-size: 24rpx;
font-family: PingFang SC, PingFang SC;
font-weight: 400;
color: #565656;
line-height: 34rpx;
white-space: nowrap;
overflow: hidden;
}
}
}
@ -200,7 +201,7 @@
.flowPath {
width: 704rpx;
height: 534rpx;
max-height: 534rpx;
left: 0;
right: 0;
margin: auto;
@ -208,32 +209,28 @@
border-radius: 8rpx 8rpx 8rpx 8rpx;
opacity: 1;
margin-top: 14rpx;
padding-top: 24rpx;
padding: 24rpx;
box-sizing: border-box;
.flowTitle {
margin: 0 0 0 26rpx;
height: 40rpx;
font-size: 28rpx;
font-family: PingFang SC, PingFang SC;
font-weight: 500;
color: #000000;
line-height: 40rpx;
.services {
margin-left: 14rpx;
font-size: 24rpx;
font-family: PingFang SC, PingFang SC;
font-weight: 400;
color: #565656;
}
}
.flowImage {
margin-top: 42rpx;
width: 592rpx;
height: 74rpx;
margin-left: 60rpx;
display: block;
margin: 0 auto;
margin-top: 42rpx;
image {
width: 100%;
height: 100%;
@ -241,16 +238,14 @@
}
.flowList {
;
width: 678rpx;
height: 34rpx;
line-height: 34rpx;
left: 0;
right: 0;
margin: auto;
margin-left: 54rpx;
display: flex;
// justify-content: space-around;
justify-content: center;
margin-top: 18rpx;
.listText {
@ -267,57 +262,46 @@
height: 214rpx;
background-image: url('https://www.saas.njrenzhou.com/static/serve/member.png');
background-size: 100% 100%;
margin: 50rpx 0 0 36rpx;
padding-top: 28rpx;
padding: 28rpx;
margin-top: 50rpx;
.memberCenter {
height: 40rpx;
font-size: 28rpx;
font-family: PingFang SC, PingFang SC;
font-weight: 600;
color: #966542;
line-height: 40rpx;
margin: 0 0 0 32rpx;
line-height: 50rpx;
}
.power {
margin: 4rpx 0 0 32rpx;
height: 28rpx;
margin-top: 4rpx;
font-size: 20rpx;
font-family: PingFang SC, PingFang SC;
font-weight: 400;
color: #966542;
line-height: 28rpx;
line-height: 40rpx;
}
.opera {
margin: 24rpx 0 0 32rpx;
margin-top: 14rpx;
font-size: 24rpx;
font-family: PingFang SC, PingFang SC;
font-weight: 400;
color: #9F744D;
line-height: 28rpx;
display: flex;
align-items: center;
.number {
font-size: 52rpx;
font-family: PingFang SC, PingFang SC;
font-weight: 600;
color: #9C714A;
line-height: 61rpx;
}
.operaBtn {
margin-left: 14rpx;
width: 138rpx;
height: 60rpx;
background: #9F744D;
border-radius: 82rpx 82rpx 82rpx 82rpx;
opacity: 1;
border-radius: 82rpx;
text-align: center;
line-height: 54rpx;
line-height: 60rpx;
font-size: 24rpx;
font-family: PingFang SC, PingFang SC;
font-weight: 500;
color: #FFFFFF;
}

@ -10,8 +10,8 @@
</view>
<scroll-view scroll-x class="goods-menu">
<view class="item" @click="tabItem1(item,index)" v-for="(item,index) in categoryList" :key="index"
:class="tabIndex1==item?'item-on':''">
<image v-if="item.image" :src="item.image.external_url"></image>
:class="tabIndex1==index?'item-on':''">
<image :src="item.image?item.image.external_url:''"></image>
<view class="p">{{item.name}}</view>
</view>
</scroll-view>
@ -59,7 +59,7 @@
},
//
isLoading: true,
tabIndex1: 1,
tabIndex1: 0,
tabIndex: 0,
filterIndex: 0,
keyword: "",
@ -114,7 +114,16 @@
}
Api.brandList(pamars)
.then(result => {
app.list = result.data.data;
let arr = result.data.data;
if(arr && arr.length > 0){
arr.map(a=>{
a.goods_price_min = Number(a.goods_price_min)
a.goods_price_max = Number(a.goods_price_max)
a.line_price_min = Number(a.line_price_min)
a.line_price_max = Number(a.line_price_max)
})
}
app.list = arr
})
.finally(() => app.isLoading = false)
},

Loading…
Cancel
Save