瀏覽代碼

Intégration Souke

feature/souke
Guillaume Bourgeois 7 月之前
父節點
當前提交
8c95cd6196
共有 9 個檔案被更改,包括 368 行新增257 行删除
  1. +1
    -1
      backend/views/point-sale/index.php
  2. +10
    -2
      producer/views/layouts/main.php
  3. +120
    -93
      producer/views/order/order.php
  4. +162
    -126
      producer/web/css/screen.css
  5. +1
    -0
      producer/web/js/vuejs/order-order.js
  6. +4
    -3
      producer/web/sass/_layout.scss
  7. +1
    -1
      producer/web/sass/_responsive.scss
  8. +67
    -30
      producer/web/sass/order/_order.scss
  9. +2
    -1
      producer/web/sass/site/_points_sale.scss

+ 1
- 1
backend/views/point-sale/index.php 查看文件

@@ -136,7 +136,7 @@ $this->addButton(
],
[
'attribute' => 'credit',
'label' => 'Crédit',
'label' => 'Cagnotte',
'format' => 'raw',
'headerOptions' => ['class' => 'column-hide-on-mobile'],
'filterOptions' => ['class' => 'column-hide-on-mobile'],

+ 10
- 2
producer/views/layouts/main.php 查看文件

@@ -91,7 +91,7 @@ $mainColor = $producer->option_main_color ?: '#ee6f42' ;
.credit-history #credit-user,
.credit-history #content .table span.payment-positive,
.order-order #main #app-order-order #steps ul li .info-step,
.block-date .month {
.block-date .month{
color: <?= $mainColor ?>
}
#header nav#main-nav ul a.active,
@@ -99,9 +99,13 @@ $mainColor = $producer->option_main_color ?: '#ee6f42' ;
#header nav#main-nav ul li a span.label-success,
#main .btn-primary,
.order-order #main #app-order-order #steps ul li .btn.btn-primary,
ul.pagination li.active a, ul.pagination li a:hover, ul.pagination li a:focus, ul.pagination li a:active {
ul.pagination li.active a, ul.pagination li a:hover, ul.pagination li a:focus, ul.pagination li a:active,
.order-order #main #app-order-order table#products tr.total .price-total span {
background-color: <?= $mainColor ?>;
}
#main .badge.bg-primary {
background-color: <?= $mainColor ?> !important;
}
#header nav#main-nav {
border-top: solid 5px <?= $mainColor ?>;
}
@@ -115,6 +119,10 @@ $mainColor = $producer->option_main_color ?: '#ee6f42' ;
#header nav#main-nav ul li a span.label.label-success {
border: solid 1px <?= $mainColor ?>;
}
.order-order #main #app-order-order table#products tr.category-open td.category-name,
.order-order #main #app-order-order table#products tr.category-closed td.category-name:hover{
border-color: <?= $mainColor ?>;
}
</style>
</head>
<body class="<?= \Yii::$app->controller->id . '-' . \Yii::$app->controller->action->id ?>">

+ 120
- 93
producer/views/order/order.php 查看文件

@@ -115,7 +115,7 @@ $this->setTitle('Commander');

<li id="step-products" :class="'col-md-4 '+((step == 'products') ? 'active ' : '')">
<button @click="changeStep('products')"
:class="'btn '+ (step == 'products' ? 'btn-primary' : 'btn-default')"
:class="'btn '+ (step == 'products' ? 'btn-primary' : 'btn-secondary')"
:disabled="step == 'date' || step == 'point-sale'">
<span class="button-content"><span
class="glyphicon glyphicon-th-list"></span> Produits</span>
@@ -126,7 +126,7 @@ $this->setTitle('Commander');
</li>
<!--<li id="step-payment" :class="'col-md-3 '+((step == 'payment') ? 'active' : '')">
<button @click="changeStep('payment')"
:class="'btn '+ (step == 'payment' ? 'btn-primary' : 'btn-default')"
:class="'btn '+ (step == 'payment' ? 'btn-primary' : 'btn-secondary')"
:disabled="step == 'date' || step == 'point-sale' || step == 'products'">
<span class="button-content"><span
class="glyphicon glyphicon-ok"></span> Confirmation</span>
@@ -192,8 +192,8 @@ $this->setTitle('Commander');
], []);
?>

<div class="panel panel-default">
<div class="panel-body">
<div class="card card-default">
<div class="card-body">
<button class="btn btn-primary" @click="dayClickList"
data-distribution-date="<?= $distribution->date . ' 00:00:00' ?>">
Sélectionner cette distribution
@@ -264,18 +264,20 @@ $this->setTitle('Commander');
</template>
<template v-else>
<div :class="'form-group' + (pointSale.invalid_code ? ' has-error' : '')">
<div class="input-group"
v-if="pointSale.code && pointSale.code.length > 0">
<span class="input-group-addon"><span
class="glyphicon glyphicon-lock"></span></span>
<input v-model="pointsSaleCodes[pointSale.id]" type="password"
placeholder="Code" class="form-control input-code"/>
</div>
<form>
<div class="input-group"
v-if="pointSale.code && pointSale.code.length > 0">
<span class="input-group-text">
<i class="bi bi-lock"></i>
</span>
<input v-model="pointsSaleCodes[pointSale.id]" type="password"
placeholder="Code" class="form-control input-code" />
</div>
</form>
</div>

