Commit aa9d9777 by 赖慧粮

feat(records): 完善抽奖记录列表及详情 & 改变留言抽奖转跳抽奖记录的方式:由直播间转跳变更为当前页转跳

parent 602ea5e5
...@@ -151,7 +151,7 @@ ...@@ -151,7 +151,7 @@
</div> </div>
<Records></Records> <Records></Records>
<Introduction class="lottery-instant__intro" :title-style="wheelIntroductionTitleStyle"></Introduction> <Introduction class="lottery-instant__intro" :title-style="wheelIntroductionTitleStyle"></Introduction>
<WinPopup v-model="isShowWin" :info="winInfo" @winCallback="winCallback"></WinPopup> <WinPopup v-model="isShowWin" :info="winInfo"></WinPopup>
<BindPhoneDialog v-model="isShowBindPhone"></BindPhoneDialog> <BindPhoneDialog v-model="isShowBindPhone"></BindPhoneDialog>
</section> </section>
</div> </div>
...@@ -274,13 +274,27 @@ export default { ...@@ -274,13 +274,27 @@ export default {
}, },
methods: { methods: {
...mapActions({ jumpToLogin: 'users/jumpToLogin', updateInfo: 'lottery/updateInfo' }), ...mapActions({ jumpToLogin: 'users/jumpToLogin', updateInfo: 'lottery/updateInfo' }),
// 中奖后, "我知道了"回调 // 中奖后, 关闭窗口回调
winCallback() { winCloseCallback(){
this.isShowWin = false this.isShowWin = false
if (this.winInfo.id !== 0 && !this.isBindPhone) { if (this.winInfo.id !== 0 && !this.isBindPhone) {
this.isShowBindPhone = true this.isShowBindPhone = true
} }
}, },
// 中奖后, "查看奖品详情"回调
winCallback() {
this.isShowWin = false
if (this.winInfo.id !== 0) {
this.$router.push({
path: '/recordDetail',
query: {
detailId: this.winInfo.id,
tempId: this.winInfo.tempId,
uin: this.uin
}
})
}
},
// 开始抽奖 // 开始抽奖
startLottery() { startLottery() {
// 抽奖不在活动日期内 // 抽奖不在活动日期内
......
...@@ -271,13 +271,27 @@ export default { ...@@ -271,13 +271,27 @@ export default {
}, },
methods: { methods: {
...mapActions({ jumpToLogin: 'users/jumpToLogin', updateInfo: 'lottery/updateInfo' }), ...mapActions({ jumpToLogin: 'users/jumpToLogin', updateInfo: 'lottery/updateInfo' }),
// 中奖后, "我知道了"回调 // 中奖后, 关闭窗口回调
winCallback() { winCloseCallback(){
this.isShowWin = false this.isShowWin = false
if (this.winInfo.id !== 0 && !this.isBindPhone) { if (this.winInfo.id !== 0 && !this.isBindPhone) {
this.isShowBindPhone = true this.isShowBindPhone = true
} }
}, },
// 中奖后, "查看奖品详情"回调
winCallback() {
this.isShowWin = false
if (this.winInfo.id !== 0) {
this.$router.push({
path: '/recordDetail',
query: {
detailId: this.winInfo.id,
tempId: this.winInfo.tempId,
uin: this.uin
}
})
}
},
// 开始抽奖 // 开始抽奖
startLottery() { startLottery() {
// 抽奖不在活动日期内 // 抽奖不在活动日期内
......
<template> <template>
<van-popup v-model="visible" class="records-popup" closeable swipeable close-icon="close"> <van-popup
v-model="visible"
class="records-popup"
:class="`records-popup--${theme}`"
closeable
swipeable
close-icon="close"
>
<van-tabs v-model="active" class="records-popup__tabs" :line-width="16" @change="onChange"> <van-tabs v-model="active" class="records-popup__tabs" :line-width="16" @change="onChange">
<van-tab title="抽奖记录" name="personal"> <van-tab title="抽奖记录" name="personal">
<div class="records-popup__personal-record"> <div class="records-popup__content">
<div class="records-popup__record-content"> <div class="records-popup__list-wrapper">
<div class="records-popup__phone"> <div class="records-popup__personal-record">
领奖手机号: <div class="records-popup__record-content">
<span v-if="isBindPhone">{{ userInfo.phone }}</span> <div class="records-popup__phone">
<span v-else class="records-popup__bind-phone" @click="bindMobile">绑定手机号</span> 领奖手机号:
</div> <span v-if="isBindPhone">{{ userInfo.phone }}</span>
<ul v-if="Object.keys(recordList).length !== 0" class="records-popup__record-list"> <span v-else class="records-popup__bind-phone" @click="bindMobile">绑定手机号</span>
<li v-for="(session, key, index) in recordList" :key="index">
<div v-for="(item, itemIndex) in session" :key="itemIndex" class="records-popup__session-info">
<div class="records-popup__info-wrap">
<div v-if="session.length > 1" class="records-popup__session">
{{ NUMBER_LIST[index + 1] }}场次
</div>
<div class="records-popup__time">
<span>{{ (item.drawTime * 1000) | formatDate('MM-DD HH:mm:ss') }}</span>
</div>
</div>
<div class="records-popup__prize-name">{{ item.prizeName }}</div>
</div> </div>
</li> <ul v-if="Object.keys(recordList).length !== 0" class="records-popup__record-list">
</ul> <li v-for="(session, key, index) in recordList" :key="index">
<div v-if="Object.keys(recordList).length === 0" class="records-popup__no-data">暂无记录</div> <div v-for="(item, itemIndex) in session" :key="itemIndex" class="records-popup__session-info">
<div class="records-popup__info-wrap">
<div v-if="session.length > 1" class="records-popup__session">
{{ NUMBER_LIST[index + 1] }}场次
</div>
<div class="records-popup__time">
<span>{{ (item.drawTime * 1000) | formatDate('MM-DD HH:mm:ss') }}</span>
</div>
</div>
<div class="records-popup__prize-name">{{ item.prizeName }}</div>
</div>
</li>
</ul>
<div v-if="Object.keys(recordList).length === 0" class="records-popup__no-data">暂无记录</div>
</div>
</div>
</div>
<div class="records-popup__jump-detail">
<span @click="jumpDetail">查看奖品详情</span>
</div> </div>
</div> </div>
</van-tab> </van-tab>
...@@ -50,7 +64,7 @@ import { getLotteryRecordList, getWinnersList } from '@/api/modules/lottery' ...@@ -50,7 +64,7 @@ import { getLotteryRecordList, getWinnersList } from '@/api/modules/lottery'
import { NUMBER_LIST } from '@/utils/constant' import { NUMBER_LIST } from '@/utils/constant'
export default { export default {
name: 'RecordsPupup', name: 'RecordsPopup',
props: { props: {
value: { value: {
type: Boolean, type: Boolean,
...@@ -63,6 +77,10 @@ export default { ...@@ -63,6 +77,10 @@ export default {
activeTab: { activeTab: {
type: String, type: String,
default: 'personal' default: 'personal'
},
theme: {
type: String,
default: 'normal'
} }
}, },
data() { data() {
...@@ -144,6 +162,14 @@ export default { ...@@ -144,6 +162,14 @@ export default {
this.jumpToBinding() this.jumpToBinding()
} }
}) })
},
jumpDetail() {
this.$router.push({
path: '/records',
query: {
uin: this.uin
}
})
} }
} }
} }
...@@ -157,12 +183,39 @@ export default { ...@@ -157,12 +183,39 @@ export default {
border-radius: 15px; border-radius: 15px;
overflow: visible; overflow: visible;
font-size: 12px; font-size: 12px;
/deep/ .van-popup__close-icon { ::v-deep .van-popup__close-icon {
right: -22px; right: -22px;
top: -20px; top: -20px;
font-size: 22px; font-size: 22px;
color: #fff; color: #fff;
} }
// &--blue {
// background: transparent;
// ::v-deep .van-tabs__content {
// background-image: url('~@/assets/images/lottery/records-new/bg-blue.png');
// background-size: 100% 100%;
// background-repeat: no-repeat;
// }
// ::v-deep .van-tab {
// border-radius: 16px 16px 0 0;
// background-image: radial-gradient(at center bottom, #9ed5fc 30%, #fefeff);
// &:first-child{
// margin-right: 6px;
// }
// &__text {
// color: #93b6df;
// }
// &--active {
// background: #fff;
// .van-tab__text {
// color: #4787d2 !important;
// }
// }
// }
// ::v-deep .van-tabs__line {
// display: none;
// }
// }
&__tabs { &__tabs {
padding: 8px 0 0; padding: 8px 0 0;
height: 100%; height: 100%;
...@@ -200,12 +253,32 @@ export default { ...@@ -200,12 +253,32 @@ export default {
} }
} }
} }
&__content {
width: 100%;
height: 100%;
display: flex;
flex-direction: column;
align-content: center;
}
&__list-wrapper {
flex: 1;
overflow: hidden;
}
&__personal-record { &__personal-record {
width: 100%; width: 100%;
height: 100%; height: 100%;
overflow: hidden auto; overflow: hidden auto;
padding: 0 15px; padding: 0 15px;
} }
&__jump-detail {
width: 100%;
height: 18px;
line-height: 18px;
text-align: center;
color: #ff0024;
font-size: 12px;
margin-top: 10px;
}
&__phone { &__phone {
color: #666; color: #666;
margin-bottom: 12px; margin-bottom: 12px;
......
<template> <template>
<van-popup v-model="visible" class="win-popup" closeable close-icon="close" :style="{ background: 'transparent' }"> <van-popup
v-model="visible"
class="win-popup"
closeable
close-icon="close"
:style="{ background: 'transparent' }"
@click-close-icon="onClose"
>
<div class="win-popup__container"> <div class="win-popup__container">
<div class="win-popup__wrap"> <div class="win-popup__wrap">
<div class="win-popup__content"> <div class="win-popup__content">
...@@ -15,12 +22,20 @@ ...@@ -15,12 +22,20 @@
<div v-else class="win-popup__thanks">谢谢参与,再接再厉</div> <div v-else class="win-popup__thanks">谢谢参与,再接再厉</div>
</div> </div>
<div class="win-popup__footer"> <div class="win-popup__footer">
<van-button class="win-popup__sure" color="linear-gradient(to right, #ffde9d, #ffdbb3)" round @click="know"
>我知道了</van-button
>
<template v-if="isWin"> <template v-if="isWin">
<van-button class="win-popup__sure" color="linear-gradient(to right, #ffde9d, #ffdbb3)" round @click="know"
>查看奖品详情</van-button
>
<p class="win-popup__win-msg">根据活动说明进行领取</p> <p class="win-popup__win-msg">根据活动说明进行领取</p>
</template> </template>
<van-button
v-else
class="win-popup__sure"
color="linear-gradient(to right, #ffde9d, #ffdbb3)"
round
@click="visible = false"
>我知道了</van-button
>
</div> </div>
</div> </div>
</div> </div>
...@@ -59,6 +74,9 @@ export default { ...@@ -59,6 +74,9 @@ export default {
methods: { methods: {
know() { know() {
Bus.$emit('updateMain', { func: 'winCallback' }) Bus.$emit('updateMain', { func: 'winCallback' })
},
onClose() {
Bus.$emit('updateMain', { func: 'winCloseCallback' })
} }
} }
} }
...@@ -101,7 +119,7 @@ export default { ...@@ -101,7 +119,7 @@ export default {
font-size: 16px; font-size: 16px;
flex: 1; flex: 1;
width: 100%; width: 100%;
overflow: hidden overflow: hidden;
} }
&__win-info { &__win-info {
display: flex; display: flex;
......
import { setLotteryAddress } from '@/api/modules/records'
export default {
data() {
return {
connection: null,
timer: null
}
},
computed: {
isInIframe() {
return process.client ? window.self !== window.top : false
}
},
mounted() {
this.connectionInit()
},
methods: {
connectionInit() {
if (process.client && this.isInIframe && !this.connection) {
const { ClientConnection } = require('@easy-messenger/client-connection/dist/clientConnection.cjs.js')
this.connection = new ClientConnection()
let counter = 0
this.timer = setInterval(() => {
this.connection.init()
counter++
if (this.connection.connected || counter > 60) {
clearInterval(this.timer)
this.connectionListener()
}
}, 1000)
}
},
connectionListener() {
this.connection.on('onSaveLotteryAddress', addressInfo => {
const params = {
id: this.winInfo.id,
tempId: this.winInfo?.tempId || '',
uin: this.$route?.query?.uin || '',
address: `${addressInfo?.province || ''}-${addressInfo?.city || ''}-${addressInfo?.area || ''}-${
addressInfo?.detail
}`,
contactPhone: addressInfo?.mobile || '',
name: addressInfo?.name || ''
}
setLotteryAddress(params).then(res => {
const { code, errorCode, errorMessage } = res
if (code === 200 && errorCode === 0) {
this.$toast({
message: '保存成功,具体详情请前往个人中心查看',
duration: 3000,
onClose: () => {
this.connection.emit('onClose', { type: 'lottery' })
}
})
} else {
this.$toast(errorMessage)
}
})
})
},
connectionEmit(type, data){
this.connection.emit(type, data)
}
}
}
...@@ -205,7 +205,13 @@ export default { ...@@ -205,7 +205,13 @@ export default {
}, },
openRecordHandler() { openRecordHandler() {
// 触发打开抽奖记录 // 触发打开抽奖记录
this.connection.emit('openRecordHandler', this.lotteryInfo) // this.connection.emit('openRecordHandler', this.lotteryInfo)
this.$router.push({
path: '/records',
query: {
uin: this.$route?.query?.uin || ''
}
})
}, },
openAddressHandler() { openAddressHandler() {
// 触发打开编辑地址 // 触发打开编辑地址
......
<template>
<div class="record-detail">
<van-nav-bar fixed title="奖品详情" left-arrow @click-left="onClickLeft" />
<div class="record-detail__content">
<div class="record-detail__info">
<ul class="record-detail__info-wrapper">
<li>
<label>活动名称:</label>
<span>{{ detailInfo.title }}</span>
</li>
<li>
<label>中奖场次:</label>
<span v-if="detailInfo.drawPlay">{{ `第 ${detailInfo.drawPlay} 场` }}</span>
</li>
<li>
<label>参与时间:</label>
<span v-if="detailInfo.drawTime">{{ (detailInfo.drawTime * 1000) | formatDate('YYYY-MM-DD HH:mm') }}</span>
</li>
<li>
<label>获得奖品:</label>
<div>
<p>{{ detailInfo.prizeName }}</p>
<img v-lazy="detailInfo.prizeIcon" class="record-detail__info-img" alt="" />
</div>
</li>
<li>
<label>领奖方式:</label>
<span>{{ LOTTERY_EXCHANGE_TYPE_TXT[detailInfo.exchangeType] }}</span>
</li>
</ul>
</div>
<div v-if="+detailInfo.exchangeType === +LOTTERY_EXCHANGE_TYPE.offline" class="record-detail__code-info">
<QRCode :url="detailInfo.code" :width="70" :height="70"></QRCode>
<p class="record-detail__code-text">
<label>兑换码:</label>
<template v-if="detailInfo.code">
{{ detailInfo.code }}
<span class="record-detail__copy-btn" @click="onCopy(detailInfo.code)"
><i class="iconfont icon-fuzhi"></i>复
</span>
</template>
</p>
<p class="record-detail__notice">*兑换信息请勿泄露给他人,以防冒充代领</p>
</div>
<div v-if="+detailInfo.exchangeType === +LOTTERY_EXCHANGE_TYPE.mailing" class="record-detail__addressee-info">
<span v-if="!detailInfo.name" class="record-detail__edit-btn" @click="isShowAddressPopup = true"
>填写收货地址</span
>
<template v-else>
<span class="record-detail__addressee-title">收货信息</span>
<ul class="record-detail__info-wrapper">
<li>
<label>收货人:</label>
<span>{{ detailInfo.name }}</span>
</li>
<li>
<label>手机号码:</label>
<span>{{ detailInfo.contactPhone }}</span>
</li>
<li>
<label>收货地址:</label>
<span v-if="detailInfo.address">{{ detailInfo.address }}</span>
</li>
<li>
<label>运单号:</label>
<span v-if="detailInfo.trackingNo">
{{ detailInfo.trackingNo }}
<span class="record-detail__copy-btn" @click="onCopy(detailInfo.trackingNo)"
><i class="iconfont icon-fuzhi"></i>复
</span>
</span>
<span v-else class="record-detail__tracking-msg">您的收货信息已提交,稍后可查看运单号</span>
</li>
</ul>
</template>
</div>
</div>
<AddressListPopup
v-model="isShowAddressPopup"
left-text="保存"
:uin="uin"
:create-api="addAddress"
:update-api="setAddress"
:retrieve-api="getAddressList"
:delete-api="removeAddress"
@onBackHandler="onSaveAddress"
></AddressListPopup>
</div>
</template>
<script>
import { getRecordDetail, setLotteryAddress } from '@/api/modules/records'
import { LOTTERY_EXCHANGE_TYPE, LOTTERY_EXCHANGE_TYPE_TXT } from '@/utils/constant'
import { AddressListPopup } from '@gdyfe/gdy-component-lib'
import '@gdyfe/gdy-component-lib/lib/index.css'
import { getAddressList, removeAddress, setAddress, addAddress } from '@/api/modules/address'
export default {
name: 'Index',
components: {
QRCode: () => import('@/components/Common/QRCode'),
AddressListPopup
},
data() {
return {
uin: +this.$route?.query?.uin || '',
id: this.$route?.query?.detailId || '',
tempId: this.$route?.query?.tempId || '',
getAddressList,
removeAddress,
setAddress,
addAddress,
LOTTERY_EXCHANGE_TYPE,
LOTTERY_EXCHANGE_TYPE_TXT,
detailInfo: this.detailInfoTranslator(),
isShowAddressPopup: false
}
},
computed: {
isInIframe() {
return process.client ? window.self !== window.top : false
}
},
watch: {
$route: {
handler() {
this.loadData()
},
immediate: true
}
},
methods: {
loadData() {
getRecordDetail({ uin: this.$route?.query?.uin || '', id: this.id, tempId: this.tempId }).then(res => {
const { code, errorCode, errorMessage, data } = res
if (code === 200 && errorCode === 0) {
this.detailInfo = this.detailInfoTranslator(data)
} else {
this.$toast(errorMessage)
}
})
},
onSaveAddress(val) {
if (!val) {
this.$toast('未选择地址')
return
}
const params = {
id: this.id,
tempId: this.tempId,
uin: this.$route?.query?.uin || '',
address: `${val?.province || ''}-${val?.city || ''}-${val?.area || ''}-${val?.detail}`,
contactPhone: val?.mobile || '',
name: val?.name || ''
}
setLotteryAddress(params).then(res => {
const { code, errorCode, errorMessage } = res
if (code === 200 && errorCode === 0) {
this.$toast('保存成功')
this.isShowAddressPopup = false
this.loadData()
} else {
this.$toast(errorMessage)
}
})
},
onCopy(content) {
this.$copyText(content).then(
() => {
this.$toast('复制成功')
},
() => {
this.$toast('您的浏览器不支持一键复制,请手动从地址栏复制')
}
)
},
onClickLeft() {
window.history.back()
},
detailInfoTranslator(data) {
return {
...data,
title: data?.title || '',
drawPlay: data?.drawPlay || '',
drawTime: data?.drawTime || '',
prizeName: data?.prizeName || '',
prizeIcon: data?.prizeIcon || '',
exchangeType: +data?.exchangeType || 1,
address: data?.address || '',
contactPhone: data?.contactPhone || '',
code: data?.code || ''
}
}
}
}
</script>
<style lang="less" scoped>
.record-detail {
height: 100%;
width: 100%;
padding: 16px 28px;
background-color: #fff;
label {
font-size: 13px;
font-weight: 500;
color: #666;
white-space: nowrap;
line-height: 19px;
min-width: 65px;
}
&__content {
display: flex;
flex-direction: column;
margin-top: 46px;
}
&__info {
padding: 20px;
box-shadow: 0px 1px 8px 1px rgba(200, 200, 200, 0.3);
border-radius: 8px;
}
&__info-wrapper {
li {
display: flex;
margin-bottom: 15px;
&:last-child {
margin-bottom: 0;
}
span,
p {
color: #333;
font-size: 14px;
font-weight: 500;
line-height: 19px;
}
}
}
&__info-img {
width: 84px;
height: 84px;
display: block;
border: 1px solid #dddddd;
margin-top: 15px;
border-radius: 6px;
}
&__code-info {
margin-top: 10px;
padding: 20px;
box-shadow: 0px 1px 8px 1px rgba(200, 200, 200, 0.3);
border-radius: 8px;
display: flex;
flex-direction: column;
align-items: center;
}
&__addressee-info {
margin-top: 10px;
padding: 20px;
box-shadow: 0px 1px 8px 1px rgba(200, 200, 200, 0.3);
border-radius: 8px;
display: flex;
flex-direction: column;
}
&__code-text {
height: 18px;
font-size: 12px;
font-weight: 500;
line-height: 18px;
display: flex;
align-items: center;
margin: 10px 0;
}
&__notice {
color: #ff1111;
font-size: 12px;
}
&__edit-btn {
color: #2e7ff9;
font-size: 14px;
}
&__copy-btn {
background-color: #f2f2f2;
border-radius: 12px;
color: #999 !important;
font-size: 13px !important;
width: 52px;
height: 24px;
line-height: 1;
padding: 5px;
margin-left: 12px;
cursor: pointer;
i {
font-size: 13px;
margin-right: 2px;
}
}
&__addressee-title {
color: #333;
font-size: 14px;
font-weight: 500;
line-height: 19px;
margin-bottom: 15px;
}
&__tracking-msg {
color: #999 !important;
font-size: 13px !important;
}
}
</style>
<template> <template>
<div class="records" :class="{ 'records--scale': isShowDetail }"> <div class="records">
<van-nav-bar fixed title="抽奖记录" left-arrow @click-left="onClickLeft" />
<van-pull-refresh v-model="isRefreshing" class="records__refresh" @refresh="onRefresh"> <van-pull-refresh v-model="isRefreshing" class="records__refresh" @refresh="onRefresh">
<van-list <van-list
v-model="isLoading" v-model="isLoading"
...@@ -38,7 +39,6 @@ ...@@ -38,7 +39,6 @@
/> />
您还没有抽奖记录 您还没有抽奖记录
</div> </div>
<DetailPopup :id="detailId" v-model="isShowDetail"></DetailPopup>
</div> </div>
</template> </template>
...@@ -48,9 +48,7 @@ import { WRITEOFF_STATUS_TXT } from '@/utils/constant' ...@@ -48,9 +48,7 @@ import { WRITEOFF_STATUS_TXT } from '@/utils/constant'
export default { export default {
name: 'Records', name: 'Records',
components: { components: {},
DetailPopup: () => import('@/components/Records/DetailPopup')
},
data() { data() {
return { return {
WRITEOFF_STATUS_TXT, WRITEOFF_STATUS_TXT,
...@@ -60,10 +58,7 @@ export default { ...@@ -60,10 +58,7 @@ export default {
isError: false, isError: false,
hasMore: true, hasMore: true,
page: 1, page: 1,
pageSize: 10, pageSize: 10
isShowDetail: false,
detailId: null,
scrollTop: null
} }
}, },
computed: { computed: {
...@@ -72,19 +67,19 @@ export default { ...@@ -72,19 +67,19 @@ export default {
} }
}, },
watch: { watch: {
isShowDetail(val) { // isShowDetail(val) {
if (val) { // if (val) {
const scrollTop = document.documentElement.scrollTop || document.body.scrollTop // const scrollTop = document.documentElement.scrollTop || document.body.scrollTop
this.scrollTop = scrollTop // this.scrollTop = scrollTop
return // return
} // }
if (!val && this.scrollTop) { // if (!val && this.scrollTop) {
this.$nextTick(() => { // this.$nextTick(() => {
document.documentElement.scrollTop = document.body.scrollTop = this.scrollTop // document.documentElement.scrollTop = document.body.scrollTop = this.scrollTop
this.scrollTop = null // this.scrollTop = null
}) // })
} // }
} // }
}, },
methods: { methods: {
loadData() { loadData() {
...@@ -124,8 +119,16 @@ export default { ...@@ -124,8 +119,16 @@ export default {
this.loadData() this.loadData()
}, },
openPopup(item) { openPopup(item) {
this.isShowDetail = true this.$router.push({
this.detailId = item.id path: '/recordDetail',
query: {
uin: this.$route?.query?.uin || '',
detailId: item.id
}
})
},
onClickLeft() {
window.history.back()
} }
} }
} }
...@@ -137,11 +140,23 @@ export default { ...@@ -137,11 +140,23 @@ export default {
height: 100%; height: 100%;
transition: all 0.5s; transition: all 0.5s;
background-color: #fff; background-color: #fff;
// &--scale {
&--scale { // border-radius: 10px;
border-radius: 10px; // overflow: hidden;
overflow: hidden; // transform: scale(0.96);
transform: scale(0.96); // }
.van-nav-bar {
background: url('https://static-production.guangdianyun.tv/my/2.2.0/img/top-bg.bc50fdc.png');
background-size: 100% auto;
}
::v-deep .van-nav-bar__title {
color: #fff;
}
::v-deep .van-icon-arrow-left {
color: #fff;
}
&__refresh {
padding-top: 46px;
} }
&__list { &__list {
padding: 0 16px; padding: 0 16px;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment