Advertisement
pmtpenza

Untitled

Jun 26th, 2019
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.96 KB | None | 0 0
  1. <?php
  2.  
  3. use yii\helpers\Html;
  4. use yii\widgets\ActiveForm;
  5. use backend\models\Category;
  6. use wbraganca\dynamicform\DynamicFormWidget;
  7. use kartik\select2\Select2;
  8.  
  9. /* @var $this yii\web\View */
  10. /* @var $model backend\models\Zayvki */
  11. /* @var $form yii\widgets\ActiveForm */
  12. $js = '
  13.  
  14. jQuery(".dynamicform_wrapper").on("afterInsert", function(e, item) {
  15.  
  16. jQuery(".dynamicform_wrapper .panel-title-order").each(function(index) {
  17.  
  18. jQuery(this).html("Услуга: " + (index + 1))
  19.  
  20. });
  21.  
  22. });
  23.  
  24.  
  25. jQuery(".dynamicform_wrapper").on("afterDelete", function(e) {
  26.  
  27. jQuery(".dynamicform_wrapper .panel-title-address").each(function(index) {
  28.  
  29. jQuery(this).html("Address: " + (index + 1))
  30.  
  31. });
  32.  
  33. });
  34.  
  35. ';
  36.  
  37.  
  38. $this->registerJs($js);
  39. ?>
  40.  
  41. <div class="zayvki-form">
  42.  
  43. <?php $form = ActiveForm::begin(['id' => 'dynamic-form']); ?>
  44.  
  45. <?= $form->field($model, 'user_id')->dropDownList(backend\models\Users::find()->select('user.username')
  46. ->leftJoin('auth_assignment', '`auth_assignment`.`user_id` = `user`.`id`')
  47. ->andWhere(['auth_assignment.item_name'=>'Житель'])->indexBy('id')->column(), ['prompt'=>'Выбрать жителя']) ?>
  48. <?php DynamicFormWidget::begin([
  49.  
  50.  
  51. 'widgetContainer' => 'dynamicform_wrapper', // required: only alphanumeric characters plus "_" [A-Za-z0-9_]
  52.  
  53. 'widgetBody' => '.container-items', // required: css class selector
  54.  
  55. 'widgetItem' => '.item', // required: css class
  56.  
  57. 'limit' => 999, // the maximum times, an element can be cloned (default 999)
  58.  
  59. 'min' => 0, // 0 or 1 (default 1)
  60.  
  61. 'insertButton' => '.add-item', // css class
  62.  
  63. 'deleteButton' => '.remove-item', // css class
  64.  
  65. 'model' => $orders[0],
  66.  
  67. 'formId' => 'dynamic-form',
  68.  
  69. 'formFields' => [
  70. 'category_id',
  71.  
  72. 'uslugi_id',
  73. ],
  74.  
  75. ]); ?>
  76. <div class="panel panel-default">
  77. <div class="panel-heading">
  78. <i class="fa fa-envelope"></i> Выбор услуг
  79. <button type="button" class="pull-right add-item btn btn-success btn-xs"><i class="fa fa-plus"></i> Добавить услугу</button>
  80. <div class="clearfix"></div>
  81. </div>
  82. <div class="panel-body container-items"><!-- widgetContainer -->
  83. <?php foreach ($orders as $index => $order): ?>
  84. <div class="item panel panel-default"><!-- widgetBody -->
  85. <div class="panel-heading">
  86. <span class="panel-title-order">Услуга <?= ($index + 1) ?></span>
  87. <button type="button" class="pull-right remove-item btn btn-danger btn-xs"><i class="fa fa-minus"></i></button>
  88. <div class="clearfix"></div>
  89. </div>
  90. <div class="panel-body">
  91. <?php
  92. // necessary for update action.
  93. if (!$order->isNewRecord) {
  94. echo Html::activeHiddenInput($order, "[{$index}]id");
  95. }
  96. ?>
  97. <?= $form->field($order, "[{$index}]category_id")->widget(Select2::classname(), [
  98. 'initValueText' => $model->category ? $model->category->name : '',
  99. 'options' => [
  100. 'placeholder' => Yii::t('app', 'Выберите категорию')
  101. ],
  102. 'pluginOptions' => [
  103. 'allowClear' => true,
  104. 'ajax' => [
  105. 'url' => \yii\helpers\Url::to(['/zayvki/get-category']),
  106. 'data' => new \yii\web\JsExpression('function(params) { return { q:params.term, zayvki_id:$("#order-zayvki_id").val()}; }')
  107. ],
  108. ],
  109. ]) ?>
  110.  
  111. <div class="row">
  112. <div class="col-sm-6">
  113. <?= $form->field($order, "[{$index}]uslugi_id")->widget(Select2::classname(), [
  114. 'initValueText' => $model->uslugi ? $model->uslugi->usluginame : '',
  115. 'options' => [
  116. 'placeholder' => Yii::t('app', 'Выберите услугу')
  117. ],
  118. 'pluginOptions' => [
  119. 'allowClear' => true,
  120. 'ajax' => [
  121. 'url' => \yii\helpers\Url::to(['/zayvki/get-service']),
  122. 'data' => new \yii\web\JsExpression('function(params) { return { q:params.term, zayvki_id:$("#orderform-category_id").val()}; }')
  123. ],
  124. ],
  125. ]) ?>
  126. </div>
  127. </div><!-- end:row -->
  128. </div>
  129. </div>
  130. <?php endforeach; ?>
  131. </div>
  132. </div>
  133. <?php DynamicFormWidget::end(); ?>
  134.  
  135.  
  136. <?= $form->field($model, 'status')->textInput() ?>
  137.  
  138. <?= $form->field($model, 'master')->textInput() ?>
  139.  
  140. <?= $form->field($model, 'uk')->textInput() ?>
  141.  
  142.  
  143. <div class="form-group">
  144. <?= Html::submitButton('Сохранить', ['class' => 'btn btn-success']) ?>
  145. </div>
  146.  
  147. <?php ActiveForm::end(); ?>
  148.  
  149. </div>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement