From da1f751bea60280504d7fa04e6a547c68ef4381a Mon Sep 17 00:00:00 2001
From: xuxueyang <xuxy@fengyuntec.com>
Date: 星期五, 12 七月 2024 17:49:30 +0800
Subject: [PATCH] add 商铺信息数据和商铺详情,还todo订单相关的
---
sub_pages/customer/trade/list.vue | 100 ----
common/self.scss | 35 +
static/icon-gz-1.png | 0
sub_pages/supplier/flower-manage/flower-add.vue | 31
common/global.scss | 157 ++++++++
pages.json | 7
static/icon-gz-0.png | 0
sub_pages/customer/shop/shop.vue | 287 +++++++++++++++
sub_pages/customer/trade/trade.vue | 55 ++
sub_pages/customer/trade/detail.vue | 422 ++++++++++++++++++----
10 files changed, 899 insertions(+), 195 deletions(-)
diff --git a/common/global.scss b/common/global.scss
index 9ea6dc9..ca95a4d 100644
--- a/common/global.scss
+++ b/common/global.scss
@@ -73,6 +73,69 @@
height: 100%;
z-index: -1;
}
+.component-popup_input_all{
+ margin: 0 auto;
+ margin-top: 160rpx;
+ height: calc(100vh - 300rpx);
+ background-color: #fff;
+ border-radius: 40rpx 40rpx 0rpx 0rpx;
+ padding: 26rpx;
+ position: relative;
+ .button-space{
+ // border: 2rpx solid #EEEEEE;
+ min-height: 124rpx;
+ }
+ .value-items{
+
+
+ .value-item{
+ min-width: 152rpx;
+ width: fit-content;
+ text-align: center;
+ height: 58rpx;
+ background: #F1F5F2;
+ border-radius: 36rpx;
+ margin-bottom: 18rpx;
+ font-weight: 400;
+ font-size: 28rpx;
+ line-height: 58rpx;
+ padding: 8rpx 30rpx;
+ color: #33a868;
+ margin-left: 13rpx;
+ margin-right: 13rpx;
+ border: 2rpx solid #F1F5F2;
+ }
+ .value-item.cur{
+ background: #E1F0E7;
+ border-radius: 36rpx;
+ border: 2rpx solid #20613D;
+ color: #20613D;
+
+ }
+ }
+
+ .button-green{
+ border-top: 2rpx solid #EEEEEE;
+ position: absolute;
+ bottom: 26rpx;
+ left: 26rpx;
+ right: 26rpx;
+ height: 78rpx;
+ background: #20613D;
+ border-radius: 40rpx;
+ font-weight: 600;
+ font-size: 32rpx;
+ color: #FFFFFF;
+ line-height: 78rpx;
+ }
+ .button-green.button-white{
+ background: #F1F5F2;
+ font-weight: 400;
+ font-size: 32rpx;
+ color: #20613D;
+ line-height: 78rpx;
+ }
+}
.component-popup_input{
margin: 0 auto;
margin-top: 160rpx;
@@ -122,4 +185,96 @@
color: #000000;
line-height: 34rpx;
}
-}
\ No newline at end of file
+}
+
+.component-shop-item {
+ margin-top: 20rpx;
+ background: #FFFFFF;
+ border-radius: 8rpx;
+ padding: 10rpx;
+
+ .info-container {
+ position: relative;
+
+ .other-info {
+ margin-top: 6rpx;
+ font-size: 24rpx;
+ color: #666666;
+ line-height: 34rpx;
+ text-align: left;
+ }
+
+ .shop-name {
+ margin-top: 14rpx;
+ font-size: 24rpx;
+ color: #666666;
+ line-height: 34rpx;
+ }
+
+ .bottom-buttons {
+ // width: 400rpx;
+ position: absolute;
+ bottom: 0rpx;
+
+ left: 0;
+ right: 0;
+
+ .icons {
+ margin-left: auto;
+ margin-right: 0rpx;
+ margin-top: -10rpx;
+
+ .curnums {
+ line-height: 60rpx;
+ margin-left: 12rpx;
+ margin-right: 12rpx;
+ }
+ }
+ }
+
+ .title {
+ font-weight: 600;
+ font-size: 32rpx;
+ color: #000000;
+ line-height: 44rpx;
+ margin-top: 8rpx;
+ position: relative;
+
+ .price {
+ position: absolute;
+ font-weight: 400;
+ font-size: 28rpx;
+ color: #CF0000;
+ line-height: 40rpx;
+ top: 0;
+ right: 0;
+ }
+ }
+
+ }
+
+ .img {
+ width: 206rpx;
+ height: 206rpx;
+ border-radius: 8rpx;
+ position: relative;
+
+ .level {
+ position: absolute;
+ width: 66rpx;
+ height: 44rpx;
+ background: #20613D;
+ left: 0;
+ top: 0;
+ border-top-left-radius: 8rpx;
+ border-bottom-right-radius: 8rpx;
+ color: #FFFFFF;
+ line-height: 44rpx;
+ font-size: 24rpx;
+ text-align: center;
+ }
+
+ }
+
+
+}
diff --git a/common/self.scss b/common/self.scss
index 8cf4eea..31c6db8 100644
--- a/common/self.scss
+++ b/common/self.scss
@@ -893,10 +893,41 @@
}
.store-name {
+ font-weight: 600;
+ font-size: 28rpx;
+ color: #000000;
+ line-height: 40rpx;
+ }
+ .store-address{
+ font-weight: 400;
+ font-size: 24rpx;
+ color: #666666;
+ line-height: 34rpx;
+ }
+ .store-to{
+ width: 172rpx;
+ height: 52rpx;
+ background: #E1F0E7;
+ border-radius: 4rpx;
+ font-weight: 400;
+ font-size: 24rpx;
+ color: #5B8C71;
+ line-height: 52rpx;
+ text-align: center;
+ }
+ .store-sc{
+ width: 176rpx;
+ height: 64rpx;
+ background: #39AF6E;
+ border-radius: 32rpx;
font-weight: 400;
font-size: 32rpx;
- color: #000000;
- line-height: 96rpx;
+ color: #FFFFFF;
+ line-height: 64rpx;
+ .icon{
+ width: 36rpx;
+ height: 36rpx;
+ }
}
}
.text-left{
diff --git a/pages.json b/pages.json
index 84c27fd..8d339b4 100644
--- a/pages.json
+++ b/pages.json
@@ -186,6 +186,13 @@
"enablePullDownRefresh": false
}
+ },
+ {
+ "path" : "shop/shop",
+ "style" :
+ {
+ "navigationBarTitleText" : "商家主页"
+ }
}
]
diff --git a/static/icon-gz-0.png b/static/icon-gz-0.png
new file mode 100644
index 0000000..6dfc03f
--- /dev/null
+++ b/static/icon-gz-0.png
Binary files differ
diff --git a/static/icon-gz-1.png b/static/icon-gz-1.png
new file mode 100644
index 0000000..ca0b247
--- /dev/null
+++ b/static/icon-gz-1.png
Binary files differ
diff --git a/sub_pages/customer/shop/shop.vue b/sub_pages/customer/shop/shop.vue
new file mode 100644
index 0000000..5a7cf7a
--- /dev/null
+++ b/sub_pages/customer/shop/shop.vue
@@ -0,0 +1,287 @@
+<template>
+ <view class="brand-detail">
+
+ <view class="brand-top-info">
+ <view class="search-container m-t-12 flex">
+ <view class="flex1 input">
+ <u-input placeholder="请输入花名" v-model="search_flow">
+ <template slot="suffix">
+ <uni-icons color="#20613D" type="search" size="24" @tap="buttonSearchFlow"></uni-icons>
+ </template>
+ </u-input>
+ </view>
+ </view>
+ <view class="info-brand m-t-12" v-if="shopid">
+ <view class="flex">
+ <image class="store-logo"></image>
+ <view>
+ <view class="store-name">花仙子</view>
+ <view class="store-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"></image>
+ <image src="../../../static/icon-gz-0.png" class="icon" v-if="!dto.gz"></image>
+ 关注
+ </view>
+ </view>
+ </view>
+ <view class="tj-info m-t-12">
+ <view class="form-item">
+ <view class="value">0</view>
+ <view class="label">发布</view>
+ </view>
+ <view class="form-item">
+ <view class="value">0</view>
+ <view class="label">获赞</view>
+ </view>
+ <view class="form-item">
+ <view class="value">0</view>
+ <view class="label">粉丝</view>
+ </view>
+ <view class="form-item">
+ <view class="value">0</view>
+ <view class="label">关注</view>
+ </view>
+ </view>
+ <top-tabs :tabs="tabs" :flg="flg" @change="changeTab">
+
+ </top-tabs>
+ </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>
+ </view>
+ <view class="flex1">
+ 等级<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>
+ </view>
+ </view>
+ <view class="top-title">
+ 报价已包含打包费、材料费、交易佣金
+ </view>
+ <view class="component-shop-item flex" v-for="(item,index) of list" :key="index"
+ @click="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">
+ </image>
+ <view class="level">
+ A级
+ </view>
+ </view>
+
+ <view class="m-l-12 info-container flex1">
+ <view class="title">
+ 橙色芭比
+ <view class="price">
+ ¥6.60/扎
+ </view>
+ </view>
+ <view class="shop-name">
+ 牛油果泡泡·白色
+ </view>
+ <view class="other-info flex">
+ <view class="m-r-15">
+ 已售:7
+ </view>
+ <view class="m-r-15">
+ 剩余:13
+ </view>
+ <view class="m-r-15">
+ 1支/扎
+ </view>
+ </view>
+ <view class="bottom-buttons flex">
+
+ <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>
+ <uni-icons v-if="!item.shopnum||item.shopnum<=99" type="plus-filled" size="32"
+ @click.stop="addnum(item)"></uni-icons>
+ </view>
+ </view>
+ </view>
+ </view>
+
+ </view>
+
+ <view v-if="flg=='1'" class="brand-info-1">
+ <trade :hidefooter="true"></trade>
+ </view>
+ <view v-if="flg=='3'" class="brand-info-3">
+ <view class="title">
+ 基础信息
+ </view>
+ <view class="form-input">
+ <view class="label">经营模式</view>
+ <view class="value">供应商</view>
+ </view>
+ <view class="form-input">
+ <view class="label">身份认证</view>
+ <view class="value">个人身份认证</view>
+ </view>
+ </view>
+ </view>
+
+
+ </view>
+</template>
+
+<script>
+ import trade from '@/sub_pages/customer/trade/trade.vue'
+ export default {
+ components: {
+ trade,
+ },
+ data() {
+ return {
+ shopid: 'test',
+ search_flow: '',
+ flg: '0',
+ tabs: [{
+ name: '全部商品'
+ },
+ {
+ name: '分类'
+ },
+ {
+ name: '评价'
+ },
+ {
+ name: '商家'
+ },
+ ],
+ dto: {},
+ list: [{}, {}]
+ }
+ },
+ methods: {
+ 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
+ }
+ this.shoptotal += 1
+ this.$forceUpdate()
+ },
+ }
+ }
+</script>
+
+<style lang="scss" scoped>
+ .brand-detail {
+ .brand-info {
+ background: #FFFFFF;
+ border-radius: 40rpx 40rpx 0rpx 0rpx;
+ padding: 40rpx 32rpx;
+
+ .brand-info-0 {
+ .top-title {
+ height: 54rpx;
+ background: #E4ECE8;
+ border-radius: 4rpx;
+ font-weight: 400;
+ font-size: 24rpx;
+ color: #779787;
+ line-height: 80rpx;
+ }
+ }
+
+ .brand-info-3 {
+ .title {
+ font-weight: 600;
+ font-size: 32rpx;
+ color: #000000;
+ line-height: 44rpx;
+ margin-bottom: 20rpx;
+ }
+
+ .form-item {
+ display: flex;
+ border-bottom: 2rpx solid #EEEEEE;
+
+ .label {
+ font-weight: 400;
+ font-size: 28rpx;
+ color: #000000;
+ line-height: 40rpx;
+ }
+
+ .value {
+ font-weight: 400;
+ font-size: 28rpx;
+ color: #666666;
+ line-height: 40rpx;
+ margin-left: auto;
+ text-align: right;
+
+ .check {
+ background: #20613D;
+ border-radius: 4rpx;
+ }
+ }
+ }
+ }
+ }
+
+ .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{
+ display: flex;
+ .form-item{
+ flex: 1;
+ text-align: center;
+ .label{
+ font-weight: 400;
+ font-size: 32rpx;
+ color: #FFFFFF;
+ line-height: 44rpx;
+ }
+ .value{
+ font-weight: 600;
+ font-size: 48rpx;
+ color: #FFFFFF;
+ line-height: 66rpx;
+ }
+ }
+ }
+ .search-container {
+ display: flex;
+ margin: 12rpx 0rpx 20rpx 0rpx;
+ position: relative;
+ z-index: 1;
+
+ .input {
+
+ background-color: #fff !important;
+
+ border-radius: 8rpx;
+ }
+
+ }
+ }
+ }
+</style>
\ No newline at end of file
diff --git a/sub_pages/customer/trade/detail.vue b/sub_pages/customer/trade/detail.vue
index 84406cf..f1330a8 100644
--- a/sub_pages/customer/trade/detail.vue
+++ b/sub_pages/customer/trade/detail.vue
@@ -1,77 +1,345 @@
-<template>
- <view class="trade-detail">
- <view class="top-img-container">
- <image src="" class="top-img"></image>
- <view class="icon-container">
- <image src="../../../static/common/icon-sc.png" class="icon-sc"></image>
- <view class="num">12</view>
- </view>
- <view class="icon-container">
- <image src="../../../static/common/icon-shop.png" class="icon-shop"></image>
-
- </view>
- </view>
- </view>
-</template>
-
-<script>
- export default {
- data() {
- return {
-
- }
- },
- methods: {
-
- }
- }
-</script>
-
-<style lang="scss" scoped>
-
-.trade-detail{
- .top-img-container{
- position: relative;
- .top-img{
- width: 750rpx;
- height: 764rpx;
- }
- .icon-container{
- position: absolute;
- top: 20rpx;
- width: 80rpx;
- height: 80rpx;
- background: rgba(0,0,0,0.42);
-
- .icon-sc{
- width: 54rpx;
- height: 54rpx;
- margin: 0 auto;
- margin-top: 12rpx;
- }
- .icon-shop{
- width: 54rpx;
- height: 54rpx;
- margin: 0 auto;
- margin-top: 12rpx;
- }
- .num{
- font-weight: 400;
- font-size: 20rpx;
- color: #FFFFFF;
- line-height: 28rpx;
- position: absolute;
- top: 6prx;
- right: 16rpx;
- }
- }
- .icon-container:last-child{
- left: 120rpx;
- }
- .icon-container:first-child{
- left: 20rpx;
- }
-
- }
-}
-</style>
+<template>
+ <view class="trade-detail">
+ <view class="top-img-container">
+ <image src="" class="top-img"></image>
+ <view class="icon-container">
+ <image src="../../../static/common/icon-sc.png" class="icon-sc"></image>
+ <view class="num">12</view>
+ </view>
+ <view class="icon-container">
+ <image src="../../../static/common/icon-shop.png" class="icon-shop"></image>
+
+ </view>
+ </view>
+ <view class="info-container">
+ <view class="title">
+ <view class="level m-r-15">B级</view>
+ <view class="">
+ {{dto.name || '-'}}
+ </view>
+ </view>
+ <view class="desc m-t-12">
+ <view class="m-r-15">已售:7</view>
+ <view class="m-r-15">剩余:13</view>
+ <view class=" ">10支/扎</view>
+ </view>
+ <view class="flex m-t-12">
+ <view class="price m-r-a">
+ <span class="num">28.01</span>
+ 元/扎
+ </view>
+ <view class="m-l-a m-r-15">
+ <image src="../../../static/common/icon-kf.png" class="icon-kf m-l-15 img100"></image>
+
+ </view>
+ <view class="m-r-0 gwc">
+ + 购物车
+ </view>
+ </view>
+ </view>
+ <view class="line">
+
+ </view>
+ <view class="info-detail">
+ <view class="title-before-blue" style="padding-top: 0rpx;padding-bottom: 0rpx;">详情</view>
+ <view class="flex m-t-8">
+ <view class="label">枝长:</view>
+ <view class="value">70-75cm</view>
+ </view>
+ <view class="flex m-t-8">
+ <view class="label">枝粗:</view>
+ <view class="value">中等粗细</view>
+ </view>
+ <view class="flex m-t-8">
+ <view class="label">均匀度:</view>
+ <view class="value">1-2支不均匀</view>
+ </view>
+ </view>
+ <view class="line">
+
+ </view>
+
+ <view class="info-brand m-t-12" @click.stop="openbrand">
+ <view class="title-before-blue" style="padding-top: 0rpx;padding-bottom: 0rpx;">店铺</view>
+ <view class="flex">
+ <image class="store-logo"></image>
+ <view>
+ <view class="store-name">花仙子</view>
+ <view class="store-address">云南省-昆明市-官渡区</view>
+ </view>
+ <view class="store-to m-l-a m-r-0">进入店铺</view>
+ </view>
+ </view>
+ <view class="m-t-20 shop-recommend-container">
+ <view class="shop-recommend-title">店铺推荐</view>
+ <view class="flex">
+ <view v-for="i in 3" :key="i" class="shop-recommend">
+ <image src="" class="shop-recommend-image"></image>
+ <view class="shop-recommend-title m-t-8">
+ <view class="level m-r-15">B级</view>
+ <view class="">
+ {{dto.name || '-'}}
+ </view>
+ </view>
+ <view class="shop-recommend-price m-t-8">
+ ¥23.01/扎
+ </view>
+ </view>
+ </view>
+ </view>
+ <view class="line">
+
+ </view>
+ <view class="comment-container m-t-12">
+ <view class="title-before-blue" style="padding-top: 0rpx;padding-bottom: 0rpx;">
+ <view>评价</view>
+ <view class="desc">
+ 7条评论
+ <uni-icons type="right" size="18" color="#B3B3B3"></uni-icons>
+
+ </view>
+ </view>
+ <view v-for="i in 3" :key="i" class="m-t-20 flex user-item">
+ <image class="user-icon m-r-10"></image>
+ <view>
+ <view class="name">用户名3370</view>
+ <view class="comment">非常棒,会回购</view>
+ </view>
+ <view class="stars">
+
+ </view>
+ <view class="date">
+ 04-07 08:00
+ </view>
+ </view>
+ </view>
+
+ </view>
+</template>
+
+<script>
+ export default {
+ data() {
+ return {
+ dto: {
+
+ }
+ }
+ },
+ methods: {
+ openbrand() {
+ uni.navigateTo({
+ url: '/sub_pages/customer/shop/shop?id=' + (this.dto.id || '')
+ })
+ }
+ }
+ }
+</script>
+
+<style lang="scss" scoped>
+ .trade-detail {
+ background-color: #FFFFFF;
+
+ .info-container {
+ padding: 46rpx 30rpx;
+ border-radius: 40rpx 40rpx 0rpx 0rpx;
+
+ .title {
+ font-weight: 600;
+ font-size: 36rpx;
+ color: #000000;
+ line-height: 50rpx;
+
+ .level {
+ color: #20613D;
+ }
+ }
+
+ .desc {
+ font-weight: 400;
+ font-size: 28rpx;
+ color: #666666;
+ line-height: 40rpx;
+ }
+
+ .price {
+ font-weight: 600;
+ font-size: 28rpx;
+ color: #CF0000;
+ line-height: 40rpx;
+
+ .num {
+ font-size: 48rpx;
+ line-height: 66rpx;
+ }
+ }
+
+ .icon-kf {
+ width: 44rpx;
+ height: 44rpx;
+ }
+
+ .gwc {
+ width: 168rpx;
+ height: 48rpx;
+ border-radius: 30rpx;
+ border: 2rpx solid #20613D;
+ font-size: 24rpx;
+ color: #20613D;
+ line-height: 48rpx;
+ text-align: center;
+ }
+
+ }
+
+ .line {
+ min-height: 20rpx;
+ background: #F7F7F7;
+ }
+
+ .info-detail {
+ padding: 18rpx 30rpx;
+
+ .label {
+ font-weight: 400;
+ font-size: 28rpx;
+ color: #666666;
+ line-height: 40rpx;
+ min-width: 160rpx;
+ margin-right: 20rpx;
+ }
+
+ .value {
+ font-weight: 400;
+ font-size: 28rpx;
+ color: #666666;
+ line-height: 40rpx;
+ }
+ }
+
+ .shop-recommend-title {
+ font-weight: 400;
+ font-size: 24rpx;
+ color: #666666;
+ line-height: 34rpx;
+ }
+
+
+ .shop-recommend-container {
+ padding: 24rpx 30rpx;
+
+ .shop-recommend {
+ .shop-recommend-image {
+ width: 214rpx;
+ height: 214rpx;
+ background-size: 100% 100%;
+ border-radius: 8rpx;
+ }
+
+ .shop-recommend-title {
+ font-weight: 600;
+ font-size: 28rpx;
+ color: #000000;
+ line-height: 40rpx;
+
+ .level {
+ color: #20613D;
+ ;
+ }
+ }
+ }
+ }
+
+ .comment-container {
+ padding: 18rpx 30rpx;
+
+ .desc {
+ font-weight: 400;
+ font-size: 24rpx;
+ color: #666666;
+ line-height: 34rpx;
+ }
+
+ .user-item {
+ .user-icon {
+ width: 72rpx;
+ height: 72rpx;
+ background-size: 100% 100%;
+ border-radius: 50%;
+ }
+
+ .name {
+ font-weight: 600;
+ font-size: 24rpx;
+ color: #000000;
+ line-height: 34rpx;
+ }
+
+ .comment {
+ font-weight: 400;
+ font-size: 24rpx;
+ color: #666666;
+ line-height: 34rpx;
+ }
+
+ .date {
+ font-weight: 400;
+ font-size: 24rpx;
+ color: #666666;
+ line-height: 72rpx;
+ }
+ }
+ }
+
+
+ .top-img-container {
+ position: relative;
+
+ .top-img {
+ width: 750rpx;
+ height: 764rpx;
+ }
+
+ .icon-container {
+ position: absolute;
+ top: 20rpx;
+ width: 80rpx;
+ height: 80rpx;
+ background: rgba(0, 0, 0, 0.42);
+
+ .icon-sc {
+ width: 54rpx;
+ height: 54rpx;
+ margin: 0 auto;
+ margin-top: 12rpx;
+ }
+
+ .icon-shop {
+ width: 54rpx;
+ height: 54rpx;
+ margin: 0 auto;
+ margin-top: 12rpx;
+ }
+
+ .num {
+ font-weight: 400;
+ font-size: 20rpx;
+ color: #FFFFFF;
+ line-height: 28rpx;
+ position: absolute;
+ top: 6prx;
+ right: 16rpx;
+ }
+ }
+
+ .icon-container:last-child {
+ left: 120rpx;
+ }
+
+ .icon-container:first-child {
+ left: 20rpx;
+ }
+
+ }
+ }
+</style>
\ No newline at end of file
diff --git a/sub_pages/customer/trade/list.vue b/sub_pages/customer/trade/list.vue
index 66d74ea..edc0e59 100644
--- a/sub_pages/customer/trade/list.vue
+++ b/sub_pages/customer/trade/list.vue
@@ -51,7 +51,7 @@
</view>
</view>
</view>
- <view class="item flex" v-for="(item,index) of list" :key="index"
+ <view class="component-shop-item flex" v-for="(item,index) of list" :key="index"
@click="toDetail(item)">
<view class="img">
<image class="img img100"
@@ -107,7 +107,10 @@
</view>
<!-- 判断是否到底了,自动吧 -->
- <footer-msg :more="page.total>0&&page.total>page.current*page.size"></footer-msg>
+ <footer-msg :more="page.total>0&&page.total>page.current*page.size"></footer-msg>
+
+
+
</view>
</template>
@@ -229,98 +232,7 @@
}
}
- .item {
- margin-top: 20rpx;
- background: #FFFFFF;
- border-radius: 8rpx;
- padding: 10rpx;
-
- .info-container {
- position: relative;
-
- .other-info {
- margin-top: 6rpx;
- font-size: 24rpx;
- color: #666666;
- line-height: 34rpx;
- text-align: left;
- }
-
- .shop-name {
- margin-top: 14rpx;
- font-size: 24rpx;
- color: #666666;
- line-height: 34rpx;
- }
-
- .bottom-buttons {
- // width: 400rpx;
- position: absolute;
- bottom: 0rpx;
-
- left: 0;
- right: 0;
-
- .icons {
- margin-left: auto;
- margin-right: 0rpx;
- margin-top: -10rpx;
-
- .curnums {
- line-height: 60rpx;
- margin-left: 12rpx;
- margin-right: 12rpx;
- }
- }
- }
-
- .title {
- font-weight: 600;
- font-size: 32rpx;
- color: #000000;
- line-height: 44rpx;
- margin-top: 8rpx;
- position: relative;
-
- .price {
- position: absolute;
- font-weight: 400;
- font-size: 28rpx;
- color: #CF0000;
- line-height: 40rpx;
- top: 0;
- right: 0;
- }
- }
-
- }
-
- .img {
- width: 206rpx;
- height: 206rpx;
- border-radius: 8rpx;
- position: relative;
-
- .level {
- position: absolute;
- width: 66rpx;
- height: 44rpx;
- background: #20613D;
- left: 0;
- top: 0;
- border-top-left-radius: 8rpx;
- border-bottom-right-radius: 8rpx;
- color: #FFFFFF;
- line-height: 44rpx;
- font-size: 24rpx;
- text-align: center;
- }
-
- }
-
-
- }
-
+
.icon-shop {
position: absolute;
position: fixed;
diff --git a/sub_pages/customer/trade/trade.vue b/sub_pages/customer/trade/trade.vue
index 4539785..1964099 100644
--- a/sub_pages/customer/trade/trade.vue
+++ b/sub_pages/customer/trade/trade.vue
@@ -1,6 +1,6 @@
<template>
<view class="container-trade" style="min-height: calc(100vh - 20rpx );">
- <view class="search-container m-t-12 flex" v-if="!(!list||list.length==0)&&true">
+ <view class="search-container m-t-12 flex" v-if="!(!list||list.length==0)&&true&&!hidefooter">
<view class="flex1 input">
<u-input placeholder="请输入分类名称" v-model="query.name">
<template slot="suffix">
@@ -23,8 +23,8 @@
</view>
<view class="canteen-item-container">
<view class="component-filter-container" style="padding-top: 12rpx;">
- <view class="flex1">
- 销量
+ <view class="flex1" @click="openParamPop">
+ 筛选
</view>
<view class="flex1">
颜色<image src="../../../static/common/icon-arrow-down.png" class="icon-arrow-down"></image>
@@ -69,10 +69,30 @@
- <view style="min-height:200rpx">
+ <view style="min-height:200rpx" v-if="!hidefooter">
</view>
- <common-footer flg="1"></common-footer>
+ <common-footer flg="1" v-if="!hidefooter">></common-footer>
+ <uni-popup ref="popup_param" type="bottom">
+ <view class="component-popup_input_all" v-if="currentCategory&¤tCategory.params">
+ <view class="text-center m-b-40" style="font-size: 48rpx;font-weight: 600;">商品参数设置</view>
+ <!-- 输入框-->
+ <view v-for="(item,i) in currentCategory.params" :key="i" class="m-t-20">
+ <view class="title topic-font" style="font-size: 40rpx;font-weight: 600;">{{item.name}}</view>
+ <view class="m-t-12 flex value-items">
+ <view class="value-item" @click="updateValue(item,each)" :class="[item.value===each?'cur':'']"
+ v-for="(each, j) in item.values" :key="j">
+ {{each || '-'}}
+ </view>
+ </view>
+ </view>
+ <view class="button-space"></view>
+ <view>
+ <view class="button-green button-white" @click="closeParamPop">关闭</view>
+ <view class="button-green" @click="updateParamsAndSearch">查询</view>
+ </view>
+ </view>
+ </uni-popup>
</view>
</template>
@@ -81,6 +101,9 @@
mapState
} from 'vuex'
export default {
+ props: {
+ hidefooter: false,
+ },
data() {
return {
list: [],
@@ -89,6 +112,7 @@
name: '',
categoryId: '',
},
+ currentCategory: {}
}
},
@@ -98,6 +122,7 @@
this.list = data || []
if (this.list.length > 0) {
this.query.categoryId = this.list[0].id || ''
+ this.currentCategory = this.list[0] || {}
}
}).finally(() => {
uni.stopPullDownRefresh()
@@ -111,10 +136,23 @@
this.list = data || []
if (this.list.length > 0) {
this.query.categoryId = this.list[0].id || ''
+ this.currentCategory = this.list[0] || {}
}
})
},
- methods: {
+ methods: {
+ async updateParamsAndSearch(){
+ //todo 设置参数并查询
+ await this.refreshList()
+ this.$refs.popup_param.close()
+ },
+ openParamPop() {
+ //todo 同时设置查询参数为空吧
+ this.$refs.popup_param.open()
+ },
+ closeParamPop() {
+ this.$refs.popup_param.close()
+ },
buttonSearchFlow() {
//根据名称查询
this.$message.showLoading()
@@ -127,8 +165,10 @@
this.list = data || []
if (this.list.length > 0) {
this.query.categoryId = this.list[0].id || ''
+ this.currentCategory = this.list[0] || {}
} else {
this.query.categoryId = ''
+ this.currentCategory = {}
}
}).finally(() => {
this.$message.hideLoading()
@@ -142,6 +182,7 @@
},
changeType(item) {
this.query.categoryId = item.id || ''
+ this.currentCategory = item
},
@@ -193,7 +234,7 @@
margin: 0rpx 30rpx 20rpx 30rpx;
}
-
+
.type-list {
max-width: 178rpx;
diff --git a/sub_pages/supplier/flower-manage/flower-add.vue b/sub_pages/supplier/flower-manage/flower-add.vue
index 6b653e7..a0d59fa 100644
--- a/sub_pages/supplier/flower-manage/flower-add.vue
+++ b/sub_pages/supplier/flower-manage/flower-add.vue
@@ -179,27 +179,24 @@
:columns="columns_levels"></u-picker>
- <uni-popup ref="popup_param" type="top">
- <view class="component-popup_input" v-if="dto.params">
+ <uni-popup ref="popup_param" type="bottom">
+ <view class="component-popup_input_all" v-if="dto.params">
<view class="text-center m-b-40" style="font-size: 48rpx;font-weight: 600;">商品参数设置</view>
<!-- 输入框-->
- <view v-for="(item,i) in dto.params" :key="i" class="m-b-20">
- <view class="title topic-font" style="font-size: 36rpx;font-weight: 600;">{{item.name}}</view>
- <view class="m-t-12">
- <u-radio-group v-model="item.value" placement="row">
- <u-radio
- :customStyle="{'margin-bottom': '16rpx','margin-right': '24rpx','font-size':'28rpx'}"
- v-for="(each, j) in item.values" :key="j" :label="each" :name="each">
- </u-radio>
- </u-radio-group>
+ <view v-for="(item,i) in dto.params" :key="i" class="m-t-20">
+ <view class="title topic-font" style="font-size: 40rpx;font-weight: 600;">{{item.name}}</view>
+ <view class="m-t-12 flex value-items">
+ <view class="value-item" @click="updateValue(item,each)" :class="[item.value===each?'cur':'']"
+ v-for="(each, j) in item.values" :key="j">
+ {{each || '-'}}
+ </view>
</view>
</view>
- <!-- 提交按钮 -->
+ <view class="button-space"></view>
<view class="button-green" @click="closeParamPop">确定</view>
</view>
</uni-popup>
- <!-- <dying318picker :picker-list="columns_categorys" ref="picker_category" @confirm="confirmPickerCategory">
- </dying318picker> -->
+
</view>
</template>
@@ -312,6 +309,12 @@
},
methods: {
+ updateValue(item, value) {
+ item.value = value
+ this.$set(item, 'value', value)
+ this.$forceUpdate()
+ console.log('updateValue')
+ },
async updateSearch(search) {
this.columns_categorys_search = search || ''
this.columns_categorys_picker = []
--
Gitblit v1.9.3