Работа над сайтом 12
This commit is contained in:
parent
c4035d8ad3
commit
83295650c9
|
@ -137,7 +137,7 @@ class OrderController extends Controller
|
|||
Order::searchById($account_edge_order->_to)->journal('accepted');
|
||||
|
||||
// Инициализация
|
||||
$orders = Order::search(type: 'all', limit: 10, page: 1, select: '{account_edge_order, order}');
|
||||
$orders = Order::search(type: 'all', limit: 10, page: 1, select: '{account_edge_order, order}', supplies: true);
|
||||
$moderator_orders = self::genOrdersForModeration();
|
||||
|
||||
// Запись в буфер вывода
|
||||
|
@ -320,6 +320,7 @@ class OrderController extends Controller
|
|||
if ($connection['supply']['catn'] === $catn) {
|
||||
// Цель найдена
|
||||
|
||||
|
||||
if ($connection['amount'] > $amount) {
|
||||
// Запрошено уменьшение количества
|
||||
|
||||
|
@ -329,7 +330,7 @@ class OrderController extends Controller
|
|||
// Запрошено увеличение количества
|
||||
|
||||
// Запись
|
||||
$order->writeSupply([$connection['supply']['catn'] => $amount - $connection['amount']]);
|
||||
$order->writeSupply('supply/' . $connection['supply']['_key'], $connection['order_edge_supply']['dlvr'] ?? 'auto', $amount - $connection['amount']);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -384,7 +385,7 @@ class OrderController extends Controller
|
|||
// Инициализация буфера поставок
|
||||
$supplies = [];
|
||||
|
||||
foreach($model['supplies'] as $supply) {
|
||||
foreach ($model['supplies'] as $supply) {
|
||||
$supplies[] = [
|
||||
'title' => $supply['supply']['catn'],
|
||||
'amount' => [
|
||||
|
@ -419,8 +420,8 @@ class OrderController extends Controller
|
|||
}
|
||||
|
||||
// Инициализация
|
||||
$orders = Order::search(type: 'all', limit: 30, page: 1, select: '{account_edge_order, order}');
|
||||
$moderator_orders = Order::search(account: '@all', type: 'requested', limit: 10, page: 1, select: '{account_edge_order, order}');
|
||||
$orders = Order::search(type: 'all', limit: 10, page: 1, select: '{account_edge_order, order}', supplies: true);
|
||||
$moderator_orders = self::genOrdersForModeration();
|
||||
|
||||
if (yii::$app->request->isPost) {
|
||||
// POST-запрос
|
||||
|
|
|
@ -184,18 +184,23 @@ class SearchController extends Controller
|
|||
try {
|
||||
// Инициализация доставки (автоматическая)
|
||||
$connection['delivery'] = Dellin::calcDeliveryAdvanced(
|
||||
$buffer['account']['opts']['delivery_from_terminal'],
|
||||
$connection['account']['opts']['delivery_from_terminal'],
|
||||
yii::$app->user->identity->opts['delivery_to_terminal'],
|
||||
(int) ($connection['product']['wght'] ?? 0),
|
||||
(int) ($connection['product']['dmns']['x'] ?? 0),
|
||||
(int) ($connection['product']['dmns']['y'] ?? 0),
|
||||
(int) ($connection['product']['dmns']['z'] ?? 0)
|
||||
);
|
||||
$buffer['delivery']['type'] = 'auto';
|
||||
$connection['delivery']['type'] = 'auto';
|
||||
} catch (Exception $e) {
|
||||
$connection['delivery']['error'] = true;
|
||||
|
||||
// var_dump(json_decode($e->getMessage(), true)['errors']); die;
|
||||
// var_dump($e->getMessage());
|
||||
// var_dump($e->getTrace());
|
||||
// var_dump($e->getFile());
|
||||
|
||||
// var_dump(json_decode($e->getMessage(), true)['errors']);
|
||||
// die;
|
||||
}
|
||||
|
||||
// Инициализация цены (цена поставки + цена доставки + наша наценка)
|
||||
|
@ -222,7 +227,6 @@ class SearchController extends Controller
|
|||
// var_dump($e->getMessage());
|
||||
// var_dump($e->getTrace());
|
||||
// var_dump($e->getFile());
|
||||
// die;
|
||||
|
||||
// var_dump(json_decode($e->getMessage(), true)['errors']);
|
||||
// die;
|
||||
|
|
|
@ -354,47 +354,47 @@ class Order extends Document implements DocumentInterface
|
|||
$buffer_global = [];
|
||||
|
||||
// Разделение поставок по типам доставки
|
||||
foreach ($connections as &$connection) {
|
||||
// Перебор поставок
|
||||
// foreach ($connections as &$connection) {
|
||||
// // Перебор поставок
|
||||
|
||||
if (count($connection['order_edge_supply'] ?? []) > 1) {
|
||||
// Поставок более чем одна
|
||||
// if (count($connection['order_edge_supply'] ?? []) > 1) {
|
||||
// // Поставок более чем одна
|
||||
|
||||
// Инициализация (выбор значения для фильтрации)
|
||||
$target_dlvr_type = reset($connection['order_edge_supply'])['dlvr']['type'] ?? 'auto';
|
||||
// // Инициализация (выбор значения для фильтрации)
|
||||
// $target_dlvr_type = reset($connection['order_edge_supply'])['dlvr']['type'] ?? 'auto';
|
||||
|
||||
// Инициализация буфера поставок
|
||||
$buffer = $connection;
|
||||
unset($buffer['order_edge_supply']);
|
||||
// // Инициализация буфера поставок
|
||||
// $buffer = $connection;
|
||||
// unset($buffer['order_edge_supply']);
|
||||
|
||||
foreach ($connection['order_edge_supply'] as $key => &$order_edge_supply) {
|
||||
// Перебор рёбер: ЗАКАЗ -> ПОСТАВКА
|
||||
// foreach ($connection['order_edge_supply'] as $key => &$order_edge_supply) {
|
||||
// // Перебор рёбер: ЗАКАЗ -> ПОСТАВКА
|
||||
|
||||
// if ((empty($order_edge_supply['dlvr']['type']) && $target_dlvr_type === 'auto')
|
||||
// || (isset($order_edge_supply['dlvr']['type']) && $order_edge_supply['dlvr']['type'] !== $target_dlvr_type)
|
||||
// // if ((empty($order_edge_supply['dlvr']['type']) && $target_dlvr_type === 'auto')
|
||||
// // || (isset($order_edge_supply['dlvr']['type']) && $order_edge_supply['dlvr']['type'] !== $target_dlvr_type)
|
||||
// // ) {
|
||||
// if ((isset($order_edge_supply['dlvr']['type']) && $order_edge_supply['dlvr']['type'] === $target_dlvr_type)
|
||||
// || (empty($order_edge_supply['dlvr']['type']) && $target_dlvr_type === 'auto')
|
||||
// ) {
|
||||
if ((isset($order_edge_supply['dlvr']['type']) && $order_edge_supply['dlvr']['type'] === $target_dlvr_type)
|
||||
|| (empty($order_edge_supply['dlvr']['type']) && $target_dlvr_type === 'auto')
|
||||
) {
|
||||
// Тип доставки для одной поставки отличается
|
||||
// // Тип доставки для одной поставки отличается
|
||||
|
||||
// Запись в буфер
|
||||
$buffer['order_edge_supply'][$key] = $order_edge_supply;
|
||||
// // Запись в буфер
|
||||
// $buffer['order_edge_supply'][$key] = $order_edge_supply;
|
||||
|
||||
// Удаление из списка
|
||||
unset($connection['order_edge_supply'][$key]);
|
||||
// // Удаление из списка
|
||||
// unset($connection['order_edge_supply'][$key]);
|
||||
|
||||
// Перезапись статуса
|
||||
$changed = true;
|
||||
}
|
||||
}
|
||||
// // Перезапись статуса
|
||||
// $changed = true;
|
||||
// }
|
||||
// }
|
||||
|
||||
// Запись из буфера в глобальный буфер
|
||||
$buffer_global[] = $buffer;
|
||||
}
|
||||
}
|
||||
// // Запись из буфера в глобальный буфер
|
||||
// $buffer_global[] = $buffer;
|
||||
// }
|
||||
// }
|
||||
|
||||
$connections = array_merge($connections, $buffer_global);
|
||||
// $connections = array_merge($connections, $buffer_global);
|
||||
|
||||
// if ($changed) goto recursive_connections_filtration;
|
||||
|
||||
|
@ -478,9 +478,9 @@ class Order extends Document implements DocumentInterface
|
|||
} catch (Exception $e) {
|
||||
$connection['delivery']['error'] = true;
|
||||
|
||||
// var_dump($e->getMessage());
|
||||
// var_dump($e->getTrace());
|
||||
// var_dump($e->getFile()); die;
|
||||
var_dump($e->getMessage());
|
||||
var_dump($e->getTrace());
|
||||
var_dump($e->getFile()); die;
|
||||
|
||||
// var_dump(json_decode($e->getMessage(), true)['errors']); die;
|
||||
}
|
||||
|
@ -505,9 +505,9 @@ class Order extends Document implements DocumentInterface
|
|||
} catch (Exception $e) {
|
||||
$connection['delivery']['error'] = true;
|
||||
|
||||
// var_dump($e->getMessage());
|
||||
// var_dump($e->getTrace());
|
||||
// var_dump($e->getFile()); die;
|
||||
var_dump($e->getMessage());
|
||||
var_dump($e->getTrace());
|
||||
var_dump($e->getFile()); die;
|
||||
|
||||
// var_dump(json_decode($e->getMessage(), true)['errors']); die;
|
||||
}
|
||||
|
|
|
@ -441,7 +441,7 @@ class Product extends Document
|
|||
$query = self::find()
|
||||
->for('product')
|
||||
->in('product_search')
|
||||
->search(['catn' => $catn])
|
||||
->filter(['catn' => $catn], 'START_SENSETIVE')
|
||||
->limit($limit)
|
||||
->select($select)
|
||||
->createCommand()
|
||||
|
|
|
@ -113,7 +113,7 @@ use DateTime;
|
|||
}
|
||||
} else {
|
||||
echo <<<HTML
|
||||
<div class="row py-2 cart_list_target">
|
||||
<div class="row py-2">
|
||||
<div class="mx-auto py-2">
|
||||
Корзина пуста
|
||||
</div>
|
||||
|
|
|
@ -10,7 +10,7 @@ $this->title = 'SkillParts';
|
|||
<link href="/css/ticker.css" rel="stylesheet">
|
||||
|
||||
<div id="page_index" class="mb-auto">
|
||||
<section class="info_panel mb-4">
|
||||
<section class="info_panel mb-4 unselectable">
|
||||
<div class="container h-100 d-flex flex-column justify-content-center">
|
||||
<h1 class="mb-4 ml-0 gilroy">Проблема с подбором запчастей?</h1>
|
||||
<p class="ml-0 d-flex">
|
||||
|
@ -23,7 +23,7 @@ $this->title = 'SkillParts';
|
|||
</div>
|
||||
</section>
|
||||
|
||||
<section class="h-100 d-flex ticker">
|
||||
<section class="h-100 d-flex ticker unselectable">
|
||||
<img class="w-auto h-100 mr-3 my-auto" src="/img/logos/h32px/compressed/cummins.png" alt="Cummins">
|
||||
<img class="w-auto h-100 mr-3 my-auto" src="/img/logos/h32px/compressed/iveco.png" alt="Iveco">
|
||||
<img class="w-auto h-100 mr-3 my-auto" src="/img/logos/h32px/compressed/komatsu.png" alt="Komatsu">
|
||||
|
@ -42,20 +42,17 @@ $this->title = 'SkillParts';
|
|||
</section>
|
||||
|
||||
<section class="container mb-4">
|
||||
<!-- <div class="row mb-3">
|
||||
<h4 class="col gilroy categories_blocks_panel_title">Сопутствующие товары</h4>
|
||||
</div> -->
|
||||
<div class="row mb-5 mb-md-0 px-3 px-md-0">
|
||||
<div class="row mb-5 mb-md-0 px-3 px-md-0 unselectable">
|
||||
<div class="col-12 col-md-6 col-lg-4 mb-4 mb-lg-0 py-0 d-flex flex-column">
|
||||
<div class="px-3 px-xl-4 pt-3 d-inline-block category_block_title">
|
||||
<h4 class="m-0">Масла, смазки</h4>
|
||||
</div>
|
||||
<div class="p-3 px-md-4 category_block">
|
||||
<dl class="mb-0">
|
||||
<dd>Масла моторные</dd>
|
||||
<dd>Масла трансмиссионные</dd>
|
||||
<dd>Масла гидравлические</dd>
|
||||
<dd>Смазки</dd>
|
||||
<dd><a onclick="return writeinDevelopment(this);" type="button">Масла моторные</a></dd>
|
||||
<dd><a onclick="return writeinDevelopment(this);" type="button">Масла трансмиссионные</a></dd>
|
||||
<dd><a onclick="return writeinDevelopment(this);" type="button">Масла гидравлические</a></dd>
|
||||
<dd><a onclick="return writeinDevelopment(this);" type="button">Смазки</a></dd>
|
||||
</dl>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -65,7 +62,7 @@ $this->title = 'SkillParts';
|
|||
</div>
|
||||
<div class="p-3 px-md-4 category_block">
|
||||
<dl class="mb-0">
|
||||
<dd>Фары и свет</dd>
|
||||
<dd><a onclick="return writeinDevelopment(this);" type="button">Фары и свет</a></dd>
|
||||
</dl>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -75,9 +72,9 @@ $this->title = 'SkillParts';
|
|||
</div>
|
||||
<div class="p-3 px-md-4 category_block">
|
||||
<dl class="mb-0">
|
||||
<dd>Шприцы для смазки </dd>
|
||||
<dd>Ключи, съёмники</dd>
|
||||
<dd>Наборы инструментов</dd>
|
||||
<dd><a onclick="return writeinDevelopment(this);" type="button">Шприцы для смазки</a></dd>
|
||||
<dd><a onclick="return writeinDevelopment(this);" type="button">Ключи, съёмники</a></dd>
|
||||
<dd><a onclick="return writeinDevelopment(this);" type="button">Наборы инструментов</a></dd>
|
||||
</dl>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -86,3 +83,4 @@ $this->title = 'SkillParts';
|
|||
</div>
|
||||
|
||||
<script src="/js/ticker.js" defer></script>
|
||||
<script src="/js/main.js" defer></script>
|
||||
|
|
|
@ -48,7 +48,7 @@ AppAsset::register($this);
|
|||
|
||||
<div id="notifications_popup_wrap" class="col-3 m-4"></div>
|
||||
|
||||
<header class="container pt-2 mt-1 mb-2 mb-sm-4">
|
||||
<header class="container pt-2 mt-1 mb-2 mb-sm-4 unselectable">
|
||||
<div class="row h-100">
|
||||
<div id="logo" class="col-3 col-md-4 h-100">
|
||||
<a class="py-2 h-100 d-inline-flex" title="SkillParts" href="/" role="button" onclick="return page_main();">
|
||||
|
@ -75,19 +75,11 @@ AppAsset::register($this);
|
|||
<p class="col-10 m-0 p-0">Каталог товаров</p>
|
||||
</button>
|
||||
<div class="dropdown-menu" aria-labelledby="catalog">
|
||||
<a class="dropdown-item" href="#">Action</a>
|
||||
<a class="dropdown-item" href="#">Another action</a>
|
||||
<a class="dropdown-item" href="#">Something else here</a>
|
||||
<a class="dropdown-item" type="button">В разработке</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="searchPanel" class="col">
|
||||
<!-- <input id="catalog_search_panel_button_1" class="btn btn-sm button_clean" type="radio" name="catalog_search_panel_buttons" value="catalog_search_panel_button_1" checked>
|
||||
<label class="mb-0 px-3 px-md-4 py-1" for="catalog_search_panel_button_1">Номер детали</label>
|
||||
<input id="catalog_search_panel_button_2" class="btn btn-sm text-white button_clean" type="radio" name="catalog_search_panel_buttons" value="catalog_search_panel_button_2">
|
||||
<label class="mb-0 px-3 px-md-4 py-1" for="catalog_search_panel_button_2">Вторая кнопка</label>
|
||||
<input id="catalog_search_panel_button_3" class="btn btn-sm5 text-white button_clean" type="radio" name="catalog_search_panel_buttons" value="catalog_search_panel_button_3">
|
||||
<label class="mb-0 px-3 px-md-4 py-1" for="catalog_search_panel_button_3">Третья кнопка</label> -->
|
||||
<form class="d-flex catalog_search" onsubmit="return false;">
|
||||
<div class="position-relative col-sm-8 col-lg-10 px-0">
|
||||
<input id="search_line" type="text" class="form-control col-12 catalog_search_line button_clean" placeholder="Введите номер запчасти, например: 45223503481" oninput="$('#search_line').dropdown('hide'); product_search(this.value);" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" autocomplete="off">
|
||||
|
@ -95,17 +87,11 @@ AppAsset::register($this);
|
|||
// Сделать системные настройки и по ним работать
|
||||
$search_panel = yii::$app->controller->renderPartial('/search/panel', ['history' => true]);
|
||||
|
||||
// if (!yii::$app->user->isGuest && $search_panel = $search_panel ?? yii::$app->controller->renderPartial('/search/panel', ['history' => true])) {
|
||||
echo <<<HTML
|
||||
<div id="search_line_window" class="dropdown-menu w-100" aria-labelledby="search_line">
|
||||
$search_panel
|
||||
</div>
|
||||
HTML;
|
||||
// } else {
|
||||
// echo <<<HTML
|
||||
// <div id="search_line_window" class="dropdown-menu w-100" style="display: none" aria-labelledby="search_line"></div>
|
||||
// HTML;
|
||||
// }
|
||||
?>
|
||||
</div>
|
||||
<button type="submit" class="col btn button_clean catalog_search_button" onclick="product_search(this.parentElement.getElementsByTagName('input')[0].value, 1)">ПОИСК</button>
|
||||
|
@ -121,13 +107,13 @@ AppAsset::register($this);
|
|||
<footer class="container py-4">
|
||||
<div class="row px-3">
|
||||
<div class="col-12 col-md-auto mr-md-5">
|
||||
<h5 class="row mb-2"><b>Контакты</b></h5>
|
||||
<h5 class="row mb-2 unselectable"><b>Контакты</b></h5>
|
||||
<small class="row mb-1"><b>Адрес: </b>Хабаровск, Промышленная 3, 105</small>
|
||||
<small class="row mb-1"><b>Время работы: </b>пн-пт 09:00-18:00</small>
|
||||
<small class="row mb-1"><b>Телефон: </b>+7 (4212) 35-85-34</small>
|
||||
<small class="row mb-1"><b>Почта: </b>info@skillparts.ru</small>
|
||||
</div>
|
||||
<div class="col-md-auto mr-md-5 partnership">
|
||||
<div class="col-md-auto mr-md-5 partnership unselectable">
|
||||
<h5 class="row mb-2"><b>Партнёрство</b></h5>
|
||||
<small class="row mb-1"><a href="/buyers">Покупателям</a></small>
|
||||
<small class="row mb-1"><a href="/suppliers">Поставщикам</a></small>
|
||||
|
|
|
@ -23,11 +23,9 @@ if (
|
|||
<link href="/css/pages/orders.css" rel="stylesheet">
|
||||
|
||||
<div id="page_orders" class="container mb-auto py-3">
|
||||
<?php if (
|
||||
!yii::$app->user->isGuest
|
||||
<?php if ($account_type = (!yii::$app->user->isGuest
|
||||
&& yii::$app->user->identity->type === 'administrator'
|
||||
|| yii::$app->user->identity->type === 'moderator'
|
||||
) : ?>
|
||||
|| yii::$app->user->identity->type === 'moderator')) : ?>
|
||||
<div class="orders_panel_menu mb-2">
|
||||
<label class="btn button_white mb-0 mr-2" for="orders_panel_moderation">Модерация</label>
|
||||
<label class="btn button_white mb-0" for="orders_panel_orders">Мои заказы</label>
|
||||
|
@ -171,7 +169,8 @@ if (
|
|||
|
||||
<input type="radio" id="orders_panel_orders" name="main_panel" <?= $panel === 'orders_panel_orders' ? 'checked' : null ?> />
|
||||
<?php endif ?>
|
||||
<article class="page_order_panel mt-3 py-3 px-4 rounded">
|
||||
|
||||
<article class="page_order_panel mt-3 py-3 px-4 rounded <?= $account_type ?? false ? '' : 'd-block'; ?>">
|
||||
<h4 class="ml-4 mt-2 mb-4"><i class="fas fa-list mr-2"></i>Заказы</h4>
|
||||
<div class="col mb-4 list rounded">
|
||||
<div class="row py-3 text-center">
|
||||
|
|
|
@ -13,9 +13,14 @@
|
|||
}
|
||||
|
||||
a {
|
||||
color: #0b3397;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
a:hover {
|
||||
color: #001752;
|
||||
}
|
||||
|
||||
p {
|
||||
margin: auto;
|
||||
}
|
||||
|
|
|
@ -221,7 +221,7 @@ function registration_start(form, type) {
|
|||
private_policy_label.appendChild(private_policy);
|
||||
private_policy_label.appendChild(private_policy_text_wrap);
|
||||
private_policy_text_wrap.appendChild(private_policy_text);
|
||||
private_policy_text_wrap.appendChild(document.createTextNode(' конфидециальности'));
|
||||
private_policy_text_wrap.appendChild(document.createTextNode(' конфиденциальности'));
|
||||
|
||||
// Инициализация заголовка
|
||||
let title = form.children[1];
|
||||
|
|
|
@ -179,8 +179,8 @@ function cart_cost_calculate() {
|
|||
let costs = 0;
|
||||
|
||||
for ($i = 0; $i < elements.length; $i++) {
|
||||
let cost = elements[$i].getElementsByTagName('div')[5].innerText;
|
||||
let amount = elements[$i].getElementsByTagName('div')[3].children[0].value;
|
||||
let cost = elements[$i].getElementsByTagName('div')[7].innerText;
|
||||
let amount = elements[$i].getElementsByTagName('div')[5].children[0].value;
|
||||
|
||||
costs += +reg.exec(cost)[1] * amount;
|
||||
}
|
||||
|
|
|
@ -0,0 +1,20 @@
|
|||
function writeinDevelopment(target) {
|
||||
// Инициализация буфера
|
||||
let buffer = target.innerText;
|
||||
|
||||
// Запись текста
|
||||
target.innerText = target.innerText + ' (в разработке)';
|
||||
|
||||
// Блокировка от повторного вызова
|
||||
target.setAttribute('onclick', 'return false;');
|
||||
|
||||
setTimeout(function () {
|
||||
// Возврат изначального текста из буфера
|
||||
target.innerText = buffer;
|
||||
|
||||
// Разблокировка
|
||||
target.setAttribute('onclick', 'return writeinDevelopment(this);');
|
||||
}, 3000);
|
||||
|
||||
return false;
|
||||
};
|
Reference in New Issue