dyqc_hdapp/pages/center/index.vue

1885 lines
50 KiB
Vue
Raw Normal View History

<template>
<view class="allbg">
<view class="backImg flex flex-column align-items">
<!-- logo -->
<view class="title_logo">
<image src="/static/fabu/fabuhd.png" style="width: 237rpx; height: 57rpx"></image>
</view>
<scroll-view @touchmove.prevent scroll-y="true" :show-scrollbar="true"
class="scroll-container box flex flex-column align-items">
<view class="first flex flex-column align-items justify-start">
<view class="row flex align-items" style="margin-top: 25rpx;">
<span>
<input type="text" maxlength="20" placeholder="填写清晰的活动标题" class="inputl"
v-model="form.title" placeholder-class="bttop" />
</span>
<span style="font-size: 24rpx;color: #9C9C9C;">(必填20字内)</span>
</view>
<view class="row flex align-items textarea_fb" style="margin-top: 25rpx;">
2025-06-13 17:59:09 +08:00
<u--textarea v-model="form.content" :maxlength="800" placeholder="描述一下活动的亮点、活动内容、推荐的人群、叫大家一起运动吧~"
:height="120" placeholder-class="bttop"></u--textarea>
</view>
<span class="line-row" style="margin-top: 0;"></span>
<!-- 图片 -->
<view class="shenfen row flex flex-column" style="margin-top: 42rpx;">
<u-upload :fileList="fileList1" @afterRead="afterRead" :previewFullImage="true"
@delete="deletePic" @oversize="oversize" name="1" multiple :maxSize="1 * 1024 * 1024"
:maxCount="5">
<view class="pic_view">
<image src="@/static/index/upload1.png" mode="widthFix"
style="width: 44rpx;height: 44rpx;" />
<span class="texts">添加图片</span>
</view>
</u-upload>
</view>
<span class="line-row"></span>
<view class="row flex align-items" style="margin-top: 25rpx; ">
2025-06-13 16:30:06 +08:00
<view class="label flex align-items" style="width: auto;">
<image src="@/static/fabu/jhdd.png" mode="widthFix"
style="width: 44rpx;height: 44rpx;padding-right: 8rpx;" />
集合地点
2025-06-13 16:30:06 +08:00
</view>
2025-06-13 13:53:56 +08:00
<view class="row-right" @click="choose()">
<input class="input" type="text" disabled="true" placeholder="请填写地址" v-model="form.address"
2025-06-13 16:30:06 +08:00
placeholder-class="plasty" style="width: auto;"/>
<u-icon name="arrow-right" color="#323232"></u-icon>
2025-06-13 13:53:56 +08:00
</view>
</view>
<view class="row flex align-items textarea_mph" style="margin-top: 30rpx;">
<u--textarea v-model="form.address_detail" maxlength="400" placeholder-class="bttops"
placeholder="请输入详细地址/楼、门牌号"></u--textarea>
</view>
<view class="row flex align-items" style="margin: 30rpx 0;">
2025-06-13 16:30:06 +08:00
<view class="label flex align-items" style="width: auto;">
<image src="@/static/fabu/hdsj.png" mode="widthFix"
style="width: 44rpx;height: 44rpx;padding-right: 8rpx;" />
活动时间
2025-06-13 16:30:06 +08:00
</view>
<view class="row-right" @click="dateShowHidden()">
<input type="text" placeholder="请选择活动时间" class="input" disabled="true" v-model="form.time"
2025-06-13 16:30:06 +08:00
placeholder-class="plasty" style="width: auto;"/>
<u-icon name="arrow-right" color="#323232"></u-icon>
2025-06-13 16:30:06 +08:00
</view>
</view>
</view>
<view class="first flex flex-column align-items justify-start" style="margin-top: 20rpx;">
<view class="row flex align-items" style="margin-top: 25rpx;">
<span class="label flex align-items ">
<span style="color: #3D3D3D;">*</span>活动分类
</span>
<span class="row-right" @click="openBq">
<input type="text" placeholder="请选择活动分类" class="input" disabled="true"
v-model="form.cate_idsName" placeholder-class="plasty" />
<u-icon name="arrow-right" color="#323232"></u-icon>
</span>
</view>
<span class="line-row"></span>
<view class="row flex align-items" style="margin: 25rpx 0;" v-if="form.price != 0">
<view class="label flex align-items ">
<text style="color: #3D3D3D;">*</text>退款政策
</view>
<!-- -->
<view class="row-right" @click="tuikuan = true">
<input type="text" placeholder="请选择退款政策" class="input" disabled="true"
v-model="form.refund_idn" placeholder-class="plasty_c" />
<u-icon name="arrow-right" color="#323232"></u-icon>
</view>
</view>
</view>
2025-06-07 18:31:27 +08:00
<view class="first flex flex-column align-items justify-start" style="margin-top: 20rpx;width: 100%;">
<view class="row flex align-items" style="margin-top: 25rpx;">
<view style="width: 40%;" class="label flex align-items ">
<text style="color: #3D3D3D;">*</text>群二维码上传
</view>
<view class="row-right">
<u-upload @afterRead="uploadQun" :maxCount="1">
<view style="display: flex;justify-content: flex-end;align-items: center;">
<view v-if="qunQrcode==''" style="color: #9C9C9C;font-size: 26rpx;">未上传</view>
<view v-if="qunQrcode!=''" style="color: #FF4810;font-size: 26rpx;">已上传</view>
<u-icon name="arrow-right" color="#323232"></u-icon>
</view>
</u-upload>
</view>
</view>
<span class="line-row"></span>
</view>
<view class="first flex flex-column align-items justify-start" style="margin-top: 20rpx;">
<view class="row flex align-items" style="margin-top: 25rpx;">
<span class="label flex align-items ">
<span style="color: #3D3D3D;">*</span>
活动人数
</span>
<span class="row-right">
<input type="number" placeholder="请填写活动人数" class="input" v-model="form.stock" />
</span>
</view>
<span class="line-row"></span>
<view class="row flex align-items" style="margin-top: 25rpx;">
<span class="label flex align-items ">
<span style="color: #3D3D3D;">*</span>
活动价格
</span>
<span class="row-right">
<input type="digit" placeholder="请填写活动价格" class="input" v-model="form.price"
placeholder-class="plasty" />
</span>
</view>
<span class="line-row"></span>
<view class="row flex align-items" style="margin: 25rpx 0;">
<span class="label flex align-items ">
<span style="color: #3D3D3D;">*</span>
报名时间
</span>
<span class="row-right" @click="birthShowHidden()">
<input type="text" placeholder="请选择报名时间" class="input" disabled="true"
v-model="form.sign_time" placeholder-class="plasty" />
<u-icon name="arrow-right" color="#323232"></u-icon>
</span>
</view>
</view>
</scroll-view>
2025-06-12 17:31:01 +08:00
<view class="bottom " v-if="status == -1 || status == 2">
<view style="margin:30rpx 0 0 0;">
<cc-protocolBox :agree="agree" :name="protocolArr" @click="protocolClick" @clickOne="protocolClick"></cc-protocolBox>
</view>
<span class="flex align-items justify-center" @click="apply()" v-if="agreeAdd == true">确认发布</span>
<span class="flex align-items justify-center" v-if="agreeAdd == false"
style="background: #EEEEEE;color: #9C9C9C;">确认发布</span>
</view>
<!-- 退款政策 -->
<u-popup @touchmove.native.stop.prevent :closeable="false" :show="tuikuan" :round="22" mode="bottom"
@close="closetuikuan" @open="opentuikuan" :custom-style="popupStyletk">
<view class="popup_tkall">
<view style="display: flex;justify-content: space-between;align-items: center;">
<view class="closetk" @click="closetuikuan">取消</view>
<view class="popup_tk"> 选择退款政策</view>
<view class="confirmtk" @click="closetuikuan">确认</view>
</view>
<scroll-view scroll-y="true" class="popup-content">
<view class="popup-content-item flex align-items" :class="[{ active: currents === index }]"
v-for="(item, index) in refund_list" :key="index" @click="selectItem(index, item)">
<view style="width: 540rpx;">
<span class="popup-content-item-title">{{ item.title }}</span>
<span v-html="item.desc" class="popup-content-item-content"
style="margin-top: 20rpx;"></span>
</view>
<image v-if="currents === index" src="@/static/fabu/check.png" mode="widthFix"
style="width: 44rpx;height: 44rpx;" />
<image v-else src="@/static/fabu/nocheck.png" mode="widthFix"
style="width: 44rpx;height: 44rpx;" />
</view>
</scroll-view>
</view>
</u-popup>
2025-04-24 09:31:50 +08:00
<!-- 声明 -->
<u-popup @touchmove.native.stop.prevent :closeable="false" :show="show" :round="10" mode="center"
2025-06-12 15:10:21 +08:00
@close="close" @open="open" :custom-style="popupStyle" :safeAreaInsetBottom="false"
:closeOnClickOverlay="false">
<span style="font-size: 40rpx;font-weight: 800;height: 120rpx;">责任承诺确认书</span>
<scroll-view ref="scrollView" :scroll-top="scrollTop" :show-scrollbar='true'
@scrolltolower="handleScroll" scroll-y="true" style="height: 800rpx;">
<view class="popup flex align-items flex-column">
<rich-text style="text-align: justify;" :nodes="Negotiate"></rich-text>
2025-04-24 09:31:50 +08:00
</view>
</scroll-view>
<!-- <view class="popup-footer">
<span class="zhixiao" v-if="agreeShow == false">我同意</span>
<span class="zhixiao shows_zhidao" v-if="agreeShow == true" @click="change">我同意</span>
</view> -->
2025-06-12 15:10:21 +08:00
<view style="gap: 20rpx;width: 100%;display: flex;justify-content: space-between;align-items: center;">
<view class="btn_4" @click="show = false">取消</view>
<view class="btn_3" v-if="agreeShow == false">我同意</view>
<view class="btn_2" v-if="agreeShow == true" @click="change()">我同意</view>
</view>
</u-popup>
<!-- 身份证是否认证 -->
2025-06-12 17:31:01 +08:00
<u-popup @touchmove.native.stop.prevent :closeable="false" :show="cardShow" :round="10" mode="center"
2025-06-12 15:10:21 +08:00
@close="cardShow = false" :safeAreaInsetBottom="false" :custom-style="{
width: '600rpx',
padding: '24rpx 24rpx 20rpx 24rpx',
margin: '0 auto',
display: 'flex',
justifyContent: 'start',
alignItems: 'center',
flexColumn: 'column'
}" :closeOnClickOverlay="false">
2025-06-12 17:31:01 +08:00
<view style="text-align: center;margin-top: 30rpx;">
<image src="/static/fabu/renzheng.png" style="width: 140rpx;height: 140rpx;"></image>
</view>
<view style="font-size: 36rpx;color: #3D3D3D;margin-top: 30rpx;font-weight: 600;">完成认证即可发布活动</view>
<view
2025-06-12 17:31:01 +08:00
style="padding: 40rpx 20rpx 10rpx 20rpx;;font-weight: 400;color: #3D3D3D;text-align: center;line-height: 44rpx;font-size: 28rpx;">
只差最后一步完成身份认证即可成为<br>+认证活动官开始分享您的精彩活动
</view>
2025-06-12 17:31:01 +08:00
<view style="gap: 20px;width: 100%;display: flex;justify-content: space-between;align-items: center;padding-bottom: 30rpx;">
<view class="btn_4" @click="cardShow = false">取消</view>
<view class="btn_2" @click="openUrl('/packageB/card/index')">我同意</view>
</view>
</u-popup>
<!-- 活动分类 -->
<u-popup :show="showPopbq" mode="bottom" round="20"
:customStyle="{ 'width': '750rpx', 'height': '1040rpx','zIndex': '999'}" :closeable="false"
@close="closebq" :closeOnClickOverlay="false">
<image @click="closebq" src="@/static/center/close.png" mode=""
style="width: 44rpx;height: 44rpx;position: absolute;right: 30rpx;top: -160rpx;z-index: 155;">
</image>
<view class="popup_bq">
<!-- <view @click="closebq" style="z-index: 200;width: 100%;text-align: right;padding-right: 40rpx;padding-top: 20rpx;">确认</view> -->
<img src="https://naweigetetest2.hschool.com.cn/dyqc/hdfenlei.png" alt="" />
2025-04-24 09:31:50 +08:00
<view class="flex flex-column w-100 bqlist">
<scroll-view scroll-y="true" class="flex align-items allbqs">
<view class="titles_fl">已选择</view>
<view class="flex align-items allmybqs">
2025-06-12 15:10:21 +08:00
<view class="flex align-items bqpiece" v-for="(item_bq, index) in list" :key="index"
@click="removebq(index)">
<span>
{{ item_bq.name }}
</span>
2025-06-12 15:10:21 +08:00
<u-icon name="close" color="#babdc7"></u-icon>
</view>
2025-04-24 09:31:50 +08:00
</view>
<view class="titles_fl" style="margin-top: 50rpx;">全部标签</view>
2025-04-24 09:31:50 +08:00
<view style="display: flex; flex-wrap: wrap;">
<view class="flex align-items" :class="['bqpiece', { active: current === index }]"
2025-06-12 15:10:21 +08:00
v-for="(item, index) in bqList" :key="index" @click="addbq(item, index)">
<span>
{{ item.name }}
</span>
2025-04-24 09:31:50 +08:00
</view>
</view>
</scroll-view>
<view>
<view @click="closebq" class="btn_1">确定选择</view>
</view>
</view>
</view>
</u-popup>
<!-- 活动时间 -->
2025-06-12 15:10:21 +08:00
<u-popup :show="dateShow" mode="bottom" round="20"
:customStyle="{ 'width': '750rpx', 'height': '1040rpx','zIndex': '999'}" :closeable="false"
@close="dateShow = false" :closeOnClickOverlay="false">
<view style="display: flex;justify-content: space-between;align-items: center;padding: 30rpx;">
<view style="font-size: 28rpx;color: #9C9C9C;" @click="dateShow = false">取消</view>
<view style="font-size: 36rpx;color: #3D3D3D;font-weight: 600;" v-if="hdIndex == 1">开始时间</view>
<view style="font-size: 36rpx;color: #3D3D3D;font-weight: 600;" v-if="hdIndex == 2">结束时间</view>
<view style="font-size: 28rpx;color: #3D3D3D;" @click="hdnext()" v-if="hdIndex == 1">下一步</view>
<view style="font-size: 28rpx;color: #3D3D3D;" @click="hdok()" v-if="hdIndex == 2">确认</view>
</view>
<view style="height: 1px;background-color: #EEEEEE;width: 100%;"></view>
<view style="height: 700rpx;">
2025-06-12 18:06:06 +08:00
<long-date v-if="dateShow" chooseNum="90" @select="datefirm($event,hdIndex)"></long-date>
2025-06-12 15:10:21 +08:00
</view>
</u-popup>
<!-- 报名时间 -->
<u-popup :show="birthShow" mode="bottom" round="20"
:customStyle="{ 'width': '750rpx', 'height': '1040rpx','zIndex': '999'}" :closeable="false"
@close="birthShow = false" :closeOnClickOverlay="false">
<view style="display: flex;justify-content: space-between;align-items: center;padding: 30rpx;">
<view style="font-size: 28rpx;color: #9C9C9C;" @click="birthShow = false">取消</view>
<view style="font-size: 36rpx;color: #3D3D3D;font-weight: 600;" v-if="bmIndex == 1">开始时间</view>
<view style="font-size: 36rpx;color: #3D3D3D;font-weight: 600;" v-if="bmIndex == 2">结束时间</view>
<view style="font-size: 28rpx;color: #3D3D3D;" @click="bmnext()" v-if="bmIndex == 1">下一步</view>
<view style="font-size: 28rpx;color: #3D3D3D;" @click="bmok()" v-if="bmIndex == 2">确认</view>
</view>
<view style="height: 1px;background-color: #EEEEEE;width: 100%;"></view>
<view style="height: 700rpx;">
2025-06-12 18:06:06 +08:00
<long-date v-if="birthShow" chooseNum="90" @select="birthConfirm($event,bmIndex)"></long-date>
2025-06-12 15:10:21 +08:00
</view>
</u-popup>
<!-- 活动时间 -->
<!-- <u-datetime-picker @cancel="datecel" ref="dateRef" title="开始时间" :minDate="minDate" confirmText="下一步"
@confirm="datefirm" :show="dateShow" v-model="form.date" mode="datetime"></u-datetime-picker> -->
<!-- <u-datetime-picker @cancel="datecel1" ref="dateRef" title="结束时间" :minDate="minDate1" @confirm="datefirm1"
:show="dateShow1" v-model="form.date1" mode="datetime"></u-datetime-picker> -->
<!-- 报名时间 -->
2025-06-12 15:10:21 +08:00
<!-- <u-datetime-picker @cancel="birthCancel" ref="birthRef" title="开始时间" :minDate="minDate"
@confirm="birthConfirm" :show="birthShow" v-model="form.birth" mode="datetime"></u-datetime-picker>
<u-datetime-picker @cancel="birthCancel1" ref="birthRef" title="结束时间" :minDate="minDate1"
2025-06-12 15:10:21 +08:00
@confirm="birthConfirm1" :show="birthShow1" v-model="form.birth1" mode="datetime"></u-datetime-picker> -->
</view>
2025-06-04 18:33:05 +08:00
<tab-bar :tabBarShow="2"></tab-bar>
</view>
</template>
<script>
import dayjs from 'dayjs';
2025-06-12 15:10:21 +08:00
import longDate from "@/components/long-date/long-date.vue"
import {
2025-06-12 15:10:21 +08:00
dateWeek,dateWeekData
} from '../../utils/dateFormat'
export default {
2025-06-12 15:10:21 +08:00
components: {
longDate
},
data() {
return {
2025-06-12 15:10:21 +08:00
bmIndex:1,
hdIndex:1,
agreeAdd: false,
timer: null,
timeLog: 0,
showPopbq: false, //标签弹窗
bqList: [], //标签列表
cate_id: '', //标签id
list: [],
refund_list: [], //退款list
peopleShow: false, //活动弹窗
inputValue: '', // 用于绑定输入框的值
inputType: 'text', // 输入框类型
birthShow: false, // 日期弹窗
birthShow1: false, // 报名日期弹窗
value: false,
scrollTop: 0,
minDate: dayjs().startOf('day').valueOf(),
minDate1: dayjs().startOf('day').valueOf(),
old: {
scrollTop: 0
},
status: -1,
reason: '',
dateShow: false,
dateShow1: false,
show: false,
tuikuan: false,
State: '',
Negotiate: null, // 入驻协议
agree: false,
agreeShow: false,
protocolArr: "《活动发布者责任与承诺确认书》",
form: {
cate_ids: '',
// 活动分类名字
cate_idsName: "",
content: '',
refund_id: '',
refund_idn: '',
price: 0,
stock: '',
sign_time: '',
time: '',
images: '',
title: '',
address: '',
latitude: '',
longitude: '',
address_detail: '', //详细位置
date: dayjs().add(4, 'hour').valueOf(), //活动开始时间
date1: dayjs().add(8, 'hour').valueOf(), //活动结束时间
birth: dayjs().add(4, 'hour').valueOf(), //报名开始日期
birth1: dayjs().add(8, 'hour').valueOf(), //报名结束日期
},
apply_info: {},
popupStyle: {
2025-06-12 17:31:01 +08:00
width: '620rpx',
padding: '50rpx 40rpx 42rpx 40rpx',
height: '984rpx',
margin: '0 auto', // 水平居中
display: 'flex',
justifyContent: 'start',
alignItems: 'center',
flexColumn: 'column'
},
popupStyletk: {
width: '710rpx',
padding: '24rpx 24rpx 42rpx 24rpx',
height: '984rpx',
margin: '0 auto', // 水平居中
display: 'flex',
justifyContent: 'start',
alignItems: 'center',
flexColumn: 'column'
},
current: 0,
currents: -1,
institutionList: [],
images: '',
fileList1: [], // 用于存储第一个上传组件的文件列表
list1: '', // 存储第一个上传组件的图片URL最多3张
//活动转换的时间
2025-06-12 15:10:21 +08:00
times_b: '',//开始时间
times_e: '',//结束时间
times_b_int: '',//开始时间
times_e_int: '',//结束时间
//报名转换的时间
2025-06-12 15:10:21 +08:00
times_sinb: '', //开始时间
times_sine: '', //结束时间
times_sinb_int: '', //开始时间
times_sine_int: '', //结束时间
2025-06-07 18:31:27 +08:00
qunQrcode: '',
boxHeight: 0,
cardShow: false,
cardStatus: 0,
};
},
onLoad() {
// this.tofb();
// this.searchStatus()
this.getAgreement()
this.getBqList();
this.getrefund_list();
this.getitembq();
//var c=uni.getSystemInfoSync();
//844-94-70-100 = 580
//763-47-(100-47)-34-50
//this.computeBoxHeight();
},
onShow() {
2025-06-12 17:31:01 +08:00
this.show=false;
this.getCardInfo();
},
filters: {
formatTimestamp(value) {
if (!value) return '';
const date = new Date(value * 1000); // 将秒转换为毫秒
const year = date.getFullYear();
const month = String(date.getMonth() + 1).padStart(2, '0'); // 月份从0开始需要加1并补零
const day = String(date.getDate()).padStart(2, '0'); // 补零
return `${year}-${month}-${day}`;
}
},
methods: {
2025-06-12 15:10:21 +08:00
Time(val) {
console.log(val);
},
openUrl(url) {
uni.navigateTo({
url: url
})
},
getCardInfo() {
uni.$u.http.get('/api/school.real_name/info').then(res => {
console.log(res);
this.cardShow = res.data.status != 1 ? true : false;
this.cardStatus = res.data.status;
})
},
//选择政策
selectItem(index, item) {
this.currents = index;
this.form.refund_id = item.id;
this.form.refund_idn = item.title;
},
2025-06-07 18:31:27 +08:00
async uploadQun(item) {
const result = await this.uploadFilePromise(item.file.url, 'user');
this.qunQrcode = result;
},
//登录及发布123
// tofb() {
// const token = uni.getStorageSync('token')
// if (token) {
// return true;
// } else {
// uni.showToast({
// title: '请登录',
// icon: 'none',
// duration: 2000,
// complete: function() {
// setTimeout(function() {
// uni.switchTab({
// url: '/pages/my/index',
// });
// }, 2000);
// }
// });
// }
// },
// 获取本地最近使用
getitembq() {
this.list = [];
uni.setStorageSync('zjlist', JSON.stringify(this.list))
// if (uni.getStorageSync("zjlist") != "") {
// this.list = JSON.parse(uni.getStorageSync("zjlist"));
// let arr = this.list.map((item) => {
// return item.name
// })
// this.form.cate_idsName = arr.join(',');
// } else {
// uni.setStorageSync('zjlist', JSON.stringify(this.list))
// }
},
//删除标签(本地)
removebq(i) {
this.list.splice(i, 1);
uni.setStorageSync('zjlist', JSON.stringify(this.list))
let arr = this.list.map((item) => {
return item.name
})
this.form.cate_idsName = arr.join(',')
},
addbq(val, index) {
this.current = index;
let arrbql = uni.getStorageSync("zjlist");
let arrbq = JSON.parse(arrbql);
let isbq = true;
for (let i = 0; i < arrbq.length; i++) {
if (arrbq[i].id == val.id) {
uni.showToast({
title: "已选择该标签",
icon: "none",
duration: 2000,
});
return isbq = false;
}
}
if (this.list.length < 3) {
if (isbq) {
this.list.push(val);
uni.setStorageSync('zjlist', JSON.stringify(this.list))
}
} else {
uni.showToast({
title: "最多添加3个标签",
icon: "none",
duration: 2000,
});
}
let arr = this.list.map((item) => {
return item.name
})
this.form.cate_idsName = arr.join(',');
},
dateWeeks(e) {
return dateWeek(e);
},
closebq() {
this.showPopbq = false
},
openBq() {
this.showPopbq = true
},
// 退费规则
getrefund_list() {
uni.$u.http
.get("/api/school.new_activity/refund_list", {
params: {
page: 1,
limit: 100
},
})
.then((res) => {
if (res.code == 1) {
this.refund_list = res.data.list;
} else {
uni.showToast({
title: res.msg,
icon: "none",
duration: 2000,
});
}
})
.catch((error) => {
uni.showToast({
title: "请求失败,请稍后再试",
icon: "none",
duration: 2000,
});
});
},
// 获取标签
getBqList() {
uni.$u.http
.get("/api/school.new_activity/cate_list", {
params: {
page: 1,
limit: 100
},
})
.then((res) => {
if (res.code == 1) {
this.bqList = res.data.list;
} else {
uni.showToast({
title: res.msg,
icon: "none",
duration: 2000,
});
}
})
.catch((error) => {
uni.showToast({
title: "请求失败,请稍后再试",
icon: "none",
duration: 2000,
});
});
},
//同意
handleScroll() {
console.log(123)
this.agreeShow = true
},
getTime() {
const currentDate = new Date();
const year = currentDate.getFullYear();
const month = String(currentDate.getMonth() + 1).padStart(2, '0'); // 月份从0开始需要加1
const day = String(currentDate.getDate()).padStart(2, '0');
const formattedDate = `${year}-${month}-${day}`;
return formattedDate;
},
dateShowHidden() {
2025-06-12 15:10:21 +08:00
this.hdIndex=1;
this.dateShow = true;
},
birthShowHidden() {
2025-06-12 15:10:21 +08:00
this.bmIndex=1;
this.birthShow = true;
},
// 活动开始时间
2025-06-12 15:10:21 +08:00
datefirm(e, index) {
console.log(e)
2025-06-12 15:10:21 +08:00
var time = e.time;
if (index == 1) {
//this.form.date = time;
this.times_b = time;
this.times_b_int=time;
} else {
this.times_e = time;
this.times_e_int=time;
//this.dateShow = false
this.form.time = this.times_b + ' - ' + this.times_e
}
//this.dateShow1 = true
//this.form.date = dayjs(e.value).format('YYYY-MM-DD HH:mm:ss');
//this.times_b = this.dateWeeks(e.value / 1000);
//this.dateShow = false
//this.dateShow1 = true
},
2025-06-12 15:10:21 +08:00
hdnext(){
//获取当前时间
const currentTime = dayjs().format('YYYY-MM-DD HH');
var b = currentTime+':00';
if(this.times_b == '' || this.times_b==null){
//判断是否this.times_b小于当前时间 用的是年月日而不是时间戳
if(this.isBeforeNow(b)){
uni.$u.toast('活动开始时间不能小于当前时间');
return;
}
this.times_b = b;
}else{
if(this.isBeforeNow(this.times_b)){
uni.$u.toast('活动开始时间不能小于当前时间');
return;
}
//报名结束时间 < 活动开始时间
// 如果date1 < date2返回true
if(this.isDateTimeBefore(this.times_b,this.times_sine_int) && this.times_sine_int!=''){
uni.$u.toast('活动开始时间不能小于报名结束时间');
return;
}
//this.times_b = dateWeekData(this.times_b);
}
this.hdIndex=2;
},
hdok(){
const currentTime = dayjs().format('YYYY-MM-DD HH');
var b = currentTime+':00';
if(this.times_e == '' || this.times_e==null){
//判断是否this.times_e小于当前时间 用的是年月日而不是时间戳
if(this.isBeforeNow(b)){
uni.$u.toast('活动结束时间不能小于开始时间');
return;
}
if(this.isDateTimeBefore(this.times_e,this.times_b)){
uni.$u.toast('活动结束时间不能小于开始时间');
return;
}
//报名结束时间 < 活动开始时间
// 如果date1 < date2返回true
if(this.isDateTimeBefore(this.times_e,this.times_sine_int) && this.times_sine_int!=''){
uni.$u.toast('活动结束时间不能小于报名结束时间');
return;
}
this.times_e = b;
}else{
if(this.isBeforeNow(this.times_e)){
uni.$u.toast('活动结束时间不能小于当前时间');
return;
}
//报名结束时间 < 活动开始时间
// 如果date1 < date2返回true
if(this.isDateTimeBefore(this.times_e,this.times_sine_int) && this.times_sine_int!=''){
uni.$u.toast('活动结束时间不能小于报名结束时间');
return;
}
this.times_e = dateWeekData(this.times_e);
this.times_b = dateWeekData(this.times_b);
}
this.form.time = this.times_b + ' - ' + this.times_e
2025-06-12 15:10:21 +08:00
this.dateShow=false;
// if(this.times_e == '' || this.times_e==null){
// const currentTime = dayjs().format('YYYY-MM-DD HH');
// this.times_e = dateWeekData(currentTime+'00');
// this.form.time = this.times_b + ' - ' + this.times_e
// }
// this.dateShow=false;
},
isBeforeNow(dateTimeStr) {
// 替换空格为'T'以兼容ISO格式部分浏览器需要
const isoFormattedStr = dateTimeStr.replace(' ', 'T');
const inputDate = new Date(isoFormattedStr);
const now = new Date();
return inputDate < now;
},
isDateTimeBefore(datetimeStr1, datetimeStr2) {
// 转换为Date对象兼容"YYYY-MM-DD HH:mm:ss"格式)
const date1 = new Date(datetimeStr1.replace(' ', 'T') + 'Z');
const date2 = new Date(datetimeStr2.replace(' ', 'T') + 'Z');
return date1 <= date2; // 如果date1早于date2返回true
},
datecel(e) {
this.dateShow = false
},
datecel1(e) {
this.dateShow1 = false
},
// 报名开始日期
2025-06-12 15:10:21 +08:00
birthConfirm(e,index) {
// this.form.birth = dayjs(e.value).format('YYYY-MM-DD HH:mm:ss');
2025-06-12 15:10:21 +08:00
// this.times_sinb = this.dateWeeks(e.value / 1000);
// this.birthShow = false
// this.birthShow1 = true
console.log(e)
var time = e.time;
if (index == 1) {
//this.form.date = time;
this.times_sinb = time;
this.times_sinb_int = time;
} else {
this.times_sine = time;
this.times_sine_int = time;
//this.dateShow = false
this.form.sign_time = this.times_sinb + ' - ' + this.times_sine
}
},
2025-06-12 15:10:21 +08:00
bmnext(){
//获取当前时间
const currentTime = dayjs().format('YYYY-MM-DD HH');
if(this.times_sinb == '' || this.times_sinb==null){
var b = currentTime+':00';
//判断是否this.times_sinb小于当前时间 用的是年月日而不是时间戳
if(this.isBeforeNow(b)){
uni.$u.toast('报名开始时间不能小于当前时间');
return;
}
this.times_sinb = b;
}else{
if(this.isBeforeNow(this.times_sinb)){
uni.$u.toast('报名开始时间不能小于当前时间');
return;
}
if(this.isDateTimeBefore(this.times_b_int,this.times_sinb_int) && this.times_b_int!=''){
uni.$u.toast('报名开始时间不能大于活动开始时间');
return;
}
//this.times_sinb = dateWeekData(this.times_sinb);
}
this.bmIndex=2;
},
bmok(){
const currentTime = dayjs().format('YYYY-MM-DD HH');
var b = currentTime+':00';
if(this.times_sine == '' || this.times_sine==null){
//判断是否this.times_sine小于当前时间 用的是年月日而不是时间戳
if(this.isBeforeNow(b)){
uni.$u.toast('报名结束时间不能小于当前时间');
return;
}
if(this.isDateTimeBefore(this.times_sine,this.times_sinb)){
uni.$u.toast('活动结束时间不能小于开始时间');
return;
}
if(this.isDateTimeBefore(this.times_b_int,this.times_sine_int) && this.times_b_int!=''){
uni.$u.toast('报名结束时间不能大于活动开始时间');
return;
}
this.times_sine = b;
}else{
if(this.isBeforeNow(this.times_sine)){
uni.$u.toast('报名结束时间不能小于当前时间');
return;
}
// 如果date1早于date2返回true
if(this.isDateTimeBefore(this.times_sine,this.times_sinb)){
uni.$u.toast('报名结束时间不能小于开始时间');
return;
}
if(this.isDateTimeBefore(this.times_b_int,this.times_sine_int) && this.times_b_int!=''){
uni.$u.toast('报名结束时间不能大于活动开始时间');
return;
}
this.times_sine = dateWeekData(this.times_sine);
this.times_sinb = dateWeekData(this.times_sinb);
}
this.form.sign_time = this.times_sinb + ' - ' + this.times_sine
2025-06-12 15:10:21 +08:00
this.birthShow=false;
},
birthCancel() {
this.birthShow = false
},
birthCancel1() {
this.birthShow1 = false
},
close() {
this.show = false;
clearInterval(this.timer);
},
closetuikuan() {
this.tuikuan = false
},
open() {
this.show = true
// setTimeout(() => {
// this.agree = true
// }, 5000)
},
opentuikuan() {
this.tuikuan = true;
//this.form.refund_id = 1;
//this.form.refund_idn = '随时退';
},
change() {
this.agree = true;
this.agreeAdd = true;
this.show = false
},
// 选择机构地址
protocolClick(tag) {
//timeLog 开始倒计时
// this.timeLog = 5;
// this.timer = setInterval(() => {
// this.timeLog--;
// if (this.timeLog === 0) {
// this.agreeShow=true;
// clearInterval(this.timer);
// }
// }, 1000);
this.show = true
},
// 获取入驻协议文章
getAgreement() {
uni.$u.http.get('/api/index/agreement', {
params: {
}
}).then(res => {
if (res.code == 1) {
this.Negotiate = (res.data.commitment_activity).replace(/\<img/gi,
'<img style="max-width:100%;height:auto" ');
} else {
uni.showToast({
title: res.msg,
icon: 'none',
duration: 2000
});
}
}).catch(error => {
uni.showToast({
title: '请求失败,请稍后再试',
icon: 'none',
duration: 2000
});
});
},
choose() {
console.log(11111)
const that = this
uni.chooseLocation({
success: function(res) {
console.log(res)
that.form.address = res.name
// that.form.address_detail = res.address
that.form.latitude = res.latitude
that.form.longitude = res.longitude
},
fail: function(rot) {
console.log(rot)
}
});
},
// 回调参数为包含columnIndex、value、values
confirm(e) {
console.log('confirm', e.value)
this.form.cut = e.value[0]
this.fileList1 = [],
this.list1 = '',
this.name = ''
},
oversize(e) {
this.$u.toast("请传1MB以内大小的图片");
return false;
},
// 删除图片
deletePic(event) {
const {
name,
index
} = event;
if (index >= 0 && index < this[`fileList${name}`].length) {
this[`fileList${name}`].splice(index, 1);
if (name === '1') {
//单张
// this.list1 = this.fileList1.length > 0 ? this.fileList1[0].url : '';
2025-06-04 18:33:05 +08:00
this.list1 = this.fileList1.map(item => item.url).join(',');
console.log('Updated list1:', this.list1);
}
// 确保对应的 list 字段是一个数组
let list = this[`list${name}`];
if (!Array.isArray(list)) {
console.warn(`list${name} is not an array, skipping splice operation`);
} else {
list.splice(index, 1);
console.log(`Updated list${name}:`, list);
}
} else {
console.error('Invalid index');
}
},
// 新增图片
async afterRead(event) {
let lists = [].concat(event.file);
let fileListLen = this[`fileList${event.name}`].length;
let categoryMap = [{
category: 'user'
},
{
category: 'user'
},
{
category: 'user'
},
{
category: 'cert'
},
{
category: 'cert'
},
{
category: 'cert'
},
];
lists.map((item) => {
this[`fileList${event.name}`].push({
...item,
status: 'uploading',
message: '上传中'
});
});
for (let i = 0; i < lists.length; i++) {
const result = await this.uploadFilePromise(lists[i].url, categoryMap[event.name - 1].category);
2025-06-12 15:10:21 +08:00
if (result == '') {
this.fileList1 = [];
return;
}
let item = this[`fileList${event.name}`][fileListLen];
this[`fileList${event.name}`].splice(fileListLen, 1, Object.assign(item, {
status: 'success',
message: '',
url: result
}));
console.log(this[`fileList${event.name}`], ` this[\`fileList${event.name}\`]`)
fileListLen++;
// 更新对应的list字段
if (event.name === '1') {
// this.list1 = this.fileList1[0]?.url || ''; //单张
this.list1 = this.fileList1.map(item => item.url).join(',');
}
}
},
uploadFilePromise(url, category) {
console.log('category', category)
return new Promise((resolve, reject) => {
let a = uni.uploadFile({
url: 'https://naweigetetest2.hschool.com.cn/api/common/upload', // 仅为示例,非真实的接口地址
filePath: url,
name: 'file',
formData: {
user: 'test',
category: category
},
header: {
"token": uni.getStorageSync("token")
},
success: (res) => {
var js = JSON.parse(res.data);
console.log(js.data.errcode);
if (js.data.errcode == '30002') {
uni.showToast({
title: '请登录...',
icon: 'none',
duration: 1000
});
2025-06-12 15:10:21 +08:00
setTimeout(() => {
uni.switchTab({
url: '/pages/my/index',
})
2025-06-12 15:10:21 +08:00
}, 1000)
resolve('');
}
resolve(js.data.url);
},
fail: (err) => {
reject(err);
}
});
});
},
// 查询状态
// -1未申请 0待审核 1审核通过 2审核失败
searchStatus() {
uni.$u.http.get('/api/school/shop/auth_info', {
params: {}
}).then(res => {
if (res.code == 1) {
this.apply_info = res.data.apply_info
this.State = res.data.type
console.log(res.data.type)
if (res.data.auth_status == 2) {
this.status = 2
this.reason = res.data.reason
} else if (res.data.auth_status == 0) {
this.status = 0
} else if (res.data.auth_status == 1) {
this.status = 1
}
} else {
uni.showToast({
title: res.msg,
icon: 'none',
duration: 2000
});
}
}).catch(error => {
uni.showToast({
title: '请求失败,请稍后再试',
icon: 'none',
duration: 2000
});
});
},
// 验证电话号码格式的方法
validateTel(tel) {
// 这里使用一个简单的正则表达式来验证电话号码格式
const telRegex = /^1[3-9]\d{9}$/; // 假设是中国大陆的手机号码格式
return telRegex.test(tel);
},
apply() {
if (this.cardStatus == -1) {
this.cardShow = true;
return;
}
let url = '/api/school.new_activity/add';
let params = {};
this.form.cate_ids = this.list.map(item => item.id).join(',');
// 校验详细地址
if (this.form.address_detail == '') {
uni.showToast({
title: '请输入详细地址!',
icon: 'none',
duration: 2000
});
return;
}
// 校验位置
if (this.form.address == '') {
uni.showToast({
title: '请选择位置!',
icon: 'none',
duration: 2000
});
return;
}
// 校验标题
if (this.form.title == '') {
uni.showToast({
title: '请输入标题!',
icon: 'none',
duration: 2000
});
return;
}
// 校验详情
if (this.form.content == '') {
uni.showToast({
title: '请输入详情!',
icon: 'none',
duration: 2000
});
return;
}
// 校验照片
if (this.list1 == '') {
uni.showToast({
title: '请上传活动照片!',
icon: 'none',
duration: 2000
});
return;
}
// 校验照片至少上传3张
if (this.fileList1.length < 3) {
uni.showToast({
title: '活动照片至少三张!',
icon: 'none',
duration: 2000
});
return;
}
// 校验金额
if (this.form.price == '') {
uni.showToast({
title: '请输入金额!',
icon: 'none',
duration: 2000
});
return;
}
// 校验退款政策
if (this.form.refund_id == '') {
uni.showToast({
title: '请选择退款政策!',
icon: 'none',
duration: 2000
});
return;
}
// 校验人数
if (this.form.stock == '' || this.form.stock < 1) {
uni.showToast({
title: '请输入正确的活动人数!',
icon: 'none',
duration: 2000
});
return;
}
// 校验报名时间
if (this.form.sign_time == '') {
uni.showToast({
title: '请选择报名时间!',
icon: 'none',
duration: 2000
});
return;
}
2025-05-01 19:11:36 +08:00
// 校验活动时间
if (this.form.time == '') {
uni.showToast({
title: '请选择活动时间!',
icon: 'none',
duration: 2000
});
return;
}
2025-06-07 18:31:27 +08:00
if (this.qunQrcode == '' || this.qunQrcode == null) {
uni.showToast({
title: '请上传群二维码!',
icon: 'none',
duration: 2000
});
return;
}
2025-06-12 15:10:21 +08:00
let hdtime = this.times_b_int + ' - ' + this.times_e_int;
let bmtime = this.times_sinb_int +' - ' + this.times_sine_int;
params = {
title: this.form.title,
cate_ids: this.form.cate_ids,
content: this.form.content,
// refund_id: 1,
refund_id: this.form.refund_id,
price: this.form.price,
stock: this.form.stock,
sign_time: bmtime,
time: hdtime,
images: this.list1,
longitude: this.form.longitude,
latitude: this.form.latitude,
address: this.form.address,
2025-06-07 18:31:27 +08:00
address_detail: this.form.address_detail,
image: this.qunQrcode
}
uni.$u.http.post(url, params).then(res => {
if (res.code == 1) {
uni.showToast({
2025-06-07 18:31:27 +08:00
title: '发布成功!',
icon: 'none',
duration: 2000,
complete: function() {
setTimeout(function() {
2025-06-07 18:31:27 +08:00
uni.navigateTo({
url: "/packageA/my/orderList"
})
}, 2000);
}
});
//置空
this.fileList1 = [];
this.agree = false;
this.list1 = '';
this.form = {
cate_ids: '',
// 活动分类名字
cate_idsName: "",
content: '',
refund_id: '',
refund_idn: '',
price: 1,
stock: '',
sign_time: '',
time: '',
images: '',
title: '',
address: '',
latitude: '',
longitude: '',
address_detail: '', //详细位置
date: '', //活动开始时间
date1: '', //活动结束时间
birth: '', //报名开始日期
birth1: '', //报名结束日期
}
} else {
if (res.data.errcode == '1001100') {
this.cardShow = true;
}
uni.showToast({
title: res.msg,
icon: 'none',
duration: 2000
});
}
}).catch(error => {
uni.showToast({
title: '请求失败,请稍后再试',
icon: 'none',
duration: 2000
});
});
}
}
}
</script>
<style lang="scss" scoped>
.allbg {
position: fixed;
height: 100%;
width: 100%;
}
/* 添加新样式用于内部可滚动区域 */
.scroll-container {
margin: 0 auto;
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
z-index: 1;
/* 确保在.allbg之上 */
overflow: visible;
/* 允许内容溢出 */
margin-top: 200rpx;
2025-06-12 17:31:01 +08:00
margin-bottom: 370rpx;
}
.title_logo {
width: 690rpx;
margin-top: 110rpx;
display: flex;
}
.backImg {
height: 100vh;
// background: linear-gradient(to bottom, #F1F2F8 0%, #F1F2F8 50%, #FFFFFF 100%);
width: 750rpx;
background-color: #f7f7f7;
background-image: url("https://naweigetetest2.hschool.com.cn/dyqc/bgx2.png");
background-size: 100%;
background-repeat: no-repeat;
}
.w-100 {
width: 100%;
}
.flex {
display: flex;
}
.justify-center {
justify-content: center;
}
.space-between {
justify-content: space-between;
}
.align-items {
align-items: center;
}
.flex-column {
flex-flow: column;
}
.justify-start {
justify-content: start;
}
.mar-top-30 {
margin-top: 30rpx;
}
.box {
width: 690rpx;
.title {
font-family: PingFang SC, PingFang SC;
font-weight: 500;
font-size: 32rpx;
color: #C0C0C0;
margin: 42rpx 0 24rpx 0;
}
.reason {
width: 100%;
background: #FFFFFF;
border-radius: 20rpx 20rpx 20rpx 20rpx;
margin-top: 32rpx;
font-family: PingFang SC, PingFang SC;
font-weight: 500;
font-size: 36rpx;
color: #343434;
line-height: 36rpx;
padding: 30rpx;
width: 630rpx;
letter-spacing: 4.5rpx;
}
.first {
width: 100%;
// height: 266rpx;
background: #FFFFFF;
border-radius: 20rpx 20rpx 20rpx 20rpx;
// margin-top: 32rpx;
.row {
width: 642rpx;
margin-top: 7rpx;
justify-content: space-between;
.label {
font-family: PingFang SC, PingFang SC;
font-weight: 500;
2025-06-12 17:31:01 +08:00
font-size: 28rpx;
color: #343434;
line-height: 32rpx;
width: 160rpx;
}
.pic_view {
width: 190rpx;
height: 190rpx;
background: #F7F7F7;
border-radius: 10rpx;
display: flex;
justify-content: center;
align-items: center;
flex-flow: column;
.texts {
margin-top: 20rpx;
font-size: 24rpx;
color: #3D3D3D;
}
}
.row-right {
display: flex;
justify-content: flex-end;
align-items: center;
}
}
.line-row {
margin-top: 25rpx;
width: 642rpx;
height: 1rpx;
background: #F0F0F0;
border-radius: 0rpx 0rpx 0rpx 0rpx;
}
}
::v-deep .plasty {
text-align: right;
z-index: 10;
}
::v-deep .plasty_c {
text-align: right;
color: #FF4810;
}
::v-deep .bttop {
font-size: 32rpx;
color: #9C9C9C;
}
.second {
width: 690rpx;
// height: 340rpx;
background: #FFFFFF;
border-radius: 20rpx 20rpx 20rpx 20rpx;
margin-top: 32rpx;
margin-bottom: 32rpx;
::v-deep .bttops {
font-size: 26rpx;
color: #9C9C9C;
}
}
.third {
width: 690rpx;
.header {
margin: 42rpx 0 24rpx 0;
font-family: PingFang SC, PingFang SC;
font-weight: 500;
font-size: 28rpx;
color: #343434;
line-height: 32rpx;
}
}
}
.textarea_fb {
::v-deep .u-textarea {
height: 100%;
padding: 0;
border: none;
font-size: 26rpx;
color: #9C9C9C;
}
::v-deep .bttextarea {
font-size: 24rpx;
color: #9C9C9C;
}
}
.shenfen ::v-deep .u-upload .u-upload__wrap__preview__image {
width: 196rpx !important;
height: 196rpx !important;
}
.bottom {
width: 750rpx;
2025-06-12 17:31:01 +08:00
height: 230rpx;
background: #FFFFFF;
box-shadow: 0rpx -6rpx 12rpx 0rpx rgba(111, 190, 255, 0.1);
border-radius: 0rpx 0rpx 0rpx 0rpx;
bottom: 128rpx;
position: fixed;
z-index: 10;
span {
width: 642rpx;
height: 80rpx;
background: #323232;
border-radius: 401rpx 401rpx 401rpx 401rpx;
font-family: YouSheBiaoTiHei;
font-weight: 400;
font-size: 36rpx;
color: #BBFC5B;
line-height: 32rpx;
2025-06-12 17:31:01 +08:00
margin: 0 auto;
margin-top: 30rpx;
}
}
.inputl {
text-align: left;
font-family: PingFang SC, PingFang SC;
font-size: 30rpx;
font-weight: 600;
color: #343434;
line-height: 32rpx;
width: 500rpx;
}
.input {
text-align: right;
font-family: PingFang SC, PingFang SC;
2025-06-12 17:31:01 +08:00
font-size: 28rpx;
color: #343434;
line-height: 32rpx;
width: 450rpx;
}
.shenfen ::v-deep .u-transition.data-v-39e33bf2.vue-ref.u-fade-enter-to.u-fade-enter-active:not(:first-child) {
margin-top: 20rpx;
}
.popup {
// width: 690rpx;
height: 950rpx;
margin-top: 40rpx;
}
.popup-footer {
display: flex;
justify-content: center;
align-items: center;
// margin: 30rpx 0;
height: 146rpx;
.zhixiao {
height: 80rpx;
background: #E8E8E8;
//border-radius: 401rpx 401rpx 401rpx 401rpx;
font-family: YouSheBiaoTiHei;
font-weight: 400;
font-size: 36rpx;
color: #9C9C9C;
line-height: 32rpx;
display: flex;
justify-content: center;
align-items: center;
position: absolute;
width: 100%;
bottom: 0;
border-radius: 0rpx 0rpx 20rpx 20rpx;
}
.shows_zhidao {
background-color: #323232;
color: #BBFC5B;
font-weight: 400;
font-size: 36rpx;
}
}
// 滚动条样式
// ::v-deep ::-webkit-scrollbar {
// /*滚动条整体样式*/
// width: 4px !important;
// height: 1px !important;
// overflow: auto !important;
// background: #ccc !important;
// -webkit-appearance: auto !important;
// display: block;
// }
// ::v-deep ::-webkit-scrollbar-thumb {
// /*滚动条里面小方块*/
// border-radius: 10px !important;
// box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2) !important;
// background: #7b7979 !important;
// }
// ::v-deep ::-webkit-scrollbar-track {
// /*滚动条里面轨道*/
// // box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2) !important;
// // border-radius: 10px !important;
// background: #FFFFFF !important;
// }
.textarea_mph {
::v-deep .u-textarea {
height: 100%;
padding: 20rpx;
border: none;
font-size: 26rpx;
color: #9C9C9C;
background: #F7F7F7;
border-radius: 18rpx;
}
::v-deep .bttextarea {
font-size: 24rpx;
color: #9C9C9C;
}
}
.popup_bq {
display: flex;
flex-direction: column;
align-items: center;
height: 950rpx;
position: relative;
img {
position: absolute;
width: 750rpx;
height: 1040rpx;
top: -164rpx;
z-index: 100;
}
.bqlist {
margin-top: 80rpx;
z-index: 200;
margin-left: 80rpx;
height: 100%;
.allmybqs {
flex-wrap: wrap;
width: 720rpx;
}
.allbqs {
overflow-y: auto;
-webkit-overflow-scrolling: touch;
flex-wrap: wrap;
height: 760rpx;
width: 700rpx;
.titles_fl {
width: 112rpx;
height: 39rpx;
font-family: PingFang SC, PingFang SC;
font-weight: 600;
font-size: 28rpx;
color: #999999;
line-height: 39rpx;
text-align: left;
font-style: normal;
text-transform: none;
}
}
.bqpiece {
width: 210rpx;
height: 70rpx;
background: #F7F7F7;
border-radius: 12rpx 12rpx 12rpx 12rpx;
display: flex;
justify-content: space-around;
align-items: center;
margin: 20rpx 20rpx 20rpx 0;
span {
font-family: PingFang SC, PingFang SC;
font-weight: 400;
font-size: 26rpx;
color: #323232;
display: flex;
align-items: center;
}
}
.bqpiece.active {
background: #C9FC7E;
}
}
}
.popup_tkall {
// height: 1100rpx;
z-index: 100;
2025-04-24 09:31:50 +08:00
.popup_tk {
font-size: 36rpx;
font-weight: 800;
margin: 12rpx 0 24rpx 0;
text-align: center;
2025-04-24 09:31:50 +08:00
}
.popup-content {
height: 900rpx;
overflow-y: auto;
margin-top: 30rpx;
2025-04-24 09:31:50 +08:00
}
.popup-content-item {
width: 690rpx;
padding: 30rpx;
box-sizing: border-box;
background: #F7F7F7;
border-radius: 18rpx;
border: 5rpx solid #EAEAEA;
margin-bottom: 30rpx;
font-family: PingFang SC, PingFang SC;
justify-content: space-between;
color: #3D3D3D;
&.active {
background: #FAFFF3;
border: 5rpx solid;
border-image: linear-gradient(270deg, rgba(251, 246, 109, 1), rgba(156, 234, 162, 1)) 2 2;
border-radius: 18rpx;
clip-path: inset(0px round 16rpx);
}
.popup-content-item-title {
font-weight: bold;
font-size: 36rpx;
}
.popup-content-item-content {
font-weight: 400;
font-size: 26rpx;
line-height: 45rpx;
::v-deep rich-text {
margin-top: 20rpx;
display: flex;
}
}
2025-04-24 09:31:50 +08:00
}
.closetk {
color: #9C9C9C;
font-size: 28rpx;
font-weight: 400;
font-family: PingFang SC, PingFang SC;
}
.confirmtk {
color: #3D3D3D;
font-size: 28rpx;
font-weight: 400;
font-family: PingFang SC, PingFang SC;
}
}
.btn_1 {
width: 90%;
height: 80rpx;
background: #323232;
border-radius: 198rpx 198rpx 198rpx 198rpx;
font-family: YouSheBiaoTiHei, YouSheBiaoTiHei;
font-weight: 400;
font-size: 32rpx;
color: #BBFC5B;
line-height: 80rpx;
text-align: center;
margin-top: 40rpx;
z-index: 100;
}
.btn_2 {
width: 50%;
height: 80rpx;
background: #323232;
border-radius: 198rpx 198rpx 198rpx 198rpx;
font-family: YouSheBiaoTiHei, YouSheBiaoTiHei;
font-weight: 400;
font-size: 32rpx;
color: #BBFC5B;
line-height: 80rpx;
text-align: center;
margin-top: 40rpx;
z-index: 100;
}
.btn_3 {
width: 50%;
height: 80rpx;
background: #E2E2E2;
border-radius: 198rpx 198rpx 198rpx 198rpx;
font-family: YouSheBiaoTiHei, YouSheBiaoTiHei;
font-weight: 400;
font-size: 32rpx;
color: #999999;
line-height: 80rpx;
text-align: center;
margin-top: 40rpx;
z-index: 100;
}
2025-06-12 15:10:21 +08:00
.btn_4 {
width: 50%;
height: 80rpx;
background: #ffffff;
border: 1px solid #999999;
border-radius: 198rpx 198rpx 198rpx 198rpx;
font-family: YouSheBiaoTiHei, YouSheBiaoTiHei;
font-weight: 400;
font-size: 32rpx;
color: #999999;
line-height: 80rpx;
text-align: center;
margin-top: 40rpx;
z-index: 100;
}
</style>