Commit 7f07c94f10ce26da02b407e40475afc4d9ef57e7

Authored by Виталий
1 parent 308598c2

categories create

views/delivery/_form.php
... ... @@ -22,13 +22,13 @@
22 22 'form' => $form,
23 23 ]
24 24 ) ?>
25   -
  25 +
26 26 <?= $form->field($model, 'sort')
27 27 ->textInput() ?>
28   -
  28 +
29 29 <?= $form->field($model, 'value')
30 30 ->textInput() ?>
31   -
  31 +
32 32 <?= $form->field($model, 'status')
33 33 ->checkbox(
34 34 [
... ...
views/order/_form.php
... ... @@ -13,130 +13,142 @@
13 13 * @var array $deliveries
14 14 * @var array $payments
15 15 * @var ActiveForm $form
  16 + * @var bool $isCreate
16 17 */
17 18 ?>
18 19  
19 20 <div class="order-form">
20 21  
21 22 <?php $form = ActiveForm::begin(); ?>
22   -
  23 + <div class="x_panel">
  24 +
  25 +
23 26 <?php
24 27 // if ($model->isNewRecord) {
25 28 // echo $form->field($model, 'user_id')
26 29 // ->textInput();
27 30 // }
28 31 ?>
29   -
30   - <?= $form->field($model, 'name')
31   - ->textInput([ 'maxlength' => true ]) ?>
32   -
33   - <?= $form->field($model, 'phone')
34   - ->textInput([ 'maxlength' => true ]) ?>
35   -
36   - <?= $form->field($model, 'email')
37   - ->textInput([ 'maxlength' => true ]) ?>
38   -
39   - <?= $form->field($model, 'city')
40   - ->textInput([ 'maxlength' => true ]) ?>
41   -
42   - <?= $form->field($model, 'address')
43   - ->textInput([ 'maxlength' => true ]) ?>
44   -
45   - <?= $form->field($model, 'comment')
46   - ->textarea() ?>
47   -
48   - <?= $form->field($model, 'label_id')
49   - ->dropDownList($labels) ?>
50   -
51   - <?= $form->field($model, 'delivery_id')
52   - ->dropDownList($deliveries) ?>
53   -
54   - <?= $form->field($model, 'payment_id')
55   - ->dropDownList($payments) ?>
56   -
57   - <div class="ln_solid"></div>
58   -
59   - <div class="order-product-container">
60   - <div class="row">
61   - <div class="col-md-8">
62   - <?php
63   - echo Select2::widget(
64   - [
65   - 'name' => 'add-to-order',
66   - 'options' => [
67   - 'placeholder' => \Yii::t('order', 'Select product'),
68   - ],
69   - 'pluginOptions' => [
70   - 'allowClear' => true,
71   - 'minimumInputLength' => 3,
72   - 'language' => [
73   - 'errorLoading' => new JsExpression(
74   - "function() {return '" . \Yii::t('order', 'Waiting for results') . "'; }"
75   - ),
76   - ],
77   - 'ajax' => [
78   - 'url' => Url::to([ 'product-list' ]),
79   - 'dataType' => 'json',
80   - 'data' => new JsExpression('function(params) { return {q:params.term}; }'),
81   - ],
82   - 'escapeMarkup' => new JsExpression('function (markup) { return markup; }'),
83   - 'templateResult' => new JsExpression('function(city) { return city.text; }'),
84   - 'templateSelection' => new JsExpression('function (city) { return city.text; }'),
85   - ],
86   - 'id' => 'add-to-order',
87   - ]
88   - );
89   - ?>
90   - </div>
91   - <div class="col-md-3">
92   - <?php
93   - echo Html::textInput(
94   - 'count-to-order',
95   - null,
96   - [
97   - 'class' => 'form-control',
98   - 'id' => 'count-to-order',
99   - ]
100   - );
101   - ?>
102   - </div>
103   - <div class="col-md-1">
104   - <?php
105   - echo Html::a(
106   - Html::icon(
107   - 'plus-circle',
108   - [
109   - 'prefix' => 'fa fa-',
110   - ]
111   - ),
112   - '#',
113   - [
114   - 'class' => 'variant-to-order',
115   - ]
116   - );
117   - ?>
118   - </div>
119   - </div>
120   - <div class="ln_solid"></div>
121   - <div id="order-product-pjax" style="position: relative;">
122   - <div class="row strong">
123   - <div class="col-md-4">
124   - <?php
125   - echo Html::tag('strong', \Yii::t('order', 'Product'));
126   - ?>
  32 + <div class="wrapp-blocks-edit-page">
  33 + <?= $form->field($model, 'name')
  34 + ->textInput([ 'maxlength' => true ]) ?>
127 35 </div>
128   - <div class="col-md-4">
129   - <?php
130   - echo Html::tag('strong', \Yii::t('order', 'Price'));
131   - ?>
  36 + <div class="wrapp-blocks-edit-page">
132 37 </div>
133   - <div class="col-md-4">
134   - <?php
135   - echo Html::tag('strong', \Yii::t('order', 'Count'));
136   - ?>
  38 + <div class="wrapp-blocks-edit-page">
  39 + <?= $form->field($model, 'phone')
  40 + ->textInput([ 'maxlength' => true ]) ?>
137 41 </div>
138   - </div>
139   - <div id="product-rows">
  42 + <div class="wrapp-blocks-edit-page">
  43 + <?= $form->field($model, 'email')
  44 + ->textInput([ 'maxlength' => true ]) ?>
  45 + </div>
  46 + <div class="wrapp-blocks-edit-page">
  47 + <?= $form->field($model, 'city')
  48 + ->textInput([ 'maxlength' => true ]) ?>
  49 + </div>
  50 + <div class="wrapp-blocks-edit-page">
  51 + <?= $form->field($model, 'address')
  52 + ->textInput([ 'maxlength' => true ]) ?>
  53 + </div>
  54 + <div class="wrapp-blocks-edit-page">
  55 + <?= $form->field($model, 'comment')
  56 + ->textarea() ?>
  57 + </div>
  58 + <div class="wrapp-blocks-edit-page">
  59 + <?= $form->field($model, 'label_id')
  60 + ->dropDownList($labels) ?>
  61 + </div>
  62 + <div class="wrapp-blocks-edit-page">
  63 + <?= $form->field($model, 'delivery_id')
  64 + ->dropDownList($deliveries) ?>
  65 + </div>
  66 + <div class="wrapp-blocks-edit-page">
  67 + <?= $form->field($model, 'payment_id')
  68 + ->dropDownList($payments) ?>
  69 + </div>
  70 + </div>
  71 +
  72 + <div class="x_panel">
  73 + <div class="order-product-container wrapp-blocks-edit-page">
  74 + <div class="row">
  75 + <div class="col-xs-12">
  76 + <div class="row">
  77 + <div class="col-md-9">
  78 + <label>Добавить еще товар</label>
  79 + <?php
  80 + echo Select2::widget(
  81 + [
  82 + 'name' => 'add-to-order',
  83 + 'options' => [
  84 + 'placeholder' => \Yii::t('order', 'Select product'),
  85 + ],
  86 + 'pluginOptions' => [
  87 + 'allowClear' => true,
  88 + 'minimumInputLength' => 3,
  89 + 'language' => [
  90 + 'errorLoading' => new JsExpression(
  91 + "function() {return '" . \Yii::t('order', 'Waiting for results') . "'; }"
  92 + ),
  93 + ],
  94 + 'ajax' => [
  95 + 'url' => Url::to([ 'product-list' ]),
  96 + 'dataType' => 'json',
  97 + 'data' => new JsExpression('function(params) { return {q:params.term}; }'),
  98 + ],
  99 + 'escapeMarkup' => new JsExpression('function (markup) { return markup; }'),
  100 + 'templateResult' => new JsExpression('function(city) { return city.text; }'),
  101 + 'templateSelection' => new JsExpression('function (city) { return city.text; }'),
  102 + ],
  103 + 'id' => 'add-to-order',
  104 + ]
  105 + );
  106 + ?>
  107 + </div>
  108 + <div class="col-md-2">
  109 + <?php
  110 + $idInput = 'count-to-order';
  111 + echo '<label for="'.$idInput.'">КОЛ-ВО</label>';
  112 + echo Html::textInput(
  113 + 'count-to-order',
  114 + 1,
  115 + [
  116 + 'class' => 'form-control',
  117 + 'id' => $idInput,
  118 + ]
  119 + );
  120 + ?>
  121 + </div>
  122 + <a class="variant-to-order btn btn-success add-goods-order" href="#">
  123 + <i class="fa fa-plus"></i>
  124 + </a>
  125 + </div>
  126 + </div>
  127 + </div>
  128 +
  129 + <div id="order-product-pjax" class="row">
  130 + <div class="col-xs-12 order-goods-th"<?=$isCreate ? ' style="display: none;"' : ''?>>
  131 + <div class="row">
  132 + <div class="col-md-7">
  133 + <?php
  134 + echo Html::tag('label', \Yii::t('order', 'Product'));
  135 + ?>
  136 + </div>
  137 + <div class="col-md-2">
  138 + <?php
  139 + echo Html::tag('label', \Yii::t('order', 'Price'));
  140 + ?>
  141 + </div>
  142 + <div class="col-md-2">
  143 + <?php
  144 + echo Html::tag('label', \Yii::t('order', 'Count'));
  145 + ?>
  146 + </div>
  147 + </div>
  148 + </div>
  149 +
  150 +
  151 + <div id="product-rows" class="col-xs-12">
140 152 <?php
141 153 if (!$model->isNewRecord) {
142 154 $sum = 0;
... ... @@ -158,20 +170,21 @@
158 170 ?>
159 171  
160 172 </div>
161   - <?php if (!$model->isNewRecord) {
162   - echo( " <div class='sum_all'>Всего <p>" . $sum . "</p></div>" );
163   - } ?>
  173 + <?php
  174 + echo( " <div class='sum_all col-xs-12'>Итого: <strong>" . $sum . "</strong></div>" );
  175 + ?>
164 176 </div>
165 177 </div>
166   -
167   - <div class="ln_solid"></div>
168   -
169   - <div class="form-group">
170   - <?= Html::submitButton(
171   - $model->isNewRecord ? Yii::t('order', 'Create') : Yii::t('order', 'Update'),
172   - [ 'class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary' ]
173   - ) ?>
174   - </div>
  178 + </div>
  179 +
  180 +
  181 +
  182 + <div class="style buttons-page-wr">
  183 + <?= Html::submitButton(
  184 + $model->isNewRecord ? Yii::t('order', 'Create') : Yii::t('order', 'Update'),
  185 + [ 'class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-success' ]
  186 + ) ?>
  187 + </div>
175 188  
176 189 <?php ActiveForm::end(); ?>
177 190  
... ...
views/order/_order_product.php
... ... @@ -18,38 +18,24 @@
18 18 ?>
19 19  
20 20 <div class="row row-order-product" data-price="<?= $price ?>">
21   - <div class="col-md-4">
  21 + <div class="row-order-product-title col-md-7">
22 22 <?php
23 23 echo $form->field($orderProduct, "[$index]variant_id")
24 24 ->hiddenInput()
25 25 ->label(false);
26   - echo $variant->product->lang->title . '(' . $variant->sku . ')';
  26 + echo $variant->product->lang->title . '<span class="sku"> (sku - ' . $variant->sku . ')</span>';
27 27 ?>
28 28 </div>
29   - <div class="col-md-4">
  29 + <div class="row-order-product-price col-md-2">
30 30 <?php echo $price; ?>
31 31 </div>
32   - <div class="col-md-3">
  32 + <div class="row-order-product-num col-md-2">
33 33 <?php
34 34 echo $form->field($orderProduct, "[$index]count")
35 35 ->textInput([ 'class' => 'count' ])
36 36 ->label(false);
37 37 ?>
38 38 </div>
39   - <div class="col-md-1">
40   - <?php
41   - echo Html::a(
42   - Html::icon(
43   - 'trash-o',
44   - [
45   - 'prefix' => 'fa fa-',
46   - ]
47   - ),
48   - '#',
49   - [
50   - 'class' => 'remove-order-product',
51   - ]
52   - )
53   - ?>
54   - </div>
  39 + <a href="#" class="btn-danger btn btn-danger btn remove-order-product"></a>
  40 + <div class="col-xs-12 row-order-product-line"><div></div></div>
55 41 </div>
... ...
views/order/create.php
... ... @@ -26,8 +26,10 @@
26 26 ]
27 27 );
28 28 ?>
29   - <h1><?= Html::encode($this->title) ?></h1>
30   -
  29 +
  30 + <?php
  31 + $xPanel::end();
  32 + ?>
31 33 <?= $this->render(
32 34 '_form',
33 35 [
... ... @@ -35,10 +37,9 @@
35 37 'labels' => $labels,
36 38 'payments' => $payments,
37 39 'deliveries' => $deliveries,
  40 + 'isCreate' => true
38 41 ]
39 42 ) ?>
40 43  
41   - <?php
42   - $xPanel::end();
43   - ?>
  44 +
44 45 </div>
... ...
views/order/update.php
... ... @@ -39,6 +39,9 @@
39 39 ]
40 40 );
41 41 ?>
  42 + <?php
  43 + $xPanel::end();
  44 + ?>
