You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

213 regels
12 KiB

  1. <?php
  2. use yii\helpers\Html;
  3. use yii\widgets\Pjax;
  4. use backend\modules\hotel\models\search\searchOrderMain;
  5. use backend\modules\hotel\assets\hotelUIAsset;
  6. /* @var $this yii\web\View */
  7. /* @var $searchModel backend\modules\hotel\models\search\searchOrderMain */
  8. /* @var $dataProvider yii\data\ActiveDataProvider */
  9. /* @var $status_arr array */
  10. /* @var $supplier_id array */
  11. $this->title = 'Order Mains';
  12. $this->params['breadcrumbs'][] = $this->title;
  13. $this->registerCss('.nav_title>li {
  14. width: auto !important;
  15. }');
  16. $this->registerJs('var supplier_id=' . $supplier_id, \yii\web\View::POS_HEAD);
  17. hotelUIAsset::addScript($this, '/js/supplier_order_list.js?v=' . time());
  18. ?>
  19. <div class="iframe_box order-main-index">
  20. <?php Pjax::begin(['id' => 'pjax-list', 'timeout' => false]); ?>
  21. <?php echo $this->render('_search', ['model' => $searchModel]); ?>
  22. <div style="margin-top: 30px">
  23. <ul class="nav nav-tabs choose_op nav_title">
  24. <li class="<?= $searchModel->ORDER_STATUS == '' ? 'active' : '' ?>" id="" onclick="tabSearch('')">
  25. <a data-toggle="tab" href="#" onclick="">全&emsp;部
  26. <span class="label label-primary"><?= $status_arr[0] + 0 ?></span>
  27. </a>
  28. </li>
  29. <li class="<?= $searchModel->ORDER_STATUS == (string)searchOrderMain::ORDER_STATUS_WAITING_CONFIRM ? 'active' : '' ?>"
  30. id="" onclick="tabSearch('<?= searchOrderMain::ORDER_STATUS_WAITING_CONFIRM ?>')">
  31. <a data-toggle="tab" href="#" onclick="">待确认
  32. <span class="label label-primary"><?= $status_arr[searchOrderMain::ORDER_STATUS_WAITING_CONFIRM] + 0 ?></span>
  33. </a>
  34. </li>
  35. <li class="<?= $searchModel->ORDER_STATUS == (string)searchOrderMain::ORDER_STATUS_CONFIRMED ? 'active' : '' ?>"
  36. id="" onclick="tabSearch('<?= searchOrderMain::ORDER_STATUS_CONFIRMED ?>')">
  37. <a data-toggle="tab" href="#" onclick="">已安排
  38. <span class="label label-success"><?= $status_arr[searchOrderMain::ORDER_STATUS_CONFIRMED] + 0 ?></span>
  39. </a>
  40. </li>
  41. <li class="<?= $searchModel->ORDER_STATUS == (string)searchOrderMain::ORDER_STATUS_FINISH ? 'active' : '' ?>"
  42. id="" onclick="tabSearch('<?= searchOrderMain::ORDER_STATUS_FINISH ?>')">
  43. <a data-toggle="tab" href="#" onclick="">已完成
  44. <span class="label label-info"><?= $status_arr[searchOrderMain::ORDER_STATUS_FINISH] + 0 ?></span>
  45. </a>
  46. </li>
  47. <li class="<?= $searchModel->ORDER_STATUS == (string)searchOrderMain::ORDER_STATUS_CHANGING ? 'active' : '' ?>"
  48. id="" onclick="tabSearch('<?= searchOrderMain::ORDER_STATUS_CHANGING ?>')">
  49. <a data-toggle="tab" href="#" onclick="">退改中
  50. <span class="label label-warning"><?= $status_arr[searchOrderMain::ORDER_STATUS_CHANGING] + 0 ?></span>
  51. </a>
  52. </li>
  53. <li class="<?= $searchModel->ORDER_STATUS == (string)searchOrderMain::ORDER_CHANNEL_STATUS_APPLY_CANCEL_WAITING_CONFIRM ? 'active' : '' ?>"
  54. id="" onclick="tabSearch('<?= searchOrderMain::ORDER_CHANNEL_STATUS_APPLY_CANCEL_WAITING_CONFIRM ?>')">
  55. <a data-toggle="tab" href="#" onclick="">待退单
  56. <span class="label label-danger"><?= $status_arr[searchOrderMain::ORDER_CHANNEL_STATUS_APPLY_CANCEL_WAITING_CONFIRM] + 0 ?></span>
  57. </a>
  58. </li>
  59. <li class="<?= $searchModel->ORDER_STATUS == (string)searchOrderMain::ORDER_STATUS_CANCEL ? 'active' : '' ?>"
  60. id="" onclick="tabSearch('<?= searchOrderMain::ORDER_STATUS_CANCEL ?>')">
  61. <a data-toggle="tab" href="#" onclick="">已取消
  62. <span class="label label-default"><?= $status_arr[searchOrderMain::ORDER_STATUS_CANCEL] + 0 ?></span>
  63. </a>
  64. </li>
  65. </ul>
  66. <?= \common\components\zGridView::widget([
  67. 'dataProvider' => $dataProvider,
  68. // 'filterModel' => new searchOrderMain(),
  69. // 'filter' => false,
  70. 'toggleData' => false,
  71. 'pagerFixed' => true,
  72. 'columns' => [
  73. [
  74. 'headerOptions' => ['style' => 'width: 1%'],
  75. 'class' => 'yii\grid\CheckboxColumn'
  76. ],
  77. [
  78. 'label' => '订单编号',
  79. 'attribute' => 'ORDER_ID',
  80. 'value' => function ($model) {
  81. /* @var $model \backend\modules\hotel\models\OrderMain */
  82. return Html::a($model->ORDER_ID, '#', ['onclick' => "zNewWin('CS', '" . \yii\helpers\Url::to(['view', 'id' => $model->ID]) . "', 104 )"]);
  83. },
  84. 'format' => 'raw'
  85. ],
  86. [
  87. 'label' => '预订时间',
  88. 'attribute' => 'CREATE_TIME',
  89. ],
  90. [
  91. 'label' => '预订产品',
  92. 'attribute' => 'PROD_NAME',
  93. 'value' => function ($model) {
  94. /* @var $model \backend\modules\hotel\models\OrderMain */
  95. $str = $model->ORDER_DESCRIPTION;
  96. $arr = explode('|', trim($str, '|'));
  97. $order_description = '';
  98. foreach ($arr as $v) {
  99. $fdc = explode(',', $v);
  100. if (count($fdc) >= 3)
  101. $order_description .= $fdc[1] . '*' . $fdc[2] . '间' . ' ';
  102. }
  103. return $model->PARENT_PROD_NAME . ' ' . $model->PROD_NAME . '<br />' . $order_description;
  104. },
  105. 'format' => 'raw'
  106. ],
  107. [
  108. 'label' => '客人信息',
  109. 'attribute' => 'CUSTOMER_NAME',
  110. 'hAlign' => 'right',
  111. 'value' => function ($model) {
  112. /* @var $model \backend\modules\hotel\models\OrderMain */
  113. return $model->CUSTOMER_NAME . '<br />' . $model->CUSTOMER_MOBILE;
  114. },
  115. 'format' => 'raw'
  116. ],
  117. [
  118. 'label' => '金额',
  119. 'hAlign' => 'right',
  120. 'attribute' => 'BASE_PRICE',
  121. 'value' => function ($model) {
  122. /* @var $model \backend\modules\hotel\models\OrderMain */
  123. return '¥' . $model->BASE_PRICE;
  124. }
  125. ],
  126. [
  127. 'hAlign' => 'center',
  128. 'attribute' => 'CUSTOMER_MEMO',
  129. // 'width' => '5%',
  130. 'label' => '订单备注',
  131. 'value' => function ($model) {
  132. /* @var $model \backend\modules\hotel\models\OrderMain */
  133. if (empty($model->publicMemo)) {
  134. return '-';
  135. } else {
  136. $notes = '';
  137. foreach ($model->publicMemo as $item) {
  138. $notes .= $item->COMMENT_TXT . "\n";
  139. }
  140. }
  141. return empty($model->publicMemo) ? '-' : Html::a('有', '', ['title' => $notes,
  142. 'onclick' => 'showTable("备注信息", ["内容", "创建人", "添加时间"], "", "ajax", " /hotel/supplier-backend/get-comment", {order_id: "' .
  143. $model->ORDER_ID . '",_csrf: yii.getCsrfToken()}, ["comment_list"], ["COMMENT_TXT", "TRUE_NAME", "CREATE_TIME"])']);
  144. },
  145. 'format' => 'raw',
  146. ],
  147. [
  148. 'hAlign' => 'center',
  149. 'attribute' => 'statusLabel.TYPE_NAME',
  150. 'label' => '订单状态'
  151. ],
  152. [
  153. 'header' => '操作',
  154. 'class' => 'kartik\grid\ActionColumn',
  155. 'hAlign' => 'center',
  156. 'width' => '200px',
  157. 'template' => '{confirm}{refuse}{cancelSure}{cancelReject}{addNote}<br />{download}',
  158. 'buttons' => [
  159. 'refuse' => function ($url, $model, $key) {
  160. /* @var $model \backend\modules\hotel\models\OrderMain */
  161. //渠道已经接单和拒绝取消的情况下,酒店不能操作拒单
  162. if ($model->ORDER_STATUS == searchOrderMain::ORDER_STATUS_WAITING_CONFIRM && $model->sub_refuse_flag > 0
  163. && $model->CHANNEL_ORDER_STATUS != searchOrderMain::ORDER_CHANNEL_STATUS_ACCEPT && $model->CHANNEL_ORDER_STATUS != searchOrderMain::ORDER_CHANNEL_STATUS_APPLY_CANCEL_REJECT)
  164. return Html::button('拒单', ['class' => 'btn btn-link btn-sm-width', 'onclick' => 'refuse(' . $model->ID . ', ' . $model->ORDER_STATUS . ')']);
  165. else
  166. return '';
  167. },
  168. 'confirm' => function ($url, $model, $key) {
  169. /* @var $model \backend\modules\hotel\models\OrderMain */
  170. if ($model->ORDER_STATUS == searchOrderMain::ORDER_STATUS_WAITING_CONFIRM)
  171. return Html::button('确认', ['class' => 'btn btn-link btn-sm-width', 'onclick' => 'confirm(' . $model->ID . ', ' . $model->ORDER_STATUS . ')']);
  172. else
  173. return '';
  174. },
  175. 'addNote' => function ($url, $model, $key) {
  176. /* @var $model \backend\modules\hotel\models\OrderMain */
  177. return Html::button('添加备注', ['class' => 'btn btn-link btn-sm-width', 'onclick' => 'addNote(' . $model->ID . ', ' . $model->ORDER_STATUS . ')']);
  178. },
  179. 'cancelSure' => function ($url, $model, $key) {
  180. /* @var $model \backend\modules\hotel\models\OrderMain */
  181. if ($model->ORDER_STATUS == searchOrderMain::ORDER_CHANNEL_STATUS_APPLY_CANCEL_WAITING_CONFIRM)
  182. return Html::button('确认退单', ['class' => 'btn btn-link btn-sm-width', 'onclick' => 'cancelSure(' . $model->ID . ', ' . $model->ORDER_STATUS . ')']);
  183. else
  184. return '';
  185. },
  186. 'cancelReject' => function ($url, $model, $key) {
  187. /* @var $model \backend\modules\hotel\models\OrderMain */
  188. if ($model->ORDER_STATUS == searchOrderMain::ORDER_CHANNEL_STATUS_APPLY_CANCEL_WAITING_CONFIRM)
  189. return Html::button('拒绝退单', ['class' => 'btn btn-link btn-sm-width', 'onclick' => 'cancelReject(' . $model->ID . ', ' . $model->ORDER_STATUS . ')']);
  190. else
  191. return '';
  192. },
  193. 'download' => function ($url, $model, $key) {
  194. /* @var $model \backend\modules\hotel\models\OrderMain */
  195. return Html::a('下载' . searchOrderMain::order_level_array[$model->ORDER_LEVEL],
  196. '#',
  197. ['onclick' => 'window.open(\'' . \yii\helpers\Url::to(['download', 'id' => $model->ID]) . '\', \'_blank\')']);
  198. }
  199. ]
  200. ],
  201. ],
  202. ]); ?>
  203. </div>
  204. <?php Pjax::end(); ?>
  205. </div>