优化词条、前台 ui、修复后台详情页商品ID显示错误等

This commit is contained in:
pushuo 2023-01-10 19:38:07 +08:00
parent b177e7d7fd
commit af58eb52f1
50 changed files with 124 additions and 12128 deletions

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@ -12,7 +12,7 @@
<title>{{ __('admin/builder.footer_edit') }}</title>
<script src="{{ asset('vendor/jquery/jquery-3.6.0.min.js') }}"></script>
<script src="{{ asset('vendor/layer/3.5.1/layer.js') }}"></script>
<script src="{{ asset('vendor/vue/2.6.14/vue.js') }}"></script>
<script src="{{ asset('vendor/vue/2.7/vue' . (!config('app.debug') ? '.min' : '') . '.js') }}"></script>
<script src="{{ mix('build/beike/admin/js/app.js') }}"></script>
<script src="{{ asset('vendor/vue/Sortable.min.js') }}"></script>
<script src="{{ asset('vendor/vue/vuedraggable.js') }}"></script>

View File

@ -12,7 +12,7 @@
<title>{{ __('admin/builder.text_edit_home') }}</title>
<script src="{{ asset('vendor/jquery/jquery-3.6.0.min.js') }}"></script>
<script src="{{ asset('vendor/layer/3.5.1/layer.js') }}"></script>
<script src="{{ asset('vendor/vue/2.6.14/vue.js') }}"></script>
<script src="{{ asset('vendor/vue/2.7/vue' . (!config('app.debug') ? '.min' : '') . '.js') }}"></script>
<script src="{{ mix('build/beike/admin/js/app.js') }}"></script>
<script src="{{ asset('vendor/vue/Sortable.min.js') }}"></script>
<script src="{{ asset('vendor/vue/vuedraggable.js') }}"></script>
@ -103,6 +103,7 @@
const editingModuleIndex = app.form.modules.findIndex(e => e.module_id == module_id);
app.design.editType = 'add';
app.design.editingModuleIndex = 0;
$(previewWindow.document).find('.tooltip').remove();
$(this).parents('.module-item').remove();
app.form.modules.splice(editingModuleIndex, 1);
});
@ -146,9 +147,7 @@
el: '#app',
data: {
form: {
modules: [
// {"content":{"style":{"background_color":""},"full":true,"floor":{"2":"","3":""},"images":[{"image":{"2":"catalog/demo/slideshow/2.jpg","3":"catalog/demo/slideshow/2.jpg"},"show":true,"link":{"type":"product","value":"","link":""}},{"image":{"2":"catalog/demo/slideshow/1.jpg","3":"catalog/demo/slideshow/1.jpg"},"show":false,"link":{"type":"product","value":"","link":""}}]},"code":"slideshow","name":"幻灯片","module_id":"b0448efb0989"}
]
modules: []
},
design: {
@ -176,10 +175,6 @@
editingModuleCode() {
return this.form.modules[this.design.editingModuleIndex].code;
},
// editingConfigCodeFormat() {
// return 'config-' + this.config.editingConfigCode;
// },
},
// 侦听器
watch: {},
@ -190,6 +185,8 @@
$http.post('design/builder/preview?design=1', data, {hload: true}).then((res) => {
$(previewWindow.document).find('#module-' + data.module_id).replaceWith(res);
const tooltipTriggerList = previewWindow.document.querySelectorAll('[data-bs-toggle="tooltip"]')
const tooltipList = [...tooltipTriggerList].map(tooltipTriggerEl => new previewWindow.bootstrap.Tooltip(tooltipTriggerEl))
})
}, 300),
@ -209,7 +206,6 @@
this.design.editingModuleIndex = this.form.modules.length - 1;
this.design.editType = 'module';
setTimeout(() => {
$(previewWindow.document).find("html, body").animate({
scrollTop: $(previewWindow.document).find('#module-' + module_id).offset().top - 30
@ -250,13 +246,6 @@
mounted () {
},
})
// window.addEventListener('message', (event) => {
// event.stopPropagation()
// if (typeof(event.data.index) !== 'undefined') {
// app.editModuleButtonClicked(event.data.index)
// }
// }, false)
</script>
</body>
</html>

View File

@ -169,7 +169,7 @@
<tbody>
@foreach ($order->orderProducts as $product)
<tr>
<td>{{ $product->id }}</td>
<td>{{ $product->product_id }}</td>
<td>
<div class="d-flex align-items-center">
<div class="wh-60 me-2"><img src="{{ $product->image }}" class="img-fluid"></div>{{ $product->name }}

View File

@ -113,8 +113,12 @@
<div class="tab-pane fade" id="tab-express-company">
<x-admin::form.row title="{{ __('order.express_company') }}">
<table class="table table-bordered w-max-500">
<thead><th>{{ __('order.express_company') }}</th><th>Code</th><th></th></thead>
<table class="table table-bordered w-max-600">
<thead>
<th>{{ __('order.express_company') }}</th>
<th>Code</th>
<th></th>
</thead>
<tbody>
<tr v-for="item, index in express_company" :key="index">
<td>
@ -122,7 +126,7 @@
<div class="invalid-feedback">{{ __('common.error_required', ['name' => __('order.express_company')]) }}</div>
</td>
<td>
<input required placeholder="Code" type="text" :name="'express_company['+ index +'][code]'" v-model="item.code" class="form-control">
<input required placeholder="{{ __('admin/setting.express_code_help') }}" type="text" :name="'express_company['+ index +'][code]'" v-model="item.code" class="form-control">
<div class="invalid-feedback">{{ __('common.error_required', ['name' => 'Code']) }}</div>
</td>
<td><i @click="express_company.splice(index, 1)" class="bi bi-x-circle fs-4 text-danger cursor-pointer"></i></td>

View File

@ -9,7 +9,7 @@
<link href="{{ mix('/build/beike/admin/css/bootstrap.css') }}" rel="stylesheet">
<script src="{{ asset('vendor/jquery/jquery-3.6.0.min.js') }}"></script>
<script src="{{ asset('vendor/layer/3.5.1/layer.js') }}"></script>
<script src="{{ asset('vendor/vue/2.6.14/vue.js') }}"></script>
<script src="{{ asset('vendor/vue/2.7/vue' . (!config('app.debug') ? '.min' : '') . '.js') }}"></script>
<script src="{{ asset('vendor/element-ui/2.15.6/js.js') }}"></script>
<link rel="stylesheet" href="{{ asset('vendor/element-ui/2.15.6/css.css') }}">
{{-- <link href="{{ mix('build/css/admin/login.css') }}" rel="stylesheet"> --}}

View File

@ -133,8 +133,16 @@ $form-feedback-icon-valid-color: inherit;
}
.breadcrumb {
.breadcrumb-item {
&:last-of-type {
a {
color: #666;
font-weight: 600;
}
}
}
a {
color: #212529;
color: #888;
}
}

View File

@ -24,12 +24,12 @@ body[class^="page-account-"] {
font-display: swap;
}
// @font-face {font-family: 'Poppins';
// src: url('/fonts/poppins/Poppins-Medium.ttf') format("truetype");
// font-style: normal;
// font-display: swap;
// font-weight: 700;
// }
@font-face {font-family: 'Poppins';
src: url('/fonts/poppins/Poppins-Medium.ttf') format("truetype");
font-style: normal;
font-display: swap;
font-weight: 600;
}
@font-face {font-family: 'Poppins';
src: url('/fonts/poppins/Poppins-SemiBold.ttf') format("truetype");

View File

@ -38,7 +38,7 @@
.module-edit {
// position: relative;
position: absolute;
top: -22px;
top: -28px;
left: 0;
width: 100%;
z-index: 9;
@ -54,9 +54,10 @@
align-items: center;
> div {
height: 24px;
line-height: 24px;
height: 28px;
line-height: 30px;
padding: 0 10px;
font-size: 16px;
cursor: pointer;
position: relative;
@ -67,7 +68,7 @@
top: 0;
border: solid #0000;
border-right: solid $primary;
border-width: 24px 10px 0 0;
border-width: 28px 10px 0 0;
right: 100%;
}
&:hover {
@ -84,7 +85,7 @@
top: 0;
border: solid #0000;
border-left: solid $primary;
border-width: 24px 0 0 10px;
border-width: 28px 0 0 10px;
left: 100%;
}
&:hover {

View File

@ -14,6 +14,21 @@
padding-left: 0;
}
a {
overflow: hidden;
display: block;
img {
transition: .3s ease-in-out;
}
&:hover {
img {
transform: rotate(6deg) scale(1.3);
}
}
}
.module-image-plus-top {
display: flex;
@ -25,4 +40,11 @@
.module-image-plus-bottom {
margin-top: 20px;
}
}
.module-image-banner {
.container-fluid {
padding-right: 0;
padding-left: 0;
}
}

View File

@ -104,10 +104,6 @@ body.page-account-order-info {
margin-bottom: .4rem;
color: #1a1a1a;
}
.price {
font-weight: bold;
}
}
}

View File

@ -169,6 +169,7 @@ body.page-product {
.product-name {
font-size: 1.7rem;
line-height: 1.3;
font-weight: 600;
@media (max-width: 768px) {
font-size: 1.2rem;

View File

@ -24,7 +24,6 @@ $(document).ready(function ($) {
$http.delete(`carts/${id}`).then((res) => {
$(this).parents('.product-list').remove();
console.log(res.data.quantity);
if (!res.data.quantity) {
$('.cart-badge-quantity').hide();
} else {
@ -35,6 +34,9 @@ $(document).ready(function ($) {
$('.offcanvas-right-cart-amount').text(res.data.amount_format);
})
})
const tooltipTriggerList = document.querySelectorAll('[data-bs-toggle="tooltip"]')
const tooltipList = [...tooltipTriggerList].map(tooltipTriggerEl => new bootstrap.Tooltip(tooltipTriggerEl))
});
bk.getCarts(); // 页面初始加载购物车数据

View File

@ -78,6 +78,8 @@ return [
'text_edit_page_name' => 'Seitenname ändern',
'text_page_name_no' => 'Der Name darf nicht leer sein',
'custom_name' => 'benutzerdefinierter Name',
'move_down' => 'nach unten bewegen',
'move_up' => 'nach oben verschieben',
// Feste Verbindung
'text_static_product_latest' => 'Neuestes Produkt',

View File

@ -37,6 +37,7 @@ return [
'mailgun_secret' => 'Schlüssel',
'mailgun_endpoint' => 'port',
'mail_log' => 'Beschreibung: Die Log-Engine wird generell zu Testzwecken verwendet! Die E-Mail wird nicht tatsächlich an die Empfängeradresse gesendet, und der E-Mail-Inhalt wird in „/storage/logs/laravel.log“ in Form eines Protokolls gespeichert.',
'express_code_help' => 'Zahlen, Buchstaben, Unterstrich',
'guest_checkout' => 'Besucherkasse',
'theme_default' => 'Standardthema',

View File

@ -78,6 +78,8 @@ return [
'text_edit_page_name' => 'Edit page name',
'text_page_name_no' => 'Name cannot be empty',
'custom_name' => 'Custom Name',
'move_down' => 'Move down',
'move_up' => 'Move up',
// 固定连接
'text_static_product_latest' => 'Latest products',

View File

@ -37,6 +37,7 @@ return [
'mailgun_secret' => 'Key',
'mailgun_endpoint' => 'port',
'mail_log' => 'Description: The log engine is generally used for testing purposes! The email will not be actually sent to the recipient address, and the email content will be saved in `/storage/logs/laravel.log` in the form of a log',
'express_code_help' => 'numbers, letters, underscore',
'guest_checkout' => 'visitor checkout',
'theme_default' => 'Default Theme',

View File

@ -78,6 +78,8 @@ return [
'text_edit_page_name' => 'modificar nombre de página',
'text_page_name_no' => 'El nombre no puede estar vacío',
'custom_name' => 'nombre personalizado',
'move_down' => 'mover hacia abajo',
'move_up' => 'subir',
// Conexión fija
'text_static_product_latest' => 'Último producto',

View File

@ -37,6 +37,7 @@ return [
'mailgun_secret' => 'Clave',
'mailgun_endpoint' => 'puerto',
'mail_log' => 'Descripción: ¡El motor de registro generalmente se usa con fines de prueba! El correo electrónico no se enviará realmente a la dirección del destinatario, y el contenido del correo electrónico se guardará en `/storage/logs/laravel.log`\' en forma de registro',
'express_code_help' => 'números, letras, guión bajo',
'guest_checkout' => 'pago de visitante',

View File

@ -78,6 +78,8 @@ return [
'text_edit_page_name' => 'modifier le nom de la page',
'text_page_name_no' => 'Le nom ne peut pas être vide',
'custom_name' => 'nom personnalisé',
'move_down' => 'descendre',
'move_up' => 'monter',
// Connexion fixe
'text_static_product_latest' => 'Dernier produit',

View File

@ -37,6 +37,7 @@ return [
'mailgun_secret' => 'Clé',
'mailgun_endpoint' => 'port',
'mail_log' => 'Description: Le moteur de journalisation est généralement utilisé à des fins de test! L\'e-mail ne sera pas réellement envoyé à l\'adresse du destinataire, et le contenu de l\'e-mail sera enregistré dans `/storage/logs/laravel.log`\' sous la forme d\'un journal',
'express_code_help' => 'chiffres, lettres, trait de soulignement',
'guest_checkout' => 'paiement des visiteurs',
'theme_default' => 'thème par défaut',

View File

@ -78,6 +78,8 @@ return [
'text_edit_page_name' => 'Modifica il nome della pagina',
'text_page_name_no' => 'Il nome è obbligatorio',
'custom_name' => 'nome personalizzato',
'move_down' => 'sposta giù',
'move_up' => 'sposta su',
// 固定连接
'text_static_product_latest' => 'Nuovi Prodotti',

View File

@ -37,6 +37,7 @@ return [
'mailgun_secret' => 'Chiave',
'mailgun_endpoint' => 'porta',
'mail_log' => 'Descrizione: Il motore di log è generalmente utilizzato a scopo di test! L\'e-mail non verrà effettivamente inviata all\'indirizzo del destinatario e il contenuto dell\'e-mail verrà salvato in `/storage/logs/laravel.log`\' sotto forma di registro',
'express_code_help' => 'numeri, lettere, underscore',
'guest_checkout' => 'checkout visitatore',
'theme_default' => 'tema predefinito',

View File

@ -78,6 +78,8 @@ return [
'text_edit_page_name' => 'ページ名を変更',
'text_page_name_no' => '名前を空にすることはできません',
'custom_name' => 'カスタム名',
'move_down' => '下に移動',
'move_up' => '上に移動',
// 固定连接
'text_static_product_latest' => '最新の製品',

View File

@ -37,6 +37,7 @@ return [
'mailgun_secret' => '鍵',
'mailgun_endpoint' => 'ポート',
'mail_log' => '説明: ログ エンジンは通常、テスト目的で使用されます! メールは実際に受信者アドレスに送信されるわけではなく、メールの内容は「/storage/logs/laravel.log」にログとして保存されますが、',
'express_code_help' => '数字、文字、アンダースコア',
'guest_checkout' => '訪問者チェックアウト',
'theme_default' => 'デフォルトのテーマ',

View File

@ -15,8 +15,8 @@ return [
'order_success_info' => 'ご注文は正常に送信されました。以下が注文の詳細です',
'not_oneself' => '非個人的な操作は無視できます。 ',
'customer_name' => '親愛なる :name ユーザー様、こんにちは! ',
'心から' => '心から',
'チーム' => 'チーム',
'sincerely' => '心から',
'team' => 'チーム',
'order_update_status' => '注文 :number のステータスが更新されました',
'welcome_register' => '登録へようこそ',
'register_end' => '登録が完了しました。モールに戻るには、下のボタンをクリックしてください。 ',

View File

@ -78,6 +78,8 @@ return [
'text_edit_page_name' => 'Изменить название страницы',
'text_page_name_no' => 'Укажите имя',
'custom_name' => 'пользовательское имя',
'move_down' => 'переместиться вниз',
'move_up' => 'движение вверх',
// 固定连接
'text_static_product_latest' => 'Последний продукт',

View File

@ -37,6 +37,7 @@ return [
'mailgun_secret' => 'Ключ',
'mailgun_endpoint' => 'порт',
'mail_log' => 'Описание: Механизм ведения журнала обычно используется в целях тестирования! На самом деле электронное письмо не будет отправлено на адрес получателя, а содержимое электронного письма будет сохранено в `/storage/logs/laravel.log` в виде журнала',
'express_code_help' => 'цифры, буквы, подчеркивание',
'guest_checkout' => 'оформить заказ посетителя',
'theme_default' => 'Тема по умолчанию',

View File

@ -78,6 +78,8 @@ return [
'text_edit_page_name' => '修改页面名称',
'text_page_name_no' => '名称不能为空',
'custom_name' => '自定义名称',
'move_down' => '下移',
'move_up' => '上移',
// 固定连接
'text_static_product_latest' => '最新商品',

View File

@ -37,6 +37,7 @@ return [
'mailgun_secret' => '密钥',
'mailgun_endpoint' => '端口',
'mail_log' => '说明:日志引擎一般用于测试目的!邮件将不会被真实发送至收件地址,邮件内容会以日志形式保存在 `/storage/logs/laravel.log`',
'express_code_help' => '数字、字母、下划线',
'guest_checkout' => '游客结账',
'theme_default' => '默认主题',

View File

@ -79,6 +79,8 @@ return [
'text_edit_page_name' => '修改頁面名稱',
'text_page_name_no' => '名稱不能為空',
'custom_name' => '自定義名稱',
'move_down' => '下移',
'move_up' => '上移',
// 固定连接
'text_static_product_latest' => '最新商品',

View File

@ -37,6 +37,7 @@ return [
'mailgun_secret' => '密鑰',
'mailgun_endpoint' => '端口',
'mail_log' => '說明:日誌引擎一般用於測試目的!郵件將不會被真實發送至收件地址,郵件內容會以日誌形式保存在 `/storage/logs/laravel.log`',
'express_code_help' => '數字、字母、下劃線',
'guest_checkout' => '遊客結賬',
'theme_default' => '默認主題',

View File

@ -3,7 +3,7 @@
@section('body-class', 'page-account-address')
@push('header')
<script src="{{ asset('vendor/vue/2.6.14/vue' . (!config('app.debug') ? '.min' : '') . '.js') }}"></script>
<script src="{{ asset('vendor/vue/2.7/vue' . (!config('app.debug') ? '.min' : '') . '.js') }}"></script>
<script src="{{ asset('vendor/element-ui/2.15.6/js.js') }}"></script>
<link rel="stylesheet" href="{{ asset('vendor/element-ui/2.15.6/css.css') }}">
@endpush

View File

@ -3,7 +3,7 @@
@section('body-class', 'page-forgotten')
@push('header')
<script src="{{ asset('vendor/vue/2.6.14/vue' . (!config('app.debug') ? '.min' : '') . '.js') }}"></script>
<script src="{{ asset('vendor/vue/2.7/vue' . (!config('app.debug') ? '.min' : '') . '.js') }}"></script>
<script src="{{ asset('vendor/element-ui/2.15.6/js.js') }}"></script>
<link rel="stylesheet" href="{{ asset('vendor/element-ui/2.15.6/css.css') }}">
@endpush

View File

@ -3,7 +3,7 @@
@section('body-class', 'page-login')
@push('header')
<script src="{{ asset('vendor/vue/2.6.14/vue' . (!config('app.debug') ? '.min' : '') . '.js') }}"></script>
<script src="{{ asset('vendor/vue/2.7/vue' . (!config('app.debug') ? '.min' : '') . '.js') }}"></script>
<script src="{{ asset('vendor/element-ui/2.15.6/js.js') }}"></script>
<link rel="stylesheet" href="{{ asset('vendor/element-ui/2.15.6/css.css') }}">
@endpush

View File

@ -33,7 +33,7 @@
@endif
</tr>
<tr>
<td><a href="{{ shop_route('orders.pay', [$order['number']]) }}" class="btn btn-primary btn-sm">{{ __('shop/account.order.order_success.pay_now') }}</a></td>
<td><a href="{{ shop_route('orders.pay', [$order['number']]) }}" class="btn btn-primary">{{ __('shop/account.order.order_success.pay_now') }}</a></td>
</tr>
</tbody>
</table>

View File

@ -3,7 +3,7 @@
@section('body-class', 'page-account-rmas')
@push('header')
{{-- <script src="{{ asset('vendor/vue/2.6.14/vue' . (!config('app.debug') ? '.min' : '') . '.js') }}"></script> --}}
{{-- <script src="{{ asset('vendor/vue/2.7/vue' . (!config('app.debug') ? '.min' : '') . '.js') }}"></script> --}}
@endpush
@section('content')

View File

@ -3,7 +3,7 @@
@section('body-class', 'page-account-rmas')
@push('header')
{{-- <script src="{{ asset('vendor/vue/2.6.14/vue' . (!config('app.debug') ? '.min' : '') . '.js') }}"></script> --}}
{{-- <script src="{{ asset('vendor/vue/2.7/vue' . (!config('app.debug') ? '.min' : '') . '.js') }}"></script> --}}
@endpush
@section('content')

View File

@ -3,7 +3,7 @@
@section('body-class', 'page-cart')
@push('header')
<script src="{{ asset('vendor/vue/2.6.14/vue' . (!config('app.debug') ? '.min' : '') . '.js') }}"></script>
<script src="{{ asset('vendor/vue/2.7/vue' . (!config('app.debug') ? '.min' : '') . '.js') }}"></script>
<script src="{{ asset('vendor/element-ui/2.15.6/js.js') }}"></script>
<link rel="stylesheet" href="{{ asset('vendor/element-ui/2.15.6/css.css') }}">
@endpush

View File

@ -63,8 +63,8 @@
</div>
</div>
<div class="p-4">
<a href="{{ shop_route('checkout.index') }}" class="btn w-100 btn-dark to-checkout {{ !$check ? 'disabled' : '' }}">{{ __('shop/carts.to_checkout') }}</a>
<a href="{{ shop_route('carts.index') }}" class="btn w-100 btn-outline-dark mt-2">{{ __('shop/carts.check_cart') }}</a>
<a href="{{ shop_route('checkout.index') }}" class="btn w-100 fw-bold btn-dark to-checkout {{ !$check ? 'disabled' : '' }}">{{ __('shop/carts.to_checkout') }}</a>
<a href="{{ shop_route('carts.index') }}" class="btn w-100 fw-bold btn-outline-dark mt-2">{{ __('shop/carts.check_cart') }}</a>
</div>
</div>
@endif

View File

@ -3,7 +3,7 @@
@section('body-class', 'page-checkout')
@push('header')
<script src="{{ asset('vendor/vue/2.6.14/vue' . (!config('app.debug') ? '.min' : '') . '.js') }}"></script>
<script src="{{ asset('vendor/vue/2.7/vue' . (!config('app.debug') ? '.min' : '') . '.js') }}"></script>
<script src="{{ asset('vendor/element-ui/2.15.6/js.js') }}"></script>
<link rel="stylesheet" href="{{ asset('vendor/element-ui/2.15.6/css.css') }}">
@endpush

View File

@ -0,0 +1,10 @@
@if ($design)
<div class="module-edit">
<div class="edit-wrap">
<div class="down" data-bs-toggle="tooltip" data-bs-placement="top" data-bs-title="{{ __('admin/builder.move_down') }}"><i class="bi bi-chevron-down"></i></div>
<div class="up" data-bs-toggle="tooltip" data-bs-placement="top" data-bs-title="{{ __('admin/builder.move_up') }}"><i class="bi bi-chevron-up"></i></div>
<div class="delete" data-bs-toggle="tooltip" data-bs-placement="top" data-bs-title="{{ __('common.delete') }}"><i class="bi bi-x-lg"></i></div>
<div class="edit" data-bs-toggle="tooltip" data-bs-placement="top" data-bs-title="{{ __('common.edit') }}"><i class="bi bi-pencil-square"></i></div>
</div>
</div>
@endif

View File

@ -1,17 +1,7 @@
<section class="module-item {{ $design ? 'module-item-design' : ''}}" id="module-{{ $module_id }}">
@if ($design)
<div class="module-edit">
<div class="edit-wrap">
<div class="down"><i class="bi bi-chevron-down"></i></div>
<div class="up"><i class="bi bi-chevron-up"></i></div>
<div class="delete"><i class="bi bi-x-lg"></i></div>
<div class="edit"><i class="bi bi-pencil-square"></i></div>
</div>
</div>
@endif
@include('design._partial._module_tool')
<div class="module-info module-brand mb-3 mb-md-5">
{{-- {{ dd($content) }} --}}
<div class="module-title">{{ $content['title'] }}</div>
<div class="container">
<div class="row">

View File

@ -1,16 +1,7 @@
<section class="module-item {{ $design ? 'module-item-design' : ''}}" id="module-{{ $module_id }}">
@if ($design)
<div class="module-edit">
<div class="edit-wrap">
<div class="down"><i class="bi bi-chevron-down"></i></div>
<div class="up"><i class="bi bi-chevron-up"></i></div>
<div class="delete"><i class="bi bi-x-lg"></i></div>
<div class="edit"><i class="bi bi-pencil-square"></i></div>
</div>
</div>
@endif
@include('design._partial._module_tool')
<div class="module-image-plus module-info {{ !$content['full'] ? 'container' : '' }} mb-3 mb-md-5 d-flex justify-content-center">
<div class="module-image-banner module-info {{ !$content['full'] ? 'container' : '' }} mb-3 mb-md-5 d-flex justify-content-center">
<div class="container{{ $content['full'] ? '-fluid' : '' }} d-flex justify-content-center">
<a href="{{ $content['images'][0]['link']['link'] ?: 'javascript:void(0)' }}"><img src="{{ $content['images'][0]['image'] }}" class="img-fluid"></a>
</div>

View File

@ -1,14 +1,5 @@
<section class="module-item {{ $design ? 'module-item-design' : ''}}" id="module-{{ $module_id }}">
@if ($design)
<div class="module-edit">
<div class="edit-wrap">
<div class="down"><i class="bi bi-chevron-down"></i></div>
<div class="up"><i class="bi bi-chevron-up"></i></div>
<div class="delete"><i class="bi bi-x-lg"></i></div>
<div class="edit"><i class="bi bi-pencil-square"></i></div>
</div>
</div>
@endif
@include('design._partial._module_tool')
<div class="module-image-plus module-info mb-3 mb-md-5">
<div class="container">

View File

@ -4,16 +4,8 @@
@endpush
<section class="module-item {{ $design ? 'module-item-design' : ''}}" id="module-{{ $module_id }}">
@if ($design)
<div class="module-edit">
<div class="edit-wrap">
<div class="down"><i class="bi bi-chevron-down"></i></div>
<div class="up"><i class="bi bi-chevron-up"></i></div>
<div class="delete"><i class="bi bi-x-lg"></i></div>
<div class="edit"><i class="bi bi-pencil-square"></i></div>
</div>
</div>
@endif
@include('design._partial._module_tool')
<div class="module-info mb-3 mb-md-5 {{ !$content['full'] ? 'container' : '' }}">
<div class="swiper module-swiper-{{ $module_id }} module-slideshow">
<div class="swiper-wrapper">

View File

@ -1,14 +1,6 @@
<section class="module-item {{ $design ? 'module-item-design' : ''}}" id="module-{{ $module_id }}">
@if ($design)
<div class="module-edit">
<div class="edit-wrap">
<div class="down"><i class="bi bi-chevron-down"></i></div>
<div class="up"><i class="bi bi-chevron-up"></i></div>
<div class="delete"><i class="bi bi-x-lg"></i></div>
<div class="edit"><i class="bi bi-pencil-square"></i></div>
</div>
</div>
@endif
@include('design._partial._module_tool')
<div class="module-info module-tab-product">
<div class="module-title">{{ $content['title'] }}</div>
<div class="container">

View File

@ -13,7 +13,7 @@
<script src="{{ asset('vendor/jquery/jquery-3.6.0.min.js') }}"></script>
<script src="{{ asset('vendor/layer/3.5.1/layer.js') }}"></script>
<link rel="shortcut icon" href="{{ image_origin(system_setting('base.favicon')) }}">
<script src="{{ asset('vendor/bootstrap/5.1.3/js/bootstrap.min.js') }}"></script>
<script src="{{ asset('vendor/bootstrap/5.1.3/js/bootstrap.bundle.min.js') }}"></script>
<script src="{{ mix('/build/beike/shop/default/js/app.js') }}"></script>
<link rel="stylesheet" type="text/css" href="{{ mix('/build/beike/shop/default/css/app.css') }}">
@if (system_setting('base.head_code'))

View File

@ -5,7 +5,7 @@
@section('description', $product['meta_description'] ?: system_setting('base.meta_description'))
@push('header')
<script src="{{ asset('vendor/vue/2.6.14/vue' . (!config('app.debug') ? '.min' : '') . '.js') }}"></script>
<script src="{{ asset('vendor/vue/2.7/vue' . (!config('app.debug') ? '.min' : '') . '.js') }}"></script>
<script src="{{ asset('vendor/swiper/swiper-bundle.min.js') }}"></script>
<script src="{{ asset('vendor/zoom/jquery.zoom.min.js') }}"></script>
<link rel="stylesheet" href="{{ asset('vendor/swiper/swiper-bundle.min.css') }}">
@ -112,20 +112,20 @@
</div>
</div>
<button
class="btn btn-outline-dark ms-md-3 add-cart"
class="btn btn-outline-dark ms-md-3 add-cart fw-bold"
:disabled="!product.quantity"
@click="addCart(false, this)"
><i class="bi bi-cart-fill me-1"></i>{{ __('shop/products.add_to_cart') }}
</button>
<button
class="btn btn-dark ms-3"
class="btn btn-dark ms-3 fw-bold"
:disabled="!product.quantity"
@click="addCart(true, this)"
><i class="bi bi-bag-fill me-1"></i>{{ __('shop/products.buy_now') }}
</button>
</div>
<div class="add-wishlist">
<button class="btn btn-link ps-0 text-dark" data-in-wishlist="{{ $product['in_wishlist'] }}" onclick="bk.addWishlist('{{ $product['id'] }}', this)">
<button class="btn btn-link ps-0 text-secondary" data-in-wishlist="{{ $product['in_wishlist'] }}" onclick="bk.addWishlist('{{ $product['id'] }}', this)">
<i class="bi bi-heart{{ $product['in_wishlist'] ? '-fill' : '' }} me-1"></i> {{ __('shop/products.add_to_favorites') }}
</button>
</div>