Advertisement
pmtpenza

Untitled

Jul 18th, 2019
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.24 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. use backend\models\Oplata;
  15.  
  16. /* @var $this yii\web\View */
  17. /* @var $model backend\models\Deals */
  18. /* @var $form yii\widgets\ActiveForm */
  19. $js = '
  20.  
  21. jQuery(".dynamicform_wrapper").on("afterInsert", function(e, item) {
  22.  
  23. jQuery(".dynamicform_wrapper .panel-title-order").each(function(index) {
  24.  
  25. jQuery(this).html("Услуга: " + (index + 1))
  26. });
  27.  
  28. });
  29.  
  30.  
  31. jQuery(".dynamicform_wrapper").on("afterDelete", function(e) {
  32.  
  33. jQuery(".dynamicform1_wrapper .panel-title-order").each(function(index) {
  34.  
  35. jQuery(this).html("Address: " + (index + 1))
  36. });
  37.  
  38. });
  39.  
  40. jQuery(".dynamicform1_wrapper").on("afterInsert", function(e, item) {
  41.  
  42. jQuery(".dynamicform1_wrapper .panel-title-oplata").each(function(index) {
  43.  
  44. jQuery(this).html("Услуга: " + (index2 + 1))
  45. });
  46.  
  47. });
  48.  
  49.  
  50. jQuery(".dynamicform1_wrapper").on("afterDelete", function(e) {
  51.  
  52. jQuery(".dynamicform1_wrapper .panel-title-oplata").each(function(index) {
  53.  
  54. jQuery(this).html("Address: " + (index2 + 1))
  55. });
  56.  
  57. });
  58.  
  59.  
  60. ';
  61.  
  62.  
  63. $this->registerJs($js);
  64. ?>
  65.  
  66. <div class="deals-form">
  67.  
  68. <?php $form = ActiveForm::begin(['id' => 'dynamic-form']); ?>
  69.  
  70. <?php DynamicFormWidget::begin([
  71.  
  72.  
  73. 'widgetContainer' => 'dynamicform_wrapper', // required: only alphanumeric characters plus "_" [A-Za-z0-9_]
  74.  
  75. 'widgetBody' => '.container-items', // required: css class selector
  76.  
  77. 'widgetItem' => '.item', // required: css class
  78.  
  79. 'limit' => 999, // the maximum times, an element can be cloned (default 999)
  80.  
  81. 'min' => 0, // 0 or 1 (default 1)
  82.  
  83. 'insertButton' => '.add-item', // css class
  84.  
  85. 'deleteButton' => '.remove-item', // css class
  86.  
  87. 'model' => $orders[0],
  88.  
  89. 'formId' => 'dynamic-form',
  90.  
  91.  
  92. 'formFields' => [
  93. 'type_zakaz_id',
  94. ],
  95.  
  96.  
  97. ]); ?>
  98. <div class="panel panel-default">
  99. <div class="panel-heading">
  100. <i class="fa fa-envelope"></i> Выбор типа услуг
  101. <button type="button" class="pull-right add-item btn btn-success btn-xs"><i class="fa fa-plus"></i> Добавить услугу</button>
  102. <div class="clearfix"></div>
  103. </div>
  104. <div class="panel-body container-items"><!-- widgetContainer -->
  105. <?php foreach ($orders as $index => $order): ?>
  106. <div class="item panel panel-default"><!-- widgetBody -->
  107. <div class="panel-heading">
  108. <span class="panel-title-order">Услуга <?= ($index + 1) ?></span>
  109. <button type="button" class="pull-right remove-item btn btn-danger btn-xs"><i class="fa fa-minus"></i></button>
  110. <div class="clearfix"></div>
  111. </div>
  112. <div class="panel-body">
  113. <?php
  114. // necessary for update action.
  115. if (!$order->isNewRecord) {
  116. echo Html::activeHiddenInput($orders, "[{$index}]id");
  117. }
  118. ?>
  119.  
  120. <?= $form->field($order, "[{$index}]type_zakaz_id")->widget(Select2::classname(), [
  121. 'initValueText' => $order->type ? $order->type->type : '',
  122. 'options' => [
  123. 'placeholder' => Yii::t('app', 'Выберите тип услуг')
  124. ],
  125. 'pluginOptions' => [
  126. 'allowClear' => true,
  127. 'ajax' => [
  128. 'url' => \yii\helpers\Url::to(['/deals/get-type']),
  129. 'data' => new \yii\web\JsExpression('function(params) { return { q:params.term }}')
  130. ],
  131. ],
  132. ]) ?>
  133. </div>
  134. </div>
  135. <?php endforeach; ?>
  136. </div>
  137. </div>
  138.  
  139. <?php DynamicFormWidget::end(); ?>
  140.  
  141.  
  142. <?= $form->field($model, 'client_id')->widget(Select2::classname(), [
  143.  
  144. 'options' => [
  145. 'placeholder' => ('Выберите клиента')
  146. ],
  147. 'pluginOptions' => [
  148. 'allowClear' => true,
  149. 'ajax' => [
  150. 'url' => \yii\helpers\Url::to(['/deals/get-client']),
  151. 'data' => new \yii\web\JsExpression('function(params) { return { q:params.term }}')
  152. ],
  153. ],
  154. ]) ?>
  155.  
  156. <?= $form->field($model, 'budget')->textInput(['maxlength' => true]) ?>
  157.  
  158. <?= $form->field($model, 'tz_text')->textarea(['maxlength' => true]) ?>
  159.  
  160. <?= $form->field($model, 'file')->widget(\kartik\file\FileInput::classname(), [
  161. 'options' => ['accept' => 'image/*'],
  162. 'pluginOptions'=>[
  163. 'showUpload' => true,
  164. 'overwriteInitial' => true,
  165. ],
  166. ]);?>
  167.  
  168. <?= $form->field($model, 'user_id')->dropDownList(backend\models\Users::find()->select(['username', 'id'])->indexBy('id')->column(), ['prompt'=>'Выбирите менеджера']) ?>
  169.  
  170. <?= $form->field($model, 'date')->widget(DateTimePicker::classname(), [
  171. 'options' => ['placeholder' => 'Начало...'],
  172. 'removeButton' => false,
  173. //'convertFormat' => true,
  174. 'pluginOptions' => [
  175. 'autoclose' => true,
  176. 'format' => 'dd-M-yyyy hh:ii'
  177. ]
  178. ]);
  179. ?>
  180. <?= $form->field($model, 'finch_date')->widget(DateTimePicker::classname(), [
  181. 'options' => ['placeholder' => 'Начало...'],
  182. 'removeButton' => false,
  183. //'convertFormat' => true,
  184. 'pluginOptions' => [
  185. 'autoclose' => true,
  186. 'format' => 'dd-M-yyyy'
  187. ]
  188. ]);
  189. ?>
  190.  
  191.  
  192. <?= $form->field($model, 'notes')->textarea(['maxlength' => true]) ?>
  193.  
  194. <?= $form->field($model, 'file2')->widget(\kartik\file\FileInput::classname(), [
  195. 'options' => ['accept' => 'image/*'],
  196. ]);?>
  197.  
  198. <?= $form->field($model, 'payment')->textInput(['maxlength' => true]) ?>
  199.  
  200. <?= $form->field($model, 'paymentdate')->widget(DateTimePicker::classname(), [
  201. 'options' => ['placeholder' => 'Начало...'],
  202. 'removeButton' => false,
  203. //'convertFormat' => true,
  204. 'pluginOptions' => [
  205. 'autoclose' => true,
  206. 'format' => 'dd-M-yyyy hh:ii'
  207. ]
  208. ]);
  209. ?>
  210.  
  211. <?= $form->field($model, 'staussdelki_id')->dropDownList(backend\models\Staussdelki::find()->select(['staussdelkiname', 'id'])->indexBy('id')->column(), ['prompt'=>'Выбирите статус сделки']) ?>
  212.  
  213.  
  214. <?php DynamicFormWidget::begin([
  215.  
  216. 'widgetContainer' => 'dynamicform1_wrapper', // required: only alphanumeric characters plus "_" [A-Za-z0-9_]
  217.  
  218. 'widgetBody' => '.container-items', // required: css class selector
  219.  
  220. 'widgetItem' => '.item', // required: css class
  221.  
  222. 'limit' => 999, // the maximum times, an element can be cloned (default 999)
  223.  
  224. 'min' => 0, // 0 or 1 (default 1)
  225.  
  226. 'insertButton' => '.add-item', // css class
  227.  
  228. 'deleteButton' => '.remove-item', // css class
  229.  
  230. 'model' => $oplata[0],
  231.  
  232. 'formId' => 'dynamic-form',
  233.  
  234.  
  235. 'formFields' => [
  236. 'deals_id',
  237. 'summa',
  238. 'date_oplata',
  239. ],
  240. ]); ?>
  241. <div class="panel panel-default">
  242. <div class="panel-heading">
  243. <i class="fa fa-envelope"></i> Выбор услуг
  244. <button type="button" class="pull-right add-item btn btn-success btn-xs"><i class="fa fa-plus"></i> Добавить услугу</button>
  245. <div class="clearfix"></div>
  246. </div>
  247. <div class="panel-body container-items"><!-- widgetContainer -->
  248. <?php foreach ($oplatas as $index2 => $oplata): ?>
  249. <div class="item panel panel-default"><!-- widgetBody -->
  250. <div class="panel-heading">
  251. <span class="panel-title-oplata">Услуга <?= ($index2 + 1) ?></span>
  252. <button type="button" class="pull-right remove-item btn btn-danger btn-xs"><i class="fa fa-minus"></i></button>
  253. <div class="clearfix"></div>
  254. </div>
  255. <div class="panel-body">
  256. <?php
  257. // necessary for update action.
  258. if (!$order->isNewRecord) {
  259. echo Html::activeHiddenInput($oplata, "[{$index2}]id");
  260. }
  261. ?>
  262. <?= $form->field($oplata, "[{$index2}]summa")->textInput(['maxlength' => true]) ?>) ?>
  263.  
  264. <div class="row">
  265. <div class="col-sm-6">
  266. <?= $form->field($oplata, "[{$index2}]date_oplata")->textInput(['maxlength' => true]) ?>) ?>
  267. </div>
  268. </div><!-- end:row -->
  269. </div>
  270. </div>
  271. <?php endforeach; ?>
  272. </div>
  273. </div>
  274. <?php DynamicFormWidget::end(); ?>
  275.  
  276.  
  277.  
  278. <div class="form-group">
  279. <?= Html::submitButton('Сохранить', ['class' => 'btn btn-success']) ?>
  280. </div>
  281.  
  282. <?php ActiveForm::end(); ?>
  283.  
  284. </div>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement