Browse Source

[Boutique] Mise en avant des congés sur la page d'accueil et sur le calendrier des commandes

feature/rotating_product
Guillaume Bourgeois 7 months ago
parent
commit
e89bbca669
11 changed files with 250 additions and 116 deletions
  1. +15
    -9
      backend/views/producer/update.php
  2. +30
    -0
      console/migrations/m240514_082906_add_columns_producer_leave_period.php
  3. +1
    -0
      domain/Distribution/Distribution/DistributionSolver.php
  4. +9
    -3
      domain/Producer/Producer/Producer.php
  5. +21
    -1
      producer/controllers/OrderController.php
  6. +22
    -0
      producer/views/layouts/main.php
  7. +1
    -0
      producer/views/order/order.php
  8. +113
    -102
      producer/web/css/screen.css
  9. +26
    -0
      producer/web/js/vuejs/order-order.js
  10. +6
    -0
      producer/web/sass/_layout.scss
  11. +6
    -1
      producer/web/sass/order/_order.scss

+ 15
- 9
backend/views/producer/update.php View File

@@ -141,14 +141,26 @@ $this->addBreadcrumb($this->getTitle());
]); ?>
<?= $form->field($model, 'option_point_sale_wording') ?>

<h4>Groupes utilisateurs</h4>
<?= $form->field($model, 'id_user_group_default')
->dropDownList($userGroupModule->getRepository()->populateUserGroupDropdownList()); ?>
<h4>Congés</h4>
<?= $form->field($model, 'option_leave_period_start')->textInput([
'class' => 'datepicker form-control'
]); ?>
<?= $form->field($model, 'option_leave_period_end')->textInput([
'class' => 'datepicker form-control'
]); ?>
<?= $form->field($model, 'option_leave_period_message_display')
->dropDownList(Dropdown::noYesChoices()); ?>
<?= $form->field($model, 'option_leave_period_message_title')->textInput(); ?>
<?= $form->field($model, 'option_leave_period_message')->textarea(); ?>

<h4>Communication</h4>
<?= $form->field($model, 'option_newsletter_description')
->hint('Description affichée sur la page "Infolettre" de la boutique')
->textarea(); ?>

<h4>Groupes utilisateurs</h4>
<?= $form->field($model, 'id_user_group_default')
->dropDownList($userGroupModule->getRepository()->populateUserGroupDropdownList()); ?>
</div>
</div>

@@ -282,12 +294,6 @@ $this->addBreadcrumb($this->getTitle());
->dropDownList(Dropdown::noYesChoices()); ?>

<h4>Divers</h4>
<?= $form->field($model, 'option_leave_period_start')->textInput([
'class' => 'datepicker form-control'
]); ?>
<?= $form->field($model, 'option_leave_period_end')->textInput([
'class' => 'datepicker form-control'
]); ?>
<?php
$choicesWeeksDistributionsActivatedInAdvanceArray = [null => '--'];
for ($i = 1; $i < 13; $i++) {

+ 30
- 0
console/migrations/m240514_082906_add_columns_producer_leave_period.php View File

@@ -0,0 +1,30 @@
<?php

use yii\db\Migration;
use yii\db\Schema;

/**
* Class m240514_082906_add_columns_producer_leave_period
*/
class m240514_082906_add_columns_producer_leave_period extends Migration
{
/**
* {@inheritdoc}
*/
public function safeUp()
{
$this->addColumn('producer', 'option_leave_period_message_display', Schema::TYPE_BOOLEAN);
$this->addColumn('producer', 'option_leave_period_message_title', Schema::TYPE_STRING);
$this->addColumn('producer', 'option_leave_period_message', Schema::TYPE_TEXT);
}

/**
* {@inheritdoc}
*/
public function safeDown()
{
$this->dropColumn('producer', 'option_leave_period_message_display');
$this->dropColumn('producer', 'option_leave_period_message_title');
$this->dropColumn('producer', 'option_leave_period_message');
}
}

+ 1
- 0
domain/Distribution/Distribution/DistributionSolver.php View File

@@ -3,6 +3,7 @@
namespace domain\Distribution\Distribution;

use domain\PointSale\PointSale\PointSale;
use domain\Producer\Producer\ProducerSolver;
use domain\Product\Product\Product;
use domain\_\AbstractService;
use domain\_\SolverInterface;

+ 9
- 3
domain/Producer/Producer/Producer.php View File

@@ -257,7 +257,9 @@ class Producer extends ActiveRecordCommon
'tiller_redirect_uri',
'tiller_store_id',
'option_main_color',
'option_newsletter_description'
'option_newsletter_description',
'option_leave_period_message_title',
'option_leave_period_message'
],
'string'
],
@@ -300,7 +302,8 @@ class Producer extends ActiveRecordCommon
'option_check_by_default_prevent_user_credit',
'delivery_note_automatic_validation',
'is_new',
'agree_contact_about_software_development'
'agree_contact_about_software_development',
'option_leave_period_message_display'
],
'boolean'
],
@@ -533,7 +536,10 @@ class Producer extends ActiveRecordCommon
'is_new' => 'Nouveau',
'agree_contact_about_software_development' => "J'accepte d'être contacté dans le cadre de l'amélioration du logiciel",
'option_main_color' => 'Couleur principale',
'option_newsletter_description' => 'Description infolettre'
'option_newsletter_description' => 'Description infolettre',
'option_leave_period_message_display' => 'Afficher le message des congés',
'option_leave_period_message_title' => 'Titre du message des congés',
'option_leave_period_message' => 'Message des congés',
];
}


