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/self/collect.vue | 384 ++++++++++++++++++++++++++++++++++-------------------- 1 files changed, 240 insertions(+), 144 deletions(-) diff --git a/sub_pages/customer/self/collect.vue b/sub_pages/customer/self/collect.vue index f3350c1..0dd0f95 100644 --- a/sub_pages/customer/self/collect.vue +++ b/sub_pages/customer/self/collect.vue @@ -1,156 +1,252 @@ -<template> - <view class="page-collect"> - <view class="search-container m-t-12 flex"> - <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> - </template> - </u-input> - </view> - </view> - <view class="component-filter-container"> - <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> - - <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" v-for="(dto,index) of list" :key="index"> - <view class="title"> - <view class="level m-r-15">{{ dto.levelStr || '-' }}级</view> - <view class=""> - {{ dto.name || '-' }} - </view> - </view> - <view class="desc m-t-12"> - <view class="m-r-15">已售:{{ dto.sales || 0 }}</view> - <view class="m-r-15">剩余:{{ dto.stock || 0 }}</view> - <view class=" ">{{ dto.unit || '-' }}支/扎</view> - </view> - <view class="flex m-t-12"> - <view class="price m-r-a"> - <span class="num">{{ dto.price || '-' }}</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" @click="submitShopping(dto)"> - + 购物车 - </view> - </view> - </view> - - </view> - </view> -</template> - <script> -export default { - async onPullDownRefresh() { - await this.refreshList() - uni.stopPullDownRefresh() - }, - data() { - return { - query: { - name: '', - levelStr: '', - level: '', - column: '', - columnStr: '', - }, - level_show: false, - level_columns: [[]], + 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/collect/list' - this.getList() + order_show: false, + order_columns: [ + [] + ] + } + }, + onLoad() { + this.listApi = '/api/collect/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.columns_levels[0].unshift({ - label: '全部', - value: '' - }) - }) + 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: { - select_level(e) { - this.level_show = false - this.query.levelStr = e.value[0].label - this.query.level = e.value[0].value - this.refreshList() + 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() + }, + 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 { - .search-container { - display: flex; - margin: 12rpx 0rpx 20rpx 0rpx; - position: relative; - z-index: 1; + .page-collect { + min-height: 99vh; - .input { - background-color: #fff !important; - border-radius: 8rpx; - } + .search-container { + display: flex; + margin: 12rpx 0rpx 20rpx 0rpx; + position: relative; + z-index: 1; - .button { - min-width: 120rpx; - max-width: 120rpx; - margin-left: auto; - margin-right: 0rpx; - text-align: right; - line-height: 70rpx !important; - } - } -} + .input { + background-color: #fff !important; + border-radius: 8rpx; + } -</style> + .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 -- Gitblit v1.9.3