Tang 3 سال پیش
والد
کامیت
ecfdc0d846
9فایلهای تغییر یافته به همراه358 افزوده شده و 214 حذف شده
  1. 2 0
      common/api.js
  2. 28 0
      common/httpList/informUser.js
  3. 1 0
      pages.json
  4. 106 27
      pages2/learn/details.vue
  5. 95 92
      pages2/learn/my_learn.vue
  6. 33 9
      pages2/msg/detail.vue
  7. 83 81
      pages2/msg/index.vue
  8. 8 3
      pages2/order/index.vue
  9. 2 2
      pages2/wd/course.vue

+ 2 - 0
common/api.js

@@ -13,6 +13,7 @@ import apply from './httpList/apply.js'
 import systemPlan from './httpList/systemPlan.js'
 import myStudent from './httpList/myStudent.js'
 import order from './httpList/order.js'
+import informUser from './httpList/informUser.js'
 export default {
 	...login,
 	...polyvVideo,
@@ -29,4 +30,5 @@ export default {
 	...systemPlan,
 	...myStudent,
 	...order,
+	...informUser,
 }

+ 28 - 0
common/httpList/informUser.js

@@ -0,0 +1,28 @@
+import {
+	myRequest
+} from '../request.js'
+export default {
+	//修改通知学员
+	courseappinformUser(data) {
+		return myRequest({
+			url: '/app/informUser',
+			method: 'post',
+			data: data
+		})
+	},
+	//查询通知学员列表
+	getappinformUserlist(data) {
+		return myRequest({
+			url: '/app/informUser/list',
+			method: 'get',
+			data: data
+		})
+	},
+	//获取通知学员详细信息
+	getappinformUserId(data) {
+		return myRequest({
+			url: '/app/informUser/' + data,
+			method: 'get',
+		})
+	},
+}

+ 1 - 0
pages.json

@@ -301,6 +301,7 @@
 			{
 				"path": "msg/index",
 				"style": {
+					"enablePullDownRefresh":true,
 					"navigationBarTitleText": "我的消息",
 					"app-plus": {
 						"titleNView": false, //禁用原生导航栏 

+ 106 - 27
pages2/learn/details.vue

@@ -1,16 +1,23 @@
 <template>
 	<view class="safeArea">
 		<view class="detailsWrap">
-			<view class="detailsItem" v-for="(item,index) in 3" :key="index">
+			<view class="topTitle">
+				<u-icon name="info-circle-fill" style="color:#FF3B30;margin-right:8rpx;"></u-icon>
+				<text>如对审核结果有异议,请勿点击确认重学。</text>
+				<view style="margin-left:34rpx;">致电020-87085982咨询</view>
+			</view>
+			<view class="detailsItem" v-for="(item, index) in listData" :key="index">
 				<view class="head">
-					<view class="tap">录播</view>
-					<view class="title">这是一个节标这是一个节标题这是一个节标题这是一个节标题这是一个节标题题</view>
+					<view class="tap">{{ getTypeName(item.type) }}</view>
+					<view class="title">{{ item.name }}</view>
 				</view>
 				<u-line color="#EEEEEE" />
 				<view class="info">
-					<view class="item" v-for="item in 7">
-						<view class="imgbox"><image src="@/static/wd_bg.png" style="width:100%" mode="heightFix"></image></view>
-						<view class="time">2021/10/25 14:25:20</view>
+					<view class="item" v-for="(items, indexs) in item.userStudyRecordPhoto" :key="indexs">
+						<view class="imgbox">
+							<image :src="$method.splitImgHost(items.photo)" style="width:100%" mode="widthFix" @click="seePhoto(item.userStudyRecordPhoto, indexs)"></image>
+						</view>
+						<view class="time">{{ $method.timestampToTime(items.createTime, false) }}</view>
 					</view>
 				</view>
 				<u-line color="#EEEEEE" />
@@ -20,48 +27,120 @@
 				</view>
 			</view>
 		</view>
-		<view class="btn">确认重学</view>
+		<view class="btn" @click="getBtn">确认重学</view>
 	</view>
 </template>
 
 <script>
 import { mapGetters } from 'vuex';
 export default {
-	components: {
-	},
+	components: {},
 	data() {
 		return {
+			goodsId: null,
+			gradeId: null,
+			listData: []
 		};
 	},
-	onShow() {
+	onLoad(option) {
+		this.goodsId = Number(option.goodsId);
+		this.gradeId = Number(option.gradeId);
+		this.getInfo();
 	},
+	onShow() {},
 	methods: {
+		seePhoto(option, index) {
+			var arrays = option.map((item, indexs) => {
+				return this.$method.splitImgHost(item.photo) + `?${indexs}`;
+			});
+			uni.previewImage({
+				current: index,
+				urls: arrays
+			});
+		},
+		getInfo() {
+			this.$api
+				.getcourseperiodcheat({
+					goodsId: this.goodsId,
+					gradeId: this.gradeId
+				})
+				.then(res => {
+					if (res.data.code === 200) {
+						this.listData = res.data.rows;
+					}
+				});
+		},
+		//重学
+		getBtn() {
+			var self = this
+			uni.showModal({
+				title:"注意",
+				content:`如对审核结果有异议,请勿点击确认重学。致电020-87085982咨询`,
+				confirmText:"确认重学",
+				success:function(res){
+					if(res.confirm){
+						self.$api.courseperiodrebuild({
+							goodsId: self.goodsId,
+							gradeId: self.gradeId
+						}).then(res => {
+							if(res.data.code === 200){
+								uni.redirectTo({
+									url: '/pages2/course/detail?id=' + self.goodsId
+								})
+							}
+						})
+					}
+				}
+			})
+		},
+		getTypeName(int) {
+			if (int === 0) {
+				return '测试';
+			}
+			if (int === 1) {
+				return '录播';
+			}
+			if (int === 2) {
+				return '直播';
+			}
+			if (int === 3) {
+				return '回放';
+			}
+		}
 	},
 	onReachBottom() {},
 	computed: { ...mapGetters(['userInfo']) }
 };
 </script>
-<style >
+<style>
 page {
-	background: #EAEEF1;
+	background: #eaeef1;
 }
 </style>
 <style scoped lang="scss">
-.detailsWrap{
-	padding:8rpx 8rpx 140rpx;
+.detailsWrap {
+	padding: 8rpx 8rpx 140rpx;
+}
+.topTitle {
+	border-radius: 24rpx;
+	background-color: #ffebea;
+	padding: 10rpx 24rpx;
+	color: #ff3b30;
+	font-size: 24rpx;
+	margin-bottom: 8rpx;
 }
-.detailsItem{
-	background: #FFFFFF;
+.detailsItem {
+	background: #ffffff;
 	border-radius: 16rpx;
 	margin-bottom: 16rpx;
-	.head{
+	.head {
 		padding: 26rpx 24rpx;
 		display: flex;
 		font-size: 30rpx;
 		font-family: PingFang SC;
 		font-weight: bold;
 		color: #666666;
-		.tap{
+		.tap {
 			width: 56rpx;
 			height: 28rpx;
 			line-height: 26rpx;
@@ -78,19 +157,19 @@ page {
 			top: 6rpx;
 		}
 	}
-	.info{
+	.info {
 		padding: 17rpx 24rpx;
 		display: flex;
 		flex-wrap: wrap;
-		.item{
+		.item {
 			width: 160rpx;
 			font-size: 20rpx;
 			font-family: PingFang SC;
 			font-weight: 500;
 			color: #666666;
 			margin: 0 8rpx 16rpx 0;
-			.imgbox{
-				width:160rpx;
+			.imgbox {
+				width: 160rpx;
 				height: 160rpx;
 				border-radius: 8px;
 				overflow: hidden;
@@ -98,27 +177,27 @@ page {
 			}
 		}
 	}
-	.reason{
+	.reason {
 		display: flex;
 		padding: 21rpx 24rpx;
 		font-size: 30rpx;
 		font-family: PingFang SC;
 		font-weight: 500;
 		color: #333333;
-		.label{
+		.label {
 			color: #666666;
 		}
 	}
 }
-.btn{
+.btn {
 	width: 526rpx;
 	height: 80rpx;
-	background: #007AFF;
+	background: #007aff;
 	border-radius: 40rpx;
 	font-size: 30rpx;
 	font-family: PingFang SC;
 	font-weight: bold;
-	color: #FFFFFF;
+	color: #ffffff;
 	display: flex;
 	justify-content: center;
 	align-items: center;

+ 95 - 92
pages2/learn/my_learn.vue

@@ -14,107 +14,70 @@
 							class="val"
 							:class="item.periodStatus === -1 || item.periodStatus === 3 ? 'red' : item.periodStatus === 1 ? 'green' : item.periodStatus === 2 ? 'blue' : ''"
 						>
-							{{
-								item.periodStatus === -1
-									? '不可审核'
-									: item.periodStatus === 1
-									? '机构审核通过'
-									: item.periodStatus === 2
-									? '等待审核'
-									: item.periodStatus === 3
-									? '机构审核不通过'
-									: ''
-							}}
+							<text>
+								{{
+									item.periodStatus === -1
+										? '不可审核'
+										: item.periodStatus === 1
+										? '机构审核通过'
+										: item.periodStatus === 2
+										? '等待审核'
+										: item.periodStatus === 3
+										? '机构审核不通过'
+										: ''
+								}}
+							</text>
+							\n
+							<view v-if="item.periodStatus === 3" style="font-size: 24rpx;color:#666;">
+								有
+								<text style="color:#FF3B30;">{{ item.rebuild }}节</text>
+								需要重修
+							</view>
 						</view>
 					</view>
-					<view class="tip">
+
+					<view class="tip" v-if="item.periodStatus === 1">
 						<view class="label">审核提示:</view>
-						<view class="val green">您的学时还未修完,请尽快完成课程学习</view>
-					</view>
-					<view v-if="item.periodStatus !== 2">
-						<u-line color="#EEEEEE" />
-					<!-- <view class="subTitle">这是一个考试标题</view> -->
-						<view class="btnBox"><view class="btn">课程学习</view></view>
-					</view>
-				</view>
-				<!-- <view class="learnItem">
-					<view class="title">2020年二建建筑工程管理与实补这是商品名称</view>
-					<view class="status">
-						<view class="label">审核状态:</view>
-						<view class="val blue">不可审核</view>
+						<view>
+							机构已审核通过,需等待注册中心复审后即可获得继续教育学时。审核时间约15个工作日,届时请前往官网申请证书延期。
+							<view class="copySty" @tap="copyText">复制官网链接</view>
+						</view>
 					</view>
-					<view class="tip">
+					<view class="tip" v-else>
 						<view class="label">审核提示:</view>
-						<view class="val green">您的学时还未修完,请尽快完成课程学习</view>
+						<view class="val color666" v-if="item.periodStatus === -1">您的学时还未修完,请尽快完成课程学习</view>
+						<view class="val color666" v-if="item.periodStatus === 2">学习完成后7-15个工作日完成学时审核。</view>
+						<view class="val color666" v-if="item.periodStatus === 3">请查看需重学记录,并及时重学对应课程,以免延误学时审核进度。</view>
 					</view>
-				</view>
-				<view class="learnItem">
-					<view class="title">2020年二建建筑工程管理与实补这是商品名称</view>
-					<view class="status">
-						<view class="label">审核状态:</view>
-						<view class="val green">机构审核完成</view>
-					</view>
-				</view>
-				<view class="learnItem">
-					<view class="title">2020年二建建筑工程管理与实补这是商品名称</view>
-					<view class="status">
-						<view class="label">审核状态:</view>
-						<view class="val green">机构审核完成</view>
-					</view>
-					<u-line color="#EEEEEE" />
-					<view class="subTitle">这是一个考试标题</view>
-					<view class="btnBox"><view class="btn">预约考试</view></view>
-				</view>
-				<view class="learnItem">
-					<view class="title">2020年二建建筑工程管理与实补这是商品名称</view>
-					<view class="status">
-						<view class="label">审核状态:</view>
-						<view class="val green">机构审核完成</view>
-					</view>
-					<u-line color="#EEEEEE" />
-					<view class="subTitle">这是一个考试标题</view>
-					<view class="btnBox"><view class="btn">进入刷题</view></view>
-				</view>
-				<view class="learnItem">
-					<view class="title">2020年二建建筑工程管理与实补这是商品名称</view>
-					<view class="status">
-						<view class="label">审核状态:</view>
-						<view class="val green">机构审核完成</view>
-					</view>
-					<view class="tip">
-						<view class="label">审核提示:</view>
-						<view class="val">
-							机构已审核通过,需等待注册中心复审后即可获得继续教育学时。审核时间约15个工作日,届时请前往官网申请证书延期。
-							<view class="link">复制官网链接</view>
+					<view v-if="item.periodStatus !== 2">
+						<u-line color="#EEEEEE" />
+						<view v-if="item.periodStatus === -1">
+							<view class="btnBox"><view class="btn" @click="jumpPage(item, 1)">课程学习</view></view>
 						</view>
-					</view>
-					<u-line color="#EEEEEE" />
-					<view class="btnBox"><view class="btn">课程学习</view></view>
-				</view>
-				<view class="learnItem">
-					<view class="title">2020年二建建筑工程管理与实补这是商品名称</view>
-					<view class="status">
-						<view class="label">审核状态:</view>
-						<view class="val red">
-							机构审核不通过
-							<view class="remark">
-								有
-								<text class="red">3节</text>
-								需重修
+						<view>
+							<view v-if="item.periodStatus === 1 && item.applyStatus === 1">
+								<view class="subTitle">{{ item.applyName }}</view>
+								<view class="btnBox"><view class="btn" @click="jumpPage(item, 2)">预约考试</view></view>
+							</view>
+							<u-line color="#EEEEEE" v-if="item.periodStatus === 1 && item.applyStatus === 1" />
+							<view v-if="item.periodStatus === 1 && item.beforeStatus === 1">
+								<view class="subTitle">{{ item.beforeName }}</view>
+								<view class="btnBox"><view class="btn" @click="jumpPage(item, 3)">进入刷题</view></view>
 							</view>
 						</view>
+
+						<view v-if="item.periodStatus === 3 && item.rebuildStatus === 0">
+							<view class="btnBox"><view class="btn" @click="jumpPage(item, 4)">查看详情</view></view>
+						</view>
+						<view v-if="item.periodStatus === 3 && item.rebuildStatus === 1">
+							<view class="btnBox"><view class="btn" @click="jumpPage(item, 5)">重修目录</view></view>
+						</view>
 					</view>
-					<view class="tip">
-						<view class="label">审核提示:</view>
-						<view class="val">请查看需重学记录,并及时重学对应课程,以免延误学时审核进度。</view>
-					</view>
-					<u-line color="#EEEEEE" />
-					<view class="btnBox"><view class="btn">课程学习</view></view>
-				</view> -->
+				</view>
 			</template>
 			<template v-if="current === 1">
-				<!-- <view class="noData">您暂无相关学习凭证记录哦~</view> -->
-				<view class="learnItem">
+				<view class="noData">您暂无相关学习凭证记录哦~</view>
+				<!-- <view class="learnItem">
 					<view class="title">2020年二建建筑工程管理与实补这是商品名称</view>
 					<view class="number">
 						<text class="label">编号:</text>
@@ -124,7 +87,7 @@
 						<view class="btn">电子照片</view>
 						<view class="btn">下载凭证</view>
 					</view>
-				</view>
+				</view> -->
 			</template>
 		</view>
 	</view>
@@ -148,11 +111,44 @@ export default {
 			listData: []
 		};
 	},
-	onLoad(option) {
+	onLoad(option) {},
+	onShow() {
 		this.getInfos();
 	},
-	onShow() {},
 	methods: {
+		copyText() {
+			uni.setClipboardData({
+				data: 'http://gdzczx.gdcic.net/',
+				success: () => {
+					//复制成功的回调函数
+					uni.showToast({
+						//提示
+						title: '复制成功'
+					});
+				}
+			});
+		},
+		jumpPage(v, int) {
+			//int 1.课程学习 2.预约考试 3.进入刷题 4.查看详情 5.重修目录
+			if (int === 1) {
+				this.$navTo.togo('/pages2/course/detail?id=' + v.goodsId);
+			}
+			if (int === 2) {
+				this.$navTo.togo(`/pages2/appointment/index?goodsId=${v.goodsId}&gradeId=${v.gradeId}`);
+			}
+			if (int === 3) {
+				uni.showModal({
+					content: '待开发',
+					showCancel: false
+				});
+			}
+			if (int === 4) {
+				this.$navTo.togo(`/pages2/learn/details?goodsId=${v.goodsId}&gradeId=${v.gradeId}`);
+			}
+			if (int === 5) {
+				this.$navTo.togo('/pages2/course/detail?id=' + v.goodsId);
+			}
+		},
 		getInfos() {
 			this.$api.getcourseperiodlistGoods().then(res => {
 				if (res.data.code === 200) {
@@ -174,6 +170,13 @@ page {
 }
 </style>
 <style scoped lang="scss">
+.copySty {
+	color: #007aff;
+	text-decoration: underline;
+}
+.color666 {
+	color: #666;
+}
 .learnWrap {
 	padding: 98rpx 8rpx 8rpx;
 }

+ 33 - 9
pages2/msg/detail.vue

@@ -1,17 +1,17 @@
 <template>
 	<view style="padding: 20rpx;">
 		<view class="item">
-			<view class="title">这是一个标题过长换行过长换行过长换行过长换行过长换行</view>
-			<view class="time">2021/10/26 10:30:26</view>
-			<view class="content">
-				这是一段通知的文本内容,这是一段通知的文本内容,这是一段通知的文本内容,
-				这是一段通知的文本内容,这是一段通知的文本内容,这是一段通知的文本内容,
-				这是一段通知的文本内容,这是一段通知的文本内容,这是一段通知的文本内容,这是一段通知的文本内容,这是一段通知的文本内容,这是一段通知的文本内容,这是一段通知的文本内容,这是一段通知的文本内容。
+			<view class="title">{{listData.informVo.informName}}</view>
+			<view class="time">{{ $method.timestampToTime(listData.sendTime, false) }}</view>
+			<view class="content" v-html="listData.informVo.affiche"  style="width: 100%;">
 			</view>
 		</view>
-		<view class="btn1">
+		<view class="btn1" @click="isOk" v-if="listData.receiptStatus === 0">
 			我已阅读
 		</view>
+		<view class="btn1" @click="backPage" v-if="listData.receiptStatus === 1">
+			返回
+		</view>
 	</view>
 </template>
 
@@ -24,7 +24,8 @@ export default {
 	},
 	data() {
 		return {
-			
+			listData:{},
+			id:null,
 			img1:'/static/icon/msg_icon1.png',
 			img2:'/static/icon/msg_icon2.png'
 		};
@@ -32,7 +33,8 @@ export default {
 	onPullDownRefresh(){
 	},
 	onLoad(option) {
-		
+		this.id = Number(option.id)
+		this.getInfo()
 	},
 	onShow() {
 		/* if(this.current === 2 && this.$method.isLogin()){
@@ -47,6 +49,28 @@ export default {
 		};
 	},
 	methods: {
+		isOk(){
+			this.$api.courseappinformUser({id:this.listData.id,receiptStatus:1}).then(res => {
+				if(res.data.code === 200){
+					uni.navigateBack({
+					    delta: 1
+					});
+				}
+			})
+		},
+		backPage(){
+			uni.navigateBack({
+			    delta: 1
+			});
+		},
+		getInfo(){
+			this.$api.getappinformUserId(this.id).then(res => {
+				if(res.data.code === 200){
+					res.data.data.informVo.affiche = res.data.data.informVo.affiche.replace(/<img/gi,'<img style="max-width:100%;"')
+				this.listData = res.data.data
+				}
+			})
+		},
 		change(index){
 			this.current = index;
 		}

+ 83 - 81
pages2/msg/index.vue

@@ -1,20 +1,18 @@
 <template>
 	<view style="padding: 20rpx;">
-		<view  v-for="(item, index) in list1" style="padding-bottom: 20rpx;">
-			<navigator url="/pages2/msg/detail" class="item">
-				<view style="display: flex;justify-content: space-between;align-items: center;height: 60rpx;" @click="openPopup(index)">
+		<view v-for="(item, index) in listData" :key="index" style="padding-bottom: 20rpx;">
+			<navigator :url="`/pages2/msg/detail?id=${item.id}`" class="item" :style="item.receiptStatus === 1 ? 'opacity: 0.7' : ''">
+				<view style="display: flex;justify-content: space-between;align-items: center;height: 60rpx;">
 					<view style="color: #333333;font-size: 30rpx;font-weight: bold;display: flex;align-items: center;">
-						<image :src="index==0?img1:img2" style="width: 40rpx;height: 40rpx;margin-right: 10rpx;"></image>系统通知
+						<image :src="item.systemStatus === 1 ? img1 : img2" style="width: 40rpx;height: 40rpx;margin-right: 10rpx;"></image>
+						系统通知
 					</view>
-					<view style="color: #999999;font-size: 24rpx;">2021/10/26 10:30:26</view>
+					<view style="color: #999999;font-size: 24rpx;">{{ $method.timestampToTime(item.sendTime, false) }}</view>
 				</view>
 				<u-line color="#D6D6DB" />
-				<view style="display: flex;justify-content: space-between;padding: 25rpx;color: #666666;">
-					这是一个通知标题这是一个通知标题这是一个通知
-					标题过长换行
-				</view>
+				<view style="display: flex;justify-content: space-between;padding: 25rpx;color: #666666;">{{ item.informVo.informName }}</view>
 				<u-line color="#D6D6DB" />
-				<view style="display: flex;justify-content: space-between;align-items: center;height: 50rpx;margin-top: 10rpx;padding: 0 25rpx;" >
+				<view style="display: flex;justify-content: space-between;align-items: center;height: 50rpx;margin-top: 10rpx;padding: 0 25rpx;">
 					<view class="color: #333333;font-size: 28rpx;">查看详情</view>
 					<view><u-icon name="arrow-right" color="#999999" size="28"></u-icon></view>
 				</view>
@@ -24,40 +22,41 @@
 </template>
 
 <script>
-
 import { mapGetters } from 'vuex';
 export default {
-	components: {
-		
-	},
+	components: {},
 	data() {
 		return {
 			list: [
 				{
 					name: '待支付'
-				}, 
+				},
 				{
 					name: '已支付'
-				}, 
+				},
 				{
 					name: '已取消'
 				}
 			],
-			list1:[1,2,3,4,5,6,7],
+			list1: [1, 2, 3, 4, 5, 6, 7],
 			current: 0,
-			img1:'/static/icon/msg_icon1.png',
-			img2:'/static/icon/msg_icon2.png'
+			img1: '/static/icon/msg_icon1.png',
+			img2: '/static/icon/msg_icon2.png',
+			listData: []
 		};
 	},
-	onPullDownRefresh(){
-	},
-	onLoad(option) {
-		
+	onPullDownRefresh() {
+		this.$api.getappinformUserlist().then(res => {
+			if (res.data.code === 200) {
+				this.listData = res.data.rows;
+			}
+		}).finally(()=>{
+        uni.stopPullDownRefresh()
+      })
 	},
+	onLoad(option) {},
 	onShow() {
-		/* if(this.current === 2 && this.$method.isLogin()){
-			this.$refs.refMy.init();
-		} */
+		this.getInfo();
 	},
 	onShareAppMessage(res) {
 		var self = this;
@@ -67,67 +66,70 @@ export default {
 		};
 	},
 	methods: {
-		change(index){
-			this.current = index;
+		getInfo() {
+			this.$api.getappinformUserlist().then(res => {
+				if (res.data.code === 200) {
+					this.listData = res.data.rows;
+				}
+			});
 		}
 	},
 	onReachBottom() {},
 	computed: { ...mapGetters(['userInfo']) }
 };
 </script>
-<style >
-	page {
-			background: #EAEEF1;
-		}
+<style>
+page {
+	background: #eaeef1;
+}
 </style>
 <style scoped>
-	.btn2{
-		width: 144rpx;
-		height: 48rpx;
-		background: #FFFFFF;
-		border: 2rpx solid #007AFF;
-		border-radius: 16rpx;
-		text-align: center;
-		line-height: 48rpx;
-		color: #007AFF;
-		margin: 0 8rpx;
-	}
-	.btn1{
-		width: 144rpx;
-		height: 48rpx;
-		background: #FFFFFF;
-		border: 2rpx solid #999999;
-		border-radius: 16rpx;
-		text-align: center;
-		line-height: 48rpx;
-		color: #999999;
-		margin: 0 8rpx;
-	}
-.item{
-		
-		background: #FFFFFF;
-		border-radius: 16rpx;
-		padding: 15rpx;
-	}
-	.priceTag{
-		font-size: 30rpx;
-		font-family: PingFang SC;
-		font-weight: bold;
-		color: #FF2D55;
-		display: flex;
-		flex-direction: row-reverse;
-	}
-	
-	.bottomBox{
-		position: fixed;
-		bottom: 0;
-		width: 100%;
-		left: 0;
-		height:98rpx ;
-		background-color: #FFFFFF;
-		display: flex;
-		justify-content: space-between;
-		align-items: center;
-		padding: 0 30rpx;
-	}
+.btn2 {
+	width: 144rpx;
+	height: 48rpx;
+	background: #ffffff;
+	border: 2rpx solid #007aff;
+	border-radius: 16rpx;
+	text-align: center;
+	line-height: 48rpx;
+	color: #007aff;
+	margin: 0 8rpx;
+}
+.btn1 {
+	width: 144rpx;
+	height: 48rpx;
+	background: #ffffff;
+	border: 2rpx solid #999999;
+	border-radius: 16rpx;
+	text-align: center;
+	line-height: 48rpx;
+	color: #999999;
+	margin: 0 8rpx;
+}
+.item {
+	background: #ffffff;
+	border-radius: 16rpx;
+	padding: 15rpx;
+}
+.priceTag {
+	font-size: 30rpx;
+	font-family: PingFang SC;
+	font-weight: bold;
+	color: #ff2d55;
+	display: flex;
+	flex-direction: row-reverse;
+}
+
+.bottomBox {
+	position: fixed;
+	bottom: 0;
+	width: 100%;
+	left: 0;
+	height: 98rpx;
+	background-color: #ffffff;
+	display: flex;
+	justify-content: space-between;
+	align-items: center;
+	padding: 0 30rpx;
+}
 </style>

+ 8 - 3
pages2/order/index.vue

@@ -13,7 +13,11 @@
 							<view style="color: #999999;font-size: 24rpx;">{{ $method.timestampToTime(item.createTime) }}</view>
 						</view>
 						<u-line color="#D6D6DB" />
-						<view style="display: flex;justify-content: space-between;padding: 25rpx 0;border-bottom: 1rpx solid #eee;" v-for="(items, indexs) in item.orderGoodsList" :key="indexs">
+						<view
+							style="display: flex;justify-content: space-between;padding: 25rpx 0;border-bottom: 1rpx solid #eee;"
+							v-for="(items, indexs) in item.orderGoodsList"
+							:key="indexs"
+						>
 							<image src="/static/login_bg.jpg" style="height: 134rpx;width: 278rpx;border-radius: 16rpx;flex-shrink: 0;"></image>
 							<view style="margin-left: 20rpx;flex:1;display: flex;flex-direction: column;">
 								<view style="color: #333333;font-size: 30rpx;font-weight: bold;flex:1">{{ items.goodsName }}</view>
@@ -22,9 +26,9 @@
 						</view>
 						<view style="height: 80rpx;display: flex;justify-content: space-between;align-items: center;">
 							<view>
-								<text style="color:#999;font-size: 24rpx;margin-right: 8rpx;">共{{item.orderGoodsList.length}}项</text>
+								<text style="color:#999;font-size: 24rpx;margin-right: 8rpx;">共{{ item.orderGoodsList.length }}项</text>
 								<text style="color: #333;font-size: 30rpx;font-weight: bold;">合计</text>
-								<text style="color:#ff2d55;font-size: 30rpx;font-weight: bold;">¥{{item.payPrice}}</text>
+								<text style="color:#ff2d55;font-size: 30rpx;font-weight: bold;">¥{{ item.payPrice }}</text>
 							</view>
 							<view style="display: flex;align-items: center;">
 								<view class="btn2" v-if="item.orderStatus === 0">继续支付</view>
@@ -83,6 +87,7 @@ export default {
 		};
 	},
 	methods: {
+		openPopup() {},
 		//删除订单
 		delOrder(item) {
 			var self = this;

+ 2 - 2
pages2/wd/course.vue

@@ -10,11 +10,11 @@
 			<view class="bottomBox">
 				<view class=".content_box">
 					<image src="/static/icon/wk_icon3.png" class="wk_icon"></image>
-					学习进度:26/120
+					学习进度:{{item.stuAllNum}}/{{item.secAllNum}}
 				</view>
 				<view class="box_progress">
 					<view style="width: 60%;">
-						<u-line-progress active-color="#ff9900" :percent="70"></u-line-progress>
+						<u-line-progress active-color="#ff9900" :percent="(item.stuAllNum / item.secAllNum) * 100"></u-line-progress>
 					</view>
 					<view>
 						<u-button type="warning" size="mini" @click.stop="studyIn(item)">进入学习</u-button>