<div v-if="!user && producer.credit == 1 && pointSale.credit == 1">
<a :href="urlLogin" class="btn btn-default">
<span class="glyphicon glyphicon-log-in"></span>
<a :href="urlLogin" class="btn btn-secondary">
<i class="bi bi-box-arrow-in-right"></i>
Connexion obligatoire
</a>
</div>
@@ -283,7 +285,7 @@ $this->setTitle('Commander');
<button class="btn btn-primary" @click="pointSaleClick"
:data-code="pointSale.code && pointSale.code.length > 0"
:data-id-point-sale="pointSale.id">
<span class="glyphicon glyphicon-map-marker"></span>
<i class="bi bi-geo-alt"></i>
Choisir
</button>
</div>
@@ -314,23 +316,23 @@ $this->setTitle('Commander');
</thead>
<tbody>
<template v-for="category in categories">
<tr v-if="category.id && countProductsByCategory(category)">
<tr v-if="category.id && countProductsByCategory(category)" :id="'category'+category.id" :class="(categoryCurrent && categoryCurrent.id == category.id) ? 'category-open' : 'category-closed'">
<td class="category-name" colspan="5" @click="setCategoryCurrent(category)">
<span v-if="categoryCurrent && categoryCurrent.id == category.id"
class="glyphicon glyphicon-triangle-bottom"></span>
<span v-else class="glyphicon glyphicon-triangle-right"></span>
<!--<span v-if="categoryCurrent && categoryCurrent.id == category.id"
class="bi bi-caret-down-fill"></span>
<span v-else class="bi bi-caret-right-fill"></span>-->
{{ category.name }}
<span class="label label-default">{{ countProductsByCategory(category) }} produit<template
v-if="countProductsByCategory(category) > 1">s</template></span>
<span class="badge bg-secondary">{{ countProductsByCategory(category) }}<!-- produit<template
v-if="countProductsByCategory(category) > 1">s</template>--></span>
<span v-if="countSelectedProductsByCategory(category) > 0"
class="label label-success">{{ countSelectedProductsByCategory(category) }} produit<template
v-if="countSelectedProductsByCategory(category) > 1">s</template> sélectionné<template
class="badge bg-primary">{{ countSelectedProductsByCategory(category) }}<!-- produit<template
v-if="countSelectedProductsByCategory(category) > 1">s</template>--> sélectionné<template
v-if="countSelectedProductsByCategory(category) > 1">s</template></span>
</td>
</tr>
<template v-if="(categoryCurrent && categoryCurrent.id == category.id) || category.id == null">
<tr v-for="product in products"
v-if="product.id_product_category == category.id && isProductAvailable(product)">
v-if="product.id_product_category == category.id && isProductAvailable(product)" class="product-open">
<td class="photo">
<a class="product-photo" :href="product.photo_big" :title="product.name">
<img v-if="product.photo.length" class="photo-product" :src="product.photo"/>
@@ -343,7 +345,7 @@ $this->setTitle('Commander');
</span>
<div>
<span v-if="product.quantity_max > 0 && ((product.quantity_form / product.coefficient_unit == product.quantity_remaining) || ((product.quantity_remaining * product.coefficient_unit) - product.quantity_form) < product.step)"
class="label label-danger">Épuisé</span>
class="badge bg-danger">Épuisé</span>
</div>
<div class="description" v-if="product.description.length">
{{ product.description }}
@@ -420,10 +422,10 @@ $this->setTitle('Commander');
<tr class="total">
<td class="summary" colspan="4">
<template v-if="priceTotal() > 0">
<h3>&gt; Résumé</h3>
<h3>Résumé</h3>
<ul>
<li v-for="product in products" v-if="product.quantity_form > 0">
<span class="quantity">{{ product.quantity_form }} {{ product.unit == 'piece' ? 'p.' : product.unit }} x</span>
<span class="quantity">{{ product.quantity_form }} {{ product.unit == 'piece' ? 'p.' : product.unit }}</span>
<span class="name">{{ product.name }}</span>
<!--<span class="other">
<span v-if="product.description.length">/</span>
@@ -435,7 +437,9 @@ $this->setTitle('Commander');
</ul>
</template>
</td>
<td class="price-total">{{ priceTotal(true) }}</td>
<td class="price-total">
<span>{{ priceTotal(true) }}</span>
</td>
</tr>
</tbody>
</table>
@@ -450,9 +454,20 @@ $this->setTitle('Commander');
</div>
</div>

<div class="comment">
<label for="order-comment">Commentaire</label>
<textarea id="order-comment" v-model="comment" class="form-control"></textarea>
<div class="card comment">
<div class="card-body">
<h5 class="card-title">
<label for="order-comment">
<i class="bi bi-chat-left"></i>
Commentaire
</label>
</h5>
<div class="card-text">
<form>
<textarea id="order-comment" v-model="comment" class="form-control" placeholder="Tappez ici votre commentaire ..."></textarea>
</form>
</div>
</div>
</div>

<template
@@ -464,7 +479,7 @@ $this->setTitle('Commander');
votre crédit</a></template>
<template v-else>recharger votre crédit</template>
auprès de votre producteur ou supprimer des produits.</span>
Votre producteur n'autorise pas un crédit inférieur
Votre producteur n'autorise pas une cagnotte avec un montant inférieur
à <strong>{{ formatPrice(producer.credit_limit) }}</strong>.
</div>
<div class="block-actions">
@@ -474,74 +489,86 @@ $this->setTitle('Commander');
</div>
</template>
<template v-else>
<div class="credit">
<div v-if="user && producer.credit == 1 && pointSaleActive.credit == 1 && (pointSaleActive.credit_functioning != 'user' || (pointSaleActive.credit_functioning == 'user' && user.credit_active))">
<input type="checkbox" id="use-credit" v-model="useCredit" disabled="disabled"
v-if="pointSaleActive.credit_functioning == 'mandatory' || (pointSaleActive.credit_functioning == 'user' && user.credit_active)"/>
<input type="checkbox" id="use-credit" v-model="useCredit" v-else/> <label
for="use-credit">Utiliser mon Crédit ({{ formatPrice(user.credit)
}})</label>
<div class="card credit">
<div class="card-body">
<h5 class="card-title">
<label for="order-comment">
<i class="bi bi-piggy-bank"></i>
Cagnotte
</label>
</h5>
<div class="card-text">
<div v-if="user && producer.credit == 1 && pointSaleActive.credit == 1 && (pointSaleActive.credit_functioning != 'user' || (pointSaleActive.credit_functioning == 'user' && user.credit_active))">
<input type="checkbox" id="use-credit" v-model="useCredit" disabled="disabled"
v-if="pointSaleActive.credit_functioning == 'mandatory' || (pointSaleActive.credit_functioning == 'user' && user.credit_active)"/>
<input type="checkbox" id="use-credit" v-model="useCredit" v-else/> <label
for="use-credit">Utiliser ma cagnotte ({{ formatPrice(user.credit)
}})</label>

<div class="info" v-if="useCredit">
<template v-if="order == null || order.amount_paid == 0">
<span v-if="checkCreditLimit(order)">{{ priceTotal(true) }} seront débités</span>
<span v-else>
<div class="info" v-if="useCredit">
<template v-if="order == null || order.amount_paid == 0">
<span v-if="checkCreditLimit(order)">{{ priceTotal(true) }} seront débités</span>
<span v-else>
{{ formatPrice(user.credit) }} seront débités. (Limite de crédit à {{ formatPrice(producer.credit_limit) }})<br/>
Restera {{ formatPrice(priceTotal() - user.credit) }} à régler.
</span>
</template>
<template
v-else-if="order != null && order.amount_paid > 0 && order.amount_paid < priceTotal()">
<span v-if="checkCreditLimit(order)">{{ formatPrice(priceTotal() - order.amount_paid) }} seront débités</span>
<span v-else>
</template>
<template
v-else-if="order != null && order.amount_paid > 0 && order.amount_paid < priceTotal()">
<span v-if="checkCreditLimit(order)">{{ formatPrice(priceTotal() - order.amount_paid) }} seront débités</span>
<span v-else>
{{ formatPrice(user.credit) }} seront débités. (Limite de crédit à {{ formatPrice(producer.credit_limit) }})<br/>
Restera {{ formatPrice(priceTotal() - order.amount_paid - user.credit) }} à régler.
</span>
</template>
<template v-else-if="order != null && order.amount_paid > priceTotal()">
<span>{{ formatPrice(order.amount_paid - priceTotal()) }} seront remboursés</span>
</template>
</template>
<template v-else-if="order != null && order.amount_paid > priceTotal()">
<span>{{ formatPrice(order.amount_paid - priceTotal()) }} seront remboursés</span>
</template>
</div>
</div>
</div>
</div>
<div v-else>
<span class="glyphicon glyphicon-chevron-right"></span>
<?php if ($producerModule->isOnlinePaymentActiveAndTypeOrder($producer)): ?>
La commande est à payer en ligne lors de l'étape suivante.
<?php elseif ($producer->option_payment_info && strlen($producer->option_payment_info) > 0): ?>
Confirmez votre commande et retrouvez les informations liées au paiement sur la page suivante.
<?php else: ?>
La commande sera à régler sur place.
<?php endif; ?>
</div>
</div>
<div id="signup-guest" v-if="!user && producer.option_allow_order_guest">
<h3>Informations personnelles</h3>
<form action="#">
<div class="form-group field-signupguest-email required">
<label class="control-label" for="signupguest-email">Email</label>
<input type="email" id="signupguest-email" class="form-control"
name="SignupForm[email]">
<p class="help-block help-block-error"></p>
</div>
<div class="form-group field-signupguest-firstname required">
<label class="control-label" for="signupguest-firstname">Prénom</label>
<input type="text" id="signupguest-firstname" class="form-control"
name="SignupForm[firstname]">
<p class="help-block help-block-error"></p>
</div>
<div class="form-group field-signupguest-lastname required">
<label class="control-label" for="signupguest-lastname">Nom</label>
<input type="text" id="signupguest-lastname" class="form-control"
name="SignupForm[lastname]">
<p class="help-block help-block-error"></p>
</div>
<div class="form-group field-signupguest-phone required">
<label class="control-label" for="signupguest-phone">Téléphone</label>
<input type="text" id="signupguest-phone" class="form-control"
name="SignupForm[phone]">
<p class="help-block help-block-error"></p>
</div>
</form>

<?php if ($producerModule->isOnlinePaymentActiveAndTypeOrder($producer)): ?>
<div class="alert alert-info">
<i class="bi bi-credit-card"></i>
La commande est à payer en ligne lors de l'étape suivante.
</div>
<?php endif; ?>

