273 lines
14 KiB
PHP
Executable File
273 lines
14 KiB
PHP
Executable File
<?php
|
||
|
||
use common\models\dictionary\StoredReferenceType\StoredContractorTypeReferenceType;
|
||
use common\widgets\ContractorField\ContractorField;
|
||
use kartik\select2\Select2;
|
||
use yii\bootstrap4\Modal;
|
||
use yii\helpers\ArrayHelper;
|
||
use yii\helpers\Html;
|
||
use yii\helpers\Url;
|
||
use yii\web\JsExpression;
|
||
use yii\widgets\MaskedInput;
|
||
|
||
Modal::begin([
|
||
'size' => 'modal-md',
|
||
'id' => $config['approveModalId'],
|
||
'options' => [
|
||
'tabindex' => false,
|
||
],
|
||
'closeButton' => false,
|
||
'title' => Html::tag('h4', Yii::t(
|
||
'common/widgets/contractor-field',
|
||
'Заголовок модального окна проверки контрагента: `Подтверждение контрагента`'
|
||
)) . Html::button('<span aria-hidden="true">×</span>', [
|
||
'class' => 'close close-approve-contractor-modal',
|
||
]),
|
||
]);
|
||
?>
|
||
|
||
<?php $approve_block_id = ContractorField::getIdentifier($model, "{$attribute}_contractor_approve", $keynum); ?>
|
||
<?php $bind_block_id = ContractorField::getIdentifier($model, "{$attribute}_contractor_bind", $keynum); ?>
|
||
<div id="<?php echo $approve_block_id ?>" class="contractor-apporve-wrapper">
|
||
<?php echo Html::hiddenInput('approve_contractor_id', $contractor->id); ?>
|
||
<div class="row">
|
||
<div class="col-12">
|
||
<div class="contractor-approve-error" style="display:none">
|
||
<div class="alert alert-danger">
|
||
<?php echo Yii::t(
|
||
'common/widgets/contractor-field',
|
||
'Сообщение об ошибке в модальном окне подтверждения контрагента: `Произошла ошибка`'
|
||
); ?>
|
||
</div>
|
||
</div>
|
||
<div class="form-group approve-contractor-type required">
|
||
<label for="approve_contractor_name">
|
||
<?php echo $contractor->getAttributeLabel('contractor_type_ref_id'); ?>
|
||
</label>
|
||
<?php echo Select2::widget([
|
||
'name' => 'approve_contractor_type_ref_uid',
|
||
'value' => $contractor->contractorTypeRef->reference_uid ?? $contractor_type_ref_uid,
|
||
'language' => Yii::$app->language,
|
||
'data' => ArrayHelper::map(StoredContractorTypeReferenceType::findAll(['archive' => false]), 'reference_uid', 'reference_name'),
|
||
'options' => [
|
||
'placeholder' => Yii::t(
|
||
'common/widgets/contractor-field',
|
||
'Подпись пустого значения выпадающего списка для поля "contractor_id" блока "Контрагент": `Выберите организацию ...`'
|
||
),
|
||
'id' => ContractorField::getIdentifier($model, "approve_{$attribute}_contractor_type_ref_uid", $keynum),
|
||
'class' => 'approve-contractor-type-field',
|
||
],
|
||
'pluginOptions' => [
|
||
'allowClear' => false,
|
||
'multiple' => false,
|
||
'dropdownParent' => "#{$approve_block_id}"
|
||
]
|
||
]); ?>
|
||
<div class="invalid-feedback">Необходимо заполнить это поле.</div>
|
||
</div>
|
||
</div>
|
||
<div class="col-12">
|
||
<div class="form-group required">
|
||
<label for="approve_contractor_name">
|
||
<?php echo $contractor->getAttributeLabel('name'); ?>
|
||
</label>
|
||
<?php echo Html::textInput('approve_contractor_name', $contractor->name, [
|
||
'class' => 'form-control'
|
||
]); ?>
|
||
</div>
|
||
</div>
|
||
<div class="col-12">
|
||
<label for="approve_contractor_subdivision_code">
|
||
<?php echo $contractor->getAttributeLabel('subdivision_code'); ?>
|
||
</label>
|
||
<div class="form-group required">
|
||
<?php echo MaskedInput::widget(
|
||
[
|
||
'mask' => $mask_subdivision_code,
|
||
'value' => $contractor->subdivision_code,
|
||
'name' => 'approve_contractor_subdivision_code',
|
||
'options' => [
|
||
'class' => 'form-control'
|
||
],
|
||
]
|
||
);?>
|
||
</div>
|
||
</div>
|
||
<div class="col-12 location-found">
|
||
<label for="approve_contractor_location_code">
|
||
<?php echo $contractor->getAttributeLabel('location_code'); ?>
|
||
</label>
|
||
<div class="form-group">
|
||
<?php echo Select2::widget(
|
||
[
|
||
'language' => Yii::$app->language,
|
||
'class' => 'form-control',
|
||
'data' => ArrayHelper::map([$contractor->location], 'code', 'fullname'),
|
||
'value' => $contractor->location_code,
|
||
'name' => "approve_contractor_location_code",
|
||
'options' => [
|
||
'placeholder' => Yii::t(
|
||
'common/widgets/contractor-field',
|
||
'Подпись пустого значения выпадающего списка для поля "location_code" формы "Контрагент": `Нет города`'
|
||
),
|
||
'id' => ContractorField::getIdentifier($model, "approve_{$attribute}_location_code", $keynum),
|
||
],
|
||
'readonly' => false,
|
||
'disabled' => false,
|
||
'pluginOptions' => [
|
||
'placeholder' => Yii::t(
|
||
'abiturient/questionary/block-address-data',
|
||
'Подпись пустого значения выпадающего списка для поля "location_code" формы "Контрагент": `Нет города`'
|
||
),
|
||
'loadingText' => Yii::t(
|
||
'common/widgets/contractor-field',
|
||
'Подпись загружающегося поля "location_code" формы "Контрагент": `Загрузка ...`'
|
||
),
|
||
'allowClear' => true,
|
||
'multiple' => false,
|
||
'ajax' => [
|
||
'url' => Url::to(['/contractor/location']),
|
||
'method' => 'post',
|
||
'delay' => '500',
|
||
'dataType' => 'json',
|
||
'data' => new JsExpression("function(params) {
|
||
return {
|
||
q:params.term,
|
||
page: params.page || 1
|
||
};
|
||
}")
|
||
],
|
||
'dropdownParent' => "#{$approve_block_id}"
|
||
],
|
||
'pluginEvents' => [
|
||
'depdrop:change' => "
|
||
function(event, id, value, count) {
|
||
$(this).prop('disabled', false);
|
||
}
|
||
"
|
||
]
|
||
]
|
||
); ?>
|
||
</div>
|
||
</div>
|
||
<div class="col-12 location-not-found">
|
||
<label for="approve_contractor_location_code">
|
||
<?php echo $contractor->getAttributeLabel('location_code'); ?>
|
||
</label>
|
||
<div class="form-group">
|
||
<?php echo Html::textInput('approve_contractor_location_name', $contractor->location_name, [
|
||
'class' => 'form-control'
|
||
]); ?>
|
||
</div>
|
||
</div>
|
||
<div class="col-12">
|
||
<div class="form-group">
|
||
<?php echo Html::checkbox('approve_contractor_location_not_found', $contractor->location_not_found, [
|
||
'label' => $contractor->getAttributeLabel('location_not_found'),
|
||
'class' => 'contractor-location-not-found',
|
||
'data' => [
|
||
'block-id' => $approve_block_id
|
||
]
|
||
]); ?>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="row">
|
||
<div class="col-12">
|
||
<div class="form-group">
|
||
<?php echo Html::button(
|
||
Yii::t('common/widgets/contractor-field', 'Подпись кнопки для сохранения формы; модального окна подтверждения контрагента: `Сохранить`'),
|
||
[
|
||
'class' => 'btn btn-primary float-right approve-new-contractor-btn',
|
||
'data-found-block-id' => $found_block_id,
|
||
'data-approve-block-id' => $approve_block_id,
|
||
'data-target-input-id' => $config['selectInputId'],
|
||
'data-modal-id' => $config['approveModalId'],
|
||
'data-entity-class' => get_class($model),
|
||
'data-entity-attribute' => $attribute,
|
||
'data-entity-id' => $model->getPrimaryKey(),
|
||
]
|
||
); ?>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
|
||
<p>
|
||
<?php echo Yii::t(
|
||
'common/widgets/contractor-field',
|
||
'Подсказка. возможности выбора контрагента в модальном окне проверки контрагента: `Или выберите из уже добавленных контрагентов`'
|
||
) ?>
|
||
</p>
|
||
|
||
<div id="<?php echo $bind_block_id ?>">
|
||
<div class="row">
|
||
<div class="col-12">
|
||
<div class="contractor-bind-error" style="display:none">
|
||
<div class="alert alert-danger">
|
||
<?php echo Yii::t(
|
||
'common/widgets/contractor-field',
|
||
'Сообщение об ошибке в модальном окне подтверждения контрагента: `Произошла ошибка`'
|
||
); ?>
|
||
</div>
|
||
</div>
|
||
<label for="approve_contractor_subdivision_code">
|
||
<?php echo $contractor->getAttributeLabel('name'); ?>
|
||
</label>
|
||
<div class="form-group required">
|
||
<?php echo Select2::widget([
|
||
'name' => 'approve_contractor_id',
|
||
'language' => Yii::$app->language,
|
||
'data' => [],
|
||
'options' => [
|
||
'placeholder' => Yii::t(
|
||
'common/widgets/contractor-field',
|
||
'Подпись пустого значения выпадающего списка для поля "contractor_id" блока "Контрагент": `Выберите организацию ...`'
|
||
),
|
||
'id' => $config['contractorApproveSelectId'] ?? ContractorField::getIdentifier($model, 'approve_contracor_id', $keynum),
|
||
],
|
||
'pluginOptions' => [
|
||
'allowClear' => false,
|
||
'multiple' => false,
|
||
'ajax' => [
|
||
'url' => Url::to(['/contractor/search']),
|
||
'method' => 'post',
|
||
'delay' => '500',
|
||
'dataType' => 'json',
|
||
'data' => new JsExpression("function(params) {
|
||
var type = $('#" . $contractor_type_input_id . "').val();
|
||
return {
|
||
q:params.term,
|
||
contractor_type:type,
|
||
page: params.page || 1
|
||
};
|
||
}")
|
||
],
|
||
'dropdownParent' => "#{$approve_block_id}",
|
||
]
|
||
]); ?>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="row">
|
||
<div class="col-12">
|
||
<div class="form-group">
|
||
<?php echo Html::button(
|
||
Yii::t('common/widgets/contractor-field', 'Подпись кнопки для сохранения формы; модального окна подтверждения контрагента: `Сохранить`'),
|
||
[
|
||
'class' => 'btn btn-primary float-right bind-existing-contractor-btn',
|
||
'data-found-block-id' => $found_block_id,
|
||
'data-bind-block-id' => $bind_block_id,
|
||
'data-from-input-id' => $config['contractorApproveSelectId'] ?? ContractorField::getIdentifier($model, 'approve_contracor_id', $keynum),
|
||
'data-target-input-id' => $config['selectInputId'],
|
||
'data-modal-id' => $config['approveModalId'],
|
||
]
|
||
); ?>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<?php Modal::end(); ?>
|