Authored by 张文文

详情页添加鉴定视频

@@ -2,7 +2,7 @@ @@ -2,7 +2,7 @@
2 <div class="pane-body"> 2 <div class="pane-body">
3 <div 3 <div
4 class="video-wrapper" 4 class="video-wrapper"
5 - v-if="appraiseVideoUrl" 5 + v-if="appraiseVideoUrl && pageName === 'list'"
6 @click="() => onVideoHandler({videoUrl:appraiseVideoUrl, orderCode: order.orderCode})" 6 @click="() => onVideoHandler({videoUrl:appraiseVideoUrl, orderCode: order.orderCode})"
7 > 7 >
8 <div class="play-btn"></div> 8 <div class="play-btn"></div>
@@ -31,6 +31,10 @@ export default { @@ -31,6 +31,10 @@ export default {
31 order: { 31 order: {
32 type: Object, 32 type: Object,
33 default: {} 33 default: {}
  34 + },
  35 + pageName: {
  36 + type: String,
  37 + default: ""
34 } 38 }
35 }, 39 },
36 computed: { 40 computed: {
@@ -24,16 +24,19 @@ @@ -24,16 +24,19 @@
24 <address-info class="item-wrapper" /> 24 <address-info class="item-wrapper" />
25 <!-- 商品信息 --> 25 <!-- 商品信息 -->
26 <order-item-info class="item-wrapper" /> 26 <order-item-info class="item-wrapper" />
  27 + <!-- 鉴定视频 -->
  28 + <div
  29 + class="video-wrapper item-wrapper"
  30 + v-if="orderDetail.appraiseVideoUrl"
  31 + @click="() => onVideoHandler()"
  32 + ></div>
27 <!-- 价格信息 --> 33 <!-- 价格信息 -->
28 <div class="price-info item-wrapper"> 34 <div class="price-info item-wrapper">
29 <p> 35 <p>
30 <span class="label">商品金额:</span> 36 <span class="label">商品金额:</span>
31 <span>¥{{ priceInfo.goodPrice }}</span> 37 <span>¥{{ priceInfo.goodPrice }}</span>
32 </p> 38 </p>
33 - <p  
34 - v-if="parseInt(priceInfo.activityCutPrice || '') > 0"  
35 - class="delivery-fee"  
36 - > 39 + <p v-if="parseInt(priceInfo.activityCutPrice || '') > 0" class="delivery-fee">
37 <span class="label">活动优惠:</span> 40 <span class="label">活动优惠:</span>
38 <span>-¥{{ priceInfo.activityCutPrice }}</span> 41 <span>-¥{{ priceInfo.activityCutPrice }}</span>
39 </p> 42 </p>
@@ -41,24 +44,15 @@ @@ -41,24 +44,15 @@
41 <span class="label">运费:</span> 44 <span class="label">运费:</span>
42 <span>¥{{ priceInfo.feePrice }}</span> 45 <span>¥{{ priceInfo.feePrice }}</span>
43 </p> 46 </p>
44 - <p  
45 - v-if="parseInt(priceInfo.couponCutPrice || '') > 0"  
46 - class="delivery-fee"  
47 - > 47 + <p v-if="parseInt(priceInfo.couponCutPrice || '') > 0" class="delivery-fee">
48 <span class="label">优惠券:</span> 48 <span class="label">优惠券:</span>
49 <span>-¥{{ priceInfo.couponCutPrice }}</span> 49 <span>-¥{{ priceInfo.couponCutPrice }}</span>
50 </p> 50 </p>
51 - <p  
52 - v-if="parseInt(priceInfo.shippingCouponCutPrice || '') > 0"  
53 - class="delivery-fee"  
54 - > 51 + <p v-if="parseInt(priceInfo.shippingCouponCutPrice || '') > 0" class="delivery-fee">
55 <span class="label">运费券:</span> 52 <span class="label">运费券:</span>
56 <span>-¥{{ priceInfo.shippingCouponCutPrice }}</span> 53 <span>-¥{{ priceInfo.shippingCouponCutPrice }}</span>
57 </p> 54 </p>
58 - <p  
59 - v-if="parseInt(priceInfo.cutPromotionPrice || '') > 0"  
60 - class="delivery-fee"  
61 - > 55 + <p v-if="parseInt(priceInfo.cutPromotionPrice || '') > 0" class="delivery-fee">
62 <span class="label">促销:</span> 56 <span class="label">促销:</span>
63 <span>-¥{{ priceInfo.cutPromotionPrice }}</span> 57 <span>-¥{{ priceInfo.cutPromotionPrice }}</span>
64 </p> 58 </p>
@@ -94,7 +88,7 @@ @@ -94,7 +88,7 @@
94 <p>实付金额</p> 88 <p>实付金额</p>
95 </div> 89 </div>
96 </template> 90 </template>
97 - </detail-footer> --> 91 + </detail-footer>-->
98 92
99 <div v-if="actionList.length > 0" class="footer-wrapper"> 93 <div v-if="actionList.length > 0" class="footer-wrapper">
100 <div v-if="statusDetail.status === 0"> 94 <div v-if="statusDetail.status === 0">
@@ -109,6 +103,10 @@ @@ -109,6 +103,10 @@
109 " 103 "
110 /> 104 />
111 </div> 105 </div>
  106 +
  107 + <div ref="videoWrapper">
  108 + <VideoPlayer ref="videoPlayer" class="play-video" :source="orderDetail.appraiseVideoUrl"></VideoPlayer>
  109 + </div>
112 </div> 110 </div>
113 </layout-app> 111 </layout-app>
114 </template> 112 </template>
@@ -124,6 +122,7 @@ import DetailHeader from "./components/header"; @@ -124,6 +122,7 @@ import DetailHeader from "./components/header";
124 import DetailFooter from "./components//detail-footer"; 122 import DetailFooter from "./components//detail-footer";
125 123
126 import OrderActions from "../components/order-actions"; 124 import OrderActions from "../components/order-actions";
  125 +import VideoPlayer from "../order-list/components/video-player";
127 126
128 import orderActionMixin from "./mixins/order-action"; 127 import orderActionMixin from "./mixins/order-action";
129 128
@@ -141,7 +140,8 @@ export default { @@ -141,7 +140,8 @@ export default {
141 Button, 140 Button,
142 OrderActions, 141 OrderActions,
143 DetailHeader, 142 DetailHeader,
144 - DetailFooter 143 + DetailFooter,
  144 + VideoPlayer
145 }, 145 },
146 activated() { 146 activated() {
147 this.copyBtn = new Clipboard(this.$refs.copy, { 147 this.copyBtn = new Clipboard(this.$refs.copy, {
@@ -169,7 +169,19 @@ export default { @@ -169,7 +169,19 @@ export default {
169 ]) 169 ])
170 }, 170 },
171 methods: { 171 methods: {
172 - ...mapActions(["fetchOrderDetail"]) 172 + ...mapActions(["fetchOrderDetail"]),
  173 + onVideoHandler() {
  174 + if (!this.orderDetail.appraiseVideoUrl) {
  175 + return;
  176 + }
  177 + this.$refs.videoPlayer.parentHandleclick();
  178 + }
  179 + },
  180 + mounted() {
  181 + if (this.$yoho.isAndroid) {
  182 + this.$refs.videoWrapper.style.position = "absolute";
  183 + this.$refs.videoWrapper.style.top = "-1000px";
  184 + }
173 } 185 }
174 }; 186 };
175 </script> 187 </script>
@@ -204,6 +216,13 @@ export default { @@ -204,6 +216,13 @@ export default {
204 } 216 }
205 } 217 }
206 218
  219 + .video-wrapper {
  220 + width: 100%;
  221 + height: 378px;
  222 + background: url("~statics/image/order/video-big@3x.png");
  223 + background-size: cover;
  224 + }
  225 +
207 .item-wrapper { 226 .item-wrapper {
208 border-top: 1px solid #eee; 227 border-top: 1px solid #eee;
209 padding: 40px 0; 228 padding: 40px 0;
@@ -291,5 +310,11 @@ export default { @@ -291,5 +310,11 @@ export default {
291 font-size: 28px; 310 font-size: 28px;
292 color: #d0021b; 311 color: #d0021b;
293 } 312 }
  313 +
  314 + .play-video {
  315 + display: inline-block;
  316 + height: 10px;
  317 + opacity: 0;
  318 + }
294 } 319 }
295 </style> 320 </style>
@@ -18,6 +18,7 @@ @@ -18,6 +18,7 @@
18 <count-down :leftTime="order.leftTime" /> 18 <count-down :leftTime="order.leftTime" />
19 <order-actions 19 <order-actions
20 class="actions" 20 class="actions"
  21 + pageName="list"
21 :order="order" 22 :order="order"
22 @on-action="action => onAction({ action, order })" 23 @on-action="action => onAction({ action, order })"
23 @on-video="params => onVideoHandle(params)" 24 @on-video="params => onVideoHandle(params)"