2.修复已知问题

3.我发布的活动增加售后订单
4.增加售后订单详情
5.增加拒绝和同意退款单
This commit is contained in:
王创世 2025-06-09 18:28:36 +08:00
parent dc69c5e7bb
commit d611b933dd
19 changed files with 4146 additions and 3459 deletions

File diff suppressed because it is too large Load Diff

View File

@ -33,7 +33,7 @@
<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 style="font-size: 14px;">{{ formattedTime() }}</span>
</span>
<span class="line"></span>
<span class="flex align-items" style="width: 100%;justify-content: space-between;">
@ -53,8 +53,7 @@
<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;">
<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>
@ -62,18 +61,19 @@
</span>
</span>
<span class="line"></span>
<view style="width: 100%;display: flex;align-items: center;justify-content: space-between;padding-bottom:30rpx;">
<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" />
<input type="text" placeholder="订单备注" class="input" v-model="desc" />
</view>
</view>
</view>
</view>
<view class="third flex flex-column"
style="justify-content: flex-start;background: linear-gradient( 180deg, #EFFFD6 0%, #FFFFFF 30%);">
<view :class="showYes ? 'third flex flex-column yes' : 'third flex flex-column no'"
style="justify-content: flex-start;">
<view class="flex align-items" style="padding: 30rpx;justify-content: space-between;">
<view class="third-top flex align-items" style="margin: 0px;">
<span>报名信息
@ -291,16 +291,22 @@
</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;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>
<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
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>
<view @click="openUrlSuccess()" class="btn_1">我已知晓</view>
</u-popup>
</view>
</view>
@ -324,17 +330,19 @@
fomartertime() {
return dayjs(this.detail.last_time * 1000).format('YYYY-MM-DD HH:mm:ss');
},
formattedTime() {
const startTime = dateWeek(this.detail.start_time);
const endTime = dateWeekend(this.detail.end_time);
return {
formattedTime: `${startTime} - ${endTime}`
};
}
// formattedTime() {
// const startTime = dateWeek(this.detail.start_time);
// const endTime = dateWeekend(this.detail.end_time);
// return {
// formattedTime: `${startTime} - ${endTime}`
// };
// }
},
data() {
return {
showYes: true,
order_no: {},
qunShow: false,
style: {
//
@ -444,7 +452,13 @@
}
},
methods: {
formattedTime() {
const startTime = dateWeek(this.detail.start_time);
const endTime = dateWeekend(this.detail.end_time);
return `${startTime} - ${endTime}`
},
chickTeam(item, index) {
this.showYes = true;
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 => ({
@ -496,9 +510,9 @@
}
})
},
openUrlSuccess(url) {
openUrlSuccess() {
uni.redirectTo({
url: url
url: '/packageA/my/success?id=' + this.orderInfo.id + '&order_no=' + this.orderInfo.order_no
})
},
openUrl(url) {
@ -841,6 +855,8 @@
uni.$u.http.post('/api/school.newactivity.order/create', {
order_no: order_no,
}).then(res => {
console.log(res);
this.orderInfo = res.data.order_info;
if (res.code == 1) {
if (PayPirce != 0) {
this.pament()
@ -850,24 +866,22 @@
title: '报名成功',
icon: 'success',
duration: 2000,
// complete: function() {
// setTimeout(function() {
// uni.redirectTo({
// url: "/packageA/my/success?status=" + "2,3"
// })
// }, 2000);
// }
});
this.getDetail();
this.qunShow = true;
}
} else {
console.log(res.msg == '请选择正确的报名人数!');
console.log(res.msg);
if (res.msg == '请选择正确的报名人数!') {
this.showYes = false;
}
uni.showToast({
title: res.msg,
icon: 'none',
duration: 2000
})
that.uloadingShow = false
// _this.$api.toast(res.msg);
}
}).catch(error => {
@ -896,6 +910,8 @@
// uni.redirectTo({
// url: "/packageA/my/success?status=" + '2,3'
// })
//that.orderInfo = res.data.order_info;
that.getDetail();
that.qunShow = true;
console.log('支付成功', res)
} else {
@ -1683,10 +1699,12 @@
align-items: center;
}
}
.input {
text-align: right;
font-size: 28rpx;
}
.btn_1 {
width: 95%;
height: 90rpx;
@ -1701,4 +1719,12 @@
margin: 0 auto;
margin-top: 30rpx;
}
.yes {
background: linear-gradient(180deg, #EFFFD6 0%, #FFFFFF 30%);
}
.no {
background: linear-gradient(180deg, #FFF1D6 0%, #FFFFFF 30%);
}
</style>

View File

@ -1,6 +1,6 @@
<template>
<view class="detail_all">
<view class="nav" @click="goHome">
<view class="nav">
<u-navbar :is-back="true" leftIconColor="#FFFFFF" :autoBack="true" :bgColor="background"
:titleStyle='titleStyle'> </u-navbar>
</view>
@ -35,7 +35,7 @@
<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 style="color: #9C9C9C ;width: auto;">{{ detail.user.nickname }}</span>
<span class="flex justify-center align-items xieyi">
<image src="/static/detail/baohu.png" mode=""
style="width: 28rpx;height: 28rpx;margin-right: 0;"></image>
@ -95,7 +95,7 @@
</view>
</view>
<view style="display: flex;align-items: center;">
<view class="ck-qrcode" @click="openImg(detail.image)">
<view class="ck-qrcode" @click="qunShow = true">
查看
</view>
</view>
@ -284,6 +284,25 @@
</view>
</view>
<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="qunShow = false"
class="btn_1">我已知晓</view>
</u-popup>
</view>
</template>
@ -323,6 +342,7 @@
data() {
return {
qunShow:false,
height_sw: '580rpx',
style: {
//
@ -466,6 +486,7 @@
// },
//
goHome() {
console.log(1);
if (getCurrentPages().length > 1) {
uni.navigateBack()
} else {
@ -1739,7 +1760,7 @@
</style>
<style lang="scss">
.value_slide {
width: 50%;
width: 40%;
::v-deep .uni-slider-handle-wrapper {
height: 10rpx;
@ -1802,4 +1823,18 @@
line-height: 70rpx;
text-align: center;
}
.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

@ -4,8 +4,7 @@
<view class="tabs align-items">
<span class="s-header flex flex-column" v-for="(item, index) in headers" :key="index"
:class="{ selected: headerSelected(item.status) }"
@click="selectheader(item.status)">
:class="{ selected: headerSelected(item.status) }" @click="selectheader(item.status)">
{{ item.text }}
<span class="lines" :class="{ selected: headerSelected(item.status) }"></span>
</span>
@ -15,10 +14,11 @@
<view class="flex hdkuai flex-column" v-for="(item, index) in list" :key="index">
<view style="margin:0 30rpx;">
<span class="text_h">活动时间 {{dateWeeks(item.detail.start_time) +' - '+dateWeekends(item.detail.end_time)}}</span>
<span class="text_h">活动时间
{{ dateWeeks(item.detail.start_time) + '-'+dateWeekends(item.detail.end_time)}}</span>
</view>
<span class="line"></span>
<view style="margin:0 30rpx;" class="flex">
<view style="margin:0 30rpx;" class="flex" @click="toInfo(item.activity_id)">
<image class="tut" :src="item.detail.images[0]"></image>
<view style="margin-left: 20rpx;width: 80%;">
<view>
@ -45,9 +45,12 @@
</view>
<view class="flex align-items" style="justify-content: flex-end;">
<view v-if="item.status == 0 && item.cancel_last_seconds > 0" class="btn_xq" @click="toPay(item.id,item.order_no)">去支付</view>
<view v-if="item.status == 2 || item.status == 3" class="btnhx" @click="toDetail(item.id,item.order_no,item.status)">核销码</view>
<view v-if="item.status != 0" class="btn_xq" @click="toDetail(item.id,item.order_no,item.status)">查看详情</view>
<view v-if="item.status == 0 && item.cancel_last_seconds > 0" class="btn_xq"
@click="toPay(item.id, item.order_no)">去支付</view>
<view v-if="item.status == 2 || item.status == 3" class="btnhx"
@click="toDetail(item.id, item.order_no, item.status)">核销码</view>
<view v-if="item.status != 0" class="btn_xq"
@click="toDetail(item.id, item.order_no, item.status)">查看详情</view>
</view>
</view>
</view>
@ -155,7 +158,10 @@
</template>
<script>
import { dateWeek , dateWeekend } from "../../utils/dateFormat";
import {
dateWeek,
dateWeekend
} from "../../utils/dateFormat";
export default {
data() {
return {
@ -177,8 +183,7 @@
}],
size: 13,
sortStyle: ['#ff557f', '#3f3f3f'],
headers: [
{
headers: [{
status: '-3,0,2,3,4,5,6,7,9',
text: '全部'
},
@ -224,7 +229,24 @@
this.getList('-3,0,2,3,4,5,6,7,9');
}
},
onShow() {
console.log(this.selected);
this.page = 1;
this.list = [];
this.getList(this.selected);
},
onPullDownRefresh() {
uni.showLoading({
title: '加载中...'
});
this.page = 1;
this.list = [];
this.getList(this.selected);
setTimeout(() => {
uni.hideLoading();
uni.stopPullDownRefresh();
}, 2000)
},
onReachBottom() {
if (this.list.length < this.count) {
this.page++;
@ -290,6 +312,12 @@
"&classes_lib_id=" + classes_lib_id
})
},
toInfo(id) {
//123
uni.navigateTo({
url: "/packageA/center/detail?id=" + id
})
},
//
toDetail(id, order_no, status) {
if (status == 2 || status == 3) {
@ -439,15 +467,18 @@
color: #323232;
line-height: 28rpx;
}
.lines {
position: absolute;
bottom: 0;
width: 44rpx;
}
.lines.selected {
border-bottom: #323232 solid 8rpx;
}
}
.hdkuai {
background: #FFFFFF;
width: 690rpx;
@ -455,6 +486,7 @@
justify-content: space-around;
margin: 30rpx;
border-radius: 18rpx;
.text_h {
font-family: PingFang SC, PingFang SC;
font-weight: 400;
@ -466,11 +498,13 @@
text-transform: none;
}
.tut {
width: 130rpx;
height: 130rpx;
border-radius: 8rpx;
}
.foot_btn {
margin: 0 30rpx;
justify-content: space-between;
@ -478,6 +512,7 @@
color: #323232;
font-weight: 400;
box-sizing: border-box;
.btn_xq {
width: 180rpx;
height: 70rpx;
@ -487,6 +522,7 @@
border-radius: 276rpx 276rpx 276rpx 276rpx;
}
.btnhx {
width: 180rpx;
height: 70rpx;
@ -498,6 +534,7 @@
color: #BBFC5B;
margin-right: 20rpx;
}
.u-count-down__text {
color: #FF4810 !important;
}
@ -524,9 +561,11 @@
.justify-center {
justify-content: center;
}
.flex-between {
justify-content: space-between;
}
.align-items {
align-items: center;
}
@ -839,14 +878,15 @@
text-overflow: ellipsis;
/* 使用省略号表示被截断的文本 */
}
</style>
<style lang="scss">
.foot_btn {
// #ifdef MP-WEIXIN
.u-count-down__text {
color: #FF4810 !important;
}
// #endif
}
</style>

View File

@ -16,11 +16,18 @@
@click="toShlist(2)">未通过</span>
</view>
<view class="flex align-items justify-start shenhe" v-if="status == -2">
<span :class="['span_s', { active: server_status == 3 }]" @click="toAfter(3)">待售后</span>
<span :class="['span_s', { active: server_status == 6 }]" style="margin-left: 20rpx;"
@click="toAfter(6)">已售后</span>
</view>
<view :class="['hot','flex','flex-column', status == 0 ? 'wsh_hot' : '']">
<view :class="['hot', 'flex', 'flex-column', status == 0 || status == -2 ? 'wsh_hot' : '']">
<view class="content flex align-items flex-column">
<view class="flex flex-column w-100 bbb" style="position: relative;"
v-for="(item, index) in hotList" :key="index">
<view v-if="status != -2">
<image v-if="item.auth_status == 0" src="/static/my/daishenhe.png"
style="width: 134rpx; height: 106rpx;position: absolute;right: 0;"></image>
<image v-if="item.auth_status == 2" src="/static/my/wtg.png"
@ -31,8 +38,9 @@
<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>
<span
style="color: #9c9c9c; margin-left: 10rpx; width: 35%">{{ item.user.nickname }}</span>
<span style="color: #9c9c9c; margin-left: 10rpx; width: 35%">{{
item.user.nickname
}}</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>
@ -44,9 +52,10 @@
<span class="time_tex" v-if="item.status == 2">{{
"报名中"
}}</span>
<span style="margin: 0 8rpx">{{ dateWeeks(item.sign_start_time) }} </span>|<span
class="white-space"
style="margin-left: 8rpx; width: 260rpx">{{ item.address_detail }}</span>
<span style="margin: 0 8rpx">{{ dateWeeks(item.sign_start_time) }}
</span>|<span class="white-space"
style="margin-left: 8rpx; width: 260rpx">{{
item.address_detail }}</span>
</view>
</view>
@ -72,7 +81,8 @@
margin-left: -20rpx;
"></image>
<view style="margin-left: 20rpx;vertical-align: middle;font-size: 24rpx;">
{{ Number(item.join_info.people_number) + "人已上车" }}</view>
{{ Number(item.join_info.people_number) + "人已上车" }}
</view>
</view>
<view style="font-size: 26rpx; width: 24%;">
<text>核销</text>
@ -85,6 +95,45 @@
@click="detail(item.id)"> 详情 </view>
</view>
</view>
<view v-if="status == -2">
<view class="flex" style="margin-top: 24rpx">
<view class="right flex flex-column" style="align-items: self-start">
<view class="flex flex-column">
<view class="time flex align-items white-space">
<span style="color: #9C9C9C;">活动时间{{ dateWeeks(item.detail.sign_start_time)
}}</span>
</view>
</view>
<view style="height: 1px;width: 98%;background-color: #F0F0F0;margin: 30rpx 0px;">
</view>
<view class="flex align-items" style="width: 100%;">
<view>
<image
style="height: 130rpx;width: 130rpx;object-fit: cover;border-radius: 8rpx"
:src="item.detail.images[0]"></image>
</view>
<view class="title white-space" style="padding-left: 20rpx;">
<view>{{ item.detail.title }}</view>
<view
style="display: flex;justify-content: space-between;align-items: center;margin-top: 30rpx;padding-right: 30rpx;">
<view>
<text>退款金额</text>
<text v-if="server_status==3" style="color: #FF4810;font-weight: 600;">{{ item.first_refundprice }}</text>
<text v-if="server_status==6" style="color: #FF4810;font-weight: 600;">{{ item.real_refundprice }}</text>
</view>
<view style="font-size: 26rpx;color: #9C9C9C;">数量{{ item.num }}</view>
</view>
</view>
</view>
<view style="height: 1px;width: 98%;background-color: #F0F0F0;margin:30rpx 0px 0rpx 0px;">
</view>
</view>
</view>
<view class="flex align-items" style="justify-content: flex-end;padding: 0rpx 30rpx 30rpx 0rpx;">
<view style="font-weight: 600;font-size: 28rpx;width: 180rpx;height: 70rpx;text-align: center;line-height: 70rpx;background: linear-gradient( 270deg, #FBF66D 0%, #9CEAA2 100%);border-radius: 276rpx;" @click="goAfterInfo(item.id)"> 查看详情 </view>
</view>
</view>
</view>
<view class="flex flex-column flex-start align-items" v-if="hotList.length == 0"
style="margin-top: 300rpx;">
@ -182,6 +231,10 @@
{
status: "-1",
text: "已取消",
},
{
status: "-2",
text: "售后订单",
}
],
selected: "0",
@ -198,6 +251,7 @@
//
auth_status: 0,
status: 0,
server_status: '3'
};
},
onLoad(option) {
@ -211,16 +265,38 @@
}
},
// onReachBottom() {
onPullDownRefresh() {
uni.showLoading({
title: '加载中...'
});
this.page = 1;
this.list = [];
this.getHotList(this.selected);
setTimeout(() => {
uni.hideLoading();
uni.stopPullDownRefresh();
}, 2000)
},
onReachBottom() {
// if (this.list.length < this.count) {
// this.page++;
// this.getList(this.selected);
// }
// },
if (this.status == -2) {
this.page++;
this.getAfterList();
} else {
this.page++;
this.getHotList(this.selected);
}
},
methods: {
goAfterInfo(id){
uni.navigateTo({
url: "/packageA/afterSales/info?id=" + id,
});
},
//
detail(id) {
uni.navigateTo({
@ -236,7 +312,37 @@
dateWeeks(e) {
return dateWeek(e);
},
//
getAfterList() {
uni.$u.http
.get("/api/school.newworker.activity.order/order_list", {
params: {
page: this.page,
limit: 20,
server_status: this.server_status,
status: '4,5,6',
},
})
.then((res) => {
if (res.code == 1) {
const list = res.data.list || [];
this.hotList.push(...list);
} else {
uni.showToast({
title: res.msg,
icon: "none",
duration: 2000,
});
}
})
.catch((error) => {
uni.showToast({
title: "请求失败,请稍后再试",
icon: "none",
duration: 2000,
});
});
},
//
getHotList(val) {
console.log(val);
@ -252,7 +358,7 @@
uni.$u.http
.get("/api/school.new_activity/activity_list", {
params: {
page: 1,
page: this.page,
limit: 20,
order: "normal",
my: 1,
@ -263,7 +369,7 @@
.then((res) => {
if (res.code == 1) {
const list = res.data.list.data || [];
this.hotList = list;
this.hotList.push(...list);
} else {
uni.showToast({
title: res.msg,
@ -487,16 +593,29 @@
},
selectheader(status) {
this.selected = status;
this.page = 1;
this.hotList = [];
this.status = status;
if (status == -2) {
this.getAfterList();
} else {
this.getHotList(status);
}
},
headerSelected(status) {
return this.selected === status;
},
toShlist(val) {
this.page = 1;
this.hotList = [];
this.auth_status = val
this.getHotList(this.status);
},
toAfter(val) {
this.page = 1;
this.hotList = [];
this.server_status = val;
this.getAfterList();
}
},
};
@ -910,6 +1029,7 @@
margin-top: 80rpx;
margin-bottom: 70rpx;
min-height: 100vh;
width: 94%;
.hot-top {

View File

@ -5,7 +5,7 @@
<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="flex align-items justify-center">
<view class="flex align-items justify-center" @click="toInfo(detail.activity_id)">
<image class="head_img" v-if="detail.images.length > 0" :src="detail.images[0]" mode="" ></image>
<view style="margin-left: 20rpx;">
<view class="flex align-items">
@ -95,10 +95,13 @@
<!-- v-if="detailAny.feel == 0" -->
<view class="footer flex align-items flex-column" style="justify-content: space-between;" >
<view class="footer-right flex justify-center align-items" v-if="detailAny.feel == 0">
<view class="footer-right flex justify-center align-items" v-if="detailAny.detail.feel == 0 && detailAny.status==9">
<text @click="service(detailAny.id)"> 申请售后 </text>
</view>
<view class="footer-right flex justify-center align-items" v-else>
<view class="footer-right flex justify-center align-items" v-if="detailAny.detail.feel == 0 && detailAny.status==2">
<text @click="paidcancel(detailAny.id)"> 取消订单 </text>
</view>
<view class="footer-right flex justify-center align-items" v-if="detailAny.detail.feel == 1">
<text @click="cancelOrder(detailAny.id)"> 取消订单 </text>
</view>
</view>
@ -331,21 +334,69 @@
},
methods: {
//
toInfo(id){
uni.navigateTo({
url: "/packageA/center/detail?id=" + id
})
},
// (1)
paidcancel(){
uni.showLoading({
title: '处理中...'
});
uni.$u.http.post('/api/school.newactivity.order/paidcancel', {
order_no: this.order_no
}).then(res => {
if (res.code == 1) {
uni.showToast({
title: res.msg,
icon: 'none',
duration: 2000
});
this.getDetail()
// uni.navigateBack(1)
// uni.navigateBack({
// delta: 1,
// success: (event) => {
// const pages = getCurrentPages()
// let prevPage = pages[pages.length - 1]
// prevPage.onLoad(prevPage.options)
// }
// });
uni.hideLoading();
} else {
uni.showToast({
title: res.msg,
icon: 'none',
duration: 2000
});
uni.hideLoading();
}
}).catch(error => {
uni.hideLoading();
});
},
// (0)
cancelOrder() {
uni.$u.http.post('/api/school.newactivity.order/freecancel', {
order_no: this.order_no
}).then(res => {
if (res.code == 1) {
// uni.navigateBack(1)
uni.navigateBack({
delta: 1,
success: (event) => {
const pages = getCurrentPages()
let prevPage = pages[pages.length - 1]
prevPage.onLoad(prevPage.options)
}
uni.showToast({
title: res.msg,
icon: 'none',
duration: 2000
});
this.getDetail()
// uni.navigateBack(1)
// uni.navigateBack({
// delta: 1,
// success: (event) => {
// const pages = getCurrentPages()
// let prevPage = pages[pages.length - 1]
// prevPage.onLoad(prevPage.options)
// }
// });
} else {
uni.showToast({
title: res.msg,

View File

@ -18,8 +18,9 @@
昵称设置
</view>
<view class="right">
<u--input color="#9C9C9C" v-model="niName" placeholder="请输入昵称" border="none"
<u--input color="#000000" v-model="niName" placeholder="请输入昵称" border="none"
inputAlign="right"></u--input>
<u-icon name="arrow-right"></u-icon>
</view>
</view>
<view class="list-item" @click="openUrl('/packageB/wallet/add_bank')">
@ -28,8 +29,10 @@
</view>
<view class="right">
<view>
<u-icon name="arrow-right"></u-icon>
<text v-if="bankInfo.withdrawal == null" style="color: #9C9C9C;">未认证</text>
<text v-if="bankInfo.withdrawal != null">已认证</text>
</view>
<view><u-icon name="arrow-right"></u-icon></view>
</view>
</view>
<view class="list-item" @click="openSfz()">
@ -38,7 +41,7 @@
</view>
<view class="right">
<view>
<text v-if="sfInfo.status==-1">未认证</text>
<text v-if="sfInfo.status == -1" style="color: #9C9C9C;">未认证</text>
<text v-if="sfInfo.status == 1">已认证</text>
</view>
<view><u-icon name="arrow-right"></u-icon></view>
@ -219,7 +222,8 @@
name: '综合管理'
}]
],
sfInfo: {}
sfInfo: {},
bankInfo: {}
}
},
onLoad(options) {
@ -237,8 +241,17 @@
},
onShow() {
this.getSfInfo();
this.getBankList();
},
methods: {
getBankList() {
uni.$u.http
.get("/api/school.newactivity.settle_log/detail")
.then((res) => {
console.log(res);
this.bankInfo = res.data;
});
},
openSfz() {
if (this.sfInfo.status == -1) {
uni.navigateTo({

View File

@ -15,17 +15,17 @@
export default {
data() {
return {
status:'',
option:{},
};
},
onLoad(option) {
this.status = option.status;
this.option = option;
},
methods:{
//
toDetail(status){
uni.redirectTo({
url: "/packageA/my/exercise"
url: "/packageA/my/pendinPayDetail?id="+this.option.id+"&order_no="+this.option.order_no
})
},
//

View File

@ -43,7 +43,7 @@
姓名
</view>
<view>
<input type="number" placeholder="请填写真实姓名" class="input" v-model="form.name" />
<input type="text" placeholder="请填写真实姓名" class="input" v-model="form.name" />
</view>
</view>
<view style="height: 1px;width: 100%;background-color: #F0F0F0;"></view>
@ -52,7 +52,7 @@
身份证号
</view>
<view>
<input type="number" placeholder="请填写身份证号" class="input" v-model="form.idnum" />
<input type="idcard" placeholder="请填写身份证号" class="input" v-model="form.idnum" />
</view>
</view>
</view>
@ -99,6 +99,16 @@
uni.$u.toast('请填写身份证信息');
return;
}
//
const reg = /^[1-9]\d{5}(18|19|20)\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/;
if(!reg.test(this.form.idnum)){
uni.showToast({
title: '请输入正确的身份证号',
icon: "none",
duration: 1500,
});
return;
}
uni.$u.http.post('/api/school.real_name/save',this.form).then(res=>{
console.log(res);
if(res.code==1){

View File

@ -35,7 +35,7 @@
姓名
</view>
<view style="width: 75%;">
<input type="number" placeholder="请填写真实姓名" class="input" v-model="form.name" />
<input type="text" placeholder="请填写真实姓名" class="input" v-model="form.name" />
</view>
</view>
<view style="height: 1px;background-color: #F0F0F0;width: 100%;margin-top: 20rpx;"></view>
@ -44,7 +44,7 @@
身份证号
</view>
<view style="width: 75%;">
<input type="number" placeholder="请填写身份证号" class="input" v-model="form.idnum" />
<input type="idcard" placeholder="请填写身份证号" class="input" v-model="form.idnum" />
</view>
</view>
<view style="height: 1px;background-color: #F0F0F0;width: 100%;"></view>
@ -148,6 +148,16 @@ export default {
});
return;
}
//
const reg = /^[1-9]\d{5}(18|19|20)\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/;
if(!reg.test(this.form.idnum)){
uni.showToast({
title: '请输入正确的身份证号',
icon: "none",
duration: 1500,
});
return;
}
uni.$u.http.post('/api/school.newactivity.activity_join/add', this.form).then(res => {
console.log(res)
if (res.code == 1) {

View File

@ -15,7 +15,7 @@
身份证
</view>
<view style="width: 80%;">
<input placeholder-class="plasty" placeholder="请输入您的身份证号" class="input" v-model="form.id_number" />
<input type="idcard" placeholder-class="plasty" placeholder="请输入您的身份证号" class="input" v-model="form.id_number" />
</view>
</view>
<view style="height: 1px;background-color: #F0F0F0;margin: 20rpx 0;"></view>
@ -105,6 +105,16 @@ export default {
});
return;
}
//
const reg = /^[1-9]\d{5}(18|19|20)\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/;
if(!reg.test(this.form.id_number)){
uni.showToast({
title: '请输入正确的身份证号',
icon: "none",
duration: 1500,
});
return;
}
uni.$u.http
.post("/api/school.newactivity.settle_log/save", {
name: this.form.name,

View File

@ -110,19 +110,19 @@
:closeOnClickOverlay="false">
<view style="font-size: 32rpx;font-weight: 400;margin: 12rpx 0 24rpx 0;">预计待入账金额说明</view>
<view style="font-size: 26rpx;color: #3D3D3D;padding-bottom: 20px;line-height: 20px;">
<text style="font-weight: 600;">1. 活动结束时:</text>
<text>您的可入账金额会显示为"预计待入账金额</text>
<text style="font-weight: 600;">1. 活动结束时</text>
<text>您的可入账金额会显示为预计待入账金额</text>
</view>
<view style="font-size: 26rpx;color: #3D3D3D;padding-bottom: 20px;line-height: 20px;">
<text style="font-weight: 600;">2. 7天售后期:</text>
<text>活动结束后7天内若发生售后问题(如退款)对应金额将从预计待入账"中扣除您的可入账金额会显示为"预计待入账金额</text>
<text style="font-weight: 600;">2. 7天售后期</text>
<text>活动结束后7天内若发生售后问题(如退款)对应金额将从预计待入账中扣除您的可入账金额会显示为预计待入账金额</text>
</view>
<view style="font-size: 26rpx;color: #3D3D3D;padding-bottom: 20px;line-height: 20px;">
<text style="font-weight: 600;">3. 查看售后进度:</text>
<text style="font-weight: 600;">3. 查看售后进度</text>
<text>您可在我发布的-已售后中查询具体售后单详情</text>
</view>
<view style="font-size: 26rpx;color: #3D3D3D;padding-bottom: 20px;line-height: 20px;">
<text style="font-weight: 600;">4. 最终可提现金额</text>
<text style="font-weight: 600;">4. 最终可提现金额</text>
<text>7天售后期结束后剩余未扣除的金额即可全额提现</text>
</view>
<view class="popup-footer">

View File

@ -13,7 +13,9 @@
"path": "pages/index/index",
"style": {
"navigationBarTitleText": "多样青春·活动",
"navigationStyle": "custom" //
"navigationStyle": "custom", //
"enablePullDownRefresh": true
}
},
{
@ -34,7 +36,8 @@
"path": "pages/activity/index",
"style": {
"navigationBarTitleText": "活动中心",
"navigationStyle": "custom" //
"navigationStyle": "custom", //
"enablePullDownRefresh": true
}
},
{
@ -122,13 +125,15 @@
{
"path": "my/orderList",
"style": {
"navigationBarTitleText": "我发布的活动"
"navigationBarTitleText": "我发布的活动",
"enablePullDownRefresh": true
}
},
{
"path": "my/exercise",
"style": {
"navigationBarTitleText": "我参与的活动"
"navigationBarTitleText": "我参与的活动",
"enablePullDownRefresh": true
}
},
{

View File

@ -95,6 +95,17 @@
this.page++;
this.fetchMessages(this.selected);
},
onPullDownRefresh() {
uni.showLoading({
title: '加载中...'
});
this.resetLists();
this.fetchMessages(this.selected);
setTimeout(()=>{
uni.hideLoading();
uni.stopPullDownRefresh();
}, 2000)
},
methods: {
getinit() {
uni.$u.http.get('/api/index/init', {}).then(res => {

View File

@ -369,7 +369,7 @@
this.getAgreement()
this.getBqList();
this.getrefund_list();
this.getitembq();
//this.getitembq();
},
filters: {

View File

@ -37,7 +37,7 @@
<view class="first-image flex align-items" style="margin-top: 20rpx;width: 100%;">
<span class="time_tex" v-if="item.status == 2">{{ '报名中' }}</span>
<image v-if="cate_ids != 1" :src="item.user.avatar"
style="width: 36rpx;height: 36rpx;border-radius: 80rpx;"></image>
style="width: 36rpx;height: 36rpx;border-radius: 80rpx;margin-left: 10rpx;"></image>
<image v-else :src="item.headimage"
style="width: 36rpx;height: 36rpx;border-radius: 80rpx;"></image>
<span v-if="cate_ids != 1"
@ -98,7 +98,10 @@
</view>
</view>
<view class="bottom_box flex justify-center align-items" style="height: 1240rpx;width: 100%;" v-if="hotList.length == 0">
暂无数据
<view style="text-align: center;">
<image src="/static/no.png" style="width: 150rpx;height: 150rpx;"></image>
<view>暂无数据</view>
</view>
</view>
<u-loadmore v-else style="margin-bottom: 60rpx;" :status="loadStatus" />
</view>
@ -767,8 +770,6 @@
font-size: 26rpx;
color: #3D3D3D;
line-height: 30rpx;
width: 38%;
margin-left: 20rpx;
}
.text {

View File

@ -24,7 +24,7 @@
<view class="swiper-box">
<!-- <MySwiper :list="swiperList"></MySwiper> -->
<view class="swiper_s">
<swiper class="swiper_s" :autoplay="true" indicator-active-color="#0DAE11" indicator-color="#ffffff"
<swiper class="swiper_s" :circular="true" :autoplay="true" indicator-active-color="#0DAE11" indicator-color="#ffffff"
:indicator-dots="false" :current="swiperCurrent" @change="swiperChange">
<swiper-item v-for="(item, index) in swiperList" :key="index" @click="openSwiper(item)">
<view style="position: relative;width: 100%;height: 100%">
@ -325,6 +325,17 @@
// uni.hideTabBar();
},
onPullDownRefresh() {
uni.showLoading({
title: '加载中...'
});
this.resetLists();
this.getHotList();
setTimeout(()=>{
uni.hideLoading();
uni.stopPullDownRefresh();
}, 2000)
},
mounted() {
this.videoContext = uni.createVideoContext("myVideo"); //video
},

View File

@ -400,14 +400,14 @@ export default {
},
iszhuliren() {
uni.showToast({
title: '开发中,暂未开放',
title: '开发中,敬请期待~',
icon: 'none'
});
},
callPhone(phone) {
console.log(phone)
uni.showToast({
title: '开发中,暂未开放',
title: '开发中,敬请期待~',
icon: 'none'
});
// uni.makePhoneCall({

BIN
static/no.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB