dever преди 5 години
родител
ревизия
971433ac14
променени са 4 файла, в които са добавени 67 реда и са изтрити 13 реда
  1. 52 0
      lib/dever/components/content.vue
  2. 2 0
      pages/dream/view.vue
  3. 5 6
      pages/dream/view/news.vue
  4. 8 7
      pages/dream/view/product.vue

+ 52 - 0
lib/dever/components/content.vue

@@ -0,0 +1,52 @@
+<template name="dever-content">
+	<view>
+		<block v-for="(v, k) in item" :key="k">
+			
+			<view :class="[skeleton ? 'grace-skeletons-img' : 'grace-img-in']" v-if="v.type == 'pic'">
+				<image :src="v.content" class="grace-art-img" mode="widthFix" @click="Dever.viewPic(pics, v.content)"></image>
+			</view>
+			
+			<view :class="[skeleton ? 'grace-skeletons' : 'grace-art-content']" v-else-if="v.type == 'html'"><rich-text type="text" :nodes="v.content"></rich-text></view>
+			
+		</block>
+	</view>
+</template>
+
+<script>
+export default {
+	name: "dever-content",
+	props: {
+		skeleton : {
+			type    : Boolean,
+			value	: false
+		},
+		item : {
+			type    : Array,
+			value	: null
+		},
+		pics : {
+			type    : Array,
+			value	: null
+		},
+	},
+	methods:{
+		
+	},
+}
+</script>
+
+<style>
+.grace-art-margin{margin-top:20rpx;}
+.grace-art-title{display:block; width:100%; font-size:38rpx; font-weight:bold; line-height:56rpx;}
+.grace-skeletons{background-color:#F8F8F8; border-radius:8rpx; height:60rpx;}
+.grace-skeletons-img{width:100%; background-color:#F8F8F8; height:300rpx; border-radius:8rpx;}
+.grace-art-author{width:700rpx; font-size:0;}
+.grace-art-author-face{width:66rpx; height:66rpx; border-radius:66rpx; margin-right:20rpx; flex-shrink:0;}
+.grace-art-author-name{display:block; line-height:80rpx; font-size:26rpx;}
+.grace-art-btn{width:120rpx; line-height:60rpx; text-align:center; border-radius:50rpx; font-size:26rpx; display:block; flex-shrink:0; margin-left:30rpx;}
+.grace-art-info-line{}
+.grace-art-info-line-text{font-size:22rpx; line-height:50rpx; color:#888888;}
+.grace-art-contents{padding:20rpx 0;}
+.grace-art-img{width:100%; margin:10rpx 0;}
+.grace-art-content{line-height:52rpx; font-size:28rpx;}
+</style>

+ 2 - 0
pages/dream/view.vue

@@ -49,7 +49,9 @@ export default{
 				var i = 0;
 				for (i in this.control) {
 					if (this.control[i].load) {
+						console.info(i);
 						if (this.swiper.index == i) {
+							console.info('start');
 							this.control[i].start();
 						} else {
 							this.control[i].stop();

+ 5 - 6
pages/dream/view/news.vue

@@ -17,17 +17,13 @@
 		</view>
 		<!-- 文章内容 -->
 		<view class="grace-art-contents">
-			<block v-for="(v, k) in item.content_array" :key="k">
-			<view :class="[graceSkeleton ? 'grace-skeletons-img' : 'grace-img-in']" v-if="v.type == 'pic'">
-				<image :src="v.content" class="grace-art-img" mode="widthFix" @click="Dever.viewPic(item.content_pic, v.content)"></image>
-			</view>
-			<view :class="[graceSkeleton ? 'grace-skeletons' : 'grace-art-content']" v-else-if="v.type == 'html'"><rich-text type="text" :nodes="v.content"></rich-text></view>
-			</block>
+			<dever-content :item="item.content_array" :pics="item.content_pic" :skeleton="graceSkeleton"></dever-content>
 		</view>
 	</view>
 </template>
 
 <script>
+import deverContent from '@/lib/dever/components/content.vue';
 export default {
 	name: "news",
 	props: {
@@ -50,6 +46,9 @@ export default {
 			
 		}
 	},
+	components:{
+		deverContent
+	}
 }
 </script>
 

+ 8 - 7
pages/dream/view/product.vue

@@ -11,17 +11,17 @@
 			</swiper>
 			<!-- 商品标题 分享按钮 -->
 			<view class="grace-product-padding grace-space-between grace-flex-vcenter">
-				<text class="grace-product-title grace-bold">{{product.name}}</text>
+				<text class="grace-product-title grace-bold">{{item.goods.name}}</text>
 			</view>
 			<!-- 价格 -->
 			<view class="grace-product-padding">
 				<view class="grace-nowrap grace-flex-vcenter">
-					<text class="grace-product-price">¥{{product.price}}</text>
-					<text class="grace-text grace-gray grace-line-through" style="margin-left:30rpx;">¥{{product.priceMarket}}</text>
+					<text class="grace-product-price">¥{{item.goods.price.min.price}}</text>
+					<text class="grace-text grace-gray grace-line-through" style="margin-left:30rpx;">¥{{item.goods.price.min.s_price}}</text>
 				</view>
 				<view class="grace-space-between grace-flex-vcenter">
-					<text class="grace-text-small grace-gray">运费 ¥0.00</text>
-					<text class="grace-text-small grace-gray">已售 21008 件</text>
+					<text class="grace-text-small grace-gray">运费 ¥{{item.goods.freight.price}}</text>
+					<text class="grace-text-small grace-gray">已售 {{item.goods.sell_num}} 件</text>
 				</view>
 			</view>
 			<view class="grace-common-line"></view>
@@ -34,7 +34,7 @@
 			</view>
 			<!-- 详情 请根据项目情况自行改进 可以使用 富文本-->
 			<view class="grace-product-padding" :hidden="active == 1">
-				<image class="grace-product-info-img" :src="item" mode="widthFix" v-for="(item,index) in product.imgs" :key="index"></image>
+				<dever-content :item="item.goods.content_array" :pics="item.goods.content_pic" :skeleton="false"></dever-content>
 			</view>
 			<!-- 评论区 -->
 			<view class="grace-comments grace-product-padding" :hidden="active == 0">
@@ -108,6 +108,7 @@
 </template>
 
 <script>
+import deverContent from '@/lib/dever/components/content.vue';
 import gracePage from "@/lib/graceUI/components/gracePage.vue";
 import graceNavBar from "@/lib/graceUI/components/graceNavBar.vue";
 import graceBottomDialog from '@/lib/graceUI/components/graceBottomDialog.vue';
@@ -235,7 +236,7 @@ export default {
 			});
 		}
 	},
-	components:{gracePage, graceNavBar, graceBottomDialog, graceSelectTags, graceNumberBox}
+	components:{deverContent, gracePage, graceNavBar, graceBottomDialog, graceSelectTags, graceNumberBox}
 }
 </script>