['核销记录样式改版,新增老板端筛选记录,优惠券首页新增返回按钮']

This commit is contained in:
2021-09-22 12:00:35 +08:00
parent aa1788fa8d
commit 4b23dba0cc
6 changed files with 117 additions and 41 deletions

View File

@@ -479,7 +479,7 @@
"style": { "style": {
"navigationBarTitleText": "扫码验证", "navigationBarTitleText": "扫码验证",
"navigationBarTextStyle": "white", "navigationBarTextStyle": "white",
"navigationBarBackgroundColor": "#039bfe" "navigationBarBackgroundColor": "#076cff"
} }
}, { }, {
"path": "pages/verification/history", "path": "pages/verification/history",
@@ -487,7 +487,7 @@
"style": { "style": {
"navigationBarTitleText": "核销记录", "navigationBarTitleText": "核销记录",
"navigationBarTextStyle": "white", "navigationBarTextStyle": "white",
"navigationBarBackgroundColor": "#f40c50" "navigationBarBackgroundColor": "#076cff"
} }
}, { }, {
"path": "pages/shop/lists", "path": "pages/shop/lists",

View File

@@ -4,7 +4,7 @@
<view style="position: relative;z-index: 3;"> <view style="position: relative;z-index: 3;">
<!-- 搜索... --> <!-- 搜索... -->
<view class="mine-top-contant"> <view class="mine-top-contant">
<u-navbar :is-back="false" :background="background" title="企业优惠券中心" title-color="#fff" <u-navbar back-icon-color='#fff' :background="background" title="企业优惠券中心" title-color="#fff"
:border-bottom='false'> :border-bottom='false'>
</u-navbar> </u-navbar>
<!--banner--> <!--banner-->

View File

@@ -4,7 +4,7 @@
<view style="position: relative;z-index: 3;"> <view style="position: relative;z-index: 3;">
<!-- 搜索... --> <!-- 搜索... -->
<view class="mine-top-contant"> <view class="mine-top-contant">
<u-navbar :is-back="false" :background="background" title="企业优惠券中心" title-color="#fff" <u-navbar :background="background" title="企业优惠券中心" title-color="#fff"
:border-bottom='false'> :border-bottom='false'>
</u-navbar> </u-navbar>
<!--banner--> <!--banner-->

View File

@@ -1,7 +1,7 @@
<template> <template>
<view class="Record" v-if="loaded"> <view class="Record" v-if="loaded">
<view class="record-top"> <view class="record-top">
<image src="/static/images/record_bg.png" mode="widthFix" class="record-bg" /> <image src="/static/images/ver-bg.png" mode="widthFix" class="record-bg" />
<view class="record-top-nav"> <view class="record-top-nav">
<view :class="['record-top-item',type==='year'?'selectTopItem':'']" @click="selectType('year')">按年 <view :class="['record-top-item',type==='year'?'selectTopItem':'']" @click="selectType('year')">按年
</view> </view>
@@ -31,6 +31,18 @@
</view> </view>
</view> </view>
<view class="boss" v-if="isBos">
<view class="boss-left">
<image src="/static/images/boss.png" mode="mode" class="boss-img">我是BOSS
</view>
<view class="boss-right" @click="shopShow = true">
<u-select v-model="shopShow" :list="ShopList" @confirm="shopConfirm" value-name='store_id'
label-name='name' />
门店<u-icon name="arrow-down" color="#606266" label-color='#606266' margin-right='10' label-pos='left'
:label='store_id?store_name:"全部门店"' size="28" />
</view>
</view>
<!-- 列表 --> <!-- 列表 -->
<view class="lists" v-if="lists.length>0"> <view class="lists" v-if="lists.length>0">
<view class="list-item" v-for="(item,index) in lists" :key='index'> <view class="list-item" v-for="(item,index) in lists" :key='index'>
@@ -50,16 +62,18 @@
<image class="good-img" :src="item.goods_sku.cover" mode="aspectFill" /> <image class="good-img" :src="item.goods_sku.cover" mode="aspectFill" />
<view class="list-item-right"> <view class="list-item-right">
<view class="content-item">核销商品数量X {{item.qty}} </view> <view class="content-item">核销商品数量X {{item.qty}} </view>
<view class="content-item" >核销商品规格{{item.goods_sku.unit || '通用规格'}}</view> <view class="content-item">核销商品规格{{item.goods_sku.unit || '通用规格'}}</view>
<view class="content-item">核销时间{{item.used_at}}</view> <view class="content-item">核销时间{{item.used_at}}</view>
</view> </view>
</view> </view>
<view class="list-item-content" v-else> <view class="list-item-content" v-else>
<image class="good-img" v-if='item.source.type ==="goods"' :src="item.source.cover" mode="aspectFill" /> <image class="good-img" v-if='item.source.type ==="goods"' :src="item.source.cover"
mode="aspectFill" />
<view class="list-item-right"> <view class="list-item-right">
<view class="content-item" v-if='item.source.type ==="goods"'>兑换商品名称{{item.source.name}} </view> <view class="content-item" v-if='item.source.type ==="goods"'>兑换商品名称{{item.source.name}}
</view>
<view class="content-item"> 优惠券规格 {{item.coupon.full}} {{item.coupon.price}} </view> <view class="content-item"> 优惠券规格 {{item.coupon.full}} {{item.coupon.price}} </view>
<view class="content-item" >优惠券类型{{item.coupon.type.text}}</view> <view class="content-item">优惠券类型{{item.coupon.type.text}}</view>
<view class="content-item">核销时间{{item.used_at}}</view> <view class="content-item">核销时间{{item.used_at}}</view>
</view> </view>
</view> </view>
@@ -74,7 +88,7 @@
</view> </view>
<!-- 无列表 --> <!-- 无列表 -->
<no-list v-if="lists.length === 0 && scantype === 'goods'" name='no-in' txt="没有任何权证核销记录" /> <no-list v-if="lists.length === 0 && scantype === 'goods'" name='no-in' txt="没有任何权证核销记录" />
<no-list v-if="lists.length === 0 && scantype === 'coupons'" name='no-out' txt="没有任何优惠券记录" /> <no-list v-if="lists.length === 0 && scantype === 'coupons'" name='no-out' txt="没有任何优惠券核销记录" />
<!-- <u-toast ref="uToast" /> --> <!-- <u-toast ref="uToast" /> -->
<u-toast ref="uToast" /> <u-toast ref="uToast" />
@@ -104,7 +118,12 @@
currentMonth: new Date().toISOString().slice(0, 7), currentMonth: new Date().toISOString().slice(0, 7),
currentYear: new Date().toISOString().slice(0, 4), currentYear: new Date().toISOString().slice(0, 4),
account: '', account: '',
loaded:false loaded: false,
shopShow: false,
ShopList: [],
store_name: '',
store_id: '',
isBos:false
} }
}, },
onLoad() { onLoad() {
@@ -130,21 +149,23 @@
page: this.page, page: this.page,
date_type: this.type, date_type: this.type,
date: this.date, date: this.date,
type: 'my' store_id:this.store_id
} }
let apiUrl = '' let apiUrl = ''
if(this.scantype === 'goods'){ if (this.scantype === 'goods') {
apiUrl = 'manages/warrants/logs' apiUrl = 'manages/warrants/logs'
}else{ } else {
apiUrl = 'coupons/verify/logs/coupons' apiUrl = 'coupons/verify/logs/coupons'
} }
scanList(apiUrl,data).then(res => { scanList(apiUrl, data).then(res => {
console.log(res) console.log(res)
this.account = res.all this.account = res.all
this.lists = this.lists.concat(res.lists.data) this.lists = this.lists.concat(res.lists.data)
this.has_more = res.lists.page.has_more this.has_more = res.lists.page.has_more
this.loaded = true this.loaded = true
this.ShopList = [{name:'全部',store_id:''},...res.stores]
this.isBos = res.isBos
}).catch(err => { }).catch(err => {
this.$refs.uToast.show({ this.$refs.uToast.show({
title: err.message, title: err.message,
@@ -157,6 +178,7 @@
selectCoinType(type) { selectCoinType(type) {
if (this.scantype !== type) { if (this.scantype !== type) {
this.scantype = type this.scantype = type
this.store_id = ''
this.reset() this.reset()
} }
}, },
@@ -180,6 +202,7 @@
day: false day: false
} }
this.date = this.currentYear this.date = this.currentYear
this.store_id = ''
this.reset() this.reset()
break; break;
case 'month': case 'month':
@@ -190,6 +213,7 @@
day: false day: false
} }
this.date = this.currentMonth this.date = this.currentMonth
this.store_id = ''
this.reset() this.reset()
break; break;
case 'day': case 'day':
@@ -200,12 +224,13 @@
day: false day: false
} }
this.date = this.currentDay this.date = this.currentDay
this.store_id = ''
this.reset() this.reset()
break; break;
} }
} }
}, },
// 点击确认按钮 // 点击确认按钮年月日
confirm(e) { confirm(e) {
let type = this.type let type = this.type
switch (type) { switch (type) {
@@ -222,6 +247,12 @@
this.reset() this.reset()
break; break;
} }
},
// 筛选门店信息
shopConfirm(e) {
this.store_id = e[0].value
this.store_name = e[0].label
this.reset()
} }
} }
} }
@@ -238,7 +269,7 @@
.record-top { .record-top {
width: calc(100% - 60rpx); width: calc(100% - 60rpx);
height: 360rpx; height: 360rpx;
background-image: linear-gradient(to left, #f40c50, #f40c50); background-image: linear-gradient(to left, #076cff, #076cff);
box-shadow: 0 10rpx 20rpx 0rpx rgba($color: $main-color, $alpha: 0.4); box-shadow: 0 10rpx 20rpx 0rpx rgba($color: $main-color, $alpha: 0.4);
margin: 0 30rpx; margin: 0 30rpx;
border-radius: 20rpx; border-radius: 20rpx;
@@ -337,10 +368,46 @@
} }
} }
.boss {
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
box-sizing: border-box;
padding: 30rpx;
background-color: #fff;
.boss-left {
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
box-sizing: border-box;
font-size: 32rpx;
font-weight: bold;
}
.boss-right {
font-size: 28rpx;
u-icon {
padding-left: 20rpx;
}
}
.boss-img {
width: 90rpx;
height: 90rpx;
border-radius: 50%;
margin-right: 20rpx;
}
}
// 列表 // 列表
.lists { .lists {
box-shadow: 0 10rpx 20rpx 0rpx rgba($color: #000, $alpha: 0.4); // box-shadow: 0 10rpx 20rpx 0rpx rgba($color: #000, $alpha: 0.4);
padding: 20rpx; padding: 20rpx;
.list-item { .list-item {
background-color: #fff; background-color: #fff;
width: 100%; width: 100%;
@@ -357,14 +424,16 @@
justify-content: space-between; justify-content: space-between;
box-sizing: border-box; box-sizing: border-box;
padding: 20rpx 0; padding: 20rpx 0;
.left{
.left {
flex: 1; flex: 1;
display: flex; display: flex;
flex-direction: row; flex-direction: row;
align-items: center; align-items: center;
justify-content: flex-start; justify-content: flex-start;
box-sizing: border-box; box-sizing: border-box;
.title{
.title {
width: 520rpx; width: 520rpx;
overflow: hidden; overflow: hidden;
font-size: 30rpx; font-size: 30rpx;
@@ -372,21 +441,23 @@
text-overflow: ellipsis; text-overflow: ellipsis;
white-space: nowrap; white-space: nowrap;
} }
.tags{
.tags {
padding: 4rpx 10rpx; padding: 4rpx 10rpx;
border-radius: 20rpx 0 20rpx 0; border-radius: 20rpx 0 20rpx 0;
background-color: #f40c50; background-color: #076cff;
font-size: 26rpx; font-size: 26rpx;
color: #fff; color: #fff;
} }
} }
// .right{ // .right{
// padding: 20rpx 30rpx; // padding: 20rpx 30rpx;
// } // }
} }
.list-item-content{ .list-item-content {
width: 100%; width: 100%;
color: #999; color: #999;
padding: 20rpx 0; padding: 20rpx 0;
@@ -396,21 +467,24 @@
justify-content: flex-start; justify-content: flex-start;
box-sizing: border-box; box-sizing: border-box;
border-bottom: solid 1rpx #f7f7f7; border-bottom: solid 1rpx #f7f7f7;
.good-img{
.good-img {
margin-right: 20rpx; margin-right: 20rpx;
width: 160rpx; width: 160rpx;
height: 160rpx; height: 160rpx;
border-radius: 10rpx; border-radius: 10rpx;
} }
.list-item-right{
.list-item-right {
flex: 1; flex: 1;
.content-item{
.content-item {
padding: 10rpx 0; padding: 10rpx 0;
} }
} }
} }
.person{ .person {
display: flex; display: flex;
flex-direction: row; flex-direction: row;
align-items: center; align-items: center;
@@ -419,14 +493,16 @@
font-size: 30rpx; font-size: 30rpx;
padding: 20rpx 0 0 0; padding: 20rpx 0 0 0;
font-weight: bold; font-weight: bold;
.avatar{
.avatar {
width: 70rpx; width: 70rpx;
height: 70rpx; height: 70rpx;
border-radius: 50%; border-radius: 50%;
margin-right: 10rpx; margin-right: 10rpx;
} }
.shop-name{
background-color: #f40c50; .shop-name {
background-color: #076cff;
color: #fff; color: #fff;
font-size: 24rpx; font-size: 24rpx;
font-weight: 400; font-weight: 400;

BIN
static/images/boss.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

BIN
static/images/ver-bg.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB