This commit is contained in:
王创世 2025-06-12 15:10:21 +08:00
parent d274992900
commit d05f9f7ee3
16 changed files with 6393 additions and 92 deletions

View File

@ -0,0 +1,120 @@
//! moment.js locale configuration
//! locale : Chinese (China) [zh-cn]
//! author : suupic : https://github.com/suupic
//! author : Zeno Zeng : https://github.com/zenozeng
//! author : uu109 : https://github.com/uu109
import moment from '../moment';
export default moment.defineLocale('zh-cn', {
months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split(
'_'
),
monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(
'_'
),
weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),
weekdaysShort: '周日_周一_周二_周三_周四_周五_周六'.split('_'),
weekdaysMin: '日_一_二_三_四_五_六'.split('_'),
longDateFormat: {
LT: 'HH:mm',
LTS: 'HH:mm:ss',
L: 'YYYY/MM/DD',
LL: 'YYYY年M月D日',
LLL: 'YYYY年M月D日Ah点mm分',
LLLL: 'YYYY年M月D日ddddAh点mm分',
l: 'YYYY/M/D',
ll: 'YYYY年M月D日',
lll: 'YYYY年M月D日 HH:mm',
llll: 'YYYY年M月D日dddd HH:mm',
},
meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,
meridiemHour: function (hour, meridiem) {
if (hour === 12) {
hour = 0;
}
if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {
return hour;
} else if (meridiem === '下午' || meridiem === '晚上') {
return hour + 12;
} else {
// '中午'
return hour >= 11 ? hour : hour + 12;
}
},
meridiem: function (hour, minute, isLower) {
var hm = hour * 100 + minute;
if (hm < 600) {
return '凌晨';
} else if (hm < 900) {
return '早上';
} else if (hm < 1130) {
return '上午';
} else if (hm < 1230) {
return '中午';
} else if (hm < 1800) {
return '下午';
} else {
return '晚上';
}
},
calendar: {
sameDay: '[今天]LT',
nextDay: '[明天]LT',
nextWeek: function (now) {
if (now.week() !== this.week()) {
return '[下]dddLT';
} else {
return '[本]dddLT';
}
},
lastDay: '[昨天]LT',
lastWeek: function (now) {
if (this.week() !== now.week()) {
return '[上]dddLT';
} else {
return '[本]dddLT';
}
},
sameElse: 'L',
},
dayOfMonthOrdinalParse: /\d{1,2}(日|月|周)/,
ordinal: function (number, period) {
switch (period) {
case 'd':
case 'D':
case 'DDD':
return number + '日';
case 'M':
return number + '月';
case 'w':
case 'W':
return number + '周';
default:
return number;
}
},
relativeTime: {
future: '%s后',
past: '%s前',
s: '几秒',
ss: '%d 秒',
m: '1 分钟',
mm: '%d 分钟',
h: '1 小时',
hh: '%d 小时',
d: '1 天',
dd: '%d 天',
w: '1 周',
ww: '%d 周',
M: '1 个月',
MM: '%d 个月',
y: '1 年',
yy: '%d 年',
},
week: {
// GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效
dow: 1, // Monday is the first day of the week.
doy: 4, // The week that contains Jan 4th is the first week of the year.
},
});

View File

