Browse Source

Merge branch 'master' of hyq/kmall-pt into master

黄亚琴 6 years ago
parent
commit
cb583b984b

+ 46 - 4
kmall-admin/src/main/java/com/kmall/admin/controller/OrderController.java

@@ -10,11 +10,8 @@ import com.kmall.admin.service.OrderProcessRecordService;
 import com.kmall.admin.service.OrderService;
 import com.kmall.api.contants.Dict;
 import com.kmall.common.entity.SysUserEntity;
-import com.kmall.common.utils.ShiroUtils;
+import com.kmall.common.utils.*;
 import com.kmall.common.utils.print.ticket.item.Ticket;
-import com.kmall.common.utils.PageUtils;
-import com.kmall.common.utils.Query;
-import com.kmall.common.utils.R;
 import com.kmall.common.utils.wechat.WechatRefundApiResult;
 import com.kmall.common.utils.wechat.WechatUtil;
 import org.apache.shiro.authz.annotation.RequiresPermissions;
@@ -22,6 +19,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
 import java.math.BigDecimal;
+import java.text.SimpleDateFormat;
 import java.util.Date;
 import java.util.List;
 import java.util.Map;
@@ -189,6 +187,50 @@ public class OrderController {
     @RequiresPermissions("order:getProcess")
     public R getProcess(@PathVariable("orderSn") String orderSn) {
         OrderProcessRecordEntity orderProcessRecordEntity = orderProcessRecordService.queryObjectByOrderSn(orderSn);
+        if(orderProcessRecordEntity != null){
+            if(orderProcessRecordEntity.getShipmentStartTime()!=null){
+                orderProcessRecordEntity.setShipmentStartTimeStr(DateUtils.format(orderProcessRecordEntity.getShipmentStartTime(),DateUtils.DATE_TIME_PATTERN));
+            }
+            if(orderProcessRecordEntity.getShipmentSuccTime()!=null){
+                orderProcessRecordEntity.setShipmentSuccTimeStr(DateUtils.format(orderProcessRecordEntity.getShipmentSuccTime(),DateUtils.DATE_TIME_PATTERN));
+            }
+            if(orderProcessRecordEntity.getCustomsStartTime()!=null){
+                orderProcessRecordEntity.setCustomsStartTimeStr(DateUtils.format(orderProcessRecordEntity.getCustomsStartTime(),DateUtils.DATE_TIME_PATTERN));
+            }
+            if(orderProcessRecordEntity.getCustomsSuccTime()!=null){
+                orderProcessRecordEntity.setCustomsSuccTimeStr(DateUtils.format(orderProcessRecordEntity.getCustomsSuccTime(),DateUtils.DATE_TIME_PATTERN));
+            }
+            if(orderProcessRecordEntity.getWaybillStartTime()!=null){
+                orderProcessRecordEntity.setWaybillStartTimeStr(DateUtils.format(orderProcessRecordEntity.getWaybillStartTime(),DateUtils.DATE_TIME_PATTERN));
+            }
+            if(orderProcessRecordEntity.getWaybillSuccTime()!=null){
+                orderProcessRecordEntity.setWaybillSuccTimeStr(DateUtils.format(orderProcessRecordEntity.getWaybillSuccTime(),DateUtils.DATE_TIME_PATTERN));
+            }
+            if(orderProcessRecordEntity.getEleOrderStartTime()!=null){
+                orderProcessRecordEntity.setEleOrderStartTimeStr(DateUtils.format(orderProcessRecordEntity.getEleOrderStartTime(),DateUtils.DATE_TIME_PATTERN));
+            }
+            if(orderProcessRecordEntity.getEleOrderSuccTime()!=null){
+                orderProcessRecordEntity.setEleOrderSuccTimeStr(DateUtils.format(orderProcessRecordEntity.getEleOrderSuccTime(),DateUtils.DATE_TIME_PATTERN));
+            }
+            if(orderProcessRecordEntity.getAddOrderStartTime()!=null){
+                orderProcessRecordEntity.setAddOrderStartTimeStr(DateUtils.format(orderProcessRecordEntity.getAddOrderStartTime(),DateUtils.DATE_TIME_PATTERN));
+            }
+            if(orderProcessRecordEntity.getAddOrderSuccTime()!=null){
+                orderProcessRecordEntity.setAddOrderSuccTimeStr(DateUtils.format(orderProcessRecordEntity.getAddOrderSuccTime(),DateUtils.DATE_TIME_PATTERN));
+            }
+            if(orderProcessRecordEntity.getPaySuccTime()!=null){
+                orderProcessRecordEntity.setPaySuccTimeStr(DateUtils.format(orderProcessRecordEntity.getPaySuccTime(),DateUtils.DATE_TIME_PATTERN));
+            }
+            if(orderProcessRecordEntity.getPayStartTime()!=null){
+                orderProcessRecordEntity.setPayStartTimeStr(DateUtils.format(orderProcessRecordEntity.getPayStartTime(),DateUtils.DATE_TIME_PATTERN));
+            }
+            if(orderProcessRecordEntity.getPaymentStartTime()!=null){
+                orderProcessRecordEntity.setPaymentStartTimeStr(DateUtils.format(orderProcessRecordEntity.getPaymentStartTime(),DateUtils.DATE_TIME_PATTERN));
+            }
+            if(orderProcessRecordEntity.getPaymentSuccTime()!=null){
+                orderProcessRecordEntity.setPaymentSuccTimeStr(DateUtils.format(orderProcessRecordEntity.getPaymentSuccTime(),DateUtils.DATE_TIME_PATTERN));
+            }
+        }
         return R.ok().put("orderProcessRecordEntity", orderProcessRecordEntity);
     }
 

+ 169 - 0
kmall-admin/src/main/java/com/kmall/admin/entity/OrderProcessRecordEntity.java

@@ -121,6 +121,63 @@ public class OrderProcessRecordEntity implements Serializable {
 
     private String payTransactionId;
 
+    /**
+     * 下单开始时间
+     */
+    private String addOrderStartTimeStr;
+    /**
+     * 下单成功时间
+     */
+    private String addOrderSuccTimeStr;
+    /**
+     * 支付开始时间
+     */
+    private String payStartTimeStr;
+    /**
+     * 支付成功时间
+     */
+    private String paySuccTimeStr;
+    /**
+     * 支付单开始时间
+     */
+    private String paymentStartTimeStr;
+    /**
+     * 支付单成功时间
+     */
+    private String paymentSuccTimeStr;
+    /**
+     * 电子订单开始时间
+     */
+    private String eleOrderStartTimeStr;
+    /**
+     * 电子订单成功时间
+     */
+    private String eleOrderSuccTimeStr;
+    /**
+     * 运单开始时间
+     */
+    private String waybillStartTimeStr;
+    /**
+     * 运单成功时间
+     */
+    private String waybillSuccTimeStr;
+    /**
+     * 清单开始时间
+     */
+    private String customsStartTimeStr;
+    /**
+     * 清单成功时间
+     */
+    private String customsSuccTimeStr;
+    /**
+     * 出货开始时间
+     */
+    private String shipmentStartTimeStr;
+    /**
+     * 出货成功时间
+     */
+    private String shipmentSuccTimeStr;
+
     public String getPayTransactionId() {
         return payTransactionId;
     }
@@ -129,6 +186,118 @@ public class OrderProcessRecordEntity implements Serializable {
         this.payTransactionId = payTransactionId;
     }
 
+    public String getAddOrderStartTimeStr() {
+        return addOrderStartTimeStr;
+    }
+
+    public void setAddOrderStartTimeStr(String addOrderStartTimeStr) {
+        this.addOrderStartTimeStr = addOrderStartTimeStr;
+    }
+
+    public String getAddOrderSuccTimeStr() {
+        return addOrderSuccTimeStr;
+    }
+
+    public void setAddOrderSuccTimeStr(String addOrderSuccTimeStr) {
+        this.addOrderSuccTimeStr = addOrderSuccTimeStr;
+    }
+
+    public String getPayStartTimeStr() {
+        return payStartTimeStr;
+    }
+
+    public void setPayStartTimeStr(String payStartTimeStr) {
+        this.payStartTimeStr = payStartTimeStr;
+    }
+
+    public String getPaySuccTimeStr() {
+        return paySuccTimeStr;
+    }
+
+    public void setPaySuccTimeStr(String paySuccTimeStr) {
+        this.paySuccTimeStr = paySuccTimeStr;
+    }
+
+    public String getPaymentStartTimeStr() {
+        return paymentStartTimeStr;
+    }
+
+    public void setPaymentStartTimeStr(String paymentStartTimeStr) {
+        this.paymentStartTimeStr = paymentStartTimeStr;
+    }
+
+    public String getPaymentSuccTimeStr() {
+        return paymentSuccTimeStr;
+    }
+
+    public void setPaymentSuccTimeStr(String paymentSuccTimeStr) {
+        this.paymentSuccTimeStr = paymentSuccTimeStr;
+    }
+
+    public String getEleOrderStartTimeStr() {
+        return eleOrderStartTimeStr;
+    }
+
+    public void setEleOrderStartTimeStr(String eleOrderStartTimeStr) {
+        this.eleOrderStartTimeStr = eleOrderStartTimeStr;
+    }
+
+    public String getEleOrderSuccTimeStr() {
+        return eleOrderSuccTimeStr;
+    }
+
+    public void setEleOrderSuccTimeStr(String eleOrderSuccTimeStr) {
+        this.eleOrderSuccTimeStr = eleOrderSuccTimeStr;
+    }
+
+    public String getWaybillStartTimeStr() {
+        return waybillStartTimeStr;
+    }
+
+    public void setWaybillStartTimeStr(String waybillStartTimeStr) {
+        this.waybillStartTimeStr = waybillStartTimeStr;
+    }
+
+    public String getWaybillSuccTimeStr() {
+        return waybillSuccTimeStr;
+    }
+
+    public void setWaybillSuccTimeStr(String waybillSuccTimeStr) {
+        this.waybillSuccTimeStr = waybillSuccTimeStr;
+    }
+
+    public String getCustomsStartTimeStr() {
+        return customsStartTimeStr;
+    }
+
+    public void setCustomsStartTimeStr(String customsStartTimeStr) {
+        this.customsStartTimeStr = customsStartTimeStr;
+    }
+
+    public String getCustomsSuccTimeStr() {
+        return customsSuccTimeStr;
+    }
+
+    public void setCustomsSuccTimeStr(String customsSuccTimeStr) {
+        this.customsSuccTimeStr = customsSuccTimeStr;
+    }
+
+    public String getShipmentStartTimeStr() {
+        return shipmentStartTimeStr;
+    }
+
+    public void setShipmentStartTimeStr(String shipmentStartTimeStr) {
+        this.shipmentStartTimeStr = shipmentStartTimeStr;
+    }
+
+    public String getShipmentSuccTimeStr() {
+        return shipmentSuccTimeStr;
+    }
+
+    public void setShipmentSuccTimeStr(String shipmentSuccTimeStr) {
+        this.shipmentSuccTimeStr = shipmentSuccTimeStr;
+    }
+
     /**
      * 设置:
      */

+ 32 - 19
kmall-admin/src/main/java/com/kmall/admin/service/impl/OrderServiceImpl.java

@@ -386,31 +386,32 @@ public class OrderServiceImpl implements OrderService {
 
         Map logisticsInfo = new HashMap();
         List<WuliuEntity> wuliuEntityList = new ArrayList<>();
-        if(orderEntity.getOrderBizType().equals(Dict.orderBizType.item_10.getItem())
-                || orderEntity.getOrderBizType().equals(Dict.orderBizType.item_02.getItem())) {
-            WuliuEntity wuliuEntity = new WuliuEntity();
-            wuliuEntity.setAcceptTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(orderEntity.getAddTime()));
-            wuliuEntity.setAcceptStation(PrintTicketPropertiesBuilder.instance().getAddress()
-                    + "送达" + storeDao.queryObject(orderEntity.getStoreId()).getStoreAddress()
-                    + ";交易完成,用户已提走");
-            wuliuEntityList.add(wuliuEntity);
-        }
         OrderProcessRecordEntity orderProcessRecordEntity = orderProcessRecordDao.queryObjectByOrderSn(orderEntity.getOrderSn());
         if (orderProcessRecordEntity != null) {
+            if(orderEntity.getOrderBizType().equals(Dict.orderBizType.item_10.getItem())
+                    || orderEntity.getOrderBizType().equals(Dict.orderBizType.item_02.getItem())) {
+                WuliuEntity wuliuEntity = new WuliuEntity();
+                wuliuEntity.setAcceptTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(orderProcessRecordEntity.getCustomsSuccTime()));
+                wuliuEntity.setAcceptStation(PrintTicketPropertiesBuilder.instance().getAddress()
+                        + "送达" + storeDao.queryObject(orderEntity.getStoreId()).getStoreAddress()
+                        + ";交易完成,用户已提走");
+                wuliuEntityList.add(wuliuEntity);
+            }
             if (StringUtils.isNotEmpty(orderEntity.getShippingCode())
                     && StringUtils.isNotEmpty(orderEntity.getShippingNo()) &&orderProcessRecordEntity.getShipmentStartTime()!=null) {
                 JSONObject traces = KdniaoUtil.getOrderTracesByJson(orderEntity.getShippingCode(), orderEntity.getShippingNo());
                 List<Map> mapList = (List<Map>) traces.get("Traces");
-                for (Map map : mapList) {
-                    WuliuEntity wuliuEntity = new WuliuEntity();
-                    wuliuEntity.setAcceptTime(map.get("AcceptTime").toString());
-                    wuliuEntity.setAcceptStation(map.get("AcceptStation").toString());
-                    wuliuEntityList.add(wuliuEntity);
+                if(mapList!=null&&mapList.size()>0) {
+                    for (Map map : mapList) {
+                        WuliuEntity wuliuEntity = new WuliuEntity();
+                        wuliuEntity.setAcceptTime(map.get("AcceptTime").toString());
+                        wuliuEntity.setAcceptStation(map.get("AcceptStation").toString());
+                        wuliuEntityList.add(wuliuEntity);
+                    }
                 }
-
-                String state = traces.get("State").toString();
+                String state = traces.get("State")+"";
                 if (Dict.logisticsStatus.item_0.getItem().equals(state) && traces.getBoolean("Success")) {
-                    String reason = traces.get("Reason").toString();
+                    String reason = traces.get("Reason")+"";
                     WuliuEntity wuliuEntity = new WuliuEntity();
                     wuliuEntity.setAcceptStation(reason);
                     wuliuEntityList.add(wuliuEntity);
@@ -428,15 +429,27 @@ public class OrderServiceImpl implements OrderService {
                 wuliuEntity.setAcceptTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(orderProcessRecordEntity.getCustomsSuccTime()));
                 wuliuEntityList.add(wuliuEntity);
             }
+
+            if (Dict.isSend.item_0.getItem().equalsIgnoreCase(orderProcessRecordEntity.getIsCustomsSend())) {
+                WuliuEntity wuliuEntity = new WuliuEntity();
+                wuliuEntity.setAcceptStation("订单清关失败");
+                wuliuEntityList.add(wuliuEntity);
+            }
+            if (Dict.isSend.item_1.getItem().equalsIgnoreCase(orderProcessRecordEntity.getIsEleOrderSend()) && orderProcessRecordEntity.getWaybillSuccTime()!=null) {
+                WuliuEntity wuliuEntity = new WuliuEntity();
+                wuliuEntity.setAcceptStation("海关三单发送成功");
+                wuliuEntity.setAcceptTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(orderProcessRecordEntity.getWaybillSuccTime()));
+                wuliuEntityList.add(wuliuEntity);
+            }
             if(Dict.isSend.item_1.getItem().equals(orderProcessRecordEntity.getIsPaymentSend())){
                 WuliuEntity wuliuEntity = new WuliuEntity();
-                wuliuEntity.setAcceptStation("订单支付成功,等待海关清关");
+                wuliuEntity.setAcceptStation("订单支付成功");
                 wuliuEntity.setAcceptTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(orderProcessRecordEntity.getPaySuccTime()));
                 wuliuEntityList.add(wuliuEntity);
             }
             if(Dict.isSend.item_1.getItem().equalsIgnoreCase(orderProcessRecordEntity.getIsAddOrderSend())){
                 WuliuEntity wuliuEntity = new WuliuEntity();
-                wuliuEntity.setAcceptStation("订单提交成功");
+                wuliuEntity.setAcceptStation("订单下单成功");
                 wuliuEntity.setAcceptTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(orderProcessRecordEntity.getAddOrderSuccTime()));
                 wuliuEntityList.add(wuliuEntity);
             }

+ 82 - 41
kmall-admin/src/main/webapp/WEB-INF/page/shop/order.html

@@ -53,13 +53,38 @@
     <Card v-show="showDiv == 7">
         <p slot="title">清关信息</p>
         <i-form :label-width="150">
-            <Form-item label="下单开始时间" prop="addOrderStartTime">
-                <Date-picker format="yyyy-MM-dd HH:mm:ss" v-model="orderProcessRecordEntity.addOrderStartTime" placeholder="下单开始时间" readonly style="width: 240px;"/>
+            <!--<Timeline style="margin-left: 100px;">-->
+                <!--<Timeline-item>-->
+                    <!--<p class="time">订单编号: {{orderProcessRecordEntity.orderSn}}</p>-->
+                    <!--<p class="content">下单开始时间:{{orderProcessRecordEntity.addOrderStartTimeStr}}</p>-->
+                    <!--<p class="content">下单成功时间:{{orderProcessRecordEntity.addOrderSuccTimeStr}}</p>-->
+                    <!--<p class="content">下单状态:{{orderProcessRecordEntity.isAddOrderSend==1?"成功":""}}-->
+                        <!--{{orderProcessRecordEntity.isAddOrderSend==0?"失败":""}}-->
+                        <!--{{orderProcessRecordEntity.isAddOrderSend==2?"下单中":""}}</p>-->
+                <!--</Timeline-item>-->
+                <!--<Timeline-item>-->
+                    <!--<p class="time">支付单号: {{orderProcessRecordEntity.payTransactionId}}</p>-->
+                    <!--<p class="content">支付开始时间:{{orderProcessRecordEntity.payStartTimeStr}}</p>-->
+                    <!--<p class="content">支付成功时间:{{orderProcessRecordEntity.paySuccTimeStr}}</p>-->
+                <!--</Timeline-item>-->
+                <!--<Timeline-item>-->
+                    <!--<p class="time">支付单开始时间:{{orderProcessRecordEntity.paymentStartTimeStr}}</p>-->
+                    <!--<p class="time">支付单成功时间:{{orderProcessRecordEntity.paymentSuccTimeStr}}</p>-->
+                    <!--<p class="content">支付单状态:{{orderProcessRecordEntity.isPaymentSend==1?"成功":""}}-->
+                        <!--{{orderProcessRecordEntity.isPaymentSend==0?"失败":""}}-->
+                        <!--{{orderProcessRecordEntity.isPaymentSend==2?"下单中":""}}</p>-->
+                <!--</Timeline-item>-->
+            <!--</Timeline>-->
+            <Form-item label="订单编号:" prop="orderSn" style="height: 14px">
+                {{orderProcessRecordEntity.orderSn}}
             </Form-item>
-            <Form-item label="下单成功时间" prop="addOrderSuccTime">
-                <Date-picker format="yyyy-MM-dd HH:mm:ss" v-model="orderProcessRecordEntity.addOrderSuccTime" placeholder="下单成功时间" readonly style="width: 240px;"/>
+            <Form-item label="下单开始时间:" prop="addOrderStartTime" style="height: 14px">
+                {{orderProcessRecordEntity.addOrderStartTimeStr}}
             </Form-item>
-            <Form-item label="下单状态" prop="isAddOrderSend">
+            <Form-item label="下单成功时间:" prop="addOrderSuccTime" style="height: 14px">
+                {{orderProcessRecordEntity.addOrderSuccTimeStr}}
+            </Form-item>
+            <Form-item label="下单状态:" prop="isAddOrderSend" style="height: 14px">
                 <Radio-group v-model="orderProcessRecordEntity.isAddOrderSend">
                     <Radio label="0">
                         <span>失败</span>
@@ -72,22 +97,26 @@
                     </Radio>
                 </Radio-group>
             </Form-item>
-            <Form-item label="支付开始时间" prop="payStartTime">
-                <Date-picker format="yyyy-MM-dd HH:mm:ss" v-model="orderProcessRecordEntity.payStartTime" placeholder="支付开始时间" readonly style="width: 240px;"/>
+            <div style="padding-top:10px;">
+            <Form-item label="支付单号:" prop="payTransactionId" style="margin-top:10px;height: 14px">
+                {{orderProcessRecordEntity.payTransactionId}}
             </Form-item>
-            <Form-item label="支付成功时间" prop="paySuccTime">
-                <Date-picker format="yyyy-MM-dd HH:mm:ss" v-model="orderProcessRecordEntity.paySuccTime" placeholder="支付成功时间" readonly style="width: 240px;"/>
+            <Form-item label="支付开始时间:" prop="payStartTime" style="height: 14px">
+                {{orderProcessRecordEntity.payStartTimeStr}}
             </Form-item>
-            <Form-item label="支付单号" prop="payTransactionId">
-                <i-input v-model="order.payTransactionId" readonly placeholder="推单支付单号" style="width: 240px;"/>
+            <Form-item label="支付成功时间:" prop="paySuccTime" style="height: 14px">
+                {{orderProcessRecordEntity.paySuccTimeStr}}
             </Form-item>
-            <Form-item label="支付单开始时间" prop="paymentStartTime">
-                <Date-picker format="yyyy-MM-dd HH:mm:ss" v-model="orderProcessRecordEntity.paymentStartTime" placeholder="支付单开始时间" readonly style="width: 240px;"/>
+            </div>
+
+            <div style="padding-top:10px;">
+            <Form-item label="海关支付单开始时间:" prop="paymentStartTime" style="margin-top:10px;height: 14px">
+                {{orderProcessRecordEntity.paymentStartTimeStr}}
             </Form-item>
-            <Form-item label="支付单成功时间" prop="paymentSuccTime">
-                <Date-picker format="yyyy-MM-dd HH:mm:ss" v-model="orderProcessRecordEntity.paymentSuccTime" placeholder="支付单成功时间" readonly style="width: 240px;"/>
+            <Form-item label="海关支付单成功时间" prop="paymentSuccTime" style="height: 14px">
+                {{orderProcessRecordEntity.paymentSuccTimeStr}}
             </Form-item>
-            <Form-item label="支付单状态" prop="isPaymentSend">
+            <Form-item label="海关支付单状态" prop="isPaymentSend" style="height: 14px">
                 <Radio-group v-model="orderProcessRecordEntity.isPaymentSend">
                     <Radio label="0">
                         <span>失败</span>
@@ -100,13 +129,16 @@
                     </Radio>
                 </Radio-group>
             </Form-item>
-            <Form-item label="电子订单开始时间" prop="eleOrderStartTime">
-                <Date-picker format="yyyy-MM-dd HH:mm:ss" v-model="orderProcessRecordEntity.eleOrderStartTime" placeholder="电子订单开始时间" readonly style="width: 240px;"/>
+            </div>
+
+            <div style="padding-top:10px;">
+            <Form-item label="电子订单开始时间:" prop="eleOrderStartTime" style="margin-top:10px;height: 14px">
+                {{orderProcessRecordEntity.eleOrderStartTimeStr}}
             </Form-item>
-            <Form-item label="电子订单成功时间" prop="eleOrderSuccTime">
-                <Date-picker format="yyyy-MM-dd HH:mm:ss" v-model="orderProcessRecordEntity.eleOrderSuccTime" placeholder="电子订单成功时间" readonly style="width: 240px;"/>
+            <Form-item label="电子订单成功时间" prop="eleOrderSuccTime" style="height: 14px">
+                {{orderProcessRecordEntity.eleOrderSuccTimeStr}}
             </Form-item>
-            <Form-item label="电子订单状态" prop="isEleOrderSend">
+            <Form-item label="电子订单状态" prop="isEleOrderSend" style="height: 14px">
                 <Radio-group v-model="orderProcessRecordEntity.isEleOrderSend">
                     <Radio label="0">
                         <span>失败</span>
@@ -119,25 +151,31 @@
                     </Radio>
                 </Radio-group>
             </Form-item>
-            <Form-item label="运单开始时间" prop="waybillStartTime">
-                <Date-picker format="yyyy-MM-dd HH:mm:ss" v-model="orderProcessRecordEntity.waybillStartTime" placeholder="运单开始时间" readonly style="width: 240px;"/>
+            </div>
+
+            <div style="padding-top:10px;">
+            <Form-item label="运单编号:" prop="logisticsNo" style="margin-top:10px;height: 14px">
+                {{orderProcessRecordEntity.logisticsNo}}
             </Form-item>
-            <Form-item label="运单成功时间" prop="waybillSuccTime">
-                <Date-picker format="yyyy-MM-dd HH:mm:ss" v-model="orderProcessRecordEntity.waybillSuccTime" placeholder="运单成功时间" readonly style="width: 240px;"/>
+            <Form-item label="运单开始时间:" prop="waybillStartTime" style="height: 14px">
+                {{orderProcessRecordEntity.waybillStartTimeStr}}
             </Form-item>
-            <Form-item label="运单编号" prop="logisticsNo">
-                <i-input v-model="orderProcessRecordEntity.logisticsNo" readonly placeholder="运单编号" style="width: 240px;"/>
+            <Form-item label="运单成功时间:" prop="waybillSuccTime" style="height: 14px">
+                {{orderProcessRecordEntity.waybillSuccTimeStr}}
             </Form-item>
-            <Form-item label="清单开始时间" prop="customsStartTime">
-                <Date-picker format="yyyy-MM-dd HH:mm:ss" v-model="orderProcessRecordEntity.customsStartTime" placeholder="清单开始时间" readonly style="width: 240px;"/>
+            </div>
+
+            <div style="padding-top:10px;">
+            <Form-item label="清单编号:" prop="invtNo" style="margin-top:10px;height: 14px">
+                {{orderProcessRecordEntity.invtNo}}
             </Form-item>
-            <Form-item label="清单成功时间" prop="customsSuccTime">
-                <Date-picker format="yyyy-MM-dd HH:mm:ss" v-model="orderProcessRecordEntity.customsSuccTime" placeholder="清单成功时间" readonly style="width: 240px;"/>
+            <Form-item label="清单开始时间:" prop="customsStartTime" style="height: 14px">
+                {{orderProcessRecordEntity.customsStartTimeStr}}
             </Form-item>
-            <Form-item label="清单编号" prop="invtNo">
-                <i-input v-model="orderProcessRecordEntity.invtNo" readonly placeholder="清单编号" style="width: 240px;"/>
+            <Form-item label="清单成功时间:" prop="customsSuccTime" style="height: 14px">
+                {{orderProcessRecordEntity.customsSuccTimeStr}}
             </Form-item>
-            <Form-item label="清关状态" prop="isCustomsSend">
+            <Form-item label="清关状态" prop="isCustomsSend" style="height: 14px">
                 <Radio-group v-model="orderProcessRecordEntity.isCustomsSend">
                     <Radio label="0">
                         <span>失败</span>
@@ -150,13 +188,16 @@
                     </Radio>
                 </Radio-group>
             </Form-item>
-            <Form-item label="出货开始时间" prop="shipmentStartTime">
-                <Date-picker format="yyyy-MM-dd HH:mm:ss" v-model="orderProcessRecordEntity.shipmentStartTime" placeholder="出货开始时间" readonly style="width: 240px;"/>
-            </Form-item>
-            <Form-item label="出货成功时间" prop="shipmentSuccTime">
-                <Date-picker format="yyyy-MM-dd HH:mm:ss" v-model="orderProcessRecordEntity.shipmentSuccTime" placeholder="出货成功时间" readonly style="width: 240px;"/>
-            </Form-item>
-            <Form-item label="订单流转信息" prop="processContent">
+            </div>
+            <div style="padding-top:10px;">
+                <Form-item label="出货开始时间:" prop="shipmentStartTime" style="height: 14px">
+                    {{orderProcessRecordEntity.shipmentStartTimeStr}}
+                </Form-item>
+                <Form-item label="出货成功时间:" prop="shipmentSuccTime" style="height: 14px">
+                    {{orderProcessRecordEntity.shipmentSuccTimeStr}}
+                </Form-item>
+            </div>
+            <Form-item label="订单流转信息:" prop="processContent" style="padding-top:10px;">
                 <i-input type="textarea" v-model="orderProcessRecordEntity.processContent" readonly placeholder="订单流转信息"/>
             </Form-item>
             <Form-item>

+ 31 - 12
kmall-api/src/main/java/com/kmall/api/api/ApiOrderController.java

@@ -12,6 +12,7 @@ import com.kmall.api.service.*;
 import com.kmall.api.service.express.kdn.ApiKdniaoService;
 import com.kmall.api.util.ApiBaseAction;
 import com.kmall.api.util.ApiPageUtils;
+import com.kmall.common.service.print.ticket.PrintTicketPropertiesBuilder;
 import com.kmall.common.utils.Constant;
 import com.kmall.common.utils.DateUtils;
 import com.kmall.common.utils.Query;
@@ -50,6 +51,8 @@ public class ApiOrderController extends ApiBaseAction {
     private ApiOrderProcessRecordService orderProcessRecordService;
     @Autowired
     private ApiOrderRefundService apiOrderRefundService;
+    @Autowired
+    private ApiStoreService apiStoreService;
 
     /**
      */
@@ -140,7 +143,9 @@ public class ApiOrderController extends ApiBaseAction {
             if((orderInfo.getOrderBizType().equalsIgnoreCase(Dict.orderBizType.item_10.getItem()) ||
                     orderInfo.getOrderBizType().equalsIgnoreCase(Dict.orderBizType.item_02.getItem()))){
                 Map map = new HashMap();
-                map.put("AcceptStation", "交易完成,用户已提走");
+                map.put("AcceptStation", PrintTicketPropertiesBuilder.instance().getAddress()
+                        + "送达" + apiStoreService.queryObject(orderInfo.getStore_id()).getStoreAddress()
+                        + ";交易完成,用户已提走");
                 mapList.add(map);
             }else{
                 if (!StringUtils.isEmpty(orderInfo.getShipping_code()) && !StringUtils.isEmpty(orderInfo.getShipping_no()) &&entity.getShipmentStartTime()!=null) {
@@ -169,16 +174,22 @@ public class ApiOrderController extends ApiBaseAction {
                 map.put("AcceptStation", "订单清关完成,等待仓库发货");
                 mapList.add(map);
             }
+            if (Dict.isSend.item_0.getItem().equalsIgnoreCase(entity.getIsCustomsSend())) {
+                Map map = new HashMap();
+                map.put("AcceptTime", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(entity.getCustomsSuccTime()));
+                map.put("AcceptStation", "订单清关失败");
+                mapList.add(map);
+            }
             if (Dict.isSend.item_1.getItem().equalsIgnoreCase(entity.getIsPaymentSend())) {
                 Map map = new HashMap();
                 map.put("AcceptTime", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(entity.getPaySuccTime()));
-                map.put("AcceptStation", "订单支付成功,等待海关清关");
+                map.put("AcceptStation", "订单支付成功");
                 mapList.add(map);
             }
             if (Dict.isSend.item_1.getItem().equalsIgnoreCase(entity.getIsAddOrderSend())) {
                 Map map = new HashMap();
                 map.put("AcceptTime", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(entity.getAddOrderSuccTime()));
-                map.put("AcceptStation", "订单提交成功");
+                map.put("AcceptStation", "客户下单成功");
                 mapList.add(map);
             }
         }
@@ -317,20 +328,23 @@ public class ApiOrderController extends ApiBaseAction {
             if(orderInfo.getOrderBizType().equalsIgnoreCase(Dict.orderBizType.item_10.getItem())
                     || orderInfo.getOrderBizType().equalsIgnoreCase(Dict.orderBizType.item_02.getItem())){
                 WuliuVo vo = new WuliuVo();
-                vo.setAcceptStation("交易完成,用户已提走");
+                vo.setAcceptStation(PrintTicketPropertiesBuilder.instance().getAddress()
+                        + "送达" + apiStoreService.queryObject(orderInfo.getStore_id()).getStoreAddress()
+                        + ";交易完成,用户已提走");
                 wuliuList.add(vo);
             }else {
                 if (!StringUtils.isEmpty(orderInfo.getShipping_code()) && !StringUtils.isEmpty(orderInfo.getShipping_no()) && entity.getShipmentStartTime() != null) {
                     // 快递
                     JSONObject Traces = apiKdniaoService.getOrderTracesByJson(orderInfo.getShipping_code(), orderInfo.getShipping_no());
                     List<Map> mapList = (List<Map>) Traces.get("Traces");
-                    for (int i = 0; i < mapList.size(); i++) {
-                        WuliuVo vo = new WuliuVo();
-                        vo.setAcceptTime((String) mapList.get(i).get("AcceptTime"));
-                        vo.setAcceptStation((String) mapList.get(i).get("AcceptStation"));
-                        wuliuList.add(vo);
+                    if(mapList!=null&&mapList.size()>0) {
+                        for (int i = 0; i < mapList.size(); i++) {
+                            WuliuVo vo = new WuliuVo();
+                            vo.setAcceptTime((String) mapList.get(i).get("AcceptTime"));
+                            vo.setAcceptStation((String) mapList.get(i).get("AcceptStation"));
+                            wuliuList.add(vo);
+                        }
                     }
-
                     String State = (String) Traces.get("State"); //物流状态:2-在途中,3-签收,4-问题件
                     String Reason = (String) Traces.get("Reason");
                     if (Dict.logisticsStatus.item_0.getItem().equalsIgnoreCase(State)) {
@@ -354,15 +368,20 @@ public class ApiOrderController extends ApiBaseAction {
                 wuliuVo.setAcceptTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(entity.getCustomsSuccTime()));
                 wuliuList.add(wuliuVo);
             }
+            if (Dict.isSend.item_0.getItem().equalsIgnoreCase(entity.getIsCustomsSend())) {
+                WuliuVo wuliuVo = new WuliuVo();
+                wuliuVo.setAcceptStation("订单清关失败");
+                wuliuList.add(wuliuVo);
+            }
             if(Dict.isSend.item_1.getItem().equalsIgnoreCase(entity.getIsPaymentSend())){
                 WuliuVo wuliuVo = new WuliuVo();
-                wuliuVo.setAcceptStation("订单支付成功,等待海关清关");
+                wuliuVo.setAcceptStation("订单支付成功");
                 wuliuVo.setAcceptTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(entity.getPaySuccTime()));
                 wuliuList.add(wuliuVo);
             }
             if(Dict.isSend.item_1.getItem().equalsIgnoreCase(entity.getIsAddOrderSend())){
                 WuliuVo wuliuVo = new WuliuVo();
-                wuliuVo.setAcceptStation("订单提交成功");
+                wuliuVo.setAcceptStation("订单下单成功");
                 wuliuVo.setAcceptTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(entity.getAddOrderSuccTime()));
                 wuliuList.add(wuliuVo);
             }

+ 10 - 8
kmall-common/src/main/java/com/kmall/common/utils/express/kdn/KdniaoUtil.java

@@ -55,15 +55,17 @@ public class KdniaoUtil {
             if (null != jsonObject) {
                 List<Map<String, String>> mapList = (List<Map<String, String>>) jsonObject.get("Traces");
                 //根据轨迹里接收时间排序
-                mapList.sort(new Comparator<Map<String, String>>() {
-                    @Override
-                    public int compare(Map<String, String> o1, Map<String, String> o2) {
-                        if (DateUtils.strToDate(o1.get("AcceptTime")).after(DateUtils.strToDate(o2.get("AcceptTime")))) {
-                            return -1;
+                if(mapList!=null && mapList.size()>0) {
+                    mapList.sort(new Comparator<Map<String, String>>() {
+                        @Override
+                        public int compare(Map<String, String> o1, Map<String, String> o2) {
+                            if (DateUtils.strToDate(o1.get("AcceptTime")).after(DateUtils.strToDate(o2.get("AcceptTime")))) {
+                                return -1;
+                            }
+                            return 0;
                         }
-                        return 0;
-                    }
-                });
+                    });
+                }
                 jsonObject.put("Traces", mapList);
             }
         } catch (Exception e) {

+ 82 - 1
kmall-pt.iml

@@ -1,2 +1,83 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4" />
+<module version="4">
+  <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8">
+    <output url="file://$MODULE_DIR$/target/classes" />
+    <output-test url="file://$MODULE_DIR$/target/test-classes" />
+    <content url="file://$MODULE_DIR$">
+      <excludeFolder url="file://$MODULE_DIR$/target" />
+    </content>
+    <orderEntry type="inheritedJdk" />
+    <orderEntry type="sourceFolder" forTests="false" />
+    <orderEntry type="library" scope="TEST" name="Maven: junit:junit:4.12" level="project" />
+    <orderEntry type="library" scope="TEST" name="Maven: org.hamcrest:hamcrest-core:1.3" level="project" />
+    <orderEntry type="library" scope="PROVIDED" name="Maven: javax.servlet:javax.servlet-api:3.1.0" level="project" />
+    <orderEntry type="library" name="Maven: org.mybatis:mybatis:3.4.1" level="project" />
+    <orderEntry type="library" name="Maven: org.mybatis:mybatis-spring:1.3.0" level="project" />
+    <orderEntry type="library" name="Maven: org.hibernate:hibernate-validator:5.4.1.Final" level="project" />
+    <orderEntry type="library" name="Maven: javax.validation:validation-api:1.1.0.Final" level="project" />
+    <orderEntry type="library" name="Maven: org.jboss.logging:jboss-logging:3.3.0.Final" level="project" />
+    <orderEntry type="library" name="Maven: com.fasterxml:classmate:1.3.1" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-webmvc:4.3.7.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-beans:4.3.7.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-context:4.3.7.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-core:4.3.7.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-expression:4.3.7.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-web:4.3.7.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-jdbc:4.3.7.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-tx:4.3.7.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-context-support:4.3.7.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-aop:4.3.7.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-aspects:4.3.7.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.aspectj:aspectjweaver:1.8.9" level="project" />
+    <orderEntry type="library" scope="TEST" name="Maven: org.springframework:spring-test:4.3.7.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.slf4j:slf4j-api:1.7.19" level="project" />
+    <orderEntry type="library" name="Maven: org.slf4j:slf4j-log4j12:1.7.19" level="project" />
+    <orderEntry type="library" name="Maven: org.slf4j:jcl-over-slf4j:1.7.19" level="project" />
+    <orderEntry type="library" name="Maven: log4j:log4j:1.2.17" level="project" />
+    <orderEntry type="library" name="Maven: ch.qos.logback:logback-core:1.2.3" level="project" />
+    <orderEntry type="library" name="Maven: ch.qos.logback:logback-classic:1.2.3" level="project" />
+    <orderEntry type="library" name="Maven: org.logback-extensions:logback-ext-spring:0.1.5" level="project" />
+    <orderEntry type="library" name="Maven: com.zaxxer:HikariCP:2.6.3" level="project" />
+    <orderEntry type="library" name="Maven: org.mariadb.jdbc:mariadb-java-client:2.0.2" level="project" />
+    <orderEntry type="library" name="Maven: mysql:mysql-connector-java:5.1.39" level="project" />
+    <orderEntry type="library" name="Maven: com.alibaba:druid:1.0.28" level="project" />
+    <orderEntry type="module-library">
+      <library name="Maven: com.alibaba:jconsole:1.8.0">
+        <CLASSES>
+          <root url="jar://D:/Program Files/Java/jdk1.8.0_131/lib/jconsole.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library">
+      <library name="Maven: com.alibaba:tools:1.8.0">
+        <CLASSES>
+          <root url="jar://D:/Program Files/Java/jdk1.8.0_131/lib/tools.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="library" name="Maven: commons-lang:commons-lang:2.6" level="project" />
+    <orderEntry type="library" name="Maven: commons-fileupload:commons-fileupload:1.3.1" level="project" />
+    <orderEntry type="library" name="Maven: commons-io:commons-io:2.5" level="project" />
+    <orderEntry type="library" name="Maven: com.alibaba:fastjson:1.2.30" level="project" />
+    <orderEntry type="library" name="Maven: commons-codec:commons-codec:1.10" level="project" />
+    <orderEntry type="library" name="Maven: commons-configuration:commons-configuration:1.10" level="project" />
+    <orderEntry type="library" name="Maven: commons-logging:commons-logging:1.1.1" level="project" />
+    <orderEntry type="library" name="Maven: commons-beanutils:commons-beanutils:1.9.3" level="project" />
+    <orderEntry type="library" name="Maven: commons-collections:commons-collections:3.2.2" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.shiro:shiro-core:1.3.2" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.shiro:shiro-spring:1.3.2" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.shiro:shiro-web:1.3.2" level="project" />
+    <orderEntry type="library" name="Maven: com.github.axet:kaptcha:0.0.9" level="project" />
+    <orderEntry type="library" name="Maven: com.jhlabs:filters:2.0.235" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.velocity:velocity:1.7" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.velocity:velocity-tools:2.0" level="project" />
+    <orderEntry type="library" name="Maven: commons-digester:commons-digester:1.8" level="project" />
+    <orderEntry type="library" name="Maven: jstl:jstl:1.2" level="project" />
+    <orderEntry type="library" name="Maven: taglibs:standard:1.1.2" level="project" />
+    <orderEntry type="library" name="Maven: org.freemarker:freemarker:2.3.23" level="project" />
+  </component>
+</module>

+ 33 - 2
wx-mall/pages/goods/goods.js

@@ -28,7 +28,7 @@ Page({
     hasCollectImage: "/static/images/icon_collect_checked.png",
     collectBackImage: "/static/images/icon_collect.png",
     showNavList: false,
-    stockNum: 0,
+    stockNum: '',
     cartNumber: 0,
     autoplay: false,
     defaultFreight: 0,
@@ -37,7 +37,10 @@ Page({
     indexNum: 0,
     windowWidth: 0,
     leftWidth: 0,
-    startX:0
+    startX:0,
+    curr_id: '',
+    videoHiddenName: true,
+    imgHiddenName: false
   },
   toggleNav() {
     this.setData({
@@ -493,4 +496,32 @@ Page({
       //console.log('不能修改样式')
     }
   },
+  videoPlay(e) {
+    // if (this.data.curr_id == e.currentTarget.dataset.id) {
+    //   this.setData({
+    //     curr_id: 0,
+    //   })
+    // } else {
+    //   this.setData({
+    //     curr_id: e.currentTarget.dataset.id,
+    //   })
+    // }
+    this.setData({
+      imgHiddenName: true,
+      videoHiddenName: false
+    })
+    this.videoContext.play();
+  },
+  //触摸事件start
+  touchStart2(e) {
+    
+  },
+  touchEnd2(e) {
+    this.setData({
+      curr_id: 0,
+      imgHiddenName: false,
+      videoHiddenName: true
+    })
+    this.videoContext.pause();
+  }
 })

+ 27 - 9
wx-mall/pages/goods/goods.wxml

@@ -43,18 +43,36 @@
       <view class='scroll-wrapper'>
         <scroll-view class='scroll-view'>
           <view class="items-wrapper" style="transform:translate3d({{leftWidth}}px, 0, 0)">
-            <view wx:for="{{gallery}}" wx:key="index" data-index="{{index}}" class="item"  bindtouchstart='touchStart' bindtouchend='touchEnd' >
+          <!-- 循环商品图开始 -->
+            <view wx:for="{{gallery}}" wx:key="index" data-index="{{index}}" class="item" bindtouchstart='touchStart' bindtouchend='touchEnd'>
               <view class='rank-num' style="background-color: #c8c8c8">{{index+1}}/{{gallery.length}}</view>
               <view class='img-wrapper'>
-                <video wx:if="{{item.file_type==1}}" id="myVideo" class='myVideo' indicator-color="{{indicator}}" indicator-active-color="{{activeIndicator}}" src="{{item.img_url}}" style="transform:translate3d({{leftWidth}}px, 0, 0)" binderror="videoErrorCallback" objectFit="cover" initial-time='1' show-center-play-btn enable-progress-gesture controls></video>
-                <image src="{{item.img_url}}" class="imageClass" mode='aspectFill' catchtap='preview' data-url="{{item.img_url}}" wx:else/>
+              <!-- 视频播放开始 -->
+              <view class="video2" data-id="{{item.id}}" bindtap="videoPlay" wx:if="{{item.file_type == 1}}">
+                <view hidden="{{videoHiddenName}}">
+                <video id="myVideo" style="width: 750rpx;height: calc(9 * 750rpx / 16);" src="{{item.img_url}}" objectFit="cover" show-center-play-btn enable-progress-gesture  controls></video>
+                  </view>
+
+                <view style="width: 750rpx;height: calc(9 * 750rpx / 16);" hidden="{{imgHiddenName}}">
+                  <image class="model-img" style="width: 750rpx;height: calc(9 * 750rpx / 16);background-size:650rpx 321rpx;" mode="aspectFill" src="{{gallery[1].img_url}}" background-size="cover"></image>
+                  <view class="model-btn">
+                    <view class="play-icon"></view>
+                  </view>
+                </view>
+              </view>
+              <!-- 视频播放结束 -->
+              <view wx:else >
+                <image src="{{item.img_url}}" class="imageClass" mode='aspectFill' catchtap='preview' data-url="{{item.img_url}}"/>
+              </view>
               </view>
+              
             </view>
+            <!-- 循环商品图结束 -->
           </view>
-        </scroll-view>
-      </view>
-    </view>
+    </scroll-view>
   </view>
+</view>
+</view>
       <!-- <swiper indicator-dots indicator-color="{{indicator}}" current="{{current}}" indicator-active-color="{{activeIndicator}}" class="goodsimgs" duration="300">  
         <block wx:for="{{gallery}}" wx:key="item.id">  
           <swiper-item>  
@@ -84,7 +102,7 @@
       <view class="item">每日优选生鲜</view>
       <view class="item">满88元免运费</view>
     </view> -->
-    <view class="goods-info">
+    <view class="goods-info" bindtouchstart='touchStart2' bindtouchend='touchEnd2'>
       <view class="c" bindtap="hideSwitchAttrPop">
         <view class="goods-do">
           <text class="price">{{goods.retail_price?"¥"+goods.retail_price:"¥0"}}</text>
@@ -103,7 +121,7 @@
         </view>
       </view>
     </view>
-    <view class="section-nav section-attr" bindtap="switchAttrPop"  wx:if="{{stockNum >0}}">
+    <view class="section-nav section-attr" bindtap="switchAttrPop"  wx:if="{{stockNum >0}}"  bindtouchstart='touchStart2' bindtouchend='touchEnd2'>
       <view class="t">{{checkedSpecText=="请选择规格数量"?"请选择规格数量":"已选:【"+checkedSpecText+"】"}}</view>
       <image class="i" src="../../static/images/address_right.png" background-size="cover"></image>
     </view>
@@ -137,7 +155,7 @@
       </view>
       <image class="i" src="../../static/images/address_right.png" background-size="cover"></image>
     </view>-->
-    <view class="comments" bindtap="hideSwitchAttrPop">
+    <view class="comments" bindtap="hideSwitchAttrPop" bindtouchstart='touchStart2' bindtouchend='touchEnd2'>
       <view class="h">
         <navigator url='../comment/comment?valueId={{goods.id}}&typeId=0'>
           <text class="t">评价({{comment.count > 999 ? '999+' : comment.count}})</text>

+ 33 - 5
wx-mall/pages/goods/goods.wxss

@@ -3,8 +3,11 @@
 }
 
 .goodsimgs {
+  position: relative;
   width: 750rpx;
   height: 750rpx;
+  background: #fff;
+  top:0rpx;
 }
 
 /* .goodsimgs image {
@@ -13,9 +16,11 @@
 }
 .goodsimgs video{
   position: absolute;
-  width:750rpx; 
-  height: 750rpx;
   display: block;
+  top:0rpx;
+  width: 750rpx;
+  height: 450rpx;
+  margin-top:150rpx;
 } */
 
 .content-wrapper {
@@ -73,9 +78,33 @@
   transform-origin: center;
   letter-spacing: 0;
 }
+.video2{ margin-top: 150rpx;
+	position: relative;
+}
+.model-img{
+  background-size:650rpx 321rpx;
+}
+.model-btn{
+	position:absolute;
+  left:0;
+  top:0;
+  bottom:0;
+  right:0;
+  margin:auto;
+  width:100rpx;
+  height:100rpx;
+  border-radius:50%;
+  background-color: rgba(0,0,0,.3);
+}
+.play-icon{
+    margin:28rpx 42rpx;
+    border-top:26rpx solid transparent;
+    border-left:36rpx solid #fff;
+    border-bottom:22rpx solid transparent;
+}
 .content-wrapper .scroll-view .item .img-wrapper .myVideo {
-  height:400rpx;width:100%;
-  margin-top: 150rpx;
+  width: 750rpx;
+  height: calc(9 * 750rpx / 16);
   /* left:0; */
 }
 /* .content-wrapper .scroll-view .item:nth-child(1) {
@@ -218,7 +247,6 @@
   height: 210rpx;
   overflow: hidden;
   background: #fff;
-  z-index: 9999;
 }
 
 .goods-info .c {