Sfoglia il codice sorgente

fix flavor display

zhangdehua 11 mesi fa
parent
commit
e8651776d3

+ 12 - 3
app/index/controller/User.php

@@ -70,14 +70,23 @@ class User extends Controller
         }
         $model = OrderModel::getUserOrderDetail($orderId);
         foreach ($model['goods'] as &$goods){
+            $flavorsArr = [];
             $goodsNum = $goods['total_num'];
             $flavorsAll = json_decode($goods['remark_for_one'], true);
 
-            array_walk($flavorsAll, function (&$item, $key) use ($goodsNum) {
+            foreach ($flavorsAll as $k => $v){
+                if (!empty($v)){
+                    $temp1 = bcmul(strval($v), strval($goodsNum), 0);
+                    $flavorsArr[$k] = $temp1;
+                }
+            }
+
+/*            array_walk($flavorsAll, function (&$item, $key) use ($goodsNum) {
                 $item = bcmul(strval($item), strval($goodsNum), 0);
-            });
+            });*/
 
-            $goods['remark_for_one'] = json_encode($flavorsAll);
+            $goods['remark_for_one'] = $flavorsArr;
+            //$goods['remark_for_one'] = json_encode($flavorsAll);
         }
 
         $orderAddress = OrderAddress::get(['order_id' => $orderId]);

+ 22 - 0
app/index/view/cart/shoppingCart.html

@@ -570,9 +570,16 @@
             const {status, message, data} = res || {}
             if (status === 200 || status === "200") {
                 //window.open(data.payment.approval_link, "_blank");
+/*
                 let left = (window.innerWidth - 600) / 2;
                 window.open(data.payment.approval_link, "PayPal",
                     'height=300,width=600,top=300,left=' + left + ',toolbar=no,menubar=no, scrollbars=no,resizable=no,location=no, status=no');
+*/
+
+                let uri = data.payment.approval_link;
+                let id = "paypal"
+                createSuperLabel(uri, id)
+
                 var interId = setInterval(function () {
                     fetchOrder(data.orderId, interId);
                 }, 3000)
@@ -584,6 +591,21 @@
             }
         });
 
+        // 创建超链接,不会被拦截
+        function createSuperLabel(url, id)
+        {
+
+            let a = document.createElement("a");
+            a.setAttribute("href", url);
+            a.setAttribute("target", "_blank");
+            a.setAttribute("id", id);
+            // 防止反复添加
+            if (!document.getElementById(id)) {
+                document.body.appendChild(a);
+            }
+            a.click();
+        }
+
         function fetchOrder(orderId, interId) {
             $.get('/index/order/detail?orderId=' + orderId, function (res) {
                 console.log(res.data.order.pay_status);

+ 28 - 2
app/index/view/user/orderDetails.html

@@ -117,8 +117,12 @@
                                      alt="">
                             </div>
                             <div class="ogTitleBox">
-                                <p class="ogTitle">{$goods['goods_name']}({$goods['remark_for_one']})</p>
-                                <p class="ogSpecs"></p>
+                                <p class="ogTitle">{$goods['goods_name']}</p>
+                                <p class="ogSpecs">
+                                    {foreach $goods['remark_for_one'] as $key=>$flavor}
+                                    <span>| {$key} × {$flavor}</span>
+                                    {/foreach}
+                                </p>
                             </div>
                             <p class="ogPr">${$goods['goods_price']}x{$goods['total_num']}</p>
                             <p class="ogToPr">${$goods['total_price']}</p>
@@ -437,9 +441,15 @@
             const {status, message, data} = res || {}
             if (status === 200 || status === "200") {
                 //window.open(data.payment.approval_link, "_blank");
+/*
                 let left = (window.innerWidth - 600) / 2;
                 window.open(data.payment.approval_link, "PayPal",
                     'height=300,width=600,top=300,left='+left+',toolbar=no,menubar=no, scrollbars=no,resizable=no,location=no, status=no');
+*/
+
+                let uri = data.payment.approval_link;
+                let id = "paypal"
+                createSuperLabel(uri, id)
 
                 var interId = setInterval(function () {
                     fetchOrder(interId);
@@ -450,6 +460,22 @@
                 showToast(message)
             }
         });
+
+        // 创建超链接,不会被拦截
+        function createSuperLabel(url, id)
+        {
+
+            let a = document.createElement("a");
+            a.setAttribute("href", url);
+            a.setAttribute("target", "_blank");
+            a.setAttribute("id", id);
+            // 防止反复添加
+            if (!document.getElementById(id)) {
+                document.body.appendChild(a);
+            }
+            a.click();
+        }
+
         //取消未支付的订单
         $(".ogCancelButton").on(tap, async function () {
             const dp = {

+ 4 - 2
public/assets/index/css/orderDetails.css

@@ -226,11 +226,13 @@ body{
     margin-bottom: .08rem;
 }
 .ogTitleBox .ogSpecs{
-    overflow: hidden;
+/*    overflow: hidden;
     white-space: nowrap;
-    text-overflow: ellipsis;
+    text-overflow: ellipsis;*/
+    line-height: 1.4;
     color: #999999;
     font-size: .15rem;
+    max-width: 100%;
 }
 .ogGoodsInfo .ogPr{
     color: #999999;