Изменение полей в панели модератора + генерация счетов
This commit is contained in:
parent
4f898bf796
commit
0d654ad790
|
@ -28,7 +28,7 @@
|
|||
"mirzaev/yii2-arangodb": ">=2.1.x-dev",
|
||||
"mirzaev/yii2-arangodb-sessions": ">=1.1.x-dev",
|
||||
"guzzlehttp/guzzle": "^7.3",
|
||||
"cdek-it/sdk2.0": "^0.1.5"
|
||||
"mnvx/lowrapper": "^1.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"codeception/codeception": ">=4.1",
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -81,7 +81,7 @@ $config = [
|
|||
'orders' => 'order/index',
|
||||
'orders/<_key:[^/]+>/<action:(accept)>' => 'order/<action>',
|
||||
'orders/supply/<_key:[^/]+>/<action:(read|write|edit|delete)>' => 'order/supply-<action>',
|
||||
'orders/supply/<_key:[^/]+>/<action:(read|write|edit|delete)>/<target:(stts)>' => 'order/supply-<action>-<target>'
|
||||
'orders/supply/<_key:[^/]+>/<action:(read|write|edit|delete)>/<target:(stts|cost|time|comm)>' => 'order/supply-<action>-<target>'
|
||||
],
|
||||
],
|
||||
|
||||
|
|
|
@ -20,7 +20,7 @@ use app\models\Notification;
|
|||
use app\models\SupplyEdgeProduct;
|
||||
|
||||
use Codeception\PHPUnit\ResultPrinter\HTML;
|
||||
|
||||
use DateTime;
|
||||
use Exception;
|
||||
|
||||
class OrderController extends Controller
|
||||
|
@ -34,7 +34,20 @@ class OrderController extends Controller
|
|||
[
|
||||
'allow' => true,
|
||||
'roles' => ['@'],
|
||||
'actions' => ['index', 'accept', 'read', 'write', 'delete', 'amount-update', 'pay', 'supply-read', 'supply-write-stts']
|
||||
'actions' => [
|
||||
'index',
|
||||
'accept',
|
||||
'read',
|
||||
'write',
|
||||
'delete',
|
||||
'amount-update',
|
||||
'pay',
|
||||
'supply-read',
|
||||
'supply-write-stts',
|
||||
'supply-edit-time',
|
||||
'supply-edit-cost',
|
||||
'supply-edit-comm'
|
||||
]
|
||||
],
|
||||
[
|
||||
'allow' => false,
|
||||
|
@ -429,32 +442,45 @@ class OrderController extends Controller
|
|||
// Инициализация ребра: ПОСТАВКА -> ТОВАР
|
||||
$supply_edge_product = SupplyEdgeProduct::searchBySupplyId($order_edge_supply->_to);
|
||||
|
||||
// // Поиск ребра до аккаунта
|
||||
// $account = Account::searchBySupplyId($order_edge_supply->_to);
|
||||
// Поиск ребра до аккаунта
|
||||
$account = Account::searchBySupplyId($order_edge_supply->_to);
|
||||
|
||||
// // Поиск привязанного товара
|
||||
// $product = Product::searchBySupplyId($order_edge_supply->_to);
|
||||
// Поиск привязанного товара
|
||||
$product = Product::searchBySupplyId($order_edge_supply->_to);
|
||||
|
||||
// try {
|
||||
// // Инициализация доставки
|
||||
// $delivery = Dellin::calcDeliveryAdvanced(
|
||||
// explode('_', $account['opts']['delivery_from_terminal'])[1],
|
||||
// explode('_', yii::$app->user->identity->opts['delivery_to_terminal'])[1],
|
||||
// (int) ($product['wght'] ?? 0),
|
||||
// (int) ($product['dmns']['x'] ?? 0),
|
||||
// (int) ($product['dmns']['y'] ?? 0),
|
||||
// (int) ($product['dmns']['z'] ?? 0)
|
||||
// );
|
||||
// } catch (Exception $e) {
|
||||
// // var_dump(json_decode($e->getMessage(), true)['errors']); die;
|
||||
// }
|
||||
try {
|
||||
// Инициализация доставки
|
||||
$delivery = Dellin::calcDeliveryAdvanced(
|
||||
$account['opts']['delivery_from_terminal'],
|
||||
yii::$app->user->identity->opts['delivery_to_terminal'],
|
||||
(int) ($product['wght'] ?? 0),
|
||||
(int) ($product['dmns']['x'] ?? 0),
|
||||
(int) ($product['dmns']['y'] ?? 0),
|
||||
(int) ($product['dmns']['z'] ?? 0),
|
||||
avia: $order_edge_supply->dlvr['type'] === 'avia'
|
||||
);
|
||||
|
||||
// Рассчет времени
|
||||
try {
|
||||
$delivery_converted = DateTime::createFromFormat('Y-m-d H:i:s', $delivery['orderDates']['giveoutFromOspReceiver'])->getTimestamp();
|
||||
} catch (Exception $e) {
|
||||
$delivery_converted = DateTime::createFromFormat('Y-m-d', $delivery['orderDates']['arrivalToOspReceiver'])->getTimestamp();
|
||||
}
|
||||
$delivery = ceil(($delivery_converted - time()) / 60 / 60 / 24) + 1;
|
||||
} catch (Exception $e) {
|
||||
// var_dump($e->getMessage());
|
||||
// var_dump($e->getTrace());
|
||||
// var_dump($e->getFile()); die;
|
||||
|
||||
// var_dump(json_decode($e->getMessage(), true)['errors']); die;
|
||||
}
|
||||
|
||||
// Запись параметров
|
||||
$buffer['cost'] = $order_edge_supply->cost ?? $order_edge_supply->cost = $supply_edge_product[0]['onec']['Цены']['Цена']['ЦенаЗаЕдиницу'];
|
||||
$buffer['time'] = $order_edge_supply->time ?? 0;
|
||||
// $buffer['time'] = $order_edge_supply->time ?? $delivery ?? 0;
|
||||
$buffer['time'] = $order_edge_supply->time ?? $delivery ?? 0;
|
||||
$buffer['comm'] = $order_edge_supply->comm ?? $order_edge_supply->comm = 'Комментарий к заказу';
|
||||
$buffer['stts'] = $order_edge_supply->stts ?? $order_edge_supply->stts = 0;
|
||||
$buffer['id'] = $order_edge_supply->_key ?? 'Неизвестно';
|
||||
|
||||
$order_edge_supply->save();
|
||||
}
|
||||
|
@ -469,7 +495,7 @@ class OrderController extends Controller
|
|||
}
|
||||
|
||||
/**
|
||||
* Чтение инстанции поставки в заказе (order_edge_supply)
|
||||
* Запись статуса поставки в заказе (order_edge_supply)
|
||||
*
|
||||
* @param int $_key Ключ записи в коллекции order_edge_supply
|
||||
*
|
||||
|
@ -484,14 +510,138 @@ class OrderController extends Controller
|
|||
if ($order_edge_supply = OrderEdgeSupply::searchById($_id = OrderEdgeSupply::collectionName() . '/' . $_key)) {
|
||||
// Удалось найти инстанцию поставки
|
||||
|
||||
// Запись в буфер вывода и буфер записи в базу данных
|
||||
$buffer['stts'] = $order_edge_supply->stts = $stts;
|
||||
// Запись в буфер записи в базу данных
|
||||
$order_edge_supply->stts = $stts;
|
||||
|
||||
// Отправка в базу данных
|
||||
if ($order_edge_supply->save()) {
|
||||
// Удалось сохранить изменения
|
||||
|
||||
// Запись в буфер вывода
|
||||
$buffer['stts'] = $order_edge_supply->stts;
|
||||
} else {
|
||||
// Не удалось сохранить изменения
|
||||
|
||||
yii::$app->response->statusCode = 500;
|
||||
}
|
||||
}
|
||||
|
||||
// Запись обязательных параметров
|
||||
$buffer['_csrf'] = yii::$app->request->getCsrfToken();
|
||||
|
||||
// Настройка ответа
|
||||
yii::$app->response->format = Response::FORMAT_JSON;
|
||||
|
||||
return $buffer;
|
||||
}
|
||||
|
||||
/**
|
||||
* Запись цены поставки в заказе (order_edge_supply)
|
||||
*
|
||||
* @param int $_key Ключ записи в коллекции order_edge_supply
|
||||
*
|
||||
* @return string|array|null
|
||||
*/
|
||||
public function actionSupplyEditCost(int $_key): string|array|null
|
||||
{
|
||||
// Инициализация
|
||||
$cost = yii::$app->request->post('cost') ?? yii::$app->request->get('cost');
|
||||
$buffer = [];
|
||||
|
||||
if ($order_edge_supply = OrderEdgeSupply::searchById($_id = OrderEdgeSupply::collectionName() . '/' . $_key)) {
|
||||
// Удалось найти инстанцию поставки
|
||||
|
||||
// Запись в буфер записи в базу данных
|
||||
$order_edge_supply->cost = $cost;
|
||||
|
||||
// Отправка в базу данных
|
||||
if ($order_edge_supply->save()) {
|
||||
// Удалось сохранить изменения
|
||||
|
||||
// Запись в буфер вывода
|
||||
$buffer['cost'] = $order_edge_supply->cost;
|
||||
} else {
|
||||
// Не удалось сохранить изменения
|
||||
|
||||
yii::$app->response->statusCode = 500;
|
||||
}
|
||||
}
|
||||
|
||||
// Запись обязательных параметров
|
||||
$buffer['_csrf'] = yii::$app->request->getCsrfToken();
|
||||
|
||||
// Настройка ответа
|
||||
yii::$app->response->format = Response::FORMAT_JSON;
|
||||
|
||||
return $buffer;
|
||||
}
|
||||
|
||||
/**
|
||||
* Запись времени доставки поставки в заказе (order_edge_supply)
|
||||
*
|
||||
* @param int $_key Ключ записи в коллекции order_edge_supply
|
||||
*
|
||||
* @return string|array|null
|
||||
*/
|
||||
public function actionSupplyEditTime(int $_key): string|array|null
|
||||
{
|
||||
// Инициализация
|
||||
$time = yii::$app->request->post('time') ?? yii::$app->request->get('time');
|
||||
$buffer = [];
|
||||
|
||||
if ($order_edge_supply = OrderEdgeSupply::searchById($_id = OrderEdgeSupply::collectionName() . '/' . $_key)) {
|
||||
// Удалось найти инстанцию поставки
|
||||
|
||||
// Запись в буфер записи в базу данных
|
||||
$order_edge_supply->time = $time;
|
||||
|
||||
// Отправка в базу данных
|
||||
if ($order_edge_supply->save()) {
|
||||
// Удалось сохранить изменения
|
||||
|
||||
// Запись в буфер вывода
|
||||
$buffer['time'] = $order_edge_supply->time;
|
||||
} else {
|
||||
// Не удалось сохранить изменения
|
||||
|
||||
yii::$app->response->statusCode = 500;
|
||||
}
|
||||
}
|
||||
|
||||
// Запись обязательных параметров
|
||||
$buffer['_csrf'] = yii::$app->request->getCsrfToken();
|
||||
|
||||
// Настройка ответа
|
||||
yii::$app->response->format = Response::FORMAT_JSON;
|
||||
|
||||
return $buffer;
|
||||
}
|
||||
|
||||
/**
|
||||
* Запись комментария поставки в заказе (order_edge_supply)
|
||||
*
|
||||
* @param int $_key Ключ записи в коллекции order_edge_supply
|
||||
*
|
||||
* @return string|array|null
|
||||
*/
|
||||
public function actionSupplyEditComm(int $_key): string|array|null
|
||||
{
|
||||
// Инициализация
|
||||
$comm = yii::$app->request->post('comm') ?? yii::$app->request->get('comm');
|
||||
$buffer = [];
|
||||
|
||||
if ($order_edge_supply = OrderEdgeSupply::searchById($_id = OrderEdgeSupply::collectionName() . '/' . $_key)) {
|
||||
// Удалось найти инстанцию поставки
|
||||
|
||||
// Запись в буфер записи в базу данных
|
||||
$order_edge_supply->comm = $comm;
|
||||
|
||||
// Отправка в базу данных
|
||||
if ($order_edge_supply->save()) {
|
||||
// Удалось сохранить изменения
|
||||
|
||||
// Запись в буфер вывода
|
||||
$buffer['comm'] = $order_edge_supply->comm;
|
||||
} else {
|
||||
// Не удалось сохранить изменения
|
||||
|
||||
|
|
|
@ -0,0 +1,33 @@
|
|||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace app\models;
|
||||
|
||||
use yii;
|
||||
use yii\base\Model;
|
||||
|
||||
use Mnvx\Lowrapper\Converter;
|
||||
use Mnvx\Lowrapper\LowrapperParameters;
|
||||
use Mnvx\Lowrapper\Format;
|
||||
|
||||
class Invoice extends Model
|
||||
{
|
||||
public function generate(): array
|
||||
{
|
||||
// Создаем объект конвертера
|
||||
$converter = new Converter();
|
||||
|
||||
// Описываем параметры для конвертера
|
||||
$parameters = (new LowrapperParameters())
|
||||
// На вход подаем строку с HTML
|
||||
->setInputData('<html>My html file</html>')
|
||||
// В каком формате нужен результат
|
||||
->setOutputFormat(Format::TEXT_DOCX)
|
||||
// Файл для сохранения результата
|
||||
->setOutputFile('path-to-result-docx.docx');
|
||||
|
||||
// Запускаем конвертацию
|
||||
$converter->convert($parameters);
|
||||
}
|
||||
}
|
|
@ -458,7 +458,7 @@ class Order extends Document implements DocumentInterface
|
|||
// var_dump($e->getTrace());
|
||||
// var_dump($e->getFile()); die;
|
||||
|
||||
// var_dump(json_decode($e->getMessage(), true)['errors']); die;
|
||||
var_dump(json_decode($e->getMessage(), true)['errors']); die;
|
||||
}
|
||||
|
||||
// Запись цены (цена поставки + цена доставки + наша наценка)
|
||||
|
|
|
@ -171,7 +171,8 @@ class Dellin extends Model
|
|||
'sessionID' => self::$session,
|
||||
'delivery' => [
|
||||
'derival' => [
|
||||
'produceDate' => date('Y-m-d', time() + ($settings['delivery_handle_time'] ?? 86400))
|
||||
// 'produceDate' => date('Y-m-d', time() + ($settings['delivery_handle_time'] ?? 86400))
|
||||
'produceDate' => date('Y-m-d', time() + 86400 * 3)
|
||||
]
|
||||
],
|
||||
'members' => [
|
||||
|
|
|
@ -63,7 +63,7 @@ use DateTime;
|
|||
default => '<i class="mr-1 fas fa-truck"></i>'
|
||||
};
|
||||
|
||||
// Инициализация времени
|
||||
// Рассчет времени
|
||||
try {
|
||||
$delivery_converted = DateTime::createFromFormat('Y-m-d H:i:s', $connection['delivery']['orderDates']['giveoutFromOspReceiver'])->getTimestamp();
|
||||
} catch (Exception $e) {
|
||||
|
|
|
@ -66,8 +66,8 @@ if (
|
|||
];
|
||||
|
||||
?>
|
||||
<p class="col-auto ml-1">#<?= $order['order']['_key'] ?></p>
|
||||
<p class="col-auto mr-1">
|
||||
<p class="col-auto ml-1 font-weight-bold">#<?= $order['order']['_key'] ?></p>
|
||||
<p class="col-auto mr-1 font-weight-bold">
|
||||
<span class="mr-2"><?= $date['H:i'] ?? 'Неизвестно' ?></span>
|
||||
<span><?= $date['m.d.Y'] ?? 'Неизвестно' ?></span>
|
||||
</p>
|
||||
|
@ -133,7 +133,7 @@ if (
|
|||
</div>
|
||||
<?php endif ?>
|
||||
</div>
|
||||
<div id="orders_panel_edit_<?= $order['order']['_key'] ?>" class="px-3 col-6 d-flex flex-column">
|
||||
<div id="orders_panel_edit_<?= $order['order']['_key'] ?>" class="px-4 col-6 d-flex flex-column">
|
||||
<p class="my-auto">Выберите поставку</p>
|
||||
</div>
|
||||
<div id="orders_panel_info_<?= $order['order']['_key'] ?>" class="col-3 d-flex flex-column">
|
||||
|
|
|
@ -44,6 +44,13 @@ AppAsset::register($this);
|
|||
<meta name="msapplication-TileImage" content="/favicons/ms-icon-144x144.png">
|
||||
<meta name="theme-color" content="#ffffff">
|
||||
|
||||
<script type="text/javascript">
|
||||
var onloadCallback = function() {
|
||||
grecaptcha.render('form_suppliers_request_recaptcha', {
|
||||
'sitekey': '6LcTDSsbAAAAAF-KOY6azKzaIj6rOqyegJqNKRcc'
|
||||
});
|
||||
};
|
||||
</script>
|
||||
|
||||
<?php $this->registerCsrfMetaTags() ?>
|
||||
|
||||
|
@ -90,8 +97,8 @@ AppAsset::register($this);
|
|||
<?= $form->field($model_request, 'phon', ['options' => ['class' => "mb-3"]])->input('tel', ['aria-invalid' => false, 'aria-required' => true, 'pattern' => '7[0-9]{3}[0-9]{3}[0-9]{2}[0-9]{2}', 'placeholder' => '79091112233', 'title' => '79091112233']); ?>
|
||||
<?= $form->field($model_request, 'mail', ['options' => ['class' => "mb-3"]])->input('email', ['placeholder' => 'company@mail.ru']); ?>
|
||||
<?= $form->field($model_request, 'file', ['options' => ['class' => "mb-3 d-flex flex-column justify-content-center"]])->fileInput(['multiple' => true, 'class' => 'my-auto px-0']) ?>
|
||||
<div id="form_suppliers_request_recaptcha"></div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
|
@ -103,6 +110,8 @@ AppAsset::register($this);
|
|||
</main>
|
||||
|
||||
<?php $this->endBody() ?>
|
||||
<script src="https://www.google.com/recaptcha/api.js?onload=onloadCallback&render=explicit" async defer></script>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
|
|
|
@ -11,8 +11,6 @@ function order_init(order_key) {
|
|||
// Инициализация
|
||||
let target = panel.children[2].children[0].children[i];
|
||||
|
||||
console.log(i);
|
||||
|
||||
if ((target === undefined || target.children[1] === undefined || target.children[1].children[0] === undefined) && !target.classList.contains('dropdown-divider')) {
|
||||
|
||||
supplies_are_confirmed = false;
|
||||
|
@ -78,24 +76,65 @@ function orders_supply_edit(supply_key, order_key) {
|
|||
// Удаление индикатора загрузки
|
||||
panel.innerHTML = '';
|
||||
|
||||
// Идентификатор
|
||||
if (document.getElementById(supply.getAttribute('id') + '_id') === null) {
|
||||
// Инициализация контейнера
|
||||
let container = document.createElement('div');
|
||||
container.setAttribute('id', supply.getAttribute('id') + '_id');
|
||||
container.setAttribute('class', 'row mb-1 px-3');
|
||||
|
||||
// Инициализация названия
|
||||
let name = document.createElement('p');
|
||||
name.setAttribute('id', supply.getAttribute('id') + '_id_name');
|
||||
name.setAttribute('class', 'col-auto px-0 ml-0 mr-2');
|
||||
name.innerText = 'Идентификатор:';
|
||||
|
||||
// Инициализация идентификатора
|
||||
let text = document.createElement('p');
|
||||
text.setAttribute('id', supply.getAttribute('id') + '_id_value');
|
||||
text.setAttribute('class', 'col-auto px-0 mx-0 font-weight-bold');
|
||||
if (data.id !== undefined) {
|
||||
text.innerText = '#' + data.id;
|
||||
} else {
|
||||
text.innerText = 'Неизвестно';
|
||||
}
|
||||
|
||||
// Запись в документ
|
||||
panel.appendChild(container);
|
||||
container.appendChild(name);
|
||||
container.appendChild(text);
|
||||
};
|
||||
|
||||
// // Разделитель статического информационного блока от блока с динамическими данными
|
||||
// if (document.getElementById(supply.getAttribute('id') + '_info_divider') === null) {
|
||||
// // Инициализация контейнера
|
||||
// let divider = document.createElement('div');
|
||||
// divider.setAttribute('id', supply.getAttribute('id') + '_info_divider');
|
||||
// divider.setAttribute('class', 'dropdown-divider mb-2');;
|
||||
|
||||
// // Запись в документ
|
||||
// panel.appendChild(divider);
|
||||
// };
|
||||
|
||||
// Цена
|
||||
if (document.getElementById(supply.getAttribute('id') + '_cost') === null) {
|
||||
// Инициализация контейнера
|
||||
let container = document.createElement('div');
|
||||
container.setAttribute('id', supply.getAttribute('id') + '_cost');
|
||||
container.setAttribute('class', 'row mb-3 px-3');
|
||||
container.setAttribute('class', 'row px-3');
|
||||
|
||||
// Инициализация названия
|
||||
let name = document.createElement('p');
|
||||
name.setAttribute('id', supply.getAttribute('id') + '_cost_name');
|
||||
name.setAttribute('class', 'col-2 text-center');
|
||||
name.setAttribute('class', 'col-auto px-0 ml-0 mr-2');
|
||||
name.innerText = 'Цена';
|
||||
|
||||
// Инициализация поля
|
||||
let input = document.createElement('input');
|
||||
input.setAttribute('id', supply.getAttribute('id') + '_cost_input');
|
||||
input.setAttribute('class', 'col-10 form-control');
|
||||
input.setAttribute('class', 'col-2 text-center form-control-plaintext');
|
||||
input.setAttribute('type', 'number');
|
||||
input.setAttribute('onchange', 'return orders_supply_cost_edit(' + supply_key + ', this);')
|
||||
if (data.cost !== undefined) {
|
||||
input.setAttribute('value', data.cost);
|
||||
} else {
|
||||
|
@ -103,10 +142,16 @@ function orders_supply_edit(supply_key, order_key) {
|
|||
}
|
||||
input.setAttribute('aria-invalid', 'false');
|
||||
|
||||
// Инициализация дополнительных данных
|
||||
let info = document.createElement('p');
|
||||
info.setAttribute('class', 'col-auto px-0 ml-2 mr-0');
|
||||
info.innerText = 'рублей';
|
||||
|
||||
// Запись в документ
|
||||
panel.appendChild(container);
|
||||
container.appendChild(name);
|
||||
container.appendChild(input);
|
||||
container.appendChild(info);
|
||||
};
|
||||
|
||||
// Время доставки
|
||||
|
@ -114,19 +159,20 @@ function orders_supply_edit(supply_key, order_key) {
|
|||
// Инициализация контейнера
|
||||
let container = document.createElement('div');
|
||||
container.setAttribute('id', supply.getAttribute('id') + '_time');
|
||||
container.setAttribute('class', 'row mb-3 px-3');
|
||||
container.setAttribute('class', 'row mb-2 px-3');
|
||||
|
||||
// Инициализация названия
|
||||
let name = document.createElement('p');
|
||||
name.setAttribute('id', supply.getAttribute('id') + '_time_name');
|
||||
name.setAttribute('class', 'col-2 text-center');
|
||||
name.setAttribute('class', 'col-auto px-0 ml-0 mr-2');
|
||||
name.innerText = 'Время';
|
||||
|
||||
// Инициализация поля
|
||||
let input = document.createElement('input');
|
||||
input.setAttribute('id', supply.getAttribute('id') + '_time_input');
|
||||
input.setAttribute('class', 'col-10 form-control');
|
||||
input.setAttribute('class', 'col-1 text-center form-control-plaintext');
|
||||
input.setAttribute('type', 'number');
|
||||
input.setAttribute('onchange', 'return orders_supply_time_edit(' + supply_key + ', this);')
|
||||
if (data.time !== undefined) {
|
||||
input.setAttribute('value', data.time);
|
||||
} else {
|
||||
|
@ -134,10 +180,16 @@ function orders_supply_edit(supply_key, order_key) {
|
|||
}
|
||||
input.setAttribute('aria-invalid', 'false');
|
||||
|
||||
// Инициализация дополнительных данных
|
||||
let info = document.createElement('p');
|
||||
info.setAttribute('class', 'col-auto px-0 ml-2 mr-0');
|
||||
info.innerText = 'дней';
|
||||
|
||||
// Запись в документ
|
||||
panel.appendChild(container);
|
||||
container.appendChild(name);
|
||||
container.appendChild(input);
|
||||
container.appendChild(info);
|
||||
};
|
||||
|
||||
// Комментарий
|
||||
|
@ -153,10 +205,11 @@ function orders_supply_edit(supply_key, order_key) {
|
|||
textarea.setAttribute('class', 'col-12 form-control');
|
||||
textarea.setAttribute('cols', '50');
|
||||
textarea.setAttribute('rows', '3');
|
||||
textarea.setAttribute('onchange', 'return orders_supply_comm_edit(' + supply_key + ', this);')
|
||||
if (data.comm === undefined) {
|
||||
textarea.innerText = 'Комментарий к заказу';
|
||||
textarea.value = 'Комментарий к заказу';
|
||||
} else {
|
||||
textarea.innerText = data.comm;
|
||||
textarea.value = data.comm;
|
||||
}
|
||||
|
||||
// Запись в документ
|
||||
|
@ -192,8 +245,6 @@ function orders_supply_edit(supply_key, order_key) {
|
|||
// Инициализация
|
||||
let title = document.getElementById(supply.getAttribute('id') + '_stts_indicator');
|
||||
|
||||
console.log(title.children[0]);
|
||||
|
||||
if (title.children[0] === undefined) {
|
||||
// Индикатор не найден
|
||||
|
||||
|
@ -263,3 +314,99 @@ function orders_supply_comm_write(button, supply_key, order_key) {
|
|||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Изменить цену товара в заказе
|
||||
*/
|
||||
function orders_supply_cost_edit(supply_key, input) {
|
||||
if (supply_key !== undefined && input !== undefined) {
|
||||
// Обработка входных параметров
|
||||
|
||||
$.ajax({
|
||||
url: '/orders/supply/' + supply_key + '/edit/cost',
|
||||
type: 'post',
|
||||
dataType: 'json',
|
||||
data: {
|
||||
'_csrf': yii.getCsrfToken(),
|
||||
'cost': input.value
|
||||
},
|
||||
success: function (data, status) {
|
||||
if (data.cost !== undefined) {
|
||||
input.value = data.cost;
|
||||
}
|
||||
|
||||
orders_response_success(data, status);
|
||||
},
|
||||
error: orders_response_error
|
||||
});
|
||||
}
|
||||
|
||||
// Пересчитывание стоимости
|
||||
cart_cost_calculate();
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Изменить время доставки товара в заказе
|
||||
*/
|
||||
function orders_supply_time_edit(supply_key, input) {
|
||||
if (supply_key !== undefined && input !== undefined) {
|
||||
// Обработка входных параметров
|
||||
|
||||
$.ajax({
|
||||
url: '/orders/supply/' + supply_key + '/edit/time',
|
||||
type: 'post',
|
||||
dataType: 'json',
|
||||
data: {
|
||||
'_csrf': yii.getCsrfToken(),
|
||||
'time': input.value
|
||||
},
|
||||
success: function (data, status) {
|
||||
if (data.time !== undefined) {
|
||||
input.value = data.time;
|
||||
}
|
||||
|
||||
orders_response_success(data, status);
|
||||
},
|
||||
error: orders_response_error
|
||||
});
|
||||
}
|
||||
|
||||
// Пересчитывание стоимости
|
||||
cart_cost_calculate();
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Изменить комментарий товара в заказе
|
||||
*/
|
||||
function orders_supply_comm_edit(supply_key, input) {
|
||||
if (supply_key !== undefined && input !== undefined) {
|
||||
// Обработка входных параметров
|
||||
|
||||
$.ajax({
|
||||
url: '/orders/supply/' + supply_key + '/edit/comm',
|
||||
type: 'post',
|
||||
dataType: 'json',
|
||||
data: {
|
||||
'_csrf': yii.getCsrfToken(),
|
||||
'comm': input.value
|
||||
},
|
||||
success: function (data, status) {
|
||||
if (data.comm !== undefined) {
|
||||
input.value = data.comm;
|
||||
}
|
||||
|
||||
orders_response_success(data, status);
|
||||
},
|
||||
error: orders_response_error
|
||||
});
|
||||
}
|
||||
|
||||
// Пересчитывание стоимости
|
||||
cart_cost_calculate();
|
||||
|
||||
return false;
|
||||
}
|
||||
|
|
Reference in New Issue