界面更改

This commit is contained in:
jia 2023-09-25 09:27:16 +08:00
parent cec9c9720e
commit 4c01652089
55 changed files with 5312 additions and 6848 deletions

View File

@ -209,7 +209,11 @@
//#endif
// if (info.referrerInfo?.extraData?.uniMP) {
// uni.setStorageSync('uniMP', info.referrerInfo?.extraData?.uniMP);
// uni.setStorageSync('APP_token', info.referrerInfo?.extraData?.token);
// }
},
@ -391,7 +395,7 @@
font-size: 24rpx;
&_icon {
background-image: url('static/tabbar_icon/d.png');
// background-image: url('static/tabbar_icon/d.png');
background-repeat: no-repeat;
background-size: cover;
font-size: 80rpx;

View File

@ -291,3 +291,17 @@ export function village(data) {
export function brigade(data) {
return request.get('v2/system/brigade', data, { noAuth: true });
}
/*
生产 -- 获取商户保证金信息支付接口
*/
export function paymerchant() {
return request.post(`user/margin`,{});
}
/*
生产 -- 获取商户保证金信息接口
*/
export function merchant(data) {
return request.get(`store/merchant/margin`, data);
}

View File

@ -303,8 +303,8 @@ export function getDeliveryType(merId) {
/*
商品 -- 获取交易协议内容
*/
export function business() {
return request.get(`business/agree?type=business_apply_agree`, {}, {
export function business(data) {
return request.get(`business/agree`, data, {
noAuth: true
});
}
@ -319,5 +319,5 @@ export function intention(data) {
商品 -- 同意提交申请
*/
export function intentionbus(data) {
return request.post(`intention/business`, {});
return request.post(`intention/business`, data);
}

View File

@ -577,6 +577,6 @@ export function vicinityStoreApi(data) {
/*
商家入驻 -- 获取商户入驻申请协议内容
*/
export function agreeiness() {
return request.get(`business/agree?type=sys_intention_agree`, {}, { noAuth: true });
export function agreeiness(data) {
return request.get(`business/agree`, data, { noAuth: true });
}

View File

@ -3,53 +3,80 @@
<view class='pictrue'>
<easy-loadimage mode="widthFix" :image-src="item.image"></easy-loadimage>
<view v-if="item.stock == 0" class="sell_out">已售罄</view>
<view v-if="item.border_pic" :style="{ backgroundImage: `url(${item.border_pic})` }" class="border-picture"></view>
<view v-if="item.border_pic" :style="{ backgroundImage: `url(${item.border_pic})` }" class="border-picture">
</view>
</view>
<view class="text">
<view class='name line2'>{{item.store_name}}</view>
<view class="acea-row row-middle">
<view class='money'><text class='num'>{{item.price}}</text></view>
</view>
<view v-if="item.show_svip_info && item.show_svip_info.show_svip_price && item.svip_price" class="acea-row row-middle svip">
<view v-if="item.show_svip_info && item.show_svip_info.show_svip_price && item.svip_price"
class="acea-row row-middle svip">
<text class='vip-money'>{{item.svip_price}}</text>
<view class="vipImg">
<image src="/static/images/svip.png"></image>
</view>
</view>
<view class="item_tags">
<text v-if="item.product_type == 0 && item.merchant.type_name" class="font-bg-red b-color">{{item.merchant.type_name}}</text>
<text v-else-if="item.product_type == 0 && item.merchant.is_trader" class="font-bg-red b-color">自营</text>
<text v-if="item.product_type != 0" :class="'font_bg-red type'+item.product_type">{{item.product_type == 1 ? "秒杀" : item.product_type == 2 ? "预售" : item.product_type == 3 ? "助力" : item.product_type == 4 ? "拼团" : ""}}</text>
<text v-if="item.product_type == 0 && item.merchant.type_name"
class="font-bg-red b-color">{{item.merchant.type_name}}</text>
<text v-else-if="item.product_type == 0 && item.merchant.is_trader"
class="font-bg-red b-color">自营</text>
<text v-if="item.product_type != 0"
:class="'font_bg-red type'+item.product_type">{{item.product_type == 1 ? "秒杀" : item.product_type == 2 ? "预售" : item.product_type == 3 ? "助力" : item.product_type == 4 ? "拼团" : ""}}</text>
<text class="tags_item ticket" v-if="item.issetCoupon">领券</text>
<text class="tags_item delivery" v-if="item.delivery_free == 1">包邮</text>
</view>
</view>
</view>
<view v-else-if="type == 1" class="wf-page1" :style="viewColor">
<view class='pictrue'>
<easy-loadimage mode="widthFix" :image-src="item.image"></easy-loadimage>
<view v-if="item.stock == 0" class="sell_out">已售罄</view>
<view v-if="item.border_pic" :style="{ backgroundImage: `url(${item.border_pic})` }" class="border-picture"></view>
<view v-if="item.border_pic" :style="{ backgroundImage: `url(${item.border_pic})` }" class="border-picture">
</view>
</view>
<view class='text'>
<view class='name line2'>{{item.store_name}}</view>
<view class="score"><span
style="font-size: 23rpx;font-family: PingFang SC-Semibold, PingFang SC;font-weight: 600;color: #F84221;margin-right: 28rpx;">{{item.rate}}</span>
{{item.reply_count}}条评论</view>
<view class="" style="display: flex;justify-content: space-between;">
<view class='money'>
<text class='num'>{{item.price}}</text>
<span style="font-size:30rpx;"></span>
<text class='num'><span style="font-size: 35rpx;">{{item.price.split('.')[0]}}.</span><span
style="font-size: 20rpx;">{{item.price.split('.')[1]}}</span></text>
</view>
<view v-if="item.show_svip_info.show_svip && item.show_svip_info.show_svip_price" class="acea-row row-middle svip">
<view class="items-img">
<image src="@/static/images/LHYC/J.png" mode="aspectFit"></image>
</view>
</view>
<view v-if="item.show_svip_info.show_svip && item.show_svip_info.show_svip_price"
class="acea-row row-middle svip">
<text class='vip-money'>{{item.svip_price}}</text>
<view class="vipImg">
<image src="/static/images/svip.png"></image>
</view>
</view>
<view class="item_tags acea-row">
<text v-if="item.merchant.type_name && item.product_type == 0" class="font-bg-red b-color">{{item.merchant.type_name}}</text>
<text v-else-if="item.merchant.is_trader && item.product_type == 0" class="font-bg-red b-color">自营</text>
<text v-if="item.product_type != 0" :class="'font_bg-red type'+item.product_type">{{item.product_type == 1 ? "秒杀" : item.product_type == 2 ? "预售" : item.product_type == 3 ? "助力" : item.product_type == 4 ? "拼团" : ""}}</text>
<text v-if="item.merchant.type_name && item.product_type == 0"
class="font-bg-red b-color">{{item.merchant.type_name}}</text>
<text v-else-if="item.merchant.is_trader && item.product_type == 0"
class="font-bg-red b-color">自营</text>
<text v-if="item.product_type != 0"
:class="'font_bg-red type'+item.product_type">{{item.product_type == 1 ? "秒杀" : item.product_type == 2 ? "预售" : item.product_type == 3 ? "助力" : item.product_type == 4 ? "拼团" : ""}}</text>
<text class="tags_item ticket" v-if="item.issetCoupon">领券</text>
<text class="tags_item delivery" v-if="item.delivery_free == 1">包邮</text>
</view>
<view class="score">{{item.rate}}评分 {{item.reply_count}}条评论</view>
<view class="company" v-if="item.merchant" @click.stop="goShop(item.merchant.mer_id)">
<text class="line1">{{item.merchant.mer_name}}</text>
<view class="flex" v-if="isStore != '1'">
@ -70,9 +97,13 @@
<script>
import easyLoadimage from '@/components/easy-loadimage/easy-loadimage.vue'
import {mapGetters} from "vuex";
import {
mapGetters
} from "vuex";
export default {
components:{easyLoadimage},
components: {
easyLoadimage
},
computed: mapGetters(['viewColor']),
props: {
item: {
@ -93,8 +124,7 @@ export default {
}
},
data() {
return {
}
return {}
},
methods: {
goShop(id) {
@ -108,15 +138,25 @@ export default {
}
}
}
</script>
<style lang="scss" scoped>
.items-img {
width: 44rpx;
height: 44rpx;
image {
width: 100%;
height: 100%;
}
}
.wf-item-page {
background: #fff;
overflow: hidden;
border-radius: 16rpx;
padding-bottom: 20rpx;
}
.wf-page0 .coupon {
background: rgba(255, 248, 247, 1);
border: 1px solid rgba(233, 51, 35, 1);
@ -125,14 +165,19 @@ export default {
margin-left: 18rpx;
padding: 1rpx 4rpx;
}
.wf-page0 .pictrue {
width: 100% !important;
height: 345rpx;
position: relative;
/deep/image,/deep/.easy-loadimage,uni-image{
/deep/image,
/deep/.easy-loadimage,
uni-image {
height: 345rpx;
border-radius: 16rpx 16rpx 0 0;
}
.border-picture {
position: absolute;
top: 0;
@ -143,29 +188,35 @@ export default {
background: center/cover no-repeat;
}
}
.loadfail-img {
width: 100%;
height: 360rpx;
}
.svip {
margin: 5rpx 0 15rpx;
}
.vip-money {
color: #282828;
font-size: 22rpx;
margin-left: 6rpx;
font-weight: bold;
}
.vipImg {
width: 65rpx;
height: 28rpx;
margin-left: 4rpx;
image {
width: 100%;
height: 100%;
display: block;
}
}
.wf-page0 .name {
color: #282828;
margin: 20rpx 0 10rpx 0;
@ -177,21 +228,25 @@ export default {
-webkit-box-orient: vertical;
text-align: left;
}
.wf-page0 .text {
padding: 0 20rpx;
}
.wf-page0 .money {
font-size: 20rpx;
font-weight: bold;
color: var(--view-priceColor);
}
.b-color {
background-color: var(--view-theme);
border: 1px solid var(--view-theme);
}
.wf-page0 .money .num {
font-size: 34rpx;
}
.wf-page1 .wf-item {
.name {
font-size: 13px;
@ -203,14 +258,19 @@ export default {
text-align: left;
}
}
.wf-page1 .pictrue {
position: relative;
height: 345rpx;
width: 100% !important;
/deep/image,/deep/.easy-loadimage,uni-image{
/deep/image,
/deep/.easy-loadimage,
uni-image {
height: 345rpx;
border-radius: 20rpx 20rpx 0 0;
}
.border-picture {
position: absolute;
top: 0;
@ -222,6 +282,7 @@ export default {
}
}
.sell_out {
display: flex;
width: 150rpx;
@ -236,6 +297,7 @@ export default {
top: 50%;
left: 50%;
margin: -75rpx 0 0 -75rpx;
&::before {
content: "";
display: block;
@ -248,15 +310,18 @@ export default {
left: 5rpx;
}
}
.loading-img {
height: 345rpx;
max-height: 360rpx;
}
.wf-page1 .text {
padding: 20rpx 17rpx 26rpx 17rpx;
font-size: 30rpx;
color: #222;
}
.wf-page1 .text .money {
display: flex;
align-items: center;
@ -265,13 +330,16 @@ export default {
margin-top: 8rpx;
color: var(--view-priceColor);
}
.wf-page1 .text .money .num {
font-size: 34rpx;
}
.item_tags {
margin-top: 8rpx;
display: flex;
}
.item_tags .tags_item {
display: flex;
font-size: 20rpx;
@ -283,14 +351,17 @@ export default {
justify-content: center;
margin-right: 8rpx;
}
.item_tags .tags_item.ticket {
color: var(--view-theme);
border: 1px solid var(--view-theme);
}
.item_tags .tags_item.delivery {
color: #FF9000;
border: 1px solid #FF9000;
}
.wf-page1 .text .money .ticket-big {
display: flex;
align-items: center;
@ -304,31 +375,37 @@ export default {
font-size: 20rpx;
font-weight: normal;
}
.wf-page1 .text .score {
margin-top: 10rpx;
color: #737373;
color: #B3B3B3;
font-size: 20rpx;
}
.wf-page1 .text .company {
display: flex;
align-items: center;
color: #737373;
font-size: 20rpx;
margin-top: 10rpx;
.line1 {
max-width: 200rpx;
}
.flex {
display: flex;
align-items: center;
margin-left: 10rpx;
color: #282828;
.iconfont {
font-size: 16rpx;
margin-top: 4rpx;
}
}
}
.foot-bar {
width: 100%;
height: 52rpx;
@ -339,6 +416,7 @@ export default {
border-radius: 0px 0px 16rpx 16rpx;
color: #fff;
font-size: 24rpx;
.icon-fenxiang {
font-size: 24rpx;
margin-right: 10rpx;

View File

@ -28,14 +28,14 @@
// },
// // #endif
//pageshttps://uniapp.dcloud.io/collocation/pages
{
"path": "pages/moreProject/moreProject",
"style": {
"navigationBarTitleText": "更多功能",
"enablePullDownRefresh": false
}
// {
// "path": "pages/moreProject/moreProject",
// "style": {
// "navigationBarTitleText": "更多功能",
// "enablePullDownRefresh": false
// }
},
// },
{
"path": "pages/index/index",
@ -52,20 +52,40 @@
}
},
{
"path": "pages/gather/gather",
"path": "pages/chat/customer_list/index",
"style": {
"navigationBarTitleText": "工作台",
"navigationBarTitleText": "消息",
"navigationStyle": "custom",
"enablePullDownRefresh": true
"enablePullDownRefresh": true,
// #ifdef APP-PLUS
"enablePullDownRefresh": true,
// #endif
"app-plus": {
"scrollIndicator": false //
}
}
},
{
"path": "pages/plant_release/index",
"path": "pages/product/list/index",
"style": {
"navigationBarTitleText": "常用",
"navigationBarTitleText": "商品管理",
"navigationStyle": "custom",
"enablePullDownRefresh": true,
// #ifdef APP-PLUS
"enablePullDownRefresh": true,
// #endif
"app-plus": {
"scrollIndicator": false //
}
}
},
{
"path": "pages/moreProject/moreProject",
"style": {
"navigationBarTitleText": "更多功能",
"enablePullDownRefresh": false
}
},
{
"path": "pages/order_addcart/order_addcart",
@ -74,90 +94,120 @@
}
},
{
"path": "pages/plant_grass/index",
"path": "pages/product/list/index",
"style": {
"navigationBarTitleText": "商品管理",
"navigationStyle": "custom"
}
}
// {
// "path": "pages/gather/gather",
// "style": {
// "navigationBarTitleText": "工作台",
// "navigationStyle": "custom",
"navigationBarTitleText": "种草社区"
}
},
{
"path": "pages/user/index",
"style": {
"navigationBarTitleText": "个人中心",
"navigationStyle": "custom"
}
},
{
"path": "pages/news_list/index",
"style": {
"navigationBarTitleText": "资讯"
}
},
{
"path": "pages/news_details/index",
"style": {
"navigationBarTitleText": "资讯详情"
}
},
{
"path": "pages/auth/index",
"style": {
"navigationBarTitleText": "加载中"
}
},
{
"path": "pages/order_pay_status/index",
"style": {
"navigationBarTitleText": "支付状态"
}
},
{
"path": "pages/error/index",
"style": {
"navigationBarTitleText": "网站已关闭"
}
},
{
"path": "pages/order_pay_back/index",
"style": {
"navigationBarTitleText": "支付提示"
}
}, {
"path": "pages/supply_chains/supply_chains",
"style": {
"navigationBarTitleText": "供应",
"enablePullDownRefresh": true,
"navigationStyle": "custom"
}
// "enablePullDownRefresh": true
// }
// },
// {
// "path": "pages/plant_release/index",
// "style": {
// "navigationBarTitleText": "常用",
// "navigationStyle": "custom",
// "enablePullDownRefresh": false
// }
// },
// {
// "path": "pages/order_addcart/order_addcart",
// "style": {
// "navigationBarTitleText": "购物车"
// }
// },
// {
// "path": "pages/plant_grass/index",
// "style": {
// // "navigationStyle": "custom",
// "navigationBarTitleText": "种草社区"
// }
// },
// {
// "path": "pages/user/index",
// "style": {
// "navigationBarTitleText": "个人中心",
// "navigationStyle": "custom"
// }
// },
// {
// "path": "pages/news_list/index",
// "style": {
// "navigationBarTitleText": "资讯"
// }
// },
// {
// "path": "pages/news_details/index",
// "style": {
// "navigationBarTitleText": "资讯详情"
// }
// },
// {
// "path": "pages/auth/index",
// "style": {
// "navigationBarTitleText": "加载中"
// }
// },
// {
// "path": "pages/order_pay_status/index",
// "style": {
// "navigationBarTitleText": "支付状态"
// }
// },
// {
// "path": "pages/error/index",
// "style": {
// "navigationBarTitleText": "网站已关闭"
// }
// },
// {
// "path": "pages/order_pay_back/index",
// "style": {
// "navigationBarTitleText": "支付提示"
// }
// }, {
// "path": "pages/supply_chains/supply_chains",
// "style": {
// "navigationBarTitleText": "供应",
// "enablePullDownRefresh": true,
// "navigationStyle": "custom"
// }
}, {
"path": "pages/moreProject/moreProject",
"style": {
"navigationBarTitleText": "更多功能",
"enablePullDownRefresh": false
}
// }, {
// "path": "pages/moreProject/moreProject",
// "style": {
// "navigationBarTitleText": "更多功能",
// "enablePullDownRefresh": false
// }
}, {
"path": "uni_modules/guyue-updater/pages/updater",
"style": {
"app-plus": {
"animationDuration": 200,
"animationType": "fade-in",
"background": "transparent",
"backgroundColorTop": "transparent",
"bounce": "none",
"popGesture": "none",
"scrollIndicator": false,
"titleNView": false
},
"backgroundColor": "transparent",
"disableScroll": true,
"navigationStyle": "custom"
}
}
// }, {
// "path": "uni_modules/guyue-updater/pages/updater",
// "style": {
// "app-plus": {
// "animationDuration": 200,
// "animationType": "fade-in",
// "background": "transparent",
// "backgroundColorTop": "transparent",
// "bounce": "none",
// "popGesture": "none",
// "scrollIndicator": false,
// "titleNView": false
// },
// "backgroundColor": "transparent",
// "disableScroll": true,
// "navigationStyle": "custom"
// }
// }
],
"subPackages": [
{
"subPackages": [{
"root": "pages/goods_cate",
"name": "goods_cate",
"pages": [{
@ -949,26 +999,14 @@
]
},
{
"root": "pages/store",
"name": "store",
"pages": [{
"path": "index",
"style": {
"navigationStyle": "custom",
"enablePullDownRefresh": true,
"navigationBarTitleText": "店铺diy首页"
// #ifdef MP
,
"navigationBarTextStyle": "#FFFFFF"
// #endif
}
}, {
"path": "home/index",
"style": {
"navigationStyle": "custom",
"navigationBarTitleText": "店铺首页"
"navigationBarTitleText": "我的店铺"
// #ifdef MP
,
"navigationBarTextStyle": "#FFFFFF"
@ -1132,18 +1170,6 @@
"navigationBarTitleText": "商品管理",
"enablePullDownRefresh": true
}
},{
"path": "transactionApplication/index",
"style": {
"navigationBarTitleText": "交易申请",
"enablePullDownRefresh": false
}
},{
"path": "transactionApplication/application",
"style": {
"navigationBarTitleText": "申请记录",
"enablePullDownRefresh": false
}
},
{
"path": "goodsOnSale/index",
@ -1627,40 +1653,36 @@
"selectedColor": "#E93323",
"borderStyle": "white",
"backgroundColor": "#ffffff",
"list": [{
"pagePath": "pages/index/index",
"iconPath": "static/tabbar_icon/a.png",
"selectedIconPath": "static/tabbar_icon/a-a.png",
"text": "泸州"
"text": "首页"
},
{
"pagePath": "pages/gather/gather",
"pagePath": "pages/chat/customer_list/index",
"iconPath": "static/tabbar_icon/b.png",
"selectedIconPath": "static/tabbar_icon/b-a.png",
"text": "生产"
"text": "消息"
},
{
"pagePath": "pages/plant_release/index",
"pagePath": "pages/product/list/index",
"iconPath": "static/tabbar_icon/c.png",
"selectedIconPath": "static/tabbar_icon/c-a.png",
"text": "发布"
},
{
"pagePath": "pages/supply_chains/supply_chains",
"iconPath": "static/tabbar_icon/d.png",
"selectedIconPath": "static/tabbar_icon/d-a.png",
"text": "供销"
},
{
"pagePath": "pages/user/index",
"iconPath": "static/tabbar_icon/e.png",
"selectedIconPath": "static/tabbar_icon/e-a.png",
"text": "我的"
"text": "商品"
}
// {
// "pagePath": "pages/supply_chains/supply_chains",
// "iconPath": "static/tabbar_icon/d.png",
// "selectedIconPath": "static/tabbar_icon/d-a.png",
// "text": "供销"
// },
// {
// "pagePath": "pages/user/index",
// "iconPath": "static/tabbar_icon/e.png",
// "selectedIconPath": "static/tabbar_icon/e-a.png",
// "text": "我的"
// }
]

View File

@ -62,6 +62,9 @@
serviceList,
serviceUserList
} from "@/api/user";
import {
getUserInfo
} from '@/api/user.js';
import { mapGetters } from "vuex";
export default {
name: "CustomerList",
@ -88,13 +91,9 @@
computed: mapGetters(['isLogin','viewColor']),
onLoad(optios) {
this.type = optios.type;
this.mer_id = optios.mer_id;
if(this.isLogin){
this.getList(this.mer_id)
} else {
this.isAuto = true;
this.isShowAuth = true
}
this.getindex()
},
onShow(option) {
if(this.isLogin){
@ -119,6 +118,21 @@
this.clear = true;
},
methods: {
//
getindex(){
getUserInfo().then(res => {
this.mer_id = res.data.service.mer_id;
if(this.isLogin){
this.getList(this.mer_id)
} else {
this.isAuto = true;
this.isShowAuth = true
}
// this.getList(this.mer_id)
// this.getList(res.data.service.mer_id, true);
});
},
onLoadFun() {
this.isShowAuth = false;
this.getList(this.mer_id);
@ -217,7 +231,7 @@
},
};
</script>
<style lang="scss">
<style lang="scss" scoped>
.CustomerList {
.spin {
display: block;

View File

@ -1,347 +0,0 @@
<template>
<view>
<view class="swiper-css zqui-rel" :style="{ height: hpx }">
<swiper class="swiper" :style="{ height: hpx }" :indicator-dots="indicatorDots" :autoplay="autoplay"
disable-touch='true' :interval="interval" :duration="duration" @change="guideAction">
<swiper-item v-for="(item, index) in imageList" :key="index" catchtouchmove="stopChange">
<image class="image-size" mode="widthFix" :src="item.src" />
</swiper-item>
</swiper>
<!-- 按钮样式切换 -->
<template v-if="cur != 2">
<view class=" flex-column dots">
<block v-for="(item,index) in imageList" :key="index">
<view class="dot" :class="{'active': index == cur}"></view>
</block>
</view>
</template>
<!-- 第三张图使用按钮立即进入 -->
<template v-if="cur == 1">
<button class="flex-column cu-btn footer" @click="launchApp">立即体验</button>
</template>
<!-- 右上角跳过按钮 -->
<view class="btn-box" @click="launchApp"><text class="passbtn">{{num}}跳过</text></view>
</view>
</view>
</template>
<script>
const animation = weex.requireModule('animation');
export default {
data() {
return {
//,
imageList: [{
src: '/static/images/guide.png'
}
],
indicatorDots: false,
autoplay: false,
interval: 10000,
duration: 500,
iStatusBarHeight: '0px',
hpx: '100%',
cur: 0,
dotsStyles: '',
num: 3
};
},
onLoad() {
let that = this;
plus.navigator.closeSplashscreen();
uni.getSystemInfo({
success: function(res) {
that.hpx = res.windowHeight + 'px';
}
});
},
onReady() {
// this.move(0, 1);
},
mounted() {
this.countDown()
},
methods: {
countDown() {
let {
num
} = this;
// if (num === 3) this.nums = true;
num = num > 0 ? num - 1 : "GO";
setTimeout(() => {
this.num = num;
if (num == 'GO') {
this.launchApp()
return
}
this.countDown();
}, 1000);
},
stopTouchMove: function() {
return false;
},
launchApp() {
//,,
uni.setStorage({
key: 'launchFlag',
data: true,
success() {
uni.switchTab({
url: '/pages/index/index'
})
}
});
},
guideAction(event) {
let that = this,
index = event.detail.current;
that.cur = index;
// if (index == 0) {
// that.move(0, 1);
// that.moveTwo(150, 0.1);
// that.moveThree(150, 0.1);
// that.lefMainAction(0);
// }
// if (index == 1) {
// that.moveTwo(0, 1);
// that.move(150, 0.1);
// that.moveThree(150, 0.1);
// that.lefMainAction(uni.upx2px(80) + 'px');
// }
// if (index == 2) {
// that.moveThree(0, 1);
// that.moveTwo(150, 0.1);
// that.move(150, 0.1);
// that.lefMainAction(uni.upx2px(160) + 'px');
// }
},
lefMainAction(mum) {
var testLM = this.$refs.lefMain;
animation.transition(
testLM, {
styles: {
transform: 'translate(' + mum + ',0px)'
},
duration: 400, //ms
timingFunction: 'ease',
delay: 0 //ms
},
function() {}
);
},
move(tran, opa) {
var testEl = this.$refs.box1;
animation.transition(
testEl, {
styles: {
transform: 'translate(' + tran + 'px,0px)',
transformOrigin: 'center center',
opacity: opa
},
duration: 800, //ms
timingFunction: 'ease',
delay: 0 //ms
},
function() {}
);
var textE2 = this.$refs.box2;
animation.transition(
textE2, {
styles: {
transform: 'translate(0px,' + tran + 'px) scale(' + opa + ')',
transformOrigin: 'center center',
opacity: opa
},
duration: 800, //ms
timingFunction: 'ease',
delay: 0 //ms
},
function() {}
);
},
moveTwo(tran, opa) {
var testEl = this.$refs.box3;
animation.transition(
testEl, {
styles: {
transform: 'translate(' + tran + 'px,0px)',
transformOrigin: 'center center',
opacity: opa
},
duration: 800, //ms
timingFunction: 'ease',
delay: 0 //ms
},
function() {}
);
var textE2 = this.$refs.box4;
animation.transition(
textE2, {
styles: {
transform: 'translate(0px,' + tran + 'px) scale(' + opa + ')',
transformOrigin: 'center center',
opacity: opa
},
duration: 800, //ms
timingFunction: 'ease',
delay: 0 //ms
},
function() {}
);
},
moveThree(tran, opa) {
var testEl = this.$refs.box5;
animation.transition(
testEl, {
styles: {
transform: 'translate(' + tran + 'px,0px)',
transformOrigin: 'center center',
opacity: opa
},
duration: 800, //ms
timingFunction: 'ease',
delay: 0 //ms
},
function() {}
);
var textE2 = this.$refs.box6;
animation.transition(
textE2, {
styles: {
transform: 'translate(0px,' + tran + 'px) scale(' + opa + ')',
transformOrigin: 'center center',
opacity: opa
},
duration: 800, //ms
timingFunction: 'ease',
delay: 0 //ms
},
function() {}
);
}
}
};
</script>
<style lang="scss">
page {
min-height: 100%;
height: 100%;
}
.guide {
width: 100%;
height: 100%;
}
.image-size {
width: 750rpx;
height: 100%;
border: 1px solid red;
}
.title-box {
padding: 250rpx 0 120rpx 64rpx;
}
.guide-title {
font-size: 48rpx;
font-weight: bold;
color: rgba(58, 61, 68, 1);
}
.guide-subtitle {
margin-top: 20rpx;
font-size: 35rpx;
color: rgba(131, 136, 146, 1);
line-height: 50rpx;
}
.footer {
width: 231rpx;
height: 80rpx;
text-align: center;
position: fixed;
bottom: 116rpx;
left: 37%;
font-size: 30rpx;
color: #FFFFFF;
background-color: #2B9939;
}
.btn-box {
position: absolute;
z-index: 999;
right: 40rpx;
top: 120rpx;
}
.dots {
display: flex;
justify-content: center;
position: absolute;
z-index: 999;
height: 151rpx;
left: 0;
right: 0;
bottom: 20rpx;
}
.passbtn {
color: #ffffff;
text-align: center;
border-width: 1rpx;
border-color: rgba(255, 255, 255, 0.5);
border-style: solid;
border-radius: 30rpx;
font-size: 28rpx;
padding-top: 10rpx;
padding-bottom: 10rpx;
padding-left: 25rpx;
padding-right: 25rpx;
}
.dot {
margin: 0 4rpx;
width: 15rpx;
height: 15rpx;
background: #CDD2DD;
border-radius: 8rpx;
transition: all .6s;
}
.dot.active {
width: 40rpx;
background: #838892 !important;
}
/* 相对定位 */
.zqui-rel {
position: relative;
}
.swiper-css {
width: 750rpx;
}
.swiper-item {
width: 750rpx;
}
</style>

View File

@ -1,34 +0,0 @@
<template>
<view class="content"></view>
</template>
<script>
export default {
onLoad() {
this.checkGuide();
},
methods: {
checkGuide() {
console.log("进入checkGuide判断页");
//
try {
var launchFlag = uni.getStorageSync('launchFlag');
// console.log("launchFlag:" + launchFlag);
if (launchFlag) { //
uni.switchTab({
url:'/pages/index/index'
})
} else { //
console.log('去引导页');
uni.redirectTo({
url: '/pages/guide/guide'
});
}
} catch (e) {
console.log(e.message);
}
}
}
};
</script>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -149,6 +149,10 @@
</view>
</view>
</view>
<view class="conter-img" v-if='productList.length == 0'>
<image src="@/static/images/noCart.png" mode="aspectFit"></image>
</view>
</view>
<Loading :loaded="loaded" :loading="loading"></Loading>
</view>
@ -199,6 +203,9 @@
productRecommendApi,
postImport
} from "@/api/product";
import {
getUserInfo
} from '@/api/user.js';
import Loading from '@/components/Loading/index.vue';
import {
navigateTo,
@ -248,9 +255,9 @@
ll: 0
}
},
onLoad(options) {
this.mer_id = options.mer_id;
this.getList(this.mer_id, true);
onLoad() {
this.getindex()
},
onPullDownRefresh() {
this.where.page = 1
@ -269,6 +276,15 @@
},
methods: {
//
getindex(){
getUserInfo().then(res => {
this.mer_id = res.data.service.mer_id;
this.getList(res.data.service.mer_id, true);
});
},
menuActiona(item, index) {
if (item.is_good) {
this.options = [{
@ -697,6 +713,19 @@
swiper {
height: 200rpx;
}
.conter-img {
width: 650rpx;
height: 400rpx;
margin: 0 auto;
margin-top: 360rpx;
image {
width: 100%;
height: 100%;
}
}
.header {
padding-top: 40rpx;

View File

@ -1,163 +0,0 @@
<template>
<view class="content">
<view class="">
<view class="content_con" v-for="(item,index) in datalist" :key='index'>
<view class="content_title">
<view class="content_title_a" v-if="item.status==1">
已通过
</view>
<view class="content_title_c" v-else-if="item.status==2">
已拒绝
</view>
<view class="content_title_b" v-else-if="item.status==0">
审核中
</view>
<view class="content_title_d">
{{item.mer_name}}
</view>
</view>
<view class="" v-if="item.fail_msg" style="margin-top: -50rpx;color: red;">
拒绝原因{{item.fail_msg}}
</view>
<view class="content_detail">
<view class="" style="display: flex;">
<view style="width:150rpx;"> 申请人</view>
<span>{{item.name}}</span><text style="margin-left: 20rpx;">{{item.phone}}</text>
</view>
<view class="" style="display: flex;">
<view style="width:150rpx;"> 申请时间</view>
<span>{{item.create_time}}</span>
</view>
</view>
</view>
</view>
<view class="" style="padding-top: 1px;" v-if='datalist.length==0'>
<emptyPage title="暂无申请信息"></emptyPage>
</view>
</view>
</template>
<script>
import emptyPage from '@/components/emptyPage.vue';
import {
intention
} from "@/api/product"
export default {
components: {
emptyPage
},
data() {
return {
datalist: [],
where: {
type: 2,
page: 1,
limit: 10
},
}
},
onLoad() {
this.list()
},
methods: {
list() {
intention(this.where).then(res => {
this.datalist = res.data.list
})
}
}
}
</script>
<style lang="scss">
.content {
padding: 12rpx 12rpx;
}
.content_con {
padding: 42rpx 32rpx;
height: 294rpx;
background: #FFFFFF;
border-radius: 21rpx 21rpx;
margin-top: 20rpx;
}
.content_title {
display: flex;
margin-bottom: 70rpx;
}
.content_title_a {
width: 89rpx;
height: 37rpx;
line-height: 37rpx;
text-align: center;
background: #16C295;
font-size: 23rpx;
font-family: DingTalk JinBuTi-Regular, DingTalk JinBuTi;
font-weight: 400;
color: #FFFFFF;
border-radius: 15rpx 0 15rpx 0;
}
.content_title_b {
width: 89rpx;
height: 37rpx;
line-height: 37rpx;
text-align: center;
background: #3274F9;
font-size: 23rpx;
font-family: DingTalk JinBuTi-Regular, DingTalk JinBuTi;
font-weight: 400;
color: #FFFFFF;
border-radius: 15rpx 0 15rpx 0;
}
.content_title_c {
width: 89rpx;
height: 37rpx;
line-height: 37rpx;
text-align: center;
background: #ff0000;
font-size: 23rpx;
font-family: DingTalk JinBuTi-Regular, DingTalk JinBuTi;
font-weight: 400;
color: #FFFFFF;
border-radius: 15rpx 0 15rpx 0;
}
.content_title_d {
font-size: 33rpx;
font-family: PingFang SC-Medium, PingFang SC;
font-weight: 500;
color: #333333;
margin-left: 20rpx;
margin-top: -7rpx;
}
.content_detail {
font-size: 30rpx;
font-family: PingFang SC-Regular, PingFang SC;
font-weight: 400;
color: #333333;
view {
margin-bottom: 10rpx;
}
}
</style>

View File

@ -1,241 +0,0 @@
<template>
<view v-if="!successful" class="content">
<view class="content-detail">
<view class="content-title">
<view class="content-title-a">
交易申请协议
</view>
<view class="content-title-b" @click="navation">
申请记录
</view>
</view>
<view class="">
<view v-html="detail.business_apply_agree">
</view>
</view>
</view>
<view class="content-bottom" v-if="type==0">
<view class="bottombtn_no" @click="noagree">拒绝</view>
<view class="bottom_agree" @click="agree">同意</view>
</view>
<view class="content-bottom" v-if="type==1||type==3">
<view class="bottom_agree" @click="agree">重新申请</view>
</view>
</view>
<view class="settledSuccessMain" v-else>
<view class="settledSuccessful">
<image class="image" src="@/pages/store/static/images/settledSuccessful.svg">
<view class="title">恭喜您的资料提交成功</view>
<view class="info">预计15个工作日内审核完毕平台客服会及时与您联系</view>
<view class="goHome" hover-class="none" @click="goHome">
返回首页
</view>
</view>
</view>
</template>
<script>
import {
business,
intentionbus
} from "@/api/product"
export default {
data() {
return {
detail: {},
type: 0,
successful: false
}
},
onLoad(e) {
this.type = e.business_status
this.list()
},
methods: {
//
list() {
business().then(res => {
this.detail = res.data
})
},
//
goHome() {
uni.switchTab({
url: '/pages/index/index'
});
},
//
navation() {
uni.navigateTo({
url: '/pages/product/transactionApplication/application'
})
},
//
noagree() {
uni.navigateTo({
url: '/pages/moreProject/moreProject'
})
},
//
agree() {
intentionbus().then(res => {
if (res.status == 200) {
this.$util.Tips({
title: res.message,
icon: 'success',
})
this.successful=true
}
}).catch((err) => {
this.$util.Tips({
title: err,
icon: 'error',
})
})
},
}
}
</script>
<style lang="scss" scoped>
.content {
position: relative;
}
.content-detail {
padding: 20rpx 20rpx;
color: #333333;
font-size: 28rpx;
margin-bottom: 155rpx;
.content-title {
color: #333333;
font-size: 32rpx;
text-align: center;
margin-top: 40rpx;
margin-bottom: 40rpx;
.content-title-b {
width: 165rpx;
height: 70rpx;
font-size: 26rpx;
font-family: PingFang SC-Regular, PingFang SC;
font-weight: 400;
color: #FFFFFF;
text-align: center;
line-height: 70rpx;
background: linear-gradient(90deg, #F84221 0%, #FF6D20 100%);
box-shadow: 0px 4rpx 11rpx 2rpx rgba(252, 89, 32, 0.49);
border-radius: 37rpx 0px 0px 37rpx;
opacity: 1;
position: absolute;
top: 40rpx;
right: 0;
}
}
}
.content-bottom {
position: absolute;
width: 100%;
bottom: 0;
position: fixed;
height: 175rpx;
background: #FFFFFF;
display: flex;
justify-content: space-around;
.bottombtn_no {
margin-top: 42rpx;
width: 249rpx;
height: 84rpx;
text-align: center;
line-height: 84rpx;
border-radius: 46rpx 46rpx;
opacity: 1;
border: 2rpx solid #B3B3B3;
font-size: 33rpx;
font-family: PingFang SC-Medium, PingFang SC;
font-weight: 500;
color: #737373;
}
.bottom_agree {
margin-top: 42rpx;
width: 249rpx;
height: 84rpx;
text-align: center;
line-height: 84rpx;
background: linear-gradient(270deg, #FF6D20 0%, #F84221 100%);
border-radius: 46rpx 46rpx;
opacity: 1;
font-size: 33rpx;
font-family: PingFang SC-Medium, PingFang SC;
font-weight: 500;
color: #fff;
}
}
.settledSuccessMain {
height: 100vh;
display: flex;
flex-direction: column;
background: #fff;
}
.settledSuccessful {
flex: 1;
width: 100%;
padding: 0 56px;
height: auto;
background: #fff;
text-align: center;
}
.settledSuccessful .image {
width: 189px;
height: 157px;
margin-top: 66px;
}
.settledSuccessful .title {
color: #333333;
font-size: 16px;
font-weight: bold;
margin-top: 35px;
}
.settledSuccessful .info {
color: #A0A0A0;
font-size: 13px;
margin-top: 12px;
}
.settledSuccessful .goHome {
margin: 60px auto 0;
line-height: 43px;
color: #282828;
font-size: 15px;
border: 1px solid #B4B4B4;
border-radius: 60px;
}
</style>

View File

@ -1,43 +1,66 @@
<template>
<view :style="viewColor">
<view :style="{ 'background-image': `linear-gradient(0deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 1) 40%),url(${store.mer_banner})` }" class="store-detail">
<view class="section head">
<image :src="store.mer_avatar"></image>
<view class="store-detail">
<view class="section">
<view class="head">
<image class="head-image" :src="store.mer_avatar"></image>
<view class="text-wrap">
<view class="name line1">
<text class="name_store">{{ store.mer_name }}</text>
<image v-if="margin_ico_switch==1 && margin_ico && store.is_margin == 10" :src="margin_ico" class="store-margin"></image>
<image v-if="margin_ico_switch==1 && margin_ico && store.is_margin == 10" :src="margin_ico"
class="store-margin"></image>
<text v-if="store.type_name" class="font-bg-red ml8">{{ store.type_name }}</text>
<text v-else-if="store.is_trader" class="font-bg-red ml8">自营</text>
</view>
<view class="fans">{{ store.care_count < 10000 ? store.care_count : (store.care_count / 10000).toFixed(2) + '万' }}人关注</view>
<view class="fans">粉丝数量
{{ store.care_count < 10000 ? store.care_count : (store.care_count / 10000).toFixed(2) + '万' }}
</view>
<button :class="{ followed: store.care }" hover-class="none" @click="followToggle">
</view>
<!-- <button :class="{ followed: store.care }" hover-class="none" @click="followToggle">
<text v-show="!store.care" class="iconfont icon-guanzhu"></text>
{{ store.care ? '已关注' : '关注' }}
</button>
</button> -->
<view class="carebtn" @click="followToggle">
<image src="@/static/images/gz.png" v-if=" store.care" mode="aspectFit"></image>
<image src="@/static/images/gz1.png" v-else mode="aspectFit"></image>
</view>
</view>
<view class="section wrap">
<view class="name">店铺评级</view>
<view class="score-wrap">
<view class="star" :class="'star' + keyColor"><view :style="{ width: `${star.toFixed(2)}%`, backgroundImage: `url(${domain}/static/diy/score1${keyColor}.png)` }"></view></view>
<view class="star" :class="'star' + keyColor">
<view
:style="{ width: `${star.toFixed(2)}%`, backgroundImage: `url(${domain}/static/diy/score1${keyColor}.png)` }">
</view>
</view>
<view>{{ score.toFixed(1) }}</view>
</view>
</view>
<view class="section wrap" @click="popupShow = true">
</view>
<view class="section info">
<view class="item very" @click="popupShow = true">
<view class="name">店铺二维码</view>
<view><text class="iconfont icon-erweima1"></text></view>
</view>
<navigator v-if="store.isset_certificate" :url="`/pages/store/qualifications/index?mer_id=${store.mer_id}&uid=${this.uid}&storeName=${store.mer_name}`" class="section wrap">
<view class="item very">
<navigator v-if="store.isset_certificate" style="display: flex;"
:url="`/pages/store/qualifications/index?mer_id=${store.mer_id}&uid=${this.uid}&storeName=${store.mer_name}`">
<view class="name">店铺资质信息</view>
<view><text class="iconfont">&#xe743;</text></view>
</navigator>
</view>
</view>
<view v-if="store.services_type == 1" class="section wrap" @click="call">
<view class="name">联系客服</view>
<view><text class="iconfont icon-kefu1"></text></view>
</view>
<navigator v-else :url="`/pages/chat/customer_list/chat?mer_id=${store.mer_id}&uid=${this.uid}`" class="section wrap">
<navigator v-else :url="`/pages/chat/customer_list/chat?mer_id=${store.mer_id}&uid=${this.uid}`"
class="section wrap">
<view class="name">联系客服</view>
<view><text class="iconfont icon-kefu1"></text></view>
</navigator>
@ -49,7 +72,8 @@
<view class="item very">
<view class="name">店铺地址</view>
<view class="value">{{ store.mer_address }}</view>
<view v-if="store.lat && store.long && mer_location == 1" class="iconfont icon-dingwei" @click="showMaoLocation(store.lat, store.long)"></view>
<view v-if="store.lat && store.long && mer_location == 1" class="iconfont icon-dingwei"
@click="showMaoLocation(store.lat, store.long)"></view>
</view>
<view v-if="store.service_phone" class="item">
<view class="name">联系电话</view>
@ -85,14 +109,28 @@
// +----------------------------------------------------------------------
// | Author: CRMEB Team <admin@crmeb.com>
// +----------------------------------------------------------------------
import { mapGetters } from 'vuex';
import { configMap } from "@/utils";
import { getStoreDetail, followStore, unfollowStore, merchantQrcode } from '@/api/store.js';
import { HTTP_REQUEST_URL } from '@/config/app';
import {
mapGetters
} from 'vuex';
import {
configMap
} from "@/utils";
import {
getStoreDetail,
followStore,
unfollowStore,
merchantQrcode
} from '@/api/store.js';
import {
HTTP_REQUEST_URL
} from '@/config/app';
let app = getApp();
export default {
computed: {
...configMap({margin_ico_switch: 0,margin_ico: ''}, mapGetters(['isLogin','uid','viewColor','keyColor'])),
...configMap({
margin_ico_switch: 0,
margin_ico: ''
}, mapGetters(['isLogin', 'uid', 'viewColor', 'keyColor'])),
},
filters: {
dateFormat: function(value) {
@ -139,7 +177,8 @@ export default {
getStoreDetail(this.id).then(res => {
let store = res.data;
this.store = store;
this.score = (parseFloat(store.postage_score) + parseFloat(store.product_score) + parseFloat(store.service_score)) / 3;
this.score = (parseFloat(store.postage_score) + parseFloat(store.product_score) +
parseFloat(store.service_score)) / 3;
this.star = (this.score / 5) * 100;
});
},
@ -230,15 +269,19 @@ export default {
scope: 'scope.writePhotosAlbum',
success: () => {
uni.saveImageToPhotosAlbum({
filePath: resFile.tempFilePath,
filePath: resFile
.tempFilePath,
success: res => {
return uni.showToast({
return uni
.showToast({
title: '保存成功!'
});
},
fail: res => {
return uni.showToast({
title: res.errMsg
return uni
.showToast({
title: res
.errMsg
});
},
complete: res => {}
@ -255,8 +298,10 @@ export default {
// console.log(res.authSetting);
}
});
} else if (res.cancel) {
return uni.showToast({
} else if (res
.cancel) {
return uni
.showToast({
title: '已取消!'
});
}
@ -314,47 +359,71 @@ export default {
height: 28rpx;
border-radius: 5rpx;
margin-right: 8rpx;
&.ml8 {
margin-left: 8rpx;
margin-right: 0;
}
}
.carebtn {
width: 136rpx;
height: 52rpx;
margin-top: -35rpx;
margin-right: 30rpx;
image {
width: 100%;
height: 100%;
}
}
.store-detail {
padding-top: 80rpx;
padding-right: 20rpx;
padding-left: 20rpx;
background: left top/750rpx 360rpx no-repeat fixed;
.section {
border-radius: 10rpx;
margin-bottom: 20rpx;
background-color: #ffffff;
border-radius: 21rpx 21rpx ;
}
.head {
display: flex;
align-items: center;
padding: 20rpx;
image {
border-bottom: 1px solid #e1e1e1;
.head-image {
width: 90rpx;
height: 90rpx;
border-radius: 6rpx;
}
.text-wrap {
flex: 1;
min-width: 0;
margin-right: 20rpx;
margin-left: 20rpx;
line-height: 1;
.store-margin {
width: 28rpx;
height: 30rpx;
margin-left: 10rpx;
}
.name {
display: flex;
align-items: center;
font-weight: bold;
font-size: 28rpx;
color: #282828;
.name_store {
display: inline-block;
overflow: hidden;
@ -363,6 +432,7 @@ export default {
max-width: 140px;
}
}
.fans {
margin-top: 15rpx;
font-weight: 500;
@ -370,6 +440,7 @@ export default {
color: #666666;
}
}
button {
display: flex;
justify-content: center;
@ -381,21 +452,25 @@ export default {
font-weight: 500;
font-size: 22rpx;
color: #ffffff;
.iconfont {
margin-right: 6rpx;
font-size: 22rpx;
}
}
.followed {
border: 1px solid #bfbfbf;
background: none;
color: #999999;
}
}
.wrap {
display: flex;
align-items: center;
padding: 32rpx 20rpx;
.name {
flex: 1;
min-width: 0;
@ -403,12 +478,14 @@ export default {
font-size: 28rpx;
color: #282828;
}
.score-wrap {
display: flex;
align-items: center;
font-weight: 500;
font-size: 28rpx;
color: var(--view-theme);
.star {
position: relative;
width: 111rpx;
@ -416,6 +493,7 @@ export default {
margin-right: 10rpx;
background: url(../../columnGoods/images/star.png) left top/100% 100% no-repeat;
overflow: hidden;
view {
position: absolute;
top: 0;
@ -425,42 +503,50 @@ export default {
}
}
}
.iconfont {
font-size: 36rpx;
}
.icon-pingfen {
margin-right: 6rpx;
font-size: 23rpx;
color: #666666;
}
.active {
color: $theme-color;
}
}
.info {
.item {
display: flex;
align-items: center;
padding: 30rpx 20rpx;
border: 1px solid #f5f5f5;
font-weight: normal;
font-size: 28rpx;
line-height: 30rpx;
color: #282828;
.name {
margin-right: 18rpx;
}
.value {
flex: 1;
min-width: 0;
}
}
.very {
.name {
align-self: flex-start;
}
}
}
.popup-qrcode {
position: fixed;
top: 50%;
@ -477,6 +563,7 @@ export default {
line-height: 1;
text-align: center;
color: #282828;
.name {
max-width: 90%;
margin-right: auto;
@ -484,17 +571,20 @@ export default {
font-weight: bold;
font-size: 32rpx;
}
.info {
margin-top: 24rpx;
font-weight: 500;
font-size: 24rpx;
}
image {
width: 384rpx;
height: 384rpx;
margin-top: 18rpx;
}
}
.popup-active {
transform: translate(-50%, -50%) scale(1);
opacity: 1;

View File

@ -1,17 +1,23 @@
<template>
<view>
<view class="content-top">
<view
:style="{ 'background-image': `linear-gradient(0deg, rgba(0, 0, 0, 0.9) 0%, rgba(0, 0, 0, 0.5) 100%),url(${store.mer_banner})` }"
class="store-home">
</view>
<!-- 搜索 -->
<!-- #ifdef MP || APP-PLUS -->
<view :style="{ height: statusBarHeight }"></view>
<view class="header">
<view class="head-menu">
<view class="head-menu" style="width: 30rpx;">
<view class="iconfont icon-xiangzuo" @click="goback" style="color: #fff;"></view>
<view class="iconfont icon-shouye4" @click="goHome" style="color: #fff;"></view>
</view>
<navigator :url="'/pages/store/list/index?mer_id='+id" hover-class="none" class="search"><text
<navigator style="width:403rpx ;margin-right: 56rpx;" :url="'/pages/store/list/index?mer_id='+id" hover-class="none" class="search"><text
class="iconfont icon-xiazai5"></text>搜索商品</navigator>
<retuntop/>
</view>
<!-- #endif -->
<!-- #ifdef H5 -->
@ -24,78 +30,18 @@
class="iconfont icon-xiazai5"></text>搜索商品</navigator>
</view>
<!-- #endif -->
<view v-show="navShow && tabActive === 3" class="nav" :style="viewColor">
<view class="nav-cont">
<view :class="{ active: navActive === 0 }" class="item" @click="navActive = 0;select.show = !select.show">
<view class="cont">
{{ select.selected ? '评分' : '默认' }}
<text :class="['arrow-icon', 'iconfont', select.show ? 'icon-xiangshang' : 'icon-xiangxia']"></text>
</view>
</view>
<view :class="{ active: navActive === 1 }" class="item" @click="set_where(2,0)">
<view class="cont">销量</view>
</view>
<view :class="{ active: navActive === 2 }" class="item" @click="set_where(3,0)">
<view class="cont">
价格
<image
:src="sortPrice ? domain+'/static/diy/up'+keyColor+'.png' : domain+'/static/diy/down'+keyColor+'.png'">
</image>
</view>
</view>
<view class="item" @click="select.show = false;navActive = 4;isColumn = !isColumn">
<view class="cont">
<text :class="['layout-icon', 'iconfont', isColumn ? 'icon-pailie' : 'icon-tupianpailie']"></text>
</view>
</view>
</view>
<view v-show="select.show && navShow" class="select">
<view v-for="item in select.options" :key="item.id" :class="{ active: item.id === select.selected }"
class="item" @click="set_where(item.id,0)">
{{ item.name }}
<text v-if="item.id === select.selected" class="iconfont icon-gou"></text>
</view>
</view>
</view>
<!--diy页面的导航-->
<view v-show="navShow && tabActive == 1" class="nav" :style="viewColor">
<view class="nav-cont">
<view :class="{ active: diyActive == 0 }" class="item" @click="setDiy">
<view class="cont">精选</view>
</view>
<view :class="{ active: diyActive == 1 }" class="item" @click="set_where(4,1)">
<view class="cont">新品</view>
</view>
<view :class="{ active: diyActive ===2 }" class="item" @click="set_where(5,2)">
<view class="cont">活动</view>
</view>
<view :class="{ active: diyActive == 3 }" class="item" @click="getCoupon">
<view class="cont">领券</view>
</view>
</view>
</view>
<scroll-view @refresherrefresh="onRefresh" refresher-enabled="true" :refresher-triggered="isTriggered" class="main" scroll-y="true" @scroll="scrollHome" catchtouchmove :style="viewColor">
<!-- 店铺信息 -->
<view id="store" class="store">
<image :src="store.mer_avatar"></image>
<image class="store-image" :src="store.mer_avatar"></image>
<view class="text">
<view class="" style="display: flex;justify-content: space-between;">
<view class="" style="display: flex;">
<navigator :url="`/pages/store/detail/index?id=${id}`" hover-class="none">
<text v-if="store.type_name" class="font-bg-red">{{store.type_name}}</text>
<text v-else-if="store.is_trader" class="font-bg-red">自营</text>
<text class="name">{{ store.mer_name }}</text>
<image v-if="margin_ico_switch==1 && margin_ico && store.is_margin == 10" :src="margin_ico"
class="store-margin"></image>
<image v-if="margin_ico_switch==1 && margin_ico && store.is_margin == 10"
:src="margin_ico" class="store-margin"></image>
<text class="iconfont icon-xiangyou"></text>
</navigator>
<view class="score">
<view class="star">
<view
:style="{width: `${score.star.toFixed(2)}%`, backgroundImage: `url(${domain}/static/diy/score1${keyColor}.png)`}">
</view>
</view>
<view>{{ score.number.toFixed(1) }}</view>
</view>
</view>
<!-- #ifdef H5 -->
<view v-if="store.services_type == 1" class="kefu">
<a :href="'tel:'+store.service_phone" style="color: #fff; text-decoration: none;"
@ -110,21 +56,63 @@
<view v-else class="kefu" @click="goService">
<text class="iconfont icon-kefu3"></text>
</view>
<button hover-class="none" :class="store.care ? 'care' : ''" v-if="!isLogin" @click="authOpen">
</view>
<view class="">
<view class="carebtn" v-if="!isLogin" @click="authOpen">
<image src="@/static/images/gz.png" v-if=" store.care" mode="aspectFit"></image>
<image src="@/static/images/gz1.png" v-else mode="aspectFit"></image>
</view>
<view class="carebtn" @click="followToggle" v-else>
<image src="@/static/images/gz.png" v-if=" store.care" mode="aspectFit"></image>
<image src="@/static/images/gz1.png" v-else mode="aspectFit"></image>
</view>
</view>
</view>
<view class="store-dp">
<view v-if="store.type_name" class="font-bg-reda" style='margin-top: 15rpx;'>{{store.type_name}}
</view>
<view v-else-if="store.is_trader" class="font-bg-red" style='margin-top: 15rpx;'>自营</view>
<view class="score">
<view class="score-title">店铺评分</view>
<view class="star">
<view
:style="{width: `${score.star.toFixed(2)}%`, backgroundImage: `url(${domain}/static/diy/score1${keyColor}.png)`}">
</view>
</view>
<!-- <view>{{ score.number.toFixed(1) }}</view> -->
</view>
<view class="store-dp-t">
{{ care_conut < 10000 ? care_conut : (care_conut / 10000).toFixed(2) + '万' }}人关注
</view>
</view>
</view>
<!-- <button hover-class="none" :class="store.care ? 'care' : ''" v-if="!isLogin" @click="authOpen">
<text v-show="!store.care" class="iconfont icon-guanzhu"></text>
{{ store.care ? '已关注' : '关注' }}
</button>
<button v-else hover-class="none" :class="store.care ? 'care' : ''" @click="followToggle">
</button> -->
<!-- <button v-else hover-class="none" :class="store.care ? 'care' : ''" @click="followToggle"
style="background-color: red;">
<text v-show="!store.care" class="iconfont icon-guanzhu"></text>
{{ store.care ? '已关注' : '关注' }}
</button>
</button> -->
</view>
<view v-show="!navShow && tabActive === 3 || tabActive === 7" class="nav">
<view class="nav-cont">
<view :class="{ active: navActive === 0 }" class="item" @click="navActive = 0;select.show = !select.show">
<view class="nav-cont1">
<view class="nav-cont1-item">
<view :class="{ active: navActive === 0 }" class="item"
@click="navActive = 0;select.show = !select.show">
<view class="cont">
{{ select.selected ? '评分' : '默认' }}
<text :class="['arrow-icon', 'iconfont', select.show ? 'icon-xiangshang' : 'icon-xiangxia']"></text>
<text
:class="['arrow-icon', 'iconfont', select.show ? 'icon-xiangshang' : 'icon-xiangxia']"></text>
</view>
</view>
<view :class="{ active: navActive === 1 }" class="item" @click="set_where(2,0)">
@ -141,9 +129,19 @@
:src="domain+'/static/diy/down'+keyColor+'.png'"></image>
</view>
</view>
</view>
<view class="item" @click="select.show = false;navActive = 4;isColumn = !isColumn">
<view class="cont">
<text :class="['layout-icon', 'iconfont', isColumn ? 'icon-pailie' : 'icon-tupianpailie']"></text>
<view class="dp-img">
<image src="@/static/images/dp1.png" v-if="isColumn " mode="aspectFit"></image>
<image src="@/static/images/dp2.png" v-else mode="aspectFit"></image>
</view>
<!-- <text
:class="['layout-icon', 'iconfont', isColumn ? 'icon-pailie' : 'icon-tupianpailie']"></text> -->
</view>
</view>
</view>
@ -177,6 +175,67 @@
</view>
</view>
</view>
</view>
<view v-show="navShow && tabActive === 3" class="nav" :style="viewColor">
<view class="nav-cont">
<view :class="{ active: navActive === 0 }" class="item"
@click="navActive = 0;select.show = !select.show">
<view class="cont">
{{ select.selected ? '评分' : '默认' }}
<text
:class="['arrow-icon', 'iconfont', select.show ? 'icon-xiangshang' : 'icon-xiangxia']"></text>
</view>
</view>
<view :class="{ active: navActive === 1 }" class="item" @click="set_where(2,0)">
<view class="cont">销量</view>
</view>
<view :class="{ active: navActive === 2 }" class="item" @click="set_where(3,0)">
<view class="cont">
价格
<image
:src="sortPrice ? domain+'/static/diy/up'+keyColor+'.png' : domain+'/static/diy/down'+keyColor+'.png'">
</image>
</view>
</view>
<view class="item" @click="select.show = false;navActive = 4;isColumn = !isColumn">
<view class="cont">
<text
:class="['layout-icon', 'iconfont', isColumn ? 'icon-pailie' : 'icon-tupianpailie']"></text>
</view>
</view>
</view>
<view v-show="select.show && navShow" class="select">
<view v-for="item in select.options" :key="item.id" :class="{ active: item.id === select.selected }"
class="item" @click="set_where(item.id,0)">
{{ item.name }}
<text v-if="item.id === select.selected" class="iconfont icon-gou"></text>
</view>
</view>
</view>
<!--diy页面的导航-->
<view v-show="navShow && tabActive == 1" class="nav" :style="viewColor">
<view class="nav-cont">
<view :class="{ active: diyActive == 0 }" class="item" @click="setDiy">
<view class="cont">精选</view>
</view>
<view :class="{ active: diyActive == 1 }" class="item" @click="set_where(4,1)">
<view class="cont">新品</view>
</view>
<view :class="{ active: diyActive ===2 }" class="item" @click="set_where(5,2)">
<view class="cont">活动</view>
</view>
<view :class="{ active: diyActive == 3 }" class="item" @click="getCoupon">
<view class="cont">领券</view>
</view>
</view>
</view>
<scroll-view @refresherrefresh="onRefresh" refresher-enabled="true" :refresher-triggered="isTriggered"
class="main" scroll-y="true" @scroll="scrollHome" catchtouchmove :style="viewColor">
<view class="tab-cont" :style="viewColor">
<!-- diy组件 -->
<!-- <view v-show="diyActive == 0 && tabActive == 1"> -->
@ -184,7 +243,8 @@
<!-- #ifdef H5 -->
<view v-for="(item, index) in styleConfig" :key="index">
<block v-if="item.name != 'headerSerch' && item.name != 'tabNav'">
<component :is="item.name" :index="index" :dataConfig="item" :merId="id" @detail="goGoodsDetail">
<component :is="item.name" :index="index" :dataConfig="item" :merId="id"
@detail="goGoodsDetail">
</component>
</block>
</block>
@ -200,10 +260,12 @@
<combination v-if="item.name == 'combination'" :merId="id" :dataConfig="item"></combination>
<topic v-if="item.name == 'topic'" :merId="id" :dataConfig="item"></topic>
<coupon v-if="item.name == 'coupon'" :merId="id" :dataConfig="item"></coupon>
<goodList v-if="item.name == 'goodList'" :merId="id" :dataConfig="item" @detail="goGoodsDetail">
<goodList v-if="item.name == 'goodList'" :merId="id" :dataConfig="item"
@detail="goGoodsDetail">
</goodList>
<guide v-if="item.name == 'guide'" :merId="id" :dataConfig="item"></guide>
<liveBroadcast v-if="item.name == 'liveBroadcast'" :merId="id" :dataConfig="item"></liveBroadcast>
<liveBroadcast v-if="item.name == 'liveBroadcast'" :merId="id" :dataConfig="item">
</liveBroadcast>
<menus v-if="item.name == 'menus'" :merId="id" :dataConfig="item"></menus>
<presellList v-if="item.name == 'presellList'" :merId="id" :dataConfig="item"></presellList>
<richText v-if="item.name == 'richText'" :merId="id" :dataConfig="item"></richText>
@ -219,9 +281,12 @@
<!-- 首页 -->
<view v-show="(tabActive == 3 || tabActive == 7 || diyActive == 1 || diyActive == 2) && tabActive != 5">
<!-- 商品 -->
<view v-if="goods.length" class="goods-wrap" id="goods" @touchmove="onTouchmove">
<view v-if="isColumn" class="goods column">
<view v-for="item in goods" :key="item.product_id" class="item" @click="goGoodsDetail(item)">
<view v-for="item in goods" :key="item.product_id" class="item"
@click="goGoodsDetail(item)">
<view class="image">
<easy-loadimage mode="widthFix" :image-src="item.image"></easy-loadimage>
<view v-if="item.stock == 0" class="sell_out">已售罄</view>
@ -232,12 +297,20 @@
<view class="name line2">
<text class="name_text line1">{{ item.store_name }}</text>
</view>
<view class="score">{{ item.rate }}评分 {{ item.reply_count }}条评论</view>
<view class="item_bot">
<view class="money-wrap acea-row">
<view class="money-wrap">
<view class="" style="width: 500rpx;display: flex;justify-content: space-between;">
<view class="money">
¥<text>{{ item.price }}</text>
</view>
<view v-if="item.show_svip_info && item.show_svip_info.show_svip_price && item.svip_price"
<view class="items-img" style='width: 58rpx;height: 58rpx;'>
<image src="@/static/images/LHYC/J.png" mode="aspectFit" style='width: 44rpx;height: 44rpx;'></image>
</view>
</view>
<view
v-if="item.show_svip_info && item.show_svip_info.show_svip_price && item.svip_price"
class="acea-row row-middle">
<text class='vip-money'>{{item.svip_price}}</text>
<view class="vipImg">
@ -245,17 +318,19 @@
</view>
</view>
</view>
<view v-if="item.product_type != 0 || item.issetCoupon || item.delivery_free == 1"
<view
v-if="item.product_type != 0 || item.issetCoupon || item.delivery_free == 1"
class="item_tags">
<text v-if="item.product_type != 0"
:class="'font_bg-red type'+item.product_type">{{item.product_type == 1 ? "秒杀" : item.product_type == 2 ? "预售" : item.product_type == 3 ? "助力" : item.product_type == 4 ? "拼团" : ""}}</text>
<text class="tags_item ticket" v-if="item.issetCoupon">领券</text>
<text class="tags_item delivery" v-if="item.delivery_free == 1">包邮</text>
</view>
<view class="score">{{ item.rate }}评分 {{ item.reply_count }}条评论</view>
</view>
</view>
<view v-if="item.max_extension>0 && (item.product_type == 0 || item.product_type == 2)" class="foot">
<view v-if="item.max_extension>0 && (item.product_type == 0 || item.product_type == 2)"
class="foot">
<text v-show="!isColumn" class="iconfont"></text>
最高赚 ¥{{ item.max_extension }}
</view>
@ -299,7 +374,8 @@
<!--生活服务-->
<view v-show="tabActive === 5" id="product" @touchmove="onTouchmoves">
<view v-if="productList.length" class="goods column">
<view v-for="item in productList" :key="item.product_id" class="item" @click="goGoodsDetail(item)">
<view v-for="item in productList" :key="item.product_id" class="item"
@click="goGoodsDetail(item)">
<view class="image">
<easy-loadimage mode="widthFix" :image-src="item.image"></easy-loadimage>
</view>
@ -313,14 +389,16 @@
¥
<text>{{ item.price }}</text>
</view>
<view v-if="item.show_svip_info.show_svip_price && item.svip_price" class="acea-row row-middle">
<view v-if="item.show_svip_info.show_svip_price && item.svip_price"
class="acea-row row-middle">
<text class='vip-money'>{{item.svip_price}}</text>
<view class="vipImg">
<image class="image" src="/static/images/svip.png"></image>
</view>
</view>
</view>
<view v-if="item.product_type != 0 || item.issetCoupon || item.delivery_free == 1" class="item_tags">
<view v-if="item.product_type != 0 || item.issetCoupon || item.delivery_free == 1"
class="item_tags">
<text v-if="item.product_type != 0"
:class="'font_bg-red type'+item.product_type">{{item.product_type == 1 ? "秒杀" : item.product_type == 2 ? "预售" : item.product_type == 3 ? "助力" : item.product_type == 4 ? "拼团" : ""}}</text>
<text class="tags_item ticket" v-if="item.issetCoupon">领券</text>
@ -329,7 +407,8 @@
<view class="score">{{ item.rate }}评分 {{ item.reply_count }}条评论</view>
</view>
</view>
<view v-if="item.max_extension && (item.product_type == 0 || item.product_type == 2)" class="foot">
<view v-if="item.max_extension && (item.product_type == 0 || item.product_type == 2)"
class="foot">
<text v-show="!isColumn" class="iconfont"></text>
最高赚 ¥{{ item.max_extension }}
</view>
@ -367,7 +446,8 @@
</view>
<view class="time-wrap" style="justify-content: space-between;">
<block v-if="item.coupon_type == 1">
<view class="time">{{ item.use_start_time | dateFormat }}-{{ item.use_end_time | dateFormat }}
<view class="time">
{{ item.use_start_time | dateFormat }}-{{ item.use_end_time | dateFormat }}
</view>
</block>
<block v-if="item.coupon_type == 0">
@ -421,6 +501,7 @@
import request from "@/utils/request.js";
import WaterfallsFlow from '@/components/WaterfallsFlow/WaterfallsFlow.vue'
import easyLoadimage from '@/components/easy-loadimage/easy-loadimage.vue'
import retuntop from '@/components/content-top/index.vue';
import {
getStoreDetail,
getStoreGoods,
@ -429,17 +510,35 @@
unfollowStore,
storeServiceList
} from '@/api/store.js';
import { initiateAssistApi, getTopicList } from '@/api/activity.js';
import { getShopCoupons, setCouponReceive, getDiy, getProductSpuAPI } from '@/api/api.js';
import { getUserInfo } from '@/api/user.js';
import { configMap } from "@/utils";
import { mapGetters } from "vuex";
import { goShopDetail } from '@/libs/order.js';
import {
initiateAssistApi,
getTopicList
} from '@/api/activity.js';
import {
getShopCoupons,
setCouponReceive,
getDiy,
getProductSpuAPI
} from '@/api/api.js';
import {
getUserInfo
} from '@/api/user.js';
import {
configMap
} from "@/utils";
import {
mapGetters
} from "vuex";
import {
goShopDetail
} from '@/libs/order.js';
import authorize from '@/components/Authorize';
import history from "@/mixins/history";
import emptyPage from '@/components/emptyPage.vue'
import shareScence from "@/libs/spread";
import { HTTP_REQUEST_URL } from '@/config/app';
import {
HTTP_REQUEST_URL
} from '@/config/app';
import mConfig from '../component/index.js';
// #ifdef MP || APP-PLUS
import activeParty from '@/pages/index/component/activeParty';
@ -482,8 +581,10 @@
seckill,
swiperBg,
pictureCube,
titles
titles,
retuntop
// #endif
},
mixins: [history],
filters: {
@ -618,6 +719,11 @@
value: 2,
}
],
tabs5: [{
icon: 'icon-yizhan_o',
name: '云商品',
value: 7,
}],
tabs: [],
storeScroll: true,
storeTop: 0,
@ -627,7 +733,9 @@
service_open: false,
type: 3,
statusBarHeight: 0,
isLihaiYun: ''
isLihaiYun: '',
business_status: 0,
care_conut: 0,
}
},
computed: {
@ -635,13 +743,16 @@
let store = this.store,
score = {
star: 0,
number: 0
number: 0,
};
if ('postage_score' in store) {
score.number = (parseFloat(store.postage_score) + parseFloat(store.product_score) + parseFloat(store
score.number = (parseFloat(store.postage_score) + parseFloat(store.product_score) + parseFloat(
store
.service_score)) /
3;
score.star = score.number / 5 * 100;
}
return score;
},
@ -768,8 +879,15 @@
this.storeHeight = data.height;
this.storeTop = data.top;
}).exec();
this.userinfo()
},
methods: {
userinfo() {
getUserInfo().then(res => {
this.business_status = res.data.mer_info.business_status
})
},
getProductSpu() {
let that = this;
if (that.loadend) return;
@ -860,7 +978,9 @@
// diy
diyData() {
let that = this;
getDiy({ id: that.id }).then(res => {
getDiy({
id: that.id
}).then(res => {
let data = res.data;
that.styleConfig = that.objToArr(res.data.value);
uni.setNavigationBarTitle({
@ -946,6 +1066,7 @@
getStore: function() {
getStoreDetail(this.id).then(res => {
this.store = res.data;
this.care_conut = res.data.care_count
// if ((res.data.delivery_way.length == 1 && res.data.delivery_way[0] == '1') || res.data.delivery_way
// .length == 2) {
// this.tabs = this.tabs1
@ -954,7 +1075,9 @@
// this.tabs = this.tabs2
// this.service_open = false
// }
this.isLihaiYun === 'Lihai' ? this.tabs = this.tabs4 : this.tabs = this.tabs3
this.tab(this.type)
// #ifdef H5
this.ShareInfo();
@ -1027,7 +1150,10 @@
if (this.topicList.length) {
return;
}
getTopicList(this.id, { page: 1, limit: 999 }).then(res => {
getTopicList(this.id, {
page: 1,
limit: 999
}).then(res => {
this.topicList = res.data;
});
},
@ -1229,7 +1355,10 @@
}
</script>
<style lang="scss" scoped>
.tab-cont {
background: #f5f5f5;
min-height: 500rpx;
@ -1241,18 +1370,50 @@
background-color: transparent;
}
.carebtn {
width: 119rpx;
height: 46rpx;
image {
width: 100%;
height: 100%;
}
}
.store-dp {
display: flex;
}
.store-dp-t {
font-size: 23rpx;
font-family: PingFang SC-Medium, PingFang SC;
font-weight: 500;
color: #F84221;
margin-top: 15rpx;
margin-left: 10rpx;
}
.content-top {
position: absolute;
height: 630rpx;
width: 100%;
position: fixed;
z-index: 9999;
background-color: #ffff;
}
.store-home {
position: fixed;
top: 0;
right: 0;
bottom: 0;
left: 0;
display: flex;
flex-direction: column;
padding-bottom: 100rpx;
padding-bottom: calc(100rpx+ constant(safe-area-inset-bottom)); /// IOS<11.2/
padding-bottom: calc(100rpx + env(safe-area-inset-bottom)); /// IOS>11.2/
background: left top/750rpx 390rpx no-repeat fixed;
height: 421rpx;
background-size: 100% 100%;
background-repeat: no-repeat;
overflow: hidden;
}
@ -1265,6 +1426,16 @@
height: 43px;
padding-left: 33rpx;
/* #ifndef APP-VUE */
margin-top: 125rpx;
/*#endif*/
/* #ifndef H5 */
margin-top: 35rpx;
/*#endif*/
.head-menu {
display: -webkit-box;
display: -webkit-flex;
@ -1290,9 +1461,9 @@
color: #fff;
box-sizing: border-box;
&.icon-xiangzuo {
border-right: 1px solid rgba(255, 255, 255, .3);
}
// &.icon-xiangzuo {
// border-right: 1px solid rgba(255, 255, 255, .3);
// }
}
}
@ -1304,18 +1475,24 @@
height: 58rpx;
border-radius: 29rpx;
margin-left: 32rpx;
background-color: #FFFFFF;
background: rgba(255, 255, 255, 0.6);
font-weight: 500;
font-size: 26rpx;
color: #999999;
font-size: 26rpx;
font-family: PingFang SC-Regular, PingFang SC;
font-weight: 400;
color: #737373;
/* #ifdef MP */
margin-right: 200rpx;
/* #endif */
.iconfont {
color: #999999;
margin-right: 13rpx;
margin-left: 30rpx;
font-size: 24rpx;
z-index: 999;
}
}
}
@ -1343,21 +1520,29 @@
min-height: 0rpx;
box-sizing: border-box;
padding: 0;
position: absolute;
top: 630rpx;
border-radius: 21rpx 21rpx 0 0;
}
.store {
position: relative;
z-index: 6;
display: flex;
align-items: center;
padding-right: 20rpx;
padding-left: 20rpx;
padding-top: 20rpx;
padding-bottom: 22rpx;
width: 725rpx;
height: 256rpx;
background: #FFFFFF;
box-shadow: 0px 5px 14px 2px rgba(248, 66, 33, 0.05);
border-radius: 21px 21px 21px 21px;
margin-top: 100rpx;
margin-left: 15rpx;
image {
width: 74rpx;
height: 74rpx;
.store-image {
margin-top: 32rpx;
width: 137rpx;
height: 137rpx;
border-radius: 6rpx;
}
@ -1368,9 +1553,12 @@
}
.kefu {
color: #ffffff;
color: #000;
margin-right: 26rpx;
cursor: pointer;
font-size: 30rpx;
margin-top: 10rpx;
margin-left: 10rpx;
.icon-kefu3 {
font-size: 34rpx;
@ -1378,10 +1566,11 @@
}
.text {
flex: 1;
min-width: 0;
margin-right: 20rpx;
width: 520rpx;
margin-left: 20rpx;
margin-top: 32rpx;
navigator {
display: inline-flex;
@ -1395,15 +1584,16 @@
white-space: nowrap;
text-overflow: ellipsis;
font-weight: bold;
font-size: 30rpx;
font-size: 33rpx;
font-weight: 600;
line-height: 1;
color: #FFFFFF;
color: #333333;
}
.iconfont {
margin-left: 10rpx;
font-size: 17rpx;
color: #FFFFFF;
color: #000;
}
}
@ -1414,7 +1604,12 @@
font-weight: 500;
font-size: 24rpx;
line-height: 1;
color: #FFFFFF;
color: #000;
.score-title {
margin-right: 15rpx;
}
.star {
position: relative;
@ -1468,6 +1663,21 @@
border: 1px solid var(--view-theme);
}
.font-bg-reda {
width: 112rpx;
height: 35rpx;
font-size: 23rpx;
font-family: PingFang SC-Regular, PingFang SC;
font-weight: 400;
color: #FFFFFF;
text-align: center;
line-height: 35rpx;
background: linear-gradient(90deg, #F84221 0%, #FF6D20 100%);
border-radius: 11rpx 11rpx;
margin-right: 53rpx;
margin-top: 10rpx;
}
.nav.fixed {
position: fixed;
left: 0;
@ -1482,13 +1692,18 @@
.nav {
position: relative;
.nav-cont {
.nav-cont1 {
display: flex;
align-items: center;
height: 84rpx;
justify-content: space-between;
height: 95rpx;
background-color: #f5f5f5;
.nav-cont1-item {
display: flex;
}
.item {
flex: 1;
// flex: 1;
display: flex;
justify-content: center;
align-items: center;
@ -1501,9 +1716,21 @@
width: 116rpx;
height: 44rpx;
border-radius: 22rpx;
font-size: 30rpx;
font-family: PingFang SC-Medium, PingFang SC;
font-weight: 500;
font-size: 24rpx;
color: #FFFFFF;
color: #737373;
.dp-img {
width: 56rpx;
height: 56rpx;
image {
width: 56rpx;
height: 56rpx;
}
}
.arrow-icon {
margin-left: 10rpx;
@ -1528,9 +1755,82 @@
.active {
.cont {
background-color: #FFFFFF;
font-weight: bold;
color: var(--view-theme);
// background-color: #FFFFFF;
font-size: 30rpx;
font-family: PingFang SC-Medium, PingFang SC;
font-weight: 600;
color: #333333;
}
}
}
.nav-cont {
display: flex;
align-items: center;
height: 95rpx;
background-color: #f5f5f5;
.item {
flex: 1;
display: flex;
justify-content: center;
align-items: center;
min-width: 0;
.cont {
display: flex;
justify-content: center;
align-items: center;
width: 116rpx;
height: 44rpx;
border-radius: 22rpx;
font-size: 30rpx;
font-family: PingFang SC-Medium, PingFang SC;
font-weight: 500;
color: #737373;
.dp-img {
width: 56rpx;
height: 56rpx;
image {
width: 56rpx;
height: 56rpx;
}
}
.arrow-icon {
margin-left: 10rpx;
font-size: 18rpx;
}
.layout-icon {
font-size: 32rpx;
}
.icon-pailie {
font-size: 32rpx;
}
image {
width: 15rpx;
height: 21rpx;
margin-left: 7rpx;
}
}
}
.active {
.cont {
// background-color: #FFFFFF;
font-size: 30rpx;
font-family: PingFang SC-Medium, PingFang SC;
font-weight: 600;
color: #333333;
}
}
}
@ -1666,6 +1966,8 @@
font-size: 20rpx;
line-height: 1;
color: #737373;
}
}
@ -1757,6 +2059,7 @@
.text {
position: relative;
width: 450rpx;
min-width: 0;
padding-top: 0;
padding-right: 0;

View File

@ -7,11 +7,27 @@
<view class="iconfont icon-xiangzuo"></view>
</view>
<!-- #endif -->
<view class='input acea-row row-between-wrapper'><text class='iconfont icon-sousuo'></text>
<view style="position: relative;display: flex;">
<u-search borderColor="#FCB9AD" bgColor="white" :showAction="false" placeholder="搜索产品关键词"
v-model="sotreParam.keyword" class="serch_cls"></u-search>
<u--image @tap="searchSubmit" class="img_cls" :showLoading="true"
src="/static/images/GXSC/SSBT.png" width="115.65rpx" height="56.82rpx"></u--image>
</view>
<!-- <view class='input acea-row row-between-wrapper'><text class='iconfont icon-sousuo'></text>
<input placeholder='搜索商品名称' placeholder-class='placeholder' confirm-type='search' name="search" :value='where.keyword'
@confirm="searchSubmit"></input>
</view>
<view style="text-align: right;" class='iconfont' :class='is_switch==true?"icon-pailie":"icon-tupianpailie"' @click='Changswitch'></view>
<view class="">
</view> -->
<view class="dp-img">
<image src="@/static/images/dp1.png" v-if="is_switch==true" mode="aspectFit" @click='Changswitch'></image>
<image src="@/static/images/dp2.png" v-else mode="aspectFit" @click='Changswitch'></image>
</view>
<!-- <view style="text-align: right;" class='iconfont' :class='is_switch==true?"icon-pailie":"icon-tupianpailie"' @click='Changswitch'></view> -->
</view>
<view class="nav-wrapper">
<view class='nav acea-row row-middle'>
@ -220,6 +236,7 @@
price_off: '',
isAuto: false, //
isShowAuth: false, //
};
},
onLoad: function(options) {
@ -379,7 +396,7 @@
},
searchSubmit: function(e) {
let that = this;
that.$set(that.where, 'keyword', e.detail.value);
that.$set(that.where, 'keyword', that.sotreParam.keywor);
if(this.tabIndex == 1){
that.loadend = false;
that.$set(that.where, 'page', 1)
@ -489,6 +506,27 @@
</script>
<style lang="scss" scoped>
.serch_cls{
width:600rpx;
}
.img_cls {
position: absolute;
top: 50%;
right: 7rpx;
transform: translateY(-50%);
}
.dp-img {
width: 56rpx;
height: 56rpx;
image {
width: 100%;
height:100%;
}
}
.productList .search {
width: 100%;
height: 86rpx;
@ -498,7 +536,7 @@
left: 0;
top: 0;
z-index: 9;
background-color: var(--view-theme);
background-color: #fff;
}
.productList .search .back {
display: flex;
@ -506,7 +544,7 @@
width: 40rpx;
height: 60rpx;
.iconfont {
color: #fff;
color: #000;
font-size: 36rpx;
}
}
@ -514,6 +552,7 @@
width: 570rpx;
height: 60rpx;
background-color: #fff;
border: 2rpx solid #FCB9AD;
border-radius: 50rpx;
padding: 0 20rpx;
box-sizing: border-box;

View File

@ -224,39 +224,39 @@
}
// #endif
// console.log('', data);
// let time = data.expires_time - Cache.time();
// const backUrl = that.$Cache.get(BACK_URL) || "/pages/index/index";
// that.$Cache.clear(BACK_URL);
// that.$store.commit("LOGIN", {
// 'token': data.token,
// 'time': data.exp
// });
// that.$store.commit("SETUID", data.user.uid);
// that.$store.commit('UPDATE_USERINFO', data.user);
// // Cache.set(EXPIRES_TIME, data.result.expires_time, time);
// // #ifdef MP
// Cache.set(EXPIRES_TIME, data.expires_time, time);
// Cache.set(USER_INFO, data.user, time);
// // #endif
// let method
// let indexPat = ['/pages/index/index', '/pages/order_addcart/order_addcart',
// '/pages/goods_cate/goods_cate',
// '/pages/user/index'
// ]
// if (indexPat.includes(this.getPath(backUrl))) {
// method = 'switchTab'
// } else {
// method = 'navigateTo'
// }
// if (this.getPath(backUrl) === '/pages/users/login/index') {
// uni.switchTab({
// url: '/pages/index/index'
// });
// return
// }
// uni[method]({
// url: backUrl
// });
let time = data.expires_time - Cache.time();
const backUrl = that.$Cache.get(BACK_URL) || "/pages/index/index";
that.$Cache.clear(BACK_URL);
that.$store.commit("LOGIN", {
'token': data.token,
'time': data.exp
});
that.$store.commit("SETUID", data.user.uid);
that.$store.commit('UPDATE_USERINFO', data.user);
// Cache.set(EXPIRES_TIME, data.result.expires_time, time);
// #ifdef MP
Cache.set(EXPIRES_TIME, data.expires_time, time);
Cache.set(USER_INFO, data.user, time);
// #endif
let method
let indexPat = ['/pages/index/index', '/pages/order_addcart/order_addcart',
'/pages/goods_cate/goods_cate',
'/pages/user/index'
]
if (indexPat.includes(this.getPath(backUrl))) {
method = 'switchTab'
} else {
method = 'navigateTo'
}
if (this.getPath(backUrl) === '/pages/users/login/index') {
uni.switchTab({
url: '/pages/index/index'
});
return
}
uni[method]({
url: backUrl
});
})
.catch(res => {
that.$util.Tips({

View File

@ -14,7 +14,7 @@
{{ item }}
</div>
</div>
<div class="list" :hidden="current !== 0">
<div class="list" :hidden="current !== 1">
<form @submit.prevent="submit">
<div class="item">
<div class="acea-row row-middle">
@ -39,7 +39,7 @@
</div>
</div>
<div class="list" :hidden="current !== 1">
<div class="list" :hidden="current !== 0">
<div class="item">
<div class="acea-row row-middle">
<image src="/static/images/phone_1.png"></image>
@ -70,8 +70,8 @@
</div>
</div>
<div class="logon" @click="loginMobile" :hidden="current !== 1">登录</div>
<div class="logon" @click="submit" :hidden="current === 1">登录</div>
<div class="logon" @click="loginMobile" :hidden="current !== 0">登录</div>
<div class="logon" @click="submit" :hidden="current === 0">登录</div>
<div class="protocol acea-row row-between-wrapper">
<checkbox-group class="checkgroup" @change='isAgree=!isAgree'>
<checkbox class="checkbox" :checked="isAgree ? true : false" />
@ -639,8 +639,8 @@
.then(({
data
}) => {
// this.checkOpenId(data.user)
// const backUrl = that.$Cache.get(BACK_URL) || "/pages/index/index";
this.checkOpenId(data.user)
const backUrl = that.$Cache.get(BACK_URL) || "/pages/index/index";
that.$Cache.clear(BACK_URL);
that.$store.commit("LOGIN", {
'token': data.token,
@ -650,32 +650,25 @@
that.$store.commit('UPDATE_USERINFO', data.user);
// let method
// let indexPat = ['/pages/index/index', '/pages/order_addcart/order_addcart',
// '/pages/goods_cate/goods_cate',
// '/pages/user/index'
// ]
// if (indexPat.includes(this.getPath(backUrl))) {
// method = 'switchTab'
// } else {
// method = 'navigateTo'
// }
// console.log(method)
// return
// if (this.getPath(backUrl) === '/pages/users/login/index') {
// uni.switchTab({
// url: '/pages/index/index'
// });
// return
// }
// uni[method]({
// url: backUrl
// });
uni.navigateTo({
url:'/pages/moreProject/moreProject'
})
let method
let indexPat = ['/pages/index/index', '/pages/order_addcart/order_addcart',
'/pages/goods_cate/goods_cate',
'/pages/user/index'
]
if (indexPat.includes(this.getPath(backUrl))) {
method = 'switchTab'
} else {
method = 'navigateTo'
}
if (this.getPath(backUrl) === '/pages/users/login/index') {
uni.switchTab({
url: '/pages/index/index'
});
return
}
uni[method]({
url: backUrl
});
})
.catch(res => {
that.$util.Tips({
@ -809,8 +802,8 @@
.then(({
data
}) => {
// this.checkOpenId(data.user)
// const backUrl = that.$Cache.get(BACK_URL) || "/pages/index/index";
this.checkOpenId(data.user)
const backUrl = that.$Cache.get(BACK_URL) || "/pages/index/index";
that.$Cache.clear(BACK_URL);
that.$store.commit("LOGIN", {
'token': data.token,
@ -818,29 +811,26 @@
});
that.$store.commit("SETUID", data.user.uid);
that.$store.commit('UPDATE_USERINFO', data.user);
// let method
// let indexPat = ['/pages/index/index', '/pages/order_addcart/order_addcart',
// '/pages/goods_cate/goods_cate',
// '/pages/user/index'
// ]
// if (indexPat.includes(this.getPath(backUrl))) {
// method = 'switchTab'
// } else {
// method = 'navigateTo'
// }
// if (this.getPath(backUrl) === '/pages/users/login/index') {
// uni.switchTab({
// url: '/pages/index/index'
// });
// return
// }
// uni[method]({
// url: backUrl
// });
uni.navigateTo({
url:'/pages/moreProject/moreProject'
})
let method
let indexPat = ['/pages/index/index', '/pages/order_addcart/order_addcart',
'/pages/goods_cate/goods_cate',
'/pages/user/index'
]
if (indexPat.includes(this.getPath(backUrl))) {
method = 'switchTab'
} else {
method = 'navigateTo'
}
if (this.getPath(backUrl) === '/pages/users/login/index') {
uni.switchTab({
url: '/pages/index/index'
});
return
}
uni[method]({
url: backUrl
});
})
.catch(e => {
that.$util.Tips({

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 628 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 65 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 209 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 228 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 83 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 260 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 113 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 180 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.4 KiB

After

Width:  |  Height:  |  Size: 243 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 394 B

After

Width:  |  Height:  |  Size: 712 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.5 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.7 KiB

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.8 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.9 KiB