Commit 1821d0774a3bb5fc7d68307a43555f98ce15a359
1 parent
a1da4203
change order price
Showing
2 changed files
with
17 additions
and
2 deletions
Show diff stats
views/order/_form.php
... | ... | @@ -119,7 +119,7 @@ JS; |
119 | 119 | foreach ($model->orderProducts as $index => $orderProduct) { |
120 | 120 | $sum += ($orderProduct->count * $orderProduct->price) |
121 | 121 | ?> |
122 | - <div class="row row-order-product"> | |
122 | + <div class="row row-order-product" data-price="<?=$orderProduct->price?>"> | |
123 | 123 | <div class="col-md-4"> |
124 | 124 | <?php |
125 | 125 | echo $form->field($orderProduct, "[$index]variant_id") |
... | ... | @@ -134,7 +134,7 @@ JS; |
134 | 134 | <div class="col-md-3"> |
135 | 135 | <?php |
136 | 136 | echo $form->field($orderProduct, "[$index]count") |
137 | - ->textInput() | |
137 | + ->textInput(['class' => 'count']) | |
138 | 138 | ->label(false); |
139 | 139 | ?> |
140 | 140 | </div> | ... | ... |
web/js/order.js
... | ... | @@ -2,9 +2,15 @@ $(function() { |
2 | 2 | $(document) |
3 | 3 | .on('click', '.remove-order-product', function(e) { |
4 | 4 | e.preventDefault(); |
5 | + var current_price = parseInt($(this).parents('.row-order-product').data('price')); | |
6 | + var number = parseInt($(this).parents('.row-order-product').children('.col-md-3').children('.form-group').children('input').val()); | |
5 | 7 | $(this) |
6 | 8 | .parents('.row-order-product') |
7 | 9 | .remove(); |
10 | + var total_price = parseInt($(".sum_all").children('p').text()); | |
11 | + total_price = total_price - (current_price * number); | |
12 | + console.log(number); | |
13 | + $(".sum_all").children('p').text(total_price); | |
8 | 14 | }); |
9 | 15 | $(document) |
10 | 16 | .on('click', '.variant-to-order', function(e) { |
... | ... | @@ -36,6 +42,15 @@ $(function() { |
36 | 42 | .trigger('change'); |
37 | 43 | } |
38 | 44 | }); |
45 | + $(document).on('change', '.count', function() { | |
46 | + var count_old = parseInt(this.defaultValue); | |
47 | + var count_new = parseInt(this.value); | |
48 | + var current_price = parseInt($(this).parents('.row-order-product').data('price')); | |
49 | + var total_price = parseInt($(".sum_all").children('p').text()); | |
50 | + total_price = total_price - (count_old * current_price) + (count_new * current_price); | |
51 | + this.defaultValue = this.value; | |
52 | + $(".sum_all").children('p').text(total_price); | |
53 | + }) | |
39 | 54 | }); |
40 | 55 | function showLoader(container) { |
41 | 56 | $(container) | ... | ... |