1.添加N个页面

This commit is contained in:
王创世 2025-06-07 18:31:27 +08:00
parent 5c3b736c51
commit dc69c5e7bb
15 changed files with 1407 additions and 689 deletions

View File

@ -112,7 +112,13 @@
// autoBack
this.$emit('leftClick')
if(this.autoBack) {
uni.navigateBack()
if (getCurrentPages().length > 1) {
uni.navigateBack()
} else {
uni.switchTab({
url: "/pages/index/index"
})
}
}
},
//

View File

@ -4,106 +4,143 @@
<u-navbar :is-back="true" leftIconColor="#FFFFFF" :autoBack='true' title="" :bgColor="background"
:titleStyle='titleStyle'> </u-navbar>
</view> -->
<view class="box flex justify-start flex-column align-items" >
<!-- <view class="swiper">
<view class="box flex justify-start flex-column align-items">
<!-- <view class="swiper">
<u-swiper :list="detail.images" indicator indicatorActiveColor="#323232" indicatorMode="dot" :indicator-style="{ bottom: '60rpx',zIndex: 999}"
height="580rpx" circular></u-swiper>
</view> -->
<view class="con-center w-100 flex justify-center flex-column align-items flex-start">
<view class="first-box flex flex-start flex-column justify-start">
<view class="con-center w-100 flex justify-center flex-column align-items flex-start">
<view class="flex flex-column">
<view class="flex">
<image v-if="detail.images" :src="detail.images[0]" mode="" style="width: 159rpx;height: 159rpx;border-radius: 18rpx;"></image>
<view class="flex align-items flex-column" style="margin-left: 20rpx;">
<span class="first-name white-space">{{detail.title}}</span>
<view class="rbot flex align-items">
<image src="/static/center/address.png" mode="" style="width: 32rpx;height: 32rpx;margin-right: 20rpx;"></image>
<span class="white-space">{{detail.address_detail}}</span>
<view class="first-box flex flex-start flex-column justify-start">
<view class="flex flex-column">
<view class="flex">
<image v-if="detail.images" :src="detail.images[0]" mode=""
style="width: 159rpx;height: 159rpx;border-radius: 18rpx;"></image>
<view class="flex align-items flex-column" style="margin-left: 20rpx;">
<span class="first-name white-space">{{ detail.title }}</span>
<view class="rbot flex align-items">
<image src="/static/center/address.png" mode=""
style="width: 32rpx;height: 32rpx;margin-right: 20rpx;"></image>
<span class="white-space">{{ detail.address_detail }}</span>
</view>
</view>
</view>
</view>
</view>
<span class="line"></span>
<span class="flex align-items" style="width: 100%;justify-content: space-between;">
<view class="tt1">活动时间</view>
<span style="font-size: 14px;">{{formattedTime.formattedTime}}</span>
</span>
<span class="line"></span>
<span class="flex align-items" style="width: 100%;justify-content: space-between;">
<view class="tt1">数量<span> (剩余{{detail.join_info.stock - detail.join_info.people_number}})</span></view>
<span class="flex align-items">
<image style="width: 42rpx;height: 42rpx;" src="/static/detail/jian.png" @click="removeMon"></image>
<span style="margin: 0 20rpx;">{{ nummoney }}</span>
<image style="width: 42rpx;height: 42rpx;" src="/static/detail/jia.png" @click="addMon"></image>
</span>
</span>
<span class="line"></span>
<span class="flex align-items" style="width: 100%;justify-content: space-between;">
<view class="tt1">支付金额</view>
<span style="color: #FF4810;font-weight: 900;">{{ priceGem }}</span>
</span>
<span class="line"></span>
<span class="flex align-items" style="width: 100%;justify-content: space-between;margin-bottom: 40rpx;">
<view class="tt1">支付方式</view>
<span class="flex align-items">
<image style="width: 44rpx;height: 44rpx;" src="/static/detail/weixin.png"></image>
<span style="margin-left: 20rpx;">微信支付</span>
</span>
</span>
</view>
</view>
<view class="third flex flex-column" style="justify-content: flex-start;background: linear-gradient( 180deg, #EFFFD6 0%, #FFFFFF 30%);">
<view class="flex align-items" style="padding: 30rpx;justify-content: space-between;">
<view class="third-top flex align-items" style="margin: 0px;">
<span>报名信息
<image class="icons" src="/static/detail/xiangqing.png"></image>
<span class="line"></span>
<span class="flex align-items" style="width: 100%;justify-content: space-between;">
<view class="tt1">活动时间</view>
<span style="font-size: 14px;">{{ formattedTime.formattedTime }}</span>
</span>
</view>
</view>
<view style="font-size: 24rpx;color: #999999;margin-left: 30rpx;">请填写真实的报名人认证信息</view>
<view style="padding: 30rpx;margin-top: 20rpx;">
<view style="display: flex;align-items: center;justify-content: space-between;">
<view>
<view style="font-size: 28rpx;color: #323232;">李明</view>
<view style="color: #9C9C9C;font-size: 24rpx;margin-top: 10rpx;">身份证 410305200001012025</view>
</view>
<view>
<image src="/static/fabu/nocheck.png" style="width: 40rpx;height: 40rpx"></image>
</view>
</view>
<view style="height: 1px;background-color: #F0F0F0;width: 100%;margin-top: 20rpx;"></view>
</view>
<view style="padding: 30rpx;">
<view style="padding: 15rpx 0rpx;display: flex;align-items: center;border-radius: 118rpx;width: 323rpx;background: #F7F7F7;margin: 0 auto;justify-content: center;">
<view>
<image src="/static/order_add.png" style="width: 30rpx;height: 30rpx"></image>
</view>
<view style="font-size: 28rpx;margin-left: 20rpx;">添加/删除报名人</view>
</view>
</view>
</view>
<view class="third flex flex-column" style="justify-content: flex-start;" v-if="priceGem > 0">
<view @click="tipsShow= true" class="flex align-items" style="padding: 30rpx;justify-content: space-between;">
<view class="third-top flex align-items" style="margin: 0px;">
<span>退款政策
<image class="icons" src="/static/detail/xiangqing.png"></image>
<span class="line"></span>
<span class="flex align-items" style="width: 100%;justify-content: space-between;">
<view class="tt1">数量<span>
(剩余{{ detail.join_info.stock - detail.join_info.people_number }})</span></view>
<span class="flex align-items">
<image style="width: 42rpx;height: 42rpx;" src="/static/detail/jian.png" @click="removeMon">
</image>
<span style="margin: 0 20rpx;">{{ nummoney }}</span>
<image style="width: 42rpx;height: 42rpx;" src="/static/detail/jia.png" @click="addMon">
</image>
</span>
</span>
</view>
<view style="display: flex;align-items: center;">
<view style="background: #323232;border-radius: 8rpx;text-align: center;padding: 2rpx 10rpx 10rpx 10rpx;">
<text style="font-size: 22rpx;color: #BBFC5B;">{{detail.refund_info.title}}</text>
<span class="line"></span>
<span class="flex align-items" style="width: 100%;justify-content: space-between;">
<view class="tt1">支付金额</view>
<span style="color: #FF4810;font-weight: 900;">{{ priceGem }}</span>
</span>
<span class="line"></span>
<span class="flex align-items"
style="width: 100%;justify-content: space-between;">
<view class="tt1">支付方式</view>
<span class="flex align-items">
<image style="width: 44rpx;height: 44rpx;" src="/static/detail/weixin.png"></image>
<span style="margin-left: 20rpx;">微信支付</span>
</span>
</span>
<span class="line"></span>
<view style="width: 100%;display: flex;align-items: center;justify-content: space-between;padding-bottom:30rpx;">
<view style="font-size: 28rpx;">
备注
</view>
<view style="width: 75%;">
<input type="number" placeholder="订单备注" class="input" v-model="desc" />
</view>
</view>
<view style="margin-left: 10rpx;"><u-icon name="arrow-right"></u-icon></view>
</view>
</view>
<!-- <view class="third-center">
<view class="third flex flex-column"
style="justify-content: flex-start;background: linear-gradient( 180deg, #EFFFD6 0%, #FFFFFF 30%);">
<view class="flex align-items" style="padding: 30rpx;justify-content: space-between;">
<view class="third-top flex align-items" style="margin: 0px;">
<span>报名信息
<image class="icons" src="/static/detail/xiangqing.png"></image>
</span>
</view>
<view style="display: flex;align-items: center;" @click="openUrl('/packageB/team/index')">
<view>
<u-icon name="plus" color="#323232"></u-icon>
</view>
<view style="font-size: 28rpx;margin-left: 10rpx;">管理报名人</view>
</view>
</view>
<view style="font-size: 24rpx;color: #999999;margin-left: 30rpx;">请填写真实的报名人认证信息</view>
<view v-for="(item, index) in displayedList" @click="chickTeam(item, index)"
style="padding:0rpx 30rpx;">
<view style="padding-top: 40rpx;">
<view style="display: flex;align-items: center;justify-content: space-between;">
<view>
<view style="font-size: 28rpx;color: #323232;">{{ item.name }}</view>
<view style="color: #9C9C9C;font-size: 24rpx;margin-top: 10rpx;">身份证 {{ item.idnum }}
</view>
</view>
<view>
<image v-if="!item.is" src="/static/fabu/nocheck.png"
style="width: 40rpx;height: 40rpx"></image>
<image v-else src="/static/fabu/check.png" style="width: 40rpx;height: 40rpx"></image>
</view>
</view>
</view>
<view style="height: 1px;background-color: #F0F0F0;width: 100%;margin-top: 40rpx;"></view>
</view>
<view style="padding: 30rpx;">
<view v-if="!down" @click="down = true"
style="padding: 15rpx 0rpx;display: flex;align-items: center;border-radius: 118rpx;width: 260rpx;background: #F7F7F7;margin: 0 auto;justify-content: center;">
<view style="font-size: 28rpx;">收起全部</view>
<view style="margin-left: 20rpx;">
<u-icon name="arrow-up"></u-icon>
</view>
</view>
<view v-if="down" @click="down = false"
style="padding: 15rpx 0rpx;display: flex;align-items: center;border-radius: 118rpx;width: 260rpx;background: #F7F7F7;margin: 0 auto;justify-content: center;">
<view style="font-size: 28rpx;">展开全部</view>
<view style="margin-left: 20rpx;">
<u-icon name="arrow-down"></u-icon>
</view>
</view>
</view>
</view>
<view class="third flex flex-column" style="justify-content: flex-start;" v-if="priceGem > 0">
<view @click="tipsShow = true" class="flex align-items"
style="padding: 30rpx;justify-content: space-between;">
<view class="third-top flex align-items" style="margin: 0px;">
<span>退款政策
<image class="icons" src="/static/detail/xiangqing.png"></image>
</span>
</view>
<view style="display: flex;align-items: center;">
<view
style="background: #323232;border-radius: 8rpx;text-align: center;padding: 2rpx 10rpx 10rpx 10rpx;">
<text style="font-size: 22rpx;color: #BBFC5B;">{{ detail.refund_info.title }}</text>
</view>
<view style="margin-left: 10rpx;"><u-icon name="arrow-right"></u-icon></view>
</view>
</view>
<!-- <view class="third-center">
<uni-table border stripe emptyText="暂无更多数据" >
<uni-tr>
<uni-th width="160" align="left">申请退款时间</uni-th>
@ -122,90 +159,91 @@
</uni-tr>
</uni-table>
</view> -->
</view>
<u-popup @touchmove.native.stop.prevent :custom-style="{
width: '690rpx',
height: '450rpx',
margin: '0 auto',
display: 'flex',
justifyContent: 'flex-start',
alignItems: 'center'}" :closeable="false" :show="tipsShow" :round="10" mode="center"
:closeOnClickOverlay="false">
<view style="font-size: 32rpx;font-weight: 400;margin: 12rpx 0 24rpx 0;">退款政策</view>
<view class="third-center">
<uni-table border stripe emptyText="暂无更多数据" >
<uni-tr>
<uni-th width="160" align="left">申请退款时间</uni-th>
<uni-th width="70" align="left">退款比例</uni-th>
<uni-th width="70" align="left">退款金额</uni-th>
</uni-tr>
<uni-tr v-if="detail.refund_info.status == 1">
<uni-td>报名开始后</uni-td>
<uni-td>0%</uni-td>
<uni-td>0</uni-td>
</uni-tr>
<uni-tr v-if="detail.refund_info.status == 5">
<uni-td>报名开始至{{ fomartertime }}</uni-td>
<uni-td>需协商</uni-td>
<uni-td>需协商</uni-td>
</uni-tr>
</uni-table>
</view>
<view class="popup-footer">
<view class="zhixiao shows_zhidao" @click="tipsShow = false">我已知晓</view>
</view>
</u-popup>
<view class="third flex flex-column" style="justify-content: flex-start;margin-bottom: 300rpx;">
<view class="third-top flex align-items">
<span>免责声明
<image class="icons" src="/static/detail/xiangqing.png"></image>
</span>
<u-popup @touchmove.native.stop.prevent :custom-style="{
width: '690rpx',
height: '450rpx',
margin: '0 auto',
display: 'flex',
justifyContent: 'flex-start',
alignItems: 'center'
}" :closeable="false" :show="tipsShow" :round="10" mode="center" :closeOnClickOverlay="false">
<view style="font-size: 32rpx;font-weight: 400;margin: 20rpx 0 24rpx 0;">退款政策</view>
<view class="third-center" style="padding: 30rpx;">
<view v-html="detail.refund_info.desc"></view>
<!-- <uni-table border stripe emptyText="暂无更多数据">
<uni-tr>
<uni-th width="160" align="left">申请退款时间</uni-th>
<uni-th width="70" align="left">退款比例</uni-th>
<uni-th width="70" align="left">退款金额</uni-th>
</uni-tr>
<uni-tr v-if="detail.refund_info.status == 1">
<uni-td>报名开始后</uni-td>
<uni-td>0%</uni-td>
<uni-td>0</uni-td>
</uni-tr>
<uni-tr v-if="detail.refund_info.status == 5">
<uni-td>报名开始至{{ fomartertime }}</uni-td>
<uni-td>需协商</uni-td>
<uni-td>需协商</uni-td>
</uni-tr>
</uni-table> -->
</view>
<view class="popup-footer">
<view class="zhixiao shows_zhidao" @click="tipsShow = false">我已知晓</view>
</view>
</u-popup>
<view class="third flex flex-column" style="justify-content: flex-start;margin-bottom: 300rpx;">
<view class="third-top flex align-items">
<span>免责声明
<image class="icons" src="/static/detail/xiangqing.png"></image>
</span>
</view>
<view class="third-center">
<span style="color: #9C9C9C; font-size: 24rpx;">
活动均为主理人自行发布并组织的活动请您注意我们仅为活动提供平台技术支持活动后续事项有主理人负责组织费用均为主理人收取
如您因活动发起组织撤销下线退款等引起的纠纷须由主理人自行解决并承担后果
</span>
</view>
</view>
<view class="third-center">
<span style="color: #9C9C9C; font-size: 24rpx;">
活动均为主理人自行发布并组织的活动请您注意粗门仅为活动提供平台技术支持活动后续事项有主理人负责组织费用均为主理人收取
如您因活动发起组织撤销下线退款等引起的纠纷须由主理人自行解决并承担后果
</span>
</view>
</view>
<view class="footer flex align-items" style="justify-content: space-between;">
<view class="footer flex align-items" style="justify-content: space-between;">
<span style="margin-bottom: 170rpx; width: 750rpx;margin-left: 20rpx;">
<cc-protocolBox :agree="agree" :protocolArr="protocolArr" @click="agree = true"
@protocolClick="protocolClick"></cc-protocolBox>
</span>
</span>
<view class="footer-right flex justify-center align-items">
<span v-if="detail.feel == 0 && agree" @click="buy()"> 立即支付 </span>
<span v-if="detail.feel == 1 && agree" @click="buy()"> 确认报名 </span>
<span class="flex align-items justify-center" v-if="detail.feel == 1 && agree == false"
style="color: #FFFFFF;background: #C1C1C1;">确认报名</span>
<span class="flex align-items justify-center" v-if="detail.feel == 0 && agree == false"
style="color: #FFFFFF;background: #C1C1C1;">立即支付</span>
style="color: #FFFFFF;background: #C1C1C1;">确认报名</span>
<span class="flex align-items justify-center" v-if="detail.feel == 0 && agree == false"
style="color: #FFFFFF;background: #C1C1C1;">立即支付</span>
</view>
</view>
</view>
<!-- 购买弹窗 -->
<u-popup :show="buyShow" mode="center" :round="10" :zIndex="99999" :custom-style="popupStyle" @close="buyClose"
@open="buyOpen" :safeAreaInsetBottom="false" :closeable="true">
<view class="popupBox flex justify-start align-items flex-column">
<view class="pop-header flex align-items flex-column flex-start">
<span class="name white-space">{{detail.title}}</span>
<span class="price">
<span v-if="detail.feel == 0">{{detail.price}}</span>
<span v-if="detail.feel == 1">免费</span>
</span>
<!-- <image src="../../static/center/buy.png" mode="" style="width: 168rpx; height: 48rpx;">
<!-- 购买弹窗 -->
<u-popup :show="buyShow" mode="center" :round="10" :zIndex="99999" :custom-style="popupStyle"
@close="buyClose" @open="buyOpen" :safeAreaInsetBottom="false" :closeable="true">
<view class="popupBox flex justify-start align-items flex-column">
<view class="pop-header flex align-items flex-column flex-start">
<span class="name white-space">{{ detail.title }}</span>
<span class="price">
<span v-if="detail.feel == 0">{{ detail.price }}</span>
<span v-if="detail.feel == 1">免费</span>
</span>
<!-- <image src="../../static/center/buy.png" mode="" style="width: 168rpx; height: 48rpx;">
</image> -->
</view>
<view class="popup flex-column">
<!-- <span class="first-image flex align-items" style="margin: 16rpx 0;">
</view>
<view class="popup flex-column">
<!-- <span class="first-image flex align-items" style="margin: 16rpx 0;">
<image src="../../static/center/Alarm.png" mode="" class="icon-size"></image>
<span>{{formattedTime.formattedTime}} (共计{{formattedTimeList.length}})</span>
</span>
@ -213,7 +251,7 @@
<image src="../../static/center/address.png" mode="" class="icon-size"></image>
<span>{{detail.address_detail}}</span>
</span> -->
<!-- <image :src="detail.headimage" mode="" style="width: 200rpx; height: 140rpx;"></image>
<!-- <image :src="detail.headimage" mode="" style="width: 200rpx; height: 140rpx;"></image>
<view class="popur-right flex flex-column">
<span class="name white-space">{{detail.title}}</span>
<span class="address">地址:{{detail.address_detail}}</span>
@ -226,34 +264,45 @@
<span v-if="detail.feel == 1">免费</span>
</span>
</view> -->
</view>
<view class="popup-footers flex " @click="buy()">
<span v-if="type == 1 && detail.feel == 0"> </span>
<span v-if="type == 1 && detail.feel == 1"> </span>
<!-- <image src="../../static/center/price.png" mode="" style="width: 642rpx;height: 80rpx;"></image> -->
<u-loading-icon :vertical="true" v-if="uloadingShow"></u-loading-icon>
</view>
</view>
<view class="popup-footers flex " @click="buy()">
<span v-if="type == 1 && detail.feel == 0"> </span>
<span v-if="type == 1 && detail.feel == 1"> </span>
<!-- <image src="../../static/center/price.png" mode="" style="width: 642rpx;height: 80rpx;"></image> -->
<u-loading-icon :vertical="true" v-if="uloadingShow"></u-loading-icon>
</view>
</view>
</u-popup>
</u-popup>
<!-- 声明 -->
<u-popup @touchmove.native.stop.prevent :closeable="true" :show="show" :round="10" mode="center" @close="close"
@open="open" :custom-style="popupStylezf">
<span style="font-size: 42rpx;font-weight: 800;margin: 12rpx 0 24rpx 0;height: 120rpx;">免责声明</span>
<scroll-view ref="scrollView" :scroll-top="scrollTop" :show-scrollbar='true' @scrolltolower="handleScroll"
scroll-y="true" style="height: 800rpx;margin-bottom: 24rpx;">
<view class="popup flex align-items flex-column">
<rich-text :nodes="Negotiate"></rich-text>
<!-- 声明 -->
<u-popup @touchmove.native.stop.prevent :closeable="true" :show="show" :round="10" mode="center"
@close="close" @open="open" :custom-style="popupStylezf">
<span style="font-size: 42rpx;font-weight: 800;margin: 12rpx 0 24rpx 0;height: 120rpx;">免责声明</span>
<scroll-view ref="scrollView" :scroll-top="scrollTop" :show-scrollbar='true'
@scrolltolower="handleScroll" scroll-y="true" style="height: 800rpx;margin-bottom: 24rpx;">
<view class="popup flex align-items flex-column">
<rich-text :nodes="Negotiate"></rich-text>
</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>
</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>
</u-popup>
</view>
</u-popup>
<u-popup @touchmove.native.stop.prevent :closeable="false" :show="qunShow" :round="10" mode="bottom">
<view style="text-align: center;font-size: 32rpx;color: #3D3D3D;padding: 30rpx;font-weight: 600;">活动二维码</view>
<view style="text-align: center;">
<image :show-menu-by-longpress="true" :src="detail.image" style="width: 400rpx;border: 1rpx solid #D5FD99;" mode="widthFix"></image>
</view>
<view style="padding: 0rpx 40rpx;">
<view style="font-size: 28rpx;font-weight: 300;color: #9C9C9C;text-align: center;margin-top: 20rpx;">长按识别二维码进群</view>
<view style="font-size: 28rpx;color: #3D3D3D;text-align: center;margin-top: 30rpx;">如果无法加入或者开启了群验证可能是成员已满您即将加入由用户自发组织的户外活动请知悉</view>
<view style="font-size: 28rpx;color: #0CA013;text-align: center;margin-top: 30rpx;">确认您已知晓用户协议的用户义务与责任平台不对活动真实性作担保请入群自行辨别</view>
</view>
<view @click="openUrlSuccess('/packageA/my/success')" class="btn_1">我已知晓</view>
</u-popup>
</view>
</view>
</template>
@ -273,7 +322,7 @@
// },
fomartertime() {
return dayjs(this.detail.last_time*1000).format('YYYY-MM-DD HH:mm:ss');
return dayjs(this.detail.last_time * 1000).format('YYYY-MM-DD HH:mm:ss');
},
formattedTime() {
const startTime = dateWeek(this.detail.start_time);
@ -286,25 +335,26 @@
data() {
return {
qunShow:false,
style: {
//
img: 'width: 100%'
},
tipsShow:false,
nummoney:1,
priceGem:null,
tipsShow: false,
nummoney: 1,
priceGem: null,
Negotiate: null, //
agree: false,
agreeShow: false,
protocolArr: ["<支付协议>"],
value_slide:0,
value_slide: 0,
scrollTop: 0,
userInfo: {},
path: 'https://testy.hschool.com.cn//uploads/20241219/3406baf51fcc28c63c31ebcee5c9c75e.jpg',
uloadingShow: false,
show: false,
shows:false,
shows: false,
buyShow: false,
type: 0, // 0 1 2 3
id: 1,
@ -346,7 +396,11 @@
titleStyle: {
color: '#FFFFFF'
},
oper_data:null
oper_data: null,
teamList: [],
down: false,
desc:'',
teamListJson:''
};
},
@ -376,16 +430,89 @@
// this.getShare()
this.getAgreement();
this.getMoneyGetm();
},
},
onShow() {
this.getTeam();
},
computed: {
displayedList() {
return this.down ?
this.teamList.filter((_, i) => i < 2) //
:
this.teamList
}
},
methods: {
addMon(){
chickTeam(item, index) {
this.$set(this.teamList[index], 'is', !this.teamList[index].is);
//this.teamLististrue josn [{name:"",idnum:"410303199501220515"}]
let teamList = this.teamList.filter(item => item.is).map(item => ({
name: item.name,
idnum: item.idnum
}));
console.log(teamList);
var key=JSON.stringify(teamList);
//url
key=encodeURIComponent(key);
this.teamListJson=key;
this.getTeamGetm();
},
getTeamGetm() {
let num = this.nummoney;
uni.$u.http.post('/api/school.newactivity.order/confirm', {
activity_id: this.id,
order_no: this.order_no,
is_compute: 1,
num: num || 1,
desc:this.desc,
people: this.teamListJson
}).then(res => {
console.log(res);
}).catch(error => {
});
},
getTeam() {
uni.$u.http.get('/api/school.newactivity.activity_join/people_list').then(res => {
console.log(res)
if (res.code == 1) {
// is
this.teamList = res.data.list;
this.teamList = res.data.list.map(item => ({
...item,
is: false
}))
if (res.data.list.length > 2) {
this.down = true;
}
} else {
this.teamList = [];
uni.showToast({
title: res.msg,
icon: 'none',
duration: 2000
});
}
})
},
openUrlSuccess(url) {
uni.redirectTo({
url: url
})
},
openUrl(url) {
uni.navigateTo({
url: url
})
},
addMon() {
if (this.detail.feel == 1) {
if (this.nummoney < Number(this.oper_data.free_activity_max_people) &&
this.nummoney < (this.detail.join_info.stock - this.detail.join_info.people_number)) {
if (this.nummoney < Number(this.oper_data.free_activity_max_people) &&
this.nummoney < (this.detail.join_info.stock - this.detail.join_info.people_number)) {
this.nummoney++
this.getMoneyGetm();
}else{
} else {
uni.showToast({
title: '不能超过免费限制数量和剩余可报名人数',
icon: 'none',
@ -393,12 +520,12 @@
})
return;
}
}else{
} else {
if (this.nummoney < (this.detail.join_info.stock - this.detail.join_info.people_number)) {
this.nummoney++
this.getMoneyGetm();
}else{
} else {
uni.showToast({
title: '不能超过剩余数量',
icon: 'none',
@ -408,7 +535,7 @@
}
}
},
removeMon(){
removeMon() {
if (this.nummoney > 1) {
this.nummoney--
this.getMoneyGetm();
@ -659,7 +786,9 @@
activity_id: this.id,
order_no: this.order_no,
is_compute: 1,
num:num || 1
num: num || 1,
people: this.teamListJson,
desc:this.desc
}).then(res => {
if (res.code == 1) {
this.priceGem = res.data.order_data.totalprice
@ -685,7 +814,9 @@
activity_id: this.id,
order_no: this.order_no,
is_compute: 1,
num:num || 1
num: num || 1,
desc:this.desc,
people: this.teamListJson
}).then(res => {
if (res.code == 1) {
this.PayPirce = res.data.order_data.totalprice
@ -706,6 +837,7 @@
},
//
create(order_no, PayPirce) {
uni.$u.http.post('/api/school.newactivity.order/create', {
order_no: order_no,
}).then(res => {
@ -715,17 +847,18 @@
} else {
this.uloadingShow = false
uni.showToast({
title: '创建成功',
title: '报名成功',
icon: 'success',
duration: 2000,
complete: function() {
setTimeout(function() {
uni.redirectTo({
url: "/packageA/my/success?status=" + "2,3"
})
}, 2000);
}
// complete: function() {
// setTimeout(function() {
// uni.redirectTo({
// url: "/packageA/my/success?status=" + "2,3"
// })
// }, 2000);
// }
});
this.qunShow =true;
}
} else {
uni.showToast({
@ -760,9 +893,10 @@
success(res) {
if (res.errMsg == "requestPayment:ok") {
that.order_no = ''
uni.redirectTo({
url: "/packageA/my/success?status=" + '2,3'
})
// uni.redirectTo({
// url: "/packageA/my/success?status=" + '2,3'
// })
that.qunShow =true;
console.log('支付成功', res)
} else {
that.uloadingShow = false
@ -817,9 +951,10 @@
</script>
<style lang="scss" scoped>
.detail_all{
.detail_all {
background-color: #f7f7f7;
}
.w-100 {
width: 100%;
}
@ -860,11 +995,11 @@
.con-center {
background: white;
border-radius:0 0 44rpx 44rpx;
border-radius: 0 0 44rpx 44rpx;
position: relative;
}
.space-between {
justify-content: space-between;
@ -879,7 +1014,7 @@
position: relative;
}
.topimgs_rmb{
.topimgs_rmb {
position: absolute;
top: -168rpx;
right: 30rpx;
@ -887,24 +1022,28 @@
height: 118rpx;
z-index: 0;
}
.topimgs{
.topimgs {
position: absolute;
top: -120rpx;
width: 100%;
z-index: 0;
}
.top_texts{
.top_texts {
position: absolute;
top: -156rpx;
right: 68rpx;
z-index: 3;
color: #ffffff;
.xiao{
.xiao {
margin-left: 4rpx;
font-size: 22rpx;
font-weight: 400;
}
}
.first-box {
width: 690rpx;
background: #FFFFFF;
@ -912,6 +1051,7 @@
// padding-left: 24rpx;
margin-top: 20rpx;
border-radius: 20rpx;
// z-index: 1;
.sigh {
width: 88rpx;
@ -923,7 +1063,8 @@
font-size: 24rpx;
color: #222222;
}
.first-name{
.first-name {
width: 430rpx;
// height: 77rpx;
font-family: PingFang SC, PingFang SC;
@ -932,7 +1073,8 @@
color: #323232;
// margin-left: 16rpx;
}
.rbot{
.rbot {
width: 430rpx;
height: 52rpx;
font-size: 26rpx;
@ -958,9 +1100,11 @@
line-height: 32rpx;
margin: 0 6rpx;
}
.tt1{
.tt1 {
font-size: 28rpx;
span{
span {
padding-left: 15rpx;
font-size: 22rpx;
color: #9C9C9C;
@ -981,8 +1125,9 @@
font-size: 26rpx;
color: #222222;
}
.xieyi{
background-color:#BBFC5B;
.xieyi {
background-color: #BBFC5B;
width: 30%;
height: 40rpx;
border-radius: 8rpx;
@ -1015,19 +1160,24 @@
margin: 0 22rpx 0 4rpx;
}
}
.value_slide{
.value_slide {
width: 50%;
::v-deep .uni-slider-handle-wrapper{
::v-deep .uni-slider-handle-wrapper {
height: 10rpx;
}
::v-deep .uni-slider-handle{
::v-deep .uni-slider-handle {
background: url('@/static/detail/qiu.png') !important;
border-radius: 0;
background-size: 52rpx 52rpx !important;
background-size: 52rpx 52rpx !important;
}
::v-deep .uni-slider-value{
::v-deep .uni-slider-value {
color: #323232;
&::after{
&::after {
content: '%';
}
}
@ -1038,22 +1188,25 @@
.third {
width: 100%;
background: #ffffff;
margin-top:20rpx;
margin-top: 20rpx;
border-radius: 44rpx;
.third-top{
.third-top {
font-family: PingFang SC, PingFang SC;
font-weight: bold;
font-size: 36rpx;
color: #323232;
line-height: 50rpx;
margin-top: 30rpx;
margin-left:30rpx;
margin-left: 30rpx;
position: relative;
z-index: 10;
}
span{
span {
position: relative;
.icons{
.icons {
width: 37rpx;
height: 20rpx;
position: absolute;
@ -1062,20 +1215,26 @@
z-index: -1;
}
}
.third-center {
padding: 30rpx;
overflow: hidden;
::v-deep .uni-table{
::v-deep .uni-table {
min-width: 690rpx;
}
.v_html{
word-wrap: break-word;word-break: break-all;
.v_html {
word-wrap: break-word;
word-break: break-all;
}
.imgs{
.imgs {
width: 690rpx;
}
}
.mgbot{
.mgbot {
margin-bottom: 210rpx;
}
@ -1113,15 +1272,16 @@
.footer-right {
position: absolute;
width: 100%;
width: 95%;
height: 102rpx;
background: #C1C1C1;
border-radius: 200rpx;
margin: 0 auto;
left: 0;
right: 0;
span {
width: 94%;
width: 100%;
height: 102rpx;
line-height: 102rpx;
font-family: YouSheBiaoTiHei, YouSheBiaoTiHei;
@ -1279,12 +1439,14 @@
border-bottom-left-radius: 50px;
box-shadow: 0 0 20upx rgba(0, 0, 0, .09);
}
.popup-footer {
display: flex;
justify-content: center;
align-items: center;
// margin: 30rpx 0;
height: 146rpx;
.zhixiao {
height: 80rpx;
background: #E8E8E8;
@ -1302,13 +1464,15 @@
bottom: 0;
border-radius: 0rpx 0rpx 20rpx 20rpx;
}
.shows_zhidao{
.shows_zhidao {
background-color: #323232;
color:#BBFC5B;
color: #BBFC5B;
font-weight: 400;
font-size: 36rpx;
}
}
.cancel {
width: 100vw;
padding: 30rpx;
@ -1519,4 +1683,22 @@
align-items: center;
}
}
.input {
text-align: right;
font-size: 28rpx;
}
.btn_1 {
width: 95%;
height: 90rpx;
background: #323232;
border-radius: 198rpx 198rpx 198rpx 198rpx;
font-family: YouSheBiaoTiHei, YouSheBiaoTiHei;
font-weight: 400;
font-size: 32rpx;
color: #BBFC5B;
line-height: 90rpx;
text-align: center;
margin: 0 auto;
margin-top: 30rpx;
}
</style>

View File

@ -80,6 +80,26 @@
</view>
</view>
<view v-if="detail.image!='' && detail.image!=null"
style="border-radius: 44rpx;width: 100%;position: relative;margin: 30rpx 0rpx 10rpx 0rpx;background-color: #ffffff;">
<view style="display: flex;justify-content: space-between;align-items: center;padding:20rpx 30rpx;">
<view style="display: flex;align-items: center;">
<view>
<image src="/static/detail/wx.png" style="width: 100rpx;height: 100rpx;"></image>
</view>
<view style="margin-left: 20rpx;">
<view style="font-size: 28rpx;color: #3D3D3D;">群二维码</view>
<view style="margin-top: 10rpx;font-size: 24rpx;color: #9C9C9C;">
上传时间{{formatTimestamp(detail.updatetime)}}</view>
</view>
</view>
<view style="display: flex;align-items: center;">
<view class="ck-qrcode" @click="openImg(detail.image)">
查看
</view>
</view>
</view>
</view>
<view class="third flex flex-column" style="justify-content: flex-start;">
<view class="third-top flex align-items">
@ -391,6 +411,11 @@
},
methods: {
openImg(img) {
uni.previewImage({
urls: [img],
});
},
// saveClick() {
// console.log('saveClick')
// //
@ -509,6 +534,16 @@
});
});
},
formatTimestamp(timestamp) {
const date = new Date(timestamp * 1000); // 101000
const year = date.getFullYear();
const month = String(date.getMonth() + 1).padStart(2, "0");
const day = String(date.getDate()).padStart(2, "0");
const hours = String(date.getHours()).padStart(2, "0");
const minutes = String(date.getMinutes()).padStart(2, "0");
const seconds = String(date.getSeconds()).padStart(2, "0");
return `${year}.${month}.${day}`;
},
//
timeago(timestamp) {
const now = new Date().getTime(); //
@ -1176,8 +1211,8 @@
}
.imgs {
margin-top: 30rpx;
width: 690rpx;
display: block;
width: 100%;
}
}
@ -1755,4 +1790,16 @@
// #endif
}
.ck-qrcode{
width: 180rpx;
height: 70rpx;
background: #323232;
border-radius: 198rpx 198rpx 198rpx 198rpx;
font-family: YouSheBiaoTiHei, YouSheBiaoTiHei;
font-weight: 400;
font-size: 42rpx;
color: #BBFC5B;
line-height: 70rpx;
text-align: center;
}
</style>

File diff suppressed because it is too large Load Diff

View File

@ -1,5 +1,5 @@
<template>
<view class="box flex flex-column align-items">
<!-- <view class="box flex flex-column align-items">
<view v-for="(item, index) in mysignList" :key="index" style="margin: 0 30rpx;">
<view class="flex align-items" style="justify-content: space-between;height: 70rpx;line-height: 70rpx;">
<view class="t1_name">
@ -11,6 +11,45 @@
<view class="t1_num">数量{{item.num}}</view>
</view>
</view>
</view> -->
<view class="page">
<view style="padding: 30rpx;">
<view
style="padding: 0px 30rpx;text-align: center;display: flex;align-items: center;justify-content: space-between;background-color: #323232;height: 181rpx;border-radius: 18rpx;">
<view>
<view style="font-size: 36rpx;color: #BBFC5B;font-weight: 600;">{{activity_info.total_num}}</view>
<view style="font-size: 28rpx;font-weight: 300;color: #FFFFFF;margin-top: 20rpx;">活动总人数</view>
</view>
<view style="width: 1rpx;height: 60rpx;background-color: #FFFFFF;"></view>
<view>
<view style="font-size: 36rpx;color: #BBFC5B;font-weight: 600;">{{activity_info.sign_num}}</view>
<view style="font-size: 28rpx;font-weight: 300;color: #FFFFFF;margin-top: 20rpx;">报名人数</view>
</view>
<view style="width: 1rpx;height: 60rpx;background-color: #FFFFFF;"></view>
<view>
<view style="font-size: 36rpx;color: #BBFC5B;font-weight: 600;">{{activity_info.verification_num}}</view>
<view style="font-size: 28rpx;font-weight: 300;color: #FFFFFF;margin-top: 20rpx;">核销人数</view>
</view>
</view>
<view v-for="item in mysignList"
style="background: linear-gradient( 180deg, rgba(232,255,197,0.89) 0%, #FFFFFF 31%);border-radius: 18rpx;margin-top: 30rpx;padding-bottom: 20rpx;">
<view style="font-size: 26rpx;color: #3D3D3D;padding: 30rpx;font-weight: 600;">订单编号{{item.order_no}}</view>
<view style="width: 100%;height: 1rpx;background-color: #EEEEEE;margin: 10rpx 0;"></view>
<view v-for="(v,i) in item.ordercode">
<view style="display: flex;align-items: center;justify-content: space-between;padding:10rpx 30rpx;">
<view>
<view style="font-size: 28rpx;color: #323232;">{{v.name}}</view>
<view style="color: #9C9C9C;font-size: 24rpx;margin-top: 20rpx;">身份证 {{v.idnum}}</view>
</view>
<view>
<text v-if="v.status==3" style="font-size: 28rpx;color: #999999;">未核销</text>
<text v-if="v.status==6" style="font-size: 28rpx;color: #FF4810;">已核销</text>
</view>
</view>
<view v-if="i<item.ordercode.length-1" style="width: 100%;height: 1rpx;background-color: #EEEEEE;margin: 10rpx 0;"></view>
</view>
</view>
</view>
</view>
</template>
@ -18,7 +57,8 @@
export default {
data() {
return {
mysignList:[],
mysignList: [],
activity_info:{}
};
},
onLoad(option) {
@ -27,7 +67,7 @@
onShow() {
this.getPeople();
},
methods:{
methods: {
//
getPeople() {
const that = this
@ -39,6 +79,7 @@
},
}).then(res => {
if (res.code == 1) {
this.activity_info=res.data.activity_info;
this.mysignList = res.data.list;
} else {
@ -58,7 +99,7 @@
});
},
//
toDetail(status){
toDetail(status) {
uni.navigateTo({
url: "/packageA/my/exercise?status=" + status
})
@ -74,103 +115,9 @@
</script>
<style lang="scss" scoped>
.w-100 {
width: 100%;
}
.w-400{
width: 400rpx;
}
.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;
}
.hui{
.page {
font-family: PingFang SC, PingFang SC;
font-weight: 500;
font-size: 24rpx;
color: #7A7A7A;
min-height: 100vh;
background: #F7F7F7;
}
.white-space {
overflow: hidden;
/* 确保超出容器的文本被隐藏 */
white-space: nowrap;
/* 确保文本在一行内显示 */
text-overflow: ellipsis;
}
.box{
width: 750rpx;
height: 100vh;
background-color: #FFFFFF;
.t1_name{
width: 140rpx;
height: 36rpx;
font-family: PingFang SC, PingFang SC;
font-weight: 400;
font-size: 26rpx;
color: #3D3D3D;
line-height: 36rpx;
text-align: left;
font-style: normal;
text-transform: none;
display: flex;
align-items: center;
.imgs{
margin-left: 10rpx;
width: 26rpx;
height: 26rpx;
}
}
.t1_order{
width: 430rpx;
height: 36rpx;
font-family: PingFang SC, PingFang SC;
font-weight: 400;
font-size: 26rpx;
color: #3D3D3D;
line-height: 36rpx;
text-align: left;
font-style: normal;
text-transform: none;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.t1_num{
width: 103rpx;
height: 36rpx;
font-family: PingFang SC, PingFang SC;
font-weight: 400;
font-size: 26rpx;
color: #3D3D3D;
line-height: 36rpx;
text-align: left;
font-style: normal;
text-transform: none;
}
}
</style>
</style>

View File

@ -64,22 +64,15 @@
<text style="margin-left: 20rpx;vertical-align: middle;font-size: 26rpx;">未开始</text>
</view>
<view v-if="item.status == 2" style="display: flex;align-items: center;">
<u-avatar-group
:urls="item.join_info.users"
keyName="avatar"
size="30"
maxCount="1"
gap="0.4"
></u-avatar-group>
<image
src="/static/index/dian.png"
style="
<u-avatar-group :urls="item.join_info.users" keyName="avatar" size="30" maxCount="1"
gap="0.4"></u-avatar-group>
<image src="/static/index/dian.png" style="
width: 60rpx;
height: 60rpx;
margin-left: -20rpx;
"
></image>
<view style="margin-left: 20rpx;vertical-align: middle;font-size: 24rpx;">{{ Number(item.join_info.people_number) + "人已上车" }}</view>
"></image>
<view style="margin-left: 20rpx;vertical-align: middle;font-size: 24rpx;">
{{ Number(item.join_info.people_number) + "人已上车" }}</view>
</view>
<view style="font-size: 26rpx; width: 24%;">
<text>核销</text>
@ -247,8 +240,15 @@
//
getHotList(val) {
console.log(val);
let auth_status = val == '0' ? 0 : '1';
let vals = val == '0' ? '' : val;
var auth_status='';
if (val == 0) {
val = '';
var auth_status=this.auth_status;
}else{
var auth_status='1';
}
//let auth_status = val == '0' ? 0 : '1';
//let vals = val == '0' ? '' : val;
uni.$u.http
.get("/api/school.new_activity/activity_list", {
params: {
@ -257,7 +257,7 @@
order: "normal",
my: 1,
auth_status: auth_status,
status: vals, // 5
status: val, // 5
},
})
.then((res) => {
@ -905,7 +905,7 @@
text-overflow: ellipsis;
/* 使用省略号表示被截断的文本 */
}
.hot {
margin-top: 80rpx;
margin-bottom: 70rpx;
@ -941,10 +941,13 @@
}
}
}
.wsh_hot{
.wsh_hot {
margin-top: 160rpx;
}
.content {
// height: 462rpx;
// overflow-x: auto;
/* 允许横向滚动 */
@ -1064,7 +1067,8 @@
}
.bottom {
margin:20rpx 10rpx 30rpx 10rpx;
margin: 20rpx 10rpx 30rpx 10rpx;
.number {
font-family: Source Han Sans CN, Source Han Sans CN;
font-weight: 400;

View File

@ -484,7 +484,7 @@
this.detail = res.data.detail.detail;
// this.qrList = res.data.detail.ordercode;
this.qrimages = res.data.detail.ordercode.map(item => item.codeimage);
this.qrimages = res.data.detail.ordercode;
this.detailAny = res.data.detail;
this.generateAllQRCodes()
} else {

View File

@ -24,8 +24,8 @@
methods:{
//
toDetail(status){
uni.navigateTo({
url: "/packageA/my/exercise?status=" + status
uni.redirectTo({
url: "/packageA/my/exercise"
})
},
//
@ -94,8 +94,8 @@
width: 690rpx;
margin-top: 30rpx;
.img_1{
width: 200px;
height: 200px;
width: 100px;
height: 100px;
margin-top:190rpx ;
}
.text_1{

View File

@ -4,8 +4,9 @@
<swiper class="swiper-box" :current="currentIndex" @change="onSwiperChange" circular>
<swiper-item v-for="(item, index) in images" :key="index" class="swiper-item">
<view style="border: 1px solid #9C9C9C;width: 280rpx;height: 280rpx;margin: 0 auto;border-radius: 8rpx;">
<image :src="item" class="swiper-image" mode="aspectFill" />
<image :src="item.codeimage" class="swiper-image" mode="aspectFill" />
</view>
<view style="text-align: center;font-size: 26rpx;margin-top: 20rpx;">{{item.name}}</view>
</swiper-item>
</swiper>

45
packageB/privacy.vue Normal file
View File

@ -0,0 +1,45 @@
<template>
<view style="padding: 30rpx;">
<view v-if="type=='privacy'" v-html="info.privacy"></view>
<view v-if="type=='user_protocol'" v-html="info.user_protocol"></view>
</view>
</template>
<script>
export default {
data() {
return {
type:'',
info:''
}
},
onLoad(options) {
this.type=options.type;
this.getInfo();
//uniapp
if(this.type=='privacy'){
uni.setNavigationBarTitle({
title: '隐私政策'
})
}else{
uni.setNavigationBarTitle({
title: '用户协议'
})
}
},
methods: {
getInfo(){
uni.$u.http.get('/api/index/agreement').then(res=>{
console.log(res)
if(res.code==1){
this.info=res.data;
}
})
}
}
}
</script>
<style>
</style>

213
packageB/team/index.vue Normal file
View File

@ -0,0 +1,213 @@
<template>
<view class="team-container">
<view v-for="item in list" style="padding:0rpx 30rpx;">
<view style="display: flex;align-items: center;justify-content: space-between;">
<view>
<view style="font-size: 28rpx;color: #323232;">{{ item.name }}</view>
<view style="color: #9C9C9C;font-size: 24rpx;margin-top: 10rpx;">
<text>身份证</text>
<text style="margin-left: 10rpx;">{{ item.idnum }}</text>
</view>
</view>
<view style="font-size: 28rpx;">
<text style="color: #FF4810;" @click="edit(item)">编辑</text>
<text style="color: #323232;margin-left: 30rpx;" @click="del(item)">删除</text>
</view>
</view>
<view style="height: 1px;background-color: #F0F0F0;width: 100%;margin: 30rpx 0px;"></view>
</view>
<view style="padding: 30rpx;">
<view class="btn_1" @click="show = true">
<view>
<u-icon name="plus" color="#BBFC5B" size="15"></u-icon>
</view>
<view style="margin-left: 10rpx;">添加报名人</view>
</view>
</view>
<u-popup :show="show" :round="20" :closeable="true" mode="bottom" @close="close">
<view
style="padding: 26rpx;font-size: 36rpx;font-weight: 400;color: #3D3D3D;text-align: center;font-weight: 600;">
新增报名人身份信息
</view>
<view style="padding: 0rpx 30rpx;">
<view style="display: flex;align-items: center;justify-content: space-between;padding: 30rpx 0rpx;">
<view style="font-size: 30rpx;">
姓名
</view>
<view style="width: 75%;">
<input type="number" placeholder="请填写真实姓名" class="input" v-model="form.name" />
</view>
</view>
<view style="height: 1px;background-color: #F0F0F0;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;">
身份证号
</view>
<view style="width: 75%;">
<input type="number" placeholder="请填写身份证号" class="input" v-model="form.idnum" />
</view>
</view>
<view style="height: 1px;background-color: #F0F0F0;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>
<text></text>
<text style="color: #0CA013;" @click="go('/packageB/privacy?type=user_protocol')">用户协议</text>
</view>
</view>
<view style="margin-top: 40rpx;">
<view class="btn_1" @click="save">确认</view>
</view>
</u-popup>
</view>
</template>
<script>
export default {
data() {
return {
show: false,
form: {
name: '',
idnum: ''
},
list: []
}
},
onLoad() {
this.getList()
},
methods: {
edit(item){
this.form.name=item.name;
this.form.idnum=item.idnum;
this.show=true;
},
del(item){
var that=this;
//
uni.showModal({
title: '提示',
content: '确定要删除吗?',
success: (res) => {
if (res.confirm) {
that.delData(item);
}
}
})
},
delData(item){
uni.$u.http.post('/api/school.newactivity.activity_join/del',{ids:item.id}).then(res=>{
console.log(res)
if(res.code==1){
uni.showToast({
title: res.msg,
icon: 'success',
duration: 2000
});
this.getList();
}else{
uni.showToast({
title: res.msg,
icon: 'none',
duration: 2000
});
}
})
},
getList() {
uni.$u.http.get('/api/school.newactivity.activity_join/people_list').then(res => {
console.log(res)
if (res.code == 1) {
this.list = res.data.list
} else {
this.list = [];
uni.showToast({
title: res.msg,
icon: 'none',
duration: 2000
});
}
})
},
save() {
if (this.form.name == '') {
uni.showToast({
title: '请填写真实姓名',
icon: 'none',
duration: 2000
});
return;
}
if (this.form.idnum == '') {
uni.showToast({
title: '请填写身份证号',
icon: 'none',
duration: 2000
});
return;
}
uni.$u.http.post('/api/school.newactivity.activity_join/add', this.form).then(res => {
console.log(res)
if (res.code == 1) {
uni.showToast({
title: res.msg,
icon: 'success',
duration: 2000
});
this.getList()
this.show = false;
this.form = {
name: '',
idnum: ''
}
} else {
uni.showToast({
title: res.msg,
icon: 'none',
duration: 2000
});
}
})
},
close() {
this.show = false
},
go(url){
uni.navigateTo({
url: url
})
}
}
}
</script>
<style scoped lang="scss">
.team-container {
font-family: PingFang SC, PingFang SC;
padding-top: 20rpx;
}
.btn_1 {
width: 95%;
height: 90rpx;
background: #323232;
border-radius: 198rpx 198rpx 198rpx 198rpx;
font-family: YouSheBiaoTiHei, YouSheBiaoTiHei;
font-weight: 400;
font-size: 32rpx;
color: #BBFC5B;
line-height: 90rpx;
text-align: center;
margin: 0 auto;
margin-top: 30rpx;
display: flex;
align-items: center;
justify-content: center;
}
.input {
text-align: right;
}
</style>

View File

@ -316,6 +316,16 @@
"style": {
"navigationBarTitleText": "身份信息"
}
}, {
"path": "team/index",
"style": {
"navigationBarTitleText": "添加报名人"
}
}, {
"path": "privacy",
"style": {
"navigationBarTitleText": ""
}
}]
}
],

View File

@ -100,6 +100,24 @@
</view>
<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 ">
@ -133,13 +151,12 @@
<u-icon name="arrow-right" color="#323232"></u-icon>
</span>
</view>
</view>
<span style="margin:30rpx 0 0 0; width: 750rpx;" v-if="status == -1 || status == 2">
<view style="margin:30rpx 0 0 0;" v-if="status == -1 || status == 2">
<cc-protocolBox :agree="agree" :protocolArr="protocolArr" @click="agree = false"
@protocolClick="protocolClick"></cc-protocolBox>
</span>
</view>
</scroll-view>
<view class="bottom flex align-items justify-center" v-if="status == -1 || status == 2">
<span class="flex align-items justify-center" @click="apply()" v-if="agree == true">确认发布</span>
@ -342,7 +359,8 @@
times_e: '',
//
times_sinb: '',
times_sine: ''
times_sine: '',
qunQrcode: '',
};
},
onLoad() {
@ -371,6 +389,10 @@
this.form.refund_id = item.id;
this.form.refund_idn = item.title;
},
async uploadQun(item) {
const result = await this.uploadFilePromise(item.file.url, 'user');
this.qunQrcode = result;
},
//
// tofb() {
// const token = uni.getStorageSync('token')
@ -753,7 +775,7 @@
"token": uni.getStorageSync("token")
},
success: (res) => {
resolve(JSON.parse(res.data).data.fullurl);
resolve(JSON.parse(res.data).data.url);
},
fail: (err) => {
reject(err);
@ -911,6 +933,14 @@
});
return;
}
if (this.qunQrcode == '' || this.qunQrcode == null) {
uni.showToast({
title: '请上传群二维码!',
icon: 'none',
duration: 2000
});
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(
@ -929,18 +959,19 @@
longitude: this.form.longitude,
latitude: this.form.latitude,
address: this.form.address,
address_detail: this.form.address_detail
address_detail: this.form.address_detail,
image:this.qunQrcode
}
uni.$u.http.post(url, params).then(res => {
if (res.code == 1) {
uni.showToast({
title: '发布',
title: '发布成功!',
icon: 'none',
duration: 2000,
complete: function() {
setTimeout(function() {
uni.switchTab({
url: "/pages/my/index"
uni.navigateTo({
url: "/packageA/my/orderList"
})
}, 2000);
}

BIN
static/detail/no_info.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.7 KiB

BIN
static/detail/wx.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.0 KiB