<div id="signup-guest" class="card" v-if="!user && producer.option_allow_order_guest">
<div class="card-title">
<h5>Informations personnelles</h5>
</div>
<div class="card-text">
<form action="#">
<div class="form-group field-signupguest-email required">
<label class="control-label" for="signupguest-email">Email</label>
<input type="email" id="signupguest-email" class="form-control"
name="SignupForm[email]">
<p class="help-block help-block-error"></p>
</div>
<div class="form-group field-signupguest-firstname required">
<label class="control-label" for="signupguest-firstname">Prénom</label>
<input type="text" id="signupguest-firstname" class="form-control"
name="SignupForm[firstname]">
<p class="help-block help-block-error"></p>
</div>
<div class="form-group field-signupguest-lastname required">
<label class="control-label" for="signupguest-lastname">Nom</label>
<input type="text" id="signupguest-lastname" class="form-control"
name="SignupForm[lastname]">
<p class="help-block help-block-error"></p>
</div>
<div class="form-group field-signupguest-phone required">
<label class="control-label" for="signupguest-phone">Téléphone</label>
<input type="text" id="signupguest-phone" class="form-control"
name="SignupForm[phone]">
<p class="help-block help-block-error"></p>
</div>
</form>
</div>
</div>
<div class="block-actions">
<button class="btn btn-primary" disabled="disabled" v-if="disableConfirmButton || !oneProductOrdered()">Je
@@ -573,7 +600,7 @@ $this->setTitle('Commander');
<div class="panel panel-default">
<div class="panel-heading">
<i class="glyphicon glyphicon-euro"></i> Paiement en ligne
<a href="<?= \Yii::$app->urlManager->createUrl(['credit/add']) ?>" class="btn btn-sm btn-default"><i
<a href="<?= \Yii::$app->urlManager->createUrl(['credit/add']) ?>" class="btn btn-sm btn-secondary"><i
class="glyphicon glyphicon-credit-card"></i> Créditer mon compte</a>
</div>
<div class="panel-body">
@@ -589,7 +616,7 @@ $this->setTitle('Commander');

<script type="text/x-template" id="template-step-date">
<li id="step-date" :class="'col-md-4'+((step == 'date') ? ' active' : '')+(first ? ' first' : '')">
<button @click="changeStep('date')" :class="'btn '+ (step == 'date' ? 'btn-primary' : 'btn-default')"
<button @click="changeStep('date')" :class="'btn '+ (step == 'date' ? 'btn-primary' : 'btn-secondary')"
:disabled="producer && producer.option_order_entry_point == 'point-sale' && !pointSaleActive">
<span class="button-content"><span class="glyphicon glyphicon-time"></span> Date</span></span>
</button>
@@ -602,7 +629,7 @@ $this->setTitle('Commander');
<script type="text/x-template" id="template-step-point-sale">
<li id="step-point-sale" :class="'col-md-4'+((step == 'point-sale') ? ' active ' : '')+(first ? ' first' : '')">
<button @click="changeStep('point-sale')"
:class="'btn '+ (step == 'point-sale' ? 'btn-primary' : 'btn-default')"
:class="'btn '+ (step == 'point-sale' ? 'btn-primary' : 'btn-secondary')"
:disabled="producer && (producer.option_order_entry_point == 'date' && step == 'date')">
<span class="button-content"><span
class="glyphicon glyphicon-map-marker"></span> <?= $producerModule->getPointSaleWording($producer); ?></span>

+ 162
- 126
producer/web/css/screen.css 查看文件

@@ -79,7 +79,7 @@ body {
font-family: 'worksans_regular' !important;
color: #333;
line-height: 20px;
font-size: 14px;
font-size: 1rem;
}

/* line 50, ../sass/_layout.scss */
@@ -159,8 +159,8 @@ ul.pagination li.prev a, ul.pagination li.next a {
.product-name-description-block .name {
font-family: "worksans_semibold";
color: black;
font-size: 1.4em;
line-height: 1.6em;
font-size: 1.2em;
line-height: 1.4em;
}
/* line 127, ../sass/_layout.scss */
.product-name-description-block .other {
@@ -173,19 +173,20 @@ ul.pagination li.prev a, ul.pagination li.next a {
.product-name-description-block .description,
.product-name-description-block .description-long {
color: gray;
margin-top: 5px;
}
/* line 140, ../sass/_layout.scss */
/* line 141, ../sass/_layout.scss */
.product-name-description-block .description-long .content {
display: none;
}

/* line 146, ../sass/_layout.scss */
/* line 147, ../sass/_layout.scss */
#header {
text-align: center;
padding: 0px;
position: relative;
}
/* line 152, ../sass/_layout.scss */
/* line 153, ../sass/_layout.scss */
#header #logo {
position: absolute;
top: 90px;
@@ -200,7 +201,7 @@ ul.pagination li.prev a, ul.pagination li.next a {
text-align: center;
overflow: hidden;
}
/* line 164, ../sass/_layout.scss */
/* line 165, ../sass/_layout.scss */
#header #logo img {
position: absolute;
top: 50%;
@@ -209,55 +210,55 @@ ul.pagination li.prev a, ul.pagination li.next a {
max-width: 160px;
max-height: 160px;
}
/* line 174, ../sass/_layout.scss */
/* line 175, ../sass/_layout.scss */
#header.without-logo #title {
padding-left: 30px;
}
/* line 178, ../sass/_layout.scss */
/* line 179, ../sass/_layout.scss */
#header #title {
text-align: left;
padding-left: 246px;
padding-top: 20px;
padding-bottom: 20px;
}
/* line 184, ../sass/_layout.scss */
/* line 185, ../sass/_layout.scss */
#header #title h1 {
font-family: 'worksans_extrabold';
font-size: 2.2rem;
margin-bottom: 2px;
}
/* line 189, ../sass/_layout.scss */
/* line 190, ../sass/_layout.scss */
#header #title h1 a.producer-name {
text-decoration: none;
color: #ee6f42;
}
/* line 194, ../sass/_layout.scss */
/* line 195, ../sass/_layout.scss */
#header #title h1 .bookmark {
color: #b7ab9b;
font-size: 0.7em;
}
/* line 200, ../sass/_layout.scss */
/* line 201, ../sass/_layout.scss */
#header #title h2 {
font-family: 'worksans_regular';
text-transform: uppercase;
font-size: 1.1rem;
}
/* line 205, ../sass/_layout.scss */
/* line 206, ../sass/_layout.scss */
#header #title h2 .location {
text-transform: none;
font-family: 'worksans_bold';
}
/* line 209, ../sass/_layout.scss */
/* line 210, ../sass/_layout.scss */
#header #title h2 .location .bi {
position: relative;
left: 1px;
}
/* line 217, ../sass/_layout.scss */
/* line 218, ../sass/_layout.scss */
#header nav#main-nav {
background-color: #ece4d8;
margin-top: 0px;
}
/* line 223, ../sass/_layout.scss */
/* line 224, ../sass/_layout.scss */
#header nav#main-nav ul li a {
display: inline-block;
padding: 8px 15px;
@@ -268,11 +269,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 231, ../sass/_layout.scss */
/* line 232, ../sass/_layout.scss */
#header nav#main-nav ul li a .bi {
margin-right: 3px;
}
/* line 235, ../sass/_layout.scss */
/* line 236, ../sass/_layout.scss */
#header nav#main-nav ul li a span.label {
display: inline-block;
position: relative;
@@ -290,7 +291,7 @@ ul.pagination li.prev a, ul.pagination li.next a {
text-transform: uppercase;
border: solid 1px transparent;
}
/* line 252, ../sass/_layout.scss */
/* line 253, ../sass/_layout.scss */
#header nav#main-nav ul li a.active,
#header nav#main-nav ul li a:hover {
color: white;
@@ -298,16 +299,16 @@ ul.pagination li.prev a, ul.pagination li.next a {
-webkit-box-shadow: none;
box-shadow: none;
}
/* line 257, ../sass/_layout.scss */
/* line 258, ../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 263, ../sass/_layout.scss */
/* line 264, ../sass/_layout.scss */
#header nav#main-nav ul.submenu {
background-color: white;
}
/* line 267, ../sass/_layout.scss */
/* line 268, ../sass/_layout.scss */
#header nav#main-nav ul.submenu li a {
background-color: white;
font-size: 0.9em;
@@ -316,34 +317,34 @@ ul.pagination li.prev a, ul.pagination li.next a {
box-shadow: none;
border-bottom: solid 2px #f4efe8;
}
/* line 273, ../sass/_layout.scss */
/* line 274, ../sass/_layout.scss */
#header nav#main-nav ul.submenu li a span.label {
background-color: white;
border: solid 1px #b7ab9b;
color: #b7ab9b;
}
/* line 280, ../sass/_layout.scss */
/* line 281, ../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 290, ../sass/_layout.scss */
/* line 291, ../sass/_layout.scss */
#header nav#main-nav #user {
color: #ee6f42;
float: right;
padding: 10px;
}

