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

File diff suppressed because it is too large Load Diff

View File

@ -60,7 +60,7 @@
<image src="/static/center/address.png" mode="" class="icon-size"></image> <image src="/static/center/address.png" mode="" class="icon-size"></image>
<span style="width: 564rpx;">{{ detail.address }}{{ detail.address_detail }}</span> <span style="width: 564rpx;">{{ detail.address }}{{ detail.address_detail }}</span>
<image src="/static/detail/daohang.png" class="icon-size" <image src="/static/detail/daohang.png" class="icon-size"
style="width: 50rpx; height: 50rpx;position: absolute;right: 5%;"> style="width: 50rpx; height: 50rpx;position: absolute;right: 5%;">
</image> </image>
</span> </span>
<!-- <span class="line" style="margin-bottom: 0rpx;"></span> <!-- <span class="line" style="margin-bottom: 0rpx;"></span>
@ -139,21 +139,32 @@
<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>
<view v-if="richTextShow" @click="richTextShow = false" style="width: 100%; display: flex; align-items: center; justify-content: center; <view v-if="richTextShow" @click="richTextShow = false"
position: sticky; bottom: -16px; background: #fff; height: 50rpx; padding: 30rpx 0;"> 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;
<u-icon name="arrow-up" color="#323232"></u-icon> 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> -->
</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>
</view> </view>
@ -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,30 +465,37 @@
}, },
openSwiper(item) { openSwiper(item) {
console.log(item); console.log(item);
if (item.url == 'outdoor_sport_apply') { if(item.type == 'out') {
const token = uni.getStorageSync('token');
if (!token) {
uni.showToast({
title: '请登录',
icon: 'none',
duration: 2000,
complete: function() {
setTimeout(function() {
uni.switchTab({
url: '/pages/my/index',
});
}, 2000);
}
});
return;
} else {
this.formShow = true;
}
} else {
uni.navigateTo({ uni.navigateTo({
url: item.url url: '/packageB/outWeb?url=' + item.url
}) })
}else {
if (item.url == 'outdoor_sport_apply') {
const token = uni.getStorageSync('token');
if (!token) {
uni.showToast({
title: '请登录',
icon: 'none',
duration: 2000,
complete: function() {
setTimeout(function() {
uni.switchTab({
url: '/pages/my/index',
});
}, 2000);
}
});
return;
} else {
this.formShow = true;
}
} else {
uni.navigateTo({
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') {