1、首页的肆野轮播图跳转外链

2、详情页面的报名信息的静态页面
This commit is contained in:
wangzimeng 2025-08-12 18:19:02 +08:00
parent 5b6391c9ee
commit 234af32a1a
5 changed files with 1619 additions and 1426 deletions

View File

@ -124,7 +124,8 @@
</view> </view>
</view> </view>
</view> </view>
<view class="third flex flex-column" style="margin-bottom: 300rpx;justify-content: flex-start;" v-if="priceGem > 0"> <view class="third flex flex-column" style="margin-bottom: 300rpx;justify-content: flex-start;"
v-if="priceGem > 0">
<view @click="tipsShow = true" class="flex align-items" <view @click="tipsShow = true" class="flex align-items"
style="padding: 30rpx;justify-content: space-between;"> style="padding: 30rpx;justify-content: space-between;">
<view class="third-top flex align-items" style="margin: 0px;"> <view class="third-top flex align-items" style="margin: 0px;">
@ -302,11 +303,11 @@
<!-- 声明 --> <!-- 声明 -->
<u-popup @touchmove.native.stop.prevent :closeOnClickOverlay="false" :closeable="false" :show="show" :round="10" mode="center" <u-popup @touchmove.native.stop.prevent :closeOnClickOverlay="false" :closeable="false" :show="show"
@close="close" @open="open" :custom-style="popupStylezf"> :round="10" mode="center" @close="close" @open="open" :custom-style="popupStylezf">
<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" <scroll-view ref="scrollView" :scroll-top="scrollTop" @scrolltolower="handleScroll" :scroll-y="true"
@scrolltolower="handleScroll" :scroll-y="true" style="height: 800rpx;margin-bottom: 24rpx;"> style="height: 800rpx;margin-bottom: 24rpx;">
<view class="popup flex align-items flex-column"> <view class="popup flex align-items flex-column">
<rich-text style="text-align: justify;" :nodes="Negotiate"></rich-text> <rich-text style="text-align: justify;" :nodes="Negotiate"></rich-text>
</view> </view>
@ -314,7 +315,8 @@
<view class="popup-footer"> <view class="popup-footer">
<!-- <span class="zhixiao" v-if="agreeShow == false">我同意 {{timeLog}}</span> <!-- <span class="zhixiao" v-if="agreeShow == false">我同意 {{timeLog}}</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 style="gap: 20rpx;width: 100%;display: flex;justify-content: space-between;align-items: center;"> <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_4" @click="show = false">取消</view>
<view class="btn_3" v-if="agreeShow == false">我同意{{timeLog}}</view> <view class="btn_3" v-if="agreeShow == false">我同意{{timeLog}}</view>
<view class="btn_2" v-if="agreeShow == true" @click="change">我同意</view> <view class="btn_2" v-if="agreeShow == true" @click="change">我同意</view>
@ -1517,6 +1519,7 @@ export default {
justify-content: center; justify-content: center;
align-items: center; align-items: center;
width: 100%; width: 100%;
// margin: 30rpx 0; // margin: 30rpx 0;
.zhixiao { .zhixiao {
height: 80rpx; height: 80rpx;
@ -1850,6 +1853,7 @@ export default {
} }
} }
} }
.btn_2 { .btn_2 {
width: 50%; width: 50%;
height: 80rpx; height: 80rpx;
@ -1864,6 +1868,7 @@ export default {
margin-top: 40rpx; margin-top: 40rpx;
z-index: 100; z-index: 100;
} }
.btn_3 { .btn_3 {
width: 50%; width: 50%;
height: 80rpx; height: 80rpx;
@ -1878,6 +1883,7 @@ export default {
margin-top: 40rpx; margin-top: 40rpx;
z-index: 100; z-index: 100;
} }
.btn_4 { .btn_4 {
width: 50%; width: 50%;
height: 80rpx; height: 80rpx;

View File

@ -139,19 +139,30 @@
<rich-text style="white-space: pre-line;" :nodes="detail.content"></rich-text> <rich-text style="white-space: pre-line;" :nodes="detail.content"></rich-text>
</view> </view>
<!-- 仅当内容高度超过容器高度时显示展开/收起按钮 --> <!-- 仅当内容高度超过容器高度时显示展开/收起按钮 -->
<view v-if="!richTextShow" @click="richTextShow = true" style="width: 100%; display: flex; align-items: center; justify-content: center; <view v-if="!richTextShow" @click="richTextShow = true"
position: sticky; bottom: 0; background: #fff; height: 50rpx; padding: 30rpx 0;"> style="padding: 30rpx 0;position: sticky; bottom: 0;background: #fff">
展开 <view style=" display: flex; align-items: center; justify-content: center;margin: 0 auto;
<u-icon name="arrow-down" color="#323232"></u-icon> background: #fff;border-radius: 200rpx;width: 288rpx;height: 80rpx;
border: 1rpx solid #ff4810; color: #ff4810;font-size: 32rpx;line-height: 45rpx;">
查看完整内容
<!-- <u-icon name="arrow-down" color="#323232"></u-icon> -->
</view> </view>
<view v-if="richTextShow" @click="richTextShow = false" style="width: 100%; display: flex; align-items: center; justify-content: center;
position: sticky; bottom: -16px; background: #fff; height: 50rpx; padding: 30rpx 0;"> </view>
<view v-if="richTextShow" @click="richTextShow = false"
style="position: sticky; bottom: -16px; background: #fff; padding: 30rpx 0;">
<view style="width: 100%; display: flex; align-items: center; justify-content: center;margin: 0 auto;
background: #fff;border-radius: 200rpx;width: 200rpx;height: 80rpx;
border: 1rpx solid #ff4810; color: #ff4810;font-size: 32rpx;line-height: 45rpx;">
收起 收起
<u-icon name="arrow-up" color="#323232"></u-icon> <!-- <u-icon name="arrow-up" color="#323232"></u-icon> -->
</view>
</view> </view>
</view> </view>
<view class="" style="display: flex;flex-wrap: wrap;justify-content: flex-start;width: 690rpx;padding: 0 30rpx;gap: 10rpx;"> <view class=""
style="display: flex;flex-wrap: wrap;justify-content: flex-start;width: 690rpx;padding: 0 30rpx;gap: 10rpx;">
<view class="imgs" v-for="(item, index) in detail.images" :key="index"> <view class="imgs" v-for="(item, index) in detail.images" :key="index">
<image mode="aspectFill" style="width: 220rpx;height: 220rpx;" :src="item"> <image mode="aspectFill" style="width: 220rpx;height: 220rpx;" :src="item">
</image> </image>
@ -161,6 +172,52 @@
</view> </view>
<!-- 报名信息 -->
<view class="fourth flex flex-column" style="justify-content: flex-start;margin-bottom: 180rpx;">
<view class="flex align-items" style="padding: 30rpx;justify-content: space-between;">
<view class="fourth-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="sortTypeShow == true">
<view style="font-size: 28rpx;margin-left: 10rpx;">默认排序</view>
<view>
<image src="https://naweigetetest2.hschool.com.cn/uniapp_image/signSort.png" mode=""
style="width: 24rpx;height: 24rpx;margin-left: 15rpx;"></image>
</view>
</view>
</view>
<view style="padding:0rpx 30rpx;">
<view style="padding-top: 0rpx;">
<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;">身份证
</view>
</view>
</view>
</view>
<view style="height: 1px;background-color: #F0F0F0;width: 100%;margin-top: 40rpx;"></view>
</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 }} {{item.mobile}}</view>
<view style="color: #9C9C9C;font-size: 24rpx;margin-top: 10rpx;">身份证 {{ item.idnum }}
</view>
</view>
</view>
</view>
<view style="height: 1px;background-color: #F0F0F0;width: 100%;margin-top: 40rpx;"></view>
</view> -->
</view>
<view style="width: 100%;height: 100rpx;"></view> <view style="width: 100%;height: 100rpx;"></view>
<view class="footer flex align-items" style="justify-content: space-between;" v-if="detail.status == 4"> <view class="footer flex align-items" style="justify-content: space-between;" v-if="detail.status == 4">
@ -223,6 +280,25 @@
</u-popup> </u-popup>
<!-- 报名人的列表展示类型 -->
<u-popup :show="sortTypeShow" mode="bottom" :round="10" :zIndex="99999" :custom-style="popupStyle" @close="sortTypeShow == false"
@open="sortTypeShow == true">
<view class="popupBox flex justify-start align-items flex-column">
<!-- <view class="pop-header flex align-items" style="justify-content: space-between;">
<image src="../../static/center/classTime.png" mode="" style="width: 252rpx; height: 48rpx;">
</image>
<span @click="cancel">取消选择</span>
</view> -->
<!-- <span class="line"></span> -->
<!-- <view class="times flex align-items justify-center" style="flex-wrap: wrap;">
<span class="selectTime flex justify-center align-items" v-for="(item, index) in timeList"
:key="index" :class="{ selected: timeSelected(item) }" @click="selectTime(item)">
{{ item.name }}</span>
</view> -->
</view>
</u-popup>
<!-- 购买弹窗 --> <!-- 购买弹窗 -->
<u-popup :show="buyShow" mode="center" :round="10" :zIndex="99999" :custom-style="popupStyle" <u-popup :show="buyShow" mode="center" :round="10" :zIndex="99999" :custom-style="popupStyle"
@close="buyClose" @open="buyOpen" :safeAreaInsetBottom="false" :closeable="true"> @close="buyClose" @open="buyOpen" :safeAreaInsetBottom="false" :closeable="true">
@ -392,6 +468,15 @@
data() { data() {
return { return {
checkSortType: 0,
sortTypeShow: false,
signPeopleList: [],//
peopleParams: {
page: 1,
limit: 15,
order: '',
status: '2,3,4,5,6,7,9'
},
richTextShow: false, richTextShow: false,
showToggleButtons: false, // / showToggleButtons: false, // /
qunShow: false, qunShow: false,
@ -762,6 +847,29 @@
} }
}).catch(error => {}); }).catch(error => {});
}, },
//
getSignPeople() {
uni.$u.http.get('/api/school.newactivity.activity_join/people_list', {
params: {
page: this.peopleParams.page,
limit: this.peopleParams.limit,
order: this.peopleParams.order,
status: this.peopleParams.status,
}
}).then(res => {
if (res.code == 1) {
console.log('peopleList',res.code,res.data);
} else {
uni.showToast({
title: res.msg,
icon: 'none',
duration: 2000
})
}
}).catch(error => {});
},
// 0 1 2 3 // 0 1 2 3
sign() { sign() {
@ -1059,7 +1167,6 @@
<style lang="scss" scoped> <style lang="scss" scoped>
.detail_all { .detail_all {
background-color: #f7f7f7; background-color: #f7f7f7;
height: 100vh;
} }
.w-100 { .w-100 {
@ -1261,7 +1368,8 @@
background: #ffffff; background: #ffffff;
margin-top: 60rpx; margin-top: 60rpx;
border-radius: 44rpx; border-radius: 44rpx;
margin-bottom: 150rpx; // margin-bottom: 150rpx;
padding-bottom: 30rpx;
.third-top { .third-top {
font-family: PingFang SC, PingFang SC; font-family: PingFang SC, PingFang SC;
@ -1329,6 +1437,47 @@
} }
.fourth {
width: 100%;
background: #ffffff;
margin-top: 20rpx;
border-radius: 44rpx;
.fourth-top {
font-family: PingFang SC, PingFang SC;
font-weight: bold;
font-size: 36rpx;
color: #323232;
line-height: 50rpx;
margin-top: 30rpx;
margin-left: 30rpx;
position: relative;
z-index: 10;
}
span {
position: relative;
.icons {
width: 37rpx;
height: 20rpx;
position: absolute;
left: 0;
bottom: 0;
z-index: -1;
}
}
.mgbot {
margin-bottom: 210rpx;
}
}
.yes {
background-color: #999999;
}
.line { .line {
width: 690rpx; width: 690rpx;
height: 2rpx; height: 2rpx;

25
packageB/outWeb.vue Normal file
View File

@ -0,0 +1,25 @@
<template>
<web-view :src="url"></web-view>
</template>
<script>
export default {
components: {
//MySwiper,
},
data: {
url: ''
},
onLoad: function(options) {
this.setData({
url: decodeURIComponent(options.url)
})
},
methods: {
},
};
</script>
<style>
</style>

View File

@ -383,6 +383,12 @@
"navigationBarTitleText": "查看发票" "navigationBarTitleText": "查看发票"
} }
}, },
{
"path": "outWeb",
"style": {
"navigationBarTitleText": ""
}
},
{ {
"path": "invoice/addHead", "path": "invoice/addHead",
"style": { "style": {

View File

@ -465,6 +465,11 @@
}, },
openSwiper(item) { openSwiper(item) {
console.log(item); console.log(item);
if(item.type == 'out') {
uni.navigateTo({
url: '/packageB/outWeb?url=' + item.url
})
}else {
if (item.url == 'outdoor_sport_apply') { if (item.url == 'outdoor_sport_apply') {
const token = uni.getStorageSync('token'); const token = uni.getStorageSync('token');
if (!token) { if (!token) {
@ -489,6 +494,8 @@
url: item.url url: item.url
}) })
} }
}
}, },
swiperChange(e) { swiperChange(e) {
if (e.detail.source == 'autoplay' || e.detail.source == 'touch') { if (e.detail.source == 'autoplay' || e.detail.source == 'touch') {