/* line 298, ../sass/_layout.scss */
/* line 299, ../sass/_layout.scss */
#main {
padding: 0px;
padding-top: 38px;
margin-bottom: 50px;
background-color: white;
}
/* line 304, ../sass/_layout.scss */
/* line 305, ../sass/_layout.scss */
#main #banner {
height: 180px;
overflow: hidden;
@@ -351,7 +352,7 @@ ul.pagination li.prev a, ul.pagination li.next a {
background-size: cover;
background-position: center;
}
/* line 312, ../sass/_layout.scss */
/* line 313, ../sass/_layout.scss */
#main #infos-producer {
display: none;
padding: 5px 10px;
@@ -361,78 +362,78 @@ ul.pagination li.prev a, ul.pagination li.next a {
border-bottom: solid 1px #e0e0e0;
color: gray;
}
/* line 321, ../sass/_layout.scss */
/* line 322, ../sass/_layout.scss */
#main #infos-producer strong {
font-weight: bold;
}
/* line 325, ../sass/_layout.scss */
/* line 326, ../sass/_layout.scss */
#main #infos-producer .favorite {
float: right;
color: gray;
}
/* line 328, ../sass/_layout.scss */
/* line 329, ../sass/_layout.scss */
#main #infos-producer .favorite a {
color: black;
}
/* line 334, ../sass/_layout.scss */
/* line 335, ../sass/_layout.scss */
#main h2#page-title {
margin-top: 0px;
font-family: "worksans_bold";
font-size: 30px;
line-height: 40px;
}
/* line 345, ../sass/_layout.scss */
/* line 346, ../sass/_layout.scss */
#main #content {
padding: 40px;
min-height: 300px;
}
/* line 349, ../sass/_layout.scss */
/* line 350, ../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 354, ../sass/_layout.scss */
/* line 355, ../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 359, ../sass/_layout.scss */
/* line 360, ../sass/_layout.scss */
#main #content h1 {
font-size: 30px;
}
/* line 363, ../sass/_layout.scss */
/* line 364, ../sass/_layout.scss */
#main #content h2 {
font-size: 25px;
}
/* line 367, ../sass/_layout.scss */
/* line 368, ../sass/_layout.scss */
#main #content h3 {
font-size: 1.4em;
text-align: left;
margin-bottom: 30px;
}
/* line 372, ../sass/_layout.scss */
/* line 373, ../sass/_layout.scss */
#main #content h3 span {
padding-top: 14px;
color: black;
}
/* line 378, ../sass/_layout.scss */
/* line 379, ../sass/_layout.scss */
#main #content h4 {
font-size: 20px;
}
/* line 382, ../sass/_layout.scss */
/* line 383, ../sass/_layout.scss */
#main #content h5 {
font-size: 18px;
}
/* line 386, ../sass/_layout.scss */
/* line 387, ../sass/_layout.scss */
#main #content h6 {
font-size: 16px;
}
/* line 392, ../sass/_layout.scss */
/* line 393, ../sass/_layout.scss */
#main #content form .form-group .hint-block {
color: gray;
}

