Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- use yii\helpers\Html;
- use yii\widgets\ActiveForm;
- use backend\models\Category;
- use wbraganca\dynamicform\DynamicFormWidget;
- use kartik\select2\Select2;
- /* @var $this yii\web\View */
- /* @var $model backend\models\Zayvki */
- /* @var $form yii\widgets\ActiveForm */
- $js = '
- jQuery(".dynamicform_wrapper").on("afterInsert", function(e, item) {
- jQuery(".dynamicform_wrapper .panel-title-order").each(function(index) {
- jQuery(this).html("Услуга: " + (index + 1))
- });
- });
- jQuery(".dynamicform_wrapper").on("afterDelete", function(e) {
- jQuery(".dynamicform_wrapper .panel-title-address").each(function(index) {
- jQuery(this).html("Address: " + (index + 1))
- });
- });
- ';
- $this->registerJs($js);
- ?>
- <div class="zayvki-form">
- <?php $form = ActiveForm::begin(['id' => 'dynamic-form']); ?>
- <?= $form->field($model, 'user_id')->dropDownList(backend\models\Users::find()->select('user.username')
- ->leftJoin('auth_assignment', '`auth_assignment`.`user_id` = `user`.`id`')
- ->andWhere(['auth_assignment.item_name'=>'Житель'])->indexBy('id')->column(), ['prompt'=>'Выбрать жителя']) ?>
- <?php DynamicFormWidget::begin([
- 'widgetContainer' => 'dynamicform_wrapper', // required: only alphanumeric characters plus "_" [A-Za-z0-9_]
- 'widgetBody' => '.container-items', // required: css class selector
- 'widgetItem' => '.item', // required: css class
- 'limit' => 999, // the maximum times, an element can be cloned (default 999)
- 'min' => 0, // 0 or 1 (default 1)
- 'insertButton' => '.add-item', // css class
- 'deleteButton' => '.remove-item', // css class
- 'model' => $orders[0],
- 'formId' => 'dynamic-form',
- 'formFields' => [
- 'category_id',
- 'uslugi_id',
- ],
- ]); ?>
- <div class="panel panel-default">
- <div class="panel-heading">
- <i class="fa fa-envelope"></i> Выбор услуг
- <button type="button" class="pull-right add-item btn btn-success btn-xs"><i class="fa fa-plus"></i> Добавить услугу</button>
- <div class="clearfix"></div>
- </div>
- <div class="panel-body container-items"><!-- widgetContainer -->
- <?php foreach ($orders as $index => $order): ?>
- <div class="item panel panel-default"><!-- widgetBody -->
- <div class="panel-heading">
- <span class="panel-title-order">Услуга <?= ($index + 1) ?></span>
- <button type="button" class="pull-right remove-item btn btn-danger btn-xs"><i class="fa fa-minus"></i></button>
- <div class="clearfix"></div>
- </div>
- <div class="panel-body">
- <?php
- // necessary for update action.
- if (!$order->isNewRecord) {
- echo Html::activeHiddenInput($order, "[{$index}]id");
- }
- ?>
- <?= $form->field($order, "[{$index}]category_id")->widget(Select2::classname(), [
- 'initValueText' => $model->category ? $model->category->name : '',
- 'options' => [
- 'placeholder' => Yii::t('app', 'Выберите категорию')
- ],
- 'pluginOptions' => [
- 'allowClear' => true,
- 'ajax' => [
- 'url' => \yii\helpers\Url::to(['/zayvki/get-category']),
- 'data' => new \yii\web\JsExpression('function(params) { return { q:params.term, zayvki_id:$("#order-zayvki_id").val()}; }')
- ],
- ],
- ]) ?>
- <div class="row">
- <div class="col-sm-6">
- <?= $form->field($order, "[{$index}]uslugi_id")->widget(Select2::classname(), [
- 'initValueText' => $model->uslugi ? $model->uslugi->usluginame : '',
- 'options' => [
- 'placeholder' => Yii::t('app', 'Выберите услугу')
- ],
- 'pluginOptions' => [
- 'allowClear' => true,
- 'ajax' => [
- 'url' => \yii\helpers\Url::to(['/zayvki/get-service']),
- 'data' => new \yii\web\JsExpression('function(params) { return { q:params.term, zayvki_id:$("#orderform-category_id").val()}; }')
- ],
- ],
- ]) ?>
- </div>
- </div><!-- end:row -->
- </div>
- </div>
- <?php endforeach; ?>
- </div>
- </div>
- <?php DynamicFormWidget::end(); ?>
- <?= $form->field($model, 'status')->textInput() ?>
- <?= $form->field($model, 'master')->textInput() ?>
- <?= $form->field($model, 'uk')->textInput() ?>
- <div class="form-group">
- <?= Html::submitButton('Сохранить', ['class' => 'btn btn-success']) ?>
- </div>
- <?php ActiveForm::end(); ?>
- </div>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement