培训班管理
This commit is contained in:
@@ -2,8 +2,8 @@ let baseUrl = "";
|
||||
let socketUrl = "";
|
||||
if (process.env.NODE_ENV === 'development') {
|
||||
// 开发环境
|
||||
baseUrl = "https://api.nuttyreading.com/"; //线上正式
|
||||
// baseUrl = "http://192.168.110.100:9200/pb/"; //张川川
|
||||
//baseUrl = "https://api.nuttyreading.com/"; //线上正式
|
||||
baseUrl = "http://192.168.110.100:9200/pb/"; //张川川
|
||||
} else if (process.env.NODE_ENV === 'production') {
|
||||
// 生产环境11
|
||||
baseUrl = "https://api.nuttyreading.com/";
|
||||
|
||||
@@ -12,8 +12,8 @@
|
||||
"src" : "图片路径"
|
||||
}
|
||||
],
|
||||
"versionName" : "2.0.04",
|
||||
"versionCode" : 2004,
|
||||
"versionName" : "2.0.07",
|
||||
"versionCode" : 2007,
|
||||
"app-plus" : {
|
||||
"nvueCompiler" : "uni-app",
|
||||
"compatible" : {
|
||||
|
||||
18
pages.json
18
pages.json
@@ -773,6 +773,24 @@
|
||||
{
|
||||
"navigationBarTitleText" : "用户优惠券列表"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/trainingCourse/index",
|
||||
"style": {
|
||||
"navigationBarTitleText": "培训班管理"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/trainingCourse/detail",
|
||||
"style": {
|
||||
"navigationBarTitleText": "培训班管理"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/order/index",
|
||||
"style": {
|
||||
"navigationBarTitleText": "确认订单"
|
||||
}
|
||||
}
|
||||
],
|
||||
"globalStyle": {
|
||||
|
||||
@@ -235,6 +235,24 @@
|
||||
</view>
|
||||
<br clear="both" />
|
||||
</view>
|
||||
<view
|
||||
class="orderContent"
|
||||
v-else-if="orderContet.orderType == 'trainingClass'"
|
||||
>
|
||||
<image
|
||||
src="/static/icon/icon_pxb.png"
|
||||
mode="aspectFill"
|
||||
style="width: 100rpx; height: 100rpx"
|
||||
></image>
|
||||
<view class="itemJian">
|
||||
<view class="orderTitle" style="line-height: 100rpx">
|
||||
<text>{{orderContet.remark}}</text>
|
||||
</view>
|
||||
|
||||
<br clear="both" />
|
||||
</view>
|
||||
<br clear="both" />
|
||||
</view>
|
||||
|
||||
<view class="order_item" style="">
|
||||
<view class="orderallpri">
|
||||
|
||||
@@ -52,11 +52,27 @@
|
||||
<text class="orderstatus" v-show="slotProps.row.orderStatus == 5">已过期</text>
|
||||
</view>
|
||||
</view>
|
||||
<view v-if="slotProps.row.orderType == 'trainingClass'" class="bookinfolist">
|
||||
<image class="feng fengPoint" src="/static/icon/icon_pxb.png" mode="aspectFill">
|
||||
</image>
|
||||
<view class="btns flexbox">
|
||||
<view class="booknameleft">
|
||||
{{ slotProps.row.remark }}
|
||||
</view>
|
||||
|
||||
<view style="
|
||||
line-height: 58rpx;
|
||||
color: #333;
|
||||
font-size: 26rpx;
|
||||
font-weight: 700;
|
||||
">
|
||||
<text style="font-size: 20rpx"></text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view v-if="slotProps.row.orderType == 'relearn'" class="bookinfolist">
|
||||
<image class="feng fengPoint" src="/static/icon/fugou.png" mode="aspectFill">
|
||||
</image>
|
||||
<!-- <view class="description" >课程复读订单
|
||||
</view> -->
|
||||
<view class="btns flexbox">
|
||||
<view class="booknameleft">
|
||||
{{ slotProps.row.remark }}
|
||||
@@ -71,17 +87,9 @@
|
||||
<text style="font-size: 20rpx"></text>
|
||||
</view>
|
||||
</view>
|
||||
<!-- <view
|
||||
class="btns flexbox"
|
||||
style="color: #9f9f9f; margin-top: 10rpx; font-size: 24rpx"
|
||||
>
|
||||
下单时间:{{ slotProps.row.createTime }}
|
||||
</view> -->
|
||||
</view>
|
||||
<view v-if="slotProps.row.orderType == 'vip'" class="bookinfolist">
|
||||
<image class="feng fengPoint" src="/static/icon/vip.png" mode="aspectFill"></image>
|
||||
<!-- <view class="description" v-html="item.content">
|
||||
</view> -->
|
||||
<view class="btns flexbox">
|
||||
<view class="booknameleft">
|
||||
{{ slotProps.row.vipBuyConfigEntity?slotProps.row.vipBuyConfigEntity.title:' ' }}
|
||||
@@ -585,10 +593,6 @@
|
||||
},
|
||||
// 订单详情
|
||||
toDetail(val) {
|
||||
console.log(val, "val");
|
||||
// uni.navigateTo({
|
||||
// url:'../bookShop/commentsDetail?bookid='+val.bookid+'&bfa_id='+val.id
|
||||
// })
|
||||
uni.navigateTo({
|
||||
url: "/pages/bookShop/orderLCont?orderId=" +
|
||||
val.orderId +
|
||||
|
||||
@@ -203,6 +203,11 @@
|
||||
url: "/pages/certificate/certificate",
|
||||
type: "pageJump",
|
||||
},
|
||||
{
|
||||
name: "培训班管理",
|
||||
url: "/pages/trainingCourse/index",
|
||||
type: "pageJump",
|
||||
},
|
||||
// {
|
||||
// name: "我的湖分",
|
||||
// url: "/pages/hufen/hufen",
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
<!-- 公共组件-每个页面必须引入 -->
|
||||
<public-module></public-module>
|
||||
<z-nav-bar title="充值" bgColor="#258feb" fontColor="#fff" :homeState="options.source == 'order' ? 1000 : 2000"
|
||||
:backState="options.source == 'order' ? 2000 : 1000"></z-nav-bar>
|
||||
:backState="options.source == 'order' ? 2000 : 1000" @click-home="handleHomeClick"></z-nav-bar>
|
||||
|
||||
<view>
|
||||
<view class="cha_jine">
|
||||
@@ -235,8 +235,12 @@
|
||||
}
|
||||
|
||||
});
|
||||
// }
|
||||
|
||||
},
|
||||
//回到首页
|
||||
handleHomeClick(){
|
||||
uni.switchTab({
|
||||
url: '/pages/peanut/home'
|
||||
});
|
||||
},
|
||||
// 关闭交易订单
|
||||
finishTransaction(trans) {
|
||||
|
||||
1019
pages/order/index.vue
Normal file
1019
pages/order/index.vue
Normal file
File diff suppressed because it is too large
Load Diff
72
pages/trainingCourse/detail.vue
Normal file
72
pages/trainingCourse/detail.vue
Normal file
@@ -0,0 +1,72 @@
|
||||
<template>
|
||||
<view class="page" style=" height:100vh; background: #f6f6f8;">
|
||||
<z-nav-bar title="培训班管理"></z-nav-bar>
|
||||
<!-- 公共组件-每个页面必须引入 -->
|
||||
<public-module></public-module>
|
||||
<view v-if="image&&image.length>0">
|
||||
<image v-for="(item,index) in image" :key="index" :src="item" mode="aspectFit" class="image"></image>
|
||||
</view>
|
||||
<z-navigation></z-navigation>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import $http from '@/config/requestConfig.js';
|
||||
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
image: [],
|
||||
}
|
||||
},
|
||||
onLoad(e) {
|
||||
this.image = e.image.split(',');
|
||||
console.log(this.image)
|
||||
},
|
||||
onShow() {
|
||||
|
||||
},
|
||||
methods: {
|
||||
//获取数据
|
||||
getData(){
|
||||
uni.showLoading({
|
||||
title: '加载中'
|
||||
})
|
||||
$http.request({
|
||||
url: "common/trainingClass/trainingClassList",
|
||||
method: "POST",
|
||||
data: {
|
||||
year: this.year
|
||||
},
|
||||
header: {
|
||||
'Content-Type': 'application/json'
|
||||
},
|
||||
})
|
||||
.then(res => {
|
||||
uni.hideLoading();
|
||||
if (res.code == 0) {
|
||||
if(res.trainingClassList&&res.trainingClassList.length>0){
|
||||
this.list = res.trainingClassList;
|
||||
}else{
|
||||
this.list = [];
|
||||
this.nullStatus = true;
|
||||
}
|
||||
}
|
||||
}).catch(e => {
|
||||
|
||||
});
|
||||
},
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.image{
|
||||
width: 100%;
|
||||
height: auto;
|
||||
}
|
||||
/deep/.image img{
|
||||
position: initial;
|
||||
opacity: 1;
|
||||
}
|
||||
</style>
|
||||
191
pages/trainingCourse/index.vue
Normal file
191
pages/trainingCourse/index.vue
Normal file
@@ -0,0 +1,191 @@
|
||||
<template>
|
||||
<view class="page" style=" height:100vh; background: #f6f6f8;">
|
||||
<z-nav-bar title="培训班管理">
|
||||
<view slot="right">
|
||||
<picker mode="date" fields="year" @change="handleYearChange">
|
||||
<view class="picker">
|
||||
<uni-icons type="info" size="16"></uni-icons>{{ year || '请选择年份' }}
|
||||
</view>
|
||||
</picker>
|
||||
</view>
|
||||
</z-nav-bar>
|
||||
<!-- 公共组件-每个页面必须引入 -->
|
||||
<public-module></public-module>
|
||||
<view class="list_block" v-if="!nullStatus">
|
||||
<view class="list_item" v-for="(item,index) in list" :key="index">
|
||||
<view class="list_item_right">
|
||||
<text class="list_item_title">{{item.title}}</text>
|
||||
<text class="list_item_text">活动年份:{{item.year}}</text>
|
||||
<text class="list_item_text">培训日期:{{item.trainingDate}}</text>
|
||||
<text class="list_item_text">培训价格:<span style="color: red;">{{item.finalFee}}元</span></text>
|
||||
<view style=" display: flex; align-items: center;">
|
||||
<uni-button class="list_item_btn" @click="goToDetail(item)">了解详情</uni-button>
|
||||
<uni-button class="list_item_btn list_item_btn_bm" @click="goToBuy(item)" v-if="item.isJoin!=1&&item.singupFlag!=0">立即报名</uni-button>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="statusBg" v-if="item.isJoin==1">已报名</view>
|
||||
<view class="statusBg statusBg2" :class="item.isJoin==1?'statusBg_top':''" v-if="item.singupFlag==0">已关闭</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="zanwu" v-if="nullStatus">暂无数据</view>
|
||||
|
||||
<z-navigation></z-navigation>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import $http from '@/config/requestConfig.js';
|
||||
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
list: [],
|
||||
nullStatus: false,
|
||||
year: '',
|
||||
}
|
||||
},
|
||||
onLoad(e) {
|
||||
|
||||
},
|
||||
onShow() {
|
||||
this.getData();
|
||||
},
|
||||
methods: {
|
||||
//获取数据
|
||||
getData(){
|
||||
uni.showLoading({
|
||||
title: '加载中'
|
||||
})
|
||||
$http.request({
|
||||
url: "common/trainingClass/trainingClassList",
|
||||
method: "POST",
|
||||
data: {
|
||||
year: this.year
|
||||
},
|
||||
header: {
|
||||
'Content-Type': 'application/json'
|
||||
},
|
||||
})
|
||||
.then(res => {
|
||||
uni.hideLoading();
|
||||
if (res.code == 0) {
|
||||
if(res.trainingClassList&&res.trainingClassList.length>0){
|
||||
this.list = res.trainingClassList;
|
||||
}else{
|
||||
this.list = [];
|
||||
this.nullStatus = true;
|
||||
}
|
||||
}
|
||||
}).catch(e => {
|
||||
|
||||
});
|
||||
},
|
||||
//选择年份
|
||||
handleYearChange(event){
|
||||
this.year = event.detail.value;
|
||||
this.list = [];
|
||||
this.nullStatus = false;
|
||||
this.getData();
|
||||
},
|
||||
//了解详情
|
||||
goToDetail(item){
|
||||
uni.navigateTo({
|
||||
url: `/pages/trainingCourse/detail?image=${item.icon}`,
|
||||
});
|
||||
},
|
||||
//立即报名
|
||||
goToBuy(item){
|
||||
var data = {
|
||||
id: item.id,
|
||||
title: item.title,
|
||||
price: item.finalFee,
|
||||
identity: item.identity
|
||||
}
|
||||
uni.navigateTo({
|
||||
url: '/pages/order/index?data='+JSON.stringify(data),
|
||||
});
|
||||
},
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
.zanwu{
|
||||
font-style: 26rpx;
|
||||
line-height: 30rpx;
|
||||
padding-top: 100rpx;
|
||||
text-align: center;
|
||||
color: #999;
|
||||
}
|
||||
.list_block{
|
||||
padding: 20rpx;
|
||||
}
|
||||
.list_item{
|
||||
margin-bottom: 20rpx;
|
||||
background-color: #fff;
|
||||
border-radius: 15rpx;
|
||||
padding: 20rpx;
|
||||
box-shadow: 0px 0px 6px 0px #a7bbe4;
|
||||
position: relative;
|
||||
}
|
||||
.list_item_right{
|
||||
margin-left: 20rpx;
|
||||
}
|
||||
.list_item_right text{
|
||||
display: block;
|
||||
}
|
||||
.list_item_title{
|
||||
font-size: 32rpx;
|
||||
font-weight: bold;
|
||||
color: #333;
|
||||
line-height: 40rpx;
|
||||
padding-bottom: 10rpx;
|
||||
}
|
||||
.list_item_text{
|
||||
font-size: 26rpx;
|
||||
color: #666;
|
||||
line-height: 40rpx;
|
||||
}
|
||||
.list_item_btn{
|
||||
margin-top: 10rpx;
|
||||
width: 150rpx;
|
||||
height: 50rpx;
|
||||
text-align: center;
|
||||
line-height: 50rpx;
|
||||
border-radius: 15rpx;
|
||||
background-image: linear-gradient(90deg, #258feb 0%, #00e1ec 100%);
|
||||
font-size: 24rpx;
|
||||
color: #fff;
|
||||
}
|
||||
.list_item_btn_bm{
|
||||
margin-left: 10rpx;
|
||||
background-image: linear-gradient(90deg, #ff1f00 0%, #fa9f93 100%);
|
||||
}
|
||||
.statusBg{
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: 20rpx;
|
||||
width: 100rpx;
|
||||
height: 44rpx;
|
||||
line-height: 44rpx;
|
||||
background: #ff1f00;
|
||||
opacity: 0.8;
|
||||
border-radius: 50rpx 0 0 50rpx;
|
||||
font-size: 22rpx;
|
||||
color: #fff;
|
||||
padding-left: 20rpx;
|
||||
}
|
||||
.statusBg2{
|
||||
background: #999;
|
||||
}
|
||||
.statusBg_top{
|
||||
top: 70rpx;
|
||||
}
|
||||
.picker{
|
||||
display: flex;
|
||||
align-items: center;
|
||||
font-size: 26rpx;
|
||||
padding-right: 20rpx;
|
||||
}
|
||||
</style>
|
||||
BIN
static/icon/icon_pxb.png
Normal file
BIN
static/icon/icon_pxb.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 635 B |
@@ -426,7 +426,7 @@ export default {
|
||||
this.$emit("homeClick");
|
||||
} else {
|
||||
uni.switchTab({
|
||||
url: '/pages/homePage/index/index',
|
||||
url: '/pages/peanut/home',
|
||||
});
|
||||
}
|
||||
},
|
||||
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
28
unpackage/dist/build/app-plus/app-service.js
vendored
28
unpackage/dist/build/app-plus/app-service.js
vendored
File diff suppressed because one or more lines are too long
8
unpackage/dist/build/app-plus/app-view.js
vendored
8
unpackage/dist/build/app-plus/app-view.js
vendored
File diff suppressed because one or more lines are too long
2
unpackage/dist/build/app-plus/manifest.json
vendored
2
unpackage/dist/build/app-plus/manifest.json
vendored
File diff suppressed because one or more lines are too long
BIN
unpackage/dist/build/app-plus/static/icon/icon_pxb.png
vendored
Normal file
BIN
unpackage/dist/build/app-plus/static/icon/icon_pxb.png
vendored
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 635 B |
2
unpackage/dist/build/app-plus/view.css
vendored
2
unpackage/dist/build/app-plus/view.css
vendored
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
20639
unpackage/dist/dev/app-plus/app-service.js
vendored
20639
unpackage/dist/dev/app-plus/app-service.js
vendored
File diff suppressed because one or more lines are too long
20586
unpackage/dist/dev/app-plus/app-view.js
vendored
20586
unpackage/dist/dev/app-plus/app-view.js
vendored
File diff suppressed because one or more lines are too long
2
unpackage/dist/dev/app-plus/manifest.json
vendored
2
unpackage/dist/dev/app-plus/manifest.json
vendored
File diff suppressed because one or more lines are too long
BIN
unpackage/dist/dev/app-plus/static/icon/icon_pxb.png
vendored
Normal file
BIN
unpackage/dist/dev/app-plus/static/icon/icon_pxb.png
vendored
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 635 B |
2
unpackage/dist/dev/app-plus/view.css
vendored
2
unpackage/dist/dev/app-plus/view.css
vendored
File diff suppressed because one or more lines are too long
4
unpackage/dist/dev/app-plus/view.umd.min.js
vendored
4
unpackage/dist/dev/app-plus/view.umd.min.js
vendored
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user