/* line 400, ../sass/_layout.scss */
/* line 401, ../sass/_layout.scss */
#footer-producer {
text-align: center;
position: absolute;
@@ -440,39 +441,39 @@ ul.pagination li.prev a, ul.pagination li.next a {
left: 0px;
width: 100%;
}
/* line 407, ../sass/_layout.scss */
/* line 408, ../sass/_layout.scss */
#footer-producer a {
color: #ee6f42;
}
/* line 409, ../sass/_layout.scss */
/* line 410, ../sass/_layout.scss */
#footer-producer a:active {
text-decoration: underline;
}

/* line 415, ../sass/_layout.scss */
/* line 416, ../sass/_layout.scss */
#footer {
display: none;
height: 100px;
float: right;
text-align: center;
}
/* line 421, ../sass/_layout.scss */
/* line 422, ../sass/_layout.scss */
#footer .content {
padding-top: 20px;
color: black;
}
/* line 425, ../sass/_layout.scss */
/* line 426, ../sass/_layout.scss */
#footer .content a {
color: black;
font-size: 18px;
padding-left: 10px;
padding-right: 10px;
}
/* line 431, ../sass/_layout.scss */
/* line 432, ../sass/_layout.scss */
#footer .content a:hover {
text-decoration: underline;
}
/* line 438, ../sass/_layout.scss */
/* line 439, ../sass/_layout.scss */
#footer #code-source img {
height: 20px;
}
@@ -556,22 +557,23 @@ termes.
/* line 5, ../sass/site/_points_sale.scss */
.site-points-sale #points-sale .name .the-name {
font-family: 'worksans_semibold';
font-size: 20px;
font-size: 1.2rem;
line-height: 1.4rem;
color: black;
}
/* line 10, ../sass/site/_points_sale.scss */
/* line 11, ../sass/site/_points_sale.scss */
.site-points-sale #points-sale .name .locality {
color: gray;
}
/* line 16, ../sass/site/_points_sale.scss */
/* line 17, ../sass/site/_points_sale.scss */
.site-points-sale #points-sale .days .block-day:not(:last-child) {
margin-bottom: 15px;
}
/* line 19, ../sass/site/_points_sale.scss */
/* line 20, ../sass/site/_points_sale.scss */
.site-points-sale #points-sale .days .block-day strong {
font-family: 'worksans_medium';
}
/* line 22, ../sass/site/_points_sale.scss */
/* line 23, ../sass/site/_points_sale.scss */
.site-points-sale #points-sale .days .block-day small {
color: gray;
}
@@ -1288,12 +1290,12 @@ termes.
}
/* line 91, ../sass/order/_order.scss */
.order-order #main #app-order-order #steps ul li .btn {
color: #333;
color: black;
background-color: #ece4d8;
text-transform: uppercase;
display: block;
width: 100%;
position: relative;
background-color: #e0e0e0;
-moz-border-radius: 0px;
-webkit-border-radius: 0px;
border-radius: 0px;
@@ -1309,13 +1311,13 @@ termes.
.order-order #main #app-order-order #steps ul li .btn::after, .order-order #main #app-order-order #steps ul li .btn::before {
content: "";
position: absolute;
top: -1px;
top: 1px;
}
/* line 113, ../sass/order/_order.scss */
.order-order #main #app-order-order #steps ul li .btn::after {
right: -34px;
border: 17px solid transparent;
border-left: 17px solid #e0e0e0;
border-left: 17px solid #ece4d8;
background-color: transparent;
}
/* line 120, ../sass/order/_order.scss */
@@ -1371,86 +1373,109 @@ termes.
position: relative;
top: -5px;
}
/* line 187, ../sass/order/_order.scss */
.order-order #main #app-order-order #content-step-date #distributions-list .panel .btn-primary {
/* line 186, ../sass/order/_order.scss */
.order-order #main #app-order-order #content-step-date #distributions-list .card {
margin-bottom: 20px;
}
/* line 189, ../sass/order/_order.scss */
.order-order #main #app-order-order #content-step-date #distributions-list .card .btn-primary {
float: right;
}
/* line 191, ../sass/order/_order.scss */
.order-order #main #app-order-order #content-step-date #distributions-list .panel .date {
font-size: 20px;
/* line 193, ../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 195, ../sass/order/_order.scss */
.order-order #main #app-order-order #content-step-date #distributions-list .panel .point-sales {
/* line 200, ../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 204, ../sass/order/_order.scss */
/* line 209, ../sass/order/_order.scss */
.order-order #main #app-order-order .block-actions {
text-align: right;
margin-top: 20px;
}
/* line 211, ../sass/order/_order.scss */
/* line 216, ../sass/order/_order.scss */
.order-order #main #app-order-order table#points-sale td.name .the-name {
color: black;
font-size: 1.4em;
line-height: 1.6em;
font-size: 1.2em;
line-height: 1.4em;
font-family: 'worksans_semibold';
}
/* line 218, ../sass/order/_order.scss */
/* line 223, ../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 222, ../sass/order/_order.scss */
/* line 227, ../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 228, ../sass/order/_order.scss */
/* line 233, ../sass/order/_order.scss */
.order-order #main #app-order-order table#points-sale td.actions {
width: 150px;
}
/* line 230, ../sass/order/_order.scss */
/* line 235, ../sass/order/_order.scss */
.order-order #main #app-order-order table#points-sale td.actions button {
width: 100%;
}
/* line 236, ../sass/order/_order.scss */
.order-order #main #app-order-order table#points-sale tr.selected td {
background-color: white;
/* line 249, ../sass/order/_order.scss */
.order-order #main #app-order-order table#products td {
border-color: #e0e0e0;
}
/* line 244, ../sass/order/_order.scss */
/* line 255, ../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 262, ../sass/order/_order.scss */
.order-order #main #app-order-order table#products td.category-name {
transition: all 0.1s linear;
background-color: white;
background-color: #f4efe8;
border-left: solid 5px #ece4d8;
font-family: "worksans_bold";
font-size: 22px;
line-height: 30px;
text-transform: uppercase;
padding-top: 13px;
padding-left: 20px;
}
/* line 251, ../sass/order/_order.scss */
.order-order #main #app-order-order table#products td.category-name .glyphicon-triangle-bottom,
.order-order #main #app-order-order table#products td.category-name .glyphicon-triangle-right {
/* line 274, ../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 256, ../sass/order/_order.scss */
.order-order #main #app-order-order table#products td.category-name span.label {
font-family: "Arial";
font-weight: normal;
/* line 279, ../sass/order/_order.scss */
.order-order #main #app-order-order table#products td.category-name span.badge {
font-family: "worksans_bold";
text-transform: uppercase;
margin-left: 5px;
font-size: 0.85rem;
position: relative;
top: -3px;
}
/* line 287, ../sass/order/_order.scss */
.order-order #main #app-order-order table#products td.category-name span.badge.bg-primary {
float: right;
text-transform: none;
margin-left: 15px;
top: 2px;
}
/* line 264, ../sass/order/_order.scss */
/* line 293, ../sass/order/_order.scss */
.order-order #main #app-order-order table#products td.category-name:hover {
cursor: pointer;
background-color: #ee6f42;
color: white;
background-color: white;
}
/* line 272, ../sass/order/_order.scss */
/* line 300, ../sass/order/_order.scss */
.order-order #main #app-order-order table#products td.photo img {
width: 100px;
}
/* line 282, ../sass/order/_order.scss */
/* line 310, ../sass/order/_order.scss */
.order-order #main #app-order-order table#products .price-unit .decreasing-prices {
margin-top: 10px;
font-size: 10px;
@@ -1458,103 +1483,114 @@ termes.
padding-bottom: 2px;
margin-bottom: 0px;
}
/* line 290, ../sass/order/_order.scss */
/* line 318, ../sass/order/_order.scss */
.order-order #main #app-order-order table#products .price-unit .decreasing-prices ul li {
margin-bottom: 5px;
}
/* line 292, ../sass/order/_order.scss */
/* line 320, ../sass/order/_order.scss */
.order-order #main #app-order-order table#products .price-unit .decreasing-prices ul li strong {
font-weight: bold;
}
/* line 300, ../sass/order/_order.scss */
/* line 328, ../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 304, ../sass/order/_order.scss */
/* line 332, ../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 310, ../sass/order/_order.scss */
/* line 338, ../sass/order/_order.scss */
.order-order #main #app-order-order table#products .td-quantity {
width: 175px;
}
/* line 313, ../sass/order/_order.scss */
/* line 341, ../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 318, ../sass/order/_order.scss */
/* line 346, ../sass/order/_order.scss */
.order-order #main #app-order-order table#products .td-quantity input.quantity {
text-align: center;
border: 0px none;
}
/* line 322, ../sass/order/_order.scss */
/* line 350, ../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 330, ../sass/order/_order.scss */
/* line 358, ../sass/order/_order.scss */
.order-order #main #app-order-order table#products .td-quantity .input-group-btn button {
padding: 4px 5px 0px 5px;
}
/* line 332, ../sass/order/_order.scss */
/* line 360, ../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 343, ../sass/order/_order.scss */
/* line 371, ../sass/order/_order.scss */
.order-order #main #app-order-order table#products tr.total .summary {
padding: 25px;
}
/* line 374, ../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: none;
text-transform: uppercase;
margin-bottom: 5px;
}
/* line 349, ../sass/order/_order.scss */
/* line 381, ../sass/order/_order.scss */
.order-order #main #app-order-order table#products tr.total .summary ul {
margin-bottom: 15px;
padding-left: 20px;
font-size: 23px;
font-size: 1.1rem;
line-height: 1.4rem;
list-style-type: disc;
}
/* line 356, ../sass/order/_order.scss */
/* line 389, ../sass/order/_order.scss */
.order-order #main #app-order-order table#products tr.total .summary ul li .quantity {
font-size: 18px;
}
/* line 360, ../sass/order/_order.scss */
.order-order #main #app-order-order table#products tr.total .summary ul li .name {
font-size: 24px;
}
/* line 363, ../sass/order/_order.scss */
.order-order #main #app-order-order table#products tr.total .summary ul li .other {
font-size: 18px;
font-weight: bold;
}
/* line 369, ../sass/order/_order.scss */
/* line 396, ../sass/order/_order.scss */
.order-order #main #app-order-order table#products tr.total .price-total {
font-size: 23px;
padding-top: 25px;
font-size: 1.5rem;
font-family: 'worksans_bold';
}
/* line 377, ../sass/order/_order.scss */
/* line 401, ../sass/order/_order.scss */
.order-order #main #app-order-order table#products tr.total .price-total span {
display: inline-block;
padding: 7px 15px;
-moz-border-radius: 15px;
-webkit-border-radius: 15px;
border-radius: 15px;
color: white;
font-size: 1.2rem;
}
/* line 414, ../sass/order/_order.scss */
.order-order #main #app-order-order #content-step-payment .delivery {
margin-bottom: 20px;
}
/* line 380, ../sass/order/_order.scss */
/* line 417, ../sass/order/_order.scss */
.order-order #main #app-order-order #content-step-payment .delivery .delivery-home {
margin-bottom: 20px;
}
/* line 389, ../sass/order/_order.scss */
/* line 426, ../sass/order/_order.scss */
.order-order #main #app-order-order #content-step-payment .comment {
margin-bottom: 20px;
}
/* line 394, ../sass/order/_order.scss */
/* line 431, ../sass/order/_order.scss */
.order-order #main #app-order-order #content-step-payment .credit .info {
margin-left: 20px;
color: gray;
}

/* line 407, ../sass/order/_order.scss */
/* line 444, ../sass/order/_order.scss */
#main #content .panel h3 {
font-family: "worksans_bold";
margin: 0px;
@@ -1982,7 +2018,7 @@ termes.
line-height: 28px;
}
/* line 190, ../sass/_responsive.scss */
.order-order #app-order-order #distributions-list .panel .btn-primary {
.order-order #app-order-order #distributions-list .card .btn-primary {
display: block;
float: none !important;
margin-bottom: 10px;

+ 1
- 0
producer/web/js/vuejs/order-order.js 查看文件

@@ -633,6 +633,7 @@ var app = new Vue({
setTimeout(function() {
opendistrib_products();
}, 500);
setTimeout(opendistrib_scroll, 250, 'category'+this.categoryCurrent.id);
}
},
computed : {

+ 4
- 3
producer/web/sass/_layout.scss 查看文件

@@ -44,7 +44,7 @@ body {
font-family: 'worksans_regular' !important;
color: #333 ;
line-height: 20px ;
font-size: 14px ;
font-size: 1rem ;
}

.clr {
@@ -120,8 +120,8 @@ ul.pagination {
.name {
font-family: 'worksans_semibold' ;
color: black ;
font-size: 1.4em ;
line-height: 1.6em ;
font-size: 1.2em ;
line-height: 1.4em ;
}

.other {
@@ -134,6 +134,7 @@ ul.pagination {
.description,
.description-long {
color: gray;
margin-top: 5px;
}

.description-long {

+ 1
- 1
producer/web/sass/_responsive.scss 查看文件

@@ -186,7 +186,7 @@ termes.
}

#distributions-list {
.panel {
.card {
.btn-primary {
display: block ;
float: none !important;

+ 67
- 30
producer/web/sass/order/_order.scss 查看文件

@@ -89,12 +89,12 @@
}
.btn {
color: #333 ;
color: black;
background-color: $color-gray;
text-transform: uppercase ;
display: block ;
width: 100% ;
position: relative ;
background-color: #e0e0e0 ;
@include border-radius(0px) ;
border: 0px none ;
text-transform: uppercase ;
@@ -107,13 +107,13 @@
&::after, &::before {
content: '' ;
position: absolute ;
top: -1px ;
top: 1px;
}
&::after {
right: -34px ;
border:17px solid transparent;
border-left:17px solid #e0e0e0;
border-left:17px solid $color-gray;
background-color: transparent ;
}
@@ -183,13 +183,18 @@

#content-step-date {
#distributions-list {
.panel {
.card {
margin-bottom: 20px;

.btn-primary {
float: right ;
}

.date {
font-size: 20px ;
font-size: 1.2rem ;
line-height: 1.4rem;
text-transform: uppercase;
font-family: 'worksans_semibold';
}

.point-sales {
@@ -210,8 +215,8 @@
td.name {
.the-name {
color: black ;
font-size: 1.4em ;
line-height: 1.6em ;
font-size: 1.2em ;
line-height: 1.4em ;
font-family: 'worksans_semibold';
}

@@ -234,37 +239,60 @@
tr.selected {
td {
background-color: white ;
//background-color: white ;
}
}
}
table#products {

td {
border-color: #e0e0e0;
}

tr.category-closed:hover,
tr.category-open {
td.category-name {
padding-left: 30px;
background-color: $color-gray-light;
}
}


td.category-name {
transition: all 0.1s linear;
background-color: white;
background-color: $color-gray-light;
border-left: solid 5px $color-gray;
font-family: "worksans_bold" ;
font-size: 22px ;
line-height: 30px;
text-transform: uppercase;
padding-top: 13px ;
padding-left: 20px;

.glyphicon-triangle-bottom,
.glyphicon-triangle-right {
.bi-caret-down-fill,
.bi-caret-right-fill {
font-size: 15px ;
}

span.label {
font-family: 'Arial' ;
font-weight: normal ;
float: right ;
text-transform: none ;
margin-left: 15px ;
span.badge {
font-family: 'worksans_bold' ;
text-transform: uppercase ;
margin-left: 5px ;
font-size: 0.85rem;
position: relative;
top: -3px;

&.bg-primary {
float: right;
top: 2px;
}
}

&:hover {
cursor: pointer ;
background-color: $color-primary ;
color: white ;
background-color: white;
}
}

@@ -339,35 +367,44 @@
}
tr.total {

.summary {
padding: 25px;

h3 {
font-family: 'worksans_bold';
margin-top: 0px ;
text-transform: none ;
text-transform: uppercase ;
margin-bottom: 5px ;
}

ul {
margin-bottom: 15px ;
padding-left: 20px ;
font-size: 23px ;

font-size: 1.1rem ;
line-height: 1.4rem;
list-style-type: disc;

li {
.quantity {
font-size: 18px ;
font-weight: bold;
}

.name {
font-size: 24px ;
}
.other {
font-size: 18px ;
}
}
}
}
.price-total {
font-size: 23px ;
padding-top: 25px;
font-size: 1.5rem ;
font-family: 'worksans_bold';

span {
display: inline-block;
padding: 7px 15px;
@include border-radius(15px);
color: white;
font-size: 1.2rem;
}
}
}
}

+ 2
- 1
producer/web/sass/site/_points_sale.scss 查看文件

@@ -4,7 +4,8 @@
.name {
.the-name {
font-family: 'worksans_semibold';
font-size: 20px ;
font-size: 1.2rem ;
line-height: 1.4rem ;
color: black ;
}
.locality {

Loading…
取消
儲存