@ -0,0 +1,283 @@
<template>
<view>
<view class="long-data-picker">
<picker-view indicator-class="select-line" :immediate-change="true" :indicator-style="itemHeight" @change="bindDateChange">
<picker-view-column>
<view class="long-datetime-item" v-for="(item,index) in dates" :key="index">{{item}}</view>
</picker-view-column>
<picker-view-column>
<view class="long-datetime-item" v-for="(item,index) in hours" :key="index">{{item}}</view>
</picker-view-column>
<picker-view-column>
<view class="long-datetime-item" v-for="(item,index) in minutes" :key="index">{{item}}</view>
</picker-view-column>
</picker-view>
</view>
</view>
</template>
<script>
import moment from './moment.js' //
moment.locale('zh-cn')
export default {
name: "long-date",
props: {
chooseNum: {
type: Number,
default: 30
}
},
data() {
return {
itemHeight: `height: ${uni.upx2px(88)}px;`,
dates: [],
hours: [],
minutes: [],
formatdates: []
};
},
computed: {
//
currentdateindex(nv) {
console.log(nv)
if (nv == 0) {
let h = parseInt(moment().format("HH"))
this.hours = []
for (let i = h; i < 24; i++) {
let str = i;
if (i < 10) {
str = '0' + str;
} else {
str = '' + str;
}
this.hours.push(str);
}
this.minutes = []
let m = parseInt(moment().format("mm"))
for (let i = 0; i < 60; i++) {
let str = i;
if (i < 10) {
str = '0' + str;
} else {
str = '' + str;
}
this.minutes.push(str);
}
}
}
},
mounted() {
this.initDate();
},
methods: {
//
initDate() {
let currentdate = moment().format("MMM Do");
//
this.dates = []
//
this.formatdates = []
for (let i = 0; i <= this.chooseNum; i++) {
this.formatdates.push(moment().add(i, 'days').format("YYYY-MM-DD"))
this.dates.push(moment().add(i, 'days').format("MMMDo dddd"))
}
let h = parseInt(moment().format("HH"))
this.hours = []
for (let i = h; i < 24; i++) {
let str = i;
if (i < 10) {
str = '0' + str;
} else {
str = '' + str;
}
this.hours.push(str);
}
this.minutes = []
let m = parseInt(moment().format("mm"))
console.log(m);
for (let i = 0; i < 60; i++) {
let str = i;
if (i < 10) {
str = '0' + str;
} else {
str = '' + str;
}
this.minutes.push(str);
}
},
//
bindDateChange(e) { //
let valueArr = e.detail.value
this.hours = []
this.minutes = []
if (valueArr[0] != 0) {
for (let i = 0; i < 24; i++) {
let str = i;
if (i < 10) {
str = '0' + str;
} else {
str = '' + str;
}
this.hours.push(str);
}
for (let i = 0; i < 60; i++) {
let str = i;
if (i < 10) {
str = '0' + str;
} else {
str = '' + str;
}
this.minutes.push(str);
}
} else {
let h = parseInt(moment().format("HH"))
this.hours = []
for (let i = h; i < 24; i++) {
let str = i;
if (i < 10) {
str = '0' + str;
} else {
str = '' + str;
}
this.hours.push(str);
}
this.minutes = []
let m = parseInt(moment().format("mm"))
for (let i = 0; i < 60; i++) {
let str = i;
if (i < 10) {
str = '0' + str;
} else {
str = '' + str;
}
this.minutes.push(str);
}
}
let dateStr = this.formatdates[valueArr[0]];
let hourStr = this.hours[valueArr[1]];
let minuteStr = this.minutes[valueArr[2]];
console.log(dateStr + ' ' + hourStr + ':' + minuteStr)
this.$emit("select", {
time: moment(dateStr + ' ' + hourStr + ':' + minuteStr).format("YYYY-MM-DD HH:mm")
});
}
},
}
</script>
<style>
.long-data {
margin-top: 30rpx;
height: 80rpx;
background: #FFFFFF;
line-height: 80rpx;
padding-left: 30rpx;
padding-right: 30rpx;
border-bottom: 1px solid #eee;
/* position: relative; */
}
.long-data-check {
height: 40rpx;
width: 100%;
background: #e54d42;
position: absolute;
left: 0;
top: 18rpx;
color: #fff;
line-height: 45rpx;
border-radius: 0rpx;
padding: 0px 20rpx;
font-size: 20rpx;
text-align: center;
border-radius: 20rpx;
}
.long-data-check-triangle {
width: 0;
height: 0;
border-top: 12rpx solid transparent;
border-left: 10rpx solid #e54d42;
border-bottom: 12rpx solid transparent;
position: absolute;
right: 223rpx;
top: 26rpx;
}
.long-data-fl {
float: left;
}
.long-data-fr {
float: right;
}
.long-data-changeTime {
color: #888;
font-size: 25rpx;
position: relative;
text-align: right;
padding: 0rpx 20rpx;
}
.long-data-changeTimeIcon {
color: #888;
}
.long-data-picker {
width: 100%;
height: 700rpx;
overflow: hidden;
background: #fff;
transition: height 0.3s;
margin-top: 30rpx;
}
.long-datetime-item {
text-align: center;
width: 100%;
height: 88upx;
line-height: 88upx;
text-overflow: ellipsis;
white-space: nowrap;
font-size: 30upx;
}
.long-data-picker picker-view {
height: 100%;
}
//
::v-deep .select-line::after {
border-bottom: 3px solid #0CA013;
}
::v-deep .select-line::before {
border-top: 3px solid #0CA013;
}
</style>

File diff suppressed because it is too large Load Diff

View File

