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 {
width: 690rpx;
height: 1rpx;
background: #F0F0F0;
background: #eeeeee;
margin: 30rpx 0;
}
@ -1433,9 +1433,9 @@ export default {
.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;
background: #eeeeee;
//box-shadow: 1rpx 1rpx 0rpx 0rpx rgba(102, 102, 102, 0.25);
//border-radius: 0rpx 0rpx 0rpx 0rpx;
}
.times {

View File

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

View File

@ -5,7 +5,7 @@
<view class="text_1">恭喜您报名成功</view>
<view class="text_2">请按时参加活动并出示二维码核销</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 File

@ -38,7 +38,7 @@
<input type="text" placeholder="请填写真实姓名" class="input" v-model="form.name" />
</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="font-size: 30rpx;">
身份证号
@ -47,7 +47,7 @@
<input type="idcard" placeholder="请填写身份证号" class="input" v-model="form.idnum" />
</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;">
<text>你的个人信息我们将严格保密并仅用于投保使用详情可查看</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" />
</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="font-size: 32rpx;font-weight: 600;">
身份证
@ -18,7 +18,7 @@
<input type="idcard" placeholder-class="plasty" placeholder="请输入您的身份证号" class="input" v-model="form.id_number" />
</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="font-size: 32rpx;font-weight: 600;">
开户行
@ -28,7 +28,7 @@
v-model="form.bank_name" />
</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="font-size: 32rpx;font-weight: 600;">
卡号
@ -37,7 +37,7 @@
<input placeholder-class="plasty" placeholder="银行卡号" class="input" v-model="form.bank_user_name" />
</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 class="btn_1" @click="save()">保存</view>
</view>

View File

@ -27,7 +27,7 @@
<text style="font-size: 70rpx;color: #3D3D3D;font-weight: 700;margin-left: 20rpx;">{{
settleInfo.settled_amount }}</text>
</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="font-size: 24rpx;color: #000000;font-weight: 600;margin-top: 20rpx;">
<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;">
{{ item.reason }}
</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>
<u-loadmore style="margin-bottom: 60rpx;" :status="loadStatus" />
</view>

View File

@ -191,7 +191,8 @@
<!-- 声明 -->
<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>
<scroll-view ref="scrollView" :scroll-top="scrollTop" :show-scrollbar='true'
@scrolltolower="handleScroll" scroll-y="true" style="height: 800rpx;">
@ -203,9 +204,8 @@
<span class="zhixiao" v-if="agreeShow == false">我同意</span>
<span class="zhixiao shows_zhidao" v-if="agreeShow == true" @click="change">我同意</span>
</view> -->
<view
style="gap: 20rpx;margin-top: 50rpx;width: 100%;height: 0px;display: flex;justify-content: space-between;align-items: center;">
<view class="btn_3" @click="show = false">取消</view>
<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>
@ -213,7 +213,7 @@
<!-- 身份证是否认证 -->
<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',
padding: '24rpx 24rpx 20rpx 24rpx',
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;">
只差最后一步完成身份认证即可成为+认证活动官开始分享您的精彩活动
</view>
<view
style="gap: 20px;margin-top: 30px;width: 100%;height: 40rpx;display: flex;justify-content: space-between;align-items: center;">
<view style="gap: 20px;width: 100%;display: flex;justify-content: space-between;align-items: center;">
<view class="btn_3" @click="cardShow = false">取消</view>
<view class="btn_2" @click="openUrl('/packageB/card/index')">我同意</view>
</view>
@ -250,11 +249,12 @@
<scroll-view scroll-y="true" class="flex align-items allbqs">
<view class="titles_fl">已选择</view>
<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>
{{ item_bq.name }}
</span>
<u-icon name="close" color="#babdc7" @click="removebq(index)"></u-icon>
<u-icon name="close" color="#babdc7"></u-icon>
</view>
</view>
@ -262,8 +262,8 @@
<view style="display: flex; flex-wrap: wrap;">
<view class="flex align-items" :class="['bqpiece', { active: current === index }]"
v-for="(item, index) in bqList" :key="index">
<span @click="addbq(item, index)">
v-for="(item, index) in bqList" :key="index" @click="addbq(item, index)">
<span>
{{ item.name }}
</span>
</view>
@ -277,20 +277,51 @@
</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-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;">
<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>
<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>
@ -300,12 +331,18 @@
<script>
import dayjs from 'dayjs';
import longDate from "@/components/long-date/long-date.vue"
import {
dateWeek
dateWeek,dateWeekData
} from '../../utils/dateFormat'
export default {
components: {
longDate
},
data() {
return {
bmIndex:1,
hdIndex:1,
agreeAdd: false,
timer: null,
timeLog: 0,
@ -388,11 +425,19 @@
fileList1: [], //
list1: '', // URL3
//
times_b: '',
times_e: '',
times_b: '',//
times_e: '',//
times_b_int: '',//
times_e_int: '',//
//
times_sinb: '',
times_sine: '',
times_sinb: '', //
times_sine: '', //
times_sinb_int: '', //
times_sine_int: '', //
qunQrcode: '',
boxHeight: 0,
cardShow: false,
@ -426,6 +471,9 @@
}
},
methods: {
Time(val) {
console.log(val);
},
openUrl(url) {
uni.navigateTo({
url: url
@ -603,27 +651,120 @@
return formattedDate;
},
dateShowHidden() {
this.hdIndex=1;
this.dateShow = true;
},
birthShowHidden() {
this.bmIndex=1;
this.birthShow = true;
},
//
datefirm(e) {
datefirm(e, index) {
console.log(e)
// 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
},
//
datefirm1(e) {
console.log(e)
// this.form.date1 = dayjs(e.value).format('YYYY-MM-DD HH:mm:ss');
this.times_e = this.dateWeeks(e.value / 1000);
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 = 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) {
this.dateShow = false
@ -632,18 +773,86 @@
this.dateShow1 = false
},
//
birthConfirm(e) {
birthConfirm(e,index) {
// this.form.birth = dayjs(e.value).format('YYYY-MM-DD HH:mm:ss');
this.times_sinb = this.dateWeeks(e.value / 1000);
this.birthShow = false
this.birthShow1 = true
},
//
birthConfirm1(e) {
// this.form.birth1 = dayjs(e.value).format('YYYY-MM-DD HH:mm:ss');
this.times_sine = this.dateWeeks(e.value / 1000);
// 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
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() {
this.birthShow = false
@ -813,8 +1022,8 @@
});
for (let i = 0; i < lists.length; i++) {
const result = await this.uploadFilePromise(lists[i].url, categoryMap[event.name - 1].category);
if(result==''){
this.fileList1=[];
if (result == '') {
this.fileList1 = [];
return;
}
let item = this[`fileList${event.name}`][fileListLen];
@ -855,11 +1064,11 @@
icon: 'none',
duration: 1000
});
setTimeout(()=>{
setTimeout(() => {
uni.switchTab({
url: '/pages/my/index',
})
},1000)
}, 1000)
resolve('');
}
resolve(js.data.url);
@ -1032,10 +1241,8 @@
});
return;
}
let hdtime = dayjs(this.form.date).format('YYYY-MM-DD HH:mm:ss') + ' - ' + dayjs(this.form.date1).format(
'YYYY-MM-DD HH:mm:ss');
let bmtime = dayjs(this.form.birth).format('YYYY-MM-DD HH:mm:ss') + ' - ' + dayjs(this.form.birth1).format(
'YYYY-MM-DD HH:mm:ss');
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,
@ -1661,4 +1868,20 @@
margin-top: 40rpx;
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>

View File

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

View File

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

View File

@ -1,9 +1,10 @@
<template>
<view class="protocol_box" @click="protocolClick()">
<view class="protocol_box" @click.stop="protocolClick()">
<view class="select" :class="{active: agree}" @click="agreeClick"></view>
<view>
<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>
</view>
</view>
@ -25,6 +26,10 @@
type: String,
default: ''
},
nameOne: {
type: String,
default: ''
},
//
protocolArr: {
type: Array,
@ -42,6 +47,12 @@
this.$emit('click')
},
agreeClick1(){
this.$emit('clickOne')
},
agreeClick2(){
this.$emit('clickTwo')
},
protocolClick(tag) {
this.$emit('protocolClick', tag)

View File

@ -9,6 +9,9 @@
<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>
{{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 class="footer">
<navigator v-if="refuse_tbn_exit" open-type="exit" target="miniProgram" hover-class="none">
@ -157,12 +160,24 @@
},
data() {
return {
protocolArr: "《用户协议》",
protocolArr1: "《隐私政策》",
agree:false,
resolvePrivacyAuthorization: null,
showPrivacy: false,
privacyContractName: "", // 2.32.3
};
},
methods: {
clickTwo(){
console.log(2);
},
clickOne(){
console.log(0);
},
protocolClick(){
console.log(1);
},
open(name) {
if (this.hideTabBar) {
uni.hideTabBar();

View File

@ -24,6 +24,9 @@ export const dateJsing = time =>{
export const dateWeek = time =>{
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 =>{
return dayjs.unix(time).format('MM-DD(ddd) HH:mm')
}