From badafedccb814258fa54156b558458fa04191f8d Mon Sep 17 00:00:00 2001
From: xuxueyang <xuxy@fengyuntec.com>
Date: 星期二, 30 七月 2024 11:42:48 +0800
Subject: [PATCH] update
---
sub_pages/customer/trade/list.vue | 13 +
pages/home/home.vue | 2
sub_pages/customer/self/history.vue | 252 +++++++++++++++++++++++++++++++
pages.json | 7
store/index.js | 16 ++
sub_pages/customer/trade/detail.vue | 30 +++
pages/user/user-pwd/user-pwd.vue | 40 +++-
manifest.json | 2
sub_pages/customer/self/collect.vue | 8
pages/login/supplier-reg.vue | 5
sub_pages/customer/shop/shop.vue | 4
sub_pages/partner/markup-config/markup-config.vue | 2
sub_pages/customer/trade/trade.vue | 55 ++++++
pages/user/supplier-user.vue | 21 +
14 files changed, 414 insertions(+), 43 deletions(-)
diff --git a/manifest.json b/manifest.json
index 651a10c..7911942 100644
--- a/manifest.json
+++ b/manifest.json
@@ -49,7 +49,7 @@
"quickapp" : {},
/* 快应用特有相关 */
"mp-weixin" : {
- "appid" : "wx1441324401626290",
+ "appid" : "wx6d0ecc4e18710458",
"setting" : {
"urlCheck" : false,
"es6" : true,
diff --git a/pages.json b/pages.json
index ce91a3e..1fc9c7a 100644
--- a/pages.json
+++ b/pages.json
@@ -304,6 +304,13 @@
"navigationBarTitleText": "我的关注",
"enablePullDownRefresh": true
}
+ },
+ {
+ "path": "self/history",
+ "style": {
+ "navigationBarTitleText": "浏览记录",
+ "enablePullDownRefresh": true
+ }
},
{
"path": "self/collect",
diff --git a/pages/home/home.vue b/pages/home/home.vue
index 539d789..f96d8b9 100644
--- a/pages/home/home.vue
+++ b/pages/home/home.vue
@@ -23,7 +23,7 @@
<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>
+ <uni-icons color="#20613D" type="search" size="24" @click="buttonSearchFlow"></uni-icons>
</template>
</u-input>
</view>
diff --git a/pages/login/supplier-reg.vue b/pages/login/supplier-reg.vue
index 85089a8..f493427 100644
--- a/pages/login/supplier-reg.vue
+++ b/pages/login/supplier-reg.vue
@@ -35,6 +35,9 @@
<view class="t-a titles-top">
<view class="title-1">HELLO</view>
<view class="title-2">欢迎入驻<span class="title-3">花满芫</span></view>
+ <!-- #ifdef PUB_CUSTOMER -->
+ <view class="title-2">{{!partnerId?'未绑定合伙人':`已绑定${partnerName}`}}</view>
+ <!-- #endif -->
</view>
@@ -72,7 +75,7 @@
<!-- #ifdef PUB_CUSTOMER -->
<!-- open-type="getUserInfo"-->
<button @tap="wxreg('')"
- class="bottom-button">注册,{{!partnerId?'未绑定合伙人':`已绑定${partnerName}`}}</button>
+ class="bottom-button">注 册</button>
<!-- #endif -->
diff --git a/pages/user/supplier-user.vue b/pages/user/supplier-user.vue
index c0a7541..36cc797 100644
--- a/pages/user/supplier-user.vue
+++ b/pages/user/supplier-user.vue
@@ -22,10 +22,10 @@
||currentInfo.supplierDTO&¤tInfo.supplierDTO.cover
" :src="currentInfo.picture
||currentInfo.customerDTO&¤tInfo.customerDTO.cover
- ||currentInfo.supplierDTO&¤tInfo.supplierDTO.cover" mode="aspectFit"></image>
+ ||currentInfo.supplierDTO&¤tInfo.supplierDTO.cover" mode="scaleToFill"></image>
<image class="user-icon" v-else
src='https://youzhen123.oss-cn-huhehaote.aliyuncs.com/WechatOwnerProperty/images/mrtx.png'
- mode="aspectFit"></image>
+ mode="scaleToFill"></image>
<view class="name" v-if="currentInfo.id">
<view class="t1">
@@ -49,19 +49,19 @@
</view>
<!-- #ifdef PUB_CUSTOMER -->
<view class="customer-info-records">
- <view class="item">
- <view class="num" @click="goto('/sub_pages/customer/self/collect',true)">{{ tj.collectNum || 0 }}
+ <view class="item" @click="goto('/sub_pages/customer/self/collect',true)">
+ <view class="num">{{ tj.collectNum || 0 }}
</view>
<view class="name">我的收藏</view>
</view>
<view class="line"></view>
- <view class="item">
- <view class="num" @click="goto('/sub_pages/customer/self/follow',true)">{{ tj.followNum || 0 }}
+ <view class="item" @click="goto('/sub_pages/customer/self/follow',true)">
+ <view class="num">{{ tj.followNum || 0 }}
</view>
<view class="name">关注店铺</view>
</view>
<view class="line"></view>
- <view class="item">
+ <view class="item" @click="goto('/sub_pages/customer/self/history',true)">
<view class="num">{{ tj.browseNum || 0 }}</view>
<view class="name">浏览记录</view>
</view>
@@ -187,6 +187,13 @@
<uni-icons type="right"></uni-icons>
</view>
</view>
+ <view class="user-util m-t-12 flex" v-if="selftype==='customer'" @click="clearlogout">
+ <view class="title">退出登录</view>
+ <view class="right-icon">
+ <uni-icons type="right"></uni-icons>
+ </view>
+ </view>
+
<view class="user-util m-t-12 " v-if="selftype==='supplier'||selftype==='customer' || !selftype">
<view class="title">我的客服</view>
<view class="flex">
diff --git a/pages/user/user-pwd/user-pwd.vue b/pages/user/user-pwd/user-pwd.vue
index 51ffd75..167a751 100644
--- a/pages/user/user-pwd/user-pwd.vue
+++ b/pages/user/user-pwd/user-pwd.vue
@@ -4,18 +4,29 @@
<!-- <u-form-item :label-position="labelPosition" label="原始密码" label-width="150" prop="oldpassword">
<u-input :border="border" type="password" v-model="model.oldpassword" placeholder="请确认密码"></u-input>
</u-form-item> -->
-<!-- <u-form-item :label-position="labelPosition" label="旧密码" prop="oldpassword" label-width="150">
+ <!-- <u-form-item :label-position="labelPosition" label="旧密码" prop="oldpassword" label-width="150">
<u-input :password-icon="true" :border="border" type="password" v-model="model.oldpassword"
placeholder="请输入旧密码"></u-input>
</u-form-item>
<u-divider></u-divider> -->
<u-form-item :label-position="labelPosition" label="新密码" prop="password" label-width="150">
- <u-input :password-icon="true" :border="border" type="password" v-model="model.password"
- placeholder="请输入新密码"></u-input>
+ <u-input :password-icon="true" :border="border" :type="showPassword1?'text':'password'"
+ v-model="model.password" placeholder="请输入新密码">
+ <template slot="suffix">
+ <uni-icons color="#20613D" :type="showPassword1 ? 'eye-slash-filled' : 'eye-filled'" size="24"
+ @click="showPassword1=!showPassword1"></uni-icons>
+ </template>
+ </u-input>
</u-form-item>
<u-divider></u-divider>
<u-form-item :label-position="labelPosition" label="确认密码" label-width="150" prop="rePassword">
- <u-input :border="border" type="password" v-model="model.rePassword" placeholder="请确认密码"></u-input>
+ <u-input :password-icon="true" :border="border" :type="showPassword2?'text':'password'" v-model="model.rePassword"
+ placeholder="请确认密码">
+ <template slot="suffix">
+ <uni-icons color="#20613D" :type="showPassword2 ? 'eye-slash-filled' : 'eye-filled'" size="24"
+ @click="showPassword2=!showPassword2"></uni-icons>
+ </template>
+ </u-input>
</u-form-item>
</u-form>
<!-- <u-button @click="submit">提交</u-button> -->
@@ -36,7 +47,8 @@
password: '',
rePassword: ''
},
-
+ showPassword1: false,
+ showPassword2:false,
rules: {
// oldpassword: [
// {
@@ -52,17 +64,15 @@
// // }
// ],
oldpassword: [{
- required: true,
- message: '请输入旧密码',
- trigger: ['change', 'blur']
- }
- ],
+ required: true,
+ message: '请输入旧密码',
+ trigger: ['change', 'blur']
+ }],
password: [{
- required: true,
- message: '请输入密码',
- trigger: ['change', 'blur']
- }
- ],
+ required: true,
+ message: '请输入密码',
+ trigger: ['change', 'blur']
+ }],
rePassword: [{
required: true,
message: '请重新输入密码',
diff --git a/store/index.js b/store/index.js
index 9f5be1f..5000bdd 100644
--- a/store/index.js
+++ b/store/index.js
@@ -415,6 +415,22 @@
}
return resp
},
+ countShopping: async function({
+ commit,
+ dispatch,
+ state
+ }, data) {
+ if(state.currentInfo.id){
+ const resp = await http.request('get', '/api/customer/flower/cart/flower/count', {})
+ if (resp && resp.code === 0) {
+ return resp.data || 0
+ } else {
+ return 0
+ }
+ }
+ return 0
+ },
+
}
})
diff --git a/sub_pages/customer/self/collect.vue b/sub_pages/customer/self/collect.vue
index d5ec579..0dd0f95 100644
--- a/sub_pages/customer/self/collect.vue
+++ b/sub_pages/customer/self/collect.vue
@@ -97,7 +97,7 @@
<view class="flex1 input">
<u-input placeholder="请输入花名" v-model="query.name">
<template slot="suffix">
- <uni-icons color="#20613D" type="search" size="24" @tap="refreshList"></uni-icons>
+ <uni-icons color="#20613D" type="search" size="24" @click="refreshList"></uni-icons>
</template>
</u-input>
</view>
@@ -130,9 +130,9 @@
<view class="flex">
<view class="title">
<span class="m-r-5" style="display: inline-block;"
- v-if="item.categoryStr">{{item.categoryStr||''}}</span>
- <span v-if="item.levelStr" class="m-r-5"
- style="display: inline-block;">{{ item.levelStr || '' }}</span>
+ v-if="dto.categoryStr">{{dto.categoryStr||''}}</span>
+ <span v-if="dto.levelStr" class="m-r-5"
+ style="display: inline-block;">{{ dto.levelStr || '' }}</span>
{{ dto.name || '-' }}
</view>
<view class="price m-l-a m-r-0">
diff --git a/sub_pages/customer/self/history.vue b/sub_pages/customer/self/history.vue
new file mode 100644
index 0000000..84d81a4
--- /dev/null
+++ b/sub_pages/customer/self/history.vue
@@ -0,0 +1,252 @@
+<script>
+ export default {
+ async onPullDownRefresh() {
+ await this.refreshList()
+ uni.stopPullDownRefresh()
+ },
+ data() {
+ return {
+ query: {
+ name: '',
+ levelStr: '',
+ level: '',
+ column: '',
+ columnStr: '',
+ },
+ level_show: false,
+ level_columns: [
+ []
+ ],
+
+ order_show: false,
+ order_columns: [
+ []
+ ]
+ }
+ },
+ onLoad() {
+ this.listApi = '/api/browse/history/list'
+ this.getList()
+
+ this.$http.request('get', '/api/code/value', {
+ params: {
+ type: 'FLOWER_LEVEL'
+ }
+ }).then(res => {
+ var data = res.data
+ this.level_columns = [data || []]
+ this.level_columns[0].unshift({
+ label: '全部',
+ value: ''
+ })
+ })
+
+ this.$http.request('get', '/api/code/value', {
+ params: {
+ type: 'FLOWER_ORDER_BY'
+ }
+ }).then(res => {
+ var data = res.data
+ this.order_columns = [data || []]
+ this.order_columns[0].unshift({
+ label: '默认',
+ value: ''
+ })
+ })
+ },
+ methods: {
+ toDetail(item) {
+ if (item.status == 'UP') {
+
+ } else {
+ this.$message.showToast('已失效,无法查看详情')
+ return
+ }
+ uni.navigateTo({
+ url: `/sub_pages/customer/trade/detail?id=${item.id}`
+ })
+ },
+ async submitShopping(dto) {
+ //提交到购物车中
+ this.$message.showLoading()
+ await this.$store.dispatch('submitShopping', dto);
+ this.$message.hideLoading()
+ },
+ select_level(e) {
+ this.level_show = false
+ this.query.levelStr = e.value[0].label
+ this.query.level = e.value[0].value
+ this.refreshList()
+
+ },
+ select_order(e) {
+ this.order_show = false
+ this.query.columnStr = e.value[0].label
+ this.query.column = e.value[0].value
+ this.refreshList()
+
+ },
+ }
+ }
+</script>
+
+<template>
+ <view class="page-collect " style="background: #E1F0E7;">
+ <view style="padding-bottom: 0rpx;" class="p20">
+ <view class="search-container flex">
+ <view class="flex1 input">
+ <u-input placeholder="请输入花名" v-model="query.name">
+ <template slot="suffix">
+ <uni-icons color="#20613D" type="search" size="24" @click="refreshList"></uni-icons>
+ </template>
+ </u-input>
+ </view>
+ </view>
+ <view class="component-filter-container p10">
+ <view class="flex1" @click.stop="order_show=true">
+ {{ this.query.columnStr || '排序' }}
+ <image src="../../../static/common/icon-arrow-down.png" class="icon-arrow-down"></image>
+ </view>
+ <view class="flex1" @click.stop="level_show=true">
+ {{ this.query.levelStr || '级别' }}
+ <image src="../../../static/common/icon-arrow-down.png" class="icon-arrow-down"></image>
+ </view>
+ </view>
+ </view>
+
+ <no-data v-if="!list||list.length===0" style="width: 100%;"></no-data>
+
+
+ <u-picker :show="level_show" @confirm="select_level" keyName="label" :columns="level_columns"
+ @cancel="level_show=false"></u-picker>
+ <u-picker :show="order_show" @confirm="select_order" keyName="label" :columns="order_columns"
+ @cancel="order_show=false"></u-picker>
+
+ <view class="trade-list-container">
+ <view class="trade-info-container flex" v-for="(dto,index) of list" :key="index"
+ @click.stop="toDetail(dto)">
+ <image class="img img100 br-4 m-r-10" :src="dto.url||dto.cover"></image>
+ <view class="flex1">
+ <view class="flex">
+ <view class="title">
+ <span class="m-r-5" style="display: inline-block;"
+ v-if="dto.categoryStr">{{dto.categoryStr||''}}</span>
+ <span v-if="dto.levelStr" class="m-r-5"
+ style="display: inline-block;">{{ dto.levelStr || '' }}</span>
+ {{ dto.name || '-' }}
+ </view>
+ <view class="price m-l-a m-r-0">
+ ¥{{ dto.price || '-' }}/扎
+ </view>
+ </view>
+ <view class="flex">
+ <view class="desc m-t-12 flex">
+ <view class="m-r-15">剩余:{{ dto.stock || 0 }}</view>
+ <view class="m-r-15">颜色:{{ dto.color || '-' }}</view>
+ </view>
+ <view class="button-icons flex m-l-a m-r-0 m-t-20" v-if="dto.status=='UP'">
+ <view class="m-r-0 gwc" @click.stop="submitShopping(dto)">
+ + 购物车
+ </view>
+ </view>
+ </view>
+ </view>
+
+ </view>
+
+ </view>
+ </view>
+</template>
+
+<style lang="scss" scoped>
+ .page-collect {
+ min-height: 99vh;
+
+ .search-container {
+ display: flex;
+ margin: 12rpx 0rpx 20rpx 0rpx;
+ position: relative;
+ z-index: 1;
+
+ .input {
+ background-color: #fff !important;
+ border-radius: 8rpx;
+ }
+
+ .button {
+ min-width: 120rpx;
+ max-width: 120rpx;
+ margin-left: auto;
+ margin-right: 0rpx;
+ text-align: right;
+ line-height: 70rpx !important;
+ }
+ }
+
+ .trade-info-container {
+ background-color: #fff;
+ border-top-right-radius: 40rpx;
+ border-top-left-radius: 40rpx;
+ padding: 30rpx;
+ overflow: hidden;
+ min-height: calc(100vh - 300rpx);
+ overflow-y: scroll;
+
+ .img {
+ width: 124rpx;
+ height: 124rpx;
+ }
+
+ .title {
+ font-weight: 600;
+ font-size: 28rpx;
+
+ color: #000000;
+ line-height: 40rpx;
+
+ .level {
+ color: #20613D;
+ }
+ }
+
+ .price {
+ font-weight: 400;
+ font-size: 28rpx;
+ color: #CF0000;
+ line-height: 40rpx;
+ }
+
+ .desc {
+ font-weight: 400;
+ font-size: 24rpx;
+ color: #666666;
+ line-height: 34rpx;
+ }
+
+
+ .button-icons {
+ //position: absolute;
+ //z-index: 10;
+ line-height: 40rpx;
+
+ .curnums {
+ margin-left: 10rpx;
+ margin-right: 10rpx;
+ }
+ }
+
+ .gwc {
+ width: 168rpx;
+ height: 48rpx;
+ border-radius: 30rpx;
+ border: 2rpx solid #20613D;
+ font-size: 24rpx;
+ color: #20613D;
+ line-height: 48rpx;
+ text-align: center;
+ }
+
+ }
+
+ }
+</style>
\ No newline at end of file
diff --git a/sub_pages/customer/shop/shop.vue b/sub_pages/customer/shop/shop.vue
index 8808e70..82c1522 100644
--- a/sub_pages/customer/shop/shop.vue
+++ b/sub_pages/customer/shop/shop.vue
@@ -339,9 +339,9 @@
})
this.$message.hideLoading()
if (code === 0) {
- item.shopnum += addnum
+ item.shopnum += addnum
+ this.$forceUpdate()
}
- this.$forceUpdate()
},
}
diff --git a/sub_pages/customer/trade/detail.vue b/sub_pages/customer/trade/detail.vue
index 36de112..34afd53 100644
--- a/sub_pages/customer/trade/detail.vue
+++ b/sub_pages/customer/trade/detail.vue
@@ -13,6 +13,7 @@
</view>
<view class="icon-container">
<image src="../../../static/common/icon-shop.png" @click="toShopping(dto)" class="icon-shop">
+ <view class="image-shop-number">{{shopnum||'1'}}</view>
</image>
</view>
@@ -128,7 +129,8 @@
data() {
return {
id: '',
- dto: {}
+ dto: {},
+ shopnum: 0,
}
},
onLoad(options) {
@@ -136,8 +138,12 @@
if (this.id) {
this.getDetail()
}
+ this.refreshShopNum()
},
methods: {
+ async refreshShopNum() {
+ this.shopnum = await this.$store.dispatch('submitShopping', dto);
+ },
async collectItem(dto) {
await this.$message.confirm(`是否${dto.collection?'移除':'添加到'}收藏`)
this.$message.showLoading()
@@ -166,6 +172,7 @@
this.$message.showLoading()
await this.$store.dispatch('submitShopping', dto);
this.$message.hideLoading()
+ this.refreshShopNum()
},
async getDetail() {
this.$message.showLoading()
@@ -202,7 +209,20 @@
<style lang="scss" scoped>
.trade-detail {
- background-color: #FFFFFF;
+ background-color: #FFFFFF;
+ .image-shop-number {
+ width: 30rpx;
+ height: 30rpx;
+ background: #F20000;
+ line-height: 30rpx;
+ text-align: center;
+ position: absolute;
+ right: 0rpx;
+ top: -6rpx;
+ color: #FFFFFF;
+ border-radius: 50%;
+ font-size: 24rpx;
+ }
.trade-info-container {
padding: 46rpx 30rpx;
@@ -388,8 +408,10 @@
height: 54rpx;
margin: 0 auto;
margin-top: 12rpx;
- display: inline-block;
-
+ display: inline-block;
+ margin-left: 12rpx;
+ position: relative;
+
}
.num {
diff --git a/sub_pages/customer/trade/list.vue b/sub_pages/customer/trade/list.vue
index 74f6d23..9a5c027 100644
--- a/sub_pages/customer/trade/list.vue
+++ b/sub_pages/customer/trade/list.vue
@@ -224,6 +224,7 @@
if (this.query.category) {
await this.getDetail()
}
+ this.refreshShopNum()
// await this.getList('post')
// this.
@@ -237,7 +238,10 @@
await this.getList('post')
uni.stopPullDownRefresh()
},
- methods: {
+ methods: {
+ async refreshShopNum() {
+ this.shoptotal = await this.$store.dispatch('submitShopping', dto);
+ },
async getDetail() {
this.$message.showLoading()
//获取到分类的详情信息
@@ -355,9 +359,12 @@
})
this.$message.hideLoading()
if (code === 0) {
- item.shopnum += addnum
+ item.shopnum += addnum
+ this.$forceUpdate()
+
+ this.refreshShopNum()
+
}
- this.$forceUpdate()
},
}
}
diff --git a/sub_pages/customer/trade/trade.vue b/sub_pages/customer/trade/trade.vue
index bffd115..d32b933 100644
--- a/sub_pages/customer/trade/trade.vue
+++ b/sub_pages/customer/trade/trade.vue
@@ -44,10 +44,10 @@
</view>
<view class="cateen_infos list">
<view class="title">{{item.name}}</view>
- <view class="price">¥29.01-30.01</view>
+ <view class="price">¥{{minWeightPrice(item)}}-{{maxWeightPrice(item)}}</view>
- <view class="desc">在售14410扎</view>
-
+ <view class="desc">在售 {{item.stock||'-'}} 扎</view>
+
</view>
</view>
@@ -138,6 +138,53 @@
})
},
methods: {
+ maxWeightPrice(item) {
+ var p = 0
+ if (item.weightA && item.weightA > p) {
+ p = item.weightA
+ }
+ if (item.weightB && item.weightB > p) {
+ p = item.weightB
+ }
+ if (item.weightC && item.weightC > p) {
+ p = item.weightC
+ }
+ if (item.weightD && item.weightD > p) {
+ p = item.weightD
+ }
+ if (item.weightE && item.weightE > p) {
+ p = item.weightE
+ }
+ if (item.weightO && item.weightO > p) {
+ p = item.weightO
+ }
+ return p
+ },
+ minWeightPrice(item) {
+ var p = -1
+ if (item.weightA && item.weightA < p) {
+ p = item.weightA
+ }
+ if (item.weightB && item.weightB < p) {
+ p = item.weightB
+ }
+ if (item.weightC && item.weightC < p) {
+ p = item.weightC
+ }
+ if (item.weightD && item.weightD < p) {
+ p = item.weightD
+ }
+ if (item.weightE && item.weightE < p) {
+ p = item.weightE
+ }
+ if (item.weightO && item.weightO < p) {
+ p = item.weightO
+ }
+ if (p < 0) {
+ p = 0
+ }
+ return p
+ },
refInit(catgoryTree) {
this.list = catgoryTree || []
if (this.list.length > 0) {
@@ -329,7 +376,7 @@
font-size: 24rpx;
color: #CF0000;
line-height: 34rpx;
- text-align: center;
+ text-align: left;
}
diff --git a/sub_pages/partner/markup-config/markup-config.vue b/sub_pages/partner/markup-config/markup-config.vue
index 83f25ca..d34bb16 100644
--- a/sub_pages/partner/markup-config/markup-config.vue
+++ b/sub_pages/partner/markup-config/markup-config.vue
@@ -4,7 +4,7 @@
<view class="flex1 input">
<u-input placeholder="请输入分类名称" v-model="query.name" clearable>
<template slot="suffix">
- <uni-icons color="#20613D" type="search" size="24" @tap="refreshList"></uni-icons>
+ <uni-icons color="#20613D" type="search" size="24" @click="refreshList"></uni-icons>
</template>
</u-input>
</view>
--
Gitblit v1.9.3