complete.php 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364
  1. <?php
  2. use yii\widgets\LinkPager;
  3. ?>
  4. <style type="text/css">
  5. .btn-gray{cursor:default;}
  6. </style>
  7. <?php
  8. use backend\widgets\TabWidget;
  9. echo TabWidget::widget(['list' => $this->context->menuList, 'currentMenu' => $this->context->id]);
  10. ?>
  11. <div class="panel panel-default">
  12. <?php
  13. use backend\widgets\SubTabWidget;
  14. echo SubTabWidget::widget(['list' => $this->context->subMenuList, 'currentMenu' => $this->context->action->id]);
  15. ?>
  16. <div class="panel-body">
  17. <div id="example-2_wrapper"
  18. class="dataTables_wrapper form-inline dt-bootstrap no-footer">
  19. <div class="row">
  20. <form action="" method="GET">
  21. <div class="col-xs-6" style="width:90%;">
  22. <div class="dataTables_length">
  23. <label><input type="search" name="content" value="<?= $content ?>" class="form-control" placeholder="订单号 / 订花人手机号"></label>
  24. <input class="btn btn-secondary btn-single" type="submit" name="" value="搜索" />
  25. </div>
  26. </div>
  27. </form>
  28. </div>
  29. <div class="table-responsive">
  30. <table class="table table-bordered table-striped table-hover table-condensed">
  31. <thead>
  32. <tr class="active">
  33. <th class="no-sorting hidden-xs"><input type="checkbox"></th>
  34. <th>单号</th>
  35. <th>订花人</th>
  36. <th class="hidden-xs">收花人</th>
  37. <th class="hidden-xs">总价</th>
  38. <th class="hidden-xs">送达时间</th>
  39. <th class="hidden-xs">状态</th>
  40. <th class="hidden-xs">编号</th>
  41. <th>操作</th>
  42. </tr>
  43. </thead>
  44. <tbody class="middle-align">
  45. <?php foreach($models as $key => $val){ ?>
  46. <tr>
  47. <td class="hidden-xs"><input type="checkbox"></td>
  48. <td><a class="add-under-line" href="/order/detail?id=<?= $val['id'] ?>"><?= $val['id'] ?></a></td>
  49. <td><?= $val['bookName'] ?><p><?= $val['bookMobile'] ?></p></td>
  50. <td class="hidden-xs receive-user">
  51. <a href="javascript:void(0)" name="modifyPrice" pre_price="<?= $val['actPrice'] ?>" style="color:#68b828;cursor:pointer;text-decoration:none;" <i="" class="fa-car"></a>
  52. <?= $val['receiveUserName'] ?>
  53. <p><?= $val['receiveMobile'] ?></p>
  54. </td>
  55. <td class="hidden-xs">
  56. <span><?= $val['actPrice'] ?></span>
  57. <?php if($val['payStatus'] == 0 && empty($val['payCode'])){ ?>
  58. <?php if($val['modPriceStatus'] == 0){ ?>
  59. <input type="text" name="modifyPrice" pre_price="<?= $val['actPrice'] ?>" data-id="<?= $val['id'] ?>" style="width:45px;display:none;border-radius:3px;border:1px solid #ccc;" value="<?= $val['sendNum'] ?>" />
  60. <a href="javascript:void(0)" name="modifyPrice" pre_price="<?= $val['actPrice'] ?>" style="color:#68b828;cursor:pointer;text-decoration:none;" <i="" class="fa-pencil"></a>
  61. <?php } ?>
  62. <?php } ?>
  63. </td>
  64. <td class="hidden-xs"><?php if(!empty($val['reachTime'])){ echo date("m-d",strtotime($val['reachTime'])).$reachPeriodName[$val['reachPeriod']]; } ?></td>
  65. <td class="hidden-xs"><?php echo $payStatusName[$val['payStatus']]; ?></td>
  66. <td class="hidden-xs">
  67. <span><?= $val['sendNum'] ?></span>
  68. <!-- <input type="text" name="modifySendNum" data-id="--><?//= $val['id'] ?><!--" style="width:30px;display:none;border-radius:3px;border:1px solid #ccc;" value="--><?//= $val['sendNum'] ?><!--" />-->
  69. <!--<a href="javascript:void(0)" name="modifySendNum" pre_send_num="<?= $val['sendNum'] ?>" style="color:#68b828;cursor:pointer;text-decoration:none;" <i="" class="fa-pencil"></a>-->
  70. </td>
  71. <td>
  72. <?php
  73. if($val['receiveUserName'] != '' && $val['receiveMobile'] != ''){
  74. ?><!-- 有收花人信息 -->
  75. <?php if($val['payStatus'] == 0){ ?> <!-- 未付款 -->
  76. <?php if($val['printStatus'] == 0){ ?>
  77. <!-- <a href="javascript:void(0)" name="printOrder" pay-status="no" data-msg="打印" id="printOrder--><?//= $val['id'] ?><!--" order-id="--><?//= $val['id'] ?><!--" class="btn btn-secondary btn-sm btn-icon icon-left hidden-xs">打印</a>-->
  78. <a href="javascript:void(0)" name="editButton" data-id="<?=$val['id']?>" data-need-send="<?=$val['needSend']?>" source-type="<?=$val['sourceType']?>" request-url="/order/edit-order?id=<?=$val['id']?>" post-url="/order/save-edit-order?id=<?=$val['id']?>" class="btn btn-secondary btn-sm btn-icon icon-left"><li class="fa-print"></li> </a>
  79. <?php }else{ ?>
  80. <!-- <a href="javascript:void(0)" name="reprintOrder" pay-status="no" data-msg="打印" id="reprintOrder--><?//= $val['id'] ?><!--" order-id="--><?//= $val['id'] ?><!--" class="btn btn-turquoise btn-sm btn-icon icon-left hidden-xs">重打</a>-->
  81. <a href="javascript:void(0)" name="editButton" data-id="<?=$val['id']?>" data-need-send="<?=$val['needSend']?>" source-type="<?=$val['sourceType']?>" request-url="/order/edit-order?id=<?=$val['id']?>" post-url="/order/save-edit-order?id=<?=$val['id']?>" class="btn btn-secondary btn-sm btn-icon icon-left"><li class="fa-print"></li> </a>
  82. <?php } ?>
  83. <?php if($val['sendStatus'] == 0){ ?>
  84. <a href="javascript:void(0)" name="dealOrder" pay-status="no" data-msg="通知客户货已送达" id="dealOrder-<?= $val['id'] ?>" data-url="/order/update-pay-status?id=<?= $val['id'] ?>&status=2" class="btn btn-secondary btn-sm btn-icon icon-left">通知</a>
  85. <?php }else if($val['sendStatus'] == 1){ ?>
  86. <a href="javascript:void(0)" class="btn btn-secondary btn-sm btn-icon icon-left">送货中</a>
  87. <?php }else if($val['sendStatus'] == 2){ ?>
  88. <a href="javascript:void(0)" class="btn btn-gray btn-sm btn-icon icon-left">已通知</a>
  89. <?php } ?>
  90. <?php }else if($val['payStatus'] == 1){ ?><!-- 已经付款 -->
  91. <?php if($val['printStatus'] == 0){ ?>
  92. <!-- <a href="javascript:void(0)" name="printOrder" id="printOrder--><?//= $val['id'] ?><!--" order-id="--><?//= $val['id'] ?><!--" class="btn btn-secondary btn-sm btn-icon icon-left hidden-xs">打印</a>-->
  93. <a href="javascript:void(0)" name="editButton" data-id="<?=$val['id']?>" data-need-send="<?=$val['needSend']?>" source-type="<?=$val['sourceType']?>" request-url="/order/edit-order?id=<?=$val['id']?>" post-url="/order/save-edit-order?id=<?=$val['id']?>" class="btn btn-secondary btn-sm btn-icon icon-left"><li class="fa-print"></li> </a>
  94. <?php }else{ ?>
  95. <!-- <a href="javascript:void(0)" name="reprintOrder" id="reprintOrder--><?//= $val['id'] ?><!--" order-id="--><?//= $val['id'] ?><!--" class="btn btn-turquoise btn-sm btn-icon icon-left hidden-xs">重打</a>-->
  96. <a href="javascript:void(0)" name="editButton" data-id="<?=$val['id']?>" data-need-send="<?=$val['needSend']?>" source-type="<?=$val['sourceType']?>" request-url="/order/edit-order?id=<?=$val['id']?>" post-url="/order/save-edit-order?id=<?=$val['id']?>" class="btn btn-secondary btn-sm btn-icon icon-left"><li class="fa-print"></li> </a>
  97. <?php } ?>
  98. <?php if($val['sendStatus'] == 0){ ?>
  99. <a href="javascript:void(0)" name="dealOrder" data-msg="发货" id="dealOrder-<?= $val['id'] ?>" data-url="/order/update-pay-status?id=<?= $val['id'] ?>&status=2" class="btn btn-secondary btn-sm btn-icon icon-left">通知</a>
  100. <?php }else if($val['sendStatus'] == 1){ ?>
  101. <a href="javascript:void(0)" class="btn btn-secondary btn-sm btn-icon icon-left">送货中</a>
  102. <?php }else if($val['sendStatus'] == 2){ ?>
  103. <a href="javascript:void(0)" class="btn btn-gray btn-sm btn-icon icon-left">已通知</a>
  104. <?php } ?>
  105. <?php }else{ ?>
  106. <button class="btn btn-danger">出现错误状态:<?=$val['payStatus']?></button>
  107. <?php } ?>
  108. <?php }else{ ?><!-- 没有收花人信息 -->
  109. <!-- <a href="javascript:void(0)" class="btn btn-gray btn-sm btn-icon icon-left hidden-xs">打印</a>-->
  110. <a href="javascript:void(0)" name="editButton" data-id="<?=$val['id']?>" data-need-send="<?=$val['needSend']?>" source-type="<?=$val['sourceType']?>" request-url="/order/edit-order?id=<?=$val['id']?>" post-url="/order/save-edit-order?id=<?=$val['id']?>" class="btn btn-secondary btn-sm btn-icon icon-left"><li class="fa-print"></li> </a>
  111. <?php
  112. }
  113. ?>
  114. </td>
  115. </tr>
  116. <?php } ?>
  117. </tbody>
  118. </table>
  119. </div>
  120. <div class="row">
  121. <div>
  122. <!--
  123. <div style="display:inline-block;margin-left:15px;">
  124. <label><select name="example-1_length"
  125. aria-controls="example-1" class="form-control">
  126. <option value="0">批量操作</option>
  127. <option value="1">批量下架</option>
  128. <option value="2">批量删除</option>
  129. </select>
  130. </label>
  131. <input class="btn btn-secondary btn-single" type="submit" name="" value="确认" />
  132. </div>
  133. -->
  134. <div class="dataTables_paginate paging_simple_numbers" style="float:right;padding-top:0px;margin-right:15px;">
  135. <?= LinkPager::widget(['pagination' => $pages]); ?>
  136. </div>
  137. </div>
  138. </div>
  139. </div>
  140. </div>
  141. </div>
  142. <!-- footer -->
  143. <?php
  144. use backend\widgets\FooterWidget;
  145. ?>
  146. <?= FooterWidget::widget()?>
  147. <!-- footer -->
  148. <script>
  149. function updatePrintStatus(obj, orderId){
  150. $.ajax({
  151. type:"GET",
  152. url:'/order/update-print-status?id='+orderId+'&status=1',
  153. async:false,
  154. dataType:'json',
  155. success:function(data){
  156. if(data.code == 'A0001'){
  157. obj.removeClass('btn-secondary').addClass('btn-turquoise').html('重打');
  158. window.open('/order/print?id='+orderId);
  159. }else{
  160. xhPopMsg(data.msg);
  161. }
  162. }
  163. });
  164. }
  165. $("a[name=printOrder]").click(function(){
  166. var obj = $(this);
  167. var orderId = $(this).attr('order-id');
  168. var payStatus = $(this).attr('pay-status');
  169. if(payStatus == 'no'){
  170. var msg = $(this).attr('data-msg');
  171. $("#confirmMention .modal-body").html('此订单未付款,确认'+msg+'?');
  172. $('#confirmMention').modal('show', {backdrop: 'fade'}).css({
  173. 'margin-top': function () {
  174. var modalHeight = jQuery("#confirmMention").find('.modal-dialog').height();
  175. return ($(window).height() / 2 - (modalHeight / 2));
  176. }
  177. });
  178. $("button[name=confirmOk]").click(function(){
  179. $('#confirmMention').modal('hide');
  180. updatePrintStatus(obj, orderId);
  181. });
  182. }else{
  183. updatePrintStatus(obj, orderId);
  184. }
  185. });
  186. $("a[name=reprintOrder]").click(function(){
  187. var orderId = $(this).attr('order-id');
  188. var payStatus = $(this).attr('pay-status');
  189. if(payStatus == 'no'){
  190. var msg = $(this).attr('data-msg');
  191. $("#confirmMention .modal-body").html('此订单未付款,确认'+msg+'?');
  192. $('#confirmMention').modal('show', {backdrop: 'fade'}).css({
  193. 'margin-top': function () {
  194. var modalHeight = jQuery("#confirmMention").find('.modal-dialog').height();
  195. return ($(window).height() / 2 - (modalHeight / 2));
  196. }
  197. });
  198. $("button[name=confirmOk]").click(function(){
  199. $('#confirmMention').modal('hide');
  200. window.open('/order/print?id='+orderId);
  201. });
  202. }else{
  203. window.open('/order/print?id='+orderId);
  204. }
  205. });
  206. </script>
  207. <!-- modal 确认提醒框 -->
  208. <div class="modal fade" id="confirmMention">
  209. <div class="modal-dialog" style="height:300px;">
  210. <div class="modal-content">
  211. <div class="modal-header">
  212. <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
  213. <h4 class="modal-title">消息提示</h4>
  214. </div>
  215. <input type="hidden" name="requestUrl" value="" />
  216. <input type="hidden" name="id" value="" />
  217. <div class="modal-body">
  218. 确认<span></span>?
  219. </div>
  220. <div class="modal-footer">
  221. <button type="button" class="btn btn-info" name="confirmOk" >确认</button>
  222. <button type="button" class="btn btn-white" data-dismiss="modal">取消</button>
  223. </div>
  224. </div>
  225. </div>
  226. </div>
  227. <script>
  228. //确认提醒操作
  229. $(function(){
  230. jQuery("a[name=dealOrder]").click(function(){
  231. var url = $(this).attr('data-url');
  232. var classId = $(this).attr('id');
  233. var msg = $(this).attr('data-msg');
  234. var payStatus = $(this).attr('pay-status');
  235. if(payStatus == 'no'){
  236. $("#confirmMention .modal-body").html('此订单未付款,确认'+msg+'?');
  237. }
  238. $("#confirmMention .modal-body span").text(msg);
  239. $("#confirmMention input[name=requestUrl]").val(url);
  240. $("#confirmMention input[name=id]").val(classId);
  241. jQuery('#confirmMention').modal('show', {backdrop: 'fade'}).css({
  242. 'margin-top': function () {
  243. var modalHeight = jQuery("#confirmMention").find('.modal-dialog').height();
  244. return ($(window).height() / 2 - (modalHeight / 2));
  245. }
  246. });
  247. });
  248. //点击确认操作
  249. jQuery("button[name=confirmOk]").click(function(){
  250. var url = $("#confirmMention input[name=requestUrl]").val();
  251. var classId = $("#confirmMention input[name=id]").val();
  252. $.ajax({
  253. type:"GET",
  254. url:url,
  255. async:false,
  256. dataType:'json',
  257. success:function(data){
  258. if(data.code == 'A0001'){
  259. $('#confirmMention').modal('hide');
  260. //window.location.reload();
  261. $('#'+classId).removeClass('btn-secondary').addClass('btn-gray').html('已通知');
  262. }else{
  263. xhPopMsg(data.msg,1300);
  264. }
  265. }
  266. });
  267. });
  268. });
  269. //修改配送编号
  270. $("a[name=modifySendNum]").click(function(){
  271. var pre_send_num = $(this).attr('pre_send_num');
  272. $(this).css("display","none").siblings('span').css('display','none').siblings('input').css('display','block').focus().val(pre_send_num);
  273. });
  274. $("input[name=modifySendNum]").blur(function(){
  275. var num = $(this).val();
  276. var that = $(this);
  277. if(num.length > 0){
  278. var id = $(this).attr('data-id');
  279. $.ajax({type:"GET",url:'/order/modify-send-num?id='+id+'&num='+num,async:false,dataType:'json',success:function(data){
  280. if(data.code == 'A0001'){
  281. that.css('display','none');
  282. that.siblings('a').css("display","inline-block").attr("pre_send_num",num);
  283. that.siblings('span').css("display","inline-block").html(num);
  284. }
  285. xhPopMsg(data.msg);
  286. }});
  287. }
  288. });
  289. //修改价格
  290. $("a[name=modifyPrice]").click(function(){
  291. var pre_price = $(this).attr('pre_price');
  292. $(this).css("display","none").siblings('span').css('display','none').siblings('input').css('display','block').focus().val(pre_price);
  293. });
  294. $("input[name=modifyPrice]").blur(function(){
  295. var that = $(this);
  296. var newPrice = $(this).val();
  297. var pre_price = $(this).attr('pre_price');
  298. if(isNaN(newPrice)){
  299. xhPopMsg('价格填写有误',1300);
  300. that.focus().val(pre_price);
  301. return;
  302. }
  303. if(newPrice <= 0){
  304. xhPopMsg('价格不能小于0',1300);
  305. that.focus().val(pre_price);
  306. return;
  307. }
  308. if(newPrice.indexOf('.') > 0){
  309. if(newPrice.toString().split(".")[1].length > 2){
  310. xhPopMsg('价格填写有误',1300);
  311. that.focus().val(pre_price);
  312. return;
  313. }
  314. }
  315. if(newPrice.length > 0){
  316. var id = $(this).attr('data-id');
  317. $.ajax({
  318. type:"GET",
  319. url:'/order/modify-price?id='+id+'&actPrice='+newPrice,
  320. async:false,
  321. dataType:'json',
  322. success:function(data){
  323. xhPopMsg(data.msg);
  324. if(data.code == 'A0001'){
  325. that.css('display','none').attr("pre_price",newPrice);
  326. that.siblings('a').css("display","inline-block").attr("pre_price",newPrice);
  327. that.siblings('span').css("display","inline-block").html(newPrice);
  328. }else{
  329. that.css('display','none').attr("pre_price",pre_price);
  330. that.siblings('a').css("display","inline-block").attr("pre_price",pre_price);
  331. that.siblings('span').css("display","inline-block").html(pre_price);
  332. that.focus().val(pre_price);
  333. }
  334. }
  335. });
  336. }
  337. });
  338. </script>