From dcc7b2d14fcbac97fb6d2c8975a3cd93dfbcc458 Mon Sep 17 00:00:00 2001
From: xuxy <1059738716@qq.com>
Date: 星期六, 27 七月 2024 20:36:11 +0800
Subject: [PATCH] update 功能调整
---
sub_pages/customer/shop/shop.vue | 222 +++++++++++++++++++++++++++++++++++++-----------------
1 files changed, 151 insertions(+), 71 deletions(-)
diff --git a/sub_pages/customer/shop/shop.vue b/sub_pages/customer/shop/shop.vue
index a8621bc..4899b93 100644
--- a/sub_pages/customer/shop/shop.vue
+++ b/sub_pages/customer/shop/shop.vue
@@ -1,8 +1,8 @@
<template>
- <view class="brand-detail">
+ <view class="brand-detail" style="background: #20613D;">
<view class="brand-top-info">
- <view class="search-container m-t-12 flex">
+ <view class="search-container flex" style="padding-left: 20rpx;padding-right: 20rpx;padding-top: 20rpx">
<view class="flex1 input">
<u-input placeholder="请输入花名" v-model="search_flow">
<template slot="suffix">
@@ -11,18 +11,29 @@
</u-input>
</view>
</view>
- <view class="info-brand m-t-12" v-if="shopid">
+ <view class="info-brand m-t-12" v-if="id">
<view class="flex">
- <image class="store-logo"></image>
+ <image class="store-logo" :src="dto.cover"></image>
<view>
- <view class="store-name">花仙子</view>
- <view class="store-address">云南省-昆明市-官渡区</view>
+ <view class="store-name">{{dto.name}}</view>
+ <view class="store-address">
+ {{ ((dto.province||'')+ (dto.city&&'-'||'') + (dto.city||'')+ (dto.region&&'-'||'')+(dto.region||'')) ||dto.address || '暂无详细地址'}}
+ </view>
</view>
- <view class="store-sc m-l-a m-r-0">
- <image src="../../../static/icon-gz-1.png" class="icon" v-if="dto.gz" @click="updateGz(false)"></image>
- <image src="../../../static/icon-gz-0.png" class="icon" v-if="!dto.gz" @click="updateGz(true)"></image>
- 关注
+ <view class="store-sc m-l-a m-r-0" @click="updateGz(!dto.followed)">
+ <view class="icon-view">
+ <image src="../../../static/icon-gz-1.png" class="icon" v-if="dto.followed"></image>
+ <image src="../../../static/icon-gz-0.png" class="icon" v-if="!dto.followed"></image>
+ </view>
+ <view>{{dto.followed?'取消':'关注'}}</view>
</view>
+ <!-- <view class="store-sc m-l-a m-r-0" @click="updateGz(!dto.followed)">
+ <image src="../../../static/icon-gz-1.png" class="icon" v-if="dto.followed"
+ ></image>
+ <image src="../../../static/icon-gz-0.png" class="icon" v-if="!dto.followed"
+ ></image>
+ 关注
+ </view> -->
</view>
</view>
<view class="tj-info m-t-12">
@@ -43,28 +54,33 @@
<view class="label">关注</view>
</view>
</view>
- <top-tabs :tabs="tabs" :flg="flg" @change="changeTab">
+ <view class="p10" style="padding-left: 20rpx;padding-right: 20rpx;">
+ <top-tabs :tabs="tabs" :flg="flg" @change="changeTab">
- </top-tabs>
+ </top-tabs>
+ </view>
</view>
<view class="brand-info">
<view v-if="flg==='0'" class="brand-info-0">
<view class="component-filter-container" style="padding-top: 12rpx;">
<view class="flex1">
- 排序<image src="../../../static/common/icon-arrow-down.png" class="icon-arrow-down"></image>
+ 排序
+ <image src="../../../static/common/icon-arrow-down.png" class="icon-arrow-down"></image>
</view>
<view class="flex1">
- 等级<image src="../../../static/common/icon-arrow-down.png" class="icon-arrow-down"></image>
+ 等级
+ <image src="../../../static/common/icon-arrow-down.png" class="icon-arrow-down"></image>
</view>
<view class="flex1">
- 参数<image src="../../../static/common/icon-arrow-down.png" class="icon-arrow-down"></image>
+ 参数
+ <image src="../../../static/common/icon-arrow-down.png" class="icon-arrow-down"></image>
</view>
</view>
<view class="top-title">
报价已包含打包费、材料费、交易佣金
</view>
<view class="component-shop-item flex" v-for="(item,index) of list" :key="index"
- @click="toDetail(item)">
+ @click.stop="toDetail(item)">
<view class="img">
<image class="img img100"
src="https://hmy-flower.oss-cn-shanghai.aliyuncs.com/ff/fff3027bd0a146478fd1f0aae816a028%E5%BE%AE%E4%BF%A1%E6%88%AA%E5%9B%BE_20240710224139.png">
@@ -99,10 +115,10 @@
<view class="icons flex">
<uni-icons v-if="item.shopnum&&item.shopnum>=1" type="minus" size="32"
- @click.stop="mulnum(item)"></uni-icons>
- <view class="curnums" v-if="item.shopnum&&item.shopnum>=1">{{item.shopnum}}</view>
+ @click.stop="addnum(item,-1)"></uni-icons>
+ <view class="curnums" v-if="item.shopnum&&item.shopnum>=1">{{ item.shopnum }}</view>
<uni-icons v-if="!item.shopnum||item.shopnum<=99" type="plus-filled" size="32"
- @click.stop="addnum(item)"></uni-icons>
+ @click.stop="addnum(item,1)"></uni-icons>
</view>
</view>
</view>
@@ -117,11 +133,19 @@
<view class="title">
基础信息
</view>
- <view class="form-input">
- <view class="label">经营模式</view>
+ <view class="form-input flex">
+ <view class="label ">经营模式</view>
<view class="value">供应商</view>
</view>
- <view class="form-input">
+ <view class="form-input flex">
+ <view class="label ">商家详细</view>
+ <view class="value">{{dto.address || '暂无'}}</view>
+ </view>
+ <view class="form-input flex">
+ <view class="label ">商家介绍</view>
+ <view class="value">{{dto.description || '-'}}</view>
+ </view>
+ <view class="form-input flex">
<view class="label">身份认证</view>
<view class="value">个人身份认证</view>
</view>
@@ -134,13 +158,14 @@
<script>
import trade from '@/sub_pages/customer/trade/trade.vue'
+ import http from "../../../plugins/http";
+
export default {
components: {
trade,
},
data() {
return {
- shopid: 'test',
search_flow: '',
flg: '0',
tabs: [{
@@ -157,60 +182,98 @@
},
],
dto: {},
- list: [{}, {}]
+ list: [{}, {}],
+ id: '',
+ }
+ },
+ onLoad(options) {
+ this.id = options.id || ''
+ if (this.id) {
+ this.getDetail()
}
},
methods: {
- //update 关注
- async updateGz(type){
- this.$message.showLoading()
- // var res;
- // if(type){
- // res = await this.$http.request('post',`/api/follow/add`,{
- // data:{
- // supplierId:this.dto.supplierId || this.dto.id
- // }
- // })
- // }else{
- // res = await this.$http.request('get',`/api/follow/add`,{
- // data:{
- // supplierId:this.dto.supplierId || this.dto.id
- // }
- // })
- // }
- this.$message.hideLoading()
- if(code===0){
- this.dto.gz = !this.dto.gz
- await this.$store.dispatch('sign_add', 'follow')
- }
+ async getDetail() {
+ this.$message.showLoading()
+ const {
+ code,
+ data
+ } = await this.$http.request('get', `/api/pub/supplier/detail/${this.id}`, {
+ params: {}
+ })
+ if (code === 0) {
+ this.dto = {
+ ...data,
+ }
+ }
+
+ this.$message.hideLoading()
+
+ },
+ //update 关注
+ async updateGz(type) {
+ this.$message.showLoading()
+ const {
+ code
+ } = await this.$http.request(type ? 'post' : 'get', `/api/follow/${type ? 'add' : 'delete'}`, {
+ data: {
+ supplierId: this.dto.supplierId || this.dto.id
+ },
+ params: {
+ supplierId: this.dto.supplierId || this.dto.id
+ }
+ })
+ if (code === 0) {
+ this.dto.followed = !this.dto.followed
+ await this.$store.dispatch('sign_add', 'follow')
+ this.$forceUpdate()
+ }
+ this.$message.hideLoading()
- },
+ },
changeTab(flg) {
- this.flg = flg
+ console.log('changeTab', flg)
+ this.flg = ''+flg
//如果没有加载数据,需要加载一下
},
buttonSearchFlow() {
},
- mulnum(item) {
- if (item.shopnum > 0) {
- item.shopnum -= 1
- }
- this.shoptotal -= 1
- this.$forceUpdate()
- },
- addnum(item) {
- if (item.shopnum) {
- item.shopnum += 1
- } else {
- item.shopnum = 1
+ async addnum(item, addnum) {
+ if (!this.currentInfo.id) {
+ await this.$message.confirm('请前往登录')
+ uni.navigateTo({
+ url: '/pages/user/supplier-user'
+ })
+ return
}
- this.shoptotal += 1
+ if (!item.shopnum) {
+ item.shopnum = 0
+ }
+ if (item.shopnum + addnum >= 0) {
+
+ } else {
+ return
+ }
+ this.$message.showLoading()
+ const {
+ code
+ } = await http.request('post', '/api/customer/flower/cart/change-num', {
+ data: {
+ id: item.id,
+ num: addnum
+ }
+ })
+ this.$message.hideLoading()
+ if (code === 0) {
+ item.shopnum += addnum
+ }
this.$forceUpdate()
},
+
}
}
</script>
@@ -219,22 +282,31 @@
.brand-detail {
.brand-info {
background: #FFFFFF;
- border-radius: 40rpx 40rpx 0rpx 0rpx;
+ // border-radius: 40rpx 40rpx 0rpx 0rpx;
+ border-top-left-radius: 40rpx;
+ border-top-right-radius: 40rpx;
+ overflow: hidden;
+ overflow-y: scroll;
padding: 40rpx 32rpx;
+ height: calc(100vh - 650rpx);
+ padding-top: 0rpx;
.brand-info-0 {
.top-title {
- height: 54rpx;
+ height: 60rpx;
background: #E4ECE8;
border-radius: 4rpx;
font-weight: 400;
font-size: 24rpx;
color: #779787;
- line-height: 80rpx;
+ margin-top: 10rpx;
+ line-height: 60rpx;
+ padding-left: 20rpx;
}
}
.brand-info-3 {
+ padding: 40rpx 30rpx;
.title {
font-weight: 600;
font-size: 32rpx;
@@ -243,12 +315,12 @@
margin-bottom: 20rpx;
}
- .form-item {
+ .form-input {
display: flex;
border-bottom: 2rpx solid #EEEEEE;
.label {
- font-weight: 400;
+ font-weight: 600;
font-size: 28rpx;
color: #000000;
line-height: 40rpx;
@@ -260,6 +332,8 @@
color: #666666;
line-height: 40rpx;
margin-left: auto;
+ margin-right: 0;
+
text-align: right;
.check {
@@ -273,26 +347,32 @@
.brand-top-info {
background-image: url('https://hmy-flower.oss-cn-shanghai.aliyuncs.com/37/37dc02b58bd44af79e45031af2bb6c0b%E4%BD%8D%E5%9B%BE@2x.png');
-
- .tj-info{
+ background-size: 100% 100%;
+
+ .tj-info {
display: flex;
- .form-item{
+
+ .form-item {
flex: 1;
text-align: center;
- .label{
+
+ .label {
font-weight: 400;
font-size: 32rpx;
color: #FFFFFF;
line-height: 44rpx;
}
- .value{
+
+ .value {
font-weight: 600;
font-size: 48rpx;
color: #FFFFFF;
line-height: 66rpx;
+
}
}
}
+
.search-container {
display: flex;
margin: 12rpx 0rpx 20rpx 0rpx;
--
Gitblit v1.9.3