Kaynağa Gözat

课程详情页面,题库详情页面和首页页面布局

xuqiaoying 3 yıl önce
ebeveyn
işleme
0df8a16e7c

+ 2 - 2
common/request.js

@@ -5,10 +5,10 @@ import api from './api.js'
 var num = 1
 //接口api   
 // export const BASE_URL = 'https://api.xyyxt.net'   //release
-export const BASE_URL = 'https://test.xyyxt.net'   //预发布
+// export const BASE_URL = 'https://test.xyyxt.net'   //预发布
 // export const BASE_URL = 'http://42.192.164.187:19005'    //test
 // export const BASE_URL = 'http://192.168.1.222:5055'    //后端本地更新到222
-// export const BASE_URL = 'http://192.168.1.24:5055'    //后端本地
+export const BASE_URL = 'http://192.168.1.24:5055'    //后端本地
 
  //图片上传api
 // export const BASE_IMG_URL = 'https://file.xyyxt.net/'     //release

+ 5 - 4
components/course/courseSection.vue

@@ -593,14 +593,15 @@ export default {
 		text-align: center;
 	}
 	.tryBox{
-		width: 96rpx;
+		width: 103rpx;
 		height: 48rpx;
-		background: #007AFF;
+		background: #fff;
 		border-radius: 24rpx;
-		color: #FFFFFF;
-		font-size: 30rpx;
+		color: #3577E8;
+		font-size: 24rpx;
 		line-height: 48rpx;
 		text-align: center;
+		border: 1rpx solid #3577E8;
 	}
 	.icon_up{
 		width: 24rpx;

+ 86 - 105
pages/index/index.vue

@@ -102,32 +102,30 @@
 			<view class="course-list" v-show="tabCurrent==0">
 				<navigator  hover-class="none" class="list_item" v-for="(item,index) in list1" :key="index" :url="'/pages3/course/detail?id='+item.goodsId">
                     <view class="course_content">
-                        <view class="img">
-                            <image :src="$method.splitImgHost(item.coverUrl, true)"></image>
-                            <view class="time" v-if="item.year">{{item.year?item.year:''}}</view>
-                        </view>
-                        <view class="text">
-                            <view class="c_title">{{item.goodsName}}</view>
-							<!-- <view v-if="item.studyStartTime && item.studyEndTime" class="learn_ranges">
-								<image class="l_range" src="/static/learn/learn_range.png"></image>
-								学习周期:
-								<text class="l_time">{{ item.studyStartTime | formate('yyyy.mm.dd') }} - {{ item.studyEndTime | formate('yyyy.mm.dd') }}</text>
-							</view> -->
-                            <view v-if="item.buyUserNum" class="joins">
-								<image class="people" src="/static/index/people.png"></image>
-								<!-- 为0时,不显示 -->
-								<text>{{ item.buyUserNum }}人参与</text>
+						<view class="c_title">{{item.goodsName}}</view>
+						<view class="c_downs">
+							<view class="img">
+                            	<image :src="$method.splitImgHost(item.coverUrl, true)"></image>
+								<view class="time" v-if="item.year">{{item.year?item.year:''}}</view>
 							</view>
-                            <view class="desc">
-                                <view class="left">
-                                    <text class="mon_t">¥ {{toFixed(item.standPrice)}}</text>
-									<text class="sale">限时优惠</text>
-                                </view>
-                                <view class="right">
-                                    <view class="regiser_row">立即报名</view>
-                                </view>
-                            </view>
-                        </view>
+							<view class="text">
+								<view class="desc">
+									<view class="left">
+										<text class="mon_t">¥ {{toFixed(item.standPrice)}}</text>
+										<text class="sale">/限时优惠</text>
+									</view>
+									<view class="right">
+										<view class="regiser_row">立即购买</view>
+									</view>
+								</view>
+								<view v-if="item.buyUserNum" class="joins">
+									<!-- <image class="people" src="/static/index/people.png"></image> -->
+									<!-- 为0时,不显示 -->
+									<view class="people">{{ item.buyUserNum }}人参与</view>
+								</view>
+							</view>
+						</view>
+                        
                     </view>
 					
 					
@@ -151,26 +149,32 @@
 					</view> -->
 
                     <view class="course_content">
-                        <view class="img">
-                            <image :src="$method.splitImgHost(item.coverUrl, true)"></image>
-                            <view class="time" v-if="item.year">{{item.year?item.year:''}}</view>
-                        </view>
-                        <view class="text">
-							<view class="c_title">{{item.goodsName}}</view>
-                            <view  v-if="item.buyUserNum" class="joins">
-								<image class="people" src="/static/index/people.png"></image>
-								<text>{{ item.buyUserNum }} 人参与</text>
+						<view class="c_title">{{item.goodsName}}</view>
+						<view class="c_downs">
+							<view class="img">
+								<image :src="$method.splitImgHost(item.coverUrl, true)"></image>
+								<view class="time" v-if="item.year">{{item.year?item.year:''}}</view>
+							</view>
+							<view class="text">
+								<view class="desc">
+									<view class="left">
+										<text class="mon_t">¥ {{toFixed(item.standPrice)}}</text>
+										<text class="sale">/限时优惠</text>
+									</view>
+									<view class="right">
+										<view class="regiser_row">立即报名</view>
+									</view>
+								</view>
+								<!-- <view class="c_title">{{item.goodsName}}</view> -->
+								<view v-if="item.buyUserNum" class="joins">
+									<!-- <image class="people" src="/static/index/people.png"></image> -->
+									<!-- 为0时,不显示 -->
+									<view class="people">{{ item.buyUserNum }}人参与</view>
+								</view>
+								
 							</view>
-                            <view class="desc">
-                                <view class="left">
-                                    <text class="mon_t">¥ {{toFixed(item.standPrice)}}</text>
-									<text class="sale">限时优惠</text>
-                                </view>
-                                <view class="right">
-                                    <view class="regiser_row">立即报名</view>
-                                </view>
-                            </view>
-                        </view>
+						</view>
+                        
                     </view>
 					
 				</navigator> 
@@ -847,7 +851,7 @@ export default {
 			display: flex;
 			align-items: center;
 			justify-content: space-between;
-			background-color: #E0E1E2;
+			background-color: #F2F7FF;
 			border-radius: 38rpx;
 			margin: 34rpx 0rpx 24rpx 0rpx;
 			padding: 0rpx 5rpx;
@@ -870,32 +874,32 @@ export default {
 		.course-list {
 			box-shadow: 0px 10rpx 9rpx 1rpx rgba(165, 196, 239, 0.1);			
 			.list_item {
-                padding: 0rpx 14rpx;
-				height: 278rpx;
+                padding: 24rpx;
+				// height: 278rpx;
 				background: #FFFFFF;
 				box-shadow: 0rpx 0rpx 20rpx 1rpx rgba(1,99,235,0.1000);
 				border-radius: 24rpx;
                 background:#fff;
-                margin-bottom: 21rpx;
+                margin-bottom: 32rpx;
 				display: flex;
     			align-items: center;
                 .c_title {
-                    font-size: 28rpx;
+                    font-size: 32rpx;
                     font-weight: bold;
-                    margin-bottom: 14rpx;
+                    margin-bottom: 24rpx;
                     font-weight: bold;
+					color: #222222;
                 }
-                .course_content {
-					height: 227rpx;
-                    display: flex;
-                }
+				.c_downs {
+					display: flex;
+				}
 				.img {
 					position:relative;
-					margin-right: 35rpx;
+					margin-right: 24rpx;
 					border-radius: 16rpx ;
 					overflow: hidden;
-					width: 202rpx;
-					height: 227rpx;
+					width: 204rpx;
+					height: 120rpx;
 					image {
 						width:100%;
 						height:100%;
@@ -917,84 +921,61 @@ export default {
 				}
 				
 				.text {
-					width: 437rpx;
-					flex:1;
-					padding-right:10rpx;
+					width: 440rpx;
 					position: relative;
-					.learn_ranges {
-						color: #999;
-						font-size: 24rpx;
-						margin-top: 24rpx;
-						display: flex;
-    					align-items: center;
-						.l_range {
-							width: 20rpx;
-							height: 24rpx;
-							margin-right: 9rpx;
-						}
-						.l_time {
-							color: #333;
-						}
-					}
+					display: flex;
+					flex-direction: column;
+					justify-content: space-between;
+					height: 120rpx;
 					.joins {
-						font-size: 20rpx;
-						color: #3577E8;
-						margin-top: 24rpx;
-						display: flex;
-    					align-items: center;
 						.people {
-							width: 22rpx;
-							height: 22rpx;
-							margin-right: 10rpx;
-						}
-						.zan {
-							width: 25rpx;
-							height: 25rpx;
-							margin-right: 10rpx;
+							width: 160rpx;
+							font-size: 20rpx;
+							color: #999999;
+							padding: 0rpx 8rpx;
+							text-align: center;
+							height: 36rpx;
+							line-height: 36rpx;
+							background: #F6F7FB;
+							border-radius: 4px;
 						}
+						
 					}
 					.desc {
-						margin-top:40rpx;
+						margin-top: 10rpx;
 						display: flex;
-						align-items: flex-end;
-    					justify-content: center;
-						position: absolute;
-						bottom: 0;
+						align-items: center;
+    					justify-content: space-between;
 						width: 100%;
 						.left {
 							flex:1;
 							color:#333;
 							font-size: 26rpx;
-							// .line_t {
-                            //     text-decoration: line-through;
-                            // }
                             .mon_t {
                                 font-weight: bold;
 								color: #FC3F3F;
-								font-size: 32rpx;
+								font-size: 36rpx;
                             }
 							.sale {
 								color: #999999;
-								font-size: 15rpx;
-								margin-left: 16rpx;
+								font-size: 20rpx;
+								margin-left: 4rpx;
 							}
 						}
 						
 						.right {
 							font-size: 24rpx;
 							font-weight: bold;
-							// color: #FF2D55;
                             .regiser_row {
-                                width: 165rpx;
-                                height: 48rpx;
-                                line-height: 48rpx;
+                                width: 144rpx;
+                                height: 52rpx;
+                                line-height: 52rpx;
                                 text-align: center;
-                                border-radius: 0rpx 16rpx 16rpx 16rpx;
+                                border-radius: 16rpx;
                                 background-color: #FC3F3F;
                                 color: #fff;
 								font-weight: 500;
 								font-size: 26rpx;
-                                // margin-right: 30rpx;
                             }
 						}
 					}

+ 200 - 87
pages2/bank/detail.vue

@@ -2,88 +2,117 @@
 	<view>
 		<nav-bar title="题库详情"></nav-bar>
 		<view style="background-color: #FFFFFF;">
-			<view>
-				<image :src="$method.splitImgHost(goodsData.coverUrl, true)" style="width: 100%;"></image>
-				<view style="padding:20rpx">
+			<!-- <view> -->
+				<image :src="$method.splitImgHost(goodsData.coverUrl, true)" style="width: 100%;height: 400rpx;"></image>
+				<!-- <view style="padding:20rpx">
 					<view style="display: flex;margin-top: 13rpx;">
 						<view class="yearTag" v-if="goodsData.year">{{ goodsData.year }}</view>
 						<view class="titleTag">{{ goodsData.goodsName }}</view>
-					</view>
+					</view> -->
 					<!-- <view style="display: flex;justify-content: space-between;margin-top: 13rpx;" v-if="false">
 						<view class="noteTag"><image src="/static/icon/wk_icon1.png" class="wk_icon"></image>
 						共 <text class="blackFont">{{goodsData.updateTime}}</text> 张卷 <text class="blackFont">1200</text> 道题  </view>
 						
 					</view> -->
+				<!-- </view> -->
+			<!-- </view> -->
+			
+			<!-- <u-line color="#D6D6DB" /> -->
+		</view>
+
+		<view class="contents">
+			<view class="cou_title">
+				<view class="title_name">
+					<view class="titleTag">{{ goodsData.goodsName }}</view>
 				</view>
+				<view style="display: flex;justify-content: space-between;margin-top: 13rpx;">
+					<view class="noteTag">
+						<!-- 共 <text class="blackFont">{{ goodsData.chapterNum }} 张卷 {{goodsData || '-'}}</text> 道题 -->
+					</view>
+					<view class="prices">
+						<text class="price_sym">¥</text>
+						<text class="price_word">{{ goodsData.standPrice }}</text>
+					</view>
+				</view>
+				<view><u-line color="#D6D6DB" /></view>
 			</view>
-			<u-line color="#D6D6DB" />
-			<view>
+
+			<!-- <view>
 				<view><u-tabs :list="list" item-width="50%" font-size="30" bar-width="24" :current="current" @change="change" active-color="#007AFF"></u-tabs></view>
+			</view> -->
+			<view class="tabs">
+				<view v-for="(item, index) in list" :key="index" class="tab_item"
+					:class="[{nactive: current == index}]" @click="change(index)">{{ item.name }}</view>
 			</view>
-			<u-line color="#D6D6DB" />
-		</view>
-		<view class="intro" v-if="current == 0">
-			<view v-if="goodsData.mobileDetailHtml" class="content" style="padding:10rpx;"><rich-text :nodes="goodsData.mobileDetailHtml"></rich-text></view>
-		</view>
-		<view class="title-list" v-if="current == 1">
-			<view class="content">
-				<view class="list" v-for="(item1, index1) in bankList" :key="index1">
-					<template v-if="item1.type == 1">
-						<view class="moduleItem" @click="clickModule(index1,item1.majorId)">
-							<view class="courseName">{{ item1.name }}</view>
-							<view>
-								<image src="/static/icon/up.png" class="icon_up" v-if="!item1.showList"></image>
-								<image src="/static/icon/down.png" class="icon_up" v-if="item1.showList"></image>
-							</view>
-						</view>
 
-						<template v-if="item1.showList">
-							<view v-for="(item2, index2) in item1.list" :key="index2">
-								<view class="section" @click="changeItem(index1,index2,item2.chapterExamId,item1.type)">
-									<image src="/static/icon/down1.png" class="icon_up" v-if="item2.showList"></image>
-									<image src="/static/icon/up1.png" class="icon_up" v-if="!item2.showList"></image>
-									<!-- <u-icon  v-if="!item2.showList" name="arrow-up"></u-icon>
-									<u-icon  v-if="item2.showList" name="arrow-down"></u-icon> -->
-									<text style="margin-left:34rpx;">{{ item2.name }}</text>
+			<view class="intro" v-if="current == 0">
+				<view v-if="goodsData.mobileDetailHtml" class="content" style="padding:10rpx;"><rich-text :nodes="goodsData.mobileDetailHtml"></rich-text></view>
+			</view>
+			<view class="title-list" v-if="current == 1">
+				<view class="content">
+					<view class="list" v-for="(item1, index1) in bankList" :key="index1">
+						<template v-if="item1.type == 1">
+							<view class="moduleItem" @click="clickModule(index1,item1.majorId)">
+								<view class="courseName">{{ item1.name }}</view>
+								<view>
+									<image src="/static/icon/up.png" class="icon_up" v-if="!item1.showList"></image>
+									<image src="/static/icon/down.png" class="icon_up" v-if="item1.showList"></image>
 								</view>
-								<view class="article-list" v-if="item2.showList">
-									<view class="article" :class="{ active: showTest(article.examId) }" v-for="(article, index3) in item2.list" :key="index3">
-										<view class="flex_auto">{{ article.examName }}</view>
-										<view class="btn" @click="goTest(item1.type,article)" v-if="showTest(article.examId)">试做</view>
+							</view>
+
+							<template v-if="item1.showList">
+								<view v-for="(item2, index2) in item1.list" :key="index2">
+									<view class="section" @click="changeItem(index1,index2,item2.chapterExamId,item1.type)">
+										<!-- <image src="/static/icon/down1.png" class="icon_up" v-if="item2.showList"></image>
+										<image src="/static/icon/up1.png" class="icon_up" v-if="!item2.showList"></image> -->
+										<u-icon v-if="!item2.showList" name="arrow-right" color="#999" size="24"></u-icon>
+										<u-icon v-if="item2.showList" name="arrow-down" color="#999" size="24"></u-icon>
+										<text class="item_name">{{ item2.name }}</text>
+									</view>
+									<view class="article-list" v-if="item2.showList">
+										<view class="article" :class="{ active: showTest(article.examId) }" v-for="(article, index3) in item2.list" :key="index3">
+											<view class="flex_auto">{{ article.examName }}</view>
+											<view class="btn" @click="goTest(item1.type,article)" v-if="showTest(article.examId)">试做</view>
+										</view>
 									</view>
+									<u-line></u-line>
 								</view>
-								<u-line></u-line>
-							</view>
+							</template>
 						</template>
-					</template>
 
-					<template v-if="item1.type == 2">
-						<view class="section" @click="changeItem(index1,'',item1.majorId,item1.type)" >
-							<image src="/static/icon/down1.png" class="icon_up" v-if="item1.showList"></image>
-							<image src="/static/icon/up1.png" class="icon_up" v-if="!item1.showList"></image>
-							<!-- <u-icon  v-if="!item1.showList" name="arrow-up"></u-icon>
-							<u-icon  v-if="item1.showList" name="arrow-down"></u-icon> -->
-							<text style="margin-left:34rpx;">{{ item1.name }}</text>
-						</view>
-						<view class="article-list" v-if="item1.showList" >
-							<view class="article" :class="{active:showTest(article.examId)}"  :key="index2" v-for="(article,index2) in item1.list">
-								<view class="flex_auto">{{article.examName}}</view>
-								<view class="btn" @click="goTest(item1.type,article)"  v-if="showTest(article.examId)">试做</view>
+						<template v-if="item1.type == 2">
+							<view class="section" @click="changeItem(index1,'',item1.majorId,item1.type)" >
+								<!-- <image src="/static/icon/down1.png" class="icon_up" v-if="item1.showList"></image>
+								<image src="/static/icon/up1.png" class="icon_up" v-if="!item1.showList"></image> -->
+								<u-icon v-if="!item1.showList" name="arrow-right" color="#999" size="24"></u-icon>
+								<u-icon v-if="item1.showList" name="arrow-down" color="#999" size="24"></u-icon>
+								<text class="item_name">{{ item1.name }}</text>
+							</view>
+							<view class="article-list" v-if="item1.showList" >
+								<view class="article" :class="{active:showTest(article.examId)}"  :key="index2" v-for="(article,index2) in item1.list">
+									<view class="flex_auto">{{article.examName}}</view>
+									<view class="btn" @click="goTest(item1.type,article)"  v-if="showTest(article.examId)">试做</view>
+								</view>
 							</view>
-						</view>
-					</template>
+						</template>
 
-					<template v-if="item1.type == 3">
-						<view class="article" :class="{ active: showTest(item1.majorId) }">
-							<view class="flex_auto">{{ item1.name }}</view>
-							<view class="btn" @click="goTest(item1.type,item1)" v-if="showTest(item1.majorId)">试做</view>
-						</view>
-					</template>
+						<template v-if="item1.type == 3">
+							<view class="article" :class="{ active: showTest(item1.majorId) }">
+								<view class="flex_auto">{{ item1.name }}</view>
+								<view class="btn" @click="goTest(item1.type,item1)" v-if="showTest(item1.majorId)">试做</view>
+							</view>
+						</template>
+					</view>
 				</view>
 			</view>
 		</view>
+		
 		<view class="bottomBox" v-if="!hideBuyState">
-			<view class="priceTag">¥ {{ toFixed(goodsData.standPrice) }}</view>
+			<!-- <view class="priceTag">¥ {{ toFixed(goodsData.standPrice) }}</view> -->
+			<view class="icons">
+				<image src="/static/index/share.png" class="share"></image>
+				<image src="/static/index/shopcar.png" class="shopcar"></image>
+			</view>
 			<view style="display: flex;color: #FFFFFF;align-items: center;">
 				<view class="btn1" @click="addCart">加购物车</view>
 				<view class="btn2" @click="buy">立即购买</view>
@@ -137,6 +166,7 @@ export default {
 			}
 		},
 		getDetail() {
+			// '/app/common/goods/'+ data 获取商品详细信息
 			this.$api.commonGoodsDetail(this.id).then(res => {
 				if (res.data.data.mobileDetailHtml) {
 					res.data.data.mobileDetailHtml = res.data.data.mobileDetailHtml.replace(/<img/gi, '<img style="max-width:100%;"');
@@ -294,10 +324,71 @@ export default {
 </script>
 <style>
 page {
-	background-color: #eaeef1;
+	background-color: #ffffff;
 }
 </style>
 <style lang="scss" scope>
+.contents {
+	width: 100%;
+	height: 100%;
+	background-color: #ffffff;
+	border-radius: 24rpx 24rpx 0rpx 0rpx;
+	position: relative;
+	top: -27rpx;
+	left: 0;
+	.cou_title {
+		height: 210rpx;
+		padding: 27rpx 56rpx 0rpx 56rpx;
+		display: flex;
+		flex-direction: column;
+		justify-content: space-around;
+	}
+	.prices {
+		.price_sym {
+			font-size: 20rpx;
+			color: #333333;
+			position: relative;
+			top: -23rpx;
+			left: 0;
+			margin-right: 10rpx;
+		}
+		.price_word {
+			font-size: 42rpx;
+			font-weight: bold;
+			color: #FC3F3F;
+		}
+	}
+	// tab
+	.tabs {
+		// width: 100%;
+		height: 78rpx;
+		display: flex;
+		align-items: center;
+		justify-content: space-between;
+		background-color: #F2F7FF;
+		border-radius: 38rpx;
+		margin: 24rpx;
+		padding: 0rpx 5rpx;
+		.tab_item {
+			width: 345rpx;
+			height: 65rpx;
+			line-height: 65rpx;
+			font-size: 28rpx;
+			font-weight: bold;
+			border-radius: 32rpx;
+			text-align: center;
+			color: #333;
+			&.nactive {
+				color: #fff;
+				background-color: #3577E8;
+			}
+			// &.twoBtn {
+			// 	width: 50%;
+			// }
+		}
+	}
+}
+
 .courseName {
 	white-space: nowrap;
 	overflow: hidden;
@@ -308,7 +399,7 @@ page {
 	height: 32rpx;
 }
 .intro {
-	background: #eaeef1;
+	background: #fff;
 	padding: 16rpx 16rpx 124rpx;
 
 	.content {
@@ -337,7 +428,7 @@ page {
 	justify-content: space-between;
 }
 .title-list {
-	background: #eaeef1;
+	background: #fff;
 	padding: 16rpx 16rpx 124rpx;
 	.content {
 		.list {
@@ -362,23 +453,31 @@ page {
 				white-space: nowrap;
 				overflow: hidden;
 				text-overflow: ellipsis;
-				margin: 20rpx 0;
+				padding: 20rpx 0;
 				display: flex;
 				align-items: center;
+				border-bottom: 1rpx solid #eee;
 			}
-			
-			.article-list {
-				margin-top:20rpx;
-				
-				
+			.item_name {
+				font-size: 24rpx;
+				font-family: PingFang SC;
+				font-weight: bold;
+				color: #333;
+				white-space: nowrap;
+				overflow: hidden;
+				text-overflow: ellipsis;
+				margin-left: 8rpx;
 			}
+			// .article-list {
+			// 	margin-top:20rpx;				
+			// }
 			
 			.article {
 				padding:10rpx 0;
 				min-height: 80rpx;
 				display: flex;
 				align-items: center;
-				margin-left: 64rpx;
+				margin-left: 35rpx;
 				font-size: 30rpx;
 				color: #666666;
 				border-bottom: 1rpx solid #eeeeee;
@@ -386,6 +485,8 @@ page {
 			
 				.flex_auto {
 					flex: 1;
+					font-size: 30rpx;
+    				color: #666666;
 				}
 			
 				&:nth-last-of-type(1) {
@@ -396,16 +497,16 @@ page {
 					color: #007aff;
 			
 					.btn {
-						width: 96rpx;
+						width: 103rpx;
 						height: 48rpx;
 						line-height: 48rpx;
 						text-align: center;
-						color: #fff;
-						font-size: 30rpx;
+						color: #3577E8;
+						font-size: 24rpx;
 						border-radius: 24rpx;
-						background: #007aff;
+						background: #fff;
 						margin-left: 36rpx;
-						border-radius: 24rpx;
+						border: 1rpx solid #3577E8;
 					}
 				}
 			}
@@ -415,22 +516,23 @@ page {
 	}
 }
 .btn2 {
-	width: 200rpx;
-	height: 64rpx;
-	background: linear-gradient(0deg, #ffb102, #fd644f);
-	box-shadow: 0rpx 10rpx 16rpx 4rpx rgba(1, 99, 235, 0.04);
-	border-radius: 32rpx;
-	line-height: 64rpx;
+	width: 187rpx;
+	height: 79rpx;
+	line-height: 79rpx;
+	background: #FC3F3F;
+	border-radius: 40rpx;
 	text-align: center;
+	font-size: 24rpx;
 }
 .btn1 {
-	width: 200rpx;
-	height: 64rpx;
-	background: linear-gradient(0deg, #015eea, #00c0fa);
-	border-radius: 32rpx;
-	line-height: 64rpx;
+	width: 187rpx;
+	height: 79rpx;
+	line-height: 79rpx;
+	background: #FFB102;
+	border-radius: 40rpx;
 	text-align: center;
-	margin-right: 20rpx;
+	margin-right: 11rpx;
+	font-size: 24rpx;
 }
 .bottomBox {
 	position: fixed;
@@ -442,7 +544,18 @@ page {
 	display: flex;
 	justify-content: space-between;
 	align-items: center;
-	padding: 0 30rpx;
+	padding: 0 24rpx;
+	box-shadow: 0px -5px 20px 1px rgba(1,99,235,0.1000);
+	.share {
+		width: 38rpx;
+		height: 38rpx;
+		margin-left: 32rpx;
+		margin-right: 60rpx;
+	}
+	.shopcar {
+		width: 40rpx;
+		height: 40rpx;
+	}
 }
 .blackFont {
 	color: #333333;
@@ -454,7 +567,7 @@ page {
 	margin-right: 12rpx;
 }
 .noteTag {
-	ont-size: 24rpx;
+	font-size: 24rpx;
 	font-family: PingFang SC;
 	font-weight: 500;
 	color: #999999;

+ 41 - 29
pages3/course/detail.vue

@@ -24,8 +24,6 @@
 				</view>
 				
 			<!-- </view> -->
-			
-			
 		</view>
 		<view class="contents">
 			<view class="cou_title">
@@ -40,7 +38,7 @@
 					</view>
 					<view class="prices">
 						<text class="price_sym">¥</text>
-						<text class="price_word">599</text>
+						<text class="price_word">{{ detail.standPrice }}</text>
 					</view>
 				</view>
 				<view><u-line color="#D6D6DB" /></view>
@@ -60,7 +58,6 @@
 				</view>
 			</view>
 			<view style="padding: 20rpx;padding-bottom: 100rpx;position: relative;" v-show="current==1">
-				<view >
 					<view v-for="(item,index) in courseList" :key="index" >
 						<view class="courseItemBox" >
 							<view class="courseItem" @click="openCourse(item)">
@@ -82,10 +79,9 @@
 						</view>
 						
 					</view>
-				</view>
 			</view>
 			<view style="padding: 20rpx;padding-bottom: 100rpx;position: relative;" v-show="current==2">
-				<view >
+				<!-- <view > -->
 					<view v-for="(item,index) in freeMenuList" :key="index" >
 						<view class="courseItemBox" >
 							<view class="courseItem">
@@ -94,14 +90,18 @@
 						</view>
 						
 					</view>
-				</view>
+				<!-- </view> -->
 			</view>
 		</view>
 
 		
 		<view class="bottomBox" v-if="!hideBuyState">
 			<!-- <view class="priceTag">¥ {{toFixed(detail.standPrice)}}</view> -->
-            <view class="priceTag">分享</view>
+            <!-- <view class="priceTag">分享</view> -->
+			<view class="icons">
+				<image src="/static/index/share.png" class="share"></image>
+				<image src="/static/index/shopcar.png" class="shopcar"></image>
+			</view>
 			<view style="display: flex;color: #FFFFFF;align-items: center;">
 				<view class="btn1" @click="addCart">加购物车</view>
 				<view class="btn2" @click="buy">立即购买 </view>
@@ -204,10 +204,10 @@ export default {
 				this.freeMenuList = res.data.data;
 				 this.list =  [
 						{
-							name: '详情'
+							name: '课程介绍'
 						},
 						{
-							name: '大纲'
+							name: '课程目录'
 						},
 						{
 							name: '赠送'
@@ -216,10 +216,10 @@ export default {
 				 } else {
 					 this.list =  [
 							{
-								name: '详情'
+								name: '课程介绍'
 							},
 							{
-								name: '大纲'
+								name: '课程目录'
 							}
 						]
 				 }
@@ -413,7 +413,7 @@ export default {
 </script>
 <style >
 	page{
-		background-color: #EAEEF1;
+		background-color: #ffffff;
 	}
 </style>
 <style lang="scss" scope>
@@ -495,7 +495,7 @@ export default {
 		display: flex;
 		align-items: center;
 		justify-content: space-between;
-		background-color: #E0E1E2;
+		background-color: #F2F7FF;
 		border-radius: 38rpx;
 		margin: 24rpx;
 		padding: 0rpx 5rpx;
@@ -561,23 +561,24 @@ export default {
 		background-color: #FFFFFF;
 		width: 100%;
 	}
-	.btn2{
-		width: 200rpx;
-		height: 64rpx;
-		background: linear-gradient(0deg, #FFB102, #FD644F);
-		box-shadow: 0rpx 10rpx 16rpx 4rpx rgba(1, 99, 235, 0.04);
-		border-radius: 32rpx;
-		line-height: 64rpx;
+	.btn2 {
+		width: 187rpx;
+		height: 79rpx;
+		line-height: 79rpx;
+		background: #FC3F3F;
+		border-radius: 40rpx;
 		text-align: center;
+		font-size: 24rpx;
 	}
-	.btn1{
-		width: 200rpx;
-		height: 64rpx;
-		background: linear-gradient(0deg, #015EEA, #00C0FA);
-		border-radius: 32rpx;
-		line-height: 64rpx;
+	.btn1 {
+		width: 187rpx;
+		height: 79rpx;
+		line-height: 79rpx;
+		background: #FFB102;
+		border-radius: 40rpx;
 		text-align: center;
-		margin-right: 20rpx;
+		margin-right: 11rpx;
+		font-size: 24rpx;
 	}
 	.bottomBox{
 		position: fixed;
@@ -589,7 +590,18 @@ export default {
 		display: flex;
 		justify-content: space-between;
 		align-items: center;
-		padding: 0 30rpx;
+		padding: 0 24rpx;
+		box-shadow: 0px -5px 20px 1px rgba(1,99,235,0.1000);
+		.share {
+			width: 38rpx;
+			height: 38rpx;
+			margin-left: 32rpx;
+			margin-right: 60rpx;
+		}
+		.shopcar {
+			width: 40rpx;
+			height: 40rpx;
+		}
 	}
 	.blackFont{
 		margin: 0 4rpx;

BIN
static/index/people.png


BIN
static/index/share.png


BIN
static/index/shopcar.png


BIN
static/index/zan.png