2025-04-01 09:03:51 +08:00

1523 lines
33 KiB
Vue

<template>
<view class="box flex justify-start flex-column align-items" :class="{ 'no-scroll': overlay }">
<view class="swiper">
<u-swiper :list="detail.images" indicator indicatorMode="line" height="450rpx" circular></u-swiper>
</view>
<view class="con-center w-100 flex justify-center flex-column align-items flex-start">
<view class="first-box flex flex-start flex-column justify-start">
<span class="first-name">{{'' + detail.title}}</span>
<span class="line"></span>
<span class="huodong text-blue">活动介绍</span>
<view class="line-title">
<span class="title">活动时间:</span>
<span class="conter">{{'' + detail.start_time_text}} - {{detail.end_time_text}}</span>
</view>
<view class="line-title">
<span class="title">报名时间:</span>
<span class="conter">{{'' + detail.sign_start_time_text}} - {{detail.sign_end_time_text}}</span>
</view>
<view class="line-title">
<span class="title">报名费用:</span>
<span class="conter" style="color: #FF5F5F;">{{'' + detail.price + '元'}}</span>
</view>
<view class="line-title">
<span class="title">活动人数:</span>
<span class="conter">{{'' + detail.id == 16 ? 50 : detail.stock}}</span>
</view>
<!-- <view class="line-title">
<span class="title">可参与人数:</span>
<span class="conter">{{'' + detail.id == 16 ? 50 : detail.stock}}</span>
</view> -->
<view class="line-title">
<span class="title">已参加人数:</span>
<span class="conter">{{'' + detail.id == 16 ? 50 : detail.sale}}</span>
</view>
<view class="line-title">
<span class="title">活动项目:</span>
<span class="conter">{{'' + detail.item}}</span>
</view>
<view class="line-title flex align-items"
@click.stop="toMap(detail.latitude,detail.longitude,detail.address_detail)">
<span class="title">活动地址:</span>
<span class="conter flex align-items ">
<span class="white-space" style="max-width: 500rpx;">{{'' + detail.address_detail}}</span>
<image src="../../static/center/address.png" mode="" class="icon-size"></image>
</span>
</view>
<!-- <view class="flex justify-center flex-column align-items w-100" v-if="detail.status == 2">
<image :src="detail.codeimage" mode="" style="width: 376rpx; height: 376rpx;"></image>
<span style="margin: 34rpx 0;font-weight: 800;font-size: 38rpx;color: #343434;">核销二维码</span>
</view> -->
<!-- <view class="flex flex-column gj">
<scroll-view :scroll-top="scrollTop" scroll-y="true" class="flex flex-column align-items scroll">
<view v-for="(item,index) in detail.item_json" :key="index">
<span class="title">{{ item.formattedTime}}</span>
<span v-if="item.sign_num === item.limit_num" class="red">(已满)</span>
<span v-else class="lan">({{item.sign_num + '/' + item.limit_num}})</span>
</view>
</scroll-view>
</view> -->
</view>
</view>
<view class="header flex align-items w-100" style="justify-content: space-between;">
<span class="s-header flex justify-center align-items" v-for="(item,index) in headers" :key="index"
:class="{ selected: headerSelected(item.type) }"
@click="selectheader(item.type,item.auth_status,item.status)">{{item.text}}</span>
</view>
<span class="line bg-blue" style="background: #008CFF;"></span>
<view class="centerBox flex justify-start align-items flex-column" v-for="(item,index) in list" :key="index"
v-if="list.length > 0">
<view class="flex w-100 space-between hui align-items">
<span>订单号</span>
<span>{{item.order_no}}</span>
</view>
<view class="flex w-100 space-between hui align-items" style="margin-top: 8rpx;">
<span>购买人</span>
<span style="color: #343434;">{{item.user.realname || item.user.nickname}}</span>
</view>
<view class="flex w-100 space-between hui align-items" style="margin-top: 8rpx;">
<span>联系电话</span>
<span class="flex align-items" style="color: #71D0FF;" @click.stop="callPhone(orditemer.user.mobile)">
<span>{{item.user.mobile}}</span>
<image src="../../static/tel.png" mode="" style="width: 36rpx;height: 36rpx;"></image>
</span>
</view>
<view class="flex w-100 space-between hui align-items" style="margin-top: 8rpx;" v-if="item.paytime_text">
<span>购买时间</span>
<span>{{item.paytime_text}}</span>
</view>
<view class="flex w-100 space-between hui align-items" style="margin-top: 8rpx;">
<span>订单状态</span>
<span class="status text-blue" v-if="item.auth_status == 0" style="font-size: 26rpx;">待审核</span>
<span class="status" v-if="item.auth_status == 1" style="font-size: 26rpx;color: #34DC12;">审核通过</span>
<span class="status" v-if="item.auth_status == 2" style="font-size: 26rpx;color: #FF0000;">审核失败</span>
</view>
<span class="box-line"></span>
<view class="flex w-100" style="justify-content: flex-end;margin-top: 24rpx;">
<!-- <span class="copy" style="margin-right: 10rpx;" @click.stop="copy(item.order_no)">复制消息</span> -->
<span class="refuse flex justify-center align-items" v-if="item.auth_status == 0 && item.status == 2"
@click="getOrder(item.id,1)">拒绝</span>
<span class="argee flex justify-center align-items" v-if="item.auth_status == 0 && item.status == 2"
@click="getOrder(item.id,2)">同意</span>
<span class="refuseNone flex justify-center align-items" v-if="item.status != 2">拒绝</span>
<span class="argeeNone flex justify-center align-items" v-if="item.status != 2">同意</span>
</view>
</view>
<view class="centerBox flex justify-start align-items flex-column" v-if="list.length == 0">
<u-empty mode="list" icon="http://cdn.uviewui.com/uview/empty/list.png">
</u-empty>
</view>
<!-- 拒绝 -->
<u-popup :show="refuseShow" mode="center" :round="20" :zIndex="99999" :custom-style="popupStyle"
@close="refuseClose" @open="refuseOpen" :closeable="true">
<view class="center-box flex flex-column">
<span class="title text-blue">拒绝</span>
<span class="line"></span>
<view class="centerBox flex justify-start align-items flex-column">
<view class="flex w-100 space-between hui align-items">
<span>订单号</span>
<span style="color: #343434;">{{order.order_no}}</span>
</view>
<view class="flex w-100 space-between hui align-items" style="margin-top: 8rpx;">
<span>购买人</span>
<span style="color: #343434;">{{order.user.realname || order.user.nickname}}</span>
</view>
<view class="flex w-100 space-between hui align-items" style="margin-top: 8rpx;">
<span>联系电话</span>
<span class="flex align-items" style="color: #71D0FF;"
@click.stop="callPhone(order.user.mobile)">
<span>{{order.user.mobile}}</span>
<image src="../../static/tel.png" mode="" style="width: 36rpx;height: 36rpx;"></image>
</span>
</view>
<view class="flex w-100 space-between hui align-items" style="margin-top: 8rpx;">
<span>购买时间</span>
<span style="color: #343434;">{{order.paytime_text}}</span>
</view>
<view style="width: 630rpx;margin-top: 31rpx;">
<u--textarea v-model="reasonText" placeholder="请输入内容" count maxlength="150"
height='100'></u--textarea>
</view>
<view class="flex align-items btnList" style="justify-content: space-evenly;">
<span style="border-radius: 401rpx;border: 2rpx solid #008CFF;color: #008CFF;"
@click.stop="qx()">取消</span>
<span style="border-radius: 401rpx;background: #FF0000;color: #FFFFFF;"
@click.stop="next()">确认</span>
</view>
</view>
</view>
</u-popup>
<!-- 同意 -->
<u-popup :show="agreeShow" mode="center" :zIndex="99999" :round="20" :custom-style="popupStyle"
@close="agreeClose" @open="agreeOpen" :closeable="true">
<view class="center-box flex flex-column">
<span class="title text-blue">同意</span>
<span class="line"></span>
<view class="centerBox flex justify-start align-items flex-column">
<view class="flex w-100 space-between hui align-items">
<span>订单号</span>
<span>{{order.order_no}}</span>
</view>
<view class="flex w-100 space-between hui align-items" style="margin-top: 8rpx;">
<span>购买人</span>
<span style="color: #343434;">{{order.user.realname || order.user.nickname}}</span>
</view>
<view class="flex w-100 space-between hui align-items" style="margin-top: 8rpx;">
<span>联系电话</span>
<span class="flex align-items" style="color: #71D0FF;"
@click.stop="callPhone(order.user.mobile)">
<span>{{order.user.mobile}}</span>
<image src="../../static/tel.png" mode="" style="width: 36rpx;height: 36rpx;"></image>
</span>
</view>
<view class="flex w-100 space-between hui align-items" style="margin-top: 8rpx;">
<span>购买时间</span>
<span>{{order.paytime_text}}</span>
</view>
<view class="flex align-items btnList" style="justify-content: space-evenly;">
<span style="border-radius: 401rpx;border: 2rpx solid #008CFF;color: #008CFF;"
@click.stop="TyQx()">取消</span>
<span class="bg-blue" style="border-radius: 401rpx;color: #FFFFFF;"
@click.stop="Tynext()">确认</span>
</view>
</view>
</view>
</u-popup>
<u-loadmore :status="loadStatus" />
</view>
</template>
<script>
export default {
data() {
return {
id: '',
detail: '',
selected: '-3,2,3,5,6,9',
auth_status: '',
list: [],
popupStyle: {
width: '690rpx',
// height: '564rpx',
borderRadious: '20rpx',
margin: '0 auto', // 水平居中
display: 'flex',
justifyContent: 'center',
alignItems: 'center'
},
status:'-3,2,3,5,6,9',
classes_lib_id: '',
refuseShow: false,
agreeShow: false,
reasonText: '',
loadStatus: 'loading',
type: 0,
order: {},
headers: [{
status: '-3,2,3,5,6,9',
auth_status: '',
type: 0,
text: '全部'
},
{
status: '2',
auth_status: '0',
type: 1,
text: '待审核'
},
{
status: '-3,2,3,5,6,9',
auth_status: '1',
type: 2,
text: '已同意'
},
{
status: '-3,2,3,5,6,9',
auth_status: '2',
type: 3,
text: '已拒绝'
}
],
};
},
onLoad(options) {
this.userInfo = uni.getStorageSync("userInfo")
this.classes_lib_id = options.id
this.id = options.id
this.getDetail()
this.getList()
},
methods: {
refuseClose() {
this.refuseShow = false
this.reasonText = ''
},
refuseOpen() {
this.refuseShow = true
},
agreeClose() {
this.agreeShow = false
},
agreeOpen() {
this.agreeShow = true
},
// 取消
qx() {
this.refuseShow = false
this.reasonText = ''
},
TynextQx() {
this.agreeShow = fasle
},
Tynext() {
const that = this; // 保存当前上下文
uni.$u.http.post('/api/school.worker.activity.order/examine', {
order_no: this.order.order_no,
auth_status: '1'
}).then(res => {
console.log('Response:', res); // 打印响应数据
if (res.code === 1) { // 使用严格相等比较
uni.showToast({
title: '已同意',
icon: 'none',
duration: 2000
});
this.agreeShow = false;
that.page = 1;
that.list = [];
that.getList();
} else {
uni.showToast({
title: res.msg || '操作失败,请重试', // 防止 res.msg 为空
icon: 'none',
duration: 2000
});
}
}).catch(error => {
console.error('Error:', error); // 打印错误信息
uni.showToast({
title: '请求失败,请稍后再试',
icon: 'none',
duration: 2000
});
});
},
// 驳回退款
next() {
const that = this; // 保存当前上下文
uni.$u.http.post('/api/school.worker.activity.order/examine', {
order_no: this.order.order_no,
reason: this.reasonText,
auth_status: '2'
}).then(res => {
console.log('Response:', res); // 打印响应数据
if (res.code === 1) { // 使用严格相等比较
this.refuseShow = false;
this.reasonText = '';
uni.showToast({
title: '已拒绝',
icon: 'none',
duration: 2000
});
that.page = 1;
that.list = [];
that.getList();
} else {
uni.showToast({
title: res.msg || '操作失败,请重试', // 防止 res.msg 为空
icon: 'none',
duration: 2000
});
}
}).catch(error => {
console.error('Error:', error); // 打印错误信息
uni.showToast({
title: '请求失败,请稍后再试',
icon: 'none',
duration: 2000
});
});
},
// 获取详情
getDetail() {
uni.$u.http.get('/api/school/activity/detail', {
params: {
id: this.id,
}
}).then(res => {
if (res.code == 1) {
this.detail = res.data.detail;
} else {
uni.showToast({
title: res.msg,
icon: 'none',
duration: 2000
});
}
}).catch(error => {
// 处理错误
console.error('获取详情失败:', error);
});
},
getOrder(id, type) {
uni.$u.http.get('/api/school.worker.activity.order/detail', {
params: {
id: id,
}
}).then(res => {
if (res.code == 1) {
this.order = res.data.detail;
if (type == 1) {
this.refuseShow = true
} else {
this.agreeShow = true
}
} else {
uni.showToast({
title: res.msg,
icon: 'none',
duration: 2000
});
}
}).catch(error => {
// 处理错误
console.error('获取详情失败:', error);
});
},
headerSelected(type) {
return this.type === type;
},
selectheader(type, auth_status,status) {
const that = this
that.type = type;
that.auth_status = auth_status;
that.status = status;
that.page = 1
that.list = []
that.getList()
},
getList() {
uni.$u.http.get('/api/school.worker.activity.order/order_list', {
params: {
keywords: this.keywords,
page: this.page,
limit: this.limit,
status: this.status,
auth_status: this.auth_status,
classes_lib_id: this.classes_lib_id
}
}).then(res => {
if (res.code == 1) {
this.count = res.data.count
this.list = [...this.list, ...res.data.list];
if (this.list.length >= res.data.count) {
this.loadStatus = 'nomore';
} else {
this.loadStatus = 'loading';
}
} else {
uni.showToast({
title: res.msg,
icon: 'none',
duration: 2000
});
this.loadStatus = 'loading';
}
}).catch(error => {
console.error('请求失败', error);
this.loadStatus = 'loading';
});
},
// 导航
toMap(latitude, longitude, name) {
uni.openLocation({
latitude: parseFloat(latitude),
longitude: parseFloat(longitude),
name: name,
success: function() {
console.log('success');
}
});
},
callPhone(phone) {
uni.makePhoneCall({
phoneNumber: phone
})
},
},
}
</script>
<style lang="scss" scoped>
.w-100 {
width: 100%;
}
.flex {
display: flex;
}
.flex-start {
align-items: flex-start;
}
.justify-center {
justify-content: center;
}
.align-items {
align-items: center;
}
.flex-column {
flex-flow: column;
}
.justify-start {
justify-content: start;
}
.space-between {
justify-content: space-between;
}
// .con-center {
// background: linear-gradient(to bottom,
// #F1F2F8 0%,
// #F1F2F8 10%,
// #FFFFFF 50%,
// #FFFFFF 95%);
// }
.swiper {
width: 100%;
height: 450rpx;
}
.box {
position: relative;
background: #F1F2F8;
// min-height: 100vh;
}
.first-box {
width: 690rpx;
background: #FFFFFF;
padding-left: 24rpx;
margin-top: 24rpx;
border-radius: 20rpx;
.huodong {
font-family: PingFang SC, PingFang SC;
font-weight: 800;
font-size: 26rpx;
margin: 23rpx 0;
}
.line-row {
width: 642rpx;
height: 1rpx;
background: #D9D9D9;
margin: 30rpx;
}
.center {
margin-left: 24rpx;
.title {
font-family: PingFang SC, PingFang SC;
font-weight: 800;
font-size: 34rpx;
color: #343434;
}
.cen-tit {
font-family: PingFang SC, PingFang SC;
font-weight: 500;
font-size: 26rpx;
color: #7A7A7A;
margin-top: 39rpx;
}
}
.right {
.btn1 {
width: 138rpx;
height: 48rpx;
border-radius: 12rpx 12rpx 12rpx 12rpx;
font-family: PingFang SC, PingFang SC;
font-weight: 800;
font-size: 24rpx;
color: #FFFFFF;
}
.btn {
width: 138rpx;
height: 48rpx;
background: #D9D9D9;
border-radius: 12rpx 12rpx 12rpx 12rpx;
font-family: PingFang SC, PingFang SC;
font-weight: 800;
font-size: 24rpx;
color: #FFFFFF;
}
.price {
font-family: PingFang SC, PingFang SC;
font-weight: 500;
font-size: 24rpx;
color: #FF5F5F;
margin-top: 39rpx;
}
}
.line-title {
margin-bottom: 18rpx;
.title {
font-family: PingFang SC, PingFang SC;
font-weight: 500;
font-size: 26rpx;
color: #7A7A7A;
}
.conter {
font-family: PingFang SC, PingFang SC;
font-weight: 500;
font-size: 24rpx;
color: #7A7A7A;
}
}
.first-name {
width: 100%;
font-family: PingFang SC, PingFang SC;
font-weight: 800;
font-size: 34rpx;
color: #343434;
margin-top: 32rpx;
}
.first-money {
height: 32rpx;
font-family: PingFang SC, PingFang SC;
font-weight: 800;
font-size: 28rpx;
color: #FF2323;
}
.first-mine {
height: 32rpx;
font-family: PingFang SC, PingFang SC;
font-weight: 500;
font-size: 24rpx;
color: #7A7A7A;
}
.first-txt {
font-family: PingFang SC, PingFang SC;
font-weight: 500;
font-size: 24rpx;
color: #7A7A7A;
line-height: 32rpx;
margin: 0 6rpx;
}
.first-image {
font-family: PingFang SC, PingFang SC;
font-weight: 500;
font-size: 24rpx;
color: #7A7A7A;
margin: 16rpx 0 16rpx 0;
}
}
.second-box {
width: 90%;
margin-top: 42rpx;
// background: #FFFFFF;
border-radius: 8rpx 8rpx 8rpx 8rpx;
padding-left: 24rpx;
position: relative;
.second-title {
// margin: 17rpx 35rpx 15rpx 0;
position: absolute;
top: 0;
left: 0;
}
.second {
padding: 24rpx 23rpx 0 0rpx;
margin-top: 32rpx;
view {
width: 20%;
margin: 24rpx 0 0 0;
}
image {
width: 54rpx;
height: 54rpx;
}
span {
font-family: PingFang SC, PingFang SC;
font-weight: 500;
font-size: 24rpx;
color: #7A7A7A;
text-align: center;
overflow: hidden;
white-space: nowrap;
width: 100%;
}
}
.number {
width: 108rpx;
color: #FF4949;
font-size: 42rpx;
font-weight: bold;
text-align: center;
}
}
.third {
margin-top: 24rpx;
width: 93%;
.third-header {
padding-bottom: 12rpx;
border-bottom: 2rpx solid #008CFF;
}
.third-box {
margin: 12rpx 0 0 24rpx;
}
.third-center {
margin-top: 28rpx;
width: 100%;
height: 242rpx;
overflow: hidden;
position: relative;
}
.scroll-container {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
animation: scroll 12s linear infinite;
}
@keyframes scroll {
0% {
transform: translateX(0);
}
100% {
transform: translateX(calc(-100% + 8 * 100px));
/* 8 * 100px 是假设每个项目的宽度为 100px */
}
}
.item {
display: flex;
width: 94%;
align-items: center;
justify-content: space-between;
padding: 22rpx 24rpx 24rpx 24rpx;
height: 32rpx;
/* 假设每条数据的高度为60rpx */
}
.item image {
margin-right: 10rpx;
}
.line-colum {
margin: 0 10rpx;
border-left: 1rpx solid #ccc;
height: 42rpx;
}
.item span {
margin-right: 10rpx;
}
@keyframes scroll {
0% {
transform: translateY(0);
}
100% {
transform: translateY(-240rpx);
/* 总高度为 4 * 60rpx = 240rpx */
}
}
}
.six {
margin-bottom: 106rpx;
width: 100%;
background: linear-gradient(to bottom, #F1F2F8 0%, #FFFFFF 1%, #FFFFFF 100%);
align-items: center;
.six-header {
width: 93%;
padding-top: 64rpx;
padding-bottom: 12rpx;
border-bottom: 2rpx solid #008CFF;
font-family: PingFang SC, PingFang SC;
font-weight: 800;
font-size: 42rpx;
color: #008CFF;
// background: linear-gradient(to bottom, #F1F2F8 0%, #ffffff 24%, #FFFFFF 100%);
}
.six-box {
width: 93%;
margin: 12rpx 0 0 24rpx;
}
.six-center {
width: 93%;
margin-top: 41rpx;
.s-header {
padding: 24rpx;
width: 642rpx;
span {
font-family: PingFang SC, PingFang SC;
font-weight: 500;
font-size: 24rpx;
color: #7A7A7A;
}
}
.s-footer {
padding: 24rpx;
width: 642rpx;
span {
font-family: PingFang SC, PingFang SC;
font-weight: 500;
font-size: 24rpx;
color: #7A7A7A;
}
}
.s-footer .h4 {
font-family: PingFang SC, PingFang SC;
font-weight: bold;
font-size: 36rpx;
color: #656565;
}
}
}
.line {
width: 95%;
height: 1rpx;
background: #D9D9D9;
margin: 19rpx 0 19rpx 0;
}
.icon-size {
width: 36rpx;
height: 36rpx;
}
.footer {
width: 100%;
height: 166rpx;
background: #ffffff;
// box-shadow: 0rpx -2rpx 0rpx 0rpx rgba(0, 0, 0, 0.4);
border-radius: 0rpx 0rpx 0rpx 0rpx;
position: sticky;
z-index: 99;
/* 绝对定位 */
bottom: 0;
/* 定位在底部 */
left: 0;
/* 定位在左边 */
.footer-left {
position: absolute;
top: 24rpx;
left: 42rpx;
display: flex;
view {
display: flex;
justify-content: center;
align-items: center;
flex-flow: column;
// margin-right: 42rpx;
span {
text-align: center;
}
}
.feiyong {
font-family: PingFang SC, PingFang SC;
font-weight: 800;
font-size: 34rpx;
color: #343434;
.price {
font-family: PingFang SC, PingFang SC;
font-weight: 800;
font-size: 34rpx;
color: #FF5F5F;
}
}
.tips {
font-family: PingFang SC, PingFang SC;
font-weight: 500;
font-size: 26rpx;
color: #7A7A7A;
}
image {
width: 50rpx;
height: 50rpx;
}
}
.footer-right {
position: absolute;
top: 27rpx;
right: 30rpx;
width: 250rpx;
height: 80rpx;
background: #D9D9D9;
border-radius: 401rpx 401rpx 401rpx 401rpx;
span {
font-family: Kingnamype Yuanmo SC, Kingnamype Yuanmo SC;
font-weight: 400;
font-size: 34rpx;
color: #FFFFFF;
letter-spacing: 6rpx;
text-align: center;
font-style: normal;
text-transform: none;
}
}
.footer-right1 {
position: absolute;
top: 27rpx;
right: 30rpx;
width: 250rpx;
height: 80rpx;
background: #008CFF;
border-radius: 401rpx 401rpx 401rpx 401rpx;
span {
font-family: Kingnamype Yuanmo SC, Kingnamype Yuanmo SC;
font-weight: 400;
font-size: 34rpx;
color: #FFFFFF;
letter-spacing: 6rpx;
text-align: center;
font-style: normal;
text-transform: none;
}
}
}
.share {
position: fixed;
color: #FFFFFF;
right: 0;
bottom: 190rpx;
background: linear-gradient(to bottom right, #FE726B, #FE956B);
padding: 10rpx 10rpx 10rpx 20rpx;
border-top-left-radius: 50px;
border-bottom-left-radius: 50px;
box-shadow: 0 0 20upx rgba(0, 0, 0, .09);
}
.cancel {
width: 100vw;
padding: 30rpx;
text-align: center;
background: #FFFFFF;
color: red;
font-weight: bold;
font-size: 30rpx;
}
.md-content {
display: flex;
flex-direction: row;
justify-content: center;
align-items: center;
padding: 50rpx 0;
background-color: white;
}
.md-content-item {
margin: 0 70rpx;
position: relative;
}
.md-content-item image {
width: 100rpx;
height: 100rpx;
}
.md-content-item view {
margin-top: 15rpx;
font-size: 28rpx;
}
.sharebtn {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
opacity: 0;
}
.cu-modal {
position: fixed;
bottom: 166rpx;
left: 0;
z-index: 999999;
}
.gj {
.title {
font-family: PingFang SC, PingFang SC;
font-weight: 800;
font-size: 32rpx;
color: #4B4B4B;
span {
font-family: PingFang SC, PingFang SC;
font-weight: 800;
font-size: 24rpx;
color: #4B4B4B;
}
}
.scroll {
width: 642rpx;
max-height: 340rpx;
view {
margin: 24rpx;
width: 600rpx;
height: 56rpx;
background: #E8E8E8;
border-radius: 12rpx 12rpx 12rpx 12rpx;
display: flex;
justify-content: center;
align-items: center;
.title {
font-family: PingFang SC, PingFang SC;
font-weight: 500;
font-size: 28rpx;
color: #7A7A7A;
}
.red {
font-family: PingFang SC, PingFang SC;
font-weight: 500;
font-size: 28rpx;
color: #FF5F5F;
}
.lan {
font-family: PingFang SC, PingFang SC;
font-weight: 500;
font-size: 28rpx;
color: #008CFF;
}
}
}
}
/deep/ ::-webkit-scrollbar {
/*滚动条整体样式*/
width: 4px !important;
height: 1px !important;
overflow: auto !important;
background: #ccc !important;
-webkit-appearance: auto !important;
display: block;
}
/deep/ ::-webkit-scrollbar-thumb {
/*滚动条里面小方块*/
border-radius: 10px !important;
box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2) !important;
background: #7b7979 !important;
}
/deep/ ::-webkit-scrollbar-track {
/*滚动条里面轨道*/
// box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2) !important;
// border-radius: 10px !important;
background: #FFFFFF !important;
}
.Poster {
position: relative;
top: 21rpx;
left: 30rpx;
width: 690rpx;
}
.posterClose {
position: absolute;
right: 8rpx;
top: 8rpx;
}
.pos {
position: relative;
}
.no-scroll {
overflow: hidden;
height: 100vh;
}
.no-border-button {
background-color: transparent;
/* 去掉背景色 */
border: none;
/* 去掉边框 */
padding: 0;
/* 去掉内边距 */
margin: 0;
/* 去掉外边距 */
display: inline-flex;
/* 使按钮内容居中 */
align-items: center;
/* 垂直居中 */
justify-content: center;
/* 水平居中 */
flex-flow: column;
height: 110rpx;
line-height: inherit;
span {
text-align: center;
width: 48rpx;
height: 34rpx;
font-family: PingFang SC, PingFang SC;
font-weight: 500;
font-size: 24rpx;
color: #777777;
}
}
.popupBox {
// height: 365rpx;
margin-top: 22rpx;
width: 750rpx;
.pop-header {
width: 93%;
padding-top: 32rpx;
padding-bottom: 17rpx;
border-bottom: 2rpx solid #D9D9D9;
span {
font-family: PingFang SC, PingFang SC;
font-weight: 400;
font-size: 20rpx;
color: #343434;
}
}
.popup {
display: flex;
align-items: self-start;
justify-content: center;
padding-top: 21rpx;
.popur-right {
align-items: self-start;
margin-left: 24rpx;
width: 418rpx;
.name {
font-family: PingFang SC, PingFang SC;
font-weight: 800;
font-size: 28rpx;
color: #343434;
}
.address {
font-family: PingFang SC, PingFang SC;
font-weight: 500;
font-size: 24rpx;
color: #7A7A7A;
line-height: 32rpx;
margin: 16rpx 0 12rpx 0;
overflow: hidden;
/* 确保超出容器的文本被隐藏 */
white-space: nowrap;
/* 确保文本在一行内显示 */
text-overflow: ellipsis;
/* 使用省略号表示被截断的文本 */
width: 100%;
}
.date {
font-family: PingFang SC, PingFang SC;
font-weight: 500;
font-size: 24rpx;
color: #7A7A7A;
line-height: 32rpx;
}
.time {
margin: 24rpx 0;
font-family: PingFang SC, PingFang SC;
font-weight: 500;
font-size: 24rpx;
color: #7A7A7A;
line-height: 32rpx;
}
.line-row {
width: 418rpx;
height: 1rpx;
background: #008CFF;
border-radius: 0rpx 0rpx 0rpx 0rpx;
}
.price {
font-family: PingFang SC, PingFang SC;
font-weight: 500;
font-size: 24rpx;
color: #7A7A7A;
line-height: 32rpx;
margin-top: 23rpx;
align-self: flex-end;
span {
font-family: PingFang SC, PingFang SC;
font-weight: 800;
font-size: 36rpx;
color: #FF2323;
line-height: 32rpx;
}
}
}
}
.popup-footer {
margin-top: 42rpx;
span {
width: 642rpx;
height: 80rpx;
background: #008CFF;
border-radius: 401rpx 401rpx 401rpx 401rpx;
font-family: PingFang SC, PingFang SC;
font-weight: 800;
font-size: 34rpx;
color: #FFFFFF;
line-height: 32rpx;
display: flex;
justify-content: center;
align-items: center;
}
}
.line {
width: 642rpx;
height: 1rpx;
background: #D9D9D9;
box-shadow: 1rpx 1rpx 0rpx 0rpx rgba(102, 102, 102, 0.25);
border-radius: 0rpx 0rpx 0rpx 0rpx;
}
.times {
width: 93%;
.selectTime {
width: 288rpx;
height: 50rpx;
background: #FFFFFF;
border-radius: 12rpx 12rpx 12rpx 12rpx;
border: 1rpx solid #D9D9D9;
color: #4B4B4B;
font-family: 'PingFang SC', 'PingFang SC';
font-weight: 500;
font-size: 24rpx;
padding-left: 15rpx;
cursor: pointer;
margin: 24rpx 32rpx 0 0;
white-space: nowrap;
/* 防止文本换行 */
text-overflow: ellipsis;
/* 超出部分显示省略号 */
overflow: hidden;
/* 隐藏超出部分 */
text-align: left;
/* 文字靠左对齐 */
line-height: 50rpx;
/* 垂直居中对齐 */
box-sizing: border-box;
/* 确保 padding 和 border 不影响宽度和高度 */
display: inline-block;
/* 确保容器内文字正确对齐 */
}
}
.selectTime.selected {
width: 288rpx;
height: 50rpx;
border-radius: 12rpx 12rpx 12rpx 12rpx;
background: #008CFF;
font-family: PingFang SC, PingFang SC;
font-weight: 800;
font-size: 24rpx;
color: #FFFFFF;
cursor: pointer;
margin: 24rpx 32rpx 0 0;
}
}
.header {
// height: 50rpx;
margin-top: 37rpx;
width: 690rpx;
.s-header {
// width: 104rpx;
width: 84rpx;
height: 26rpx;
font-family: PingFang SC, PingFang SC;
font-weight: 400;
font-size: 28rpx;
color: #9E9E9E;
}
.s-header.selected {
// width: 104rpx;
padding: 10rpx 10rpx;
height: 50rpx;
background: #008CFF;
border-radius: 12rpx 12rpx 12rpx 12rpx;
font-family: PingFang SC, PingFang SC;
font-weight: 800;
font-size: 28rpx;
color: #FFFFFF;
line-height: 26rpx;
}
}
.centerBox {
width: 642rpx;
padding: 24rpx 24rpx 32rpx 24rpx;
background: #FFFFFF;
border-radius: 20rpx 20rpx 20rpx 20rpx;
margin-top: 24rpx;
font-family: PingFang SC, PingFang SC;
font-weight: 500;
font-size: 24rpx;
color: #7A7A7A;
.box-line {
width: 635rpx;
height: 1rpx;
background: #C0C0C0;
border-radius: 0rpx 0rpx 0rpx 0rpx;
margin-top: 13rpx;
}
.status {
font-family: PingFang SC, PingFang SC;
font-weight: 500;
font-size: 26rpx;
color: #008CFF;
}
}
.refuse {
width: 138rpx;
height: 48rpx;
border-radius: 12rpx 12rpx 12rpx 12rpx;
border: 2rpx solid #008CFF;
font-family: PingFang SC, PingFang SC;
font-weight: 800;
font-size: 24rpx;
color: #008CFF;
margin-right: 10rpx;
}
.refuseNone {
width: 138rpx;
height: 48rpx;
border-radius: 12rpx 12rpx 12rpx 12rpx;
border: 2rpx solid #D9D9D9;
font-family: PingFang SC, PingFang SC;
font-weight: 800;
font-size: 24rpx;
color: #D9D9D9;
margin-right: 10rpx;
}
.argee {
width: 138rpx;
height: 48rpx;
background: #008CFF;
border-radius: 12rpx 12rpx 12rpx 12rpx;
border: 2rpx solid #008CFF;
font-family: PingFang SC, PingFang SC;
font-weight: 800;
font-size: 24rpx;
color: #FFFFFF;
}
.argeeNone {
width: 138rpx;
height: 48rpx;
background: #D9D9D9;
border-radius: 12rpx 12rpx 12rpx 12rpx;
font-family: PingFang SC, PingFang SC;
border: 2rpx solid #D9D9D9;
font-weight: 800;
font-size: 24rpx;
color: #FFFFFF;
}
.center-box {
width: 690rpx;
.title {
font-family: PingFang SC, PingFang SC;
font-weight: 800;
font-size: 42rpx;
padding: 30rpx;
}
.text {
padding: 0 30rpx;
font-family: PingFang SC, PingFang SC;
font-weight: 500;
font-size: 24rpx;
color: #7A7A7A;
}
.jine {
font-family: PingFang SC, PingFang SC;
font-weight: 500;
font-size: 28rpx;
color: #343434;
}
.line {
width: 690rpx;
height: 1rpx;
background: #D9D9D9;
border-radius: 0rpx 0rpx 0rpx 0rpx;
margin: 11rpx 31rpx 0 0;
}
.price {
margin-top: 32rpx;
height: 53rpx;
font-family: PingFang SC, PingFang SC;
font-weight: 800;
font-size: 62rpx;
color: #FF5F5F;
padding: 0 30rpx;
width: 630rpx;
}
.jine {
padding: 30rpx;
}
.red {
font-family: PingFang SC, PingFang SC;
font-weight: 500;
font-size: 24rpx;
color: #FF5F5F;
}
input {
height: 53rpx;
}
.btnList {
padding: 30rpx 0;
width: 642rpx;
span {
width: 306rpx;
height: 80rpx;
border-radius: 401rpx 401rpx 401rpx 401rpx;
font-family: PingFang SC, PingFang SC;
font-weight: 800;
font-size: 34rpx;
display: flex;
justify-content: center;
align-items: center;
}
}
}
.line-row {
width: 630rpx;
height: 1rpx;
background: #D9D9D9;
border-radius: 0rpx 0rpx 0rpx 0rpx;
margin: 32rpx 0 38rpx 0;
}
</style>