+ 21
- 1
producer/controllers/OrderController.php View File

@@ -626,6 +626,7 @@ class OrderController extends ProducerBaseController
$json['orders'] = $this->ajaxInfosOrders($producer);
$json['user'] = $this->ajaxInfosUser($producer);
$json['points_sale'] = $this->ajaxInfosPointsSale($producer);
$json['leave_period'] = $this->ajaxInfosLeavePeriod($producer);

if ($dateObject && $dateObject->format($format) === $date) {
$distribution = $this-> getDistributionModule()->createDistributionIfNotExist($date);
@@ -645,6 +646,18 @@ class OrderController extends ProducerBaseController
return $json;
}

public function ajaxInfosLeavePeriod(Producer $producer)
{
if($this->getProducerModule()->getSolver()->hasLeavePeriodDefined($producer)) {
return [
'start' => $producer->option_leave_period_start,
'end' => $producer->option_leave_period_end,
];
}

return false;
}

public function ajaxInfosProducer(Producer $producer)
{
return [
@@ -676,7 +689,14 @@ class OrderController extends ProducerBaseController
'params' => [':date' => $dateMini],
'join_with' => ['pointSaleDistribution'],
]);
$distributionsArray = $distributionModule->filterDistributionsByDateDelay($distributionsArray);
$distributionsArray = $distributionModule->getSolver()->filterDistributionsByDateDelay($distributionsArray);

// Filtre par période de congé
foreach ($distributionsArray as $keyDistribution => $distribution) {
if($this->getProducerModule()->getSolver()->isOnLeavePeriod($this->getProducerCurrent(), new DateTime($distribution->date))) {
unset($distributionsArray[$keyDistribution]);
}
}

// Filtre par point de vente
if ($pointSaleCurrent && $producer->option_order_entry_point == Producer::ORDER_ENTRY_POINT_POINT_SALE) {

+ 22
- 0
producer/views/layouts/main.php View File

@@ -318,6 +318,28 @@ $mainColor = $producer->option_main_color ?: '#ee6f42' ;

<section id="content">

<?php
// Message congés
$leavePeriodMessageDisplay = $producerModule->getSolver()->getConfig('option_leave_period_message_display', $producer);
$leavePeriodMessageTitle = $producerModule->getSolver()->getConfig('option_leave_period_message_title', $producer);
$leavePeriodMessage = $producerModule->getSolver()->getConfig('option_leave_period_message', $producer);
if($leavePeriodMessageDisplay && ($leavePeriodMessageTitle || $leavePeriodMessage)): ?>
<div class="alert alert-warning alert-leave-period">
<?php if($leavePeriodMessageTitle): ?>
<h4 class="alert-heading<?php if(!$leavePeriodMessage): ?> without-message<?php endif; ?>">
<i class="bi bi-calendar-range"></i>
<?= $leavePeriodMessageTitle ?>
</h4>
<?php endif; ?>
<?php if($leavePeriodMessage): ?>
<p>
<?php if(!$leavePeriodMessageTitle): ?><i class="bi bi-calendar-range"></i><?php endif; ?>
<?= nl2br(Html::encode($leavePeriodMessage)) ?>
</p>
<?php endif; ?>
</div>
<?php endif; ?>

<?php if (strlen($this->getTitle())): ?>
<h2 id="page-title">
<?= $this->getTitle(); ?>

+ 1
- 0
producer/views/order/order.php View File

@@ -162,6 +162,7 @@ $this->setTitle('Commander');
<div id="legend">
<div><span id="distribution-date-color"></span> Prochains jours de distribution</div>
<div><span id="order-date-color"></span> Vos commandes déjà enregistrées</div>
<div><span id="leave-period-date-color"></span> Congés</div>
</div>
<div id="calendar">
<v-calendar

+ 113
- 102
producer/web/css/screen.css View File

@@ -180,13 +180,18 @@ ul.pagination li.prev a, ul.pagination li.next a {
display: none;
}

/* line 147, ../sass/_layout.scss */
/* line 148, ../sass/_layout.scss */
#main #content .alert-leave-period h4.alert-heading.without-message {
margin-bottom: 0px;
}

/* line 153, ../sass/_layout.scss */
#header {
text-align: center;
padding: 0px;
position: relative;
}
/* line 153, ../sass/_layout.scss */
/* line 159, ../sass/_layout.scss */
#header #logo {
position: absolute;
top: 90px;
@@ -201,7 +206,7 @@ ul.pagination li.prev a, ul.pagination li.next a {
text-align: center;
overflow: hidden;
}
/* line 165, ../sass/_layout.scss */
/* line 171, ../sass/_layout.scss */
#header #logo img {
position: absolute;
top: 50%;
@@ -210,55 +215,55 @@ ul.pagination li.prev a, ul.pagination li.next a {
max-width: 160px;
max-height: 160px;
}
/* line 175, ../sass/_layout.scss */
/* line 181, ../sass/_layout.scss */
#header.without-logo #title {
padding-left: 30px;
}
/* line 179, ../sass/_layout.scss */
/* line 185, ../sass/_layout.scss */
#header #title {
text-align: left;
padding-left: 246px;
padding-top: 20px;
padding-bottom: 20px;
}
/* line 185, ../sass/_layout.scss */
/* line 191, ../sass/_layout.scss */
#header #title h1 {
font-family: 'worksans_extrabold';
font-size: 2.2rem;
margin-bottom: 2px;
}
/* line 190, ../sass/_layout.scss */
/* line 196, ../sass/_layout.scss */
#header #title h1 a.producer-name {
text-decoration: none;
color: #ee6f42;
}
/* line 195, ../sass/_layout.scss */
/* line 201, ../sass/_layout.scss */
#header #title h1 .bookmark {
color: #b7ab9b;
font-size: 0.7em;
}
/* line 201, ../sass/_layout.scss */
/* line 207, ../sass/_layout.scss */
#header #title h2 {
font-family: 'worksans_regular';
text-transform: uppercase;
font-size: 1.1rem;
}
/* line 206, ../sass/_layout.scss */
/* line 212, ../sass/_layout.scss */
#header #title h2 .location {
text-transform: none;
font-family: 'worksans_bold';
}
/* line 210, ../sass/_layout.scss */
/* line 216, ../sass/_layout.scss */
#header #title h2 .location .bi {
position: relative;
left: 1px;
}
/* line 218, ../sass/_layout.scss */
/* line 224, ../sass/_layout.scss */
#header nav#main-nav {
background-color: #ece4d8;
margin-top: 0px;
}
/* line 224, ../sass/_layout.scss */
/* line 230, ../sass/_layout.scss */
#header nav#main-nav ul li a {
display: inline-block;
padding: 8px 12px;
@@ -269,11 +274,11 @@ ul.pagination li.prev a, ul.pagination li.next a {
-webkit-box-shadow: -20px 0px 20px 0px #ece4d8 inset;
box-shadow: -20px 0px 20px 0px #ece4d8 inset;
}
/* line 232, ../sass/_layout.scss */
/* line 238, ../sass/_layout.scss */
#header nav#main-nav ul li a .bi {
margin-right: 3px;
}
/* line 236, ../sass/_layout.scss */
/* line 242, ../sass/_layout.scss */
#header nav#main-nav ul li a span.label {
display: inline-block;
position: relative;
@@ -291,11 +296,11 @@ ul.pagination li.prev a, ul.pagination li.next a {
text-transform: uppercase;
border: solid 1px transparent;
}
/* line 252, ../sass/_layout.scss */
/* line 258, ../sass/_layout.scss */
#header nav#main-nav ul li a .hide-desktop {
display: none;
}
/* line 257, ../sass/_layout.scss */
/* line 263, ../sass/_layout.scss */
#header nav#main-nav ul li a.active,
#header nav#main-nav ul li a:hover {
color: white;
@@ -303,16 +308,16 @@ ul.pagination li.prev a, ul.pagination li.next a {
-webkit-box-shadow: none;
box-shadow: none;
}
/* line 262, ../sass/_layout.scss */
/* line 268, ../sass/_layout.scss */
#header nav#main-nav ul li a.active span.label-success,
#header nav#main-nav ul li a:hover span.label-success {
border: solid 1px white !important;
}
/* line 268, ../sass/_layout.scss */
/* line 274, ../sass/_layout.scss */
#header nav#main-nav ul.submenu {
background-color: white;
}
/* line 272, ../sass/_layout.scss */
/* line 278, ../sass/_layout.scss */
#header nav#main-nav ul.submenu li a {
background-color: white;
font-size: 0.9em;
@@ -321,34 +326,34 @@ ul.pagination li.prev a, ul.pagination li.next a {
box-shadow: none;
border-bottom: solid 2px #f4efe8;
}
/* line 278, ../sass/_layout.scss */
/* line 284, ../sass/_layout.scss */
#header nav#main-nav ul.submenu li a span.label {
background-color: white;
border: solid 1px #b7ab9b;
color: #b7ab9b;
}
/* line 285, ../sass/_layout.scss */
/* line 291, ../sass/_layout.scss */
#header nav#main-nav ul.submenu li a.active,
#header nav#main-nav ul.submenu li a:hover {
color: black;
background-color: white;
border-bottom: solid 2px #b7ab9b !important;
}
/* line 295, ../sass/_layout.scss */
/* line 301, ../sass/_layout.scss */
#header nav#main-nav #user {
color: #ee6f42;
float: right;
padding: 10px;
}

/* line 303, ../sass/_layout.scss */
/* line 309, ../sass/_layout.scss */
#main {
padding: 0px;
padding-top: 38px;
margin-bottom: 30px;
background-color: white;
}
/* line 309, ../sass/_layout.scss */
/* line 315, ../sass/_layout.scss */
#main #banner {
height: 180px;
overflow: hidden;
@@ -356,7 +361,7 @@ ul.pagination li.prev a, ul.pagination li.next a {
background-size: cover;
background-position: center;
}
/* line 317, ../sass/_layout.scss */
/* line 323, ../sass/_layout.scss */
#main #infos-producer {
display: none;
padding: 5px 10px;
@@ -366,116 +371,116 @@ ul.pagination li.prev a, ul.pagination li.next a {
border-bottom: solid 1px #e0e0e0;
color: gray;
}
/* line 326, ../sass/_layout.scss */
/* line 332, ../sass/_layout.scss */
#main #infos-producer strong {
font-weight: bold;
}
/* line 330, ../sass/_layout.scss */
/* line 336, ../sass/_layout.scss */
#main #infos-producer .favorite {
float: right;
color: gray;
}
/* line 333, ../sass/_layout.scss */
/* line 339, ../sass/_layout.scss */
#main #infos-producer .favorite a {
color: black;
}
/* line 339, ../sass/_layout.scss */
/* line 345, ../sass/_layout.scss */
#main h2#page-title {
margin-top: 0px;
font-family: "worksans_bold";
font-size: 30px;
line-height: 40px;
}
/* line 350, ../sass/_layout.scss */
/* line 356, ../sass/_layout.scss */
#main #content {
padding: 40px;
min-height: 300px;
}
/* line 354, ../sass/_layout.scss */
/* line 360, ../sass/_layout.scss */
#main #content h1, #main #content h2, #main #content h3, #main #content h4, #main #content h5, #main #content h6 {
font-family: "worksans_bold";
margin-bottom: 20px;
color: black;
}
/* line 359, ../sass/_layout.scss */
/* line 365, ../sass/_layout.scss */
#main #content h1.first, #main #content h2.first, #main #content h3.first, #main #content h4.first, #main #content h5.first, #main #content h6.first {
margin-top: 0px;
}
/* line 364, ../sass/_layout.scss */
/* line 370, ../sass/_layout.scss */
#main #content h1 {
font-size: 30px;
}
/* line 368, ../sass/_layout.scss */
/* line 374, ../sass/_layout.scss */
#main #content h2 {
font-size: 25px;
}
/* line 372, ../sass/_layout.scss */
/* line 378, ../sass/_layout.scss */
#main #content h3 {
font-size: 1.4em;
text-align: left;
margin-bottom: 30px;
}
/* line 377, ../sass/_layout.scss */
/* line 383, ../sass/_layout.scss */
#main #content h3 span {
padding-top: 14px;
color: black;
}
/* line 383, ../sass/_layout.scss */
/* line 389, ../sass/_layout.scss */
#main #content h4 {
font-size: 20px;
}
/* line 387, ../sass/_layout.scss */
/* line 393, ../sass/_layout.scss */
#main #content h5 {
font-size: 18px;
}
/* line 391, ../sass/_layout.scss */
/* line 397, ../sass/_layout.scss */
#main #content h6 {
font-size: 16px;
}
/* line 397, ../sass/_layout.scss */
/* line 403, ../sass/_layout.scss */
#main #content form .form-group .hint-block {
color: gray;
}

