pmtpenza

Untitled

Jul 17th, 2019
118
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.62 KB | None | 0 0
  1. <?php
  2.  
  3. use yii\helpers\Html;
  4. use yii\widgets\ActiveForm;
  5. use kartik\select2\Select2;
  6. use yii\helpers\ArrayHelper;
  7. use backend\models\Client;
  8. use yii\helpers\Url;
  9. use kartik\datetime\DateTimePicker;
  10. use kartik\file\FileInput;
  11. use wbraganca\dynamicform\DynamicFormWidget;
  12. use backend\models\TypeZakaz;
  13. use yii\base\Model;
  14.  
  15. /* @var $this yii\web\View */
  16. /* @var $model backend\models\Deals */
  17. /* @var $form yii\widgets\ActiveForm */
  18. $js = '
  19.  
  20. jQuery(".dynamicform_wrapper").on("afterInsert", function(e, item) {
  21.  
  22. jQuery(".dynamicform_wrapper .panel-title-order").each(function(index) {
  23.  
  24. jQuery(this).html("Услуга: " + (index + 1))
  25. });
  26.  
  27. });
  28.  
  29.  
  30. jQuery(".dynamicform_wrapper").on("afterDelete", function(e) {
  31.  
  32. jQuery(".dynamicform_wrapper .panel-title-order").each(function(index) {
  33.  
  34. jQuery(this).html("Address: " + (index + 1))
  35. });
  36.  
  37. });
  38.  
  39. ';
  40.  
  41.  
  42. $this->registerJs($js);
  43. ?>
  44.  
  45. <div class="deals-form">
  46.  
  47. <?php $form = ActiveForm::begin(['id' => 'dynamic-form']); ?>
  48.  
  49. <?php DynamicFormWidget::begin([
  50.  
  51.  
  52. 'widgetContainer' => 'dynamicform_wrapper', // required: only alphanumeric characters plus "_" [A-Za-z0-9_]
  53.  
  54. 'widgetBody' => '.container-items', // required: css class selector
  55.  
  56. 'widgetItem' => '.item', // required: css class
  57.  
  58. 'limit' => 999, // the maximum times, an element can be cloned (default 999)
  59.  
  60. 'min' => 0, // 0 or 1 (default 1)
  61.  
  62. 'insertButton' => '.add-item', // css class
  63.  
  64. 'deleteButton' => '.remove-item', // css class
  65.  
  66. 'model' => $orders[0],
  67.  
  68. 'formId' => 'dynamic-form',
  69.  
  70. 'formFields' => [
  71. 'type_zakaz_id',
  72. ],
  73.  
  74. ]); ?>
  75. <div class="panel panel-default">
  76. <div class="panel-heading">
  77. <i class="fa fa-envelope"></i> Выбор типа услуг
  78. <button type="button" class="pull-right add-item btn btn-success btn-xs"><i class="fa fa-plus"></i> Добавить услугу</button>
  79. <div class="clearfix"></div>
  80. </div>
  81. <div class="panel-body container-items"><!-- widgetContainer -->
  82. <?php foreach ($orders as $index => $order): ?>
  83. <div class="item panel panel-default"><!-- widgetBody -->
  84. <div class="panel-heading">
  85. <span class="panel-title-order">Услуга <?= ($index + 1) ?></span>
  86. <button type="button" class="pull-right remove-item btn btn-danger btn-xs"><i class="fa fa-minus"></i></button>
  87. <div class="clearfix"></div>
  88. </div>
  89. <div class="panel-body">
  90. <?php
  91. // necessary for update action.
  92. if (!$order->isNewRecord) {
  93. echo Html::activeHiddenInput($orders, "[{$index}]id");
  94. }
  95. ?>
  96.  
  97. <?= $form->field($order, "[{$index}]type_zakaz_id")->widget(Select2::classname(), [
  98. 'initValueText' => $order->type ? $order->type->type : '',
  99. 'options' => [
  100. 'placeholder' => Yii::t('app', 'Выберите тип услуг')
  101. ],
  102. 'pluginOptions' => [
  103. 'allowClear' => true,
  104. 'ajax' => [
  105. 'url' => \yii\helpers\Url::to(['/deals/get-type']),
  106. 'data' => new \yii\web\JsExpression('function(params) { return { q:params.term, deals_id:$("#order-deals_id").val()}; }')
  107. ],
  108. ],
  109. ]) ?>
  110. </div>
  111. </div>
  112. <?php endforeach; ?>
  113. </div>
  114. </div>
  115. <?php DynamicFormWidget::end(); ?>
  116.  
  117.  
  118. <?= $form->field($model, 'client_id')->widget(Select2::classname(), [
  119.  
  120. 'options' => [
  121. 'placeholder' => ('Выберите клиента')
  122. ],
  123. 'pluginOptions' => [
  124. 'allowClear' => true,
  125. 'ajax' => [
  126. 'url' => \yii\helpers\Url::to(['/deals/get-client']),
  127. 'data' => new \yii\web\JsExpression('function(params) { return { q:params.term }}')
  128. ],
  129. ],
  130. ]) ?>
  131.  
  132. <?= $form->field($model, 'budget')->textInput(['maxlength' => true]) ?>
  133.  
  134. <?= $form->field($model, 'tz_text')->textarea(['maxlength' => true]) ?>
  135.  
  136. <?= $form->field($model, 'file')->widget(\kartik\file\FileInput::classname(), [
  137. 'options' => ['accept' => 'image/*'],
  138. 'pluginOptions'=>[
  139. 'showUpload' => true,
  140. 'overwriteInitial' => true,
  141. ],
  142. ]);?>
  143.  
  144. <?= $form->field($model, 'user_id')->dropDownList(backend\models\Users::find()->select(['username', 'id'])->indexBy('id')->column(), ['prompt'=>'Выбирите менеджера']) ?>
  145.  
  146. <?= $form->field($model, 'date')->widget(DateTimePicker::classname(), [
  147. 'options' => ['placeholder' => 'Начало...'],
  148. 'removeButton' => false,
  149. //'convertFormat' => true,
  150. 'pluginOptions' => [
  151. 'autoclose' => true,
  152. 'format' => 'dd-M-yyyy hh:ii'
  153. ]
  154. ]);
  155. ?>
  156. <?= $form->field($model, 'finch_date')->widget(DateTimePicker::classname(), [
  157. 'options' => ['placeholder' => 'Начало...'],
  158. 'removeButton' => false,
  159. //'convertFormat' => true,
  160. 'pluginOptions' => [
  161. 'autoclose' => true,
  162. 'format' => 'dd-M-yyyy'
  163. ]
  164. ]);
  165. ?>
  166.  
  167.  
  168. <?= $form->field($model, 'notes')->textarea(['maxlength' => true]) ?>
  169.  
  170. <?= $form->field($model, 'file2')->widget(\kartik\file\FileInput::classname(), [
  171. 'options' => ['accept' => 'image/*'],
  172. ]);?>
  173.  
  174. <?= $form->field($model, 'payment')->textInput(['maxlength' => true]) ?>
  175.  
  176. <?= $form->field($model, 'paymentdate')->widget(DateTimePicker::classname(), [
  177. 'options' => ['placeholder' => 'Начало...'],
  178. 'removeButton' => false,
  179. //'convertFormat' => true,
  180. 'pluginOptions' => [
  181. 'autoclose' => true,
  182. 'format' => 'dd-M-yyyy hh:ii'
  183. ]
  184. ]);
  185. ?>
  186.  
  187. <?= $form->field($model, 'staussdelki_id')->dropDownList(backend\models\Staussdelki::find()->select(['staussdelkiname', 'id'])->indexBy('id')->column(), ['prompt'=>'Выбирите статус сделки']) ?>
  188.  
  189. <div class="form-group">
  190. <?= Html::submitButton('Сохранить', ['class' => 'btn btn-success']) ?>
  191. </div>
  192.  
  193. <?php ActiveForm::end(); ?>
  194.  
  195. </div>
Advertisement
Add Comment
Please, Sign In to add comment