change_price.blade.php 8.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197
  1. <!-- 订单改价 -->
  2. <div id="modal-changeprice" class="modal fade" tabindex="-1" role="dialog" aria-hidden="true">
  3. <form class="form-horizontal form" action="{{yzWebUrl('order.change-order-price.store')}}" method="post" enctype="multipart/form-data">
  4. <div class="modal-dialog" style="width:750px;margin:0px auto;">
  5. <div class="modal-content" >
  6. <div class="modal-header">
  7. <button aria-hidden="true" data-dismiss="modal" class="close" type="button">×</button>
  8. <h3>订单改价</h3>
  9. </div>
  10. <div class="modal-body">
  11. <div class="form-group">
  12. <div class="col-xs-12 col-sm-9 col-md-8 col-lg-12">
  13. <table class='table'>
  14. <tr>
  15. <th style='width:30%;'>商品名称</th>
  16. <th style='width:15%;'>单价</th>
  17. <th style='width:10%;'>数量</th>
  18. <th style='width:20%;'>小计</th>
  19. <th style='width:10%;'>加价或减价</th>
  20. <th style='width:15%;'>运费</th>
  21. </tr>
  22. @foreach($order_goods_model as $key => $order_goods)
  23. <input type='hidden' name="order_id" value="{{$order_model->id}}" />
  24. <tr>
  25. <td>{{$order_goods->hasOneGoods->title}}</td>
  26. <td class='realprice'>
  27. {{number_format($order_goods->price/$order_goods->total,2)}}
  28. </td>
  29. <td>{{$order_goods->total}}</td>
  30. <td>
  31. {{$order_goods->price}}
  32. @if($order_goods->change_price !=0)
  33. <label class='label label-danger'>改价</label>
  34. @endif
  35. </td>
  36. <td valign="top" >
  37. <input type='hidden' name="order_goods[{{$key}}][order_goods_id]" value="{{$order_goods->id}}" />
  38. <input type='text' class='form-control changeprice_orderprice' name="order_goods[{{$key}}][change_price]" />
  39. </td>
  40. @if($key == 0)
  41. <td valign="top" rowspan='{{$order_goods->hasOneGoods->goods_sn[$order_goods->hasOneGoods->order_id]}}' style='vertical-align: top' >
  42. <input type='text' class='form-control' value="{{$order_model->dispatch_price}}" name='dispatch_price' />
  43. <a href='javascript:;' onclick="$(this).prev().val('0');mc_calc()">直接免运费</a>
  44. </td>
  45. @endif
  46. </tr>
  47. @endforeach
  48. <tr>
  49. <td colspan='2'></td>
  50. <td colspan='' style='color:green'>应收款</td>
  51. <td colspan='' style='color:green'>{{number_format($order_model->price)}}</td>
  52. <td colspan='2' style='color:red'>改价后价格不能小于0元</td>
  53. </tr>
  54. </table>
  55. </div>
  56. </div>
  57. <div class="form-group">
  58. <div class="col-xs-12 col-sm-9 col-md-8 col-lg-8">
  59. <div class="form-control-static">
  60. </div>
  61. </div>
  62. </div>
  63. <div class="form-group">
  64. <div class="col-xs-12 col-sm-9 col-md-8 col-lg-12">
  65. <div class="form-control-static">
  66. <b>购买者信息</b> {{$order_model->address->address}} {{$order_model->address->realname}} {{$order_model->address->mobile}}<br/>
  67. <b>买家实付</b>: <span id='orderprice'>{{$order_model->price-$order_model->dispatch_price}}</span> + <span id='dispatchprice'>{{$order_model->dispatch_price}}</span> <span id='changeprice'></span> = <span id='lastprice'>{{$order_model->price}}</span><br/>
  68. <b>买家实付</b> = 原价 + 运费 + 涨价或减价<br/><br/>
  69. </div>
  70. </div>
  71. </div>
  72. <div id="module-menus"></div>
  73. </div>
  74. <div class="modal-footer">
  75. <button type="submit" class="btn btn-primary span2" name="confirmchange" value="yes" onclick='return mc_check()'>确认改价</button>
  76. <a href="#" class="btn btn-default" data-dismiss="modal" aria-hidden="true">关闭</a>
  77. </div>
  78. </div>
  79. </div>
  80. </form>
  81. </div>
  82. <script>
  83. var order_price = 0;
  84. var dispatch_price = 0;
  85. mc_init();
  86. function mc_init() {
  87. order_price = parseFloat($('#changeprice-orderprice').val());
  88. dispatch_price = parseFloat($('#changeprice-dispatchprice').val());
  89. $('input', $('#ajaxModal')).blur(function () {
  90. if(judgeSign($(this).val())){
  91. mc_calc();
  92. }
  93. });
  94. }
  95. function judgeSign(num) {
  96. var reg = new RegExp("^-?[0-9]*.?[0-9]*$");
  97. if ( reg.test(num) ) {
  98. var absVal = Math.abs(num);
  99. return num==absVal?'是正数':'是负数';
  100. }
  101. else {
  102. return -1;
  103. }
  104. }
  105. function mc_check(){
  106. var can = true;
  107. var lastprice = 0;
  108. $('.changeprice_orderprice').each(function () {
  109. if( $.trim( $(this).val())==''){
  110. alert('请输入改价金额!');
  111. can = false;
  112. return can;
  113. }
  114. var p = 0;
  115. console.log(judgeSign($(this).val()));
  116. if (judgeSign($(this).val()) == -1) {
  117. $(this).select();
  118. alert('请输入数字!');
  119. can = false;
  120. return can;
  121. }
  122. var val = parseFloat( $(this).val() );
  123. if(val<=0 && Math.abs(val) > parseFloat( $(this).parent().prev().html())) {
  124. $(this).select();
  125. alert('单个商品价格不能优惠到负数!');
  126. can =false;
  127. return false;
  128. }
  129. lastprice+=val;
  130. });
  131. var op = order_price + dispatch_price+ lastprice;
  132. if( op <0){
  133. alert('订单价格不能小于0元!');
  134. return false;
  135. }
  136. if(!can){
  137. return false;
  138. }
  139. return true;
  140. }
  141. function mc_calc() {
  142. var change_dispatchprice = parseFloat($('#changeprice_dispatchprice').val());
  143. if(!judgeSign($('#changeprice_dispatchprice').val())){
  144. change_dispatchprice = dispatch_price;
  145. }
  146. var dprice = change_dispatchprice;
  147. if (dprice <= 0) {
  148. dprice = 0;
  149. }
  150. $('#dispatchprice').html(dprice.toFixed(2));
  151. var oprice = 0;
  152. $('.changeprice_orderprice').each(function () {
  153. var p = 0;
  154. if ($.trim($(this).val()) != '') {
  155. p = parseFloat($.trim($(this).val()));
  156. }
  157. oprice += p;
  158. });
  159. if(Math.abs(oprice)>0){
  160. if (oprice < 0) {
  161. $('#changeprice').css('color', 'red');
  162. $('#changeprice').html( " - " + Math.abs(oprice));
  163. } else {
  164. $('#changeprice').css('color', 'green');
  165. $('#changeprice').html( " + " + Math.abs(oprice));
  166. }
  167. }
  168. var lastprice = order_price + dprice + oprice;
  169. $('#lastprice').html( lastprice.toFixed(2) );
  170. }
  171. </script>