pmtpenza

Untitled

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