更新代码
This commit is contained in:
@@ -4,9 +4,7 @@
|
||||
<view style="position: relative;z-index: 3;">
|
||||
<!-- 搜索... -->
|
||||
<view class="mine-top-contant">
|
||||
<u-navbar :is-back="false" :background="background" title="企业优惠券中心" title-color="#fff"
|
||||
:border-bottom='false'>
|
||||
</u-navbar>
|
||||
<u-navbar :is-back="true" :background="background" title="企业优惠券中心" title-color="#fff" :border-bottom='false'></u-navbar>
|
||||
<!--banner-->
|
||||
<swiper class="swiper" :indicator-dots="true" :autoplay="false" indicator-active-color='#fff'
|
||||
indicator-color='rgba(0,0,0,.1)'>
|
||||
|
||||
@@ -142,7 +142,7 @@
|
||||
<view class="title">
|
||||
限时抢购<text>海量商家优惠券</text>
|
||||
</view>
|
||||
<navigator class="more" url="/pages/coupons/couponList">查看更多</navigator>
|
||||
<navigator class="more" open-type="navigate" url="/pages/coupons/couponList">查看更多</navigator>
|
||||
</view>
|
||||
<view class="coupons" v-if="coupons.length > 0">
|
||||
<view class="coupons-item" v-for="(item, index) in coupons" :key="index">
|
||||
@@ -168,6 +168,8 @@
|
||||
</view>
|
||||
<!-- 优选商品 -->
|
||||
<goods-list :list="goods" priceType="CNY" @on-goods="onGoods" />
|
||||
<!-- 分页 -->
|
||||
<uni-load-more :status="pageStatus" :iconSize="16"></uni-load-more>
|
||||
</block>
|
||||
</view>
|
||||
</template>
|
||||
@@ -205,14 +207,16 @@
|
||||
coupons : [],
|
||||
position : {},
|
||||
goods : [],
|
||||
pages : {},
|
||||
// 广场部分
|
||||
industryIndex: 0,
|
||||
recommendBus : [],
|
||||
hotBus : [],
|
||||
industryBus : [],
|
||||
busList : [],
|
||||
busPages : {}
|
||||
busPages : {},
|
||||
// 分页
|
||||
pageStatus : '',
|
||||
page : 1
|
||||
};
|
||||
},
|
||||
created() {
|
||||
@@ -267,8 +271,7 @@
|
||||
},
|
||||
// 易货首页
|
||||
getMall(){
|
||||
mall().then(res => {
|
||||
console.log(res.coupons)
|
||||
mall().then(res => {
|
||||
this.classify = res.categories.slice(0, 9)
|
||||
this.banners = res.banners
|
||||
this.coupons = res.coupons
|
||||
@@ -283,9 +286,15 @@
|
||||
},
|
||||
// 商品列表
|
||||
getGoods(){
|
||||
list().then(res => {
|
||||
this.goods = res.data
|
||||
this.pages = res.page
|
||||
list({
|
||||
page: this.goodsPage
|
||||
}).then(res => {
|
||||
if(res.page.current === 1){
|
||||
this.goods = []
|
||||
}
|
||||
this.goods = this.goods.concat(res.data)
|
||||
this.goodsPage = res.page.current
|
||||
this.pageStatus = res.page.has_more ? 'more': 'noMore'
|
||||
})
|
||||
},
|
||||
// 商品详情
|
||||
@@ -324,6 +333,16 @@
|
||||
}
|
||||
})
|
||||
}
|
||||
},
|
||||
// 下拉加载
|
||||
onReachBottom() {
|
||||
if(this.pageStatus == 'more'){
|
||||
this.pageStatus = 'loading'
|
||||
if(this.tabIndex === 0) {
|
||||
this.goodsPage += 1
|
||||
this.getGoods()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
@@ -19,7 +19,6 @@
|
||||
<view class="companyInfo">易品新境区块链有限公司</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<!-- 弹窗提示喽 -->
|
||||
<u-toast ref="uToast" />
|
||||
</view>
|
||||
|
||||
@@ -152,7 +152,7 @@
|
||||
<image @click="serveClose" class="close" src="../../static/icons/goods_close.png" mode=""></image>
|
||||
</view>
|
||||
<view class="serve-cont">
|
||||
<view class="serve-label" v-for="(item, index) in goodsObj.services">
|
||||
<view class="serve-label" v-for="(item, index) in goodsObj.services" :key="index">
|
||||
<view class="serve-label-name">
|
||||
{{item.name}}
|
||||
</view>
|
||||
@@ -184,9 +184,7 @@
|
||||
};
|
||||
},
|
||||
created() {
|
||||
goods(this.$Route.query.id || 16).then(res=>{
|
||||
console.log('啦啦啦')
|
||||
console.log(res.coupons)
|
||||
goods(this.$Route.query.id).then(res=>{
|
||||
this.loding = false
|
||||
this.goodsObj = res
|
||||
this.identity = res.identity.id || ''
|
||||
@@ -241,19 +239,25 @@
|
||||
},
|
||||
|
||||
// 领取优惠券
|
||||
drawCoupons(id, index){
|
||||
drawCoupons(id){
|
||||
let token = this.$store.getters.getToken
|
||||
if(token == ''){
|
||||
let userLogin = new userAuth()
|
||||
userLogin.Login()
|
||||
return
|
||||
}
|
||||
managesCoupons(id).then(res=>{
|
||||
uni.showToast({
|
||||
title: '领取成功',
|
||||
type: 'primary',
|
||||
duration: 3000
|
||||
})
|
||||
}).catch(err =>{
|
||||
uni.showToast({
|
||||
title: err.message,
|
||||
icon : 'none'
|
||||
})
|
||||
})
|
||||
uni.showToast({
|
||||
title: '领取成功',
|
||||
type: 'primary',
|
||||
duration: 3000
|
||||
})
|
||||
}).catch(err => {
|
||||
uni.showToast({
|
||||
icon : 'none',
|
||||
title: err.message
|
||||
})
|
||||
})
|
||||
},
|
||||
|
||||
// 选择优惠券-显示
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
价格
|
||||
<image
|
||||
class="icon"
|
||||
mode="widthFix" :src="require(marketType == 'low' ? '@/static/icons/market_icon_low.png': '@/static/icons/market_icon_high.png')"
|
||||
mode="widthFix" :src="require(marketType == 'asc' ? '@/static/icons/market_icon_low.png': '@/static/icons/market_icon_high.png')"
|
||||
/>
|
||||
</view>
|
||||
</view>
|
||||
@@ -23,26 +23,33 @@
|
||||
data() {
|
||||
return {
|
||||
tabIndex : 0,
|
||||
marketType : 'low',
|
||||
marketType : 'asc',
|
||||
goods : []
|
||||
};
|
||||
},
|
||||
created() {
|
||||
list().then(res=>{
|
||||
this.goods = res.data
|
||||
this.pages = res.page
|
||||
})
|
||||
this.getList()
|
||||
},
|
||||
methods:{
|
||||
onTabs(e){
|
||||
let index = e.target.dataset.index
|
||||
if(index == 0 && index == this.tabIndex) return
|
||||
if(index == 1 && index == this.tabIndex) this.marketType = this.marketType == 'low' ? 'high': 'low'
|
||||
if(index == 1 && index == this.tabIndex) this.marketType = this.marketType == 'asc' ? 'desc': 'asc'
|
||||
this.tabIndex = index
|
||||
this.getList()
|
||||
},
|
||||
|
||||
onGoods(e){
|
||||
this.$Router.push({name: 'goodsDetails', params: {id: e.goods_id}})
|
||||
},
|
||||
|
||||
getList(){
|
||||
list({
|
||||
order_by: this.tabIndex == 1 ? this.marketType: ''
|
||||
}).then(res=>{
|
||||
this.goods = res.data
|
||||
this.pages = res.page
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -83,6 +83,7 @@
|
||||
|
||||
<script>
|
||||
import { marketsInfo, marketsBuy, marketsPay } from '@/apis/interfaces/market'
|
||||
import userAuth from '@/public/userAuth'
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
@@ -98,8 +99,8 @@
|
||||
}
|
||||
};
|
||||
},
|
||||
created() {
|
||||
marketsInfo(this.$Route.query.marketId || 5).then(res =>{
|
||||
onShow() {
|
||||
marketsInfo(this.$Route.query.marketId).then(res =>{
|
||||
this.info = res
|
||||
this.price = res.price
|
||||
this.loding = false
|
||||
@@ -121,6 +122,12 @@
|
||||
},
|
||||
// 购买弹窗
|
||||
openLay(){
|
||||
let token = this.$store.getters.getToken
|
||||
if(token == ''){
|
||||
let userLogin = new userAuth()
|
||||
userLogin.Login()
|
||||
return
|
||||
}
|
||||
this.$refs.buyLay.open('bottom')
|
||||
},
|
||||
// 计算价格
|
||||
@@ -149,8 +156,16 @@
|
||||
marketsPay(this.orderNo, this.payValue).then(res => {
|
||||
switch (this.payValue){
|
||||
case 'eb':
|
||||
console.log(res)
|
||||
console.log('支付结果')
|
||||
this.$refs.payLay.close()
|
||||
this.$Router.push({
|
||||
name : 'payResults',
|
||||
params : {
|
||||
index: 1,
|
||||
price: this.price,
|
||||
type : 'eb',
|
||||
total: '可在我的资产下我的权证中查看购买的数字权证'
|
||||
}
|
||||
})
|
||||
break
|
||||
case 'wechat':
|
||||
this.wxPay(JSON.parse(res))
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
</view>
|
||||
</view>
|
||||
<view class="lists">
|
||||
<view class="item" v-for="(item, index) in marketArray" :key="index">
|
||||
<view class="item" v-for="(item, index) in marketArray" :key="index" @click="onDetails(item)">
|
||||
<image class="cover" :src="item.goods.cover" mode="aspectFill"></image>
|
||||
<view class="content">
|
||||
<view class="title nowrap">数字权证<text>{{item.surplus}}/{{item.stock}}</text></view>
|
||||
@@ -36,7 +36,7 @@
|
||||
page : {}
|
||||
};
|
||||
},
|
||||
created() {
|
||||
onShow() {
|
||||
this.getMarkets()
|
||||
},
|
||||
methods:{
|
||||
@@ -53,10 +53,14 @@
|
||||
markets({
|
||||
sort: this.tabIndex == 1 ? this.marketType : ''
|
||||
}).then(res => {
|
||||
console.log(res.data)
|
||||
this.marketArray = res.data
|
||||
this.page = res.page
|
||||
})
|
||||
},
|
||||
// 转让商品详情
|
||||
onDetails(e){
|
||||
this.$Router.push({name: 'marketDetails', params: {marketId: e.market_id}})
|
||||
console.log(e)
|
||||
}
|
||||
},
|
||||
onNavigationBarButtonTap(){
|
||||
|
||||
@@ -1,61 +1,121 @@
|
||||
<template>
|
||||
<view>
|
||||
<view class="tabs" v-if="$Route.query.type === 'my'">
|
||||
<view class="item" :class="{ 'show' : tab == 'sell'}" @click="onTasb('sell')">我转让的</view>
|
||||
<view class="item" :class="{ 'show' : tab == 'buys' }" @click="onTasb('buys')">我买到的</view>
|
||||
</view>
|
||||
<block v-if="logs.length > 0">
|
||||
<view class="logs" v-for="(item, index) in logs" :key="index">
|
||||
<view class="logs-item">
|
||||
<label>交易权证</label>
|
||||
{{item.goods.goods_name}}
|
||||
</view>
|
||||
<view class="logs-item">
|
||||
<label>交易单价</label>
|
||||
¥{{item.price}}
|
||||
</view>
|
||||
<view class="logs-item">
|
||||
<label>交易数量</label>
|
||||
{{item.qty}}
|
||||
</view>
|
||||
<view class="logs-item">
|
||||
<label>转让用户</label>
|
||||
{{item.sellUser.nickname}}
|
||||
</view>
|
||||
<view class="logs-item">
|
||||
<label>购买用户</label>
|
||||
{{item.buyUser.nickname}}
|
||||
</view>
|
||||
<view class="logs-item">
|
||||
<label>交易时间</label>
|
||||
{{item.created_at}}
|
||||
<view :class="{'paddingTop': $Route.query.type === 'my'}">
|
||||
<view class="logs" v-for="(item, index) in logs" :key="index">
|
||||
<view class="logs-item">
|
||||
<label>交易权证</label>
|
||||
{{item.goods.goods_name}}
|
||||
</view>
|
||||
<view class="logs-item">
|
||||
<label>交易单价</label>
|
||||
¥{{item.price}}
|
||||
</view>
|
||||
<view class="logs-item">
|
||||
<label>交易数量</label>
|
||||
{{item.qty}}
|
||||
</view>
|
||||
<view class="logs-item">
|
||||
<label>转让用户</label>
|
||||
{{item.sellUser.nickname}}
|
||||
</view>
|
||||
<view class="logs-item">
|
||||
<label>购买用户</label>
|
||||
{{item.buyUser.nickname}}
|
||||
</view>
|
||||
<view class="logs-item">
|
||||
<label>交易时间</label>
|
||||
{{item.created_at}}
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</block>
|
||||
<block v-else>
|
||||
<view class="list-null">
|
||||
<image class="icon" src="@/static/icons/listnull-icon.png" mode="widthFix" />
|
||||
<view class="sub-title">暂无数据</view>
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { marketsLogs } from '@/apis/interfaces/market'
|
||||
import { marketsLogs, marketsOrdersLogs } from '@/apis/interfaces/market'
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
logs: [],
|
||||
page: {}
|
||||
page: {},
|
||||
tab : 'sell'
|
||||
};
|
||||
},
|
||||
created(){
|
||||
marketsLogs().then(res => {
|
||||
console.log(res.data)
|
||||
this.logs = res.data
|
||||
this.page = res.page
|
||||
}).catch(err => {
|
||||
uni.showToast({
|
||||
title: err.message,
|
||||
icon : 'none'
|
||||
this.getList()
|
||||
},
|
||||
methods:{
|
||||
onTasb(e){
|
||||
this.tab = e
|
||||
this.getList()
|
||||
},
|
||||
// 获取列表
|
||||
getList(){
|
||||
if(this.$Route.query.type === 'my'){
|
||||
marketsOrdersLogs({}, this.tab).then(res =>{
|
||||
console.log(res)
|
||||
this.logs = res.data
|
||||
this.page = res.page
|
||||
}).catch(err => {
|
||||
uni.showToast({
|
||||
title: err.message,
|
||||
icon : 'none'
|
||||
})
|
||||
})
|
||||
return
|
||||
}
|
||||
marketsLogs().then(res => {
|
||||
this.logs = res.data
|
||||
this.page = res.page
|
||||
}).catch(err => {
|
||||
uni.showToast({
|
||||
title: err.message,
|
||||
icon : 'none'
|
||||
})
|
||||
})
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.tabs{
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
z-index: 99;
|
||||
background-color: white;
|
||||
height: 90rpx;
|
||||
line-height: 90rpx;
|
||||
display: flex;
|
||||
justify-content: space-around;
|
||||
.item{
|
||||
border-bottom: solid 2rpx white;
|
||||
box-sizing: border-box;
|
||||
&.show{
|
||||
border-color: $text-price;
|
||||
color: $text-price;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.paddingTop{
|
||||
padding-top: 90rpx;
|
||||
}
|
||||
|
||||
.logs{
|
||||
background: white;
|
||||
margin-top: $margin;
|
||||
@@ -78,4 +138,29 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 空提示
|
||||
.list-null{
|
||||
width: 100vw;
|
||||
height: 100vh;
|
||||
box-sizing: border-box;
|
||||
text-align: center;
|
||||
background: white;
|
||||
padding-bottom: 20vh;
|
||||
@extend .vertical;
|
||||
.sub-title{
|
||||
color: $text-gray;
|
||||
font-size: $title-size-m;
|
||||
}
|
||||
.icon{
|
||||
width: 288rpx;
|
||||
}
|
||||
}
|
||||
.employees-null{
|
||||
text-align: center;
|
||||
line-height: 10vh;
|
||||
padding-bottom: $padding;
|
||||
font-size: $title-size-m;
|
||||
color: $text-gray;
|
||||
}
|
||||
</style>
|
||||
|
||||
169
pages/market/management.vue
Normal file
169
pages/market/management.vue
Normal file
@@ -0,0 +1,169 @@
|
||||
<template>
|
||||
<view class="NumberWeight">
|
||||
<!-- 有订单列表 -->
|
||||
<view v-if="lists.length > 0">
|
||||
<block v-for="(item, index) in lists" :key="index">
|
||||
<view class="order-item">
|
||||
<view class="order-info">
|
||||
<image class="order-cover" :src="item.goods.cover" mode="aspectFill"></image>
|
||||
<view class="title">数字权证<text>{{item.surplus}}/{{item.stock}}</text></view>
|
||||
<view class="text">锚定商品:{{item.goods.goods_name}}</view>
|
||||
<view class="text">交易哈希:{{item.hash}}</view>
|
||||
<view class="text">发布时间:{{item.created_at}}</view>
|
||||
</view>
|
||||
<view class="order-tool">
|
||||
<view class="price">{{item.price}}/个</view>
|
||||
<view class="order-btn" v-if="item.status.value === 1" @click="removeGoods(item.market_id, index)">取消转让</view>
|
||||
<view class="order-status" v-if="item.status.value === 2">{{item.status.text}}</view>
|
||||
</view>
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
<!-- 没有订单列表 -->
|
||||
<no-list v-if="lists.length === 0" name="no-order" txt="暂无数据~" />
|
||||
<u-toast ref="uToast" />
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { marketsMag, marketsCancel } from '@/apis/interfaces/market';
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
lists: [],
|
||||
page: 1,
|
||||
total: 0
|
||||
};
|
||||
},
|
||||
onLoad() {
|
||||
this.getList();
|
||||
},
|
||||
onReachBottom() {
|
||||
if (this.total > this.lists.length) {
|
||||
this.page = this.page + 1;
|
||||
this.getList();
|
||||
} else {
|
||||
this.$refs.uToast.show({
|
||||
title: '吼吼吼~我是有底的~',
|
||||
type: 'error',
|
||||
icon: false,
|
||||
duration: 3000
|
||||
});
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
getList() {
|
||||
let data = {
|
||||
perPage: 10,
|
||||
page: this.page
|
||||
};
|
||||
marketsMag(data)
|
||||
.then(res => {
|
||||
console.log(res.markets.data);
|
||||
this.lists = this.lists.concat(res.markets.data);
|
||||
this.total = res.markets.page.total;
|
||||
})
|
||||
.catch(err => {
|
||||
this.$refs.uToast.show({
|
||||
title: err.message,
|
||||
type: 'error',
|
||||
icon: false,
|
||||
duration: 3000
|
||||
});
|
||||
});
|
||||
},
|
||||
// 取消转让
|
||||
removeGoods(id, index) {
|
||||
marketsCancel(id).then(res => {
|
||||
uni.showToast({
|
||||
icon : 'none',
|
||||
title: res
|
||||
})
|
||||
let statusObj = this.lists[index]
|
||||
statusObj.status = {
|
||||
value: 2,
|
||||
text : '已取消',
|
||||
}
|
||||
this.$set(this.lists, index, statusObj)
|
||||
}).catch(err => {
|
||||
uni.showToast({
|
||||
icon : 'none',
|
||||
title: err.message
|
||||
})
|
||||
})
|
||||
}
|
||||
},
|
||||
onNavigationBarButtonTap(){
|
||||
this.$Router.push({name: "marketLogs", params: {type: 'my'}})
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.NumberWeight {
|
||||
box-sizing: border-box;
|
||||
// 订单列表
|
||||
.order-item {
|
||||
background-color: white;
|
||||
margin: $margin;
|
||||
border-radius: $radius;
|
||||
padding: $padding;
|
||||
.order-info{
|
||||
position: relative;
|
||||
padding-left: 188rpx;
|
||||
min-height: 168rpx;
|
||||
.order-cover{
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
height: 168rpx;
|
||||
width: 168rpx;
|
||||
}
|
||||
.title{
|
||||
font-weight: bold;
|
||||
font-size: $title-size-lg;
|
||||
color: $text-color;
|
||||
line-height: 48rpx;
|
||||
height: 48rpx;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
text{
|
||||
font-size: 80%;
|
||||
font-weight: normal;
|
||||
}
|
||||
}
|
||||
.text{
|
||||
line-height: 40rpx;
|
||||
height: 40rpx;
|
||||
font-size: $title-size-sm;
|
||||
color: $text-gray;
|
||||
@extend .nowrap;
|
||||
}
|
||||
}
|
||||
.order-tool{
|
||||
margin-top: $margin - 10;
|
||||
padding-top: $padding - 10;
|
||||
border-top: solid 1rpx $border-color;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
.price{
|
||||
color: $text-price;
|
||||
font-weight: bold;
|
||||
font-size: $title-size-m;
|
||||
line-height: 50rpx;
|
||||
}
|
||||
.order-btn{
|
||||
background: $text-price;
|
||||
color: white;
|
||||
padding: 0 $padding;
|
||||
line-height: 50rpx;
|
||||
border-radius: 25rpx;
|
||||
font-size: $title-size-m;
|
||||
}
|
||||
.order-status{
|
||||
color: $text-gray-m;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
239
pages/market/transfer.vue
Normal file
239
pages/market/transfer.vue
Normal file
@@ -0,0 +1,239 @@
|
||||
<template>
|
||||
<view v-if="!loding">
|
||||
<!-- 产品信息 -->
|
||||
<view class="goods">
|
||||
<image class="cover" :src="info.goods.cover" mode="aspectFill"></image>
|
||||
<view class="content">
|
||||
<view class="title nowrap">数字权证</view>
|
||||
<view class="text nowrap">锚定商品:{{info.goods.goods_name}}</view>
|
||||
<view class="text nowrap">提供企业:{{info.goods.company.name}}</view>
|
||||
<view class="text nav-goods nowrap" @click="onGoods">查看锚定商品信息<uni-icons type="arrowright" size="12" color="#e93340"></uni-icons></view>
|
||||
</view>
|
||||
<view class="info">
|
||||
<view class="info-item">
|
||||
<label>权证销售单价</label>
|
||||
1000.00
|
||||
</view>
|
||||
<view class="info-item">
|
||||
<label>拥有数量</label>
|
||||
{{info.account.balance}}
|
||||
</view>
|
||||
<view class="info-item">
|
||||
<label>转让价格</label>
|
||||
<input class="info-input" type="digit" v-model="pirce" placeholder="输入转让价格" maxlength="5" @blur="calculatePirce" />
|
||||
</view>
|
||||
<view class="info-item info-flex">
|
||||
<label>转让数量</label>
|
||||
<uni-number-box class="info-number" v-model='stock' :min="1" :max="info.account.balance" @change="countPrice"></uni-number-box>
|
||||
</view>
|
||||
<view class="info-item">
|
||||
<label>预估转让收益</label>
|
||||
<view class="price">{{forecast}}</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<button class="buy-btn" type="default" @click="onCreate">确认转让</button>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { marketsCreateInfo, marketsCreate } from '@/apis/interfaces/market'
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
loding : true,
|
||||
pirce : '',
|
||||
stock : 1,
|
||||
info : {},
|
||||
forecast: '0.00'
|
||||
};
|
||||
},
|
||||
onShow() {
|
||||
marketsCreateInfo(this.$Route.query.symbol).then(res =>{
|
||||
this.info = res
|
||||
this.loding = false
|
||||
}).catch(err => {
|
||||
uni.showToast({
|
||||
title: err.message,
|
||||
icon : 'none'
|
||||
})
|
||||
})
|
||||
},
|
||||
methods:{
|
||||
// 查看锚定产品
|
||||
onGoods(){
|
||||
this.$Router.push({name: 'marketGoods', params: { id: this.info.goods.goods_id }})
|
||||
},
|
||||
// 转让数量
|
||||
countPrice(e){
|
||||
this.stock = e
|
||||
this.calculatePirce()
|
||||
},
|
||||
// 计算预估收益
|
||||
calculatePirce(){
|
||||
this.forecast = (this.pirce * this.stock).toFixed(2)
|
||||
},
|
||||
// 提交转让市场
|
||||
onCreate(){
|
||||
marketsCreate({
|
||||
symbol : this.$Route.query.symbol,
|
||||
qty : this.stock,
|
||||
price : this.pirce || 0
|
||||
}).then(res => {
|
||||
uni.showModal({
|
||||
title : '提示',
|
||||
content : res,
|
||||
showCancel : false,
|
||||
success : () => {
|
||||
this.$Router.back()
|
||||
}
|
||||
})
|
||||
}).catch(err => {
|
||||
console.log(err)
|
||||
uni.showToast({
|
||||
title: err.message,
|
||||
icon : 'none'
|
||||
})
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
// 转让权证
|
||||
.buy-btn{
|
||||
margin: 0 $margin;
|
||||
background: $text-price;
|
||||
color: white;
|
||||
height: 90rpx;
|
||||
line-height: 90rpx;
|
||||
padding: 0;
|
||||
border-radius: $radius/2;
|
||||
font-size: $title-size;
|
||||
font-weight: bold;
|
||||
&::after{
|
||||
border: none;
|
||||
}
|
||||
}
|
||||
// 产品信息
|
||||
.goods{
|
||||
min-height: 168rpx;
|
||||
position: relative;
|
||||
background: white;
|
||||
border-radius: $radius/2;
|
||||
margin: $margin;
|
||||
padding: $padding;
|
||||
.cover{
|
||||
position: absolute;
|
||||
left: $padding;
|
||||
top: $padding;
|
||||
width: 168rpx;
|
||||
height: 168rpx;
|
||||
}
|
||||
.content{
|
||||
padding-left: calc(168rpx + #{$padding});
|
||||
.title{
|
||||
position: relative;
|
||||
font-size: $title-size-lg;
|
||||
color: $text-color;
|
||||
font-weight: bold;
|
||||
line-height: 52rpx;
|
||||
padding-right: 60rpx;
|
||||
text{
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: 0;
|
||||
width: 60rpx;
|
||||
text-align: right;
|
||||
font-weight: normal;
|
||||
}
|
||||
}
|
||||
.text{
|
||||
font-size: $title-size-sm;
|
||||
color: $text-gray;
|
||||
height: 40rpx;
|
||||
line-height: 40rpx;
|
||||
&.nav-goods{
|
||||
color: $text-price;
|
||||
}
|
||||
}
|
||||
}
|
||||
.info{
|
||||
margin-top: $margin;
|
||||
border-top: solid 1rpx $border-color;
|
||||
padding-top: $padding;
|
||||
.info-item{
|
||||
padding-left: 200rpx;
|
||||
height: 90rpx;
|
||||
line-height: 90rpx;
|
||||
position: relative;
|
||||
text-align: right;
|
||||
font-size: $title-size-lg;
|
||||
&.info-flex{
|
||||
display: flex;
|
||||
justify-content: flex-end;
|
||||
align-items: center;
|
||||
}
|
||||
@extend .nowrap;
|
||||
label{
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 0;
|
||||
width: 200rpx;
|
||||
text-align: left;
|
||||
color: $text-gray;
|
||||
}
|
||||
.info-input{
|
||||
height: 80rpx;
|
||||
line-height: 80rpx;
|
||||
font-size: $title-size-lg;
|
||||
}
|
||||
.price{
|
||||
color: $text-price;
|
||||
font-weight: bold;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// 购买产品
|
||||
.popup {
|
||||
width: 100%;
|
||||
background-color: #fff;
|
||||
padding-bottom: $padding;
|
||||
.title {
|
||||
font-size: 36rpx;
|
||||
text-align: center;
|
||||
padding: 50rpx 30rpx 30rpx 30rpx;
|
||||
font-weight: bold;
|
||||
}
|
||||
.btn {
|
||||
background-color: $text-price;
|
||||
height: 90rpx;
|
||||
line-height: 90rpx;
|
||||
text-align: center;
|
||||
color: #fff;
|
||||
font-weight: bold;
|
||||
font-size: $title-size;
|
||||
margin: $padding * 2;
|
||||
border-radius: $radius/2;
|
||||
}
|
||||
.des {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
box-sizing: border-box;
|
||||
padding: $padding $padding * 2;
|
||||
color: $text-gray;
|
||||
font-size: $title-size-lg;
|
||||
text{
|
||||
color: $text-color;
|
||||
}
|
||||
.price{
|
||||
color: $main-color;
|
||||
font-weight: bold;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@@ -20,12 +20,12 @@
|
||||
<label>订单金额</label>
|
||||
<view class="price nowrap">{{amount}}</view>
|
||||
</view>
|
||||
<block v-if="coupons.length > 0">
|
||||
<block v-if="coupons.length > 1">
|
||||
<view class="item">
|
||||
<label>使用优惠券</label>
|
||||
<picker>
|
||||
<picker mode="selector" :range="coupons" range-key="title" :value="couponIndex" @change="couponsChange">
|
||||
<view class="picker-text nowrap">
|
||||
优惠券
|
||||
{{couponIndex == 0 ? '选择优惠券' : coupons[couponIndex].title}}
|
||||
<uni-icons type="arrowright" color="#ddd"></uni-icons>
|
||||
</view>
|
||||
</picker>
|
||||
@@ -35,6 +35,10 @@
|
||||
<view class="price nowrap">-{{couponPrice}}</view>
|
||||
</view>
|
||||
</block>
|
||||
<view class="item">
|
||||
<label>实际支付金额</label>
|
||||
<view class="price nowrap">{{total}}</view>
|
||||
</view>
|
||||
</view>
|
||||
<!-- 支付方式 -->
|
||||
<radio-group class="pay-group" @change="payType">
|
||||
@@ -71,6 +75,8 @@
|
||||
amount : 0,
|
||||
total : 0,
|
||||
coupons : [],
|
||||
couponIndex : 0,
|
||||
couponId : '',
|
||||
account : {},
|
||||
payValue : 'eb',
|
||||
}
|
||||
@@ -78,16 +84,15 @@
|
||||
created(){
|
||||
buy({
|
||||
goods_sku_id: this.$Route.query.skuId,
|
||||
qty : this.$Route.query.qty,
|
||||
qty : this.qty,
|
||||
type : 1
|
||||
}, 'GET').then(res=>{
|
||||
this.loding = true
|
||||
this.qty = this.$Route.query.qty,
|
||||
this.payValue = this.$Route.query.type === 1 ? 'wx' : 'eb'
|
||||
this.detail = res.detail
|
||||
this.couponPrice = res.coupon_price
|
||||
this.amount = res.amount
|
||||
this.total = res.total
|
||||
this.couponPrice = res.coupon_price.toFixed(2)
|
||||
this.amount = res.amount.toFixed(2)
|
||||
this.total = res.total.toFixed(2)
|
||||
this.coupons = res.coupons
|
||||
this.account = res.account
|
||||
}).catch(err =>{
|
||||
@@ -98,6 +103,35 @@
|
||||
})
|
||||
},
|
||||
methods: {
|
||||
// 获取可用优惠券
|
||||
getCoupons(){
|
||||
buy({
|
||||
goods_sku_id : this.$Route.query.skuId,
|
||||
qty : this.qty,
|
||||
type : 1,
|
||||
coupon_grant_id : this.couponId
|
||||
}, 'GET').then(res=>{
|
||||
this.couponPrice = res.coupon_price.toFixed(2)
|
||||
this.amount = res.amount.toFixed(2)
|
||||
this.total = res.total.toFixed(2)
|
||||
this.coupons = [{
|
||||
title : '不使用',
|
||||
coupon_grant_id : ''
|
||||
}, ...res.coupons]
|
||||
}).catch(err =>{
|
||||
uni.showToast({
|
||||
title: err.message,
|
||||
icon : 'none'
|
||||
})
|
||||
})
|
||||
},
|
||||
// 选择优惠券
|
||||
couponsChange(e){
|
||||
this.couponIndex = e.detail.value
|
||||
this.couponId = this.coupons[e.detail.value].coupon_grant_id
|
||||
this.getCoupons()
|
||||
},
|
||||
// 选择支付类型
|
||||
payType(e){
|
||||
this.payValue = e.detail.value
|
||||
},
|
||||
@@ -105,17 +139,20 @@
|
||||
//数量变化
|
||||
numberChange(e){
|
||||
this.qty = e
|
||||
this.amount = this.detail[0].items[0].price * e
|
||||
this.getCoupons()
|
||||
},
|
||||
|
||||
// 提交订单
|
||||
buyOrder(){
|
||||
buy({
|
||||
goods_sku_id: this.$Route.query.skuId || 23,
|
||||
qty : this.qty,
|
||||
type : this.payValue == 'eb' ? 1 : 2,
|
||||
remark : 'app订单'
|
||||
goods_sku_id : this.$Route.query.skuId,
|
||||
qty : this.qty,
|
||||
coupon_grant_id : this.couponId,
|
||||
type : 1,
|
||||
remark : 'app订单,易货产品',
|
||||
channel : 'app'
|
||||
}, 'POST').then(res=>{
|
||||
console.log(res)
|
||||
switch (this.payValue){
|
||||
case 'eb':
|
||||
this.ebPay(res.order_no)
|
||||
@@ -147,14 +184,20 @@
|
||||
// 易币支付
|
||||
ebPay(orderNo){
|
||||
eb(orderNo).then(res => {
|
||||
uni.showModal({
|
||||
title: '提示',
|
||||
content: '支付成功,后续优化支付成功后直接转跳我的权证'
|
||||
this.$Router.replace({
|
||||
name : 'payResults',
|
||||
params : {
|
||||
index: 1,
|
||||
price: this.total,
|
||||
type : 'eb',
|
||||
total: '可在我的资产下我的权证中查看购买的数字权证'
|
||||
}
|
||||
})
|
||||
}).catch(err => {
|
||||
uni.showToast({
|
||||
title: err.message,
|
||||
icon : 'none'
|
||||
uni.showModal({
|
||||
title : '支付提示',
|
||||
content : err.message,
|
||||
showCancel : false,
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
76
pages/pay/results.vue
Normal file
76
pages/pay/results.vue
Normal file
@@ -0,0 +1,76 @@
|
||||
<template>
|
||||
<view class="total vertical">
|
||||
<uni-icons type="checkbox-filled" size="60" color="#e93340"></uni-icons>
|
||||
<view class="title">支付成功</view>
|
||||
<view class="price">支付金额<text>{{type}}{{price}}</text></view>
|
||||
<view class="text">{{total}}</view>
|
||||
<button class="btn" type="default" @click="onBack">确定</button>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
index: 1, // 返回层级
|
||||
price: 0, // 支付金额
|
||||
type : '¥', // 支付币种
|
||||
total: '' // 支付提示语
|
||||
};
|
||||
},
|
||||
created() {
|
||||
this.index = this.$Route.query.index
|
||||
this.price = this.$Route.query.price
|
||||
this.type = this.$Route.query.type === 'eb' ? 'EB': '¥'
|
||||
this.total = this.$Route.query.total
|
||||
},
|
||||
methods:{
|
||||
onBack(){
|
||||
this.$Router.back(this.index)
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.total{
|
||||
text-align: center;
|
||||
height: 100vh;
|
||||
width: 100vw;
|
||||
padding-left: 10vw;
|
||||
padding-right: 10vw;
|
||||
padding-bottom: 20vh;
|
||||
box-sizing: border-box;
|
||||
.title{
|
||||
font-weight: bold;
|
||||
font-size: $title-size + 10;
|
||||
padding: 20rpx 0
|
||||
}
|
||||
.price{
|
||||
font-size: $title-size-lg;
|
||||
color: $text-gray;
|
||||
text{
|
||||
color: $text-price;
|
||||
padding-left: 10rpx;
|
||||
}
|
||||
}
|
||||
.text{
|
||||
font-size: $title-size-lg;
|
||||
color: $text-gray;
|
||||
padding-top: $padding;
|
||||
}
|
||||
.btn{
|
||||
height: 90rpx;
|
||||
line-height: 90rpx;
|
||||
border-radius: 0;
|
||||
background: $text-price;
|
||||
font-size: $title-size;
|
||||
color: white;
|
||||
font-weight: bold;
|
||||
margin-top: 10vh;
|
||||
&::after{
|
||||
border: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@@ -4,7 +4,7 @@
|
||||
<view style="position: relative;z-index: 3;">
|
||||
<!-- 搜索... -->
|
||||
<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'>
|
||||
</u-navbar>
|
||||
<!--banner-->
|
||||
|
||||
@@ -63,7 +63,7 @@
|
||||
<view class="item-num">{{count.warrnats}}</view>
|
||||
<view class="item-title">权证持有</view>
|
||||
</view>
|
||||
<view class="item" @click="showToast">
|
||||
<view class="item" @click="$Router.push({name: 'marketManag'})">
|
||||
<view class="item-num">{{count.warrnat_transfer}}</view>
|
||||
<view class="item-title">权证转让</view>
|
||||
</view>
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
<view class="order-list" v-for="(item,index) in lists" :key="index">
|
||||
<NumberWeightTemplate :item="item" />
|
||||
<view class="actions">
|
||||
<view @click="navMarkets(item.symbol)" class="nowPay">权证转让</view>
|
||||
<view @click="nowTake(item.symbol)" class="nowPay">去提货</view>
|
||||
</view>
|
||||
</view>
|
||||
@@ -64,6 +65,7 @@
|
||||
page:this.page
|
||||
}
|
||||
mallWarrants(data).then(res=>{
|
||||
console.log(res)
|
||||
this.lists = this.lists.concat(res.data)
|
||||
this.total = res.total
|
||||
}).catch(err=>{
|
||||
@@ -79,6 +81,10 @@
|
||||
uni.navigateTo({
|
||||
url:'./numberWeightInfo?symbol='+symbol
|
||||
})
|
||||
},
|
||||
// 转让权证
|
||||
navMarkets(symbol){
|
||||
this.$Router.push({name: 'marketTransfer', params:{symbol}})
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8,14 +8,19 @@
|
||||
</view>
|
||||
<!-- 统计信息 -->
|
||||
<view class="statistics">
|
||||
<picker mode="date" :fields="tabsIndex" :value="dateValue" :end="endDate" @change="pickerDate">
|
||||
<view class="statistics-date">
|
||||
{{dateValue}}<uni-icons class="arrowdown" type="arrowdown" color="#555"></uni-icons>
|
||||
<view class="statistics-flex">
|
||||
<picker mode="date" :fields="tabsIndex" :value="dateValue" :end="endDate" @change="pickerDate">
|
||||
<view class="statistics-date">
|
||||
{{dateValue}}<uni-icons class="arrowdown" type="arrowdown" color="#555"></uni-icons>
|
||||
</view>
|
||||
</picker>
|
||||
<view class="statistics-lay" :class="{ 'show' : sort != '' || payType != '' || channel != ''}" @click="onScreening">
|
||||
筛选 <uni-icons class="arrowdown" type="settings" color="gray"></uni-icons>
|
||||
</view>
|
||||
</picker>
|
||||
</view>
|
||||
<view class="statistics-text">
|
||||
<text>成交客户量 {{visitor.day}} 人</text>
|
||||
<text>累计访客量 {{visitor.all}} 人</text>
|
||||
<text>成交产品数量 {{visitor.goods_count}} 人</text>
|
||||
<text>成交产品金额 {{visitor.total}} 元</text>
|
||||
</view>
|
||||
</view>
|
||||
<!-- 数据列表 -->
|
||||
@@ -24,12 +29,18 @@
|
||||
<view class="item" v-for="(item, index) in orders" :key="index">
|
||||
<image class="cover" :src="item.user.avatar" mode="aspectFill"></image>
|
||||
<view class="title nowrap">
|
||||
{{item.user.username}}
|
||||
<view class="type">{{item.state}}</view>
|
||||
{{item.user.nickname}}
|
||||
<view class="type">{{item.amount}}</view>
|
||||
</view>
|
||||
<view class="sub-title nowrap">订单号码: {{item.order_no}}</view>
|
||||
<view class="sub-title nowrap">订单时间: {{item.created_at}}</view>
|
||||
<view class="sub-tabs">
|
||||
<text>{{item.driver}}</text>
|
||||
<text>{{item.channel}}</text>
|
||||
</view>
|
||||
<view class="sub-title nowrap">订单号: {{item.order_no}}</view>
|
||||
<view class="sub-title nowrap">{{item.created_at}}</view>
|
||||
</view>
|
||||
<!-- 分页 -->
|
||||
<uni-load-more :status="pageStatus" :iconSize="16"></uni-load-more>
|
||||
</block>
|
||||
<block v-else>
|
||||
<view class="list-null">
|
||||
@@ -38,24 +49,57 @@
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
<!-- 列表筛选 -->
|
||||
<uni-popup ref="settingsPopup" background-color="#FFFFFF" @maskClick="onReset">
|
||||
<view class="popup-content">
|
||||
<view class="title">排序方式</view>
|
||||
<view class="popup-choose-flex">
|
||||
<view class="item" :class="{'show' : sort == 'money_asc'}" @click="sort = 'money_asc'">金额从低到高</view>
|
||||
<view class="item" :class="{'show' : sort == 'money_desc'}" @click="sort = 'money_desc'">金额从高到低</view>
|
||||
<view class="item" :class="{'show' : sort == 'sold_asc'}" @click="sort = 'sold_asc'">销量从低到高</view>
|
||||
<view class="item" :class="{'show' : sort == 'sold_desc'}" @click="sort = 'sold_desc'">销量从高到低</view>
|
||||
</view>
|
||||
<view class="title">支付方式</view>
|
||||
<view class="popup-choose-flex">
|
||||
<view class="item" :class="{'show' : payType == 'eb'}" @click="payType = 'eb'">易币交易</view>
|
||||
<view class="item" :class="{'show' : payType == 'money'}" @click="payType = 'money'">现金交易</view>
|
||||
</view>
|
||||
<view class="title">成交渠道</view>
|
||||
<view class="popup-choose-flex">
|
||||
<view class="item" :class="{'show' : channel == 'app'}" @click="channel = 'app'">APP</view>
|
||||
<view class="item" :class="{'show' : channel == 'mini'}" @click="channel = 'mini'">自媒体</view>
|
||||
</view>
|
||||
<view class="popup-btns">
|
||||
<view class="item" @click="onReset">重置</view>
|
||||
<view class="item" @click="onSettings">确定</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="ios-bottom"></view>
|
||||
</uni-popup>
|
||||
<!-- :status="more" -->
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import getDate from '@/public/date'
|
||||
import { customer } from '@/apis/interfaces/store'
|
||||
import { orderUsers } from '@/apis/interfaces/store'
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
tabsIndex: 'day',
|
||||
dateValue: '',
|
||||
endDate : '',
|
||||
visitor : {
|
||||
tabsIndex : 'day',
|
||||
dateValue : '',
|
||||
endDate : '',
|
||||
visitor : {
|
||||
day: 0,
|
||||
all: 0
|
||||
},
|
||||
orders : [],
|
||||
pages : {}
|
||||
orders : [],
|
||||
sort : '',
|
||||
payType : '',
|
||||
channel : '',
|
||||
// 分页
|
||||
pageStatus : '',
|
||||
page : 1
|
||||
};
|
||||
},
|
||||
created() {
|
||||
@@ -71,24 +115,46 @@
|
||||
getDate(type).then(res => {
|
||||
this.tabsIndex = type
|
||||
this.dateValue = res
|
||||
this.page = 1
|
||||
this.getLists()
|
||||
})
|
||||
},
|
||||
onReset(){
|
||||
this.sort = ''
|
||||
this.payType = ''
|
||||
this.channel = ''
|
||||
},
|
||||
onSettings(){
|
||||
this.getLists()
|
||||
this.$refs.settingsPopup.close()
|
||||
},
|
||||
// 日期筛选
|
||||
pickerDate(e){
|
||||
let dateValue = e.detail.value
|
||||
this.dateValue = dateValue
|
||||
this.getLists()
|
||||
},
|
||||
// 列表筛选
|
||||
onScreening(){
|
||||
this.$refs.settingsPopup.open('bottom')
|
||||
},
|
||||
// 获取列表
|
||||
getLists(){
|
||||
customer({
|
||||
type: this.tabsIndex,
|
||||
date: this.dateValue
|
||||
orderUsers({
|
||||
type : this.tabsIndex,
|
||||
date : this.dateValue,
|
||||
sort : this.sort,
|
||||
pay_type : this.payType,
|
||||
channel : this.channel,
|
||||
page : this.page
|
||||
}).then(res => {
|
||||
this.visitor = res.visitor
|
||||
this.orders = res.orders.data
|
||||
this.pages = res.orders.page
|
||||
if(res.orders.page.current === 1){
|
||||
this.orders = []
|
||||
}
|
||||
this.visitor = res.visitor
|
||||
this.orders = this.orders.concat(res.orders.data)
|
||||
this.page = res.orders.page.current
|
||||
this.pageStatus = res.orders.page.has_more ? 'more': 'noMore'
|
||||
}).catch(err => {
|
||||
uni.showToast({
|
||||
title: err,
|
||||
@@ -96,11 +162,68 @@
|
||||
})
|
||||
})
|
||||
}
|
||||
},
|
||||
onReachBottom() {
|
||||
if(this.pageStatus == 'more'){
|
||||
this.pageStatus = 'loading'
|
||||
this.page += 1
|
||||
this.getLists()
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
// 筛选层
|
||||
.popup-content{
|
||||
padding: $padding * 2;
|
||||
.title{
|
||||
font-weight: bold;
|
||||
font-size: $title-size;
|
||||
color: $text-color;
|
||||
margin-top: $margin;
|
||||
}
|
||||
.popup-choose-flex{
|
||||
padding: $padding /2 0;
|
||||
margin: 0 -($margin - 20rpx);
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
.item{
|
||||
width: calc(33.33% - #{$margin - 10});
|
||||
font-size: $title-size-sm;
|
||||
text-align: center;
|
||||
background: $border-color-lg;
|
||||
line-height: 68rpx;
|
||||
margin: $margin - 20;
|
||||
color: $text-gray;
|
||||
border:solid 1rpx $border-color-lg;
|
||||
box-sizing: border-box;
|
||||
&.show{
|
||||
border:solid 1rpx $text-price;
|
||||
color: $text-price;
|
||||
}
|
||||
}
|
||||
}
|
||||
.popup-btns{
|
||||
padding-top: $padding*2;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
margin: 0 -$margin/2;
|
||||
.item{
|
||||
margin: $margin/2;
|
||||
color: $text-price;
|
||||
background: rgba($color: $text-price, $alpha: .1);
|
||||
width: calc(50% - #{$margin});
|
||||
height: 80rpx;
|
||||
line-height: 80rpx;
|
||||
text-align: center;
|
||||
&:last-child{
|
||||
background-color: $text-price;
|
||||
color: white;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// 空提示
|
||||
.list-null{
|
||||
width: 100vw;
|
||||
@@ -144,14 +267,30 @@
|
||||
background-color: white;
|
||||
border-bottom: solid 1rpx $border-color;
|
||||
padding: $padding;
|
||||
.statistics-date{
|
||||
font-size: $title-size + 4;
|
||||
font-weight: bold;
|
||||
line-height: 60rpx;
|
||||
.arrowdown{
|
||||
margin-left: $margin/2;
|
||||
.statistics-flex{
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
.statistics-date{
|
||||
font-size: $title-size + 4;
|
||||
font-weight: bold;
|
||||
line-height: 60rpx;
|
||||
.arrowdown{
|
||||
margin-left: $margin/2;
|
||||
}
|
||||
}
|
||||
.statistics-lay{
|
||||
font-size: $title-size-sm;;
|
||||
color: gray;
|
||||
line-height: 50rpx;
|
||||
&.show{
|
||||
color: $text-price;
|
||||
}
|
||||
.arrowdown{
|
||||
margin-left: $margin/2;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.statistics-text{
|
||||
font-size: $title-size-sm;
|
||||
color: gray;
|
||||
@@ -211,6 +350,16 @@
|
||||
font-size: $title-size-sm;
|
||||
color: $text-gray;
|
||||
}
|
||||
.sub-tabs{
|
||||
padding-top: $padding/2;
|
||||
font-size: $title-size-sm;
|
||||
text{
|
||||
margin-right: $margin - 10;
|
||||
background: $border-color-lg;
|
||||
color: $text-gray;
|
||||
padding: 0 ($padding/2);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -2,9 +2,9 @@
|
||||
<view class="content">
|
||||
<!-- tabs -->
|
||||
<view class="tabs">
|
||||
<view class="item" :class="{'show': tabsIndex == 'day'}" @click="onTbas('day')">日成交</view>
|
||||
<view class="item" :class="{'show': tabsIndex == 'month'}" @click="onTbas('month')">月成交</view>
|
||||
<view class="item" :class="{'show': tabsIndex == 'year'}" @click="onTbas('year')">年成交</view>
|
||||
<view class="item" :class="{'show': tabsIndex == 'day'}" @click="onTbas('day')">日访客</view>
|
||||
<view class="item" :class="{'show': tabsIndex == 'month'}" @click="onTbas('month')">月访客</view>
|
||||
<view class="item" :class="{'show': tabsIndex == 'year'}" @click="onTbas('year')">年访客</view>
|
||||
</view>
|
||||
<!-- 统计信息 -->
|
||||
<view class="statistics">
|
||||
@@ -24,7 +24,9 @@
|
||||
<view class="item" v-for="(item, index) in orders" :key="index">
|
||||
<image class="cover" :src="item.avatar" mode="aspectFill"></image>
|
||||
<view class="title">{{item.nickname || '-'}}</view>
|
||||
<view class="sub-title">{{item.date || '-'}}</view>
|
||||
<view class="sub-title">访问记录: {{item.content || '-'}}</view>
|
||||
<view class="sub-title">手机号码: {{item.mobile || '-'}}</view>
|
||||
<view class="sub-title">访问时间: {{item.date || '-'}}</view>
|
||||
</view>
|
||||
</view>
|
||||
</block>
|
||||
@@ -107,6 +109,7 @@
|
||||
.sub-title{
|
||||
color: $text-gray;
|
||||
font-size: $title-size-m;
|
||||
@extend .nowrap;
|
||||
}
|
||||
.icon{
|
||||
width: 288rpx;
|
||||
|
||||
@@ -1,19 +0,0 @@
|
||||
<template>
|
||||
<view>
|
||||
核销详情
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
|
||||
};
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
|
||||
</style>
|
||||
517
pages/verification/history.vue
Normal file
517
pages/verification/history.vue
Normal file
@@ -0,0 +1,517 @@
|
||||
<template>
|
||||
<view class="Record" v-if="loaded">
|
||||
<view class="record-top">
|
||||
<image src="/static/images/ver-bg.png" mode="widthFix" class="record-bg" />
|
||||
<view class="record-top-nav">
|
||||
<view :class="['record-top-item',type==='year'?'selectTopItem':'']" @click="selectType('year')">按年
|
||||
</view>
|
||||
<view :class="['record-top-item',type==='month'?'selectTopItem':'']" @click="selectType('month')">按月
|
||||
</view>
|
||||
<view :class="['record-top-item',type==='day'?'selectTopItem':'']" @click="selectType('day')">按日</view>
|
||||
</view>
|
||||
<view class="record-mouth-year">
|
||||
<view class="record-type-left">
|
||||
<u-picker mode="time" v-model="show" :params="params" @confirm='confirm' title='筛选日期'
|
||||
start-year='2021' :end-year='currentYear' />
|
||||
<view @click="show = true">
|
||||
{{date?date:'选择日期'}}
|
||||
<uni-icons type="arrowdown" color="#fff" size="12" />
|
||||
</view>
|
||||
</view>
|
||||
<view class="record-type-right">
|
||||
<view :class="['pay_type_item',scantype==='goods'?'pay_type_item_select':'']"
|
||||
@click="selectCoinType('goods')">权证</view>
|
||||
<view :class="['pay_type_item',scantype==='coupons'?'pay_type_item_select':'']"
|
||||
@click="selectCoinType('coupons')">优惠券</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="record-title">核销总数 ( 件 ) </view>
|
||||
<view class="record-money"><span></span>{{account}}
|
||||
<span></span>
|
||||
</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="list-item" v-for="(item,index) in lists" :key='index'>
|
||||
|
||||
<view class="list-item-title">
|
||||
<view class="left">
|
||||
<view class="tags">{{scantype === 'goods'?'权证核销':'优惠券核销'}}</view>
|
||||
<view class='title' v-if="scantype === 'goods'">{{item.goods_sku.goods_name}}</view>
|
||||
<view class='title' v-else>{{item.coupon.title}}</view>
|
||||
</view>
|
||||
<!-- <view class="right"> -->
|
||||
<!-- <u-icon name="checkmark-circle-fill" size='50' color='#e93340' /> -->
|
||||
<!-- </view> -->
|
||||
</view>
|
||||
|
||||
<view class="list-item-content" v-if='scantype === "goods"'>
|
||||
<image class="good-img" :src="item.goods_sku.cover" mode="aspectFill" />
|
||||
<view class="list-item-right">
|
||||
<view class="content-item">核销商品数量:X {{item.qty}} </view>
|
||||
<view class="content-item">核销商品规格:{{item.goods_sku.unit || '通用规格'}}</view>
|
||||
<view class="content-item">核销时间:{{item.used_at}}</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="list-item-content" v-else>
|
||||
<image class="good-img" v-if='item.source.type ==="goods"' :src="item.source.cover"
|
||||
mode="aspectFill" />
|
||||
<view class="list-item-right">
|
||||
<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.type.text}}</view>
|
||||
<view class="content-item">核销时间:{{item.used_at}}</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="person">
|
||||
<image class="avatar" :src="item.clerk.avatar" mode="aspectFill" />
|
||||
{{item.clerk.nickname}}
|
||||
<view class="shop-name">{{item.store.name}}</view>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
</view>
|
||||
<!-- 无列表 -->
|
||||
<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="没有任何优惠券核销记录" />
|
||||
|
||||
<!-- <u-toast ref="uToast" /> -->
|
||||
<u-toast ref="uToast" />
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {
|
||||
scanList
|
||||
} from '@/apis/interfaces/scan';
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
lists: [],
|
||||
has_more: true,
|
||||
page: 1,
|
||||
type: 'year', // 统计类型day日,month月,year年
|
||||
scantype: 'goods', // goods 数权核销 coupons 优惠券核销
|
||||
date: new Date().toISOString().slice(0, 4), // 日:Y-m-d,月Y-m,年Y
|
||||
params: {
|
||||
year: true,
|
||||
month: true,
|
||||
day: true
|
||||
},
|
||||
show: false, // 显示
|
||||
currentDay: new Date().toISOString().slice(0, 10),
|
||||
currentMonth: new Date().toISOString().slice(0, 7),
|
||||
currentYear: new Date().toISOString().slice(0, 4),
|
||||
account: '',
|
||||
loaded: false,
|
||||
shopShow: false,
|
||||
ShopList: [],
|
||||
store_name: '',
|
||||
store_id: '',
|
||||
isBos:false
|
||||
}
|
||||
},
|
||||
onLoad() {
|
||||
this.getList()
|
||||
},
|
||||
onReachBottom() {
|
||||
if (this.has_more) {
|
||||
this.page = this.page + 1
|
||||
this.getList()
|
||||
} else {
|
||||
this.$refs.uToast.show({
|
||||
title: '吼吼吼~我是有底的~',
|
||||
type: 'error',
|
||||
icon: false,
|
||||
duration: 3000
|
||||
})
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
// 获取列表
|
||||
getList() {
|
||||
let data = {
|
||||
page: this.page,
|
||||
date_type: this.type,
|
||||
date: this.date,
|
||||
store_id:this.store_id
|
||||
}
|
||||
let apiUrl = ''
|
||||
if (this.scantype === 'goods') {
|
||||
apiUrl = 'manages/warrants/logs'
|
||||
} else {
|
||||
apiUrl = 'coupons/verify/logs/coupons'
|
||||
}
|
||||
|
||||
scanList(apiUrl, data).then(res => {
|
||||
console.log(res)
|
||||
this.account = res.all
|
||||
this.lists = this.lists.concat(res.lists.data)
|
||||
this.has_more = res.lists.page.has_more
|
||||
this.loaded = true
|
||||
this.ShopList = [{name:'全部',store_id:''},...res.stores]
|
||||
this.isBos = res.isBos
|
||||
}).catch(err => {
|
||||
this.$refs.uToast.show({
|
||||
title: err.message,
|
||||
type: 'error',
|
||||
icon: false,
|
||||
duration: 3000
|
||||
})
|
||||
})
|
||||
},
|
||||
selectCoinType(type) {
|
||||
if (this.scantype !== type) {
|
||||
this.scantype = type
|
||||
this.store_id = ''
|
||||
this.reset()
|
||||
}
|
||||
},
|
||||
// 重置
|
||||
reset() {
|
||||
this.page = 1
|
||||
this.lists = []
|
||||
this.has_more = true
|
||||
this.getList()
|
||||
},
|
||||
// 选择 年 月 日 切换要重置数据
|
||||
selectType(type) {
|
||||
console.log(type, typeof type)
|
||||
if (this.type !== type) {
|
||||
switch (type) {
|
||||
case 'year':
|
||||
this.type = type
|
||||
this.params = {
|
||||
year: true,
|
||||
month: false,
|
||||
day: false
|
||||
}
|
||||
this.date = this.currentYear
|
||||
this.store_id = ''
|
||||
this.reset()
|
||||
break;
|
||||
case 'month':
|
||||
this.type = type
|
||||
this.params = {
|
||||
year: true,
|
||||
month: true,
|
||||
day: false
|
||||
}
|
||||
this.date = this.currentMonth
|
||||
this.store_id = ''
|
||||
this.reset()
|
||||
break;
|
||||
case 'day':
|
||||
this.type = type
|
||||
this.params = {
|
||||
year: true,
|
||||
month: false,
|
||||
day: false
|
||||
}
|
||||
this.date = this.currentDay
|
||||
this.store_id = ''
|
||||
this.reset()
|
||||
break;
|
||||
}
|
||||
}
|
||||
},
|
||||
// 点击确认按钮年月日
|
||||
confirm(e) {
|
||||
let type = this.type
|
||||
switch (type) {
|
||||
case 'year':
|
||||
this.date = e.year
|
||||
this.reset()
|
||||
break;
|
||||
case 'month':
|
||||
this.date = e.year + '-' + e.month
|
||||
this.reset()
|
||||
break;
|
||||
case 'day':
|
||||
this.date = e.year + '-' + e.month + '-' + e.day
|
||||
this.reset()
|
||||
break;
|
||||
}
|
||||
},
|
||||
// 筛选门店信息
|
||||
shopConfirm(e) {
|
||||
this.store_id = e[0].value
|
||||
this.store_name = e[0].label
|
||||
this.reset()
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.Record {
|
||||
width: 100%;
|
||||
min-height: 100vh;
|
||||
padding-top: 30rpx;
|
||||
background-color: #f5f5f5;
|
||||
}
|
||||
|
||||
.record-top {
|
||||
width: calc(100% - 60rpx);
|
||||
height: 360rpx;
|
||||
background-image: linear-gradient(to left, #076cff, #076cff);
|
||||
box-shadow: 0 10rpx 20rpx 0rpx rgba($color: $main-color, $alpha: 0.4);
|
||||
margin: 0 30rpx;
|
||||
border-radius: 20rpx;
|
||||
box-sizing: border-box;
|
||||
position: relative;
|
||||
padding: 10rpx 50rpx 20rpx 50rpx;
|
||||
z-index: 1;
|
||||
|
||||
.record-bg {
|
||||
position: absolute;
|
||||
width: 230rpx;
|
||||
bottom: 0;
|
||||
right: 30rpx;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
.record-top-nav {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
box-sizing: border-box;
|
||||
|
||||
.record-top-item {
|
||||
margin: 40rpx 20rpx;
|
||||
font-size: 30rpx;
|
||||
font-weight: 500;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.selectTopItem {
|
||||
border-bottom: solid 4rpx #fff;
|
||||
}
|
||||
}
|
||||
|
||||
.record-mouth-year {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
box-sizing: border-box;
|
||||
position: relative;
|
||||
z-index: 2;
|
||||
color: #fff;
|
||||
font-size: 30rpx;
|
||||
|
||||
.record-type-left {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: flex-start;
|
||||
box-sizing: border-box;
|
||||
|
||||
uni-icons {
|
||||
margin-left: 4rpx;
|
||||
}
|
||||
}
|
||||
|
||||
.record-type-right {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: flex-start;
|
||||
box-sizing: border-box;
|
||||
font-size: 24rpx;
|
||||
|
||||
.pay_type_item {
|
||||
margin: 0 10rpx;
|
||||
padding: 2rpx 20rpx;
|
||||
border-radius: 30rpx;
|
||||
border: solid 1rpx rgba($color: #000000, $alpha: 0);
|
||||
}
|
||||
|
||||
.pay_type_item_select {
|
||||
border: solid 1rpx #f7f7f7;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.record-title {
|
||||
font-size: 28rpx;
|
||||
color: #fff;
|
||||
padding: 20rpx 0;
|
||||
}
|
||||
|
||||
.record-money {
|
||||
color: #fff;
|
||||
font-size: 50rpx;
|
||||
font-weight: bold;
|
||||
|
||||
span {
|
||||
font-size: 30rpx;
|
||||
font-weight: 400;
|
||||
margin-right: 4rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.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 {
|
||||
// box-shadow: 0 10rpx 20rpx 0rpx rgba($color: #000, $alpha: 0.4);
|
||||
padding: 20rpx;
|
||||
|
||||
.list-item {
|
||||
background-color: #fff;
|
||||
width: 100%;
|
||||
border-radius: 20rpx;
|
||||
margin-bottom: 20rpx;
|
||||
padding: 20rpx;
|
||||
|
||||
.list-item-title {
|
||||
width: 100%;
|
||||
border-bottom: solid 1rpx #f7f7f7;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
box-sizing: border-box;
|
||||
padding: 20rpx 0;
|
||||
|
||||
.left {
|
||||
flex: 1;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: flex-start;
|
||||
box-sizing: border-box;
|
||||
|
||||
.title {
|
||||
width: 520rpx;
|
||||
overflow: hidden;
|
||||
font-size: 30rpx;
|
||||
margin-left: 12rpx;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.tags {
|
||||
padding: 4rpx 10rpx;
|
||||
border-radius: 20rpx 0 20rpx 0;
|
||||
background-color: #076cff;
|
||||
font-size: 26rpx;
|
||||
color: #fff;
|
||||
}
|
||||
}
|
||||
|
||||
// .right{
|
||||
// padding: 20rpx 30rpx;
|
||||
// }
|
||||
}
|
||||
|
||||
|
||||
.list-item-content {
|
||||
width: 100%;
|
||||
color: #999;
|
||||
padding: 20rpx 0;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: flex-start;
|
||||
box-sizing: border-box;
|
||||
border-bottom: solid 1rpx #f7f7f7;
|
||||
|
||||
.good-img {
|
||||
margin-right: 20rpx;
|
||||
width: 160rpx;
|
||||
height: 160rpx;
|
||||
border-radius: 10rpx;
|
||||
}
|
||||
|
||||
.list-item-right {
|
||||
flex: 1;
|
||||
|
||||
.content-item {
|
||||
padding: 10rpx 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.person {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: flex-start;
|
||||
box-sizing: border-box;
|
||||
font-size: 30rpx;
|
||||
padding: 20rpx 0 0 0;
|
||||
font-weight: bold;
|
||||
|
||||
.avatar {
|
||||
width: 70rpx;
|
||||
height: 70rpx;
|
||||
border-radius: 50%;
|
||||
margin-right: 10rpx;
|
||||
}
|
||||
|
||||
.shop-name {
|
||||
background-color: #076cff;
|
||||
color: #fff;
|
||||
font-size: 24rpx;
|
||||
font-weight: 400;
|
||||
padding: 4rpx 20rpx;
|
||||
border-radius: 12rpx;
|
||||
margin-left: 20rpx;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@@ -9,7 +9,7 @@
|
||||
<view class="goods" @click="scanCode('goods','get')"> 权证核销 </view>
|
||||
<view class="coupons" @click="scanCode('coupons','get')"> 优惠券核销 </view>
|
||||
</view>
|
||||
<view class="history">核销记录</view>
|
||||
<view class="history" @click="goHistory">核销记录</view>
|
||||
<u-toast ref="uToast" />
|
||||
|
||||
<!-- 二维码展示动画效果 -->
|
||||
@@ -74,7 +74,7 @@
|
||||
}
|
||||
});
|
||||
},
|
||||
// 请求核销前置,优惠券前置和权证前置
|
||||
// 请求核销前置,优惠券前置和权证前置(get) post 是核销
|
||||
scanInfo(token, method) {
|
||||
console.log(token, this.scanType)
|
||||
let apiUrl = ''
|
||||
@@ -122,7 +122,8 @@
|
||||
success: (res1) => {
|
||||
if (res1.confirm) {
|
||||
uni.navigateTo({
|
||||
url:'/pages/property/coupon/canUseList?code='+this.code
|
||||
url: '/pages/property/coupon/canUseList?code=' +
|
||||
this.code
|
||||
})
|
||||
} else {
|
||||
this.showCode = true
|
||||
@@ -145,6 +146,12 @@
|
||||
})
|
||||
this.showCode = false
|
||||
})
|
||||
},
|
||||
// 核销记录
|
||||
goHistory() {
|
||||
uni.navigateTo({
|
||||
url:'/pages/verification/history'
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user