@ -1304,7 +1304,7 @@ export default {
.line { .line {
width: 690rpx; width: 690rpx;
height: 1rpx; height: 1rpx;
background: #F0F0F0; background: #eeeeee;
margin: 30rpx 0; margin: 30rpx 0;
} }
@ -1433,9 +1433,9 @@ export default {
.line { .line {
width: 642rpx; width: 642rpx;
height: 1rpx; height: 1rpx;
background: #D9D9D9; background: #eeeeee;
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 {

View File

@ -1249,7 +1249,7 @@
.line { .line {
width: 690rpx; width: 690rpx;
height: 2rpx; height: 2rpx;
background: #F0F0F0; background: #eeeeee;
margin: 19rpx 0; margin: 19rpx 0;
} }
@ -1400,9 +1400,7 @@
.line { .line {
width: 642rpx; width: 642rpx;
height: 1rpx; height: 1rpx;
background: #F0F0F0; background: #eeeeee;
box-shadow: 1rpx 1rpx 0rpx 0rpx rgba(102, 102, 102, 0.25);
border-radius: 0rpx 0rpx 0rpx 0rpx;
} }
.times { .times {

View File

@ -5,7 +5,7 @@
<view class="text_1">恭喜您报名成功</view> <view class="text_1">恭喜您报名成功</view>
<view class="text_2">请按时参加活动并出示二维码核销</view> <view class="text_2">请按时参加活动并出示二维码核销</view>
<view class="btn_1" @click="toDetail(status)">查看支付订单</view> <view class="btn_1" @click="toDetail(status)">查看支付订单</view>
<view class="btn_2" @click="goHome">返回首页</view> <view class="btn_2" @click="goHome">查看更多活动</view>
</view> </view>
</view> </view>

View File

@ -38,7 +38,7 @@
<input type="text" placeholder="请填写真实姓名" class="input" v-model="form.name" /> <input type="text" placeholder="请填写真实姓名" class="input" v-model="form.name" />
</view> </view>
</view> </view>
<view style="height: 1px;background-color: #F0F0F0;width: 100%;margin-top: 20rpx;"></view> <view style="height: 1px;background-color: #eeeeee;width: 100%;margin-top: 20rpx;"></view>
<view style="display: flex;align-items: center;justify-content: space-between;padding: 30rpx 0rpx;"> <view style="display: flex;align-items: center;justify-content: space-between;padding: 30rpx 0rpx;">
<view style="font-size: 30rpx;"> <view style="font-size: 30rpx;">
身份证号 身份证号
@ -47,7 +47,7 @@
<input type="idcard" placeholder="请填写身份证号" class="input" v-model="form.idnum" /> <input type="idcard" placeholder="请填写身份证号" class="input" v-model="form.idnum" />
</view> </view>
</view> </view>
<view style="height: 1px;background-color: #F0F0F0;width: 100%;"></view> <view style="height: 1px;background-color: #eeeeee;width: 100%;"></view>
<view style="font-size: 24rpx;color: #9C9C9C;margin-top: 40rpx;"> <view style="font-size: 24rpx;color: #9C9C9C;margin-top: 40rpx;">
<text>你的个人信息我们将严格保密并仅用于投保使用详情可查看</text> <text>你的个人信息我们将严格保密并仅用于投保使用详情可查看</text>
<text style="color: #0CA013;" @click="go('/packageB/privacy?type=privacy')">隐私政策</text> <text style="color: #0CA013;" @click="go('/packageB/privacy?type=privacy')">隐私政策</text>

View File

@ -9,7 +9,7 @@
<input placeholder-class="plasty" placeholder="请输入您的姓名" class="input" v-model="form.name" /> <input placeholder-class="plasty" placeholder="请输入您的姓名" class="input" v-model="form.name" />
</view> </view>
</view> </view>
<view style="height: 1px;background-color: #F0F0F0;margin: 20rpx 0;"></view> <view style="height: 1px;background-color: #eeeeee;margin: 20rpx 0;"></view>
<view style="display: flex;align-items: center;justify-content: space-between;padding: 20rpx 0;"> <view style="display: flex;align-items: center;justify-content: space-between;padding: 20rpx 0;">
<view style="font-size: 32rpx;font-weight: 600;"> <view style="font-size: 32rpx;font-weight: 600;">
身份证 身份证
@ -18,7 +18,7 @@
<input type="idcard" placeholder-class="plasty" placeholder="请输入您的身份证号" class="input" v-model="form.id_number" /> <input type="idcard" placeholder-class="plasty" placeholder="请输入您的身份证号" class="input" v-model="form.id_number" />
</view> </view>
</view> </view>
<view style="height: 1px;background-color: #F0F0F0;margin: 20rpx 0;"></view> <view style="height: 1px;background-color: #eeeeee;margin: 20rpx 0;"></view>
<view style="display: flex;align-items: center;justify-content: space-between;padding: 20rpx 0;"> <view style="display: flex;align-items: center;justify-content: space-between;padding: 20rpx 0;">
<view style="font-size: 32rpx;font-weight: 600;"> <view style="font-size: 32rpx;font-weight: 600;">
开户行 开户行
@ -28,7 +28,7 @@
v-model="form.bank_name" /> v-model="form.bank_name" />
</view> </view>
</view> </view>
<view style="height: 1px;background-color: #F0F0F0;margin: 20rpx 0;"></view> <view style="height: 1px;background-color: #eeeeee;margin: 20rpx 0;"></view>
<view style="display: flex;align-items: center;justify-content: space-between;padding: 20rpx 0;"> <view style="display: flex;align-items: center;justify-content: space-between;padding: 20rpx 0;">
<view style="font-size: 32rpx;font-weight: 600;"> <view style="font-size: 32rpx;font-weight: 600;">
卡号 卡号
@ -37,7 +37,7 @@
<input placeholder-class="plasty" placeholder="银行卡号" class="input" v-model="form.bank_user_name" /> <input placeholder-class="plasty" placeholder="银行卡号" class="input" v-model="form.bank_user_name" />
</view> </view>
</view> </view>
<view style="height: 1px;background-color: #F0F0F0;margin: 20rpx 0;"></view> <view style="height: 1px;background-color: #eeeeee;margin: 20rpx 0;"></view>
</view> </view>
<view class="btn_1" @click="save()">保存</view> <view class="btn_1" @click="save()">保存</view>
</view> </view>

View File

@ -27,7 +27,7 @@
<text style="font-size: 70rpx;color: #3D3D3D;font-weight: 700;margin-left: 20rpx;">{{ <text style="font-size: 70rpx;color: #3D3D3D;font-weight: 700;margin-left: 20rpx;">{{
settleInfo.settled_amount }}</text> settleInfo.settled_amount }}</text>
</view> </view>
<view style="background-color: #F0F0F0;height: 1px;width: 100%;margin-top: 20rpx;"></view> <view style="background-color: #eeeeee;height: 1px;width: 100%;margin-top: 20rpx;"></view>
<view style="line-height:40rpx;"> <view style="line-height:40rpx;">
<view style="font-size: 24rpx;color: #000000;font-weight: 600;margin-top: 20rpx;"> <view style="font-size: 24rpx;color: #000000;font-weight: 600;margin-top: 20rpx;">
<view>1提现金额</view> <view>1提现金额</view>

View File

@ -106,7 +106,7 @@
style="font-weight: 400;color: #3D3D3D;font-size: 24rpx;background: #EEEEEE;border-radius: 6rpx;padding: 30rpx 20rpx;"> style="font-weight: 400;color: #3D3D3D;font-size: 24rpx;background: #EEEEEE;border-radius: 6rpx;padding: 30rpx 20rpx;">
{{ item.reason }} {{ item.reason }}
</view> </view>
<view style="background: #F0F0F0;width: 100%;height: 1px;margin: 40rpx 0rpx;"></view> <view style="background: #eeeeee;width: 100%;height: 1px;margin: 40rpx 0rpx;"></view>
</view> </view>
<u-loadmore style="margin-bottom: 60rpx;" :status="loadStatus" /> <u-loadmore style="margin-bottom: 60rpx;" :status="loadStatus" />
</view> </view>

View File

@ -191,7 +191,8 @@
<!-- 声明 --> <!-- 声明 -->
<u-popup @touchmove.native.stop.prevent :closeable="false" :show="show" :round="10" mode="center" <u-popup @touchmove.native.stop.prevent :closeable="false" :show="show" :round="10" mode="center"
@close="close" @open="open" :custom-style="popupStyle" :closeOnClickOverlay="false"> @close="close" @open="open" :custom-style="popupStyle" :safeAreaInsetBottom="false"
:closeOnClickOverlay="false">
<span style="font-size: 40rpx;font-weight: 800;height: 120rpx;">责任承诺确认书</span> <span style="font-size: 40rpx;font-weight: 800;height: 120rpx;">责任承诺确认书</span>
<scroll-view ref="scrollView" :scroll-top="scrollTop" :show-scrollbar='true' <scroll-view ref="scrollView" :scroll-top="scrollTop" :show-scrollbar='true'
@scrolltolower="handleScroll" scroll-y="true" style="height: 800rpx;"> @scrolltolower="handleScroll" scroll-y="true" style="height: 800rpx;">
@ -203,9 +204,8 @@
<span class="zhixiao" v-if="agreeShow == false">我同意</span> <span class="zhixiao" v-if="agreeShow == false">我同意</span>
<span class="zhixiao shows_zhidao" v-if="agreeShow == true" @click="change">我同意</span> <span class="zhixiao shows_zhidao" v-if="agreeShow == true" @click="change">我同意</span>
</view> --> </view> -->
<view <view style="gap: 20rpx;width: 100%;display: flex;justify-content: space-between;align-items: center;">
style="gap: 20rpx;margin-top: 50rpx;width: 100%;height: 0px;display: flex;justify-content: space-between;align-items: center;"> <view class="btn_4" @click="show = false">取消</view>
<view class="btn_3" @click="show = false">取消</view>
<view class="btn_3" v-if="agreeShow == false">我同意</view> <view class="btn_3" v-if="agreeShow == false">我同意</view>
<view class="btn_2" v-if="agreeShow == true" @click="change()">我同意</view> <view class="btn_2" v-if="agreeShow == true" @click="change()">我同意</view>
</view> </view>
@ -213,7 +213,7 @@
<!-- 身份证是否认证 --> <!-- 身份证是否认证 -->
<u-popup @touchmove.native.stop.prevent :closeable="true" :show="cardShow" :round="10" mode="center" <u-popup @touchmove.native.stop.prevent :closeable="true" :show="cardShow" :round="10" mode="center"
@close="cardShow = false" :custom-style="{ @close="cardShow = false" :safeAreaInsetBottom="false" :custom-style="{
width: '600rpx', width: '600rpx',
padding: '24rpx 24rpx 20rpx 24rpx', padding: '24rpx 24rpx 20rpx 24rpx',
margin: '0 auto', margin: '0 auto',
@ -228,8 +228,7 @@
style="font-weight: 400;color: #3D3D3D;text-align: center;line-height: 36rpx;font-size: 26rpx;margin-top: 40rpx;"> style="font-weight: 400;color: #3D3D3D;text-align: center;line-height: 36rpx;font-size: 26rpx;margin-top: 40rpx;">
只差最后一步完成身份认证即可成为+认证活动官开始分享您的精彩活动 只差最后一步完成身份认证即可成为+认证活动官开始分享您的精彩活动
</view> </view>
<view <view style="gap: 20px;width: 100%;display: flex;justify-content: space-between;align-items: center;">
style="gap: 20px;margin-top: 30px;width: 100%;height: 40rpx;display: flex;justify-content: space-between;align-items: center;">
<view class="btn_3" @click="cardShow = false">取消</view> <view class="btn_3" @click="cardShow = false">取消</view>
<view class="btn_2" @click="openUrl('/packageB/card/index')">我同意</view> <view class="btn_2" @click="openUrl('/packageB/card/index')">我同意</view>
</view> </view>
@ -250,11 +249,12 @@
<scroll-view scroll-y="true" class="flex align-items allbqs"> <scroll-view scroll-y="true" class="flex align-items allbqs">
<view class="titles_fl">已选择</view> <view class="titles_fl">已选择</view>
<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"
@click="removebq(index)">
<span> <span>
{{ item_bq.name }} {{ item_bq.name }}
</span> </span>
<u-icon name="close" color="#babdc7" @click="removebq(index)"></u-icon> <u-icon name="close" color="#babdc7"></u-icon>
</view> </view>
</view> </view>
@ -262,8 +262,8 @@
<view style="display: flex; flex-wrap: wrap;"> <view style="display: flex; flex-wrap: wrap;">
<view class="flex align-items" :class="['bqpiece', { active: current === index }]" <view class="flex align-items" :class="['bqpiece', { active: current === index }]"
v-for="(item, index) in bqList" :key="index"> v-for="(item, index) in bqList" :key="index" @click="addbq(item, index)">
<span @click="addbq(item, index)"> <span>
{{ item.name }} {{ item.name }}
</span> </span>
</view> </view>
@ -277,20 +277,51 @@
</view> </view>
</u-popup> </u-popup>
<!-- 活动时间 --> <!-- 活动时间 -->
<u-datetime-picker @cancel="datecel" ref="dateRef" title="开始时间" :minDate="minDate" confirmText="下一步" <u-popup :show="dateShow" mode="bottom" round="20"
@confirm="datefirm" :show="dateShow" v-model="form.date" mode="datetime"></u-datetime-picker> :customStyle="{ 'width': '750rpx', 'height': '1040rpx','zIndex': '999'}" :closeable="false"
<u-datetime-picker @cancel="datecel1" ref="dateRef" title="结束时间" :minDate="minDate1" @confirm="datefirm1" @close="dateShow = false" :closeOnClickOverlay="false">
:show="dateShow1" v-model="form.date1" mode="datetime"></u-datetime-picker> <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;">
<long-date chooseNum="90" @select="datefirm($event,hdIndex)"></long-date>
</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;">
<long-date chooseNum="90" @select="birthConfirm($event,bmIndex)"></long-date>
</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> -->
<!-- 报名时间 --> <!-- 报名时间 -->
<u-datetime-picker @cancel="birthCancel" ref="birthRef" title="开始时间" :minDate="minDate" <!-- <u-datetime-picker @cancel="birthCancel" ref="birthRef" title="开始时间" :minDate="minDate"
@confirm="birthConfirm" :show="birthShow" v-model="form.birth" mode="datetime"></u-datetime-picker> @confirm="birthConfirm" :show="birthShow" v-model="form.birth" mode="datetime"></u-datetime-picker>
<u-datetime-picker @cancel="birthCancel1" ref="birthRef" title="结束时间" :minDate="minDate1" <u-datetime-picker @cancel="birthCancel1" ref="birthRef" title="结束时间" :minDate="minDate1"
@confirm="birthConfirm1" :show="birthShow1" v-model="form.birth1" mode="datetime"></u-datetime-picker> @confirm="birthConfirm1" :show="birthShow1" v-model="form.birth1" mode="datetime"></u-datetime-picker> -->
</view> </view>
@ -300,12 +331,18 @@
<script> <script>
import dayjs from 'dayjs'; import dayjs from 'dayjs';
import longDate from "@/components/long-date/long-date.vue"
import { import {
dateWeek dateWeek,dateWeekData
} from '../../utils/dateFormat' } from '../../utils/dateFormat'
export default { export default {
components: {
longDate
},
data() { data() {
return { return {
bmIndex:1,
hdIndex:1,
agreeAdd: false, agreeAdd: false,
timer: null, timer: null,
timeLog: 0, timeLog: 0,
@ -388,11 +425,19 @@
fileList1: [], // fileList1: [], //
list1: '', // URL3 list1: '', // URL3
// //
times_b: '', times_b: '',//
times_e: '', times_e: '',//
times_b_int: '',//
times_e_int: '',//
// //
times_sinb: '', times_sinb: '', //
times_sine: '', times_sine: '', //
times_sinb_int: '', //
times_sine_int: '', //
qunQrcode: '', qunQrcode: '',
boxHeight: 0, boxHeight: 0,
cardShow: false, cardShow: false,
@ -426,6 +471,9 @@
} }
}, },
methods: { methods: {
Time(val) {
console.log(val);
},
openUrl(url) { openUrl(url) {
uni.navigateTo({ uni.navigateTo({
url: url url: url
@ -603,27 +651,120 @@
return formattedDate; return formattedDate;
}, },
dateShowHidden() { dateShowHidden() {
this.hdIndex=1;
this.dateShow = true; this.dateShow = true;
}, },
birthShowHidden() { birthShowHidden() {
this.bmIndex=1;
this.birthShow = true; this.birthShow = true;
}, },
// //
datefirm(e) { datefirm(e, index) {
console.log(e) console.log(e)
// this.form.date = dayjs(e.value).format('YYYY-MM-DD HH:mm:ss'); var time = e.time;
this.times_b = this.dateWeeks(e.value / 1000); if (index == 1) {
this.dateShow = false //this.form.date = time;
this.dateShow1 = true this.times_b = time;
}, this.times_b_int=time;
// } else {
datefirm1(e) { this.times_e = time;
console.log(e) this.times_e_int=time;
// this.form.date1 = dayjs(e.value).format('YYYY-MM-DD HH:mm:ss'); //this.dateShow = false
this.times_e = this.dateWeeks(e.value / 1000);
this.form.time = this.times_b + ' - ' + this.times_e this.form.time = this.times_b + ' - ' + this.times_e
this.dateShow1 = false }
//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
},
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 < date2true
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 < date2true
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 < date2true
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
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; // date1date2true
}, },
datecel(e) { datecel(e) {
this.dateShow = false this.dateShow = false
@ -632,18 +773,86 @@
this.dateShow1 = false this.dateShow1 = false
}, },
// //
birthConfirm(e) { birthConfirm(e,index) {
// this.form.birth = dayjs(e.value).format('YYYY-MM-DD HH:mm:ss'); // this.form.birth = dayjs(e.value).format('YYYY-MM-DD HH:mm:ss');
this.times_sinb = this.dateWeeks(e.value / 1000); // this.times_sinb = this.dateWeeks(e.value / 1000);
this.birthShow = false // this.birthShow = false
this.birthShow1 = true // this.birthShow1 = true
}, console.log(e)
// var time = e.time;
birthConfirm1(e) { if (index == 1) {
// this.form.birth1 = dayjs(e.value).format('YYYY-MM-DD HH:mm:ss'); //this.form.date = time;
this.times_sine = this.dateWeeks(e.value / 1000); 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 this.form.sign_time = this.times_sinb + ' - ' + this.times_sine
this.birthShow1 = false }
},
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;
}
// date1date2true
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
this.birthShow=false;
}, },
birthCancel() { birthCancel() {
this.birthShow = false this.birthShow = false
@ -1032,10 +1241,8 @@
}); });
return; return;
} }
let hdtime = dayjs(this.form.date).format('YYYY-MM-DD HH:mm:ss') + ' - ' + dayjs(this.form.date1).format( let hdtime = this.times_b_int + ' - ' + this.times_e_int;
'YYYY-MM-DD HH:mm:ss'); let bmtime = this.times_sinb_int +' - ' + this.times_sine_int;
let bmtime = dayjs(this.form.birth).format('YYYY-MM-DD HH:mm:ss') + ' - ' + dayjs(this.form.birth1).format(
'YYYY-MM-DD HH:mm:ss');
params = { params = {
title: this.form.title, title: this.form.title,
cate_ids: this.form.cate_ids, cate_ids: this.form.cate_ids,
@ -1661,4 +1868,20 @@
margin-top: 40rpx; margin-top: 40rpx;
z-index: 100; z-index: 100;
} }
.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> </style>

View File

@ -138,7 +138,8 @@
</view> </view>
</view> </view>
</view> </view>
<view style="height: 80rpx;width: 100%;"></view> <u-loadmore :status="loadStatus" ></u-loadmore>
<view style="height: 100rpx;width: 100%;"></view>
</scroll-view> </scroll-view>
<!-- 全部标签 --> <!-- 全部标签 -->
<u-popup :show="showPopbq" mode="bottom" round="20" <u-popup :show="showPopbq" mode="bottom" round="20"
@ -191,7 +192,7 @@
<view class="bottom_box flex justify-center align-items" style="height: 560rpx;" v-if="hotList.length == 0"> <view class="bottom_box flex justify-center align-items" style="height: 560rpx;" v-if="hotList.length == 0">
暂无数据 暂无数据
</view> </view>
<u-loadmore v-else style="margin-bottom: 60rpx;" :status="loadStatus" /> <!-- <u-loadmore v-else style="margin-bottom: 60rpx;" :status="loadStatus" /> -->
</view> </view>
<u-popup @touchmove.native.stop.prevent :show="formShow" :round="10"> <u-popup @touchmove.native.stop.prevent :show="formShow" :round="10">
<view style="display: flex;align-items: center;justify-content: space-between;padding: 32rpx;"> <view style="display: flex;align-items: center;justify-content: space-between;padding: 32rpx;">
@ -328,17 +329,6 @@ export default {
// uni.hideTabBar(); // uni.hideTabBar();
}, },
onPullDownRefresh() {
uni.showLoading({
title: '加载中...'
});
this.resetLists();
this.getHotList();
setTimeout(() => {
uni.hideLoading();
uni.stopPullDownRefresh();
}, 2000)
},
mounted() { mounted() {
this.videoContext = uni.createVideoContext("myVideo"); //video this.videoContext = uni.createVideoContext("myVideo"); //video
}, },
@ -355,14 +345,8 @@ export default {
}, },
methods: { methods: {
onScrolltolower(){ onScrolltolower(){
uni.showLoading({
title: '加载中...'
});
this.page+=1; this.page+=1;
this.getHotList(); this.getHotList();
setTimeout(() => {
uni.hideLoading();
}, 2000)
}, },
onS(){ onS(){
this.homrS=true; this.homrS=true;
@ -1051,7 +1035,7 @@ export default {
.hot { .hot {
// margin-top: 30rpx; // margin-top: 30rpx;
margin-bottom: 100rpx; margin-bottom: 50rpx;
} }
} }

View File

@ -149,6 +149,8 @@
subdesc='以了解详细内容。如您同意,请点击“同意并继续”并开始使用我们的服务。' subdesc='以了解详细内容。如您同意,请点击“同意并继续”并开始使用我们的服务。'
top_img='https://naweigetetest2.hschool.com.cn/dyqc/dyqclogo.png' top_img='https://naweigetetest2.hschool.com.cn/dyqc/dyqclogo.png'
color="#C9935C" hideTabBar="true" :onNeed='false' :other="other" color="#C9935C" hideTabBar="true" :onNeed='false' :other="other"
refuse_tbn_text="不同意"
agree_btn_text="同意"
:title_style="'padding-top:60rpx;'" open_type='agreePrivacyAuthorization'> :title_style="'padding-top:60rpx;'" open_type='agreePrivacyAuthorization'>
</lsl-protocol-popup> </lsl-protocol-popup>
<view class="popup"> <view class="popup">
@ -184,7 +186,7 @@ export default {
tabBarShow:null, tabBarShow:null,
topHeight: '', topHeight: '',
hotList: [], hotList: [],
showPopup: false, showPopup: true,
userName: '请登录', userName: '请登录',
actives: 0, actives: 0,
pushActives: 0, pushActives: 0,

View File

@ -1,9 +1,10 @@
<template> <template>
<view class="protocol_box" @click="protocolClick()"> <view class="protocol_box" @click.stop="protocolClick()">
<view class="select" :class="{active: agree}" @click="agreeClick"></view> <view class="select" :class="{active: agree}" @click="agreeClick"></view>
<view> <view>
<text>我已阅读并同意</text> <text>我已阅读并同意</text>
<text class="key-text" style="color: #0CA013;"> {{name}} </text> <text class="key-text" style="color: #0CA013;" @click.stop="agreeClick1"> {{name}} </text>
<text class="key-text" style="color: #0CA013;" @click.stop="agreeClick2"> {{nameOne}} </text>
<text> {{desc}} </text> <text> {{desc}} </text>
</view> </view>
</view> </view>
@ -25,6 +26,10 @@
type: String, type: String,
default: '' default: ''
}, },
nameOne: {
type: String,
default: ''
},
// //
protocolArr: { protocolArr: {
type: Array, type: Array,
@ -42,6 +47,12 @@
this.$emit('click') this.$emit('click')
}, },
agreeClick1(){
this.$emit('clickOne')
},
agreeClick2(){
this.$emit('clickTwo')
},
protocolClick(tag) { protocolClick(tag) {
this.$emit('protocolClick', tag) this.$emit('protocolClick', tag)

View File

@ -9,6 +9,9 @@
<text @click.stop="handleOpenPrivacyContract">{{ privacyContractNameCustom||privacyContractName }}</text> <text @click.stop="handleOpenPrivacyContract">{{ privacyContractNameCustom||privacyContractName }}</text>
<text v-for="(item,index) in other" @click.stop="other_btn(item)" :key="index"><text style="color:#595959;">{{symbol}}</text>{{item.tit}}</text> <text v-for="(item,index) in other" @click.stop="other_btn(item)" :key="index"><text style="color:#595959;">{{symbol}}</text>{{item.tit}}</text>
{{subdesc}} {{subdesc}}
</view>
<view style="padding-bottom: 30rpx;">
<cc-protocolBox :agree="agree" :nameOne="protocolArr1" :name="protocolArr" @clickTwo="clickTwo" @clickOne="clickOne" @click="protocolClick"></cc-protocolBox>
</view> </view>
<view class="footer"> <view class="footer">
<navigator v-if="refuse_tbn_exit" open-type="exit" target="miniProgram" hover-class="none"> <navigator v-if="refuse_tbn_exit" open-type="exit" target="miniProgram" hover-class="none">
@ -157,12 +160,24 @@
}, },
data() { data() {
return { return {
protocolArr: "《用户协议》",
protocolArr1: "《隐私政策》",
agree:false,
resolvePrivacyAuthorization: null, resolvePrivacyAuthorization: null,
showPrivacy: false, showPrivacy: false,
privacyContractName: "", // 2.32.3 privacyContractName: "", // 2.32.3
}; };
}, },
methods: { methods: {
clickTwo(){
console.log(2);
},
clickOne(){
console.log(0);
},
protocolClick(){
console.log(1);
},
open(name) { open(name) {
if (this.hideTabBar) { if (this.hideTabBar) {
uni.hideTabBar(); uni.hideTabBar();

View File

@ -24,6 +24,9 @@ export const dateJsing = time =>{
export const dateWeek = time =>{ export const dateWeek = time =>{
return dayjs.unix(time).format('ddd MM-DD HH:mm') return dayjs.unix(time).format('ddd MM-DD HH:mm')
} }
export const dateWeekData = time =>{
return dayjs(time).format('ddd MM-DD HH:mm')
}
export const dateWeekbeg = time =>{ export const dateWeekbeg = time =>{
return dayjs.unix(time).format('MM-DD(ddd) HH:mm') return dayjs.unix(time).format('MM-DD(ddd) HH:mm')
} }