/* line 405, ../sass/_layout.scss */
/* line 411, ../sass/_layout.scss */
#footer-producer {
margin-bottom: 30px;
text-align: center;
width: 100%;
}
/* line 410, ../sass/_layout.scss */
/* line 416, ../sass/_layout.scss */
#footer-producer a {
color: #ee6f42;
}
/* line 412, ../sass/_layout.scss */
/* line 418, ../sass/_layout.scss */
#footer-producer a:active {
text-decoration: underline;
}

/* line 418, ../sass/_layout.scss */
/* line 424, ../sass/_layout.scss */
#footer {
display: none;
height: 100px;
float: right;
text-align: center;
}
/* line 424, ../sass/_layout.scss */
/* line 430, ../sass/_layout.scss */
#footer .content {
padding-top: 20px;
color: black;
}
/* line 428, ../sass/_layout.scss */
/* line 434, ../sass/_layout.scss */
#footer .content a {
color: black;
font-size: 18px;
padding-left: 10px;
padding-right: 10px;
}
/* line 434, ../sass/_layout.scss */
/* line 440, ../sass/_layout.scss */
#footer .content a:hover {
text-decoration: underline;
}
/* line 441, ../sass/_layout.scss */
/* line 447, ../sass/_layout.scss */
#footer #code-source img {
height: 20px;
}
@@ -1336,127 +1341,133 @@ termes.
}
/* line 136, ../sass/order/_order.scss */
.order-order #main #app-order-order #legend #order-date-color,
.order-order #main #app-order-order #legend #distribution-date-color {
.order-order #main #app-order-order #legend #distribution-date-color,
.order-order #main #app-order-order #legend #leave-period-date-color {
width: 13px;
height: 13px;
display: inline-block;
}
/* line 143, ../sass/order/_order.scss */
/* line 144, ../sass/order/_order.scss */
.order-order #main #app-order-order #legend #order-date-color {
background-color: #198754;
border: solid 2px #198754;
}
/* line 147, ../sass/order/_order.scss */
/* line 148, ../sass/order/_order.scss */
.order-order #main #app-order-order #legend #distribution-date-color {
background-color: white;
border: solid 2px #198754;
}
/* line 153, ../sass/order/_order.scss */
/* line 152, ../sass/order/_order.scss */
.order-order #main #app-order-order #legend #leave-period-date-color {
background-color: #E09F3E;
border: solid 2px #E09F3E;
}
/* line 158, ../sass/order/_order.scss */
.order-order #main #app-order-order #calendar {
margin-bottom: 15px;
}
/* line 155, ../sass/order/_order.scss */
/* line 160, ../sass/order/_order.scss */
.order-order #main #app-order-order #calendar .c-header .c-title-layout .c-title-popover .c-title-anchor .c-title[data-v-2083cb72] {
font-size: 2rem;
}
/* line 158, ../sass/order/_order.scss */
/* line 163, ../sass/order/_order.scss */
.order-order #main #app-order-order #calendar .c-day-background {
padding: 20px;
}
/* line 163, ../sass/order/_order.scss */
/* line 168, ../sass/order/_order.scss */
.order-order #main #app-order-order #calendar .c-day:hover .c-day-background {
background-color: #ee6f42 !important;
color: white !important;
}
/* line 169, ../sass/order/_order.scss */
/* line 174, ../sass/order/_order.scss */
.order-order #main #app-order-order #calendar .c-day-popover-content {
font-size: 1.3rem;
}
/* line 177, ../sass/order/_order.scss */
/* line 182, ../sass/order/_order.scss */
.order-order #main #app-order-order #credit-online-payment .panel .panel-heading .btn-default {
float: right;
position: relative;
top: -5px;
}
/* line 188, ../sass/order/_order.scss */
/* line 193, ../sass/order/_order.scss */
.order-order #main #app-order-order #content-step-date #distributions-list .card {
margin-bottom: 20px;
}
/* line 191, ../sass/order/_order.scss */
/* line 196, ../sass/order/_order.scss */
.order-order #main #app-order-order #content-step-date #distributions-list .card .btn-primary {
float: right;
}
/* line 195, ../sass/order/_order.scss */
/* line 200, ../sass/order/_order.scss */
.order-order #main #app-order-order #content-step-date #distributions-list .card .date {
font-size: 1.2rem;
line-height: 1.4rem;
text-transform: uppercase;
font-family: 'worksans_semibold';
}
/* line 202, ../sass/order/_order.scss */
/* line 207, ../sass/order/_order.scss */
.order-order #main #app-order-order #content-step-date #distributions-list .card .point-sales {
color: gray;
font-size: 14px;
margin-top: 8px;
}
/* line 211, ../sass/order/_order.scss */
/* line 216, ../sass/order/_order.scss */
.order-order #main #app-order-order .block-actions {
text-align: center;
margin-top: 40px;
}
/* line 218, ../sass/order/_order.scss */
/* line 223, ../sass/order/_order.scss */
.order-order #main #app-order-order table#points-sale td.name .the-name {
color: black;
font-size: 1.2em;
line-height: 1.4em;
font-family: 'worksans_semibold';
}
/* line 225, ../sass/order/_order.scss */
/* line 230, ../sass/order/_order.scss */
.order-order #main #app-order-order table#points-sale td.name .locality {
display: none;
}
/* line 229, ../sass/order/_order.scss */
/* line 234, ../sass/order/_order.scss */
.order-order #main #app-order-order table#points-sale td.name .comment,
.order-order #main #app-order-order table#points-sale td.name .minimum-order-amount {
color: gray;
}
/* line 233, ../sass/order/_order.scss */
/* line 238, ../sass/order/_order.scss */
.order-order #main #app-order-order table#points-sale td.name .comment a,
.order-order #main #app-order-order table#points-sale td.name .minimum-order-amount a {
color: #ee6f42;
}
/* line 239, ../sass/order/_order.scss */
/* line 244, ../sass/order/_order.scss */
.order-order #main #app-order-order table#points-sale td.actions {
width: 150px;
}
/* line 241, ../sass/order/_order.scss */
/* line 246, ../sass/order/_order.scss */
.order-order #main #app-order-order table#points-sale td.actions button {
width: 100%;
}
/* line 253, ../sass/order/_order.scss */
/* line 258, ../sass/order/_order.scss */
.order-order #main #app-order-order table#products {
margin-bottom: 40px;
border-top: solid 1px #b7ab9b;
border-left: solid 1px #b7ab9b;
border-right: solid 1px #b7ab9b;
}
/* line 259, ../sass/order/_order.scss */
/* line 264, ../sass/order/_order.scss */
.order-order #main #app-order-order table#products thead {
display: none;
}
/* line 263, ../sass/order/_order.scss */
/* line 268, ../sass/order/_order.scss */
.order-order #main #app-order-order table#products td {
border-bottom: solid 1px #b7ab9b;
border-left: 0px none;
border-right: 0px none;
}
/* line 271, ../sass/order/_order.scss */
/* line 276, ../sass/order/_order.scss */
.order-order #main #app-order-order table#products tr.category-closed:hover td.category-name,
.order-order #main #app-order-order table#products tr.category-open td.category-name {
padding-left: 30px;
background-color: #f4efe8;
}
/* line 278, ../sass/order/_order.scss */
/* line 283, ../sass/order/_order.scss */
.order-order #main #app-order-order table#products td.category-name {
transition: all 0.1s linear;
background-color: #f4efe8;
@@ -1468,12 +1479,12 @@ termes.
padding-top: 13px;
padding-left: 20px;
}
/* line 289, ../sass/order/_order.scss */
/* line 294, ../sass/order/_order.scss */
.order-order #main #app-order-order table#products td.category-name .bi-caret-down-fill,
.order-order #main #app-order-order table#products td.category-name .bi-caret-right-fill {
font-size: 15px;
}
/* line 294, ../sass/order/_order.scss */
/* line 299, ../sass/order/_order.scss */
.order-order #main #app-order-order table#products td.category-name span.badge {
font-family: "worksans_bold";
text-transform: uppercase;
@@ -1482,21 +1493,21 @@ termes.
position: relative;
top: -3px;
}
/* line 302, ../sass/order/_order.scss */
/* line 307, ../sass/order/_order.scss */
.order-order #main #app-order-order table#products td.category-name span.badge.bg-primary {
float: right;
top: 2px;
}
/* line 308, ../sass/order/_order.scss */
/* line 313, ../sass/order/_order.scss */
.order-order #main #app-order-order table#products td.category-name:hover {
cursor: pointer;
background-color: white;
}
/* line 315, ../sass/order/_order.scss */
/* line 320, ../sass/order/_order.scss */
.order-order #main #app-order-order table#products td.photo img {
width: 75px;
}
/* line 325, ../sass/order/_order.scss */
/* line 330, ../sass/order/_order.scss */
.order-order #main #app-order-order table#products .price-unit .decreasing-prices {
margin-top: 10px;
font-size: 10px;
@@ -1504,74 +1515,74 @@ termes.
padding-bottom: 2px;
margin-bottom: 0px;
}
/* line 333, ../sass/order/_order.scss */
/* line 338, ../sass/order/_order.scss */
.order-order #main #app-order-order table#products .price-unit .decreasing-prices ul li {
margin-bottom: 5px;
}
/* line 335, ../sass/order/_order.scss */
/* line 340, ../sass/order/_order.scss */
.order-order #main #app-order-order table#products .price-unit .decreasing-prices ul li strong {
font-weight: bold;
}
/* line 343, ../sass/order/_order.scss */
/* line 348, ../sass/order/_order.scss */
.order-order #main #app-order-order table#products .price-unit, .order-order #main #app-order-order table#products .price-total {
width: 135px;
text-align: center;
}
/* line 347, ../sass/order/_order.scss */
/* line 352, ../sass/order/_order.scss */
.order-order #main #app-order-order table#products .price-unit .price-infos, .order-order #main #app-order-order table#products .price-total .price-infos {
color: gray;
font-size: 13px;
line-height: 15px;
}
/* line 354, ../sass/order/_order.scss */
/* line 359, ../sass/order/_order.scss */
.order-order #main #app-order-order table#products tr.product-open td.price-total {
font-size: 1.1rem;
font-family: 'worksans_bold';
padding-top: 19px;
}
/* line 360, ../sass/order/_order.scss */
/* line 365, ../sass/order/_order.scss */
.order-order #main #app-order-order table#products .td-quantity {
width: 175px;
}
/* line 363, ../sass/order/_order.scss */
/* line 368, ../sass/order/_order.scss */
.order-order #main #app-order-order table#products .td-quantity input.quantity,
.order-order #main #app-order-order table#products .td-quantity .input-group-text {
background-color: white;
}
/* line 368, ../sass/order/_order.scss */
/* line 373, ../sass/order/_order.scss */
.order-order #main #app-order-order table#products .td-quantity input.quantity {
text-align: center;
border: 0px none;
}
/* line 372, ../sass/order/_order.scss */
/* line 377, ../sass/order/_order.scss */
.order-order #main #app-order-order table#products .td-quantity .input-group-text {
border: 0px none;
padding-right: 10px;
padding-left: 0px;
margin: 0px;
}
/* line 380, ../sass/order/_order.scss */
/* line 385, ../sass/order/_order.scss */
.order-order #main #app-order-order table#products .td-quantity .input-group-btn button {
padding: 4px 5px 0px 5px;
}
/* line 382, ../sass/order/_order.scss */
/* line 387, ../sass/order/_order.scss */
.order-order #main #app-order-order table#products .td-quantity .input-group-btn button .bi {
font-size: 1.5em;
font-weight: bold;
margin: 0px;
}
/* line 393, ../sass/order/_order.scss */
/* line 398, ../sass/order/_order.scss */
.order-order #main #app-order-order table#products tr.total .summary {
padding: 25px;
}
/* line 396, ../sass/order/_order.scss */
/* line 401, ../sass/order/_order.scss */
.order-order #main #app-order-order table#products tr.total .summary h3 {
font-family: 'worksans_bold';
margin-top: 0px;
text-transform: uppercase;
margin-bottom: 5px;
}
/* line 403, ../sass/order/_order.scss */
/* line 408, ../sass/order/_order.scss */
.order-order #main #app-order-order table#products tr.total .summary ul {
margin-bottom: 15px;
padding-left: 20px;
@@ -1579,17 +1590,17 @@ termes.
line-height: 1.4rem;
list-style-type: disc;
}
/* line 411, ../sass/order/_order.scss */
/* line 416, ../sass/order/_order.scss */
.order-order #main #app-order-order table#products tr.total .summary ul li .quantity {
font-weight: bold;
}
/* line 418, ../sass/order/_order.scss */
/* line 423, ../sass/order/_order.scss */
.order-order #main #app-order-order table#products tr.total .price-total {
padding-top: 25px;
font-size: 1.5rem;
font-family: 'worksans_bold';
}
/* line 423, ../sass/order/_order.scss */
/* line 428, ../sass/order/_order.scss */
.order-order #main #app-order-order table#products tr.total .price-total span {
display: inline-block;
padding: 7px 15px;
@@ -1599,26 +1610,26 @@ termes.
color: white;
font-size: 1.2rem;
}
/* line 435, ../sass/order/_order.scss */
/* line 440, ../sass/order/_order.scss */
.order-order #main #app-order-order #payment-methods .infos {
margin-top: 10px;
color: gray;
}
/* line 442, ../sass/order/_order.scss */
/* line 447, ../sass/order/_order.scss */
.order-order #main #app-order-order #content-step-payment .delivery {
margin-bottom: 20px;
}
/* line 446, ../sass/order/_order.scss */
/* line 451, ../sass/order/_order.scss */
.order-order #main #app-order-order #content-step-payment .comment {
margin-bottom: 20px;
}
/* line 451, ../sass/order/_order.scss */
/* line 456, ../sass/order/_order.scss */
.order-order #main #app-order-order #content-step-payment .credit .info {
margin-left: 20px;
color: gray;
}