42 45  
43 46 <?= $this->render(
44 47 '_form',
... ... @@ -47,10 +50,9 @@
47 50 'labels' => $labels,
48 51 'payments' => $payments,
49 52 'deliveries' => $deliveries,
  53 + 'isCreate' => false,
50 54 ]
51 55 ) ?>
52 56  
53   - <?php
54   - $xPanel::end();
55   - ?>
  57 +
56 58 </div>
... ...
web/js/order.js
... ... @@ -20,7 +20,14 @@ $(function() {
20 20 .children('p')
21 21 .text(total_price);
22 22 });
23   -
  23 + $('#count-to-order').keypress(function(e) {
  24 + if (!(e.which==8 ||(e.which>47 && e.which<58))) return false;
  25 + });
  26 + $('#count-to-order').change(function(e) {
  27 + if ($(this).val() <= 0) {
  28 + $(this).val('1')
  29 + }
  30 + });
24 31 $(document)
25 32 .on('click', '.variant-to-order', function(e) {
26 33 e.preventDefault();
... ... @@ -28,10 +35,18 @@ $(function() {
28 35 var count = $('#count-to-order');
29 36 var order = $(this)
30 37 .data('id');
31   - if (id.val() && count.val()) {
  38 + if (id.val() ) {
  39 + if(count.val()<=0) {
  40 + var newCountVal = count.val();
  41 + } else {
  42 + var newCountVal = 1;
  43 + }
  44 +
  45 + $('.order-goods-th').css({display:'block'});
  46 +
32 47 $.post('/admin/order/add-to-order', {
33 48 id: id.val(),
34   - count: count.val(),
  49 + count: newCountVal,
35 50 order: order
36 51 }, function(data) {
37 52 if (data.success) {
... ... @@ -43,7 +58,7 @@ $(function() {
43 58 .html(parseInt(sum) + parseInt(data.price));
44 59 $('#product-rows')
45 60 .append(data.row);
46   -
  61 + $('#add-to-order').select2("val", "");
47 62 }
48 63  
49 64 });
... ...