parent
1016002c43
commit
a3d92d0421
@ -0,0 +1,98 @@ |
||||
<template> |
||||
<view v-if="show" class="message-mask"> |
||||
<view class="message-box"> |
||||
<image src="@/static/images/message.png" mode="aspectFill"></image> |
||||
<view class="box-title">{{ title }}</view> |
||||
<view class="box-content">{{ title }}</view> |
||||
<view class="box-footer flex"> |
||||
<view class="btn cancel" @click="show = false">取消</view> |
||||
<view class="btn submit" @click="$emit('submit')">确定</view> |
||||
</view> |
||||
</view> |
||||
</view> |
||||
</template> |
||||
|
||||
<script> |
||||
export default { |
||||
props: { |
||||
title: { |
||||
type: String, |
||||
default: () => '提示', |
||||
}, |
||||
content: { |
||||
type: String, |
||||
default: () => '请确认当前订单已收货', |
||||
}, |
||||
}, |
||||
data() { |
||||
return { |
||||
show: true, |
||||
}; |
||||
}, |
||||
}; |
||||
</script> |
||||
|
||||
<style lang="scss" scoped> |
||||
.message-mask { |
||||
position: fixed; |
||||
top: 0; |
||||
left: 0; |
||||
right: 0; |
||||
bottom: 0; |
||||
background: rgba(0, 0, 0, 0.5); |
||||
z-index: 99; |
||||
.message-box { |
||||
position: absolute; |
||||
top: 50%; |
||||
left: 50%; |
||||
transform: translate(-50%); |
||||
z-index: 100; |
||||
padding: 100rpx 30rpx 60rpx; |
||||
background: linear-gradient(to bottom, #BED3FE 0%, #fff 100%); |
||||
box-shadow: 0rpx 3rpx 2rpx 0rpx rgba(255,255,255,0.69); |
||||
border-radius: 50rpx; |
||||
border: 1px solid #FFFFFF; |
||||
width: 610rpx; |
||||
>image { |
||||
position: absolute; |
||||
top: -72rpx; |
||||
left: 50%; |
||||
transform: translateX(-50%); |
||||
width: 145rpx; |
||||
height: 144rpx; |
||||
z-index: 101; |
||||
} |
||||
.box-title { |
||||
color: #333333; |
||||
font-size: 34rpx; |
||||
text-align: center; |
||||
font-weight: bold; |
||||
margin-bottom: 30rpx; |
||||
} |
||||
.box-content { |
||||
color: #666; |
||||
font-size: 32rpx; |
||||
margin-bottom: 40rpx; |
||||
text-align: center; |
||||
} |
||||
.box-footer { |
||||
justify-content: space-between; |
||||
>view { |
||||
width: 230rpx; |
||||
height: 88rpx; |
||||
background: #EEEEEE; |
||||
border-radius: 44rpx; |
||||
color: #666; |
||||
font-size: 32rpx; |
||||
text-align: center; |
||||
line-height: 88rpx; |
||||
&.submit { |
||||
background: linear-gradient(0deg, #0F74BB 0%, #3293FF 100%); |
||||
box-shadow: -1rpx -2rpx 0rpx 0rpx rgba(255,255,255,0.51), -1rpx -2rpx 5rpx 0rpx rgba(52,121,253,0.56), 1rpx 3rpx 0rpx 0rpx rgba(250,253,255,0.88); |
||||
color: #fff; |
||||
} |
||||
} |
||||
} |
||||
} |
||||
} |
||||
</style> |
@ -0,0 +1,181 @@ |
||||
<template> |
||||
<BaseContainer class="record flex"> |
||||
<NavBar title="打卡记录" /> |
||||
<image src="@/static/images/learning/record-bg.png" mode="aspectFill" class="bg"></image> |
||||
<view class="record-container"> |
||||
<view class="record-info flex"> |
||||
<view class="total"> |
||||
<view>累计打卡</view> |
||||
<view><text>{{ totalClock }}</text><text>天</text></view> |
||||
</view> |
||||
<view class="line"></view> |
||||
<view class="today"> |
||||
<view>今日打卡</view> |
||||
<view :style="{ color: todayClock ? '#52C794' : '' }">{{ todayClock ? '已打卡' : '暂未打卡' }}</view> |
||||
</view> |
||||
</view> |
||||
<view class="calendar-box"> |
||||
<calendar /> |
||||
</view> |
||||
<view class="record-list"> |
||||
<view class="list-title"> |
||||
—— 打卡记录 —— |
||||
</view> |
||||
<view v-for="(item, index) in recordList" :key="index" class="list-item"> |
||||
<view class="item-top flex flex-center-x"> |
||||
<view>{{ item.name }}</view> |
||||
<view>{{ item.score }}分</view> |
||||
</view> |
||||
<view class="item-bottom flex flex-center-x"> |
||||
<view>用时:{{ item.time }}</view> |
||||
<view>{{ item.date }}</view> |
||||
</view> |
||||
</view> |
||||
</view> |
||||
</view> |
||||
</BaseContainer> |
||||
</template> |
||||
|
||||
<script> |
||||
import Calendar from './components/calendar.vue'; |
||||
export default { |
||||
components: { |
||||
Calendar, |
||||
}, |
||||
data() { |
||||
return { |
||||
totalClock: 50, |
||||
todayClock: false, |
||||
recordList: [ |
||||
{ name: '英语四级考试专项训练', time: '01:23:52', score: '98', date: '2023-10-20' }, |
||||
{ name: '英语四级考试专项训练', time: '01:23:52', score: '98', date: '2023-10-20' }, |
||||
{ name: '英语四级考试专项训练', time: '01:23:52', score: '98', date: '2023-10-20' }, |
||||
{ name: '英语四级考试专项训练', time: '01:23:52', score: '98', date: '2023-10-20' }, |
||||
{ name: '英语四级考试专项训练', time: '01:23:52', score: '98', date: '2023-10-20' }, |
||||
] |
||||
}; |
||||
}, |
||||
methods: { |
||||
|
||||
}, |
||||
}; |
||||
</script> |
||||
|
||||
<style lang="scss" scoped> |
||||
.record { |
||||
flex-direction: column; |
||||
.bg { |
||||
position: absolute; |
||||
top: 0; |
||||
left: 0; |
||||
width: 750rpx; |
||||
height: 743rpx; |
||||
z-index: 0; |
||||
} |
||||
.record-container { |
||||
flex: 1; |
||||
padding-top: 60rpx; |
||||
.record-info { |
||||
justify-content: space-between; |
||||
margin-bottom: 50rpx; |
||||
padding: 0 150rpx; |
||||
>view { |
||||
color: #333; |
||||
font-size: 30rpx; |
||||
line-height: 30rpx; |
||||
&.line { |
||||
width: 2rpx; |
||||
height: 76rpx; |
||||
background: #EEEEEE; |
||||
} |
||||
>view:last-child { |
||||
height: 70rpx; |
||||
font-size: 38rpx; |
||||
color: #666; |
||||
margin-top: 27rpx; |
||||
>text { |
||||
font-size: 24rpx; |
||||
color: #999; |
||||
&:first-child { |
||||
font-size: 70rpx; |
||||
color: #3293FF; |
||||
} |
||||
} |
||||
} |
||||
} |
||||
} |
||||
.calendar-box { |
||||
width: 690rpx; |
||||
// height: 630rpx; |
||||
background: #fff; |
||||
border-radius: 10rpx; |
||||
margin: 0 auto; |
||||
position: relative; |
||||
padding: 0 35rpx; |
||||
&:before { |
||||
content: ''; |
||||
width: 12rpx; |
||||
height: 36rpx; |
||||
background: linear-gradient(0deg, #DCEBF4 0%, #3293FF 100%); |
||||
border-radius: 6rpx; |
||||
position: absolute; |
||||
top: -18rpx; |
||||
left: 100rpx; |
||||
} |
||||
&:after { |
||||
content: ''; |
||||
width: 12rpx; |
||||
height: 36rpx; |
||||
background: linear-gradient(0deg, #DCEBF4 0%, #3293FF 100%); |
||||
border-radius: 6rpx; |
||||
position: absolute; |
||||
top: -18rpx; |
||||
right: 100rpx; |
||||
} |
||||
} |
||||
.record-list { |
||||
background: #fff; |
||||
border-radius: 10rpx; |
||||
padding: 40rpx 30rpx; |
||||
width: 690rpx; |
||||
margin: 20rpx auto 0; |
||||
.list-title { |
||||
text-align: center; |
||||
color: #333333; |
||||
font-size: 34rpx; |
||||
margin-bottom: 20rpx; |
||||
} |
||||
.list-item { |
||||
border-bottom: 1rpx solid #F0F0F0; |
||||
padding: 30rpx 0; |
||||
>view { |
||||
justify-content: space-between; |
||||
&.item-top { |
||||
color: #333333; |
||||
font-size: 30rpx; |
||||
line-height: 30rpx; |
||||
margin-bottom: 15rpx; |
||||
>view:last-child { |
||||
color: #3293FF; |
||||
font-size: 32rpx; |
||||
} |
||||
} |
||||
&.item-bottom { |
||||
font-size: 22rpx; |
||||
color: #999797; |
||||
line-height: 22rpx; |
||||
} |
||||
>view { |
||||
&:first-child { |
||||
width: 400rpx; |
||||
} |
||||
&:last-child { |
||||
margin-left: auto; |
||||
} |
||||
} |
||||
} |
||||
} |
||||
} |
||||
} |
||||
} |
||||
</style> |
@ -0,0 +1,335 @@ |
||||
<template> |
||||
<view class="calendar"> |
||||
<view class="calendar-title flex flex-center-x"> |
||||
<view class="pre-month operate" @click="gotoPreMonth"> |
||||
<view class="iconfont iconxiangyou" style="transform: rotate(180deg);"></view> |
||||
</view> |
||||
{{ monthYear }} |
||||
<view class="next-month operate" @click="gotoNextMonth"> |
||||
<view class="iconfont iconxiangyou"></view> |
||||
</view> |
||||
</view> |
||||
<view class='showData'> |
||||
<view class="title">日</view> |
||||
<view class="title">一</view> |
||||
<view class="title">二</view> |
||||
<view class="title">三</view> |
||||
<view class="title">四</view> |
||||
<view class="title">五</view> |
||||
<view class="title">六</view> |
||||
</view> |
||||
<view class='content'> |
||||
<view |
||||
v-for="(item, index) in allArr" |
||||
:key="index" |
||||
:class="['itemData']" |
||||
class="flex flex-center-x" |
||||
@click="chooseDay(item)" |
||||
> |
||||
<view |
||||
:class="['date', { |
||||
'nowDay': item.month === 'current' && nowYear === currentYear && nowMonth === currentMonth && nowDate === item.date, |
||||
'hasPlan': item.month === 'current' && dateList.includes(`${currentYear}-${formatterNum(currentMonth)}-${formatterNum(item.date)}`), |
||||
'isClock': item.month === 'current' && dateList.includes(`${currentYear}-${formatterNum(currentMonth)}-${formatterNum(item.date)}`) |
||||
}]" |
||||
>{{ item.month === 'current' ? item.date : '' }}</view> |
||||
</view> |
||||
</view> |
||||
</view> |
||||
</template> |
||||
|
||||
<script> |
||||
// import { queryMemorandumMonth } from '../api'; |
||||
export default { |
||||
props: { |
||||
calendarData: { |
||||
type: Array, |
||||
require: true, |
||||
}, |
||||
type: { |
||||
type: String, |
||||
require: true, |
||||
}, |
||||
}, |
||||
data() { |
||||
return { |
||||
currentMonthDateLen: 0, // 当月天数 |
||||
preMonthDateLen: 0, // 当月中,上月多余天数 |
||||
currentYear: new Date().getFullYear(), // 当前显示的年 |
||||
currentMonth: new Date().getMonth() + 1, // 当前显示的月 |
||||
// eslint-disable-next-line prefer-template |
||||
monthYear: new Date().getFullYear() + '年' + (new Date().getMonth() + 1 < 10 ? '0' + (new Date().getMonth() + 1) : (new Date().getMonth() + 1)) + '月', //当前年月 |
||||
nowYear: new Date().getFullYear(), // 当前显示的月 |
||||
nowMonth: new Date().getMonth() + 1, // 当前显示的月 |
||||
nowDate: new Date().getDate(), // 当前显示的日 |
||||
allArr: [], |
||||
dateList: [], |
||||
}; |
||||
}, |
||||
mounted() { |
||||
this.getAllArr(); |
||||
// this.getDateList(); |
||||
}, |
||||
methods: { |
||||
// async getDateList() { |
||||
// const res = await queryMemorandumMonth({ datetime: this.monthYear }); |
||||
// if (Number(res.status === 200) && res.data.success) { |
||||
// if (res.data.result.length > 0) { |
||||
// // eslint-disable-next-line arrow-parens |
||||
// res.data.result.forEach(v => { |
||||
// if (!this.dateList.includes(v)) { |
||||
// this.dateList.push(v); |
||||
// } |
||||
// }); |
||||
// } |
||||
// } else { |
||||
// this.$util.showMsg(res.data.message || res.data.msg); |
||||
// } |
||||
// }, |
||||
// 获取某年某月总共多少天 |
||||
getDateLen(year, month) { |
||||
let actualMonth = month - 1; |
||||
let timeDistance = +new Date(year, month) - +new Date(year, actualMonth); |
||||
return timeDistance / (1000 * 60 * 60 * 24); |
||||
}, |
||||
// 获取某月1号是周几 |
||||
getFirstDateWeek(year, month) { |
||||
return new Date(year, month - 1, 1).getDay(); |
||||
}, |
||||
// 上月 年、月 |
||||
preMonth(year, month) { |
||||
if (month == 1) { |
||||
return { |
||||
year: --year, |
||||
month: 12 |
||||
}; |
||||
} else { |
||||
return { |
||||
year: year, |
||||
month: --month |
||||
}; |
||||
} |
||||
}, |
||||
// 下月 年、月 |
||||
nextMonth(year, month) { |
||||
if (month == 12) { |
||||
return { |
||||
year: ++year, |
||||
month: 1 |
||||
}; |
||||
} else { |
||||
return { |
||||
year: year, |
||||
month: ++month |
||||
}; |
||||
} |
||||
}, |
||||
// 获取当月数据,返回数组 |
||||
getCurrentArr(){ |
||||
let currentMonthDateLen = this.getDateLen(this.currentYear, this.currentMonth); // 获取当月天数 |
||||
let currentMonthDateArr = []; // 定义空数组 |
||||
if (currentMonthDateLen > 0) { |
||||
for (let i = 1; i <= currentMonthDateLen; i++) { |
||||
currentMonthDateArr.push({ |
||||
month: 'current', // 只是为了增加标识,区分上下月 |
||||
date: i |
||||
}); |
||||
} |
||||
} |
||||
this.currentMonthDateLen = currentMonthDateLen; |
||||
return currentMonthDateArr; |
||||
}, |
||||
// 获取当月中,上月多余数据,返回数组 |
||||
getPreArr(){ |
||||
let preMonthDateLen = this.getFirstDateWeek(this.currentYear, this.currentMonth); // 当月1号是周几 == 上月残余天数) |
||||
let preMonthDateArr = []; // 定义空数组 |
||||
if (preMonthDateLen > 0) { |
||||
let { year, month } = this.preMonth(this.currentYear, this.currentMonth); // 获取上月 年、月 |
||||
let date = this.getDateLen(year, month); // 获取上月天数 |
||||
for (let i = 0; i < preMonthDateLen; i++) { |
||||
preMonthDateArr.unshift({ // 尾部追加 |
||||
month: 'pre', // 只是为了增加标识,区分当、下月 |
||||
date: date |
||||
}); |
||||
date--; |
||||
} |
||||
} |
||||
this.preMonthDateLen = preMonthDateLen; |
||||
return preMonthDateArr; |
||||
}, |
||||
// 获取当月中,下月多余数据,返回数组 |
||||
getNextArr() { |
||||
let nextMonthDateLen = 35 - this.preMonthDateLen - this.currentMonthDateLen; // 下月多余天数 |
||||
let nextMonthDateArr = []; // 定义空数组 |
||||
if (nextMonthDateLen > 0) { |
||||
for (let i = 1; i <= nextMonthDateLen; i++) { |
||||
nextMonthDateArr.push({ |
||||
month: 'next',// 只是为了增加标识,区分当、上月 |
||||
date: i |
||||
}); |
||||
} |
||||
} |
||||
return nextMonthDateArr; |
||||
}, |
||||
// 整合当月所有数据 |
||||
getAllArr(){ |
||||
let preArr = this.getPreArr(); |
||||
let currentArr = this.getCurrentArr(); |
||||
let nextArr = this.getNextArr(); |
||||
let allArr = [...preArr, ...currentArr, ...nextArr]; |
||||
this.allArr = allArr; |
||||
let sendObj = { |
||||
currentYear: this.currentYear, |
||||
currentMonth: this.currentMonth, |
||||
monthYear: this.currentYear + '年' + (this.currentMonth < 10 ? '0' + this.currentMonth : this.currentMonth) + '月', |
||||
nowYear: this.nowYear, |
||||
nowMonth: this.nowMonth, |
||||
nowDate: this.nowDate, |
||||
fullDate: this.nowYear + '-' + this.nowMonth + '-' + this.nowDate, |
||||
allArr: allArr |
||||
}; |
||||
this.$emit('sendObj', sendObj); |
||||
}, |
||||
// 点击 上月 |
||||
gotoPreMonth() { |
||||
let { year, month } = this.preMonth(this.currentYear, this.currentMonth); |
||||
this.currentYear = year; |
||||
this.currentMonth = month; |
||||
this.monthYear = year + '年' + (month < 10 ? '0' + month : month) + '月'; |
||||
this.getAllArr(); |
||||
// this.getDateList(); |
||||
}, |
||||
// 点击 下月 |
||||
gotoNextMonth() { |
||||
let { year, month } = this.nextMonth(this.currentYear, this.currentMonth); |
||||
this.currentYear = year; |
||||
this.currentMonth = month; |
||||
this.monthYear = year + '年' + (month < 10 ? '0' + month : month) + '月'; |
||||
this.getAllArr(); |
||||
// this.getDateList(); |
||||
}, |
||||
clockPreTask(id) { |
||||
this.$emit('clock', id); |
||||
}, |
||||
chooseDay(item) { |
||||
if (item.month === 'current') { |
||||
this.nowYear = this.currentYear; |
||||
this.nowMonth = this.currentMonth; |
||||
this.nowDate = item.date; |
||||
// this.$emit('change'); |
||||
} |
||||
}, |
||||
formatterNum(num) { |
||||
return Number(num) < 10 ? `0${num}` : num; |
||||
}, |
||||
} |
||||
}; |
||||
</script> |
||||
|
||||
<style lang="scss" scoped> |
||||
.calendar{ |
||||
width: 100%; |
||||
padding-bottom: 70rpx; |
||||
.calendar-title { |
||||
font-size: 30rpx; |
||||
color: #333; |
||||
font-weight: bold; |
||||
color: #333; |
||||
height: 102rpx; |
||||
border-bottom: 1rpx solid #e6e6e6; |
||||
justify-content: center; |
||||
.operate { |
||||
>view { |
||||
color: #b0b0b0; |
||||
} |
||||
&.pre-month { |
||||
margin-right: 35rpx; |
||||
} |
||||
&.next-month { |
||||
margin-left: 35rpx; |
||||
} |
||||
} |
||||
} |
||||
} |
||||
|
||||
.showData{ |
||||
display: flex; |
||||
justify-content: center; |
||||
align-items: center; |
||||
box-sizing: border-box; |
||||
} |
||||
.showData .title{ |
||||
width: calc(100% / 7); |
||||
height: 78rpx; |
||||
line-height: 48rpx; |
||||
text-align: center; |
||||
flex-shrink: 0; |
||||
font-size: 24rpx; |
||||
color: #B3B3B3; |
||||
padding: 15rpx 0; |
||||
} |
||||
.calendar .tit{ |
||||
display: flex; |
||||
justify-content: center; |
||||
align-items: center; |
||||
} |
||||
.calendar .content{ |
||||
display: flex; |
||||
flex-wrap: wrap; |
||||
box-sizing: border-box; |
||||
position: relative; |
||||
} |
||||
.calendar .content .itemData{ |
||||
width: calc(100% / 7); |
||||
height: 78rpx; |
||||
flex-shrink: 0; |
||||
font-size: 14px; |
||||
justify-content: center; |
||||
&.week-hidden { |
||||
display: none; |
||||
} |
||||
.date { |
||||
color: #333; |
||||
font-size: 24rpx; |
||||
line-height: 48rpx; |
||||
position: relative; |
||||
width: 48rpx; |
||||
height: 48rpx; |
||||
text-align: center; |
||||
&.nowDay { |
||||
background: #027DFF; |
||||
border-radius: 50%; |
||||
color: #fff; |
||||
} |
||||
&.hasPlan { |
||||
&:after { |
||||
content: ''; |
||||
position: absolute; |
||||
width: 7rpx; |
||||
height: 7rpx; |
||||
border-radius: 50%; |
||||
left: 50%; |
||||
bottom: -8rpx; |
||||
transform: translateX(-50%); |
||||
background: #FF0327; |
||||
white-space: nowrap; |
||||
line-height: 0; |
||||
font-weight: bold; |
||||
} |
||||
} |
||||
&.isClock { |
||||
&:after { |
||||
content: '√'; |
||||
position: absolute; |
||||
width: 12rpx; |
||||
height: 8rpx; |
||||
left: 50%; |
||||
bottom: 0rpx; |
||||
font-size: 20rpx; |
||||
color: #FF0327; |
||||
transform: translateX(-50%); |
||||
} |
||||
} |
||||
} |
||||
} |
||||
</style> |
@ -0,0 +1,104 @@ |
||||
<template> |
||||
<BaseContainer class="offline-course-list flex"> |
||||
<NavBar title="线下课堂" /> |
||||
<view class="list-box"> |
||||
<offline-style-course :specialList="specialList" @detail="handleSpecialClick"></offline-style-course> |
||||
<view v-if="specialList.length && !loading" class="finished">{{ loadTitle }}</view> |
||||
<view v-if="finished && !specialList.length" class="empty"> |
||||
<image mode="aspectFill" :src="getImgPath('/wap/first/zsff/images/empty.png')" alt="暂无课程" /> |
||||
<view>暂无课程</view> |
||||
</view> |
||||
</view> |
||||
</BaseContainer> |
||||
</template> |
||||
|
||||
<script> |
||||
import OfflineStyleCourse from '@/components/Course/offlineStyleCourse.vue'; |
||||
import { |
||||
getSpecialList, |
||||
} from "@/api/special"; |
||||
export default { |
||||
components: { |
||||
OfflineStyleCourse, |
||||
}, |
||||
data() { |
||||
return { |
||||
specialList: [], |
||||
page: 1, |
||||
limit: 10, |
||||
loading: false, |
||||
finished: false, |
||||
}; |
||||
}, |
||||
onReachBottom() { |
||||
// this.getSpecialList(); |
||||
}, |
||||
onLoad(options) { |
||||
this.grade_id = options.gradeId || ''; |
||||
this.subject_id = options.subjectId || ''; |
||||
this.special_type = options.specialType || ''; |
||||
// this.getSpecialList(); |
||||
}, |
||||
methods: { |
||||
async getSpecialList() { |
||||
if (this.loading || this.finished) { |
||||
return; |
||||
} |
||||
this.loadTitle = ""; |
||||
this.loading = true; |
||||
|
||||
try { |
||||
const { data } = await getSpecialList({ |
||||
grade_id: this.grade_id, |
||||
subject_id: this.subject_id, |
||||
special_type: this.special_type, |
||||
page: this.page++, |
||||
limit: this.limit, |
||||
}); |
||||
|
||||
this.specialList = this.specialList.concat(data); |
||||
console.log(this.specialList); |
||||
this.finished = data.length < this.limit; |
||||
this.loadTitle = this.finished ? "已全部加载完" : "上拉加载更多"; |
||||
} catch (err) { |
||||
console.log(err); |
||||
} |
||||
|
||||
this.loading = false; |
||||
}, |
||||
}, |
||||
}; |
||||
</script> |
||||
|
||||
<style lang="scss" scoped> |
||||
.offline-course-list { |
||||
flex-direction: column; |
||||
.list-box { |
||||
flex: 1; |
||||
width: 690rpx; |
||||
margin: 20rpx auto 0; |
||||
|
||||
.finished, |
||||
.loading { |
||||
font-size: 28rpx; |
||||
line-height: 100rpx; |
||||
text-align: center; |
||||
color: #bbb; |
||||
} |
||||
.empty { |
||||
margin-top: 100rpx; |
||||
font-size: 28rpx; |
||||
text-align: center; |
||||
color: #bbb; |
||||
} |
||||
|
||||
.empty image { |
||||
display: block; |
||||
width: 414rpx; |
||||
height: 305rpx; |
||||
margin: 0 auto; |
||||
pointer-events: none; |
||||
} |
||||
} |
||||
} |
||||
</style> |
After Width: | Height: | Size: 111 KiB |
After Width: | Height: | Size: 13 KiB |
Loading…
Reference in new issue