/* line 464, ../sass/order/_order.scss */
/* line 469, ../sass/order/_order.scss */
#main #content .panel h3 {
font-family: "worksans_bold";
margin: 0px;

+ 26
- 0
producer/web/js/vuejs/order-order.js View File

@@ -172,6 +172,32 @@ var app = new Vue({
}
}

if(response.data.leave_period) {
leavePeriodStartDateArray = response.data.leave_period.start.split('-');
leavePeriodEndDateArray = response.data.leave_period.end.split('-');

app.calendar.attrs.push({
highlight: {
style: {
background: '#E09F3E'
},
contentStyle: {
color: 'white'
}
},
dates: {
start: new Date(leavePeriodStartDateArray[0], leavePeriodStartDateArray[1] - 1, leavePeriodStartDateArray[2]),
end: new Date(leavePeriodEndDateArray[0], leavePeriodEndDateArray[1] - 1, leavePeriodEndDateArray[2])
},
popover: {
label: 'En congé',
hideIndicator: true,
isInteractive: true
},
});
}


if (response.data.distribution) {
app.distribution = response.data.distribution;
}

+ 6
- 0
producer/web/sass/_layout.scss View File

@@ -144,6 +144,12 @@ ul.pagination {
}
}

#main #content .alert-leave-period {
h4.alert-heading.without-message {
margin-bottom: 0px;
}
}

#header {
text-align: center ;
padding: 0px ;

+ 6
- 1
producer/web/sass/order/_order.scss View File

@@ -134,7 +134,8 @@
#legend {
#order-date-color,
#distribution-date-color {
#distribution-date-color,
#leave-period-date-color {
width: 13px ;
height: 13px ;
display: inline-block ;
@@ -148,6 +149,10 @@
background-color: white;
border: solid 2px #198754;
}
#leave-period-date-color {
background-color: #E09F3E;
border: solid 2px #E09F3E;
}
}
#calendar {

Loading…
Cancel
Save