修改多样青春 bug 新增夜校数据 和需求

This commit is contained in:
张凯 2025-05-15 18:36:06 +08:00
parent b5602f098c
commit 9c4951106f
17 changed files with 1885 additions and 2538 deletions

View File

@ -987,7 +987,7 @@
border-radius: 44rpx;
.third-top{
font-family: PingFang SC, PingFang SC;
font-weight: 400;
font-weight: 700;
font-size: 36rpx;
color: #323232;
line-height: 50rpx;

156
packageA/my/success.vue Normal file
View File

@ -0,0 +1,156 @@
<template>
<view class="box flex flex-column align-items">
<view class="center flex flex-column align-items">
<image class="img_1" src="/static/successOrder.png"></image>
<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>
</view>
</template>
<script>
export default {
data() {
return {
status:'',
};
},
onLoad(option) {
this.status = option.status;
},
methods:{
//
toDetail(status){
uni.navigateTo({
url: "/packageA/my/exercise?status=" + status
})
},
//
goHome() {
uni.switchTab({
url: "/pages/index/index"
})
},
}
}
</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{
font-family: PingFang SC, PingFang SC;
font-weight: 500;
font-size: 24rpx;
color: #7A7A7A;
}
.white-space {
overflow: hidden;
/* 确保超出容器的文本被隐藏 */
white-space: nowrap;
/* 确保文本在一行内显示 */
text-overflow: ellipsis;
}
.box{
width: 750rpx;
height: 100vh;
background-color: #FFFFFF;
.center{
width: 690rpx;
margin-top: 30rpx;
.img_1{
width: 200px;
height: 200px;
margin-top:190rpx ;
}
.text_1{
width: 252rpx;
height: 36rpx;
font-family: PingFang SC, PingFang SC;
font-weight: 400;
font-size: 36rpx;
color: #323232;
line-height: 36rpx;
text-align: center;
font-style: normal;
text-transform: none;
margin-top: 50rpx;
}
.text_2{
width: 360rpx;
height: 36rpx;
font-family: PingFang SC, PingFang SC;
font-weight: 400;
font-size: 24rpx;
color: #9C9C9C;
line-height: 36rpx;
text-align: center;
font-style: normal;
text-transform: none;
margin-top: 30rpx;
}
.btn_1{
width: 280rpx;
height: 70rpx;
background: #323232;
border-radius: 198rpx 198rpx 198rpx 198rpx;
font-family: YouSheBiaoTiHei, YouSheBiaoTiHei;
font-weight: 400;
font-size: 32rpx;
color: #BBFC5B;
line-height: 70rpx;
text-align: center;
margin-top: 70rpx;
}
.btn_2{
width: 280rpx;
height: 70rpx;
border-radius: 198rpx 198rpx 198rpx 198rpx;
border: 1rpx solid #323232;
font-family: YouSheBiaoTiHei, YouSheBiaoTiHei;
font-weight: 400;
font-size: 32rpx;
color: #9C9C9C;
line-height: 70rpx;
text-align: center;
margin-top: 30rpx;
}
}
}
</style>

View File

@ -45,12 +45,6 @@
"navigationStyle": "custom" //
}
},
{
"path": "pages/center/list",
"style": {
"navigationBarTitleText": "选课中心"
}
},
{
"path": "pages/center/detail",
"style": {
@ -58,13 +52,7 @@
"navigationStyle": "custom" //
}
},
{
"path": "pages/center/teacherDetail",
"style": {
"navigationBarTitleText": "教师详情"
}
},
{
"path": "pages/center/MechanismDetail",
"style": {
@ -203,6 +191,12 @@
"navigationBarTitleText": "活动核销"
}
},
{
"path": "my/success",
"style": {
"navigationBarTitleText": "报名成功"
}
},
{
"path": "my/Collect",
"style": {

View File

@ -632,7 +632,7 @@
complete: function() {
setTimeout(function() {
uni.redirectTo({
url: "/packageA/my/exercise?status=" + "2,3"
url: "/packageA/my/success?status=" + "2,3"
})
}, 2000);
}
@ -672,7 +672,7 @@
if (res.errMsg == "requestPayment:ok") {
that.order_no = ''
uni.redirectTo({
url: "/packageA/my/exercise?status=" + '2,3'
url: "/packageA/my/success?status=" + '2,3'
})
console.log('支付成功', res)
} else {

View File

@ -21,8 +21,8 @@
<span>/</span>
</view>
</view>
<view class="top_texts flex align-items" v-else>
<span style="font-weight: 900;font-size: 56rpx;">免费</span>
<view class="top_texts flex align-items" style="top:-140rpx;right: 88rpx;" v-else>
<span style="font-weight: 900;font-size: 44rpx;">免费</span>
</view>
<view class="first-box flex flex-start flex-column justify-start">
<view class="flex align-items">
@ -32,7 +32,7 @@
<span class="first-image flex align-items" style="margin-top: 25rpx;width: 100%;">
<image :src="detail.user.avatar" mode="" class="icon-size" style="width: 36rpx;height: 36rpx;">
<image :src="detail.user.avatar" mode="" style="width: 36rpx;height: 36rpx;margin-right: 12rpx;border-radius: 80rpx;">
</image>
<span style="color: #9C9C9C ;width: 32%;">{{ detail.user.nickname }}</span>
<span class="flex justify-center align-items xieyi">
@ -64,7 +64,7 @@
:maxCount="3"></u-avatar-group>
<image src="/static/index/dian.png"
:class="detail.join_info.users && detail.join_info.users.length > 0 ? '' : 'smalld'"
style="width: 60rpx;height: 60rpx;margin-left:-20rpx;z-index: 1;"></image>
style="width: 58rpx;height: 58rpx;margin-left:-20rpx;z-index: 1;"></image>
</view>
<span class="number">{{ detail.join_info.people_number }}/{{ detail.join_info.stock >= 10000 ?
'9999+' : detail.join_info.stock}}
@ -195,8 +195,10 @@
<!-- 分享海报 -->
<u-overlay :show="overlay" class="pos">
<image @click="closeoo" src="/static/center/close.png" mode="" style="z-index: 10000;width: 64rpx;height: 64rpx;position: absolute;top: 200rpx;right: 45rpx;"></image>
<view class="Poster" id="Poster">
<!-- <view class="Poster" id="Poster">
<span class="posterClose" @click="closeoo">
<image src="../../static/center/close.png" mode="" style="width: 64rpx;height: 64rpx;"></image>
</span>
@ -209,12 +211,12 @@
<image v-if="detail.images" :src="detail.images[0]" class="cenimg" />
<view class="center_text">
<view>
<view class="c1t1">{{ formattedTitle }}</view>
<view class="c1t1 white-space">{{ detail.title }}</view>
<view class="c2t2">{{ detail.price }}</view>
<view class="c3t3 white-space">地址{{ detail.address }}</view>
</view>
<view style="background-color: #ffffff;border-radius: 18rpx;">
<l-painter>
<view style="background: #ffffff;border-radius: 18rpx;">
<l-painter render-type="2d" is-render-image custom-style="width: 200rpx; height: 200rpx;">
<l-painter-view css="margin:20rpx;">
<l-painter-qrcode css="width: 160rpx; height: 160rpx;margin:0 auto;"
:text="qrUrl"></l-painter-qrcode>
@ -224,15 +226,74 @@
</view>
</view>
</view>
</view>
</view> -->
<!-- <image :src="path" mode="widthFix" style="width: 750rpx;height: 1000rpx;"></image> -->
<l-painter
isCanvasToTempFilePath
@success="sunccessimg"
custom-style="width:661rpx;height: 1072rpx;position:absolute;left:45rpx;right:44rpx;top:200rpx;background-image: url(https://naweigetetest2.hschool.com.cn/dyqc/fenxiang.png);background-size: 100%;"
>
<l-painter-image
:src="detail.user.avatar"
css="margin-left: 30rpx; margin-top: 120rpx;border: 2rpx solid #FFFFFF; width: 60rpx; height: 60rpx; border-radius: 50%;"
/>
<l-painter-view
css="margin-top: 130rpx; padding-left: 20rpx; display: inline-block"
>
<l-painter-text
:text="detail.user.nickname+'的邀请'"
css="display: block; height: 36rpx;color: #3D3D3D; font-size: 28rpx; fontWeight: 400;"
/>
</l-painter-view>
<l-painter-view
css="margin-left: 20rpx; margin-top: 20rpx; margin-bottom: 20rpx; box-sizing: border-box;width: 100%;"
>
<l-painter-image
:src="detail.images[0]"
css="width: 620rpx; height: 620rpx; border-radius: 24rpx;margin: 0 auto;display: block;"
/>
<l-painter-view css="margin-top: 30rpx;display: flex;justify-content: space-between;width:100%;">
<l-painter-view css="display: flex;flex-direction: column;width: 420rpx;">
<l-painter-text
css="line-clamp: 1; color: #202020;font-size: 36rpx; width: 320rpx; box-sizing: border-box;line-height: 42rpx;"
:text="detail.title"
></l-painter-text>
<l-painter-text
css="line-clamp: 1; color:#FF4810;font-size: 28rpx;width: 220rpx;margin-top: 20rpx;line-height: 38rpx;"
:text="'¥'+detail.price"
></l-painter-text>
<l-painter-text
css="line-clamp: 1; color: #9C9C9C;font-size: 26rpx;margin-top: 20rpx;line-height: 36rpx;width: 340rpx;"
:text="'地址:'+detail.address"
></l-painter-text>
</l-painter-view>
<l-painter-view css="background: #ffffff;border-radius: 18rpx;width: 200rpx; height: 200rpx;">
<l-painter-qrcode
css="width: 160rpx; height: 160rpx;margin:20rpx;"
:text="qrUrl"
></l-painter-qrcode>
</l-painter-view>
</l-painter-view>
</l-painter-view>
</l-painter>
<view class="btnList">
<span class="save" @click="capturePage()"> </span>
<!-- <span class="sharePoster" @click.stop="sharePoster()">
</span> -->
<button open-type="share" class="no-border-button" plain="true">
<span> </span>
<image src="/static/detail/savewec.png" mode="" style="width: 88rpx;height: 88rpx;margin-bottom: 15rpx;"></image>
微信
</button>
<!-- <view class="save" @click.stop="sharePoster()">
<image src="/static/detail/pyq.png" mode="" style="width: 88rpx;height: 88rpx;margin-bottom: 15rpx;"></image>
朋友圈
</view> -->
<view class="save" @click="save()">
<image src="/static/detail/donwload.png" mode="" style="width: 88rpx;height: 88rpx;margin-bottom: 15rpx;"></image>
保存图片
</view>
</view>
<canvas canvas-id="myCanvas"
style="position: absolute;top:256rpx;left: 48rpx; width: 661rpx;height:1075rpx; visibility: hidden;z-index: 10;">
@ -251,12 +312,12 @@ import {
} from '../../utils/dateFormat'
export default {
computed: {
formattedTitle() {
if (this.detail.title.length > 9) {
return this.detail.title.slice(0, 9) + '..';
}
return this.detail.title;
},
// formattedTitle() {
// if (this.detail.title.length > 9) {
// return this.detail.title.slice(0, 9) + '..';
// }
// return this.detail.title;
// },
formattedTimeList() {
return this.timeList.map(item => {
const startTime = dayjs.unix(item.start_time).format('YYYY-MM-DD HH:mm:ss');
@ -302,7 +363,7 @@ export default {
PayPirce: 0,
detail: {},
people: {},
qrUrl: '',
qrUrl: null,
is_collect: 0,
popupStyle: {
width: '690rpx',
@ -367,26 +428,54 @@ export default {
},
methods: {
capturePage() {
let that = this;
uni.canvasToTempFilePath({
x: 0, // x
y: 0, // y
width: uni.upx2px(750), // px
height: uni.upx2px(1334), // px
destWidth: 750, //
destHeight: 1334, //
canvasId: 'myCanvas', // Canvasid
success: function (res) {
console.log('tempFilePath:', res.tempFilePath); //
uni.previewImage({ urls: [res.tempFilePath] });
that.save(res.tempFilePath);
},
fail: function (err) {
console.error(err); //
}
});
},
// saveClick() {
// console.log('saveClick')
// //
// this.$refs.painter.canvasToTempFilePathSync({
// fileType: "jpg",
// // base64使 saveImageToPhotosAlbum pathTypeurl
// pathType: 'url',
// quality: 0.9,
// success: (res) => {
// console.log(res.tempFilePath);
// // H5
// wx.saveImageToPhotosAlbum({
// filePath: res.tempFilePath,
// success: function() {
// uni.showToast({
// title: ''
// })
// },
// fail:function(){
// uni.showToast({
// icon: 'error',
// title: ''
// })
// }
// });
// },
// });
// },
// capturePage() {
// let that = this;
// uni.canvasToTempFilePath({
// x: 0, // x
// y: 0, // y
// width: uni.upx2px(750), // px
// height: uni.upx2px(1334), // px
// destWidth: 750, //
// destHeight: 1334, //
// canvasId: 'myCanvas', // Canvasid
// success: function (res) {
// console.log('tempFilePath:', res.tempFilePath); //
// that.save(res.tempFilePath);
// },
// fail: function (err) {
// console.error(err); //
// }
// });
// },
//
goHome() {
if (this.isShare == 1) {
@ -401,11 +490,27 @@ export default {
overlayShow() {
const token = uni.getStorageSync('token')
if (token) {
this.overlay = true
// uni.showToast({
// title: '',
// icon: 'none'
// });
if(this.path == ''){
let that = this;
uni.showToast({
title: '海报生成中,请稍等',
icon: 'none',
duration: 2000,
complete: function () {
//
setTimeout(() => {
//
that.overlay = true;
}, 1000);
}
});
}else{
this.overlay = true;
}
} else {
uni.showToast({
title: '请登录',
@ -589,72 +694,9 @@ export default {
this.show = true
this.type = 3
},
// type = 0 0 1 2 3
confimTime() {
uni.$u.http.post('/api/school/hour_order/confirm', {
classes_order_id: this.orderId,
classes_lib_spec_id: this.classes_lib_spec_id,
order_no: this.order_no2,
is_compute: 1
}).then(res => {
if (res.code == 1) {
this.order_no2 = res.data.order_no
this.timeCreat(res.data.order_no)
} else {
uni.showToast({
title: res.msg,
icon: 'none',
duration: 2000
})
this.type = 2
// _this.$api.toast(res.msg);
}
}).catch(error => {
});
this.show = false
this.type = 0
},
//
timeCreat(order_no) {
uni.$u.http.post('/api/school/hour_order/create', {
order_no: order_no,
}).then(res => {
if (res.code == 1) {
uni.showToast({
title: res.msg,
icon: 'none',
duration: 2000,
complete: function () {
setTimeout(function () {
uni.reLaunch({
url: "/packageA/my/makeList?status=" + -1
})
}, 2000);
}
})
} else {
uni.showToast({
title: res.msg,
icon: 'none',
duration: 2000
})
this.type = 2
// _this.$api.toast(res.msg);
}
}).catch(error => {
});
},
//
toTeacher(id) {
uni.navigateTo({
url: `/pages/center/teacherDetail?id=${id}`
})
},
//
toMap(latitude, longitude, name) {
uni.openLocation({
@ -683,50 +725,59 @@ export default {
this.selectedTime = null
this.buyShow = false
},
sunccessimg(event){
this.path = event
},
//
save(e) {
wx.saveImageToPhotosAlbum({
filePath: e,
success: function(res) {
wx.showToast({
title: '保存成功',
})
},
fail: function(err) {
console.log(err, '失败')
}
})
// let base64 = this.path.replace(/^data:image\/\w+;base64,/, ""); //
// let filePath = wx.env.USER_DATA_PATH + '/qrcode.png';
// uni.getFileSystemManager().writeFile({
// filePath: filePath, //
// data: base64, //
// encoding: 'base64', //
// success: (res) => {
// uni.saveImageToPhotosAlbum({
// filePath: filePath,
// success: () => {
// uni.showToast({
// title: '',
// icon: "none",
// duration: 5000
// })
// },
// fail: (err) => {
// console.log(err);
// uni.showToast({
// title: '',
// icon: "none",
// duration: 5000
// })
// }
save() {
// wx.saveImageToPhotosAlbum({
// filePath: e,
// success: function(res) {
// wx.showToast({
// title: '',
// })
// },
// fail: (err) => {
// console.log(err)
// fail: function(err) {
// console.log(err, '')
// }
// })
let base64 = this.path.replace(/^data:image\/\w+;base64,/, ""); //
let filePath = wx.env.USER_DATA_PATH + '/qrcode.png';
uni.getFileSystemManager().writeFile({
filePath: filePath, //
data: base64, //
encoding: 'base64', //
success: (res) => {
uni.saveImageToPhotosAlbum({
filePath: res,
success: () => {
uni.showToast({
title: '保存成功',
icon: "none",
duration: 5000
})
this.overlay = false;
},
fail: (err) => {
console.log(err);
uni.showToast({
title: '保存失败',
icon: "none",
duration: 5000
})
this.overlay = false;
}
})
},
fail: (err) => {
console.log(err)
this.overlay = false;
}
})
},
//
sharePoster() { //
@ -1538,6 +1589,11 @@ export default {
position: relative;
width: 100%;
height: 100%;
.posterClose {
position: absolute;
// right: 8rpx;
top: 200rpx;
}
}
.Poster {
@ -1609,6 +1665,7 @@ export default {
margin-top: 30rpx;
.c1t1 {
width: 340rpx;
color: #202020;
font-size: 36rpx;
// margin-top: 30rpx;
@ -1640,32 +1697,26 @@ export default {
.btnList {
width: 690rpx;
position: absolute;
bottom: 150rpx;
left: 30rpx;
bottom: 10rpx;
display: flex;
justify-content: space-evenly;
// width: 750rpx;
// height: 247rpx;
// background: #FFFFFF;
// border-radius: 44rpx 44rpx 0rpx 0rpx;
span {
width: 250rpx;
height: 80rpx;
background: #FFFFFF;
border-radius: 401rpx 401rpx 401rpx 401rpx;
font-family: PingFang SC, PingFang SC;
font-weight: 800;
font-size: 34rpx;
color: #008CFF;
justify-content: space-around;
align-items: self-start;
width: 750rpx;
height: 247rpx;
background: #FFFFFF;
border-radius: 44rpx 44rpx 0rpx 0rpx;
color: #999999;
font-family: PingFang SC Regular, PingFang SC Regular;
font-weight: 400;
font-size: 28rpx;
.save {
margin-top: 60rpx;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
}
.save {}
}
.no-scroll {
@ -1693,23 +1744,14 @@ export default {
justify-content: center;
/* 水平居中 */
flex-flow: column;
height: 80rpx;
// height: 80rpx;
line-height: inherit;
span {
width: 250rpx;
height: 80rpx;
background: #FFFFFF;
border-radius: 401rpx 401rpx 401rpx 401rpx;
font-family: PingFang SC, PingFang SC;
font-weight: 800;
font-size: 34rpx;
color: #008CFF;
display: flex;
justify-content: center;
align-items: center;
}
}
margin-top: 60rpx;
font-family: PingFang SC Regular, PingFang SC Regular;
font-weight: 400;
font-size: 28rpx;
color: #999999;
}
</style>
<style lang="scss">
.value_slide {

File diff suppressed because it is too large Load Diff

View File

@ -1,410 +0,0 @@
<template>
<view class="box flex justify-center align-items flex-column">
<!-- 全部课程 -->
<view class="hot flex flex-column align-items" style="margin-top: 32rpx; height: 100%;">
<view class="header flex align-items" style="justify-content: space-between;">
<!-- <view class="h-left flex align-items">
<image src="../../static/center/Total.png" mode=""
style="width: 168rpx; height: 32rpx; margin-left: 14rpx;"></image>
</view> -->
<!-- <view class="h-right flex align-items" @click="openShow">
<span style="margin-right: 12rpx; color: #EAEAEA;">筛选</span>
<image src="../../static/center/Sift.png" mode=""
style="width: 34rpx; height: 34rpx; margin-right: 9rpx;"></image>
</view> -->
</view>
<view class="new flex align-items" style="">
<view class="flex justify-center align-items " style="" v-for="(item,index) in list" :key="index"
:style="{ marginLeft: index % 2 == 0 ? '32rpx' : '0' }">
<view class="con-center flex justify-center flex-column" style="align-items: flex-start;">
<image :src="item.image" mode="" style="width: 280rpx; height: 200rpx;"></image>
<span class="jita">吉他入门教学</span>
<view class="mingeBox flex justify-center align-items">
<image :src="item.icon" mode="" style="width: 36rpx; height: 36rpx;"></image>
<span class="minge">{{item.now}}/{{item.altogether}}名额</span>
</view>
<span class="money">{{item.money}}</span>
<span class="line-row"></span>
</view>
<span class="line" v-if="index % 2 == 0"></span>
</view>
</view>
</view>
<!-- 弹窗 -->
<u-popup :show="show" mode="right" height="100%" @close="closeShow" class="relative" :custom-style="popupStyle">
<view class="flex align-items flex-column" style="width:500rpx">
<view class="pop-header flex align-items flex-column" style="justify-content: space-around;">
<view class="flex align-items" style="width:449rpx;justify-content: space-between;">
<span class="types">课程类型</span>
<span class="select" @click="cancel(0)">取消选择</span>
</view>
<span class="pop-line"></span>
</view>
<view class="selectBox flex align-items" style="justify-content: flex-start;flex-wrap: wrap;">
<view class="selectType" v-for="(item,index) in types" :key="index" @click="toggleSelection(item)"
:class="{ selected: isSelected(item) }">
{{item}}
</view>
</view>
</view>
<!-- 上课地点 -->
<view class="flex align-items flex-column" style="width:500rpx">
<view class="pop-header flex align-items flex-column" style="justify-content: space-around;">
<view class="flex align-items" style="width:449rpx;justify-content: space-between;">
<span class="types">上课地点</span>
<span class="select" @click="cancel(1)">取消选择</span>
</view>
<span class="pop-line"></span>
</view>
<view class="selectBox flex align-items" style="justify-content: flex-start;flex-wrap: wrap;">
<view class="selectType" v-for="(item,index) in areas" :key="index" @click="areaSelection(item)"
:class="{ selected: areaSelected(item) }">
{{item}}
</view>
</view>
</view>
<view class="btn">
<!-- <u-button :custom-style="customStyle">月落</u-button> -->
<image src="../../static/center/btn.png" mode=""></image>
</view>
</u-popup>
</view>
</template>
<script>
export default {
data() {
return {
show: false,
types: ['电脑技术', '电脑技术', '电脑技术', '电脑技术', '音乐', '绘画', '体育运动'],
areas: ['老城区', '涧西区', '洛龙区', '西工区', '新安县', '栾川县', '伊川县'],
typeList: [],
areaList: [],
popupStyle:{
background: "#EAEAEA",
},
list: [{
image: "../../static/center/jita.jpeg",
name: "吉他入门教学",
icon: "../../static/center/minge.png",
now: "200",
altogether: '600',
money: "600",
rank: "../../static/center/rank1.png",
},
{
image: "../../static/center/jita.jpeg",
name: "吉他入门教学",
icon: "../../static/center/minge.png",
now: "200",
altogether: '600',
money: "600",
rank: "../../static/center/rank1.png",
},
{
image: "../../static/center/jita.jpeg",
name: "吉他入门教学",
icon: "../../static/center/minge.png",
now: "200",
altogether: '600',
money: "600",
rank: "../../static/center/rank1.png",
},
{
image: "../../static/center/jita.jpeg",
name: "吉他入门教学",
icon: "../../static/center/minge.png",
now: "200",
altogether: '600',
money: "600",
rank: "../../static/center/rank1.png",
},
{
image: "../../static/center/jita.jpeg",
name: "吉他入门教学",
icon: "../../static/center/minge.png",
now: "200",
altogether: '600',
money: "600",
rank: "../../static/center/rank1.png",
}
]
}
},
methods: {
openShow() {
this.show = true
},
closeShow(){
this.typeList = []
this.areaList = []
this.show = false
},
//
toggleSelection(item) {
if (this.typeList.includes(item)) {
//
this.typeList = this.typeList.filter(i => i !== item);
} else {
//
this.typeList.push(item);
}
console.log(this.typeList)
},
isSelected(item) {
return this.typeList.includes(item);
},
//
areaSelection(item){
if (this.areaList.includes(item)) {
//
this.areaList = this.areaList.filter(i => i !== item);
} else {
//
this.areaList.push(item);
}
},
areaSelected(item) {
return this.areaList.includes(item);
},
//
cancel(num){
if (num == 0) {
this.typeList = []
} else {
this.areaList = []
}
},
}
}
</script>
<style lang="scss" scoped>
.box {
padding: 0 30rpx 0rpx 30rpx;
background-color: #F1F2F8;
}
.search {
margin-top: 30rpx;
height: 52rpx;
border: 4rpx #EAEAEA dashed;
.dashed {
image {
width: 50rpx;
height: 50rpx;
}
}
.input {
border: 4rpx solid #EAEAEA;
padding-left: 12rpx;
height: 100%;
width: 100%;
}
::v-deep .input-placeholder {
font-weight: 800;
font-size: 24rpx;
color: #8B8B8B;
line-height: 54rpx;
}
}
.w-100 {
width: 100%;
}
.flex {
display: flex;
}
.justify-center {
justify-content: center;
}
.align-items {
align-items: center;
}
.flex-column {
flex-flow: column;
}
.hot {
width: 100%;
height: 504rpx;
}
.header {
width: 100%;
height: 42rpx;
background: #4974FF;
margin-top: 42rpx;
box-shadow: 2rpx 2rpx 0rpx 0rpx rgba(0, 0, 0, 0.4);
image {}
}
.content {
height: 462rpx;
overflow-x: auto;
/* 允许横向滚动 */
white-space: nowrap;
}
.new {
width: 100%;
justify-content: flex-start;
display: flex;
flex-wrap: wrap;
position: relative;
}
.pos {
position: absolute;
bottom: 0rpx;
right: 0rpx;
}
.content,
.new {
width: 100%;
background: #EAEAEA;
border-radius: 0rpx 0rpx 0rpx 0rpx;
/* 禁止换行 */
.con-center {
width: 280rpx;
height: 398rpx;
.jita {
font-weight: 800;
font-size: 28rpx;
color: #343434;
line-height: 32rpx;
margin-top: 14rpx;
}
.line-row {
width: 280rpx;
height: 1rpx;
background: #D9D9D9;
margin: 12rpx 0 12rpx 0;
box-shadow: 1rpx 1rpx 0rpx 0rpx rgba(102, 102, 102, 0.25);
}
.mingeBox {
.minge {
font-weight: 500;
font-size: 24rpx;
color: #7A7A7A;
line-height: 32rpx;
}
}
.money {
display: flex;
align-self: flex-end;
font-weight: 800;
font-size: 36rpx;
color: #FF2323;
line-height: 32rpx;
margin-top: 24rpx;
}
}
.line {
height: 398rpx;
width: 1rpx;
background: #D9D9D9;
margin: 0rpx 34rpx 0 34rpx;
box-shadow: 1rpx 1rpx 0rpx 0rpx rgba(102, 102, 102, 0.25);
}
}
.ovr:first-child {
margin-left: 34rpx;
}
.ovr:last-child {
margin-right: 34rpx;
}
.footer {
margin: 120rpx 0 40rpx 0;
font-weight: 500;
font-size: 24rpx;
color: #BCBCBC;
line-height: 32rpx;
}
.pop-header {
margin-top: 35rpx;
.types {
font-weight: 800;
font-size: 24rpx;
color: #343434;
line-height: 32rpx;
}
.select {
font-weight: 400;
font-size: 20rpx;
color: #343434;
line-height: 32rpx;
}
.pop-line {
width: 449rpx;
height: 2rpx;
margin-top: 18rpx;
background: #D9D9D9;
box-shadow: 1rpx 1rpx 0rpx 0rpx rgba(0, 0, 0, 0.25);
}
}
.selectBox {
width: 449rpx;
.selectType {
height: 21rpx;
background: #D9D9D9;
font-weight: 500;
font-size: 24rpx;
color: #4B4B4B;
display: flex;
justify-content: center;
align-items: center;
padding: 12rpx 14rpx 17rpx 14rpx;
margin: 24rpx 12rpx 0 0;
}
}
.selectType.selected {
background-color: #007bff;
color: white;
}
.relative{
position: relative;
background-color: red;
}
.btn{
position: absolute;
bottom: 53rpx;
width: 449rpx;
left: 30rpx;
image{
width: 449rpx;
height: 73rpx;
}
}
</style>

View File

@ -1,549 +0,0 @@
<template>
<view class="box flex justify-start align-items flex-column">
<view class="detali flex align-items " style="justify-content: space-between;">
<view class="detali-left">
<image :src="detail.head_image" mode="" style="width: 240rpx;height: 300rpx;"></image>
</view>
<view class="detali-right flex justify-center flex-column">
<span class="name white-space">{{detail.name}}</span>
<span class="jigou white-space">{{detail.shop.name}}</span>
<view class="flex align-items flex-start look" @click="toMeDetail(detail.shop_id)">
<span>查看机构</span>
<image src="../../static/center/right.png" mode="" style="width: 24rpx; height: 24rpx;"></image>
</view>
<span class="line"></span>
<view class="detali-footer flex align-items" style="justify-content: space-between;">
<view class="f-left flex flex-column">
<span class="pingfen">教师评分</span>
<span class="rate">
<u-rate :count="count" active-color="#FFBC2C" v-model="detail.teacher_star" allowHalf="true"
readonly></u-rate>
</span>
</view>
<view class="f-right">
{{detail.teacher_star}}
</view>
</view>
</view>
</view>
<!-- 教师简介 -->
<view class="teacher flex flex-column" style="justify-content: flex-start;">
<view class="teacher-header flex align-items space-between">
<image src="../../static/center/teacherDetail.png" mode="" style="width: 168rpx; height: 48rpx;">
</image>
</view>
<view class="tea-center">
<u-parse :content="detail.expert_content"></u-parse>
<!-- <view class="" v-html="detail.expert_content"></view> -->
</view>
</view>
<!-- 全部课程 -->
<view class="total flex flex-column" style="justify-content: flex-start;">
<view class="total-header flex align-items space-between">
<image src="../../static/center/TotalClass.png" mode="" style="width: 168rpx; height: 48rpx;"></image>
<view class="flex align-items" @click.stop="totalClass()">
<span class="more">更多</span>
<image src="../../static/center/right.png" mode="" style="width: 34rpx; height: 34rpx;"></image>
</view>
</view>
<view class="totalBox">
<view class="flex" v-for="(item,index) in list" :key="index">
<view class="con-center justify-start flex flex-column" style="align-items: flex-start;"
@click="toDetail(item.id)">
<image :src="item.headimage" mode="" style="width: 280rpx; height: 200rpx;"></image>
<span class="jita white-space">{{item.title}}</span>
<view class="mingePos flex justify-center align-items">
<image src="../../static/index/mine.png" mode="" style="width: 36rpx;height: 36rpx;">
</image>
<span class="minge">{{ Number(item.sign_num + item.virtual_num)}} /
{{item.limit_num}}名额</span>
</view>
<span class="line-row"></span>
<span class="money" v-if="item.feel == 0">{{item.price}}</span>
<span class="money" v-if="item.feel == 1">免费</span>
</view>
</view>
</view>
</view>
<!-- 教师评价 -->
<view class="pingjia flex flex-column" style="justify-content: flex-start;">
<view class="pingjia-header flex align-items space-between">
<image src="../../static/center/pingjia.png" mode="" style="width: 168rpx; height: 48rpx;"></image>
</view>
<view class="pjBox flex flex-column" v-for="(item,index) in pjList" :key="index">
<view class="pj-top flex align-items" style="justify-content: space-between;">
<view class="pj-left flex space-between">
<image :src="item.image" mode="" style="width: 86rpx;height: 86rpx;"></image>
<view class="flex flex-column " style="margin-left: 24rpx;">
<span class="name">{{item.nickname}}</span>
<span class="time">{{item.evaluate_time_text}}</span>
</view>
</view>
<view class="pj-right flex flex-column align-items">
<span class="pj">{{item.teacher_star + '分'}}</span>
<span class="rate">
<u-rate :count="item.count" active-color="#FFBC2C" v-model="item.teacher_star"
allowHalf="true" readonly></u-rate>
</span>
</view>
</view>
<view class="pj-center flex">
{{item.message_text}}
</view>
</view>
</view>
<u-loadmore :status="loadStatus" />
</view>
</template>
<script>
export default {
data() {
return {
id: 1,
detail: {},
count: 5,
value: 5,
page: 1,
limit: 10,
pjPage: 1,
pjLimit: 10,
list: [],
loadStatus: 'loading',
pjList: [],
last_page: 0,
};
},
onShareTimeline() {
return {
title: this.detail.name,//
imageUrl: this.detail.head_image,//httphttps
query: `id=${this.id}`
}
},
onLoad(option) {
this.id = option.id
this.getDetail(option.id)
this.getList(option.id)
this.getpjList(option.id)
},
onReachBottom() {
if (this.pjPage < this.last_page) {
this.pjPage++;
this.getpjList(this.id);
}
},
methods: {
//
getDetail(id) {
uni.$u.http.get('/api/school/teacher/detail', {
params: {
id: id,
}
}).then(res => {
if (res.code == 1) {
this.detail = res.data.detail
} else {
uni.showToast({
title: res.msg,
icon: 'none',
duration: 2000
})
// _this.$api.toast(res.msg);
}
}).catch(error => {
});
},
totalClass() {
uni.navigateTo({
url: "/packageA/center/teacherClass?id=" + this.id
})
},
//
getpjList(id) {
uni.$u.http.get('/api/school.evaluate/evaluate_list', {
params: {
teacher_id: id,
page: this.pjPage,
limit: this.pjLimit,
}
}).then(res => {
if (res.code == 1) {
this.last_page = res.data.last_page
this.pjList = [...this.pjList, ...res.data.list];
if (this.pjList.length >= res.data.count) {
this.loadStatus = 'nomore';
} else {
this.loadStatus = 'loading';
}
} else {
uni.showToast({
title: res.msg,
icon: 'none',
duration: 2000
})
this.loadStatus = 'nomore';
// _this.$api.toast(res.msg);
}
}).catch(error => {
this.loadStatus = 'loading';
});
},
//
getList(id) {
uni.$u.http.get('/api/school/classes/classes_list', {
params: {
page: 1,
limit: 10,
teacher_id: id,
order: 'normal',
is_expire: 2
}
}).then(res => {
if (res.code == 1) {
this.list = res.data.list.data
} else {
uni.showToast({
title: res.msg,
icon: 'none',
duration: 2000
})
// _this.$api.toast(res.msg);
}
}).catch(error => {
});
},
//
toMeDetail(id) {
uni.navigateTo({
url: "/pages/center/MechanismDetail?id=" + this.detail.shop_id
})
},
//
toDetail(id) {
uni.navigateTo({
url: "/pages/center/detail?id=" + id
})
}
}
}
</script>
<style lang="scss" scoped>
.box {
border-radius: 8rpx 8rpx 8rpx 8rpx;
min-height: 100vh;
background: linear-gradient(to bottom,
#F1F2F8 0%,
#FFFFFF 30%,
#F1F2F8 50%,
#F1F2F8 70%,
#F1F2F8 100%)
}
.w-100 {
width: 100%;
}
.flex {
display: flex;
}
.flex-start {
align-items: flex-start;
}
.justify-center {
justify-content: center;
}
.align-items {
align-items: center;
}
.flex-column {
flex-flow: column;
}
.justify-start {
justify-content: start;
}
.space-between {
justify-content: space-between;
}
.white-space {
overflow: hidden;
/* 确保超出容器的文本被隐藏 */
white-space: nowrap;
/* 确保文本在一行内显示 */
text-overflow: ellipsis;
/* 使用省略号表示被截断的文本 */
width: 100%;
}
.detali {
width: 642rpx;
margin-top: 46rpx;
.detali-right {
margin-left: 42rpx;
.name {
// height: 26rpx;
font-family: PingFang SC, PingFang SC;
font-weight: 800;
font-size: 52rpx;
color: #4B4B4B;
width: 400rpx;
// line-height: 26rpx;
}
.jigou {
width: 336rpx;
// height: 26rpx;
font-family: PingFang SC, PingFang SC;
font-weight: 800;
font-size: 28rpx;
color: #008CFF;
// line-height: 26rpx;
margin: 38rpx 0 8rpx 0;
}
.look {
span {
font-family: PingFang SC, PingFang SC;
font-weight: 500;
font-size: 24rpx;
color: #008CFF;
margin-right: 8rpx;
}
}
.line {
margin: 19rpx 0 11rpx 0;
width: 372rpx;
height: 1rpx;
background: #008CFF;
}
.detali-footer {
width: 380rpx;
.f-left {
.pingfen {
font-family: PingFang SC, PingFang SC;
font-weight: 500;
font-size: 24rpx;
color: #008CFF;
margin-bottom: 9rpx;
}
.rate {}
}
.f-right {
font-family: PingFang SC, PingFang SC;
font-weight: 800;
font-size: 42rpx;
color: #FFBC2C;
}
}
}
}
.teacher {
width: 642rpx;
.teacher-header {
padding-top: 64rpx;
padding-bottom: 12rpx;
border-bottom: 2rpx solid #008CFF;
}
.tea-center {
margin-top: 13rpx;
}
}
.total {
width: 690rpx;
// margin-top: 62rpx;
.total-header {
padding-top: 64rpx;
padding-bottom: 12rpx;
border-bottom: 2rpx solid #008CFF;
.more {
// width: 48rpx;
// height: 32rpx;
font-family: PingFang SC, PingFang SC;
font-weight: 500;
font-size: 30rpx;
color: #008CFF;
font-style: normal;
text-transform: none;
margin-right: 8rpx;
}
}
.totalBox {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: center;
}
}
.pingjia {
width: 690rpx;
// margin-top: 62rpx;
.pingjia-header {
padding-top: 64rpx;
padding-bottom: 12rpx;
border-bottom: 2rpx solid #008CFF;
}
.pjBox {
border-radius: 20rpx 20rpx 20rpx 20rpx;
background-color: white;
padding: 24rpx;
margin-top: 25rpx;
.pj-top {
.pj-left {
image {
border-radius: 50%;
}
.name {
font-family: PingFang SC, PingFang SC;
font-weight: 800;
font-size: 34rpx;
color: #181818;
}
.time {
font-family: PingFang SC, PingFang SC;
font-weight: 500;
font-size: 24rpx;
color: #7A7A7A;
margin-top: 14rpx;
}
}
.pj-right {
.pj {
width: 104rpx;
font-family: PingFang SC, PingFang SC;
font-weight: 800;
font-size: 42rpx;
color: #FFBC2C;
padding-bottom: 13rpx;
border-bottom: 1rpx solid #FFBC2C;
}
.rate {
margin-top: 11rpx;
}
}
}
.pj-center {
font-family: PingFang SC, PingFang SC;
font-weight: 500;
font-size: 26rpx;
color: #7A7A7A;
line-height: 38rpx;
margin-top: 20rpx;
word-break: break-all;
}
}
}
.con-center {
width: 280rpx;
position: relative;
padding: 32rpx 16rpx;
.imgPos {
position: absolute;
top: 0;
right: 0;
z-index: 999;
}
.jita {
font-family: PingFang SC, PingFang SC;
font-weight: 800;
font-size: 28rpx;
color: #343434;
margin: 14rpx 0 16rpx 0;
}
.line-row {
width: 280rpx;
height: 1rpx;
background: #008CFF;
border-radius: 0rpx 0rpx 0rpx 0rpx;
margin: 12rpx 0 12rpx 0;
}
.mingeBox {
.minge {
font-family: PingFang SC, PingFang SC;
font-weight: 500;
font-size: 24rpx;
color: #7A7A7A;
}
}
.iconPos {
font-family: PingFang SC, PingFang SC;
font-weight: 500;
font-size: 24rpx;
color: #7A7A7A;
line-height: 32rpx;
margin-top: 14rpx;
}
.mingePos {
font-family: PingFang SC, PingFang SC;
font-weight: 500;
font-size: 24rpx;
color: #474747;
line-height: 32rpx;
}
.money {
display: flex;
align-self: flex-end;
font-family: PingFang SC, PingFang SC;
font-weight: 800;
font-size: 36rpx;
color: #FF2323;
line-height: 32rpx;
margin-top: 24rpx;
}
}
.white-space {
overflow: hidden;
/* 确保超出容器的文本被隐藏 */
white-space: nowrap;
/* 确保文本在一行内显示 */
text-overflow: ellipsis;
/* 使用省略号表示被截断的文本 */
width: 100%;
}
</style>

View File

@ -7,11 +7,7 @@
backgroundRepeat: 'no-repeat',
}"
>
<view class="box">
<!-- logo -->
<view>
<image
@ -22,16 +18,19 @@
</view>
<!-- 搜索 -->
<view class="serch_top">
<u-search
class="u-search"
v-model="keywords"
placeholder="搜索您要找的内容"
:showAction="false"
search-icon="/static/index/search.png"
@change="search()"
>
</u-search>
<span class="searchBtn" @click.stop="search()">搜索</span>
<view class="serch_top1">
<u-search
class="u-search"
v-model="keywords"
placeholder="搜索您要找的内容"
:showAction="false"
search-icon="/static/index/search.png"
@change="search()"
>
</u-search>
<span class="searchBtn" @click.stop="search()">搜索</span>
</view>
<image src="/static/index/schoolNight.png" alt="" class="imgstop_ye" ></image>
</view>
@ -49,16 +48,22 @@
@click="handleClick(index,tab.id)"
>
<image
v-if="index != 0 && tab.image"
v-if="index != 0 && index != 1 && tab.image"
:src="tab.image"
mode=""
class="imgs_bq"
></image>
<image
v-if="index === 1"
src="/static/index/schoolye.png"
mode=""
class="imgs_bq"
></image>
<span>{{ tab.name }}</span>
</view>
</view>
<view class="allbq" @click="openBq">
<image src="/static/index/qbbq.png" mode="" class="imgs_all"></image>
<image src="/static/index/qbbqfl.png" mode="" class="imgs_all"></image>
</view>
</view>
<!-- 热门活动 -->
@ -82,8 +87,10 @@
>
<span class="title white-space">{{ item.title }}</span>
<view class="first-image flex align-items" style="margin-top: 20rpx;width: 100%;">
<image :src="item.user.avatar" style="width: 36rpx;height: 36rpx;"></image>
<span style="color: #9C9C9C;margin-left: 10rpx;">{{ item.user.nickname }}</span>
<image v-if="cate_ids != 1" :src="item.user.avatar" style="width: 36rpx;height: 36rpx;border-radius: 80rpx;"></image>
<image v-else :src="item.headimage" style="width: 36rpx;height: 36rpx;border-radius: 80rpx;"></image>
<span v-if="cate_ids != 1" style="color: #9C9C9C;margin-left: 10rpx;">{{ item.user.nickname }}</span>
<span v-else class="white-space" style="color: #9C9C9C;margin-left: 10rpx;width: 220rpx;">{{ item.teacher.name }}</span>
<view class="white-space" style="width: 60%;">
<span style="color:#0CA013;margin-left: 20rpx;" v-for="items_t in item.classes_cate">#{{ items_t }}</span>
</view>
@ -99,15 +106,15 @@
</view>
<view class="flex align-items justify-center" style="margin-top: 20rpx;" >
<view class="flex align-items justify-center" style="margin-top: 20rpx;margin-bottom: 32rpx;" >
<image class="imgs_con" v-for="(items_img,index) in item.images.slice(0,3)" :key="index" :src="items_img"></image>
</view>
</view>
</view>
<view class="bottom flex align-items">
<view class="bottom flex align-items" v-if="cate_ids != 1">
<view class="flex align-items toptext">
<span class="flex align-items">
<span class="flex align-items" >
<u-avatar-group
:urls="item.join_info.users"
keyName="avatar"
@ -118,7 +125,7 @@
<image
src="/static/index/dian.png"
:class="item.join_info.users.length > 0 ? '' :'smalld'"
style="width: 60rpx;height: 60rpx;margin-left:-20rpx;z-index: 1;"
style="width: 58rpx;height: 58rpx;margin-left:-20rpx;z-index: 1;"
></image>
</span>
<view class="number flex align-items" >
@ -140,37 +147,38 @@
</view>
<!-- 全部标签 -->
<u-popup :show="showPopbq" mode="bottom" round="20" :customStyle="{'width':'750rpx','height':'1040rpx'}" :closeable="true"
<u-popup :show="showPopbq" mode="bottom" round="20" :customStyle="{'width':'750rpx','height':'1040rpx'}"
@close="closebq">
<view class="popup_bq">
<image @click="closebq" src="@/static/center/close.png" mode="" style="width: 44rpx;height: 44rpx;position: absolute;right: 30rpx;top: -160rpx;z-index: 55;" ></image>
<img src="https://naweigetetest2.hschool.com.cn/dyqc/biaoqian.png" alt="" />
<view class="flex flex-column w-100 bqlist">
<scroll-view scroll-y="true" class="flex align-items allbqs">
<span>我的标签</span>
<view class="flex align-items allmybqs">
<view class="flex align-items bqpiece" v-for="(item_bq,index) in list" :key="index">
<span>
<image
<!-- <image
v-if="item_bq.name != '全部'"
:src="item_bq.image"
style="width: 48rpx;height: 48rpx;margin-right:10rpx;"
></image>
></image> -->
{{ item_bq.name }}
</span>
<u-icon v-if="index != 0" name="close" color="#babdc7" @click="removebq(index)"></u-icon>
<u-icon v-if="index != 0 && index != 1" name="close" color="#babdc7" @click="removebq(index)"></u-icon>
</view>
</view>
<span style="margin-top: 30rpx;">全部标签</span>
<scroll-view scroll-y="true" class="flex align-items allbqs">
<view style="display: flex; flex-wrap: wrap;">
<view class="flex align-items bqpiece" v-for="(item,index) in bqList" :key="index">
<span>
<image
<!-- <image
:src="item.image"
style="width: 48rpx;height: 48rpx;margin-right:10rpx;"
></image>
></image> -->
{{ item.name }}
</span>
<u-icon name="plus" color="#babdc7" @click="addbq(item)"></u-icon>
@ -228,8 +236,14 @@ export default {
{
name: "全部",
id: 0
},
{
name: "夜校",
id: 1
}
],
limit: 6,
page: 1,
show: false
};
},
@ -285,12 +299,12 @@ export default {
// }
// },
//
// onReachBottom() {
// if (this.hotList.length < this.count) {
// this.page++;
// this.getHotList();
// }
// },
onReachBottom() {
if (this.hotList.length < this.count) {
this.page++;
this.getHotList();
}
},
//
resetLists() {
this.page = 1;
@ -302,6 +316,8 @@ export default {
this.current = index;
this.cate_ids = val;
this.hotList = [];
this.page = 1;
this.limit = 6;
this.getHotList();
},
//
@ -348,6 +364,7 @@ export default {
//
getBqList() {
uni.$u.http
.get("/api/school.new_activity/cate_list", {
params: {
@ -359,9 +376,9 @@ export default {
if (res.code == 1) {
this.bqList = res.data.list;
//
if (this.list.length < 3) {
this.list = [...this.list, ...res.data.list.slice(0,3)];
}
// if (this.list.length < 3) {
// this.list = [...this.list, ...res.data.list.slice(0,2)];
// }
} else {
uni.showToast({
title: res.msg,
@ -411,17 +428,52 @@ export default {
this.list.splice(i,1);
uni.setStorageSync('bqlist',JSON.stringify(this.list))
},
//
//
getHotList() {
let words = this.keywords
let cate_ids = this.cate_ids
uni.$u.http
.get("/api/school.new_activity/activity_list", {
let words = this.keywords;
let cate_ids = this.cate_ids;
if( cate_ids == 1){ //
uni.$u.http.get('https://testy.hschool.com.cn/api/school/classes/classes_list', {
params: {
keywords: this.keywords,
page: this.page,
limit: this.limit,
status: 1,
order: 'normal',
auth_status: 1
}
}).then(res => {
if (res.code == 1) {
this.count = res.data.list.last_page
if (this.hotList.length >= res.data.list.total) {
this.loadStatus = 'nomore';
} else {
this.loadStatus = 'loading';
}
this.hotList = [...this.hotList, ...res.data.list.data];
} else {
uni.showToast({
title: res.msg,
icon: 'none',
duration: 2000
});
this.loadStatus = 'loading';
}
}).catch(error => {
console.error('请求失败', error);
this.loadStatus = 'loading';
});
}else{
//
uni.$u.http.get("/api/school.new_activity/activity_list", {
params: {
keywords:words,
cate_ids:cate_ids,
page: 1,
limit: 6,
page: this.page,
limit: this.limit,
order: "normal",
status: "2",//5
auth_status: 1 //
@ -429,15 +481,13 @@ export default {
})
.then((res) => {
if (res.code == 1) {
// this.count = res.data.list.data.length
// if(this.count){
// this.loadStatus = 'nomore';
// this.page++;
// } else {
// this.loadStatus = 'loading';
// }
// this.hotList = [...this.hotList, ...res.data.list.data];
this.hotList = res.data.list.data;
this.count = res.data.count;
if(this.hotList.length >= res.data.count){
this.loadStatus = 'nomore';
} else {
this.loadStatus = 'loading';
}
this.hotList = [...this.hotList, ...res.data.list.data];
} else {
uni.showToast({
title: res.msg,
@ -453,12 +503,20 @@ export default {
duration: 2000,
});
});
}
},
//
detail(id) {
uni.navigateTo({
url: "/pages/center/detail?id=" + id,
});
if (this.cate_ids == 1) { //
// wx.navigateToMiniProgram(Object object);
}else{
uni.navigateTo({
url: "/pages/center/detail?id=" + id,
});
}
},
//
Wqdetail(id) {
@ -521,8 +579,8 @@ export default {
right: 0;
.imgs_all {
width: 44rpx;
height: 44rpx;
width: 74rpx;
height: 68rpx;
}
}
@ -545,7 +603,8 @@ export default {
font-weight: 400;
font-size: 34rpx;
color: #9c9c9c;
width: 180rpx;
// width: 200rpx;
padding: 0 45rpx;
height: 70rpx;
line-height: 70rpx;
background: linear-gradient(180deg, #ffffff 44%, #f7f7f7 100%);
@ -622,27 +681,38 @@ export default {
margin-top: 65rpx;
// #endif
}
.serch_top {
margin-top: 10rpx;
margin-bottom: 30rpx;
position: relative;
.searchBtn{
position:absolute;
width: 133rpx;
height: 100%;
background: #323232 ;
border-radius: 40rpx;
font-family: PingFang SC, PingFang SC;
font-weight: 400;
font-size: 26rpx;
color: #FFFFFF;
display: flex;
justify-content: center;
align-items: center;
top: 0;
.serch_top{
display: flex;
.serch_top1 {
margin-top: 10rpx;
margin-bottom: 30rpx;
position: relative;
width: 530rpx;
.searchBtn{
position:absolute;
width: 133rpx;
height: 100%;
background: #323232 ;
border-radius: 40rpx;
font-family: PingFang SC, PingFang SC;
font-weight: 400;
font-size: 26rpx;
color: #FFFFFF;
display: flex;
justify-content: center;
align-items: center;
top: 0;
right: 0;
}
}
.imgstop_ye{
margin-left: 30rpx;
width: 174rpx;
height: 76rpx;
position: absolute;
right: 0;
}
}
}
.hot {
@ -777,7 +847,7 @@ export default {
}
.bottom {
margin: 32rpx 0 32rpx 24rpx;
margin: 0 0 32rpx 24rpx;
width: 655rpx;
.toptext{
width: 480rpx;
@ -954,7 +1024,7 @@ export default {
z-index: 0;
}
.bqlist{
margin-top: 130rpx;
margin-top: 70rpx;
z-index: 1;
margin-left: 80rpx;
.allmybqs{
@ -966,7 +1036,7 @@ export default {
display: flex;
overflow-y: scroll;
flex-wrap: wrap;
height: 440rpx;
height: 840rpx;
width: 692rpx;
margin-top:20rpx ;
}

View File

@ -95,7 +95,7 @@
<view class="right flex flex-column" style="align-items: self-start">
<span class="title white-space">{{ item.title }}</span>
<span class="first-image flex align-items" style="margin-top: 20rpx;width: 100%;">
<image :src="item.user.avatar" style="width: 36rpx;height: 36rpx;"></image>
<image :src="item.user.avatar" style="width: 36rpx;height: 36rpx;border-radius: 80rpx"></image>
<span style="color: #9C9C9C;margin-left: 10rpx;">{{ item.user.nickname }}</span>
<view class="white-space" style="width: 60%;">
<span style="color:#0CA013;margin-left: 20rpx;"
@ -152,7 +152,7 @@
<!-- 授权登录 -->
<u-popup :show="showPopup" mode="center" round="20" :customStyle="{ 'width': '640rpx', 'height': '630rpx'}"
<u-popup :show="showPopup" mode="center" round="20" :customStyle="{ 'width': '644rpx', 'height': '486rpx'}"
:closeable="true" @close="close">
<!-- 隐私协议 -->
<lsl-protocol-popup title="用户协议和隐私政策提示" predesc="感谢您使用洛阳多样青春搭+。为保护您的个人信息安全,在您洛阳多样青春搭+的服务前,请务必仔细阅读"
@ -162,7 +162,7 @@
:title_style="'padding-top:60rpx;'" open_type='agreePrivacyAuthorization'>
</lsl-protocol-popup>
<view class="popup">
<img src="https://naweigetetest2.hschool.com.cn/dyqc/shou1.png" alt="" />
<img class="img_shouquan" src="https://naweigetetest2.hschool.com.cn/dyqc/shou1.png" alt="" />
<text id="txt2">为您授权登陆授权成功后可参加多种户外活动</text>
<button class="texbut" open-type="getPhoneNumber" @getphonenumber="getPhoneNumber">
授权登录
@ -1166,21 +1166,21 @@ export default {
padding-left: 73rpx;
padding-right: 73rpx;
img {
.img_shouquan {
position: absolute;
left: -30rpx;
width: 690rpx;
height: 1130rpx;
top: -460rpx;
width: 675rpx;
height: 857rpx;
left: -24rpx;
top: -185px;
}
#txt2 {
text-align: center;
margin-top: 280rpx;
margin-top: 220rpx;
font-size: 28rpx;
color: #525252;
margin-bottom: 90rpx;
margin-bottom: 60rpx;
position: relative;
font-weight: 500;
}

BIN
static/detail/donwload.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.3 KiB

BIN
static/detail/pyq.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

BIN
static/detail/savewec.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

BIN
static/index/qbbqfl.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

BIN
static/index/schoolye.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

BIN
static/successOrder.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB