1、报名成功的按钮边框,以及订单详情里的二维码边框展示不全

2.个人中心-我的发布,列表里的按钮位置修改
3.banner上的标题,文字内容无法正常展示
4.订单详情页里的展示内容,间距问题要改
This commit is contained in:
王创世 2025-06-03 18:13:16 +08:00
parent 388e11e43a
commit 730079ce49
7 changed files with 2422 additions and 2403 deletions

3
.gitignore vendored
View File

@ -1,5 +1,6 @@
.DS_Store .DS_Store
node_modules node_modules
unpackage
dist/ dist/
npm-debug.log* npm-debug.log*
yarn-debug.log* yarn-debug.log*
@ -9,10 +10,10 @@ yarn-error.log*
tests/**/coverage/ tests/**/coverage/
tests/e2e/reports tests/e2e/reports
selenium-debug.log selenium-debug.log
# Editor directories and files # Editor directories and files
.idea .idea
.vscode .vscode
.history
*.suo *.suo
*.ntvs* *.ntvs*
*.njsproj *.njsproj

View File

@ -1,42 +1,12 @@
<template> <template>
<view class="swiper_s"> <view class="swiper_s">
<swiper class="swiper_s" :autoplay="autoplaySwiper" indicator-active-color="#0DAE11" indicator-color="#ffffff" :indicator-dots="false" :current="swiperCurrent" @change="swiperChange"> <swiper class="swiper_s" :autoplay="false" indicator-active-color="#0DAE11" indicator-color="#ffffff" :indicator-dots="false" :current="swiperCurrent" @change="swiperChange">
<swiper-item v-for="(item,index) in list" :key="index"> <swiper-item v-for="(item,index) in list" :key="index">
<span class="fnon_tit"><span class="text">{{ item.title?item.title:'' }}</span></span> <view class="fnon_tit">
<view class="text">{{ item.title?item.title:'' }}</view>
</view>
<!-- @click="click(item.url)" 跳转活动链接 --> <!-- @click="click(item.url)" 跳转活动链接 -->
<image class="swiper-image" v-if="isImageUrl(item.image)" :src="item.image" mode="scaleToFill" lazy-load /> <image class="swiper-image" v-if="isImageUrl(item.image)" :src="item.image" mode="scaleToFill" />
<div style="height: 100%;width: 100%;position: relative;" v-else>
<!-- #ifdef APP -->
<MyVideo :item="item" :isPlay="!isShow && videoId == item.id" @onEnded="endVideo(item.id)" />
<view v-if="isShow"
style="z-index:99;position: absolute;width:100%;height:100%;top:0;left:0;display:flex; justify-content:center; align-items:center;">
<image @click.stop="plays(item.id,index)" src="@/static/bofang.png"
style="width: 40px;height: 40px;"></image>
</view>
<!-- #endif -->
<!-- #ifdef MP-WEIXIN -->
<video class="swiper-video" :id="`Video${item.id}`" :src="item.image" :autoplay="true"
:controls="true" :show-center-play-btn="false" :enable-progress-gesture="false"
@ended="endVideo(item.id)" @loadedmetadata="loadVideo(item.id)" />
<cover-view v-if="isShow"
style="z-index:99;position: absolute;width:100%;height:100%;top:0;left:0;display:flex; justify-content:center; align-items:center;">
<cover-image @click.stop="plays(item.id,index)" src="@/static/bofang.png"
style="width: 40px;height: 40px;"></cover-image>
</cover-view>
<!-- #endif -->
<!-- #ifdef H5 -->
<video class="swiper-video" :id="`Video${item.id}`" :src="item.image" :autoplay="true" :controls="false"
:show-center-play-btn="false" :enable-progress-gesture="false" @ended="endVideo(item.id)" />
<view v-if="isShow"
style="z-index:99;position: absolute;width:100%;height:100%;top:0;left:0;display:flex; justify-content:center; align-items:center;">
<image @click.stop="plays(item.id,index)" src="@/static/bofang.png"
style="width: 40px;height: 40px;"></image>
</view>
<!-- #endif -->
</div>
</swiper-item> </swiper-item>
</swiper> </swiper>
@ -70,7 +40,7 @@
data() { data() {
return { return {
swiperCurrent: 0, // swiperCurrent: 0, //
autoplaySwiper: true, autoplaySwiper: false,
isShow: true, isShow: true,
videoIndex: null, videoIndex: null,
videoId: null, videoId: null,
@ -79,43 +49,7 @@
} }
}, },
created() { created() {
// #ifdef MP-WEIXIN
const regex = /^(http|https):\/\//;
this.list.forEach(v => {
const bool = regex.test(v.url);
if (!bool) {
const fs = uni.getFileSystemManager();
const res = new Promise((resolve, reject) => {
fs.readFile({
filePath: v.url, // static
encoding: 'base64',
success: (res) => {
v.url = res.data
//
const fileName = `temp_video_${Date.now()}.mp4`;
//
const tempFilePath = `${uni.env.USER_DATA_PATH}/${fileName}`;
// Base64
fs.writeFile({
filePath: tempFilePath, //
data: v.url, // Base64URI
encoding: 'base64', // base64
success: () => {
v.url = tempFilePath
},
fail: (err) => {
console.error('写入文件失败:', err);
}
});
},
fail: (err) => {
console.error('读取视频文件失败:', err);
}
});
});
}
})
// #endif
}, },
methods: { methods: {
swiperChange(e) { swiperChange(e) {
@ -213,7 +147,7 @@
bottom: 30rpx; bottom: 30rpx;
.text { .text {
position: relative; /* 确保文字在模糊背景之上 */ position: relative; /* 确保文字在模糊背景之上 */
z-index: 10; /* 确保文字位于最上层 */ z-index: 110; /* 确保文字位于最上层,高于伪元素 */
} }
} }
.fnon_tit::after { .fnon_tit::after {
@ -223,6 +157,7 @@
backdrop-filter: blur(4px); /* 调整模糊程度 */ backdrop-filter: blur(4px); /* 调整模糊程度 */
pointer-events: none; /* 确保模糊效果不会干扰点击事件 */ pointer-events: none; /* 确保模糊效果不会干扰点击事件 */
border-radius: 36rpx; border-radius: 36rpx;
z-index: 10; /* 确保伪元素在背景和文字之间 */
} }
.dots { .dots {
position: absolute; position: absolute;

View File

@ -3,70 +3,39 @@
<view class="con-center flex flex-column justify-center align-items"> <view class="con-center flex flex-column justify-center align-items">
<view class="tabs align-items"> <view class="tabs align-items">
<span <span class="s-header flex flex-column" v-for="(item, index) in headers" :key="index"
class="s-header flex flex-column" :class="{ selected: headerSelected(item.status) }" @click="selectheader(item.status)">
v-for="(item, index) in headers"
:key="index"
:class="{ selected: headerSelected(item.status) }"
@click="selectheader(item.status)"
>
{{ item.text }} {{ item.text }}
<span <span class="lines" :class="{ selected: headerSelected(item.status) }"></span>
class="lines"
:class="{ selected: headerSelected(item.status) }"
></span>
</span> </span>
</view> </view>
<view class="flex align-items justify-start shenhe" v-if="status == 0"> <view class="flex align-items justify-start shenhe" v-if="status == 0">
<span :class="['span_s', { active: !auth_status }]" @click="toShlist(0)">待审核</span> <span :class="['span_s', { active: !auth_status }]" @click="toShlist(0)">待审核</span>
<span :class="['span_s', { active: auth_status }]" style="margin-left: 20rpx;" @click="toShlist(2)">未通过</span> <span :class="['span_s', { active: auth_status }]" style="margin-left: 20rpx;"
@click="toShlist(2)">未通过</span>
</view> </view>
<view class="hot flex flex-column"> <view class="hot flex flex-column">
<view class="content flex align-items flex-column"> <view class="content flex align-items flex-column">
<view <view class="flex flex-column w-100 bbb" style="position: relative;"
class="flex flex-column w-100 bbb" v-for="(item, index) in hotList" :key="index">
style="position: relative;" <image v-if="item.auth_status == 0" src="/static/my/daishenhe.png"
v-for="(item, index) in hotList" style="width: 134rpx; height: 106rpx;position: absolute;right: 0;"></image>
:key="index" <image v-if="item.auth_status == 2" src="/static/my/wtg.png"
> style="width: 134rpx; height: 106rpx;position: absolute;right: 0;"></image>
<image
v-if="item.auth_status == 0"
src="/static/my/daishenhe.png"
style="width: 134rpx; height: 106rpx;position: absolute;right: 0;"
></image>
<image
v-if="item.auth_status == 2"
src="/static/my/wtg.png"
style="width: 134rpx; height: 106rpx;position: absolute;right: 0;"
></image>
<view class="flex" style="margin-top: 24rpx"> <view class="flex" style="margin-top: 24rpx">
<view <view class="right flex flex-column" style="align-items: self-start">
class="right flex flex-column"
style="align-items: self-start"
>
<span class="title white-space">{{ item.title }}</span> <span class="title white-space">{{ item.title }}</span>
<span class="first-image flex align-items" style="margin-top: 20rpx; width: 100%">
<image :src="item.user.avatar" style="width: 36rpx; height: 36rpx"></image>
<span <span
class="first-image flex align-items" style="color: #9c9c9c; margin-left: 10rpx; width: 35%">{{ item.user.nickname }}</span>
style="margin-top: 20rpx; width: 100%"
>
<image
:src="item.user.avatar"
style="width: 36rpx; height: 36rpx"
></image>
<span
style="color: #9c9c9c; margin-left: 10rpx; width: 35%"
>{{ item.user.nickname }}</span
>
<view class="white-space" style="width: 60%"> <view class="white-space" style="width: 60%">
<span <span style="color: #0ca013; margin-left: 20rpx"
style="color: #0ca013; margin-left: 20rpx" v-for="items_t in item.classes_cate">#{{ items_t }}</span>
v-for="items_t in item.classes_cate"
>#{{ items_t }}</span
>
</view> </view>
</span> </span>
@ -75,30 +44,26 @@
<span class="time_tex" v-if="item.status == 2">{{ <span class="time_tex" v-if="item.status == 2">{{
"报名中" "报名中"
}}</span> }}</span>
<span style="margin: 0 8rpx" <span style="margin: 0 8rpx">{{ dateWeeks(item.sign_start_time) }} </span>|<span
>{{ dateWeeks(item.sign_start_time) }} </span
>|<span
class="white-space" class="white-space"
style="margin-left: 8rpx; width: 260rpx" style="margin-left: 8rpx; width: 260rpx">{{ item.address_detail }}</span>
>{{ item.address_detail }}</span
>
</view> </view>
</view> </view>
<view class="flex align-items" style="margin-top: 20rpx"> <view class="flex align-items" style="margin-top: 20rpx">
<image <image class="imgs_con" v-for="(items_img, index) in item.images.slice(0, 3)"
class="imgs_con" :key="index" :src="items_img"></image>
v-for="(items_img, index) in item.images.slice(0, 3)"
:key="index"
:src="items_img"
></image>
</view> </view>
</view> </view>
</view> </view>
<view class="bottom flex align-items" v-if="item.auth_status != 0" style="justify-content: space-around;"> <view class="bottom flex align-items" v-if="item.auth_status != 0"
style="justify-content: space-between;padding: 0rpx 20rpx;">
<!-- <view class="flex align-items" v-if="item.status == 2"> <view v-if="item.status==1">
<span class="flex align-items" style="width: 150rpx"> <image src="/static/index/dian.png"
style="width: 60rpx;height: 60rpx;vertical-align: middle;"></image>
<text style="margin-left: 20rpx;vertical-align: middle;font-size: 26rpx;">未开始</text>
</view>
<view v-if="item.status==2" style="display: flex;align-items: center;">
<u-avatar-group <u-avatar-group
:urls="item.join_info.users" :urls="item.join_info.users"
keyName="avatar" keyName="avatar"
@ -107,31 +72,29 @@
gap="0.4" gap="0.4"
></u-avatar-group> ></u-avatar-group>
<image <image
v-if="item.join_info.users.length > 0"
src="/static/index/dian.png" src="/static/index/dian.png"
style=" style="
width: 60rpx; width: 60rpx;
height: 60rpx; height: 60rpx;
margin-left: -20rpx; margin-left: -20rpx;
z-index: 1;
" "
></image> ></image>
</span> <view style="margin-left: 20rpx;vertical-align: middle;font-size: 26rpx;">{{ Number(item.join_info.people_number) + "人已上车" }}</view>
<view class="number flex align-items">
{{ Number(item.join_info.people_number) + "人已上车" }}
</view> </view>
</view> --> <view style="font-size: 26rpx; width: 40%;">
<!-- <view class="flex align-items"> <text>核销</text>
<span class="flex align-items" style="width: 150rpx"> <text style="color: orangered;">{{item.verification_num}}</text>
123/456 <text>/{{item.stock}}</text>
</span> </view>
</view> --> <view v-if="item.status == 3 || item.status == 4"
<span v-if="item.status == 4 || item.status == 3 || item.status == 2" class="part1 flex justify-center align-items" @click="toHexiao"> 核销 </span> class="part1 flex justify-center align-items" @click="toHexiao"> 核销 </view>
<span class="part flex justify-center align-items" v-if="item.auth_status != 2" @click="detail(item.id)"> 详情 </span> <view class="part flex justify-center align-items" v-if="item.auth_status != 2"
@click="detail(item.id)"> 详情 </view>
</view> </view>
</view> </view>
<view class="flex flex-column flex-start align-items" v-if="hotList.length == 0" style="margin-top: 300rpx;"> <view class="flex flex-column flex-start align-items" v-if="hotList.length == 0"
style="margin-top: 300rpx;">
<image src="/static/message/activen.png" mode="" style="width: 200rpx;height: 200rpx;"> <image src="/static/message/activen.png" mode="" style="width: 200rpx;height: 200rpx;">
</image> </image>
<view style="margin-top: 50rpx;font-size: 36rpx;color: #323232;">暂无发布活动</view> <view style="margin-top: 50rpx;font-size: 36rpx;color: #323232;">暂无发布活动</view>
@ -173,8 +136,10 @@
</template> </template>
<script> <script>
import { dateWeek } from "../../utils/dateFormat"; import {
export default { dateWeek
} from "../../utils/dateFormat";
export default {
data() { data() {
return { return {
popupStyle: { popupStyle: {
@ -186,8 +151,7 @@ export default {
padding: "0", padding: "0",
borderRadius: "20rpx", borderRadius: "20rpx",
}, },
sortList: [ sortList: [{
{
text: "按照价格排序", text: "按照价格排序",
value: ["acs", "desc"], value: ["acs", "desc"],
}, },
@ -198,8 +162,7 @@ export default {
], ],
size: 13, size: 13,
sortStyle: ["#ff557f", "#3f3f3f"], sortStyle: ["#ff557f", "#3f3f3f"],
headers: [ headers: [{
{
status: "0", status: "0",
text: "活动审核", text: "活动审核",
}, },
@ -240,7 +203,7 @@ export default {
// //
hotList: [], hotList: [],
// //
auth_status:0, auth_status: 0,
status: 0, status: 0,
}; };
}, },
@ -339,7 +302,7 @@ export default {
url: "/packageA/center/detail?id=" + id, url: "/packageA/center/detail?id=" + id,
}); });
}, },
toHexiao(){ toHexiao() {
// API // API
let that = this; let that = this;
wx.scanCode({ wx.scanCode({
@ -360,7 +323,7 @@ export default {
let urlParams = this.parseQueryString(e.split('?')[1]); let urlParams = this.parseQueryString(e.split('?')[1]);
console.log(urlParams); console.log(urlParams);
uni.navigateTo({ uni.navigateTo({
url: '/packageA/my/cancelActivity?code='+urlParams.code+'&id='+urlParams.id url: '/packageA/my/cancelActivity?code=' + urlParams.code + '&id=' + urlParams.id
}); });
}, },
parseQueryString(query) { parseQueryString(query) {
@ -395,8 +358,7 @@ export default {
toMake(id, orderId, classes_lib_id, type) { toMake(id, orderId, classes_lib_id, type) {
uni.navigateTo({ uni.navigateTo({
// url: "/packageA/center/applyDetail?id=" + id + "&orderId=" + orderId + "&type=" + 2 // url: "/packageA/center/applyDetail?id=" + id + "&orderId=" + orderId + "&type=" + 2
url: url: "/packageA/center/orderDetail?id=" +
"/packageA/center/orderDetail?id=" +
id + id +
"&orderId=" + "&orderId=" +
orderId + orderId +
@ -422,8 +384,7 @@ export default {
type = 0; type = 0;
} }
uni.navigateTo({ uni.navigateTo({
url: url: "/packageA/center/orderDetail?id=" +
"/packageA/center/orderDetail?id=" +
id + id +
"&orderId=" + "&orderId=" +
orderId + orderId +
@ -438,8 +399,7 @@ export default {
// //
toPay(id, orderId, classes_lib_id, order_no, type) { toPay(id, orderId, classes_lib_id, order_no, type) {
uni.navigateTo({ uni.navigateTo({
url: url: "/packageA/center/orderDetail?id=" +
"/packageA/center/orderDetail?id=" +
id + id +
"&orderId=" + "&orderId=" +
orderId + orderId +
@ -533,21 +493,22 @@ export default {
headerSelected(status) { headerSelected(status) {
return this.selected === status; return this.selected === status;
}, },
toShlist(val){ toShlist(val) {
this.auth_status = val this.auth_status = val
this.getHotList(this.status); this.getHotList(this.status);
} }
}, },
}; };
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.box { .box {
.con-center { .con-center {
width: 100%; width: 100%;
// margin-top: 25rpx; // margin-top: 25rpx;
// overflow: hidden; // overflow: hidden;
background: #f7f7f7; background: #f7f7f7;
.tabs { .tabs {
width: 750rpx; width: 750rpx;
background: #ffffff; background: #ffffff;
@ -582,22 +543,26 @@ export default {
color: #323232; color: #323232;
line-height: 28rpx; line-height: 28rpx;
} }
.lines { .lines {
position: absolute; position: absolute;
bottom: 0; bottom: 0;
width: 44rpx; width: 44rpx;
} }
.lines.selected { .lines.selected {
border-bottom: #323232 solid 8rpx; border-bottom: #323232 solid 8rpx;
} }
} }
.shenhe{
.shenhe {
width: 100%; width: 100%;
margin-left: 30rpx; margin-left: 30rpx;
margin-top: 30rpx; margin-top: 30rpx;
position: fixed; position: fixed;
top: 80rpx; top: 80rpx;
.span_s{
.span_s {
width: 134rpx; width: 134rpx;
height: 60rpx; height: 60rpx;
line-height: 60rpx; line-height: 60rpx;
@ -608,50 +573,51 @@ export default {
font-size: 26rpx; font-size: 26rpx;
} }
.span_s.active { .span_s.active {
color: #3D3D3D; color: #3D3D3D;
} }
} }
} }
} }
.w-100 { .w-100 {
width: 100%; width: 100%;
} }
.flex { .flex {
display: flex; display: flex;
} }
.flex-start { .flex-start {
align-items: flex-start; align-items: flex-start;
} }
.justify-center { .justify-center {
justify-content: center; justify-content: center;
} }
.align-items { .align-items {
align-items: center; align-items: center;
} }
.flex-column { .flex-column {
flex-flow: column; flex-flow: column;
} }
.justify-start { .justify-start {
justify-content: start; justify-content: start;
} }
.line { .line {
margin-top: 12rpx; margin-top: 12rpx;
width: 690rpx; width: 690rpx;
height: 1rpx; height: 1rpx;
background: #008cff; background: #008cff;
border-radius: 0rpx 0rpx 0rpx 0rpx; border-radius: 0rpx 0rpx 0rpx 0rpx;
} }
.centerBox { .centerBox {
width: 690rpx; width: 690rpx;
.box-line { .box-line {
@ -766,17 +732,17 @@ export default {
margin-top: 50rpx; margin-top: 50rpx;
} }
} }
} }
.charge { .charge {
font-family: PingFang SC, PingFang SC; font-family: PingFang SC, PingFang SC;
font-weight: 800; font-weight: 800;
font-size: 28rpx; font-size: 28rpx;
color: #ff2323; color: #ff2323;
line-height: 32rpx; line-height: 32rpx;
} }
.search { .search {
margin-top: 24rpx; margin-top: 24rpx;
width: 690rpx; width: 690rpx;
height: 64rpx; height: 64rpx;
@ -830,9 +796,9 @@ export default {
justify-content: center; justify-content: center;
align-items: center; align-items: center;
} }
} }
.popup { .popup {
.header { .header {
margin-left: 24rpx; margin-left: 24rpx;
font-family: PingFang SC, PingFang SC; font-family: PingFang SC, PingFang SC;
@ -921,29 +887,31 @@ export default {
color: #ffffff; color: #ffffff;
} }
} }
} }
.hui { .hui {
font-family: PingFang SC, PingFang SC; font-family: PingFang SC, PingFang SC;
font-weight: 500; font-weight: 500;
font-size: 24rpx; font-size: 24rpx;
color: #7a7a7a; color: #7a7a7a;
} }
.white-space { .white-space {
overflow: hidden; overflow: hidden;
/* 确保超出容器的文本被隐藏 */ /* 确保超出容器的文本被隐藏 */
white-space: nowrap; white-space: nowrap;
/* 确保文本在一行内显示 */ /* 确保文本在一行内显示 */
text-overflow: ellipsis; text-overflow: ellipsis;
/* 使用省略号表示被截断的文本 */ /* 使用省略号表示被截断的文本 */
} }
.hot {
.hot {
margin-top: 80rpx; margin-top: 80rpx;
margin-bottom: 70rpx; margin-bottom: 70rpx;
min-height: 100vh; min-height: 100vh;
.hot-top { .hot-top {
// padding-bottom: 12rpx; // padding-bottom: 12rpx;
// border-bottom: 2rpx solid red; // border-bottom: 2rpx solid red;
.left { .left {
@ -971,15 +939,13 @@ export default {
line-height: 30rpx; line-height: 30rpx;
} }
} }
} }
.content {
.content {
// height: 462rpx; // height: 462rpx;
// overflow-x: auto; // overflow-x: auto;
/* 允许横向滚动 */ /* 允许横向滚动 */
// white-space: nowrap; // white-space: nowrap;
width: 690rpx;
.bbb { .bbb {
background: #ffffff; background: #ffffff;
margin-top: 30rpx; margin-top: 30rpx;
@ -998,6 +964,7 @@ export default {
font-size: 30rpx; font-size: 30rpx;
color: #323232; color: #323232;
} }
.first-image { .first-image {
font-family: PingFang SC, PingFang SC; font-family: PingFang SC, PingFang SC;
font-weight: 400; font-weight: 400;
@ -1011,6 +978,7 @@ export default {
color: #222222; color: #222222;
} }
} }
.row { .row {
margin: 10rpx 0 26rpx 0; margin: 10rpx 0 26rpx 0;
@ -1063,6 +1031,7 @@ export default {
font-size: 26rpx; font-size: 26rpx;
color: #323232; color: #323232;
line-height: 30rpx; line-height: 30rpx;
.time_tex { .time_tex {
width: 116rpx; width: 116rpx;
height: 42rpx; height: 42rpx;
@ -1075,13 +1044,16 @@ export default {
text-align: center; text-align: center;
} }
} }
.imgs_con { .imgs_con {
width: 202rpx; width: 202rpx;
height: 202rpx; height: 202rpx;
margin-right: 20rpx; margin-right: 20rpx;
&:first-child { &:first-child {
border-radius: 18rpx 0 0 18rpx; border-radius: 18rpx 0 0 18rpx;
} }
&:nth-child(3) { &:nth-child(3) {
border-radius: 0 18rpx 18rpx 0; border-radius: 0 18rpx 18rpx 0;
} }
@ -1089,10 +1061,7 @@ export default {
} }
.bottom { .bottom {
margin: 32rpx 0 32rpx 24rpx; margin:20rpx 10rpx 30rpx 10rpx;
width: 666rpx;
.number { .number {
font-family: Source Han Sans CN, Source Han Sans CN; font-family: Source Han Sans CN, Source Han Sans CN;
font-weight: 400; font-weight: 400;
@ -1127,8 +1096,9 @@ export default {
margin-top: 18rpx; margin-top: 18rpx;
margin-right: 24rpx; margin-right: 24rpx;
} }
} }
.part {
.part {
width: 168rpx; width: 168rpx;
height: 70rpx; height: 70rpx;
background: url(@/static/index/shangche.png); background: url(@/static/index/shangche.png);
@ -1138,8 +1108,9 @@ export default {
font-weight: 400; font-weight: 400;
font-size: 42rpx; font-size: 42rpx;
color: #bbfc5b; color: #bbfc5b;
} }
.part1 {
.part1 {
width: 168rpx; width: 168rpx;
height: 70rpx; height: 70rpx;
background: url(@/static/index/hexiao.png); background: url(@/static/index/hexiao.png);
@ -1149,8 +1120,9 @@ export default {
font-weight: 400; font-weight: 400;
font-size: 42rpx; font-size: 42rpx;
color: #323232; color: #323232;
} }
.tofb{
.tofb {
margin-top: 50rpx; margin-top: 50rpx;
width: 280rpx; width: 280rpx;
height: 70rpx; height: 70rpx;
@ -1163,5 +1135,5 @@ export default {
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
} }
</style> </style>

View File

@ -9,12 +9,12 @@
<image class="head_img" v-if="detail.images.length > 0" :src="detail.images[0]" mode="" ></image> <image class="head_img" v-if="detail.images.length > 0" :src="detail.images[0]" mode="" ></image>
<view style="margin-left: 20rpx;"> <view style="margin-left: 20rpx;">
<view class="flex align-items"> <view class="flex align-items">
<span class="first-name">{{detail.title}}</span> <text class="first-name">{{detail.title}}</text>
</view> </view>
<view class="first-image flex align-items" style="margin-top: 25rpx;"> <view class="first-image flex align-items" style="margin-top: 25rpx;">
<image :src="detailAny.user.avatar" mode="" style="width: 36rpx;height: 36rpx;border-radius: 80rpx ;"></image> <image :src="detailAny.user.avatar" mode="" style="width: 36rpx;height: 36rpx;border-radius: 80rpx ;"></image>
<span style="color:#9C9C9C;">{{ detailAny.user.nickname }}</span> <text style="color:#9C9C9C;">{{ detailAny.user.nickname }}</text>
<span style="color:#9C9C9C;margin-left: 20rpx;">{{ detailAny.join_info.people_number }}人玩过</span> <text style="color:#9C9C9C;margin-left: 20rpx;">{{ detailAny.join_info.people_number }}人玩过</text>
</view> </view>
<view class="flex align-items" style="margin-top: 20rpx;"> <view class="flex align-items" style="margin-top: 20rpx;">
{{detailAny.totalprice}} {{detailAny.totalprice}}
@ -22,22 +22,22 @@
</view> </view>
</view> </view>
<span class="line"></span> <text class="line"></text>
<span class="first-image flex align-items" style="margin-top: 20rpx;"> <view class="first-image flex align-items">
<image src="../../static/center/Alarm.png" mode="" class="icon-size"></image> <image src="../../static/center/Alarm.png" mode="" class="icon-size"></image>
<span>{{formattedTime.formattedTime}}</span> <text>{{formattedTime.formattedTime}}</text>
</span> </view>
<span class="line"></span> <text class="line"></text>
<span class="first-image flex align-items space-between" <view class="first-image flex align-items space-between"
style="width: 100%;" style="width: 100%;"
@click.stop="toMap(detail.latitude, detail.longitude, detail.address_detail)"> @click.stop="toMap(detail.latitude, detail.longitude, detail.address_detail)">
<view class="flex"> <view class="flex">
<image src="/static/center/address.png" mode="" class="icon-size"></image> <image src="/static/center/address.png" mode="" class="icon-size"></image>
<span>{{detail.address_detail}}</span> <text>{{detail.address_detail}}</text>
</view> </view>
<image src="/static/detail/daohang.png" class="icon-size" style="width: 48rpx; height: 48rpx;"></image> <image src="/static/detail/daohang.png" class="icon-size" style="width: 48rpx; height: 48rpx;"></image>
</span> </view>
</view> </view>
@ -45,9 +45,9 @@
</view> </view>
<view class="third flex flex-column" style="justify-content: flex-start;"> <view class="third flex flex-column" style="justify-content: flex-start;">
<view class="third-top flex align-items"> <view class="third-top flex align-items">
<span>核销二维码 <view>核销二维码
<image class="icons" src="/static/detail/xiangqing.png"></image> <image class="icons" src="/static/detail/xiangqing.png"></image>
</span> </view>
</view> </view>
<view class="third-center"> <view class="third-center">
<qrcode-swiper :images="qrimages" @onSwiperChanges="onSwiperChanges"> </qrcode-swiper> <qrcode-swiper :images="qrimages" @onSwiperChanges="onSwiperChanges"> </qrcode-swiper>
@ -57,7 +57,7 @@
</l-painter-view> </l-painter-view>
</l-painter> --> </l-painter> -->
<view class="bottom"> <view class="bottom">
<span>左右滑动二维码核销{{qrindex}}/{{detailAny.num}}</span> <text>左右滑动二维码核销{{qrindex}}/{{detailAny.num}}</text>
</view> </view>
</view> </view>
@ -66,28 +66,28 @@
<view class="third flex flex-column" style="justify-content: flex-start;"> <view class="third flex flex-column" style="justify-content: flex-start;">
<view class="third-center"> <view class="third-center">
<view class="flex w-100 space-between hui align-items" style="margin-top: 8rpx;" > <view class="flex w-100 space-between hui align-items" style="margin-top: 8rpx;" >
<span>订单状态</span> <text>订单状态</text>
<span v-if="detailAny.status == 2 || detailAny.status == 3 || detailAny.status == 4">待核销</span> <text style="color: #323232;" v-if="detailAny.status == 2 || detailAny.status == 3 || detailAny.status == 4">待核销</text>
</view> </view>
<view class="flex w-100 space-between hui align-items" style="margin-top: 8rpx;" > <view class="flex w-100 space-between hui align-items" style="margin-top: 40rpx;" >
<span>订单编号</span> <text>订单编号</text>
<span>{{detailAny.order_no}}</span> <text style="color: #323232;">{{detailAny.order_no}}</text>
</view> </view>
<view class="flex w-100 space-between hui align-items" style="margin-top: 8rpx;" > <view class="flex w-100 space-between hui align-items" style="margin-top: 40rpx;" >
<span>创建时间</span> <text>创建时间</text>
<span>{{ formattime(detailAny.createtime)}}</span> <text style="color: #323232;">{{ formattime(detailAny.createtime)}}</text>
</view> </view>
<view class="flex w-100 space-between hui align-items" style="margin-top: 8rpx;" > <view class="flex w-100 space-between hui align-items" style="margin-top: 40rpx;" >
<span>付款金额</span> <text>付款金额</text>
<span style="color: #FF4810;">{{detailAny.totalprice}}</span> <text style="color: #FF4810;font-weight: 600;">{{detailAny.totalprice}}</text>
</view> </view>
<view class="flex w-100 space-between hui align-items" style="margin-top: 8rpx;" > <view class="flex w-100 space-between hui align-items" style="margin-top: 40rpx;" >
<span>付款方式</span> <text>付款方式</text>
<span>{{detailAny.pay_type == 'wechat' ? '微信支付' : '余额'}}</span> <text style="color: #323232;">{{detailAny.pay_type == 'wechat' ? '微信支付' : '余额'}}</text>
</view> </view>
<view class="flex w-100 space-between hui align-items" style="margin-top: 8rpx;" > <view class="flex w-100 space-between hui align-items" style="margin-top: 40rpx;" >
<span>付款时间</span> <text>付款时间</text>
<span>{{ formattime(detailAny.createtime)}}</span> <text style="color: #323232;">{{ formattime(detailAny.createtime)}}</text>
</view> </view>
</view> </view>
</view> </view>
@ -96,7 +96,7 @@
<view class="footer flex align-items flex-column" style="justify-content: space-between;" > <view class="footer flex align-items flex-column" style="justify-content: space-between;" >
<view class="footer-right flex justify-center align-items" > <view class="footer-right flex justify-center align-items" >
<span @click="service(detailAny.id)"> 申请售后 </span> <text @click="service(detailAny.id)"> 申请售后 </text>
</view> </view>
</view> </view>
@ -106,40 +106,40 @@
@open="buyOpen" :safeAreaInsetBottom="false" :closeable="true"> @open="buyOpen" :safeAreaInsetBottom="false" :closeable="true">
<view class="popupBox flex justify-start align-items flex-column"> <view class="popupBox flex justify-start align-items flex-column">
<view class="pop-header flex align-items flex-column flex-start"> <view class="pop-header flex align-items flex-column flex-start">
<span class="name white-space">{{detail.title}}</span> <view class="name white-space">{{detail.title}}</view>
<span class="price"> <view class="price">
<span v-if="detail.feel == 0">{{detail.price}}</span> <text v-if="detail.feel == 0">{{detail.price}}</text>
<span v-if="detail.feel == 1">公益</span> <text v-if="detail.feel == 1">公益</text>
</span> </view>
<!-- <image src="../../static/center/buy.png" mode="" style="width: 168rpx; height: 48rpx;"> <!-- <image src="../../static/center/buy.png" mode="" style="width: 168rpx; height: 48rpx;">
</image> --> </image> -->
</view> </view>
<view class="popup flex-column"> <view class="popup flex-column">
<span class="first-image flex align-items" style="margin: 16rpx 0;"> <view class="first-image flex align-items" style="margin: 16rpx 0;">
<image src="../../static/center/Alarm.png" mode="" class="icon-size"></image> <image src="../../static/center/Alarm.png" mode="" class="icon-size"></image>
<span>{{formattedTime.formattedTime}} (共计{{formattedTimeList.length}})</span> <text>{{formattedTime.formattedTime}} (共计{{formattedTimeList.length}})</text>
</span> </view>
<span class="first-image flex align-items"> <view class="first-image flex align-items">
<image src="../../static/center/address.png" mode="" class="icon-size"></image> <image src="../../static/center/address.png" mode="" class="icon-size"></image>
<span>{{detail.address_detail}}</span> <text>{{detail.address_detail}}</text>
</span> </view>
<!-- <image :src="detail.headimage" mode="" style="width: 200rpx; height: 140rpx;"></image> <!-- <image :src="detail.headimage" mode="" style="width: 200rpx; height: 140rpx;"></image>
<view class="popur-right flex flex-column"> <view class="popur-right flex flex-column">
<span class="name white-space">{{detail.title}}</span> <text class="name white-space">{{detail.title}}</text>
<span class="address">地址:{{detail.address_detail}}</span> <text class="address">地址:{{detail.address_detail}}</text>
<span class="date">开始时间:{{detail.start_time_text}}</span> <text class="date">开始时间:{{detail.start_time_text}}</text>
<span class="time">结束时间:{{detail.end_time_text}}</span> <text class="time">结束时间:{{detail.end_time_text}}</text>
<span class="line-row"></span> <text class="line-row"></text>
<span class="price"> <text class="price">
课程价格: 课程价格:
<span v-if="detail.feel == 0">{{detail.price}}</span> <text v-if="detail.feel == 0">{{detail.price}}</text>
<span v-if="detail.feel == 1">免费</span> <text v-if="detail.feel == 1">免费</text>
</span> </text>
</view> --> </view> -->
</view> </view>
<view class="popup-footer flex " @click="buy()"> <view class="popup-footer flex " @click="buy()">
<span v-if="type == 1 && detail.feel == 0"> </span> <text v-if="type == 1 && detail.feel == 0"> </text>
<span v-if="type == 1 && detail.feel == 1"> </span> <text v-if="type == 1 && detail.feel == 1"> </text>
<!-- <image src="../../static/center/price.png" mode="" style="width: 642rpx;height: 80rpx;"></image> --> <!-- <image src="../../static/center/price.png" mode="" style="width: 642rpx;height: 80rpx;"></image> -->
<u-loading-icon :vertical="true" v-if="uloadingShow"></u-loading-icon> <u-loading-icon :vertical="true" v-if="uloadingShow"></u-loading-icon>
</view> </view>
@ -149,18 +149,18 @@
<!-- 分享海报 --> <!-- 分享海报 -->
<u-overlay :show="overlay" class="pos"> <u-overlay :show="overlay" class="pos">
<view class="btnList"> <view class="btnList">
<span class="save" @click.stop="save()"> </span> <text class="save" @click.stop="save()"> </text>
<!-- <span class="sharePoster" @click.stop="sharePoster()"> <!-- <text class="sharePoster" @click.stop="sharePoster()">
</span> --> </text> -->
<button open-type="share" class="no-border-button" plain="true"> <button open-type="share" class="no-border-button" plain="true">
<span> </span> <text> </text>
</button> </button>
</view> </view>
<!-- <view class="Poster" style="z-index: 9999;height: 1230rpx;"> <!-- <view class="Poster" style="z-index: 9999;height: 1230rpx;">
<span class="posterClose" @click.stop="overlay = false"> <text class="posterClose" @click.stop="overlay = false">
<image src="../../static/center/close.png" mode="" style="width: 64rpx;height: 64rpx;"></image> <image src="../../static/center/close.png" mode="" style="width: 64rpx;height: 64rpx;"></image>
</span> </text>
<image :src="path" mode="widthFix" style="width: 690rpx;height: 1230rpx;"></image> <image :src="path" mode="widthFix" style="width: 690rpx;height: 1230rpx;"></image>
<l-painter isCanvasToTempFilePath ref="painter" @success="path = $event" hidden <l-painter isCanvasToTempFilePath ref="painter" @success="path = $event" hidden
@ -842,7 +842,6 @@
<style lang="scss" scoped> <style lang="scss" scoped>
.detail_all{ .detail_all{
background-color: #f7f7f7; background-color: #f7f7f7;
height: 100vh;
} }
.w-100 { .w-100 {
width: 100%; width: 100%;
@ -937,7 +936,7 @@
font-size: 24rpx; font-size: 24rpx;
color: #7A7A7A; color: #7A7A7A;
span { text {
// height: 80rpx; // height: 80rpx;
font-family: Source Han Sans CN, Source Han Sans CN; font-family: Source Han Sans CN, Source Han Sans CN;
font-weight: 400; font-weight: 400;
@ -970,7 +969,7 @@
} }
view { view {
span { text {
width: 24rpx; width: 24rpx;
height: 24rpx; height: 24rpx;
background: rgba(255, 255, 255, 0.4); background: rgba(255, 255, 255, 0.4);
@ -996,7 +995,7 @@
position: relative; position: relative;
z-index: 10; z-index: 10;
span{ view{
position: relative; position: relative;
.icons{ .icons{
width: 37rpx; width: 37rpx;
@ -1015,7 +1014,7 @@
font-family: PingFang SC, PingFang SC; font-family: PingFang SC, PingFang SC;
font-weight: 500; font-weight: 500;
font-size: 26rpx; font-size: 26rpx;
color: #7A7A7A; color: #9C9C9C;
} }
.bottom{ .bottom{
width: 100%; width: 100%;
@ -1038,7 +1037,7 @@
width: 630rpx; width: 630rpx;
height: 1rpx; height: 1rpx;
background: #F0F0F0; background: #F0F0F0;
margin: 19rpx 0; margin: 30rpx 0;
} }
.icon-size { .icon-size {
@ -1059,7 +1058,7 @@
background: #323232; background: #323232;
border-radius: 148rpx; border-radius: 148rpx;
margin-bottom: 30rpx; margin-bottom: 30rpx;
span { text {
font-family: YouSheBiaoTiHei, YouSheBiaoTiHei; font-family: YouSheBiaoTiHei, YouSheBiaoTiHei;
font-weight: 400; font-weight: 400;
font-size: 36rpx; font-size: 36rpx;
@ -1071,7 +1070,7 @@
height: 90rpx; height: 90rpx;
background: #E4E4E4; background: #E4E4E4;
border-radius: 148rpx; border-radius: 148rpx;
span { text {
font-family: YouSheBiaoTiHei, YouSheBiaoTiHei; font-family: YouSheBiaoTiHei, YouSheBiaoTiHei;
font-weight: 400; font-weight: 400;
font-size: 36rpx; font-size: 36rpx;
@ -1092,7 +1091,7 @@
background-position: left bottom; background-position: left bottom;
height: 265rpx; height: 265rpx;
span { text {
font-family: PingFang SC, PingFang SC; font-family: PingFang SC, PingFang SC;
font-weight: 400; font-weight: 400;
font-size: 20rpx; font-size: 20rpx;
@ -1118,7 +1117,7 @@
color: #FF4810; color: #FF4810;
margin-top: 16rpx; margin-top: 16rpx;
span { text {
font-family: PingFang SC, PingFang SC; font-family: PingFang SC, PingFang SC;
font-weight: 800; font-weight: 800;
font-size: 36rpx; font-size: 36rpx;
@ -1140,7 +1139,7 @@
left: 48rpx; left: 48rpx;
bottom: 48rpx; bottom: 48rpx;
span { text {
width: 594rpx; width: 594rpx;
height: 100rpx; height: 100rpx;
background: #222222; background: #222222;
@ -1159,9 +1158,9 @@
.line { .line {
width: 642rpx; width: 642rpx;
height: 1rpx; height: 1rpx;
background: #D9D9D9; background: #F0F0F0;
box-shadow: 1rpx 1rpx 0rpx 0rpx rgba(102, 102, 102, 0.25); //box-shadow: 1rpx 1rpx 0rpx 0rpx rgba(102, 102, 102, 0.25);
border-radius: 0rpx 0rpx 0rpx 0rpx; //border-radius: 0rpx 0rpx 0rpx 0rpx;
} }
.times { .times {
@ -1282,7 +1281,7 @@
font-size: 32rpx; font-size: 32rpx;
color: #4B4B4B; color: #4B4B4B;
span { text {
font-family: PingFang SC, PingFang SC; font-family: PingFang SC, PingFang SC;
font-weight: 800; font-weight: 800;
font-size: 24rpx; font-size: 24rpx;
@ -1377,7 +1376,7 @@
display: flex; display: flex;
justify-content: space-evenly; justify-content: space-evenly;
span { text {
width: 250rpx; width: 250rpx;
height: 80rpx; height: 80rpx;
background: #FFFFFF; background: #FFFFFF;
@ -1422,7 +1421,7 @@
height: 80rpx; height: 80rpx;
line-height: inherit; line-height: inherit;
span { text {
width: 250rpx; width: 250rpx;
height: 80rpx; height: 80rpx;
background: #FFFFFF; background: #FFFFFF;

View File

@ -141,7 +141,7 @@
width: 280rpx; width: 280rpx;
height: 70rpx; height: 70rpx;
border-radius: 198rpx 198rpx 198rpx 198rpx; border-radius: 198rpx 198rpx 198rpx 198rpx;
border: 1rpx solid #323232; border: 1px solid #323232;
font-family: YouSheBiaoTiHei, YouSheBiaoTiHei; font-family: YouSheBiaoTiHei, YouSheBiaoTiHei;
font-weight: 400; font-weight: 400;
font-size: 32rpx; font-size: 32rpx;

View File

@ -1,14 +1,11 @@
<template> <template>
<view class="carousel-container"> <view class="carousel-container">
<!-- 轮播主体 --> <!-- 轮播主体 -->
<swiper <swiper class="swiper-box" :current="currentIndex" @change="onSwiperChange" circular>
class="swiper-box"
:current="currentIndex"
@change="onSwiperChange"
circular
>
<swiper-item v-for="(item, index) in images" :key="index" class="swiper-item"> <swiper-item v-for="(item, index) in images" :key="index" class="swiper-item">
<image :src="item" class="swiper-image" mode="" /> <view style="border: 1px solid #9C9C9C;width: 280rpx;height: 280rpx;margin: 0 auto;border-radius: 8rpx;">
<image :src="item" class="swiper-image" mode="aspectFill" />
</view>
</swiper-item> </swiper-item>
</swiper> </swiper>
@ -31,12 +28,15 @@
/> />
</view> --> </view> -->
</view> </view>
</template> </template>
<script> <script>
export default { export default {
props: { props: {
images: { type: Array, default: () => [] } // images: {
type: Array,
default: () => []
} //
}, },
data() { data() {
return { return {
@ -61,27 +61,31 @@
} }
} }
}; };
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.carousel-container { .carousel-container {
position: relative; position: relative;
height: 400rpx; height: 350rpx;
} }
.swiper-box { .swiper-box {
width: 100%; width: 100%;
height: 100%; height: 100%;
} }
.swiper-item{
display: flex; .swiper-item {
align-items: center; text-align: center;
justify-content: center; padding: 3rpx;
} }
.swiper-image { .swiper-image {
width: 280rpx; width: 100%;
height: 280rpx; height: 100%;
border-radius: 8rpx; border-radius: 8rpx;
border: 1rpx solid #9C9C9C;
/* 内边距为边框宽度 */
box-sizing: border-box;
/* 内边距和边框计入总尺寸 */
} }
.nav-buttons { .nav-buttons {
@ -115,7 +119,7 @@
width: 12rpx; width: 12rpx;
height: 12rpx; height: 12rpx;
border-radius: 50%; border-radius: 50%;
background: rgba(255,255,255,0.5); background: rgba(255, 255, 255, 0.5);
margin: 0 8rpx; margin: 0 8rpx;
&.active { &.active {
@ -124,4 +128,4 @@
} }
} }
} }
</style> </style>

View File

@ -1,32 +1,19 @@
<template> <template>
<view <view class="recharge flex align-items justify-start flex-column" :style="{
class="recharge flex align-items justify-start flex-column"
:style="{
zIndex: '-1', zIndex: '-1',
backgroundPosition: 'top', backgroundPosition: 'top',
backgroundRepeat: 'no-repeat', backgroundRepeat: 'no-repeat',
}" }">
>
<view class="box"> <view class="box">
<!-- logo --> <!-- logo -->
<view> <view>
<image <image src="/static/index/logo1.png" mode="" class="logo_css"></image>
src="/static/index/logo1.png"
mode=""
class="logo_css"
></image>
</view> </view>
<!-- 搜索 --> <!-- 搜索 -->
<view class="serch_top"> <view class="serch_top">
<view class="serch_top1"> <view class="serch_top1">
<u-search <u-search class="u-search" v-model="keywords" placeholder="搜索您要找的内容" :showAction="false"
class="u-search" search-icon="/static/index/search.png" @change="search()">
v-model="keywords"
placeholder="搜索您要找的内容"
:showAction="false"
search-icon="/static/index/search.png"
@change="search()"
>
</u-search> </u-search>
<span class="searchBtn" @click.stop="search()">搜索</span> <span class="searchBtn" @click.stop="search()">搜索</span>
</view> </view>
@ -35,30 +22,37 @@
<!-- <scroll-view scroll-y="true" class="flex align-items" style="height: 1250rpx;box-sizing: border-box;"> --> <!-- <scroll-view scroll-y="true" class="flex align-items" style="height: 1250rpx;box-sizing: border-box;"> -->
<view class="swiper-box"> <view class="swiper-box">
<MySwiper :list="swiperList"></MySwiper> <!-- <MySwiper :list="swiperList"></MySwiper> -->
<view class="swiper_s">
<swiper class="swiper_s" :autoplay="true" indicator-active-color="#0DAE11"
indicator-color="#ffffff" :indicator-dots="false" :current="swiperCurrent"
@change="swiperChange">
<swiper-item v-for="(item, index) in swiperList" :key="index" @click="openSwiper(item)">
<view style="position: relative;width: 100%;height: 100%">
<view class="fnon_tit"></view>
<view class="text">{{ item.title ? item.title : '' }}</view>
<!-- @click="click(item.url)" 跳转活动链接 -->
<image class="swiper-image" :src="item.image" mode="scaleToFill" />
</view>
</swiper-item>
</swiper>
<!-- 自定义指示器 -->
<view class="dots">
<text v-for="(dot, idx) in swiperList.length" :key="idx"
:class="['dot', { active: swiperCurrent === idx }]" />
</view>
</view>
</view> </view>
<!-- 标签 --> <!-- 标签 -->
<view class="tab_all"> <view class="tab_all">
<view class="tabs"> <view class="tabs">
<view <view v-for="(tab, index) in list" :key="index" :class="['tab-item', { active: current === index }]"
v-for="(tab, index) in list" @click="handleClick(index, tab.id)">
:key="index" <image v-if="index != 0 && index != 1 && tab.image" :src="tab.image" mode="" class="imgs_bq">
:class="['tab-item', { active: current === index }]" </image>
@click="handleClick(index,tab.id)" <image v-if="index === 1" src="/static/index/schoolye.png" mode="" class="imgs_bq"></image>
>
<image
v-if="index != 0 && index != 1 && tab.image"
:src="tab.image"
mode=""
class="imgs_bq"
></image>
<image
v-if="index === 1"
src="/static/index/schoolye.png"
mode=""
class="imgs_bq"
></image>
<span>{{ tab.name }}</span> <span>{{ tab.name }}</span>
</view> </view>
</view> </view>
@ -69,30 +63,27 @@
<!-- 热门活动 --> <!-- 热门活动 -->
<view class="hot flex flex-column"> <view class="hot flex flex-column">
<view class="content flex align-items flex-column"> <view class="content flex align-items flex-column">
<view <view class="flex flex-column w-100 bbb" v-for="(item, index) in hotList" :key="index"
class="flex flex-column w-100 bbb" @click="detail(item.id)">
v-for="(item, index) in hotList"
:key="index"
@click="detail(item.id)"
>
<view <view class="flex" style="margin-top: 30rpx">
class="flex" <view class="right flex flex-column" style="align-items: self-start">
style="margin-top: 30rpx"
>
<view
class="right flex flex-column"
style="align-items: self-start"
>
<span class="title white-space">{{ item.title }}</span> <span class="title white-space">{{ item.title }}</span>
<view class="first-image flex align-items" style="margin-top: 20rpx;width: 100%;"> <view class="first-image flex align-items" style="margin-top: 20rpx;width: 100%;">
<image v-if="cate_ids != 1" :src="item.user.avatar" style="width: 36rpx;height: 36rpx;border-radius: 80rpx;"></image> <image v-if="cate_ids != 1" :src="item.user.avatar"
<image v-else :src="item.headimage" style="width: 36rpx;height: 36rpx;border-radius: 80rpx;"></image> style="width: 36rpx;height: 36rpx;border-radius: 80rpx;"></image>
<span v-if="cate_ids != 1" style="color: #9C9C9C;margin-left: 10rpx;">{{ item.user.nickname }}</span> <image v-else :src="item.headimage"
<span v-else class="white-space" style="color: #9C9C9C;margin-left: 10rpx;width: 220rpx;">{{ item.teacher.name }}</span> style="width: 36rpx;height: 36rpx;border-radius: 80rpx;"></image>
<span v-if="cate_ids != 1"
style="color: #9C9C9C;margin-left: 10rpx;">{{ item.user.nickname }}</span>
<span v-else class="white-space"
style="color: #9C9C9C;margin-left: 10rpx;width: 220rpx;">{{
item.teacher.name }}</span>
<view class="white-space" style="width: 60%;"> <view class="white-space" style="width: 60%;">
<span style="color:#0CA013;margin-left: 20rpx;" v-for="items_t in item.classes_cate">#{{ items_t }}</span> <span style="color:#0CA013;margin-left: 20rpx;"
v-for="items_t in item.classes_cate">#{{ items_t
}}</span>
</view> </view>
</view> </view>
@ -100,14 +91,18 @@
<view class="time flex align-items white-space"> <view class="time flex align-items white-space">
<span class="time_tex" v-if="item.status == 2">{{ '报名中' }}</span> <span class="time_tex" v-if="item.status == 2">{{ '报名中' }}</span>
<!-- <span class="time_tex time_texs" v-if="item.status == 4">{{ '进行中' }}</span> --> <!-- <span class="time_tex time_texs" v-if="item.status == 4">{{ '进行中' }}</span> -->
<span style="margin:0 20rpx;">{{ dateWeeks(item.start_time) }}</span><span style="width: 1rpx;height: 22rpx;background: #323232;"></span> <span style="margin:0 20rpx;">{{ dateWeeks(item.start_time) }}</span><span
<span class="white-space" style="margin-left: 20rpx;width: 260rpx;">{{ item.address_detail }}</span> style="width: 1rpx;height: 22rpx;background: #323232;"></span>
<span class="white-space"
style="margin-left: 20rpx;width: 260rpx;">{{ item.address_detail }}</span>
</view> </view>
</view> </view>
<view class="flex align-items justify-center" style="margin-top: 20rpx;margin-bottom: 32rpx;" > <view class="flex align-items justify-center"
<view class="imgs_con_div" v-for="(items_img,index) in item.images.slice(0,3)" :key="index"> style="margin-top: 20rpx;margin-bottom: 32rpx;">
<view class="imgs_con_div" v-for="(items_img, index) in item.images.slice(0, 3)"
:key="index">
<image class="imgs_con" mode="widthFix" :src="items_img"></image> <image class="imgs_con" mode="widthFix" :src="items_img"></image>
</view> </view>
</view> </view>
@ -116,22 +111,15 @@
<view class="bottom flex align-items" v-if="cate_ids != 1"> <view class="bottom flex align-items" v-if="cate_ids != 1">
<view class="flex align-items toptext"> <view class="flex align-items toptext">
<span class="flex align-items" > <span class="flex align-items">
<u-avatar-group <u-avatar-group :urls="item.join_info.users" keyName="avatar" size="30" maxCount="5"
:urls="item.join_info.users" gap="0.4"></u-avatar-group>
keyName="avatar" <image src="/static/index/dian.png"
size="30" :class="item.join_info.users.length > 0 ? '' : 'smalld'"
maxCount="5" style="width: 58rpx;height: 58rpx;margin-left:-20rpx;z-index: 1;"></image>
gap="0.4"
></u-avatar-group>
<image
src="/static/index/dian.png"
:class="item.join_info.users.length > 0 ? '' :'smalld'"
style="width: 58rpx;height: 58rpx;margin-left:-20rpx;z-index: 1;"
></image>
</span> </span>
<view class="number flex align-items" > <view class="number flex align-items">
{{ Number(item.join_info.people_number)+"人已上车" }} {{ Number(item.join_info.people_number) + "人已上车" }}
</view> </view>
</view> </view>
<span v-if="item.status == 5" class="part1 flex justify-center align-items"> <span v-if="item.status == 5" class="part1 flex justify-center align-items">
@ -149,16 +137,18 @@
</view> </view>
<!-- </scroll-view> --> <!-- </scroll-view> -->
<!-- 全部标签 --> <!-- 全部标签 -->
<u-popup :show="showPopbq" mode="bottom" round="20" :customStyle="{'width':'750rpx','height':'1040rpx'}" <u-popup :show="showPopbq" mode="bottom" round="20"
@close="closebq"> :customStyle="{ 'width': '750rpx', 'height': '1040rpx' }" @close="closebq">
<view class="popup_bq"> <view class="popup_bq">
<image @click="closebq" src="@/static/center/close.png" mode="" style="width: 44rpx;height: 44rpx;position: absolute;right: 30rpx;top: -160rpx;z-index: 55;" ></image> <image @click="closebq" src="@/static/center/close.png" mode=""
style="width: 44rpx;height: 44rpx;position: absolute;right: 30rpx;top: -160rpx;z-index: 55;">
</image>
<img src="https://naweigetetest2.hschool.com.cn/dyqc/biaoqian.png" alt="" /> <img src="https://naweigetetest2.hschool.com.cn/dyqc/biaoqian.png" alt="" />
<view class="flex flex-column w-100 bqlist"> <view class="flex flex-column w-100 bqlist">
<scroll-view scroll-y="true" class="flex align-items allbqs"> <scroll-view scroll-y="true" class="flex align-items allbqs">
<span>我的标签</span> <span>我的标签</span>
<view class="flex align-items allmybqs"> <view class="flex align-items allmybqs">
<view class="flex align-items bqpiece" v-for="(item_bq,index) in list" :key="index"> <view class="flex align-items bqpiece" v-for="(item_bq, index) in list" :key="index">
<span> <span>
<!-- <image <!-- <image
v-if="item_bq.name != '全部'" v-if="item_bq.name != '全部'"
@ -167,7 +157,8 @@
></image> --> ></image> -->
{{ item_bq.name }} {{ item_bq.name }}
</span> </span>
<u-icon v-if="index != 0 && index != 1" name="close" color="#babdc7" @click="removebq(index)"></u-icon> <u-icon v-if="index != 0 && index != 1" name="close" color="#babdc7"
@click="removebq(index)"></u-icon>
</view> </view>
</view> </view>
@ -175,7 +166,7 @@
<view style="display: flex; flex-wrap: wrap;"> <view style="display: flex; flex-wrap: wrap;">
<view class="flex align-items bqpiece" v-for="(item,index) in bqList" :key="index"> <view class="flex align-items bqpiece" v-for="(item, index) in bqList" :key="index">
<span> <span>
<!-- <image <!-- <image
:src="item.image" :src="item.image"
@ -205,20 +196,21 @@
</template> </template>
<script> <script>
import MySwiper from "@/components/fuyu-MixSwiper/fuyu-MixSwiper.vue"; import MySwiper from "@/components/fuyu-MixSwiper/fuyu-MixSwiper.vue";
import { import {
dateWeek dateWeek
} from '../../utils/dateFormat' } from '../../utils/dateFormat'
export default { export default {
components: { components: {
MySwiper, MySwiper,
}, },
data() { data() {
return { return {
showPopbq:false,// swiperCurrent: 0, //
bqList:[],// showPopbq: false, //
cate_ids:'',//id bqList: [], //
loadStatus:'nomore', cate_ids: '', //id
loadStatus: 'nomore',
swiperList: [], swiperList: [],
teacherList: [], teacherList: [],
wqList: [], wqList: [],
@ -234,8 +226,7 @@ export default {
currentItemType: "", currentItemType: "",
tjShow: true, tjShow: true,
videoAutoplay: false, videoAutoplay: false,
list: [ list: [{
{
name: "全部", name: "全部",
id: 0 id: 0
}, },
@ -250,7 +241,11 @@ export default {
}; };
}, },
onLoad() { onLoad() {
this.getinit();
this.resetLists();
this.getHotList();
this.getBqList();
this.getitembq();
// uni.hideTabBar(); // uni.hideTabBar();
}, },
@ -258,11 +253,7 @@ export default {
this.videoContext = uni.createVideoContext("myVideo"); //video this.videoContext = uni.createVideoContext("myVideo"); //video
}, },
onShow() { onShow() {
this.getinit();
this.resetLists();
this.getHotList();
this.getBqList();
this.getitembq();
}, },
beforeDestroy() { beforeDestroy() {
this.autoplay = false; this.autoplay = false;
@ -273,11 +264,27 @@ export default {
// } // }
}, },
methods: { methods: {
openSwiper(item){
console.log(item);
if(item.url=='xxx'){
uni.showToast({
title: '入会申请表单',
icon: 'none',
});
}else{
uni.navigateTo({
url:item.url
})
}
},
swiperChange(e) {
this.swiperCurrent = e.detail.current;
},
// //
toshool(){ toshool() {
uni.$u.http uni.$u.http
.get("/api/user/auto_login_token", { .get("/api/user/auto_login_token", {
encryption:1 encryption: 1
}) })
.then((res) => { .then((res) => {
if (res.code == 1) { if (res.code == 1) {
@ -294,7 +301,7 @@ export default {
}, 2000); }, 2000);
} }
}); });
}else{ } else {
wx.openEmbeddedMiniProgram({ wx.openEmbeddedMiniProgram({
appId: 'wx867e324c44b9e016', appId: 'wx867e324c44b9e016',
path: 'pages/index/index', path: 'pages/index/index',
@ -302,7 +309,7 @@ export default {
envVersion: 'trial', envVersion: 'trial',
success(res) { success(res) {
// //
console.log('成功!',res) console.log('成功!', res)
} }
}) })
} }
@ -326,14 +333,14 @@ export default {
}, },
// //
getitembq(){ getitembq() {
if (uni.getStorageSync("bqlist") != "") { if (uni.getStorageSync("bqlist") != "") {
this.list = JSON.parse(uni.getStorageSync("bqlist")); this.list = JSON.parse(uni.getStorageSync("bqlist"));
}else{ } else {
uni.setStorageSync('bqlist',JSON.stringify(this.list)) uni.setStorageSync('bqlist', JSON.stringify(this.list))
} }
}, },
dateWeeks(e){ dateWeeks(e) {
return dateWeek(e); return dateWeek(e);
}, },
closebq() { closebq() {
@ -368,7 +375,7 @@ export default {
this.loadStatus = "loading"; this.loadStatus = "loading";
}, },
// //
handleClick(index,val) { handleClick(index, val) {
this.current = index; this.current = index;
this.cate_ids = val; this.cate_ids = val;
this.hotList = []; this.hotList = [];
@ -452,7 +459,7 @@ export default {
}); });
}, },
// //
addbq(val){ addbq(val) {
let arrbql = uni.getStorageSync("bqlist"); let arrbql = uni.getStorageSync("bqlist");
let arrbq = JSON.parse(arrbql); let arrbq = JSON.parse(arrbql);
let isbq = true; let isbq = true;
@ -469,9 +476,9 @@ export default {
if (this.list.length < 9) { if (this.list.length < 9) {
if (isbq) { if (isbq) {
this.list.push(val); this.list.push(val);
uni.setStorageSync('bqlist',JSON.stringify(this.list)) uni.setStorageSync('bqlist', JSON.stringify(this.list))
} }
}else{ } else {
uni.showToast({ uni.showToast({
title: "最多添加9个标签", title: "最多添加9个标签",
icon: "none", icon: "none",
@ -480,16 +487,16 @@ export default {
} }
}, },
// //
removebq(i){ removebq(i) {
this.list.splice(i,1); this.list.splice(i, 1);
uni.setStorageSync('bqlist',JSON.stringify(this.list)) uni.setStorageSync('bqlist', JSON.stringify(this.list))
}, },
// //
getHotList() { getHotList() {
let words = this.keywords; let words = this.keywords;
let cate_ids = this.cate_ids; let cate_ids = this.cate_ids;
if( cate_ids == 1){ // if (cate_ids == 1) { //
uni.$u.http.get('https://testy.hschool.com.cn/api/school/classes/classes_list', { uni.$u.http.get('https://testy.hschool.com.cn/api/school/classes/classes_list', {
params: { params: {
@ -522,23 +529,23 @@ export default {
this.loadStatus = 'loading'; this.loadStatus = 'loading';
}); });
}else{ } else {
// //
uni.$u.http.get("/api/school.new_activity/activity_list", { uni.$u.http.get("/api/school.new_activity/activity_list", {
params: { params: {
keywords:words, keywords: words,
cate_ids:cate_ids, cate_ids: cate_ids,
page: this.page, page: this.page,
limit: this.limit, limit: this.limit,
order: "normal", order: "normal",
status: "2",//5 status: "2", //5
auth_status: 1 // auth_status: 1 //
}, },
}) })
.then((res) => { .then((res) => {
if (res.code == 1) { if (res.code == 1) {
this.count = res.data.count; this.count = res.data.count;
if(this.hotList.length >= res.data.count){ if (this.hotList.length >= res.data.count) {
this.loadStatus = 'nomore'; this.loadStatus = 'nomore';
} else { } else {
this.loadStatus = 'loading'; this.loadStatus = 'loading';
@ -567,11 +574,12 @@ export default {
if (this.cate_ids == 1) { // if (this.cate_ids == 1) { //
uni.$u.http uni.$u.http
.get("/api/user/auto_login_token", { .get("/api/user/auto_login_token", {
encryption:1 encryption: 1
}) })
.then((res) => { .then((res) => {
if (res.code == 1) { if (res.code == 1) {
if (res.data.token == null && res.data.time == null && res.data.encryption_data == '') { if (res.data.token == null && res.data.time == null && res.data.encryption_data ==
'') {
uni.showToast({ uni.showToast({
title: '请登录', title: '请登录',
icon: 'none', icon: 'none',
@ -584,15 +592,15 @@ export default {
}, 2000); }, 2000);
} }
}); });
}else{ } else {
wx.navigateToMiniProgram({ wx.navigateToMiniProgram({
appId: 'wx867e324c44b9e016', appId: 'wx867e324c44b9e016',
path: 'packageA/center/detail?id='+id, path: 'packageA/center/detail?id=' + id,
extraData: res.data, extraData: res.data,
envVersion: 'trial', envVersion: 'trial',
success(res) { success(res) {
// //
console.log('成功!',res) console.log('成功!', res)
} }
}) })
} }
@ -614,7 +622,7 @@ export default {
}); });
}); });
}else{ } else {
uni.navigateTo({ uni.navigateTo({
url: "/packageA/center/detail?id=" + id, url: "/packageA/center/detail?id=" + id,
@ -628,43 +636,43 @@ export default {
}); });
}, },
}, },
}; };
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.w-100 { .w-100 {
width: 100%; width: 100%;
} }
.flex { .flex {
display: flex; display: flex;
} }
.justify-center { .justify-center {
justify-content: center; justify-content: center;
} }
.space-between { .space-between {
justify-content: space-between; justify-content: space-between;
} }
.align-items { .align-items {
align-items: center; align-items: center;
} }
.flex-column { .flex-column {
flex-flow: column; flex-flow: column;
} }
.justify-start { .justify-start {
justify-content: start; justify-content: start;
} }
.mar-top-30 { .mar-top-30 {
margin-top: 30rpx; margin-top: 30rpx;
} }
.tab_all { .tab_all {
margin-top: 30rpx; margin-top: 30rpx;
position: relative; position: relative;
display: flex; display: flex;
@ -721,18 +729,16 @@ export default {
} }
.tab-item.active { .tab-item.active {
background: linear-gradient( background: linear-gradient(360deg,
360deg,
rgba(196, 249, 119, 0) 0%, rgba(196, 249, 119, 0) 0%,
#bbfc5b 100% #bbfc5b 100%);
);
font-size: 34rpx; font-size: 34rpx;
color: #323232; color: #323232;
} }
} }
} }
.recharge { .recharge {
width: 750rpx; width: 750rpx;
background-color: #f7f7f7; background-color: #f7f7f7;
background-image: url("https://naweigetetest2.hschool.com.cn/dyqc/bgx2.png"); background-image: url("https://naweigetetest2.hschool.com.cn/dyqc/bgx2.png");
@ -777,14 +783,16 @@ export default {
.box { .box {
width: 690rpx; width: 690rpx;
margin-top: 30rpx; margin-top: 30rpx;
.logo_css{
.logo_css {
width: 430rpx; width: 430rpx;
height: 80rpx; height: 80rpx;
// #ifdef MP-WEIXIN // #ifdef MP-WEIXIN
margin-top: 65rpx; margin-top: 65rpx;
// #endif // #endif
} }
.serch_top{
.serch_top {
display: flex; display: flex;
.serch_top1 { .serch_top1 {
@ -792,11 +800,12 @@ export default {
margin-bottom: 30rpx; margin-bottom: 30rpx;
position: relative; position: relative;
width: 530rpx; width: 530rpx;
.searchBtn{
position:absolute; .searchBtn {
position: absolute;
width: 133rpx; width: 133rpx;
height: 100%; height: 100%;
background: #323232 ; background: #323232;
border-radius: 40rpx; border-radius: 40rpx;
font-family: PingFang SC, PingFang SC; font-family: PingFang SC, PingFang SC;
font-weight: 400; font-weight: 400;
@ -809,7 +818,8 @@ export default {
right: 0; right: 0;
} }
} }
.imgstop_ye{
.imgstop_ye {
margin-left: 30rpx; margin-left: 30rpx;
width: 174rpx; width: 174rpx;
height: 76rpx; height: 76rpx;
@ -850,11 +860,12 @@ export default {
font-size: 30rpx; font-size: 30rpx;
color: #323232; color: #323232;
} }
.first-image { .first-image {
font-family: PingFang SC, PingFang SC; font-family: PingFang SC, PingFang SC;
font-weight: 400; font-weight: 400;
font-size: 24rpx; font-size: 24rpx;
color: #9C9C9C ; color: #9C9C9C;
span { span {
font-family: Source Han Sans CN, Source Han Sans CN; font-family: Source Han Sans CN, Source Han Sans CN;
@ -863,6 +874,7 @@ export default {
color: #222222; color: #222222;
} }
} }
.row { .row {
margin: 10rpx 0 26rpx 0; margin: 10rpx 0 26rpx 0;
@ -914,9 +926,9 @@ export default {
font-family: Source Han Sans CN, Source Han Sans CN; font-family: Source Han Sans CN, Source Han Sans CN;
font-weight: 400; font-weight: 400;
font-size: 26rpx; font-size: 26rpx;
color: #323232 ; color: #323232;
.time_tex{ .time_tex {
width: 116rpx; width: 116rpx;
height: 42rpx; height: 42rpx;
background: #BBFC5B; background: #BBFC5B;
@ -929,24 +941,29 @@ export default {
align-items: center; align-items: center;
line-height: 30rpx; line-height: 30rpx;
} }
.time_texs{
.time_texs {
background: #FF4810; background: #FF4810;
color: #ffffff; color: #ffffff;
} }
} }
.imgs_con_div{
.imgs_con_div {
margin-right: 12rpx; margin-right: 12rpx;
width: 202rpx; width: 202rpx;
height: 202rpx; height: 202rpx;
overflow: hidden; overflow: hidden;
&:first-child{
&:first-child {
border-radius: 18rpx 0 0 18rpx; border-radius: 18rpx 0 0 18rpx;
} }
&:nth-child(3){
&:nth-child(3) {
border-radius: 0 18rpx 18rpx 0; border-radius: 0 18rpx 18rpx 0;
} }
.imgs_con{
.imgs_con {
width: 100%; width: 100%;
height: 100%; height: 100%;
} }
@ -958,12 +975,15 @@ export default {
.bottom { .bottom {
margin: 0 0 32rpx 24rpx; margin: 0 0 32rpx 24rpx;
width: 655rpx; width: 655rpx;
.toptext{
.toptext {
width: 480rpx; width: 480rpx;
.smalld{
.smalld {
margin-left: 0 !important; margin-left: 0 !important;
} }
} }
.number { .number {
font-family: Source Han Sans CN, Source Han Sans CN; font-family: Source Han Sans CN, Source Han Sans CN;
font-weight: 400; font-weight: 400;
@ -1034,9 +1054,9 @@ export default {
} }
} }
.white-space { .white-space {
overflow: hidden; overflow: hidden;
/* 确保超出容器的文本被隐藏 */ /* 确保超出容器的文本被隐藏 */
white-space: nowrap; white-space: nowrap;
@ -1044,7 +1064,7 @@ export default {
text-overflow: ellipsis; text-overflow: ellipsis;
/* 使用省略号表示被截断的文本 */ /* 使用省略号表示被截断的文本 */
width: 100%; width: 100%;
} }
@ -1055,7 +1075,7 @@ export default {
.pos { .pos {
position: relative; position: relative;
.ab { .ab {
@ -1090,9 +1110,9 @@ export default {
color: #ff4810; color: #ff4810;
line-height: 38rpx; line-height: 38rpx;
} }
} }
.part { .part {
width: 162rpx; width: 162rpx;
height: 70rpx; height: 70rpx;
background: url(@/static/index/shangche.png); background: url(@/static/index/shangche.png);
@ -1102,8 +1122,9 @@ export default {
font-weight: 400; font-weight: 400;
font-size: 42rpx; font-size: 42rpx;
color: #BBFC5B; color: #BBFC5B;
} }
.part1{
.part1 {
width: 162rpx; width: 162rpx;
height: 70rpx; height: 70rpx;
background: url(@/static/index/shangchew.png); background: url(@/static/index/shangchew.png);
@ -1113,18 +1134,20 @@ export default {
font-weight: 400; font-weight: 400;
font-size: 42rpx; font-size: 42rpx;
color: #9C9C9C; color: #9C9C9C;
} }
.swiper-box { .swiper-box {
height: 580rpx; height: 580rpx;
position: relative; position: relative;
} }
.popup_bq {
.popup_bq {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
align-items: center; align-items: center;
height: 1040rpx; height: 1040rpx;
position: relative; position: relative;
img { img {
position: absolute; position: absolute;
width: 750rpx; width: 750rpx;
@ -1132,24 +1155,28 @@ export default {
top: -164rpx; top: -164rpx;
z-index: 0; z-index: 0;
} }
.bqlist{
.bqlist {
margin-top: 70rpx; margin-top: 70rpx;
z-index: 1; z-index: 1;
margin-left: 80rpx; margin-left: 80rpx;
.allmybqs{
.allmybqs {
flex-wrap: wrap; flex-wrap: wrap;
width: 720rpx; width: 720rpx;
margin-top:20rpx ; margin-top: 20rpx;
} }
.allbqs{
.allbqs {
display: flex; display: flex;
overflow-y: scroll; overflow-y: scroll;
flex-wrap: wrap; flex-wrap: wrap;
height: 840rpx; height: 840rpx;
width: 692rpx; width: 692rpx;
margin-top:20rpx ; margin-top: 20rpx;
} }
.bqpiece{
.bqpiece {
width: 210rpx; width: 210rpx;
height: 70rpx; height: 70rpx;
background: #F7F7F7; background: #F7F7F7;
@ -1158,7 +1185,8 @@ export default {
justify-content: space-around; justify-content: space-around;
align-items: center; align-items: center;
margin: 20rpx 20rpx 20rpx 0; margin: 20rpx 20rpx 20rpx 0;
span{
span {
font-family: PingFang SC, PingFang SC; font-family: PingFang SC, PingFang SC;
font-weight: 400; font-weight: 400;
font-size: 26rpx; font-size: 26rpx;
@ -1173,19 +1201,99 @@ export default {
} }
</style> </style>
<style lang="scss"> <style lang="scss">
.serch_top { .serch_top {
.u-search{ .u-search {
::v-deep .u-search__content{ ::v-deep .u-search__content {
background: rgba($color: #FFFFFF, $alpha: 0.6) !important; background: rgba($color: #FFFFFF, $alpha: 0.6) !important;
} }
::v-deep .u-search__content__input{
::v-deep .u-search__content__input {
background-color: rgba($color: #FFFFFF, $alpha: 0.6) !important; background-color: rgba($color: #FFFFFF, $alpha: 0.6) !important;
} }
::v-deep .u-icon__img{
::v-deep .u-icon__img {
width: 36rpx !important; width: 36rpx !important;
height: 36rpx !important; height: 36rpx !important;
} }
} }
} }
.swiper_s {
width: 100%;
height: 100%;
}
.swiper-image {
width: 100%;
height: 100%;
border-radius: 36rpx;
object-fit: contain;
}
.text {
position: absolute;
/* 确保文字在模糊背景之上 */
z-index: 200;
/* 提高z-index以确保文字位于最上层 */
font-family: "YouSheBiaoTiHei";
font-weight: 400;
font-size: 38rpx;
color: #ffffff;
text-align: center;
width: 100%;
bottom: 70rpx;
transform: translateZ(0);
}
.fnon_tit {
position: absolute;
left: 5%;
z-index: 1;
width: 630rpx;
height: 117rpx;
line-height: 100rpx;
background: rgba(0, 0, 0, 0.24);
backdrop-filter: blur(4px);
border-radius: 36rpx;
bottom: 30rpx;
}
// .fnon_tit::before {
// content: "";
// position: absolute;
// top: 0;
// left: 0;
// right: 0;
// bottom: 0;
// backdrop-filter: blur(4px);
// /* */
// pointer-events: none;
// /* */
// border-radius: 36rpx;
// z-index: 0;
// /* */
// }
.dots {
position: absolute;
bottom: 50rpx;
width: 100%;
display: flex;
justify-content: center;
.dot {
background-color: #ffffff;
width: 30rpx;
height: 6rpx;
border-radius: 0;
margin-right: 10rpx;
&.active {
background: #0DAE11;
// transform: scale(0.9);
}
}
}
</style> </style>