提交代码
This commit is contained in:
32
resources/js/app.js
Normal file
32
resources/js/app.js
Normal file
@@ -0,0 +1,32 @@
|
||||
/**
|
||||
* First we will load all of this project's JavaScript dependencies which
|
||||
* includes Vue and other libraries. It is a great starting point when
|
||||
* building robust, powerful web applications using Vue and Laravel.
|
||||
*/
|
||||
|
||||
require('./bootstrap');
|
||||
|
||||
window.Vue = require('vue');
|
||||
|
||||
/**
|
||||
* The following block of code may be used to automatically register your
|
||||
* Vue components. It will recursively scan this directory for the Vue
|
||||
* components and automatically register them with their "basename".
|
||||
*
|
||||
* Eg. ./components/ExampleComponent.vue -> <example-component></example-component>
|
||||
*/
|
||||
|
||||
// const files = require.context('./', true, /\.vue$/i);
|
||||
// files.keys().map(key => Vue.component(key.split('/').pop().split('.')[0], files(key).default));
|
||||
|
||||
Vue.component('example-component', require('./components/ExampleComponent.vue').default);
|
||||
|
||||
/**
|
||||
* Next, we will create a fresh Vue application instance and attach it to
|
||||
* the page. Then, you may begin adding components to this application
|
||||
* or customize the JavaScript scaffolding to fit your unique needs.
|
||||
*/
|
||||
|
||||
const app = new Vue({
|
||||
el: '#app',
|
||||
});
|
||||
41
resources/js/bootstrap.js
vendored
Normal file
41
resources/js/bootstrap.js
vendored
Normal file
@@ -0,0 +1,41 @@
|
||||
window._ = require('lodash');
|
||||
|
||||
/**
|
||||
* We'll load jQuery and the Bootstrap jQuery plugin which provides support
|
||||
* for JavaScript based Bootstrap features such as modals and tabs. This
|
||||
* code may be modified to fit the specific needs of your application.
|
||||
*/
|
||||
|
||||
try {
|
||||
window.Popper = require('popper.js').default;
|
||||
window.$ = window.jQuery = require('jquery');
|
||||
|
||||
require('bootstrap');
|
||||
} catch (e) {}
|
||||
|
||||
/**
|
||||
* We'll load the axios HTTP library which allows us to easily issue requests
|
||||
* to our Laravel back-end. This library automatically handles sending the
|
||||
* CSRF token as a header based on the value of the "XSRF" token cookie.
|
||||
*/
|
||||
|
||||
window.axios = require('axios');
|
||||
|
||||
window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest';
|
||||
|
||||
/**
|
||||
* Echo exposes an expressive API for subscribing to channels and listening
|
||||
* for events that are broadcast by Laravel. Echo and event broadcasting
|
||||
* allows your team to easily build robust real-time web applications.
|
||||
*/
|
||||
|
||||
// import Echo from 'laravel-echo';
|
||||
|
||||
// window.Pusher = require('pusher-js');
|
||||
|
||||
// window.Echo = new Echo({
|
||||
// broadcaster: 'pusher',
|
||||
// key: process.env.MIX_PUSHER_APP_KEY,
|
||||
// cluster: process.env.MIX_PUSHER_APP_CLUSTER,
|
||||
// encrypted: true
|
||||
// });
|
||||
23
resources/js/components/ExampleComponent.vue
Normal file
23
resources/js/components/ExampleComponent.vue
Normal file
@@ -0,0 +1,23 @@
|
||||
<template>
|
||||
<div class="container">
|
||||
<div class="row justify-content-center">
|
||||
<div class="col-md-8">
|
||||
<div class="card">
|
||||
<div class="card-header">Example Component</div>
|
||||
|
||||
<div class="card-body">
|
||||
I'm an example component.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
mounted() {
|
||||
console.log('Component mounted.')
|
||||
}
|
||||
}
|
||||
</script>
|
||||
102
resources/lang/ar/admin.php
Normal file
102
resources/lang/ar/admin.php
Normal file
@@ -0,0 +1,102 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'online' => 'متصل',
|
||||
'login' => 'تسجيل الدخول',
|
||||
'logout' => 'تسجيل الخروج',
|
||||
'setting' => 'الضبط',
|
||||
'name' => 'الاسم',
|
||||
'username' => 'اسم المستخدم',
|
||||
'password' => 'الرقم السري',
|
||||
'password_confirmation' => 'تأكيد الرقم السري',
|
||||
'remember_me' => 'تذكرني',
|
||||
'user_setting' => 'ضبط المستخدم',
|
||||
'avatar' => 'الصورة',
|
||||
'list' => 'القائمة',
|
||||
'new' => 'جديد',
|
||||
'create' => 'انشاء',
|
||||
'delete' => 'مسح',
|
||||
'remove' => 'حذف',
|
||||
'edit' => 'تعديل',
|
||||
'view' => 'عرض',
|
||||
'continue_editing' => 'مواصلة التحرير',
|
||||
'continue_creating' => 'تواصل خلق',
|
||||
'detail' => 'التفاصيل',
|
||||
'browse' => 'تصفح',
|
||||
'reset' => 'تفريغ',
|
||||
'export' => 'تصدير',
|
||||
'batch_delete' => 'مسح بالجملة',
|
||||
'save' => 'حفظ',
|
||||
'refresh' => 'تحديث',
|
||||
'order' => 'ترتيب',
|
||||
'expand' => 'تكبير',
|
||||
'collapse' => 'تصغير',
|
||||
'filter' => 'تصنيف',
|
||||
'search' => 'بحث',
|
||||
'close' => 'اغلاق',
|
||||
'show' => 'عرض',
|
||||
'entries' => 'المدخلات',
|
||||
'captcha' => 'كود التحقق',
|
||||
'action' => 'الحدث',
|
||||
'title' => 'العنوان',
|
||||
'description' => 'الوصف',
|
||||
'back' => 'عودة',
|
||||
'back_to_list' => 'العودة الى القائمة',
|
||||
'submit' => 'ارسال',
|
||||
'menu' => 'القائمة',
|
||||
'input' => 'المدخل',
|
||||
'succeeded' => 'تمت بنجاح',
|
||||
'failed' => 'فشل',
|
||||
'delete_confirm' => 'هل انت متاكد من مسح هذا العنصر ',
|
||||
'delete_succeeded' => 'تم الحذف بنجاح ! ',
|
||||
'delete_failed' => 'فشل الحذف !',
|
||||
'update_succeeded' => 'تم التعديل بنجاح !',
|
||||
'save_succeeded' => 'تم الحفظ !',
|
||||
'refresh_succeeded' => 'تم التحديث !',
|
||||
'login_successful' => 'تم تسجيل الدخول بنجاح',
|
||||
'choose' => 'اختر',
|
||||
'choose_file' => 'اختر الملف',
|
||||
'choose_image' => 'اختر الصورة',
|
||||
'more' => 'المزيد',
|
||||
'deny' => 'ليس لديك الاذن',
|
||||
'administrator' => 'مسئول',
|
||||
'roles' => 'القواعد',
|
||||
'permissions' => 'الصلاحيات',
|
||||
'slug' => 'المعرف',
|
||||
'created_at' => 'تاريخ الانشاء',
|
||||
'updated_at' => 'تاريخ التعديل',
|
||||
'alert' => 'تحذير',
|
||||
'parent_id' => 'الاصل',
|
||||
'icon' => 'الرمز',
|
||||
'uri' => 'URI',
|
||||
'operation_log' => 'سجل التشغيل',
|
||||
'parent_select_error' => 'خطأ في تحديد الاصل',
|
||||
'pagination' => [
|
||||
'range' => 'عرض :first الى :last من :total المدخلات',
|
||||
],
|
||||
'role' => 'القاعدة',
|
||||
'permission' => 'الصلاحية',
|
||||
'route' => 'المسار',
|
||||
'confirm' => 'تأكيد',
|
||||
'cancel' => 'إلغاء',
|
||||
'http' => [
|
||||
'method' => 'HTTP method',
|
||||
'path' => 'HTTP path',
|
||||
],
|
||||
'all_methods_if_empty' => 'كل الوسائل فارغة',
|
||||
'all' => 'الكل',
|
||||
'current_page' => 'الصفحة الحالية',
|
||||
'selected_rows' => 'الصفوف المختارة',
|
||||
'upload' => 'رفع',
|
||||
'new_folder' => 'مجلد جديد',
|
||||
'time' => 'الوقت',
|
||||
'size' => 'الحجم',
|
||||
'listbox' => [
|
||||
'text_total' => 'عرض الكل {0}',
|
||||
'text_empty' => 'قائمة فارغة',
|
||||
'filtered' => '{0} / {1}',
|
||||
'filter_clear' => 'عرض الكل',
|
||||
'filter_placeholder' => 'تنقية',
|
||||
],
|
||||
'menu_titles' => [],
|
||||
];
|
||||
102
resources/lang/az/admin.php
Normal file
102
resources/lang/az/admin.php
Normal file
@@ -0,0 +1,102 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'online' => 'Aktiv',
|
||||
'login' => 'Giriş',
|
||||
'logout' => 'Çıxış',
|
||||
'setting' => 'Ayarlar',
|
||||
'name' => 'Ad',
|
||||
'username' => 'İstifadəçi adı',
|
||||
'password' => 'Şifrə',
|
||||
'password_confirmation' => 'Şifrənin tekrarı',
|
||||
'remember_me' => 'Məni xatırla',
|
||||
'user_setting' => 'İstifadəçi ayarları',
|
||||
'avatar' => 'Profil şəkli',
|
||||
'list' => 'List',
|
||||
'new' => 'Yeni',
|
||||
'create' => 'Yarat',
|
||||
'delete' => 'Sil',
|
||||
'remove' => 'Kənarlaşdırın',
|
||||
'edit' => 'Yenilə',
|
||||
'view' => 'Bax',
|
||||
'detail' => 'Detallar',
|
||||
'browse' => 'Göz atın',
|
||||
'reset' => 'Təmizlə',
|
||||
'export' => 'İxrac edin',
|
||||
'batch_delete' => 'Hamısını sil',
|
||||
'save' => 'Yaddaşa ver',
|
||||
'refresh' => 'Yenile',
|
||||
'order' => 'Sırala',
|
||||
'expand' => 'Genişlət',
|
||||
'collapse' => 'Daralt',
|
||||
'filter' => 'Filtrlə',
|
||||
'search' => 'axtarış',
|
||||
'close' => 'Bağla',
|
||||
'show' => 'Göstər',
|
||||
'entries' => 'qeydlər',
|
||||
'captcha' => 'Doğrulama',
|
||||
'action' => 'Fəaliyyət',
|
||||
'title' => 'Başlıq',
|
||||
'description' => 'Açıqlama',
|
||||
'back' => 'Geri',
|
||||
'back_to_list' => 'Listə geri qayıt',
|
||||
'submit' => 'Göndər',
|
||||
'continue_editing' => 'Redaktəyə davam et',
|
||||
'continue_creating' => 'Yaratmağa davam et',
|
||||
'menu' => 'Menyu',
|
||||
'input' => 'Giriş',
|
||||
'succeeded' => 'Uğurlu',
|
||||
'failed' => 'Xəta baş verdi',
|
||||
'delete_confirm' => 'Silmək istədiyinizə əminsiniz?',
|
||||
'delete_succeeded' => 'Uğurla silindi!',
|
||||
'delete_failed' => 'Silinərkən xəta baş verdi!',
|
||||
'update_succeeded' => 'Uğurla yeniləndi!',
|
||||
'save_succeeded' => 'Uğurla yadda saxlanıldı!',
|
||||
'refresh_succeeded' => 'Uğurla yeniləndi!',
|
||||
'login_successful' => 'Giriş uğurlu oldu',
|
||||
'choose' => 'Seçin',
|
||||
'choose_file' => 'Fayl seçin',
|
||||
'choose_image' => 'Şəkil seçin',
|
||||
'more' => 'Daha çox',
|
||||
'deny' => 'İcazə yoxdur',
|
||||
'administrator' => 'Rəhbər',
|
||||
'roles' => 'Rollar',
|
||||
'permissions' => 'İcazələr',
|
||||
'slug' => 'Qalıcı link',
|
||||
'created_at' => 'Yaradılma tarixi',
|
||||
'updated_at' => 'Yenilənmə tarixi',
|
||||
'alert' => 'Xəbərdarlıq',
|
||||
'parent_id' => 'Valideyn',
|
||||
'icon' => 'İkon',
|
||||
'uri' => 'URL',
|
||||
'operation_log' => 'Əməliyyat tarixçəsi',
|
||||
'parent_select_error' => 'Üst xəta',
|
||||
'pagination' => [
|
||||
'range' => ':total qeyd içindən :first dən :last -ə kimi',
|
||||
],
|
||||
'role' => 'Rol',
|
||||
'permission' => 'İcazə',
|
||||
'route' => 'Yol',
|
||||
'confirm' => 'Təsdiqlə',
|
||||
'cancel' => 'Ləğv',
|
||||
'http' => [
|
||||
'method' => 'HTTP methodu',
|
||||
'path' => 'HTTP qovluğu',
|
||||
],
|
||||
'all_methods_if_empty' => 'Bütün metodlar boşdursa',
|
||||
'all' => 'Hamısı',
|
||||
'current_page' => 'Cari səhifə',
|
||||
'selected_rows' => 'Seçilənlər',
|
||||
'upload' => 'Yüklə',
|
||||
'new_folder' => 'Yeni qovluq',
|
||||
'time' => 'Zaman',
|
||||
'size' => 'Ölçü',
|
||||
'listbox' => [
|
||||
'text_total' => 'Ümumi {0} qeyd',
|
||||
'text_empty' => 'Boş list',
|
||||
'filtered' => '{0} / {1}',
|
||||
'filter_clear' => 'Hamısını göstər',
|
||||
'filter_placeholder' => 'Filtrlə',
|
||||
],
|
||||
'menu_titles' => [],
|
||||
];
|
||||
107
resources/lang/en/admin.php
Normal file
107
resources/lang/en/admin.php
Normal file
@@ -0,0 +1,107 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'online' => 'Online',
|
||||
'login' => 'Login',
|
||||
'logout' => 'Logout',
|
||||
'setting' => 'Setting',
|
||||
'name' => 'Name',
|
||||
'username' => 'Username',
|
||||
'password' => 'Password',
|
||||
'password_confirmation' => 'Password confirmation',
|
||||
'remember_me' => 'Remember me',
|
||||
'user_setting' => 'User setting',
|
||||
'avatar' => 'Avatar',
|
||||
'list' => 'List',
|
||||
'new' => 'New',
|
||||
'create' => 'Create',
|
||||
'delete' => 'Delete',
|
||||
'remove' => 'Remove',
|
||||
'edit' => 'Edit',
|
||||
'view' => 'View',
|
||||
'continue_editing' => 'Continue editing',
|
||||
'continue_creating' => 'Continue creating',
|
||||
'detail' => 'Detail',
|
||||
'browse' => 'Browse',
|
||||
'reset' => 'Reset',
|
||||
'export' => 'Export',
|
||||
'batch_delete' => 'Batch delete',
|
||||
'save' => 'Save',
|
||||
'refresh' => 'Refresh',
|
||||
'order' => 'Order',
|
||||
'expand' => 'Expand',
|
||||
'collapse' => 'Collapse',
|
||||
'filter' => 'Filter',
|
||||
'search' => 'Search',
|
||||
'close' => 'Close',
|
||||
'show' => 'Show',
|
||||
'entries' => 'entries',
|
||||
'captcha' => 'Captcha',
|
||||
'action' => 'Action',
|
||||
'title' => 'Title',
|
||||
'description' => 'Description',
|
||||
'back' => 'Back',
|
||||
'back_to_list' => 'Back to List',
|
||||
'submit' => 'Submit',
|
||||
'menu' => 'Menu',
|
||||
'input' => 'Input',
|
||||
'succeeded' => 'Succeeded',
|
||||
'failed' => 'Failed',
|
||||
'delete_confirm' => 'Are you sure to delete this item ?',
|
||||
'delete_succeeded' => 'Delete succeeded !',
|
||||
'delete_failed' => 'Delete failed !',
|
||||
'update_succeeded' => 'Update succeeded !',
|
||||
'save_succeeded' => 'Save succeeded !',
|
||||
'refresh_succeeded' => 'Refresh succeeded !',
|
||||
'login_successful' => 'Login successful',
|
||||
'choose' => 'Choose',
|
||||
'choose_file' => 'Select file',
|
||||
'choose_image' => 'Select image',
|
||||
'more' => 'More',
|
||||
'deny' => 'Permission denied',
|
||||
'administrator' => 'Administrator',
|
||||
'roles' => 'Roles',
|
||||
'permissions' => 'Permissions',
|
||||
'slug' => 'Slug',
|
||||
'created_at' => 'Created At',
|
||||
'updated_at' => 'Updated At',
|
||||
'alert' => 'Alert',
|
||||
'parent_id' => 'Parent',
|
||||
'icon' => 'Icon',
|
||||
'uri' => 'URI',
|
||||
'operation_log' => 'Operation log',
|
||||
'parent_select_error' => 'Parent select error',
|
||||
'pagination' => [
|
||||
'range' => 'Showing :first to :last of :total entries',
|
||||
],
|
||||
'role' => 'Role',
|
||||
'permission' => 'Permission',
|
||||
'route' => 'Route',
|
||||
'confirm' => 'Confirm',
|
||||
'cancel' => 'Cancel',
|
||||
'http' => [
|
||||
'method' => 'HTTP method',
|
||||
'path' => 'HTTP path',
|
||||
],
|
||||
'all_methods_if_empty' => 'All methods if empty',
|
||||
'all' => 'All',
|
||||
'current_page' => 'Current page',
|
||||
'selected_rows' => 'Selected rows',
|
||||
'upload' => 'Upload',
|
||||
'new_folder' => 'New folder',
|
||||
'time' => 'Time',
|
||||
'size' => 'Size',
|
||||
'listbox' => [
|
||||
'text_total' => 'Showing all {0}',
|
||||
'text_empty' => 'Empty list',
|
||||
'filtered' => '{0} / {1}',
|
||||
'filter_clear' => 'Show all',
|
||||
'filter_placeholder' => 'Filter',
|
||||
],
|
||||
'grid_items_selected' => '{n} items selected',
|
||||
|
||||
'menu_titles' => [],
|
||||
'prev' => 'Prev',
|
||||
'next' => 'Next',
|
||||
'quick_create' => 'Quick create',
|
||||
];
|
||||
19
resources/lang/en/auth.php
Normal file
19
resources/lang/en/auth.php
Normal file
@@ -0,0 +1,19 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Authentication Language Lines
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| The following language lines are used during authentication for various
|
||||
| messages that we need to display to the user. You are free to modify
|
||||
| these language lines according to your application's requirements.
|
||||
|
|
||||
*/
|
||||
|
||||
'failed' => 'These credentials do not match our records.',
|
||||
'throttle' => 'Too many login attempts. Please try again in :seconds seconds.',
|
||||
|
||||
];
|
||||
19
resources/lang/en/pagination.php
Normal file
19
resources/lang/en/pagination.php
Normal file
@@ -0,0 +1,19 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Pagination Language Lines
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| The following language lines are used by the paginator library to build
|
||||
| the simple pagination links. You are free to change them to anything
|
||||
| you want to customize your views to better match your application.
|
||||
|
|
||||
*/
|
||||
|
||||
'previous' => '« Previous',
|
||||
'next' => 'Next »',
|
||||
|
||||
];
|
||||
22
resources/lang/en/passwords.php
Normal file
22
resources/lang/en/passwords.php
Normal file
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Password Reset Language Lines
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| The following language lines are the default lines which match reasons
|
||||
| that are given by the password broker for a password update attempt
|
||||
| has failed, such as for an invalid token or invalid new password.
|
||||
|
|
||||
*/
|
||||
|
||||
'password' => 'Passwords must be at least eight characters and match the confirmation.',
|
||||
'reset' => 'Your password has been reset!',
|
||||
'sent' => 'We have e-mailed your password reset link!',
|
||||
'token' => 'This password reset token is invalid.',
|
||||
'user' => "We can't find a user with that e-mail address.",
|
||||
|
||||
];
|
||||
150
resources/lang/en/validation.php
Normal file
150
resources/lang/en/validation.php
Normal file
@@ -0,0 +1,150 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Validation Language Lines
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| The following language lines contain the default error messages used by
|
||||
| the validator class. Some of these rules have multiple versions such
|
||||
| as the size rules. Feel free to tweak each of these messages here.
|
||||
|
|
||||
*/
|
||||
|
||||
'accepted' => 'The :attribute must be accepted.',
|
||||
'active_url' => 'The :attribute is not a valid URL.',
|
||||
'after' => 'The :attribute must be a date after :date.',
|
||||
'after_or_equal' => 'The :attribute must be a date after or equal to :date.',
|
||||
'alpha' => 'The :attribute may only contain letters.',
|
||||
'alpha_dash' => 'The :attribute may only contain letters, numbers, dashes and underscores.',
|
||||
'alpha_num' => 'The :attribute may only contain letters and numbers.',
|
||||
'array' => 'The :attribute must be an array.',
|
||||
'before' => 'The :attribute must be a date before :date.',
|
||||
'before_or_equal' => 'The :attribute must be a date before or equal to :date.',
|
||||
'between' => [
|
||||
'numeric' => 'The :attribute must be between :min and :max.',
|
||||
'file' => 'The :attribute must be between :min and :max kilobytes.',
|
||||
'string' => 'The :attribute must be between :min and :max characters.',
|
||||
'array' => 'The :attribute must have between :min and :max items.',
|
||||
],
|
||||
'boolean' => 'The :attribute field must be true or false.',
|
||||
'confirmed' => 'The :attribute confirmation does not match.',
|
||||
'date' => 'The :attribute is not a valid date.',
|
||||
'date_equals' => 'The :attribute must be a date equal to :date.',
|
||||
'date_format' => 'The :attribute does not match the format :format.',
|
||||
'different' => 'The :attribute and :other must be different.',
|
||||
'digits' => 'The :attribute must be :digits digits.',
|
||||
'digits_between' => 'The :attribute must be between :min and :max digits.',
|
||||
'dimensions' => 'The :attribute has invalid image dimensions.',
|
||||
'distinct' => 'The :attribute field has a duplicate value.',
|
||||
'email' => 'The :attribute must be a valid email address.',
|
||||
'ends_with' => 'The :attribute must end with one of the following: :values',
|
||||
'exists' => 'The selected :attribute is invalid.',
|
||||
'file' => 'The :attribute must be a file.',
|
||||
'filled' => 'The :attribute field must have a value.',
|
||||
'gt' => [
|
||||
'numeric' => 'The :attribute must be greater than :value.',
|
||||
'file' => 'The :attribute must be greater than :value kilobytes.',
|
||||
'string' => 'The :attribute must be greater than :value characters.',
|
||||
'array' => 'The :attribute must have more than :value items.',
|
||||
],
|
||||
'gte' => [
|
||||
'numeric' => 'The :attribute must be greater than or equal :value.',
|
||||
'file' => 'The :attribute must be greater than or equal :value kilobytes.',
|
||||
'string' => 'The :attribute must be greater than or equal :value characters.',
|
||||
'array' => 'The :attribute must have :value items or more.',
|
||||
],
|
||||
'image' => 'The :attribute must be an image.',
|
||||
'in' => 'The selected :attribute is invalid.',
|
||||
'in_array' => 'The :attribute field does not exist in :other.',
|
||||
'integer' => 'The :attribute must be an integer.',
|
||||
'ip' => 'The :attribute must be a valid IP address.',
|
||||
'ipv4' => 'The :attribute must be a valid IPv4 address.',
|
||||
'ipv6' => 'The :attribute must be a valid IPv6 address.',
|
||||
'json' => 'The :attribute must be a valid JSON string.',
|
||||
'lt' => [
|
||||
'numeric' => 'The :attribute must be less than :value.',
|
||||
'file' => 'The :attribute must be less than :value kilobytes.',
|
||||
'string' => 'The :attribute must be less than :value characters.',
|
||||
'array' => 'The :attribute must have less than :value items.',
|
||||
],
|
||||
'lte' => [
|
||||
'numeric' => 'The :attribute must be less than or equal :value.',
|
||||
'file' => 'The :attribute must be less than or equal :value kilobytes.',
|
||||
'string' => 'The :attribute must be less than or equal :value characters.',
|
||||
'array' => 'The :attribute must not have more than :value items.',
|
||||
],
|
||||
'max' => [
|
||||
'numeric' => 'The :attribute may not be greater than :max.',
|
||||
'file' => 'The :attribute may not be greater than :max kilobytes.',
|
||||
'string' => 'The :attribute may not be greater than :max characters.',
|
||||
'array' => 'The :attribute may not have more than :max items.',
|
||||
],
|
||||
'mimes' => 'The :attribute must be a file of type: :values.',
|
||||
'mimetypes' => 'The :attribute must be a file of type: :values.',
|
||||
'min' => [
|
||||
'numeric' => 'The :attribute must be at least :min.',
|
||||
'file' => 'The :attribute must be at least :min kilobytes.',
|
||||
'string' => 'The :attribute must be at least :min characters.',
|
||||
'array' => 'The :attribute must have at least :min items.',
|
||||
],
|
||||
'not_in' => 'The selected :attribute is invalid.',
|
||||
'not_regex' => 'The :attribute format is invalid.',
|
||||
'numeric' => 'The :attribute must be a number.',
|
||||
'present' => 'The :attribute field must be present.',
|
||||
'regex' => 'The :attribute format is invalid.',
|
||||
'required' => 'The :attribute field is required.',
|
||||
'required_if' => 'The :attribute field is required when :other is :value.',
|
||||
'required_unless' => 'The :attribute field is required unless :other is in :values.',
|
||||
'required_with' => 'The :attribute field is required when :values is present.',
|
||||
'required_with_all' => 'The :attribute field is required when :values are present.',
|
||||
'required_without' => 'The :attribute field is required when :values is not present.',
|
||||
'required_without_all' => 'The :attribute field is required when none of :values are present.',
|
||||
'same' => 'The :attribute and :other must match.',
|
||||
'size' => [
|
||||
'numeric' => 'The :attribute must be :size.',
|
||||
'file' => 'The :attribute must be :size kilobytes.',
|
||||
'string' => 'The :attribute must be :size characters.',
|
||||
'array' => 'The :attribute must contain :size items.',
|
||||
],
|
||||
'starts_with' => 'The :attribute must start with one of the following: :values',
|
||||
'string' => 'The :attribute must be a string.',
|
||||
'timezone' => 'The :attribute must be a valid zone.',
|
||||
'unique' => 'The :attribute has already been taken.',
|
||||
'uploaded' => 'The :attribute failed to upload.',
|
||||
'url' => 'The :attribute format is invalid.',
|
||||
'uuid' => 'The :attribute must be a valid UUID.',
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Custom Validation Language Lines
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Here you may specify custom validation messages for attributes using the
|
||||
| convention "attribute.rule" to name the lines. This makes it quick to
|
||||
| specify a specific custom language line for a given attribute rule.
|
||||
|
|
||||
*/
|
||||
|
||||
'custom' => [
|
||||
'attribute-name' => [
|
||||
'rule-name' => 'custom-message',
|
||||
],
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Custom Validation Attributes
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| The following language lines are used to swap our attribute placeholder
|
||||
| with something more reader friendly such as "E-Mail Address" instead
|
||||
| of "email". This simply helps us make our message more expressive.
|
||||
|
|
||||
*/
|
||||
|
||||
'attributes' => [],
|
||||
|
||||
];
|
||||
90
resources/lang/es/admin.php
Normal file
90
resources/lang/es/admin.php
Normal file
@@ -0,0 +1,90 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'online' => 'en línea',
|
||||
'login' => 'Iniciar sesión',
|
||||
'logout' => 'Cerrar sesión',
|
||||
'setting' => 'Ajustes',
|
||||
'name' => 'Nombre',
|
||||
'username' => 'Nombre de usuario',
|
||||
'password' => 'Contraseña',
|
||||
'password_confirmation' => 'Confirmación de contraseña',
|
||||
'remember_me' => 'Recordarme',
|
||||
'user_setting' => 'Configuración del usuario',
|
||||
'avatar' => 'Avatar',
|
||||
'list' => 'Lista',
|
||||
'new' => 'Nuevo',
|
||||
'create' => 'Crear',
|
||||
'delete' => 'Eliminar',
|
||||
'remove' => 'Retirar',
|
||||
'edit' => 'Editar',
|
||||
'view' => 'Ver',
|
||||
'continue_editing' => 'Continua editando',
|
||||
'continue_creating' => 'Sigue creando',
|
||||
'detail' => 'Detalle',
|
||||
'browse' => 'vistazo',
|
||||
'reset' => 'Restablecer',
|
||||
'export' => 'Exportar',
|
||||
'batch_delete' => 'Eliminar por lotes',
|
||||
'save' => 'Guardar',
|
||||
'refresh' => 'Refrescar',
|
||||
'order' => 'Ordenar',
|
||||
'expand' => 'Expandir',
|
||||
'collapse' => 'Colapsar',
|
||||
'filter' => 'Filtrar',
|
||||
'search' => 'Buscar',
|
||||
'close' => 'Cerrar',
|
||||
'show' => 'Mostrar',
|
||||
'entries' => 'Entradas',
|
||||
'captcha' => 'Captcha',
|
||||
'action' => 'Acción',
|
||||
'title' => 'Título',
|
||||
'description' => 'Descripción',
|
||||
'back' => 'Volver',
|
||||
'back_to_list' => 'Volver a la lista',
|
||||
'submit' => 'Enviar',
|
||||
'menu' => 'Menú',
|
||||
'input' => 'Entrada',
|
||||
'succeeded' => 'Exitoso',
|
||||
'failed' => 'Fallido',
|
||||
'delete_confirm' => '¿ Esta seguro de eliminar este elemento ?',
|
||||
'delete_succeeded' => '¡ Eliminación exitosa !',
|
||||
'delete_failed' => '¡ Eliminación fallida !',
|
||||
'update_succeeded' => '¡ Actualización correcta !',
|
||||
'save_succeeded' => '¡ Guardar con éxito !',
|
||||
'refresh_succeeded' => '¡ Actualizar correctamente !',
|
||||
'login_successful' => 'Inicio de sesión correcto',
|
||||
'choose' => 'Elegir',
|
||||
'choose_file' => 'Elegir archivo',
|
||||
'choose_image' => 'Elegir imagen',
|
||||
'more' => 'Más',
|
||||
'deny' => 'Permiso denegado',
|
||||
'administrator' => 'Administrador',
|
||||
'roles' => 'Roles',
|
||||
'permissions' => 'Permisos',
|
||||
'slug' => 'Slug',
|
||||
'created_at' => 'Creado el',
|
||||
'updated_at' => 'Actualizado el',
|
||||
'alert' => 'Alerta',
|
||||
'parent_id' => 'Padre',
|
||||
'icon' => 'Icono',
|
||||
'uri' => 'URI',
|
||||
'operation_log' => 'Registro',
|
||||
'parent_select_error' => 'Error al seleccionar el elemento padre',
|
||||
'pagination' => [
|
||||
'range' => 'Mostrando :first a :last de :total elementos',
|
||||
],
|
||||
'role' => 'Rol',
|
||||
'permission' => 'Permiso',
|
||||
'route' => 'Route',
|
||||
'confirm' => 'Confirmar',
|
||||
'cancel' => 'Cancelar',
|
||||
'http' => [
|
||||
'method' => 'HTTP method',
|
||||
'path' => 'HTTP path',
|
||||
],
|
||||
'all' => 'Todas',
|
||||
'current_page' => 'Página actual',
|
||||
'selected_rows' => 'Filas seleccionadas',
|
||||
'menu_titles' => [],
|
||||
];
|
||||
102
resources/lang/fa/admin.php
Normal file
102
resources/lang/fa/admin.php
Normal file
@@ -0,0 +1,102 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'online' => 'آنلاین',
|
||||
'login' => 'ورود',
|
||||
'logout' => 'خروج',
|
||||
'setting' => 'تنظیمات',
|
||||
'name' => 'نام',
|
||||
'username' => 'نام کاربری',
|
||||
'password' => 'کلمه عبور',
|
||||
'password_confirmation' => 'تایید کلمه عبور',
|
||||
'remember_me' => 'من را به خاطر بسپار',
|
||||
'user_setting' => 'تنظیمات کاربر',
|
||||
'avatar' => 'آواتار',
|
||||
'list' => 'لیست',
|
||||
'new' => 'جدید',
|
||||
'create' => 'جدید',
|
||||
'delete' => 'خذف کردن',
|
||||
'remove' => 'پاک کردن',
|
||||
'edit' => 'ویرایش کردن',
|
||||
'view' => 'نمایش',
|
||||
'continue_editing' => 'ادامه ویرایش',
|
||||
'continue_creating' => 'ادامه را ایجاد کنید',
|
||||
'detail' => 'جزئیات',
|
||||
'browse' => 'پیمایش',
|
||||
'reset' => 'نوسازی',
|
||||
'export' => 'خروجی',
|
||||
'batch_delete' => 'حذف دسته ای',
|
||||
'save' => 'ثبت کردن',
|
||||
'refresh' => 'بروز سازی',
|
||||
'order' => 'اولویت',
|
||||
'expand' => 'گسترش',
|
||||
'collapse' => 'بازکردن',
|
||||
'filter' => 'فیلتر کردن',
|
||||
'search' => 'جستجو کردن',
|
||||
'close' => 'بستن',
|
||||
'show' => 'نمایش',
|
||||
'entries' => 'ورودی',
|
||||
'captcha' => 'کپتچا',
|
||||
'action' => 'عملیات',
|
||||
'title' => 'عنوان',
|
||||
'description' => 'توضیحات',
|
||||
'back' => 'بازگشت',
|
||||
'back_to_list' => 'بازگشت به لیست',
|
||||
'submit' => 'ثبت',
|
||||
'menu' => 'منو',
|
||||
'input' => 'ورودی',
|
||||
'succeeded' => 'با موفقیت انجام شد',
|
||||
'failed' => 'نا موفق',
|
||||
'delete_confirm' => 'آیا از حذف این مورد اطمینان دارید؟',
|
||||
'delete_succeeded' => 'حذف موفقیت آمیز انجام شد !',
|
||||
'delete_failed' => 'حذف نا موفق بود !',
|
||||
'update_succeeded' => 'ویرایش با موفقیت انجام شد !',
|
||||
'save_succeeded' => 'ثبت با موفقیت انجام شد !',
|
||||
'refresh_succeeded' => 'بروزسانی با موفقیت انجام شد !',
|
||||
'login_successful' => 'ورود با موفقیت انجام شد',
|
||||
'choose' => 'انتخاب کردن',
|
||||
'choose_file' => 'انتخاب فایل',
|
||||
'choose_image' => 'انتخاب عکس',
|
||||
'more' => 'بیشتر',
|
||||
'deny' => 'دسترسی غیر مجاز',
|
||||
'administrator' => 'ادمین',
|
||||
'roles' => 'دسترسی ها',
|
||||
'permissions' => 'اجازه ها',
|
||||
'slug' => 'نامک',
|
||||
'created_at' => 'ساخته شده در',
|
||||
'updated_at' => 'ویرایش شده در',
|
||||
'alert' => 'هشدار',
|
||||
'parent_id' => 'والد',
|
||||
'icon' => 'آیکون',
|
||||
'uri' => 'آدرس',
|
||||
'operation_log' => 'لاگ عملیاتی',
|
||||
'parent_select_error' => 'انتخاب والد با خطا مواجه شد',
|
||||
'pagination' => [
|
||||
'range' => 'نمایش از :first تا :last از کل :total',
|
||||
],
|
||||
'role' => 'دسترسی ها',
|
||||
'permission' => 'اجازه ها',
|
||||
'route' => 'مسیرها',
|
||||
'confirm' => 'تایید',
|
||||
'cancel' => 'لغو',
|
||||
'http' => [
|
||||
'method' => 'HTTP متد',
|
||||
'path' => 'HTTP مسیر',
|
||||
],
|
||||
'all_methods_if_empty' => 'همه متدها خالی است',
|
||||
'all' => 'همه',
|
||||
'current_page' => 'همین صفحه',
|
||||
'selected_rows' => 'انتخاب سطر',
|
||||
'upload' => 'آپلود',
|
||||
'new_folder' => 'پوشه جدید',
|
||||
'time' => 'زمان',
|
||||
'size' => 'حجم',
|
||||
'listbox' => [
|
||||
'text_total' => 'درحال نمایش همه {0}',
|
||||
'text_empty' => 'لیست خالی است',
|
||||
'filtered' => '{0} / {1}',
|
||||
'filter_clear' => 'نمایش همه',
|
||||
'filter_placeholder' => 'فیلتر کردن',
|
||||
],
|
||||
'menu_titles' => [],
|
||||
];
|
||||
102
resources/lang/fr/admin.php
Normal file
102
resources/lang/fr/admin.php
Normal file
@@ -0,0 +1,102 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'online' => 'En ligne',
|
||||
'login' => 'Connexion',
|
||||
'logout' => 'Déconnexion',
|
||||
'setting' => 'Paramètres',
|
||||
'name' => 'Nom',
|
||||
'username' => 'Nom d\'utilisateur',
|
||||
'password' => 'Mot de passe',
|
||||
'password_confirmation' => 'Confirmez votre mot de passe',
|
||||
'remember_me' => 'Rester connecté',
|
||||
'user_setting' => 'Paramètres',
|
||||
'avatar' => 'Avatar',
|
||||
'list' => 'Liste',
|
||||
'new' => 'Nouveau',
|
||||
'create' => 'Créer',
|
||||
'delete' => 'Supprimer',
|
||||
'remove' => 'Enlèver',
|
||||
'edit' => 'Editer',
|
||||
'view' => 'Voir',
|
||||
'continue_editing' => 'Continuer l\'édition',
|
||||
'continue_creating' => 'Continuer à créer',
|
||||
'detail' => 'Détail',
|
||||
'browse' => 'Naviguer',
|
||||
'reset' => 'Réinitialiser',
|
||||
'export' => 'Exporter',
|
||||
'batch_delete' => 'Supprimer en masse',
|
||||
'save' => 'Sauvegarder',
|
||||
'refresh' => 'Rafraîchir',
|
||||
'order' => 'Commander',
|
||||
'expand' => 'Déplier',
|
||||
'collapse' => 'Replier',
|
||||
'filter' => 'Filtre',
|
||||
'search' => 'Chercher',
|
||||
'close' => 'Fermer',
|
||||
'show' => 'Affiche',
|
||||
'entries' => 'lignes',
|
||||
'captcha' => 'Captcha',
|
||||
'action' => 'Action',
|
||||
'title' => 'Titre',
|
||||
'description' => 'Description',
|
||||
'back' => 'Retourner',
|
||||
'back_to_list' => 'Retourne à la liste',
|
||||
'submit' => 'Soumettre',
|
||||
'menu' => 'Menu',
|
||||
'input' => 'Entrée',
|
||||
'succeeded' => 'Réussi',
|
||||
'failed' => 'Failli',
|
||||
'delete_confirm' => 'Êtes vous bien certain de vouloir supprimer cet élement ?',
|
||||
'delete_succeeded' => 'L\'élement a bien été supprimé !',
|
||||
'delete_failed' => 'L\'effacement a échoué !',
|
||||
'update_succeeded' => 'Changements sont bien mis à jour !',
|
||||
'save_succeeded' => 'Changements sauvés !',
|
||||
'refresh_succeeded' => 'Rafraîchissement réussi !',
|
||||
'login_successful' => 'Connexion réussie',
|
||||
'choose' => 'Choisissez',
|
||||
'choose_file' => 'Choisissez un fichier',
|
||||
'choose_image' => 'Choisissez une image',
|
||||
'more' => 'Plus',
|
||||
'deny' => 'Permission refusée',
|
||||
'administrator' => 'Administrateur',
|
||||
'roles' => 'Rôles',
|
||||
'permissions' => 'Droits',
|
||||
'slug' => 'Slug',
|
||||
'created_at' => 'Créé à',
|
||||
'updated_at' => 'Mis à jour à',
|
||||
'alert' => 'Alerte',
|
||||
'parent_id' => 'Parent',
|
||||
'icon' => 'Icône',
|
||||
'uri' => 'URI',
|
||||
'operation_log' => 'Journal des opérations',
|
||||
'parent_select_error' => 'Parent select erreur',
|
||||
'pagination' => [
|
||||
'range' => ':first à :last de :total lignes',
|
||||
],
|
||||
'role' => 'Rôle',
|
||||
'permission' => 'Permission',
|
||||
'route' => 'Route',
|
||||
'confirm' => 'Confirmer',
|
||||
'cancel' => 'Annuler',
|
||||
'http' => [
|
||||
'method' => 'HTTP méthode',
|
||||
'path' => 'HTTP chemin',
|
||||
],
|
||||
'all_methods_if_empty' => 'Toutes méthodes si vide',
|
||||
'all' => 'Tous',
|
||||
'current_page' => 'La page actuelle',
|
||||
'selected_rows' => 'Les lignes sélectionnées',
|
||||
'upload' => 'Téléverser',
|
||||
'new_folder' => 'Nouveau dossier',
|
||||
'time' => 'Temps',
|
||||
'size' => 'Taille',
|
||||
'listbox' => [
|
||||
'text_total' => 'Affichant toutes {0}',
|
||||
'text_empty' => 'Liste vide',
|
||||
'filtered' => '{0} / {1}',
|
||||
'filter_clear' => 'Affichez tous',
|
||||
'filter_placeholder' => 'Filtre',
|
||||
],
|
||||
'menu_titles' => [],
|
||||
];
|
||||
79
resources/lang/he/admin.php
Normal file
79
resources/lang/he/admin.php
Normal file
@@ -0,0 +1,79 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'online' => 'און ליין',
|
||||
'login' => 'כניסה',
|
||||
'logout' => 'יציאה',
|
||||
'setting' => 'הגדרות',
|
||||
'name' => 'שם',
|
||||
'username' => 'שם משתמש',
|
||||
'password' => 'סיסמא',
|
||||
'password_confirmation' => 'שוב סיסמא',
|
||||
'remember_me' => 'זכור אותי',
|
||||
'user_setting' => 'הגדרות משתמש',
|
||||
'avatar' => 'תמונה',
|
||||
'list' => 'רשימה',
|
||||
'new' => 'חדש',
|
||||
'create' => 'יצירה',
|
||||
'delete' => 'מחיקה',
|
||||
'remove' => 'הסרה',
|
||||
'edit' => 'עריכה',
|
||||
'view' => 'צפייה',
|
||||
'continue_editing' => 'המשך בעריכה',
|
||||
'continue_creating' => 'המשך ליצור',
|
||||
'detail' => 'פרט',
|
||||
'browse' => 'דפדוף',
|
||||
'reset' => 'אתחול',
|
||||
'export' => 'ייצוא',
|
||||
'batch_delete' => 'מחק מסומנים',
|
||||
'save' => 'שמור',
|
||||
'refresh' => 'רענן',
|
||||
'order' => 'סדר',
|
||||
'expand' => 'הרחב',
|
||||
'collapse' => 'פתח',
|
||||
'filter' => 'חיפוש',
|
||||
'search' => 'לחפש',
|
||||
'close' => 'סגור',
|
||||
'show' => 'צפה',
|
||||
'entries' => 'רשומות',
|
||||
'captcha' => 'קאפצ\'ה',
|
||||
'action' => 'פעולה',
|
||||
'title' => 'כותרת',
|
||||
'description' => 'תאור',
|
||||
'back' => 'חזרה',
|
||||
'back_to_list' => 'חזרה לרשימה',
|
||||
'submit' => 'שלח',
|
||||
'menu' => 'תפריט',
|
||||
'input' => 'קלט',
|
||||
'succeeded' => 'הצלחה',
|
||||
'failed' => 'כשלון',
|
||||
'delete_confirm' => 'אתה בטוח שאתה רוצה למחוק?',
|
||||
'delete_succeeded' => 'מחיקה הצליחה',
|
||||
'delete_failed' => 'מחיקה נכשלה',
|
||||
'update_succeeded' => 'עודכן בהצלחה',
|
||||
'save_succeeded' => 'נשמר בהצלחה',
|
||||
'refresh_succeeded' => 'רענון הצליחה',
|
||||
'login_successful' => 'כניסה הצליחה',
|
||||
'choose' => 'בחר',
|
||||
'choose_file' => 'בחר קובץ',
|
||||
'choose_image' => 'בחר תמונה',
|
||||
'more' => 'עוד',
|
||||
'deny' => 'אין הרשאות',
|
||||
'administrator' => 'מנהל מערכת',
|
||||
'roles' => 'תפקידים',
|
||||
'permissions' => 'הרשאות',
|
||||
'slug' => 'טקסט',
|
||||
'created_at' => 'נוצר ב',
|
||||
'updated_at' => 'עודכן ב',
|
||||
'alert' => 'אזהרה',
|
||||
'parent_id' => 'אב',
|
||||
'icon' => 'אייקון',
|
||||
'uri' => 'כתובת',
|
||||
'operation_log' => 'לוג מערכת',
|
||||
'parent_select_error' => 'בעייה בבחירת האב',
|
||||
'pagination' => [
|
||||
'range' => ':last מ :total תוצאות',
|
||||
],
|
||||
|
||||
'menu_titles' => [],
|
||||
];
|
||||
106
resources/lang/id/admin.php
Normal file
106
resources/lang/id/admin.php
Normal file
@@ -0,0 +1,106 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'online' => 'Daring',
|
||||
'login' => 'Masuk',
|
||||
'logout' => 'Keluar',
|
||||
'setting' => 'Pengaturan',
|
||||
'name' => 'Nama',
|
||||
'username' => 'Username',
|
||||
'password' => 'Sandi',
|
||||
'password_confirmation' => 'Konfirmasi Sandi',
|
||||
'remember_me' => 'Ingatkan saya',
|
||||
'user_setting' => 'Pengaturan Pengguna',
|
||||
'avatar' => 'Avatar',
|
||||
'list' => 'Daftar',
|
||||
'new' => 'Baru',
|
||||
'create' => 'Buat',
|
||||
'delete' => 'Hapus',
|
||||
'remove' => 'Hapus',
|
||||
'edit' => 'Ubah',
|
||||
'view' => 'Lihat',
|
||||
'continue_editing' => 'Lanjutkan Pengubahan',
|
||||
'continue_creating' => 'Terus ciptakan',
|
||||
'detail' => 'Detail',
|
||||
'browse' => 'Jelajahi',
|
||||
'reset' => 'Reset',
|
||||
'export' => 'Ekspor',
|
||||
'batch_delete' => 'Hapus massal',
|
||||
'save' => 'Simpan',
|
||||
'refresh' => 'Segarkan',
|
||||
'order' => 'Urutan',
|
||||
'expand' => 'Bentangkan',
|
||||
'collapse' => 'Ciutkan',
|
||||
'filter' => 'Saringan',
|
||||
'search' => 'Cari',
|
||||
'close' => 'Tutup',
|
||||
'show' => 'Perlihatkan',
|
||||
'entries' => 'Masukan',
|
||||
'captcha' => 'Captcha',
|
||||
'action' => 'Aksi',
|
||||
'title' => 'Judul',
|
||||
'description' => 'Deskripsi',
|
||||
'back' => 'Kembali',
|
||||
'back_to_list' => 'Kembali ke daftar',
|
||||
'submit' => 'Submit',
|
||||
'menu' => 'Menu',
|
||||
'input' => 'Masukan',
|
||||
'succeeded' => 'Berhasil',
|
||||
'failed' => 'Gagal',
|
||||
'delete_confirm' => 'Anda yakin ingin menghapus ini ?',
|
||||
'delete_succeeded' => 'Berhasil menghapus !',
|
||||
'delete_failed' => 'Gagal menghapus !',
|
||||
'update_succeeded' => 'Berhasil mengubah !',
|
||||
'save_succeeded' => 'Berhasil menyimpan !',
|
||||
'refresh_succeeded' => 'Berhasil menyegarkan!',
|
||||
'login_successful' => 'Berhasil masuk',
|
||||
'choose' => 'Pilih',
|
||||
'choose_file' => 'Pilih berkas',
|
||||
'choose_image' => 'Pilih gambar',
|
||||
'more' => 'Lebih banyak',
|
||||
'deny' => 'Akses ditolak',
|
||||
'administrator' => 'Administrator',
|
||||
'roles' => 'Aturan',
|
||||
'permissions' => 'Hak Akses',
|
||||
'slug' => 'Slug',
|
||||
'created_at' => 'Dibuat pada',
|
||||
'updated_at' => 'Diubah pada',
|
||||
'alert' => 'Peringatan',
|
||||
'parent_id' => 'Induk',
|
||||
'icon' => 'Ikon',
|
||||
'uri' => 'URI',
|
||||
'operation_log' => 'Riwayat Kegiatan',
|
||||
'parent_select_error' => 'Kesalahan pemilihan induk',
|
||||
'pagination' => [
|
||||
'range' => 'Menampilkan :first dari :last dari :total masukan',
|
||||
],
|
||||
'role' => 'Aturan',
|
||||
'permission' => 'Hak akses',
|
||||
'route' => 'Rute',
|
||||
'confirm' => 'Konfirmasi',
|
||||
'cancel' => 'Batalkan',
|
||||
'http' => [
|
||||
'method' => 'HTTP method',
|
||||
'path' => 'HTTP path',
|
||||
],
|
||||
'all_methods_if_empty' => 'Semua metode kosong',
|
||||
'all' => 'Semua',
|
||||
'current_page' => 'Halaman ini',
|
||||
'selected_rows' => 'Baris terpilih',
|
||||
'upload' => 'Unggah',
|
||||
'new_folder' => 'Folder Baru',
|
||||
'time' => 'Waktu',
|
||||
'size' => 'Ukuran',
|
||||
'listbox' => [
|
||||
'text_total' => 'Semua {0}',
|
||||
'text_empty' => 'Daftar kosong',
|
||||
'filtered' => '{0} / {1}',
|
||||
'filter_clear' => 'Lihat semua',
|
||||
'filter_placeholder' => 'Saringan',
|
||||
],
|
||||
'grid_items_selected' => '{n} Item dipilih',
|
||||
|
||||
'menu_titles' => [],
|
||||
'prev' => 'Sebelumnya',
|
||||
'next' => 'Selanjutnya',
|
||||
];
|
||||
102
resources/lang/ja/admin.php
Normal file
102
resources/lang/ja/admin.php
Normal file
@@ -0,0 +1,102 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'online' => 'オンライン',
|
||||
'login' => 'ログイン',
|
||||
'logout' => 'ログアウト',
|
||||
'setting' => '設定',
|
||||
'name' => '名称',
|
||||
'username' => 'ユーザーID',
|
||||
'password' => 'パスワード',
|
||||
'password_confirmation' => '確認用パスワード',
|
||||
'remember_me' => 'ログイン状態を記憶',
|
||||
'user_setting' => 'ユーザー設定',
|
||||
'avatar' => 'アバター',
|
||||
'list' => '一覧',
|
||||
'new' => '新規',
|
||||
'create' => '作成',
|
||||
'delete' => '削除',
|
||||
'remove' => '消去',
|
||||
'edit' => '編集',
|
||||
'view' => '表示',
|
||||
'continue_editing' => '編集を続ける',
|
||||
'continue_creating' => '作成を続行する',
|
||||
'detail' => '詳細',
|
||||
'browse' => '参照',
|
||||
'reset' => 'リセット',
|
||||
'export' => '出力',
|
||||
'batch_delete' => '一括削除',
|
||||
'save' => '保存',
|
||||
'refresh' => '再読込',
|
||||
'order' => '順序',
|
||||
'expand' => '展開',
|
||||
'collapse' => '縮小',
|
||||
'filter' => 'フィルタ',
|
||||
'search' => 'サーチ',
|
||||
'close' => '閉じる',
|
||||
'show' => '表示',
|
||||
'entries' => '件',
|
||||
'captcha' => 'Captcha',
|
||||
'action' => '操作',
|
||||
'title' => 'タイトル',
|
||||
'description' => '概要',
|
||||
'back' => '戻る',
|
||||
'back_to_list' => '一覧へ戻る',
|
||||
'submit' => '送信',
|
||||
'menu' => 'メニュー',
|
||||
'input' => '入力',
|
||||
'succeeded' => '成功',
|
||||
'failed' => '失敗',
|
||||
'delete_confirm' => '本当に削除しますか?',
|
||||
'delete_succeeded' => '削除しました!',
|
||||
'delete_failed' => '削除に失敗しました!',
|
||||
'update_succeeded' => '更新しました!',
|
||||
'save_succeeded' => '保存しました!',
|
||||
'refresh_succeeded' => '更新しました!',
|
||||
'login_successful' => 'ログインしました!',
|
||||
'choose' => '選択',
|
||||
'choose_file' => 'ファイルを選択',
|
||||
'choose_image' => '画像を選択',
|
||||
'more' => '続き',
|
||||
'deny' => '権限がありません。',
|
||||
'administrator' => '管理者',
|
||||
'roles' => '役割',
|
||||
'permissions' => '権限',
|
||||
'slug' => 'スラッグ',
|
||||
'created_at' => '作成日時',
|
||||
'updated_at' => '更新日時',
|
||||
'alert' => '注意',
|
||||
'parent_id' => '親ID',
|
||||
'icon' => 'アイコン',
|
||||
'uri' => 'URI',
|
||||
'operation_log' => '操作ログ',
|
||||
'parent_select_error' => '親ID選択エラー',
|
||||
'pagination' => [
|
||||
'range' => '全 :total 件中 :first - :last 件目',
|
||||
],
|
||||
'role' => '役割',
|
||||
'permission' => '権限',
|
||||
'route' => 'Route',
|
||||
'confirm' => '確認',
|
||||
'cancel' => '取消',
|
||||
'http' => [
|
||||
'method' => 'HTTP method',
|
||||
'path' => 'HTTP path',
|
||||
],
|
||||
'all_methods_if_empty' => '空欄の場合は全て',
|
||||
'all' => '全て',
|
||||
'current_page' => '現在のページ',
|
||||
'selected_rows' => '選択行のみ',
|
||||
'upload' => 'アップロード',
|
||||
'new_folder' => '新規フォルダ',
|
||||
'time' => '日時',
|
||||
'size' => 'サイズ',
|
||||
'listbox' => [
|
||||
'text_total' => '計 {0} 個のアイテム',
|
||||
'text_empty' => '空のリスト',
|
||||
'filtered' => '{0} / {1}',
|
||||
'filter_clear' => '全て表示',
|
||||
'filter_placeholder' => 'フィルタ',
|
||||
],
|
||||
'menu_titles' => [],
|
||||
];
|
||||
104
resources/lang/ko/admin.php
Normal file
104
resources/lang/ko/admin.php
Normal file
@@ -0,0 +1,104 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'online' => '온라인',
|
||||
'login' => '로그인',
|
||||
'logout' => '로그아웃',
|
||||
'setting' => '설정',
|
||||
'name' => '이름',
|
||||
'username' => '아이디',
|
||||
'password' => '비밀번호',
|
||||
'password_confirmation' => '비밀번호 확인',
|
||||
'remember_me' => '자동로그인',
|
||||
'user_setting' => '사용자 설정',
|
||||
'avatar' => '프로필',
|
||||
'list' => '목록',
|
||||
'new' => '만들기',
|
||||
'create' => '생성',
|
||||
'delete' => '삭제',
|
||||
'remove' => '제거',
|
||||
'edit' => '편집',
|
||||
'view' => '보기',
|
||||
'continue_editing' => '편집',
|
||||
'continue_creating' => '계속 생성하기',
|
||||
'detail' => '세부 사항',
|
||||
'browse' => '찾아보기',
|
||||
'reset' => '초기화',
|
||||
'export' => '내보내기',
|
||||
'batch_delete' => '일괄 삭제',
|
||||
'save' => '저장',
|
||||
'refresh' => '새로고침',
|
||||
'order' => '정렬',
|
||||
'expand' => '확대',
|
||||
'collapse' => '축소',
|
||||
'filter' => '필터',
|
||||
'search' => '검색',
|
||||
'close' => '닫기',
|
||||
'show' => '보기',
|
||||
'entries' => '항목',
|
||||
'captcha' => '캡차',
|
||||
'action' => '동작',
|
||||
'title' => '제목',
|
||||
'description' => '설명',
|
||||
'back' => '돌아가기',
|
||||
'back_to_list' => '목록으로 돌아가기',
|
||||
'submit' => '전송',
|
||||
'menu' => '메뉴',
|
||||
'input' => '입력',
|
||||
'succeeded' => '성공',
|
||||
'failed' => '실패',
|
||||
'delete_confirm' => '이 항목을 삭제하시겠습니까?',
|
||||
'delete_succeeded' => '삭제 성공 !',
|
||||
'delete_failed' => '삭제 실패 !',
|
||||
'update_succeeded' => '수정 성공 !',
|
||||
'save_succeeded' => '저장 성공 !',
|
||||
'refresh_succeeded' => '새로고침 성공 !',
|
||||
'login_successful' => '로그인 성공',
|
||||
'choose' => '선택',
|
||||
'choose_file' => '파일 선택',
|
||||
'choose_image' => '이미지 선택',
|
||||
'more' => '더 보기',
|
||||
'deny' => '권한 거부',
|
||||
'administrator' => '관리자',
|
||||
'roles' => '역할',
|
||||
'permissions' => '권한',
|
||||
'slug' => '',
|
||||
'created_at' => '생성일',
|
||||
'updated_at' => '수정일',
|
||||
'alert' => '경계경보',
|
||||
'parent_id' => '상위',
|
||||
'icon' => '아이콘',
|
||||
'uri' => 'URI',
|
||||
'operation_log' => '작업 로그',
|
||||
'parent_select_error' => '상위 선택 오류',
|
||||
'pagination' => [
|
||||
'range' => '전체 :total, :first 에서 :last 항목',
|
||||
],
|
||||
'role' => '역할',
|
||||
'permission' => '권한',
|
||||
'route' => '경로',
|
||||
'confirm' => '확인',
|
||||
'cancel' => '취소',
|
||||
'http' => [
|
||||
'method' => 'HTTP 방법',
|
||||
'path' => 'HTTP 경로',
|
||||
],
|
||||
'all_methods_if_empty' => '비어 있는 경우 모든 방법',
|
||||
'all' => '전체',
|
||||
'current_page' => '현재 페이지',
|
||||
'selected_rows' => '선택된 행',
|
||||
'upload' => '업로드',
|
||||
'new_folder' => '새 폴더',
|
||||
'time' => '시간',
|
||||
'size' => '크기',
|
||||
'listbox' => [
|
||||
'text_total' => '전체 {0}',
|
||||
'text_empty' => '빈 목록',
|
||||
'filtered' => '{0} / {1}',
|
||||
'filter_clear' => '전체 보기',
|
||||
'filter_placeholder' => '필터',
|
||||
],
|
||||
'grid_items_selected' => '{n} 선택한 항목',
|
||||
|
||||
'menu_titles' => [],
|
||||
];
|
||||
102
resources/lang/ms/admin.php
Normal file
102
resources/lang/ms/admin.php
Normal file
@@ -0,0 +1,102 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'online' => 'Online',
|
||||
'login' => 'Masuk',
|
||||
'logout' => 'Log keluar',
|
||||
'setting' => 'Menetapkan',
|
||||
'name' => 'Nama',
|
||||
'username' => 'Nama pengguna',
|
||||
'password' => 'Kata laluan',
|
||||
'password_confirmation' => 'Sahkan kata laluan',
|
||||
'remember_me' => 'Ingat saya',
|
||||
'user_setting' => 'Tetapan pengguna',
|
||||
'avatar' => 'Avatar',
|
||||
'list' => 'Senarai',
|
||||
'new' => 'Tambah',
|
||||
'create' => 'Buat',
|
||||
'delete' => 'Padam',
|
||||
'remove' => 'Keluarkan',
|
||||
'edit' => 'Edit',
|
||||
'continue_editing' => 'Teruskan mengedit',
|
||||
'continue_creating' => 'Terus mencipta',
|
||||
'view' => 'Lihat',
|
||||
'detail' => 'Terperinci',
|
||||
'browse' => 'Semak imbas',
|
||||
'reset' => 'Tetapkan semula',
|
||||
'export' => 'Eksport',
|
||||
'batch_delete' => 'Padam tanggal',
|
||||
'save' => 'Simpan',
|
||||
'refresh' => 'Muat semula',
|
||||
'order' => 'Isih',
|
||||
'expand' => 'Perluas',
|
||||
'collapse' => 'Runtuh',
|
||||
'filter' => 'Pemeriksaan',
|
||||
'search' => 'Carian',
|
||||
'close' => 'Tutup',
|
||||
'show' => 'Paparan',
|
||||
'entries' => 'Perkara',
|
||||
'captcha' => 'Kod pengesahan',
|
||||
'action' => 'Operasi',
|
||||
'title' => 'Tajuk',
|
||||
'description' => 'Pengenalan',
|
||||
'back' => 'Kembali',
|
||||
'back_to_list' => 'Senarai pemulangan',
|
||||
'submit' => 'Hantar',
|
||||
'menu' => 'Menu',
|
||||
'input' => 'Input',
|
||||
'succeeded' => 'Kejayaan',
|
||||
'failed' => 'Kegagalan',
|
||||
'delete_confirm' => 'Sahkan pemadaman?',
|
||||
'delete_succeeded' => 'Dihapuskan berjaya!',
|
||||
'delete_failed' => 'Padam gagal!',
|
||||
'update_succeeded' => 'Berjaya dikemas kini!',
|
||||
'save_succeeded' => 'Disimpan berjaya!',
|
||||
'refresh_succeeded' => 'Segarkan semula!',
|
||||
'login_successful' => 'Log masuk yang berjaya!',
|
||||
'choose' => 'Pilih',
|
||||
'choose_file' => 'Pilih fail',
|
||||
'choose_image' => 'Pilih gambar',
|
||||
'more' => 'Lebih banyak',
|
||||
'deny' => 'Tiada akses',
|
||||
'administrator' => 'Pentadbir',
|
||||
'roles' => 'Peranan',
|
||||
'permissions' => 'Kebenaran',
|
||||
'slug' => 'Pengenalan',
|
||||
'created_at' => 'Dicipta pada',
|
||||
'updated_at' => 'Dikemaskini pada',
|
||||
'alert' => 'Perhatian',
|
||||
'parent_id' => 'Menu ibu bapa',
|
||||
'icon' => 'Ikon',
|
||||
'uri' => 'Jalan',
|
||||
'operation_log' => 'Log operasi',
|
||||
'parent_select_error' => 'Ralat pemilihan ibu bapa',
|
||||
'pagination' => [
|
||||
'range' => 'Dari :first Untuk :last ,Jumlah :total Perkara',
|
||||
],
|
||||
'role' => 'Peranan',
|
||||
'permission' => 'Kebenaran',
|
||||
'route' => 'Routing',
|
||||
'confirm' => 'Sahkan',
|
||||
'cancel' => 'Batalkan',
|
||||
'http' => [
|
||||
'method' => 'Kaedah HTTP',
|
||||
'path' => 'Laluan HTTP',
|
||||
],
|
||||
'all_methods_if_empty' => 'Kosongkan mungkir kepada semua kaedah',
|
||||
'all' => 'Semua',
|
||||
'current_page' => 'Halaman semasa',
|
||||
'selected_rows' => 'Barisan terpilih',
|
||||
'upload' => 'Muat naik',
|
||||
'new_folder' => 'Folder baru',
|
||||
'time' => 'Masa',
|
||||
'size' => 'Saiz',
|
||||
'listbox' => [
|
||||
'text_total' => 'Jumlah {0} Perkara',
|
||||
'text_empty' => 'Senarai kosong',
|
||||
'filtered' => '{0} / {1}',
|
||||
'filter_clear' => 'Tunjukkan semua',
|
||||
'filter_placeholder' => 'Penapis',
|
||||
],
|
||||
'menu_titles' => [],
|
||||
];
|
||||
102
resources/lang/nl/admin.php
Normal file
102
resources/lang/nl/admin.php
Normal file
@@ -0,0 +1,102 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'online' => 'Online',
|
||||
'login' => 'Aanmelden',
|
||||
'logout' => 'Afmelden',
|
||||
'setting' => 'Instellingen',
|
||||
'name' => 'Naam',
|
||||
'username' => 'Gebruikersnaam',
|
||||
'password' => 'Wachtwoord',
|
||||
'password_confirmation' => 'Wachtwoord bevestigen',
|
||||
'remember_me' => 'Ingelogd blijven',
|
||||
'user_setting' => 'Instellingen',
|
||||
'avatar' => 'Profielfoto',
|
||||
'list' => 'Lijst',
|
||||
'new' => 'Nieuw',
|
||||
'create' => 'Maak',
|
||||
'delete' => 'Wissen',
|
||||
'remove' => 'Verwijder',
|
||||
'edit' => 'Wijzigen',
|
||||
'view' => 'Toon',
|
||||
'continue_editing' => 'Verder editeren',
|
||||
'continue_creating' => 'Doorgaan met maken',
|
||||
'detail' => 'Gedetailleerd',
|
||||
'browse' => 'Selecteer',
|
||||
'reset' => 'Reset',
|
||||
'export' => 'Exporteer',
|
||||
'batch_delete' => 'Verwijder meerdere',
|
||||
'save' => 'Opslaan',
|
||||
'refresh' => 'Vernieuw',
|
||||
'order' => 'Sorteer',
|
||||
'expand' => 'Openklappen',
|
||||
'collapse' => 'Dichtklappen',
|
||||
'filter' => 'Filter',
|
||||
'search' => 'Zoeken',
|
||||
'close' => 'Sluit',
|
||||
'show' => 'Toon',
|
||||
'entries' => 'rijen',
|
||||
'captcha' => 'captcha',
|
||||
'action' => 'Actie',
|
||||
'title' => 'Titel',
|
||||
'description' => 'Omschrijving',
|
||||
'back' => 'Terug',
|
||||
'back_to_list' => 'Terug naar lijst',
|
||||
'submit' => 'Bevestig',
|
||||
'menu' => 'Menu',
|
||||
'input' => 'Input',
|
||||
'succeeded' => 'Gelukt',
|
||||
'failed' => 'Mislukt',
|
||||
'delete_confirm' => 'Bent u zeker dat u dit item wilt verwijderen ?',
|
||||
'delete_succeeded' => 'Verwijderd !',
|
||||
'delete_failed' => 'Kon niet verwijderen !',
|
||||
'update_succeeded' => 'Bijgewerkt !',
|
||||
'save_succeeded' => 'Opgeslaan !',
|
||||
'refresh_succeeded' => 'Vernieuwd !',
|
||||
'login_successful' => 'Ingelogd',
|
||||
'choose' => 'Kies',
|
||||
'choose_file' => 'Kies een bestand',
|
||||
'choose_image' => 'Kies een afbeelding',
|
||||
'more' => 'Meer',
|
||||
'deny' => 'Toegang geweigerd',
|
||||
'administrator' => 'Beheerder',
|
||||
'roles' => 'Rollen',
|
||||
'permissions' => 'Rechten',
|
||||
'slug' => 'Slug',
|
||||
'created_at' => 'Gemaakt op',
|
||||
'updated_at' => 'Gewijzigd op',
|
||||
'alert' => 'Alert',
|
||||
'parent_id' => 'Parent',
|
||||
'icon' => 'Icoon',
|
||||
'uri' => 'URI',
|
||||
'operation_log' => 'Bewerkingslog',
|
||||
'parent_select_error' => '\'Parent select\' fout',
|
||||
'pagination' => [
|
||||
'range' => ':first tot :last van :total rijen',
|
||||
],
|
||||
'role' => 'Rol',
|
||||
'permission' => 'Permissie',
|
||||
'route' => 'Route',
|
||||
'confirm' => 'Bevestig',
|
||||
'cancel' => 'Annuleer',
|
||||
'http' => [
|
||||
'method' => 'HTTP methode',
|
||||
'path' => 'HTTP pad',
|
||||
],
|
||||
'all_methods_if_empty' => 'Alle methodes indien geen geselecteerd',
|
||||
'all' => 'Alle',
|
||||
'current_page' => 'Huidige pagina',
|
||||
'selected_rows' => 'Geselecteerde rijen',
|
||||
'upload' => 'Uploaden',
|
||||
'new_folder' => 'Nieuwe map',
|
||||
'time' => 'Tijd',
|
||||
'size' => 'Grootte',
|
||||
'listbox' => [
|
||||
'text_total' => 'Alle {0} getoond',
|
||||
'text_empty' => 'Lege lijst',
|
||||
'filtered' => '{0} / {1}',
|
||||
'filter_clear' => 'Toon alle',
|
||||
'filter_placeholder' => 'Filter',
|
||||
],
|
||||
'menu_titles' => [],
|
||||
];
|
||||
78
resources/lang/pl/admin.php
Normal file
78
resources/lang/pl/admin.php
Normal file
@@ -0,0 +1,78 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'online' => 'Online',
|
||||
'login' => 'Login',
|
||||
'logout' => 'Logout',
|
||||
'setting' => 'Ustawienia',
|
||||
'name' => 'Nazwa',
|
||||
'username' => 'Użytkownik',
|
||||
'password' => 'Hasło',
|
||||
'password_confirmation' => 'Powtórz hasło',
|
||||
'remember_me' => 'Zapamiętaj mnie',
|
||||
'user_setting' => 'Ustawienia użytkownika',
|
||||
'avatar' => 'Avatar',
|
||||
'list' => 'Lista',
|
||||
'new' => 'Nowy',
|
||||
'create' => 'Utwórz',
|
||||
'delete' => 'Usuń',
|
||||
'remove' => 'Usuń',
|
||||
'edit' => 'Edytuj',
|
||||
'view' => 'Zobacz',
|
||||
'continue_editing' => 'Kontynuuj edycję',
|
||||
'continue_creating' => 'Kontynuuj tworzenie',
|
||||
'detail' => 'Szczegół',
|
||||
'reset' => 'Resetuj',
|
||||
'export' => 'Eksportuj',
|
||||
'batch_delete' => 'Usuń wsadowo',
|
||||
'save' => 'Zapisz',
|
||||
'refresh' => 'Odśwież',
|
||||
'order' => 'Sortuj',
|
||||
'expand' => 'Rozwiń',
|
||||
'collapse' => 'Zwiń',
|
||||
'filter' => 'Filtruj',
|
||||
'search' => 'Szukaj',
|
||||
'close' => 'Zamknij',
|
||||
'show' => 'Wyświetl',
|
||||
'items' => 'element',
|
||||
'entries' => 'wpisy',
|
||||
'captcha' => 'Captcha',
|
||||
'action' => 'Akcja',
|
||||
'title' => 'Tytuł',
|
||||
'description' => 'Opis',
|
||||
'back' => 'Wróć',
|
||||
'back_to_list' => 'Wróć do listy',
|
||||
'submit' => 'Wyślij',
|
||||
'menu' => 'Menu',
|
||||
'input' => 'Pole',
|
||||
'succeeded' => 'Sukces',
|
||||
'failed' => 'Błąd',
|
||||
'delete_confirm' => 'Czy na pewno chcesz usunąć?',
|
||||
'delete_succeeded' => 'Pomyślnie usunięto!',
|
||||
'delete_failed' => 'Usuwawnie nie powiodło się!',
|
||||
'update_succeeded' => 'Pomyślnie zmieniono!',
|
||||
'save_succeeded' => 'Pomyślnie zapisano!',
|
||||
'refresh_succeeded' => 'Pomyślnie odświeżono!',
|
||||
'login_successful' => 'Pomyślnie zalogowano',
|
||||
'choose' => 'Wybierz',
|
||||
'choose_file' => 'Wybierz plik',
|
||||
'choose_image' => 'Wybierz obraz',
|
||||
'more' => 'Więcej',
|
||||
'deny' => 'Brak dostępu',
|
||||
'administrator' => 'Administrator',
|
||||
'roles' => 'Role',
|
||||
'permissions' => 'Uprawnienia',
|
||||
'slug' => 'skrót',
|
||||
'created_at' => 'Utworzono',
|
||||
'updated_at' => 'zmieniono',
|
||||
'alert' => 'Alarm',
|
||||
'parent_id' => 'Rodzic',
|
||||
'icon' => 'Ikona',
|
||||
'uri' => 'URI',
|
||||
'operation_log' => 'Dziennik operacji',
|
||||
'parent_select_error' => 'Wybór rodzica nie powiódł się',
|
||||
'pagination' => [
|
||||
'range' => 'Wyświetlono :first do :last z wszystkich :total',
|
||||
],
|
||||
'menu_titles' => [],
|
||||
];
|
||||
102
resources/lang/pt-BR/admin.php
Normal file
102
resources/lang/pt-BR/admin.php
Normal file
@@ -0,0 +1,102 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'online' => 'Online',
|
||||
'login' => 'Login',
|
||||
'logout' => 'Logout',
|
||||
'setting' => 'Configurações',
|
||||
'name' => 'Nome',
|
||||
'username' => 'Usuário',
|
||||
'password' => 'Senha',
|
||||
'password_confirmation' => 'Confirmação da Senha',
|
||||
'remember_me' => 'Lembrar-me',
|
||||
'user_setting' => 'Configurações do Usuário',
|
||||
'avatar' => 'Avatar',
|
||||
'list' => 'Lista',
|
||||
'new' => 'Novo',
|
||||
'create' => 'Criar',
|
||||
'delete' => 'Apagar',
|
||||
'remove' => 'Remover',
|
||||
'edit' => 'Editar',
|
||||
'view' => 'Visualizar',
|
||||
'continue_editing' => 'Continuar editando',
|
||||
'continue_creating' => 'Continue criando',
|
||||
'detail' => 'Detalhe',
|
||||
'browse' => 'Escolher',
|
||||
'reset' => 'Resetar',
|
||||
'export' => 'Exportar',
|
||||
'batch_delete' => 'Apagar vários',
|
||||
'save' => 'Salvar',
|
||||
'refresh' => 'Atualizar',
|
||||
'order' => 'Ordenar',
|
||||
'expand' => 'Expandir',
|
||||
'collapse' => 'Diminuir',
|
||||
'filter' => 'Filtrar',
|
||||
'search' => 'Pesquisa',
|
||||
'close' => 'Fechar',
|
||||
'show' => 'Mostrar',
|
||||
'entries' => 'Entradas',
|
||||
'captcha' => 'Captcha',
|
||||
'action' => 'Ação',
|
||||
'title' => 'Título',
|
||||
'description' => 'Descrição',
|
||||
'back' => 'Voltar',
|
||||
'back_to_list' => 'Voltar para Listagem',
|
||||
'submit' => 'Submeter',
|
||||
'menu' => 'Menu',
|
||||
'input' => 'Entrada',
|
||||
'succeeded' => 'Completado com Êxito',
|
||||
'failed' => 'Falhou',
|
||||
'delete_confirm' => 'Tem a certeza que deseja apagar este item?',
|
||||
'delete_succeeded' => 'Remoção completada com sucesso!',
|
||||
'delete_failed' => 'Remoção falhou!',
|
||||
'update_succeeded' => 'Atualização completada com sucesso!',
|
||||
'save_succeeded' => 'Gravação completada com sucesso!',
|
||||
'refresh_succeeded' => 'Atualizado com sucesso!',
|
||||
'login_successful' => 'Login com sucesso',
|
||||
'choose' => 'Escolher',
|
||||
'choose_file' => 'Selecionar pasta',
|
||||
'choose_image' => 'Selecionar imagem',
|
||||
'more' => 'Mais',
|
||||
'deny' => 'Permissão Negada',
|
||||
'administrator' => 'Administrador',
|
||||
'roles' => 'Papéis',
|
||||
'permissions' => 'Permissões',
|
||||
'slug' => 'Slug',
|
||||
'created_at' => 'Criado em',
|
||||
'updated_at' => 'Atualizado em',
|
||||
'alert' => 'Alerta',
|
||||
'parent_id' => 'Pai',
|
||||
'icon' => 'Ícone',
|
||||
'uri' => 'URI',
|
||||
'operation_log' => 'Registo de Operações',
|
||||
'parent_select_error' => 'Erro ao selecionar o pai',
|
||||
'pagination' => [
|
||||
'range' => 'Mostrando :first até :last de :total registros',
|
||||
],
|
||||
'role' => 'Papel',
|
||||
'permission' => 'Permissão',
|
||||
'route' => 'Rota',
|
||||
'confirm' => 'Confirmar',
|
||||
'cancel' => 'Cancelar',
|
||||
'http' => [
|
||||
'method' => 'Método HTTP',
|
||||
'path' => 'Caminho HTTP',
|
||||
],
|
||||
'all_methods_if_empty' => 'Todos os métodos por defeito caso vazio.',
|
||||
'all' => 'Tudo',
|
||||
'current_page' => 'Página Atual',
|
||||
'selected_rows' => 'Linhas Selecionadas',
|
||||
'upload' => 'Upload',
|
||||
'new_folder' => 'Nova Pasta',
|
||||
'time' => 'Tempo',
|
||||
'size' => 'Tamanho',
|
||||
'listbox' => [
|
||||
'text_total' => 'Mostrando todos {0}',
|
||||
'text_empty' => 'Listagem Vazia',
|
||||
'filtered' => '{0} / {1}',
|
||||
'filter_clear' => 'Mostrar tudo',
|
||||
'filter_placeholder' => 'Filtrar',
|
||||
],
|
||||
'menu_titles' => [],
|
||||
];
|
||||
102
resources/lang/pt/admin.php
Normal file
102
resources/lang/pt/admin.php
Normal file
@@ -0,0 +1,102 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'online' => 'Online',
|
||||
'login' => 'Login',
|
||||
'logout' => 'Logout',
|
||||
'setting' => 'Configurações',
|
||||
'name' => 'Nome',
|
||||
'username' => 'Nome de Utilizador',
|
||||
'password' => 'Palavra-Passe',
|
||||
'password_confirmation' => 'Confirmação de Palavra-Passe',
|
||||
'remember_me' => 'Lembrar',
|
||||
'user_setting' => 'Configurações de Utilizador',
|
||||
'avatar' => 'Avatar',
|
||||
'list' => 'Lista',
|
||||
'new' => 'Novo',
|
||||
'create' => 'Criar',
|
||||
'delete' => 'Apagar',
|
||||
'remove' => 'Remover',
|
||||
'edit' => 'Editar',
|
||||
'view' => 'Visualizar',
|
||||
'continue_editing' => 'Continuar edição',
|
||||
'continue_creating' => 'Continue criando',
|
||||
'detail' => 'Detalhe',
|
||||
'browse' => 'Escolher',
|
||||
'reset' => 'Reset',
|
||||
'export' => 'Exportar',
|
||||
'batch_delete' => 'Apagar vários',
|
||||
'save' => 'Guardar',
|
||||
'refresh' => 'Actualizar',
|
||||
'order' => 'Ordenar',
|
||||
'expand' => 'Expandir',
|
||||
'collapse' => 'Diminuir',
|
||||
'filter' => 'Filtrar',
|
||||
'search' => 'Pesquisa',
|
||||
'close' => 'Fechar',
|
||||
'show' => 'Mostrar',
|
||||
'entries' => 'Entradas',
|
||||
'captcha' => 'Captcha',
|
||||
'action' => 'Acção',
|
||||
'title' => 'Título',
|
||||
'description' => 'Descrição',
|
||||
'back' => 'Voltar',
|
||||
'back_to_list' => 'Voltar para Listagem',
|
||||
'submit' => 'Submeter',
|
||||
'menu' => 'Menu',
|
||||
'input' => 'Entrada',
|
||||
'succeeded' => 'Completado com Êxito',
|
||||
'failed' => 'Falhou',
|
||||
'delete_confirm' => 'Tem a certeza que deseja apagar este item?',
|
||||
'delete_succeeded' => 'Remoção completada com sucesso!',
|
||||
'delete_failed' => 'Remoção falhou!',
|
||||
'update_succeeded' => 'Actualização completada com sucesso!',
|
||||
'save_succeeded' => 'Gravação completada com sucesso!',
|
||||
'refresh_succeeded' => 'Actualizado com sucesso!',
|
||||
'login_successful' => 'Login com sucesso',
|
||||
'choose' => 'Escolher',
|
||||
'choose_file' => 'Selecionar ficheiro',
|
||||
'choose_image' => 'Selecionar imagem',
|
||||
'more' => 'Mais',
|
||||
'deny' => 'Permissão Negada',
|
||||
'administrator' => 'Administrador',
|
||||
'roles' => 'Papéis',
|
||||
'permissions' => 'Permissões',
|
||||
'slug' => 'Slug',
|
||||
'created_at' => 'Criado em',
|
||||
'updated_at' => 'Actualizado em',
|
||||
'alert' => 'Alerta',
|
||||
'parent_id' => 'Pai',
|
||||
'icon' => 'Icone',
|
||||
'uri' => 'URI',
|
||||
'operation_log' => 'Registo de Operações',
|
||||
'parent_select_error' => 'Erro ao selecionar o pai',
|
||||
'pagination' => [
|
||||
'range' => 'Mostrando :first até :last de :total entradas',
|
||||
],
|
||||
'role' => 'Papel',
|
||||
'permission' => 'Permissão',
|
||||
'route' => 'Rota',
|
||||
'confirm' => 'Confirmar',
|
||||
'cancel' => 'Cancelar',
|
||||
'http' => [
|
||||
'method' => 'Método HTTP',
|
||||
'path' => 'Caminho HTTP',
|
||||
],
|
||||
'all_methods_if_empty' => 'Todos os métodos por defeito caso vazio.',
|
||||
'all' => 'Tudo',
|
||||
'current_page' => 'Página Actual',
|
||||
'selected_rows' => 'Linhas Selecionadas',
|
||||
'upload' => 'Upload',
|
||||
'new_folder' => 'Nova Pasta',
|
||||
'time' => 'Tempo',
|
||||
'size' => 'Tamanho',
|
||||
'listbox' => [
|
||||
'text_total' => 'Mostrando todos {0}',
|
||||
'text_empty' => 'Listagem Vazia',
|
||||
'filtered' => '{0} / {1}',
|
||||
'filter_clear' => 'Mostrar tudo',
|
||||
'filter_placeholder' => 'Filtrar',
|
||||
],
|
||||
'menu_titles' => [],
|
||||
];
|
||||
106
resources/lang/ru/admin.php
Normal file
106
resources/lang/ru/admin.php
Normal file
@@ -0,0 +1,106 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'online' => 'Онлайн',
|
||||
'login' => 'Войти',
|
||||
'logout' => 'Выйти',
|
||||
'setting' => 'Настройка',
|
||||
'name' => 'Имя',
|
||||
'username' => 'Логин',
|
||||
'password' => 'Пароль',
|
||||
'password_confirmation' => 'Подтверждение пароля',
|
||||
'remember_me' => 'Запомнить',
|
||||
'user_setting' => 'Настройки пользователя',
|
||||
'avatar' => 'Аватар',
|
||||
'list' => 'Список',
|
||||
'new' => 'Добавить',
|
||||
'create' => 'Новая запись',
|
||||
'delete' => 'Удалить',
|
||||
'remove' => 'Удалить',
|
||||
'edit' => 'Редактировать',
|
||||
'view' => 'Посмотреть',
|
||||
'continue_editing' => 'Продолжить редактировать',
|
||||
'continue_creating' => 'Продолжить создание',
|
||||
'detail' => 'Подробно',
|
||||
'browse' => 'Выбор файла',
|
||||
'reset' => 'Сбросить',
|
||||
'export' => 'Экспорт',
|
||||
'batch_delete' => 'Пакетное удаление',
|
||||
'save' => 'Сохранить',
|
||||
'refresh' => 'Обновить',
|
||||
'order' => 'Сортировка',
|
||||
'expand' => 'Развернуть',
|
||||
'collapse' => 'Свернуть',
|
||||
'filter' => 'Фильтр',
|
||||
'search' => 'Поиск',
|
||||
'close' => 'Закрыть',
|
||||
'show' => 'Показать',
|
||||
'entries' => 'записей',
|
||||
'captcha' => 'Защитный код',
|
||||
'action' => 'Опции',
|
||||
'title' => 'Название',
|
||||
'description' => 'Описание',
|
||||
'back' => 'Назад',
|
||||
'back_to_list' => 'Вернуться к списку',
|
||||
'submit' => 'Отправить',
|
||||
'menu' => 'Меню',
|
||||
'input' => 'Ввод',
|
||||
'succeeded' => 'Завершена',
|
||||
'failed' => 'Ошибка',
|
||||
'delete_confirm' => 'Вы уверены, что хотите удалить эту запись?',
|
||||
'delete_succeeded' => 'Успешно удалено!',
|
||||
'delete_failed' => 'Ошибка при удалении!',
|
||||
'update_succeeded' => 'Успешно изменено!',
|
||||
'save_succeeded' => 'Успешно сохранено!',
|
||||
'refresh_succeeded' => 'Успешно обновлено!',
|
||||
'login_successful' => 'Авторизация успешна',
|
||||
'choose' => 'Выбрать',
|
||||
'choose_file' => 'Выбор файла',
|
||||
'choose_image' => 'Выбор изображения',
|
||||
'more' => 'Еще',
|
||||
'deny' => 'Доступ запрещен',
|
||||
'administrator' => 'Администратор',
|
||||
'roles' => 'Роли',
|
||||
'permissions' => 'Доступ',
|
||||
'slug' => 'Слаг',
|
||||
'created_at' => 'Дата создания',
|
||||
'updated_at' => 'Дата обновления',
|
||||
'alert' => 'Ошибка',
|
||||
'parent_id' => 'Родитель',
|
||||
'icon' => 'Иконка',
|
||||
'uri' => 'URI',
|
||||
'operation_log' => 'Журнал событий',
|
||||
'parent_select_error' => 'Ошибка при выборе родителя',
|
||||
'pagination' => [
|
||||
'range' => 'Записи с :first по :last из :total',
|
||||
],
|
||||
'role' => 'Роль',
|
||||
'permission' => 'Доступ',
|
||||
'route' => 'Путь',
|
||||
'confirm' => 'Подтвердить',
|
||||
'cancel' => 'Отмена',
|
||||
'http' => [
|
||||
'method' => 'HTTP метод',
|
||||
'path' => 'HTTP путь',
|
||||
],
|
||||
'all_methods_if_empty' => 'Все методы, если не указано',
|
||||
'all' => 'Все',
|
||||
'current_page' => 'Текущая страница',
|
||||
'selected_rows' => 'Выбранные строки',
|
||||
'upload' => 'Загрузить',
|
||||
'new_folder' => 'Новая папка',
|
||||
'time' => 'Время',
|
||||
'size' => 'Размер',
|
||||
'listbox' => [
|
||||
'text_total' => 'Все: {0}',
|
||||
'text_empty' => 'Пустой список',
|
||||
'filtered' => '{0} / {1}',
|
||||
'filter_clear' => 'Показать все',
|
||||
'filter_placeholder' => 'Фильтр',
|
||||
],
|
||||
'grid_items_selected' => '{n} элементов выбрано',
|
||||
|
||||
'menu_titles' => [],
|
||||
'prev' => 'Предыдущая',
|
||||
'next' => 'Следующая',
|
||||
];
|
||||
107
resources/lang/tr/admin.php
Normal file
107
resources/lang/tr/admin.php
Normal file
@@ -0,0 +1,107 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'online' => 'Aktif',
|
||||
'login' => 'Giriş',
|
||||
'logout' => 'Çıkış',
|
||||
'setting' => 'Ayarlar',
|
||||
'name' => 'İsim',
|
||||
'username' => 'Kullanıcı adı',
|
||||
'password' => 'Parola',
|
||||
'password_confirmation' => 'Parola tekrar',
|
||||
'remember_me' => 'Beni hatırla',
|
||||
'user_setting' => 'Kullanıcı ayarları',
|
||||
'avatar' => 'Profil resmi',
|
||||
'list' => 'Liste',
|
||||
'new' => 'Yeni',
|
||||
'create' => 'Oluştur',
|
||||
'delete' => 'Sil',
|
||||
'remove' => 'Kaldır',
|
||||
'edit' => 'Düzenle',
|
||||
'view' => 'Gör',
|
||||
'detail' => 'Ayrıntılar',
|
||||
'browse' => 'Gözat',
|
||||
'reset' => 'Temizle',
|
||||
'export' => 'Dışarı aktar',
|
||||
'batch_delete' => 'Toplu sil',
|
||||
'save' => 'Kaydet',
|
||||
'refresh' => 'Yenile',
|
||||
'order' => 'Sırala',
|
||||
'expand' => 'Genişlet',
|
||||
'collapse' => 'Daralt',
|
||||
'filter' => 'Filtrele',
|
||||
'search' => 'arama',
|
||||
'close' => 'Kapat',
|
||||
'show' => 'Göster',
|
||||
'entries' => 'kayıtlar',
|
||||
'captcha' => 'Doğrulama',
|
||||
'action' => 'İşlem',
|
||||
'title' => 'Başlık',
|
||||
'description' => 'Açıklama',
|
||||
'back' => 'Geri',
|
||||
'back_to_list' => 'Listeye dön',
|
||||
'submit' => 'Gönder',
|
||||
'continue_editing' => 'Düzenlemeye devam et',
|
||||
'continue_creating' => 'Oluşturmaya devam et',
|
||||
'menu' => 'Menü',
|
||||
'input' => 'Giriş',
|
||||
'succeeded' => 'Başarılı',
|
||||
'failed' => 'Hatalı',
|
||||
'delete_confirm' => 'Silmek istediğinize emin misiniz?',
|
||||
'delete_succeeded' => 'Silme başarılı!',
|
||||
'delete_failed' => 'Silme hatalı!',
|
||||
'update_succeeded' => 'Güncellemen başarılı!',
|
||||
'save_succeeded' => 'Kaydetme başarılı!',
|
||||
'refresh_succeeded' => 'Yenileme başarılı!',
|
||||
'login_successful' => 'Giriş başarılı',
|
||||
'choose' => 'Seçin',
|
||||
'choose_file' => 'Dosya seçin',
|
||||
'choose_image' => 'Resim seçin',
|
||||
'more' => 'Daha',
|
||||
'deny' => 'İzin yok',
|
||||
'administrator' => 'Yönetici',
|
||||
'roles' => 'Roller',
|
||||
'permissions' => 'İzinler',
|
||||
'slug' => 'Kalıcı link',
|
||||
'created_at' => 'Oluşturulma tarihi',
|
||||
'updated_at' => 'Güncellenme tarihi',
|
||||
'alert' => 'Uyarı',
|
||||
'parent_id' => 'Ebeveyn',
|
||||
'icon' => 'İkon',
|
||||
'uri' => 'URL',
|
||||
'operation_log' => 'İşlem kayıtları',
|
||||
'parent_select_error' => 'Üst hata',
|
||||
'pagination' => [
|
||||
'range' => ':total kayıt içinden :first den :last e kadar',
|
||||
],
|
||||
'role' => 'Rol',
|
||||
'permission' => 'İzin',
|
||||
'route' => 'Rota',
|
||||
'confirm' => 'Onayla',
|
||||
'cancel' => 'İptal',
|
||||
'http' => [
|
||||
'method' => 'HTTP metodu',
|
||||
'path' => 'HTTP dizini',
|
||||
],
|
||||
'all_methods_if_empty' => 'Tüm metodlar boş ise',
|
||||
'all' => 'Tümü',
|
||||
'current_page' => 'Mevcut sayfa',
|
||||
'selected_rows' => 'Seçilen kayıtlar',
|
||||
'upload' => 'Yükle',
|
||||
'new_folder' => 'Yeni dizin',
|
||||
'time' => 'Zaman',
|
||||
'size' => 'Boyut',
|
||||
'listbox' => [
|
||||
'text_total' => 'Toplam {0} kayıt',
|
||||
'text_empty' => 'Boş liste',
|
||||
'filtered' => '{0} / {1}',
|
||||
'filter_clear' => 'Tümünü göster',
|
||||
'filter_placeholder' => 'Filtrele',
|
||||
],
|
||||
'menu_titles' => [],
|
||||
'grid_items_selected' => '{n} öğe seçildi',
|
||||
'menu_titles' => [],
|
||||
'prev' => 'Önceki',
|
||||
'next' => 'Sonraki',
|
||||
'quick_create' => 'Hemen oluştur',
|
||||
];
|
||||
106
resources/lang/uk/admin.php
Normal file
106
resources/lang/uk/admin.php
Normal file
@@ -0,0 +1,106 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'online' => 'В мережі',
|
||||
'login' => 'Увійти',
|
||||
'logout' => 'Вийти',
|
||||
'setting' => 'Налаштування',
|
||||
'name' => 'Ім\'я',
|
||||
'username' => 'Логін',
|
||||
'password' => 'Пароль',
|
||||
'password_confirmation' => 'Підтвердження пароля',
|
||||
'remember_me' => 'Запам\'ятати',
|
||||
'user_setting' => 'Налаштування користувача',
|
||||
'avatar' => 'Аватар',
|
||||
'list' => 'Список',
|
||||
'new' => 'Додати',
|
||||
'create' => 'Новий запис',
|
||||
'delete' => 'Видалити',
|
||||
'remove' => 'Видалити',
|
||||
'edit' => 'Редагувати',
|
||||
'view' => 'Переглянути',
|
||||
'continue_editing' => 'Продовжити редагувати',
|
||||
'continue_creating' => 'Продовжуйте створювати',
|
||||
'detail' => 'Детально',
|
||||
'browse' => 'Вибір файлу',
|
||||
'reset' => 'Очистити',
|
||||
'export' => 'Експорт',
|
||||
'batch_delete' => 'Пакетне видалення',
|
||||
'save' => 'Зберегти',
|
||||
'refresh' => 'Оновити',
|
||||
'order' => 'Сортування',
|
||||
'expand' => 'Розгорнути',
|
||||
'collapse' => 'Згорнути',
|
||||
'filter' => 'Фільтр',
|
||||
'search' => 'Пошук',
|
||||
'close' => 'Закрити',
|
||||
'show' => 'Показати',
|
||||
'entries' => 'записи',
|
||||
'captcha' => 'Захисний код',
|
||||
'action' => 'Опції',
|
||||
'title' => 'Назва',
|
||||
'description' => 'Опис',
|
||||
'back' => 'Назад',
|
||||
'back_to_list' => 'Повернутися до списку',
|
||||
'submit' => 'Створити',
|
||||
'menu' => 'Меню',
|
||||
'input' => 'Введення',
|
||||
'succeeded' => 'Завершено',
|
||||
'failed' => 'Помилка',
|
||||
'delete_confirm' => 'Ви впевнені, що хочете видалити цей запис?',
|
||||
'delete_succeeded' => 'Запис успішно видалено!',
|
||||
'delete_failed' => 'Помилка при видаленні!',
|
||||
'update_succeeded' => 'Запис успішно змінено!',
|
||||
'save_succeeded' => 'Запис успішно створено!',
|
||||
'refresh_succeeded' => 'Запис успішно оновлено!',
|
||||
'login_successful' => 'Авторизація успішна',
|
||||
'choose' => 'Вибрати',
|
||||
'choose_file' => 'Вибір файлу',
|
||||
'choose_image' => 'Вибір зображення',
|
||||
'more' => 'Ще',
|
||||
'deny' => 'Доступ заборонено',
|
||||
'administrator' => 'Адміністратор',
|
||||
'roles' => 'Ролі',
|
||||
'permissions' => 'Доступ',
|
||||
'slug' => 'Посилання',
|
||||
'created_at' => 'Дата створення',
|
||||
'updated_at' => 'Дата оновлення',
|
||||
'alert' => 'Помилка',
|
||||
'parent_id' => 'Батько',
|
||||
'icon' => 'Іконка',
|
||||
'uri' => 'URI',
|
||||
'operation_log' => 'Журнал подій',
|
||||
'parent_select_error' => 'Помилка при виборі батька',
|
||||
'pagination' => [
|
||||
'range' => 'Записи з :first по :last з :total',
|
||||
],
|
||||
'role' => 'Роль',
|
||||
'permission' => 'Дозвіл',
|
||||
'route' => 'Маршрут',
|
||||
'confirm' => 'Підтвердити',
|
||||
'cancel' => 'Скасувати',
|
||||
'http' => [
|
||||
'method' => 'HTTP метод',
|
||||
'path' => 'шлях HTTP',
|
||||
],
|
||||
'all_methods_if_empty' => 'Усі методи, якщо це порожнє',
|
||||
'all' => 'Усі',
|
||||
'current_page' => 'Поточна сторінка',
|
||||
'selected_rows' => 'Вибрані рядки',
|
||||
'upload' => 'Завантажити',
|
||||
'new_folder' => 'Нова папка',
|
||||
'time' => 'Час',
|
||||
'size' => 'Розмір',
|
||||
'listbox' => [
|
||||
'text_total' => 'Показано всі {0}',
|
||||
'text_empty' => 'Пустий список',
|
||||
'filtered' => '{0} / {1}',
|
||||
'filter_clear' => 'Показати все',
|
||||
'filter_placeholder'=> 'Фільтр',
|
||||
],
|
||||
'grid_items_selected' => '{n} елементів вибрано',
|
||||
|
||||
'menu_titles' => [],
|
||||
'prev' => 'Попередня',
|
||||
'next' => 'Наступна',
|
||||
];
|
||||
106
resources/lang/zh-CN/admin.php
Normal file
106
resources/lang/zh-CN/admin.php
Normal file
@@ -0,0 +1,106 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'online' => '在线',
|
||||
'login' => '登录',
|
||||
'logout' => '登出',
|
||||
'setting' => '设置',
|
||||
'name' => '名称',
|
||||
'username' => '用户名',
|
||||
'password' => '密码',
|
||||
'password_confirmation' => '确认密码',
|
||||
'remember_me' => '记住我',
|
||||
'user_setting' => '用户设置',
|
||||
'avatar' => '头像',
|
||||
'list' => '列表',
|
||||
'new' => '新增',
|
||||
'create' => '创建',
|
||||
'delete' => '删除',
|
||||
'remove' => '移除',
|
||||
'edit' => '编辑',
|
||||
'continue_editing' => '继续编辑',
|
||||
'continue_creating' => '继续创建',
|
||||
'view' => '查看',
|
||||
'detail' => '详细',
|
||||
'browse' => '浏览',
|
||||
'reset' => '重置',
|
||||
'export' => '导出',
|
||||
'batch_delete' => '批量删除',
|
||||
'save' => '保存',
|
||||
'refresh' => '刷新',
|
||||
'order' => '排序',
|
||||
'expand' => '展开',
|
||||
'collapse' => '收起',
|
||||
'filter' => '筛选',
|
||||
'search' => '搜索',
|
||||
'close' => '关闭',
|
||||
'show' => '显示',
|
||||
'entries' => '条',
|
||||
'captcha' => '验证码',
|
||||
'action' => '操作',
|
||||
'title' => '标题',
|
||||
'description' => '简介',
|
||||
'back' => '返回',
|
||||
'back_to_list' => '返回列表',
|
||||
'submit' => '提交',
|
||||
'menu' => '菜单',
|
||||
'input' => '输入',
|
||||
'succeeded' => '成功',
|
||||
'failed' => '失败',
|
||||
'delete_confirm' => '确认删除?',
|
||||
'delete_succeeded' => '删除成功 !',
|
||||
'delete_failed' => '删除失败 !',
|
||||
'update_succeeded' => '更新成功 !',
|
||||
'save_succeeded' => '保存成功 !',
|
||||
'refresh_succeeded' => '刷新成功 !',
|
||||
'login_successful' => '登录成功 !',
|
||||
'choose' => '选择',
|
||||
'choose_file' => '选择文件',
|
||||
'choose_image' => '选择图片',
|
||||
'more' => '更多',
|
||||
'deny' => '无权访问',
|
||||
'administrator' => '管理员',
|
||||
'roles' => '角色',
|
||||
'permissions' => '权限',
|
||||
'slug' => '标识',
|
||||
'created_at' => '创建时间',
|
||||
'updated_at' => '更新时间',
|
||||
'alert' => '注意',
|
||||
'parent_id' => '父级菜单',
|
||||
'icon' => '图标',
|
||||
'uri' => '路径',
|
||||
'operation_log' => '操作日志',
|
||||
'parent_select_error' => '父级选择错误',
|
||||
'pagination' => [
|
||||
'range' => '从 :first 到 :last ,总共 :total 条',
|
||||
],
|
||||
'role' => '角色',
|
||||
'permission' => '权限',
|
||||
'route' => '路由',
|
||||
'confirm' => '确认',
|
||||
'cancel' => '取消',
|
||||
'http' => [
|
||||
'method' => 'HTTP方法',
|
||||
'path' => 'HTTP路径',
|
||||
],
|
||||
'all_methods_if_empty' => '为空默认为所有方法',
|
||||
'all' => '全部',
|
||||
'current_page' => '当前页',
|
||||
'selected_rows' => '选择的行',
|
||||
'upload' => '上传',
|
||||
'new_folder' => '新建文件夹',
|
||||
'time' => '时间',
|
||||
'size' => '大小',
|
||||
'listbox' => [
|
||||
'text_total' => '总共 {0} 项',
|
||||
'text_empty' => '空列表',
|
||||
'filtered' => '{0} / {1}',
|
||||
'filter_clear' => '显示全部',
|
||||
'filter_placeholder' => '过滤',
|
||||
],
|
||||
'grid_items_selected' => '已选择 {n} 项',
|
||||
'menu_titles' => [],
|
||||
'prev' => '上一步',
|
||||
'next' => '下一步',
|
||||
'quick_create' => '快速创建',
|
||||
];
|
||||
105
resources/lang/zh-TW/admin.php
Normal file
105
resources/lang/zh-TW/admin.php
Normal file
@@ -0,0 +1,105 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'online' => '在線',
|
||||
'login' => '登錄',
|
||||
'logout' => '登出',
|
||||
'setting' => '設置',
|
||||
'name' => '名稱',
|
||||
'username' => '用戶名',
|
||||
'password' => '密碼',
|
||||
'password_confirmation' => '確認密碼',
|
||||
'remember_me' => '記住我',
|
||||
'user_setting' => '用戶設置',
|
||||
'avatar' => '頭像',
|
||||
'list' => '列表',
|
||||
'new' => '新增',
|
||||
'create' => '創建',
|
||||
'delete' => '刪除',
|
||||
'remove' => '移除',
|
||||
'edit' => '編輯',
|
||||
'view' => '查看',
|
||||
'continue_editing' => '繼續編輯',
|
||||
'continue_creating' => '繼續創建',
|
||||
'detail' => '詳細',
|
||||
'browse' => '瀏覽',
|
||||
'reset' => '重置',
|
||||
'export' => '匯出',
|
||||
'batch_delete' => '批次刪除',
|
||||
'save' => '儲存',
|
||||
'refresh' => '重新整理',
|
||||
'order' => '排序',
|
||||
'expand' => '展開',
|
||||
'collapse' => '收起',
|
||||
'filter' => '篩選',
|
||||
'search' => '搜索',
|
||||
'close' => '關閉',
|
||||
'show' => '顯示',
|
||||
'entries' => '條',
|
||||
'captcha' => '驗證碼',
|
||||
'action' => '操作',
|
||||
'title' => '標題',
|
||||
'description' => '簡介',
|
||||
'back' => '返回',
|
||||
'back_to_list' => '返回列表',
|
||||
'submit' => '送出',
|
||||
'menu' => '目錄',
|
||||
'input' => '輸入',
|
||||
'succeeded' => '成功',
|
||||
'failed' => '失敗',
|
||||
'delete_confirm' => '確認刪除?',
|
||||
'delete_succeeded' => '刪除成功!',
|
||||
'delete_failed' => '刪除失敗!',
|
||||
'update_succeeded' => '更新成功!',
|
||||
'save_succeeded' => '儲存成功!',
|
||||
'refresh_succeeded' => '成功重新整理!',
|
||||
'login_successful' => '成功登入!',
|
||||
'choose' => '選擇',
|
||||
'choose_file' => '選擇檔案',
|
||||
'choose_image' => '選擇圖片',
|
||||
'more' => '更多',
|
||||
'deny' => '權限不足',
|
||||
'administrator' => '管理員',
|
||||
'roles' => '角色',
|
||||
'permissions' => '權限',
|
||||
'slug' => '標誌',
|
||||
'created_at' => '建立時間',
|
||||
'updated_at' => '更新時間',
|
||||
'alert' => '警告',
|
||||
'parent_id' => '父目錄',
|
||||
'icon' => '圖示',
|
||||
'uri' => '路徑',
|
||||
'operation_log' => '操作記錄',
|
||||
'parent_select_error' => '父級選擇錯誤',
|
||||
'pagination' => [
|
||||
'range' => '從 :first 到 :last ,總共 :total 條',
|
||||
],
|
||||
'role' => '角色',
|
||||
'permission' => '權限',
|
||||
'route' => '路由',
|
||||
'confirm' => '確認',
|
||||
'cancel' => '取消',
|
||||
'http' => [
|
||||
'method' => 'HTTP方法',
|
||||
'path' => 'HTTP路徑',
|
||||
],
|
||||
'all_methods_if_empty' => '為空默認為所有方法',
|
||||
'all' => '全部',
|
||||
'current_page' => '現在頁面',
|
||||
'selected_rows' => '選擇的行',
|
||||
'upload' => '上傳',
|
||||
'new_folder' => '新建資料夾',
|
||||
'time' => '時間',
|
||||
'size' => '大小',
|
||||
'listbox' => [
|
||||
'text_total' => '總共 {0} 項',
|
||||
'text_empty' => '空列表',
|
||||
'filtered' => '{0} / {1}',
|
||||
'filter_clear' => '顯示全部',
|
||||
'filter_placeholder' => '過濾',
|
||||
],
|
||||
'menu_titles' => [],
|
||||
'prev' => '上一步',
|
||||
'next' => '下一步',
|
||||
'quick_create' => '快速創建',
|
||||
];
|
||||
19
resources/sass/_variables.scss
Normal file
19
resources/sass/_variables.scss
Normal file
@@ -0,0 +1,19 @@
|
||||
// Body
|
||||
$body-bg: #f8fafc;
|
||||
|
||||
// Typography
|
||||
$font-family-sans-serif: 'Nunito', sans-serif;
|
||||
$font-size-base: 0.9rem;
|
||||
$line-height-base: 1.6;
|
||||
|
||||
// Colors
|
||||
$blue: #3490dc;
|
||||
$indigo: #6574cd;
|
||||
$purple: #9561e2;
|
||||
$pink: #f66d9b;
|
||||
$red: #e3342f;
|
||||
$orange: #f6993f;
|
||||
$yellow: #ffed4a;
|
||||
$green: #38c172;
|
||||
$teal: #4dc0b5;
|
||||
$cyan: #6cb2eb;
|
||||
8
resources/sass/app.scss
Normal file
8
resources/sass/app.scss
Normal file
@@ -0,0 +1,8 @@
|
||||
// Fonts
|
||||
@import url('https://fonts.googleapis.com/css?family=Nunito');
|
||||
|
||||
// Variables
|
||||
@import 'variables';
|
||||
|
||||
// Bootstrap
|
||||
@import '~bootstrap/scss/bootstrap';
|
||||
29
resources/views/address/change.blade.php
Normal file
29
resources/views/address/change.blade.php
Normal file
@@ -0,0 +1,29 @@
|
||||
@extends('layouts.app')
|
||||
@section('title','选择地址')
|
||||
|
||||
@section('footer','')
|
||||
|
||||
@section('content')
|
||||
<!-- footer -->
|
||||
<footer>
|
||||
<a href="{{ route('addresses.create') }}" class="addressAdd">新增收货地址</a>
|
||||
</footer>
|
||||
<!-- section -->
|
||||
<section>
|
||||
<!-- 收货地址 -->
|
||||
<ul class="addressList">
|
||||
@foreach ($addresses as $address)
|
||||
<li data-href="{{ route('orders.create') }}?address={{ $address->id }}">
|
||||
<div>
|
||||
<div class="addressList-name"><i class="icon-user"></i> {{ $address->name }}</div>
|
||||
<div class="addressList-phone"><i class="icon-phone"></i> {{ $address->mobile }}</div>
|
||||
</div>
|
||||
<div class="addressList-text">
|
||||
{{ $address->getAddress() }}
|
||||
</div>
|
||||
</li>
|
||||
@endforeach
|
||||
</ul>
|
||||
</section>
|
||||
|
||||
@endsection
|
||||
101
resources/views/address/create.blade.php
Normal file
101
resources/views/address/create.blade.php
Normal file
@@ -0,0 +1,101 @@
|
||||
@extends('layouts.app')
|
||||
|
||||
@section('title','新增地址')
|
||||
|
||||
@section('content')
|
||||
<!-- section -->
|
||||
<section>
|
||||
<!-- 新增收货地址 -->
|
||||
<form action="{{ route('addresses.store', ['callback' => Request::get('callback')])}}" method="get" accept-charset="utf-8">
|
||||
<div class="addressForm">
|
||||
<div class="addressForm-input" >
|
||||
<div class="addressForm-input-name"><i class="icon-user address-i"></i>收货人</div>
|
||||
<input type="text" name="name" value="" placeholder="输入收货人姓名" class=" clear_null">
|
||||
</div>
|
||||
<div class="addressForm-input">
|
||||
<div class="addressForm-input-name"><i class="icon-tablet address-i"></i>手机号</div>
|
||||
<input type="number" name="mobile" value="" placeholder="输入手机号" class=" clear_null">
|
||||
</div>
|
||||
<div class="addressForm-input">
|
||||
<div class="addressForm-input-name"><i class="icon-map-marker address-i"></i>所在地区</div>
|
||||
<div class="addressForm-option">
|
||||
<select name="province_sn" id="province">
|
||||
<option value="">选择省份</option>
|
||||
@foreach ($provinces as $province)
|
||||
<option value="{{ $province->sn }}">{{ $province->name }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
<select name="city_sn" id="city">
|
||||
<option value="">选择城市</option>
|
||||
</select>
|
||||
<select name="area_sn" id="area">
|
||||
<option value=" ">请选择地区</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="addressForm-select">
|
||||
<div class="addressForm-input-name"><i class="icon-edit address-i"></i>详细地址</div>
|
||||
<textarea class="textarea" placeholder="街道等详细地址" name="address" id="desc" rows="2" style="padding-right: 1rem"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="addressForm-mode">
|
||||
设为默认地址
|
||||
<div class="addressForm-mode-btn">
|
||||
<input type="checkbox" name="def" value="1">
|
||||
<label></label>
|
||||
</div>
|
||||
</div>
|
||||
@csrf
|
||||
<footer>
|
||||
<button type="button" class="addressAdd ajax-post">保存</button>
|
||||
</footer>
|
||||
</form>
|
||||
|
||||
</section>
|
||||
@endsection
|
||||
|
||||
@section('script')
|
||||
<script type="text/javascript">
|
||||
$("#province").on('change', function() {
|
||||
var psn = $(this).val();
|
||||
$.post('{{ route('addresses.areas')}}', {psn: psn, _token:"{{ csrf_token() }}"}, function(res) {
|
||||
if (res.code) {
|
||||
$('#city').html("");
|
||||
var option1 = $("<option>").val('').text('请选择');
|
||||
$('#city').append(option1);
|
||||
$.each(res.data, function(key, val) {
|
||||
var option1 = '<option value="' + val.sn + '">'+ val.name +'</option>';
|
||||
$('#city').append(option1);
|
||||
});
|
||||
$("#area").get(0).selectedIndex = 0;
|
||||
$("#city").get(0).selectedIndex = 0;
|
||||
|
||||
} else {
|
||||
updateAlert(res.msg);
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
$("#city").on('change', function() {
|
||||
var psn = $(this).val();
|
||||
$.post('{{ route('addresses.areas')}}', {psn: psn, _token:"{{ csrf_token() }}"}, function(res) {
|
||||
if (res.code) {
|
||||
$('#area').html("");
|
||||
var option1 = $("<option>").val('').text('请选择');
|
||||
$('#area').append(option1);
|
||||
$.each(res.data, function(key, val) {
|
||||
var option1 = '<option value="' + val.sn + '">'+ val.name +'</option>';
|
||||
$('#area').append(option1);
|
||||
});
|
||||
$("#area").get(0).selectedIndex=0;
|
||||
} else {
|
||||
updateAlert(res.msg);
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
</script>
|
||||
@endsection
|
||||
152
resources/views/address/create.blade_old.php
Normal file
152
resources/views/address/create.blade_old.php
Normal file
@@ -0,0 +1,152 @@
|
||||
@extends('layouts.app')
|
||||
|
||||
@section('title','新增地址')
|
||||
|
||||
@section('css')
|
||||
<link rel="stylesheet" href="{{ asset('assets/index/css/area.css') }}">
|
||||
@endsection
|
||||
|
||||
@section('content')
|
||||
<!-- footer -->
|
||||
|
||||
<!-- section -->
|
||||
<section>
|
||||
<!-- 新增收货地址 -->
|
||||
<form action="{{ route('addresses.store', ['callback' => Request::get('callback')])}}" method="get" accept-charset="utf-8">
|
||||
<div class="addressForm">
|
||||
<div class="addressForm-input" >
|
||||
<div class="addressForm-input-name"><i class="icon-user address-i"></i>收货人</div>
|
||||
<input type="text" name="name" value="" placeholder="输入收货人姓名" class=" clear_null">
|
||||
</div>
|
||||
<div class="addressForm-input">
|
||||
<div class="addressForm-input-name"><i class="icon-tablet address-i"></i>手机号</div>
|
||||
<input type="number" name="mobile" value="" placeholder="输入手机号" class=" clear_null">
|
||||
</div>
|
||||
<div class="addressForm-input">
|
||||
{{-- <div class="addressForm-input-name"><i class="icon-map-marker address-i"></i>所在地区</div>
|
||||
<div class="addressForm-option">
|
||||
<select name="province_sn" id="province">
|
||||
<option value="">选择省份</option>
|
||||
@foreach ($provinces as $province)
|
||||
<option value="{{ $province->sn }}">{{ $province->name }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
<select name="city_sn" id="city">
|
||||
<option value="">选择城市</option>
|
||||
</select>
|
||||
<select name="area_sn" id="area">
|
||||
<option value=" ">请选择地区</option>
|
||||
</select>
|
||||
</div> --}}
|
||||
<div class="ui-form-item ui-border-b">
|
||||
<div class="addressForm-input-name"><i class="icon-map-marker address-i"></i>所在地区</div>
|
||||
<div class="ui-select">
|
||||
<input id="expressArea" name="area" data-name="custUa" data-required="true" data-label="所在地区" placeholder="选择省市区" readonly style="padding-left:0;">
|
||||
</div>
|
||||
<div class="browser">
|
||||
<!--选择地区弹层-->
|
||||
<div id="areaLayer" class="express-area-box">
|
||||
<div class="addressForm-area">
|
||||
<h3>选择省市区</h3>
|
||||
<div class="selet-area-wrap">
|
||||
<p><span class="one"></span></p>
|
||||
<p><span class="two"></span></p>
|
||||
<p><span class="three"></span></p>
|
||||
</div>
|
||||
<div class="hot-city">
|
||||
<p>热门城市</p>
|
||||
<ul>
|
||||
<li onClick="selectPP(0,1)">北京</li>
|
||||
<li onClick="selectPP(10,1)">上海</li>
|
||||
<li onClick="quickselectC(18,0)">广州</li>
|
||||
<li onClick="quickselectC(18,1)">深圳</li>
|
||||
<li onClick="quickselectC(12,0)">杭州</li>
|
||||
<li onClick="quickselectC(11,0)">南京</li>
|
||||
<li onClick="quickselectC(11,4)">苏州</li>
|
||||
<li onClick="selectPP(1,1)">天津</li>
|
||||
<li onClick="quickselectC(16,0)">武汉</li>
|
||||
<li onClick="quickselectC(17,0)">长沙</li>
|
||||
<li onClick="selectPP(21,1)">重庆</li>
|
||||
<li onClick="quickselectC(22,0)">成都</li>
|
||||
</ul>
|
||||
<p>选择省份/地区</p>
|
||||
</div>
|
||||
<a id="backUp" class="back" href="javascript:void(0)" title="返回"></a>
|
||||
<a id="closeArea" class="close" href="javascript:void(0)" title="关闭"></a>
|
||||
</div>
|
||||
<article id="areaBox">
|
||||
<ul id="areaList" class="area-list"></ul>
|
||||
</article>
|
||||
</div>
|
||||
<!--遮罩层-->
|
||||
<div id="areaMask" class="mask"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="addressForm-select">
|
||||
<div class="addressForm-input-name"><i class="icon-edit address-i"></i>详细地址</div>
|
||||
<textarea class="textarea" placeholder="街道等详细地址" name="address" id="desc" rows="2" style="padding-right: 1rem"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="addressForm-mode">
|
||||
设为默认地址
|
||||
<div class="addressForm-mode-btn">
|
||||
<input type="checkbox" name="def" value="1">
|
||||
<label></label>
|
||||
</div>
|
||||
</div>
|
||||
@csrf
|
||||
<footer>
|
||||
<button type="button" class="addressAdd ajax-post">保存</button>
|
||||
</footer>
|
||||
</form>
|
||||
|
||||
</section>
|
||||
@endsection
|
||||
|
||||
@section('script')
|
||||
<script type="text/javascript" src="/assets/index/js/jquery.area.js"></script>
|
||||
<script type="text/javascript">
|
||||
$("#province").on('change', function() {
|
||||
var psn = $(this).val();
|
||||
$.post('{{ route('addresses.areas')}}', {psn: psn, _token:"{{ csrf_token() }}"}, function(res) {
|
||||
if (res.code) {
|
||||
$('#city').html("");
|
||||
var option1 = $("<option>").val('').text('请选择');
|
||||
$('#city').append(option1);
|
||||
$.each(res.data, function(key, val) {
|
||||
var option1 = '<option value="' + val.sn + '">'+ val.name +'</option>';
|
||||
$('#city').append(option1);
|
||||
});
|
||||
$("#area").get(0).selectedIndex = 0;
|
||||
$("#city").get(0).selectedIndex = 0;
|
||||
|
||||
} else {
|
||||
updateAlert(res.msg);
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
$("#city").on('change', function() {
|
||||
var psn = $(this).val();
|
||||
$.post('{{ route('addresses.areas')}}', {psn: psn, _token:"{{ csrf_token() }}"}, function(res) {
|
||||
if (res.code) {
|
||||
$('#area').html("");
|
||||
var option1 = $("<option>").val('').text('请选择');
|
||||
$('#area').append(option1);
|
||||
$.each(res.data, function(key, val) {
|
||||
var option1 = '<option value="' + val.sn + '">'+ val.name +'</option>';
|
||||
$('#area').append(option1);
|
||||
});
|
||||
$("#area").get(0).selectedIndex=0;
|
||||
} else {
|
||||
updateAlert(res.msg);
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
</script>
|
||||
@endsection
|
||||
107
resources/views/address/edit.blade.php
Normal file
107
resources/views/address/edit.blade.php
Normal file
@@ -0,0 +1,107 @@
|
||||
@extends('layouts.app')
|
||||
|
||||
@section('title','编辑地址')
|
||||
|
||||
@section('content')
|
||||
<!-- section -->
|
||||
<section>
|
||||
<!-- 新增收货地址 -->
|
||||
<form action="{{ route('addresses.update', $address )}}" method="get" accept-charset="utf-8">
|
||||
<div class="addressForm">
|
||||
<div class="addressForm-input" >
|
||||
<div class="addressForm-input-name"><i class="icon-user address-i"></i>收货人</div>
|
||||
<input type="text" name="name" value="{{ $address['name'] }}" placeholder="输入收货人姓名" class=" clear_null">
|
||||
</div>
|
||||
<div class="addressForm-input">
|
||||
<div class="addressForm-input-name"><i class="icon-tablet address-i"></i>手机号</div>
|
||||
<input type="number" name="mobile" value="{{ $address['mobile'] }}" placeholder="输入手机号" class=" clear_null">
|
||||
</div>
|
||||
<div class="addressForm-input">
|
||||
<div class="addressForm-input-name"><i class="icon-map-marker address-i"></i>所在地区</div>
|
||||
<div class="addressForm-option">
|
||||
<select name="province_sn" id="province">
|
||||
<option value="">选择省份</option>
|
||||
@foreach ($provinces as $province)
|
||||
<option value="{{ $province->sn }}" @if ($address['province_sn'] == $province->sn) selected @endif>{{ $province->name }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
<select name="city_sn" id="city">
|
||||
<option value="">选择城市</option>
|
||||
@foreach ($cities as $city)
|
||||
<option value="{{ $city->sn }}" @if ($address['city_sn'] == $city->sn) selected @endif>{{ $city->name }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
<select name="area_sn" id="area">
|
||||
<option value=" ">请选择地区</option>
|
||||
@foreach ($areas as $area)
|
||||
<option value="{{ $area->sn }}" @if ($address['area_sn'] == $area->sn) selected @endif>{{ $area->name }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="addressForm-select">
|
||||
<div class="addressForm-input-name"><i class="icon-edit address-i"></i>详细地址</div>
|
||||
<textarea class="textarea" placeholder="街道等详细地址" name="address" id="desc" rows="2" style="padding-right: 1rem">{{ $address->address }}</textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="addressForm-mode">
|
||||
设为默认地址
|
||||
<div class="addressForm-mode-btn">
|
||||
<input type="checkbox" name="is_default" value="1" @if($address->is_default) checked="" @endif>
|
||||
<label></label>
|
||||
</div>
|
||||
</div>
|
||||
@csrf
|
||||
@method('put')
|
||||
<footer>
|
||||
<button type="button" class="addressAdd ajax-post">编辑</button>
|
||||
</footer>
|
||||
</form>
|
||||
|
||||
</section>
|
||||
@endsection
|
||||
@section('script')
|
||||
<script type="text/javascript">
|
||||
$("#province").on('change', function() {
|
||||
var psn = $(this).val();
|
||||
$.post('{{ route('addresses.areas')}}', {psn: psn, _token:"{{ csrf_token() }}"}, function(res) {
|
||||
if (res.code) {
|
||||
$('#city').html("");
|
||||
var option1 = $("<option>").val('').text('请选择');
|
||||
$('#city').append(option1);
|
||||
$.each(res.data, function(key, val) {
|
||||
var option1 = '<option value="' + val.sn + '">'+ val.name +'</option>';
|
||||
$('#city').append(option1);
|
||||
});
|
||||
$("#area").get(0).selectedIndex = 0;
|
||||
$("#city").get(0).selectedIndex = 0;
|
||||
|
||||
} else {
|
||||
updateAlert(res.msg);
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
$("#city").on('change', function() {
|
||||
var psn = $(this).val();
|
||||
$.post('{{ route('addresses.areas')}}', {psn: psn, _token:"{{ csrf_token() }}"}, function(res) {
|
||||
if (res.code) {
|
||||
$('#area').html("");
|
||||
var option1 = $("<option>").val('').text('请选择');
|
||||
$('#area').append(option1);
|
||||
$.each(res.data, function(key, val) {
|
||||
var option1 = '<option value="' + val.sn + '">'+ val.name +'</option>';
|
||||
$('#area').append(option1);
|
||||
});
|
||||
$("#area").get(0).selectedIndex=0;
|
||||
} else {
|
||||
updateAlert(res.msg);
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
</script>
|
||||
@endsection
|
||||
40
resources/views/address/index.blade.php
Normal file
40
resources/views/address/index.blade.php
Normal file
@@ -0,0 +1,40 @@
|
||||
@extends('layouts.app')
|
||||
|
||||
@section('title','地址管理')
|
||||
|
||||
@section('content')
|
||||
<!-- footer -->
|
||||
<footer>
|
||||
<a href="{{ route('addresses.create') }}" class="addressAdd">新增收货地址</a>
|
||||
</footer>
|
||||
<!-- section -->
|
||||
<section>
|
||||
<!-- 收货地址 -->
|
||||
<ul class="addressList">
|
||||
@foreach ($addresses as $address)
|
||||
<li>
|
||||
<div>
|
||||
<div class="addressList-name"><i class="icon-user"></i> {{ $address->name }}</div>
|
||||
<div class="addressList-phone"><i class="icon-phone"></i> {{ $address->mobile }}</div>
|
||||
</div>
|
||||
<div class="addressList-text">
|
||||
@if ($address->is_default == 1)<span class="color-orange">[默认]</span> @endif
|
||||
{{ $address->getAddress() }}
|
||||
</div>
|
||||
<div class="addressList-btn">
|
||||
<button class="addressList-btn-edit" data-href="{{ route('addresses.edit', $address) }}">编辑</button>
|
||||
<form action="{{ route('addresses.destroy', $address) }}" method="post" accept-charset="utf-8">
|
||||
@csrf
|
||||
@method('DELETE')
|
||||
<button class="addressList-btn-delete confirm ajax-post">删除</button>
|
||||
</form>
|
||||
<label for="checkbox" class="farm-radio addressList-radio">
|
||||
<input type="radio" @if ($address->is_default == 1) checked @endif name="radio" class="ajax-get" data-href="{{ route('addresses.setdef', $address->id) }}">
|
||||
</label>
|
||||
<span>设为默认地址</span>
|
||||
</div>
|
||||
</li>
|
||||
@endforeach
|
||||
</ul>
|
||||
</section>
|
||||
@endsection
|
||||
14
resources/views/admin/ckeditor.blade.php
Normal file
14
resources/views/admin/ckeditor.blade.php
Normal file
@@ -0,0 +1,14 @@
|
||||
<div class="form-group {!! !$errors->has($errorKey) ?: 'has-error' !!}">
|
||||
|
||||
<label for="{{$id}}" class="col-sm-2 control-label">{{$label}}</label>
|
||||
|
||||
<div class="col-sm-6">
|
||||
|
||||
@include('admin::form.error')
|
||||
|
||||
<textarea class="form-control {{ $class }}" name="{{$name}}" placeholder="{{ $placeholder }}" {!! $attributes !!} >{{ old($column, $value) }}</textarea>
|
||||
|
||||
@include('admin::form.help-block')
|
||||
|
||||
</div>
|
||||
</div>
|
||||
147
resources/views/admin/order/detail.blade.php
Normal file
147
resources/views/admin/order/detail.blade.php
Normal file
@@ -0,0 +1,147 @@
|
||||
<div class="box box-info" style="padding-bottom:20px;">
|
||||
<div class="box-header with-border">
|
||||
<h3 class="box-title">订单编号:{{ $order->orderid }}</h3>
|
||||
<div class="box-tools">
|
||||
<div class="btn-group pull-right" style="margin-right: 5px">
|
||||
<a href="?_={{ time() }}" class="btn btn-sm btn-primary" title="">
|
||||
<i class="fa fa-refresh"></i><span class="hidden-xs"> 刷新</span>
|
||||
</a>
|
||||
</div>
|
||||
<div class="btn-group pull-right" style="margin-right: 5px">
|
||||
<a href="/admin/orders" class="btn btn-sm btn-default" title="返回订单列表">
|
||||
<i class="fa fa-list"></i><span class="hidden-xs"> 返回订单列表</span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<style type="text/css" media="screen">
|
||||
.step {
|
||||
width: 60%;
|
||||
margin: 20px 20% ;
|
||||
border-bottom: 5px solid #00c0ef;
|
||||
border-radius: 0 0 5px 5px;
|
||||
}
|
||||
|
||||
.step ul {
|
||||
display: flex;
|
||||
list-style-type: none;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.step ul li {
|
||||
display: block;
|
||||
flex: 1;
|
||||
margin: 0;
|
||||
text-align: center;
|
||||
line-height: 40px;
|
||||
}
|
||||
|
||||
.act {
|
||||
border-radius: 5px 5px 0 0;
|
||||
color: #fff;
|
||||
background: #00c0ef;
|
||||
}
|
||||
</style>
|
||||
|
||||
<div class="step">
|
||||
<ul>
|
||||
<li @if($order->state=='UNPAID') class="act" @endif>买家下单</li>
|
||||
<li @if($order->state=='PAID') class="act" @endif >买家付款</li>
|
||||
<li @if($order->state=='DELIVERED') class="act" @endif >发货</li>
|
||||
<li @if($order->state=='SIGNED') class="act" @endif>已经签收</li>
|
||||
<li @if($order->state=='COMPLETED') class="act" @endif>订单完成</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="row" style="padding: 0 20px">
|
||||
<div class="col-md-6">
|
||||
<div class="box box-warning box-solid">
|
||||
<div class="box-header with-border">
|
||||
<h3 class="box-title">订单信息</h3>
|
||||
</div>
|
||||
<div class="box-body table-responsive">
|
||||
<p>
|
||||
买 家: {{ $order->user->info->nickname }}
|
||||
</p>
|
||||
<p>
|
||||
类 型: {{ $order->type_text }}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@if($order->payment)
|
||||
<div class="col-md-6">
|
||||
<div class="box box-success box-solid">
|
||||
<div class="box-header with-border">
|
||||
<h3 class="box-title">支付信息</h3>
|
||||
</div>
|
||||
<div class="box-body table-responsive">
|
||||
<p>
|
||||
付款方式: {!! $order->payment->type_text !!}
|
||||
</p>
|
||||
<p>
|
||||
订单状态: {{ $order->state_text }}
|
||||
</p>
|
||||
<p>
|
||||
支付单号:{{ $order->payment->out_trade_no }}
|
||||
</p>
|
||||
<p>
|
||||
交易单号:{{ $order->payment->transaction_id }}
|
||||
</p>
|
||||
<p>
|
||||
<!-- <button type="button" class="btn btn-xs btn-default">添加备注</button> -->
|
||||
</p>
|
||||
<p>
|
||||
@foreach ($order->logs as $log)
|
||||
{{ $log->state }} >>> {{ $log->status }} >>> {{ $log->created_at }} <br>
|
||||
@endforeach
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
|
||||
<div style="padding: 0 20px">
|
||||
<div class="box box-info box-solid">
|
||||
<div class="box-header with-border">
|
||||
<h3 class="box-title">订单商品</h3>
|
||||
</div>
|
||||
<div class="box-body table-responsive">
|
||||
<table class="table table-hover">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>商品图片</th>
|
||||
<th>商品名称</th>
|
||||
<th>单价</th>
|
||||
<th>数量</th>
|
||||
<th>小计</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach ($order->details as $detail)
|
||||
<tr>
|
||||
<td><img src="{{ $detail->item->storage }}" style="width:60px;height:60px;"></td>
|
||||
<td>{{ $detail->item->getTitle() }}</td>
|
||||
<td>{{ $detail->price }}</td>
|
||||
<td>{{ $detail->number }}</td>
|
||||
<td>{{ $detail->total }}</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="text-right" style="padding-right:10px">
|
||||
<p>
|
||||
运费:免邮
|
||||
</p>
|
||||
<p>
|
||||
实付款:<span style="font-size:26px;color:red">¥{{ $order->total }}</span>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
16
resources/views/admin/wang-editor.blade.php
Normal file
16
resources/views/admin/wang-editor.blade.php
Normal file
@@ -0,0 +1,16 @@
|
||||
<div class="form-group {!! !$errors->has($label) ?: 'has-error' !!}">
|
||||
|
||||
<label for="{{$id}}" class="col-sm-2 control-label">{{$label}}</label>
|
||||
|
||||
<div class="{{$viewClass['field']}}">
|
||||
|
||||
@include('admin::form.error')
|
||||
|
||||
<div id="{{$id}}" style="width: 100%; height: 100%;">
|
||||
<p>{!! old($column, $value) !!}</p>
|
||||
</div>
|
||||
|
||||
<input type="hidden" name="{{$name}}" value="{{ old($column, $value) }}" />
|
||||
|
||||
</div>
|
||||
</div>
|
||||
76
resources/views/articles/index.blade.php
Normal file
76
resources/views/articles/index.blade.php
Normal file
@@ -0,0 +1,76 @@
|
||||
@extends('layouts.app')
|
||||
|
||||
@section('content')
|
||||
<section class="app">
|
||||
<!-- 资讯分类 -->
|
||||
<div class="newItem">
|
||||
<span class="newItem-nav @if(empty($category_id)) newItem-active @endif" data-href="{{ route('articles.index',['category_id'=>'']) }}">全部</span>
|
||||
@foreach ($categorys as $category)
|
||||
<span class="newItem-nav @if($category_id==$category->id) newItem-active @endif" data-href="{{ route('articles.index',['category_id'=>$category->id]) }}" >{{ $category->title }}</span>
|
||||
@endforeach
|
||||
</div>
|
||||
<!-- banner -->
|
||||
<div class="banner newBanner">
|
||||
<div class="swiper-container swiper-banner newBanner-swiper">
|
||||
<div class="swiper-wrapper wrapper-banner">
|
||||
@foreach ($adverts as $advert)
|
||||
<div class="swiper-slide wrapper-banner-img" style="background-image:url(/storage/{{ $advert->cover }})"></div>
|
||||
@endforeach
|
||||
</div>
|
||||
|
||||
<!-- Add Pagination -->
|
||||
<div class="swiper-pagination"></div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 资讯列表 -->
|
||||
<ul class="newList more">
|
||||
@if ($hot)
|
||||
<div class="newList-first" data-href="{{ route('articles.show',$hot) }}">
|
||||
<p class="text-nowrap"><span class="hot">推荐</span>{{ $hot->title }}</p>
|
||||
<div class="newList-icon">
|
||||
<span>{{ $hot->category->title }}</span>
|
||||
<i class="icon icon-columns"></i>{{ $hot->clicks }}
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
@include('articles.more', ['lists'=>$lists])
|
||||
|
||||
</ul>
|
||||
</section>
|
||||
@endsection
|
||||
|
||||
@section('script')
|
||||
<script type="text/javascript" src="/assets/index/js/PullToRefresh.min.js" ></script>
|
||||
<script type="text/javascript">
|
||||
var banner = new Swiper('.swiper-banner', {
|
||||
autoplay: 2000,
|
||||
loop: true,
|
||||
pagination: '.swiper-pagination',
|
||||
autoplayDisableOnInteraction: false,
|
||||
spaceBetween: 15
|
||||
})
|
||||
var loadMore = {{ $lists->hasMorePages()?:'false' }}
|
||||
if (loadMore) {
|
||||
var page=2;
|
||||
var category_id = "{{ $category_id }}";
|
||||
|
||||
var refreshBox=new PullToRefresh({
|
||||
container:".app",
|
||||
up:{
|
||||
callback:function(e){
|
||||
$.get("{{ route('articles.index') }}",{category_id:category_id,page:page},function(data){
|
||||
if(data.status=='SUCCESS'){
|
||||
$(".more").append(data.message);
|
||||
page++;
|
||||
refreshBox.endUpLoading(true)
|
||||
} else {
|
||||
refreshBox.endUpLoading(false)
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
</script>
|
||||
@endsection
|
||||
21
resources/views/articles/more.blade.php
Normal file
21
resources/views/articles/more.blade.php
Normal file
@@ -0,0 +1,21 @@
|
||||
@if ($lists->isNotEmpty())
|
||||
@foreach ($lists as $article)
|
||||
<li data-href="{{ route('articles.show',$article) }}">
|
||||
<div class="newList-img">
|
||||
<span style="background-image:url({{ $article->cover_path }})"></span>
|
||||
</div>
|
||||
<div class="newList-text">
|
||||
<p class="text-nowrap-multi">{{ $article->title }}</p>
|
||||
<div class="newList-icon">
|
||||
<span>{{ $article->category->title }}</span>
|
||||
<i class="icon icon-columns"></i>{{ $article->clicks }}
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
@endforeach
|
||||
@else
|
||||
<div class="noData">
|
||||
<input type="image" src="/assets/index/img/no_data.png" />
|
||||
<span style="padding-bottom: 30px">暂无数据</span>
|
||||
</div>
|
||||
@endif
|
||||
46
resources/views/articles/show.blade.php
Normal file
46
resources/views/articles/show.blade.php
Normal file
@@ -0,0 +1,46 @@
|
||||
@extends('layouts.app')
|
||||
|
||||
@section('content')
|
||||
<section>
|
||||
<!-- 资讯详情 -->
|
||||
<div class="caseDetails">
|
||||
<div class="caseDetails-title">
|
||||
{{ $article->title }}
|
||||
</div>
|
||||
<div class="caseDetails-nav">
|
||||
<span><i class="icon icon-bookmark-empty" style="font-weight: 600;"></i> {{ $article->category->title }}</span>
|
||||
<span> {{ $article->clicks }}游览</span>
|
||||
<span><i class="icon icon-time"></i> {{ $article->created_at }}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="caseDetails-text">
|
||||
{{ $article->description }}
|
||||
</div>
|
||||
<div class="caseDetails-cont">
|
||||
{!! $article->content !!}
|
||||
</div>
|
||||
|
||||
<div class="caseRecommend">
|
||||
<div class="caseRecommend-title">
|
||||
相关推荐
|
||||
</div>
|
||||
<ul class="newList">
|
||||
@foreach ($lists as $article)
|
||||
<li data-href="{{ route('articles.show',$article) }}">
|
||||
<div class="newList-img">
|
||||
<!-- newImg_00_active默认图片 -->
|
||||
<span style="background-image:url({{ $article->cover_path }})"></span>
|
||||
</div>
|
||||
<div class="newList-text">
|
||||
<p class="text-nowrap-multi">{{ $article->title }}</p>
|
||||
<div class="newList-icon">
|
||||
<span>{{ $article->category->title }}</span>
|
||||
<i class="icon icon-columns"></i>{{ $article->clicks }}
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
@endforeach
|
||||
</ul>
|
||||
</div>
|
||||
</section>
|
||||
@endsection('content')
|
||||
39
resources/views/auth/login.blade.php
Normal file
39
resources/views/auth/login.blade.php
Normal file
@@ -0,0 +1,39 @@
|
||||
@extends('layouts.app')
|
||||
|
||||
@section('content')
|
||||
<section>
|
||||
<!-- 登录 -->
|
||||
<div class="register">
|
||||
<div class="registerTitle">
|
||||
<p>Hi,请输入下信息</p>
|
||||
{{-- <span>如需更换手机号,则需在设置中修改</span> --}}
|
||||
</div>
|
||||
<form action="" method="">
|
||||
<div class="registerList">
|
||||
<div class="registerList-name">
|
||||
<i class="icon icon-phone"></i>手机号
|
||||
</div>
|
||||
<div class="registerList-tel">
|
||||
<span>+86</span>
|
||||
<input type="text" name="username" value="" placeholder="输入手机号" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="registerList">
|
||||
<div class="registerList-name">
|
||||
<i class="icon icon-lock"></i>输入密码
|
||||
</div>
|
||||
<div class="registerList-tel">
|
||||
<input type="password" name="password" value="" placeholder="请输入密码" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="registerBtn">
|
||||
@csrf
|
||||
|
||||
<button type="button" class="ajax-post">立即登录</button>
|
||||
<span><a href="{{ route('login') }}">立即注册</a><i class="icon icon-angle-right"></i></span>
|
||||
{{-- <span class="registerBtn-left"><a href="#">忘记密码</a><i class="icon icon-angle-right"></i></span> --}}
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</section>
|
||||
@endsection
|
||||
99
resources/views/auth/register.blade.php
Normal file
99
resources/views/auth/register.blade.php
Normal file
@@ -0,0 +1,99 @@
|
||||
@extends('layouts.app')
|
||||
|
||||
@section('footer','')
|
||||
|
||||
@section('content')
|
||||
<section>
|
||||
<!-- 登录 -->
|
||||
<div class="register">
|
||||
<div class="registerTitle">
|
||||
<p>Hi,请输入下信息</p>
|
||||
<span>如需更换手机号,则需在设置中修改</span>
|
||||
</div>
|
||||
<form action="" method="">
|
||||
<div class="registerList">
|
||||
<div class="registerList-name">
|
||||
<i class="icon icon-phone"></i>手机号
|
||||
</div>
|
||||
<div class="registerList-tel">
|
||||
<span>+86</span>
|
||||
<input type="text" name="username" id="mobile" value="" placeholder="输入手机号" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="registerList">
|
||||
<div class="registerList-name">
|
||||
<i class="icon icon-key"></i>验证码
|
||||
</div>
|
||||
<div class="registerList-tel">
|
||||
<input type="text" name="code" value="" placeholder="请输入验证码" />
|
||||
<button type="button" class="getCode">获取验证码</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="registerList">
|
||||
<div class="registerList-name">
|
||||
<i class="icon icon-lock"></i>设置密码
|
||||
</div>
|
||||
<div class="registerList-tel">
|
||||
<input type="password" name="password" value="" placeholder="请设置密码" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="registerList">
|
||||
<div class="registerList-name">
|
||||
<i class="icon icon-lock"></i>确认密码
|
||||
</div>
|
||||
<div class="registerList-tel">
|
||||
<input type="password" name="password_confirmation" value="" placeholder="请设置密码" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="registerBtn">
|
||||
@csrf
|
||||
|
||||
<button type="button" class="ajax-post">立即注册</button>
|
||||
{{-- <span><a href="#">立即登录</a><i class="icon icon-angle-right"></i></span> --}}
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</section>
|
||||
@endsection
|
||||
|
||||
@section('script')
|
||||
<script type="text/javascript">
|
||||
$('.getCode').click(function(){
|
||||
var mobile = $('#mobile').val();
|
||||
console.log(mobile);
|
||||
if (mobile=='') {
|
||||
updateAlert('请输入手机号');
|
||||
return false;
|
||||
}
|
||||
|
||||
$.post("{{ route('auth.sms') }}", {username: mobile, channel: "BIND", '_token': '{{ csrf_token() }}'}, function(res) {
|
||||
if (res.statusCode == 200) {
|
||||
updateAlert(res.message);
|
||||
settime($(this));
|
||||
app.codeSend = true;
|
||||
} else {
|
||||
updateAlert(res.message);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
var countdown = 60;
|
||||
function settime(obj) {
|
||||
console.log(obj);
|
||||
if (countdown == 0) {
|
||||
obj.removeAttr("disabled");
|
||||
obj.html("获取验证码");
|
||||
countdown = 60;
|
||||
return;
|
||||
} else {
|
||||
obj.attr("disabled", true);
|
||||
obj.html("重新发送(" + countdown + ")");
|
||||
countdown--;
|
||||
}
|
||||
setTimeout(function() {
|
||||
settime(obj)
|
||||
}, 1000)
|
||||
}
|
||||
|
||||
</script>
|
||||
@endsection
|
||||
229
resources/views/cart/index.blade.php
Normal file
229
resources/views/cart/index.blade.php
Normal file
@@ -0,0 +1,229 @@
|
||||
@extends('layouts.app')
|
||||
|
||||
@section('title','购物车')
|
||||
|
||||
@section('footer','')
|
||||
@section('content')
|
||||
<!-- footer -->
|
||||
@if (!empty($carts))
|
||||
<footer>
|
||||
<div class="confirm_footer_total">
|
||||
<label for="checkbox" class="farm-radio">
|
||||
<input type="checkbox" name="checkbox" style="margin-right:0" id="AllCheck">
|
||||
</label>全选
|
||||
<small>¥</small><span class="farm-total">0.00</span>
|
||||
</div>
|
||||
<div class="confirm_footer_btn" id="commit">去结算</div>
|
||||
</footer>
|
||||
@endif
|
||||
|
||||
<!-- section -->
|
||||
<section>
|
||||
<!-- 购物车 -->
|
||||
<form>
|
||||
@if (empty($carts))
|
||||
<div class="noData">
|
||||
<img class="noData-img" src="/assets/index/img/car_sale_03.png">
|
||||
<span>购物车什么都没有</span>
|
||||
<a href="{{ route('goods.lists') }}">立即逛逛</a>
|
||||
</div>
|
||||
@if ($recommends->isNotEmpty())
|
||||
<div class="recommend">
|
||||
<div class="recommend-title"><span>为您推荐</span></div>
|
||||
<ul class="product-ul">
|
||||
@foreach ($recommends as $recommend)
|
||||
<li class="product-li">
|
||||
<a href="{{ route('goods.show',$recommend) }}">
|
||||
<div class="product-li-cover">
|
||||
<span style="background-image:url({{ $recommend->cover_path }})"></span>
|
||||
</div>
|
||||
<p class="product-li-title ce-nowrap">{{ $recommend->title }}</p>
|
||||
<p class="product-li-subheading ce-nowrap-multi">{{ $recommend->description }}</p>
|
||||
<p class="product-li-price">会员价:¥{{ $recommend->min_price }}</p>
|
||||
<p class="product-li-sale">销售价:¥{{ $recommend->min_original }}</p>
|
||||
</a>
|
||||
</li>
|
||||
@endforeach
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
@else
|
||||
<ul class="farm-car">
|
||||
@foreach ($carts as $cart)
|
||||
<li class="farm-pro">
|
||||
<label for="checkbox" class="farm-radio">
|
||||
<input type="checkbox" name="checkbox" class="GoodsCheck" value="{{ $cart->id }}">
|
||||
</label>
|
||||
<div class="farm-car-img">
|
||||
<span style="background-image: url({{ $cart->goods->cover_path }});"></span>
|
||||
</div>
|
||||
<div class="farm-car-right">
|
||||
<div class="farm-car-right-top">
|
||||
<div class="farm-car-name text-nowrap">
|
||||
{{ $cart->goods->title }}
|
||||
</div>
|
||||
<div class="farm-car-del" data-id="{{ $cart->id }}">
|
||||
<i class="icon-trash"></i>
|
||||
</div>
|
||||
</div>
|
||||
<div class="farm-car-right-bottom">
|
||||
<div class="farm-car-li-num text-nowrap ">
|
||||
<span class="price_span">¥</span>
|
||||
<span class="ord-price">
|
||||
@if (Auth::user()->identity_id>0)
|
||||
{{ $cart->params->price }}
|
||||
@else
|
||||
{{ $cart->params->original }}
|
||||
@endif
|
||||
</span>
|
||||
</div>
|
||||
<div class="farm-car-select">
|
||||
<div class="ejectChoose-label">
|
||||
<button class="ejectChoose-l minus" type="button" > - </button>
|
||||
<input type="text" class="ejectChoose-c num"
|
||||
value="{{ $cart->number }}"
|
||||
data-id="{{ $cart->id }}"
|
||||
data-stock="{{ $cart->params->stock }}"
|
||||
@if (Auth::user()->identity_id>0)
|
||||
data-price="{{ $cart->params->price }}"
|
||||
@else
|
||||
data-price="{{ $cart->params->original }}"
|
||||
@endif
|
||||
readonly="">
|
||||
<input type="hidden" value="{{$cart->params->stock ?? 0}}" class="store_stock">
|
||||
<button class="ejectChoose-r plus" type="button" > + </button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
@endforeach
|
||||
</ul>
|
||||
@endif
|
||||
|
||||
</form>
|
||||
</section>
|
||||
@endsection
|
||||
|
||||
@section('script')
|
||||
<script src="/assets/index/js/operation.js"></script>
|
||||
<script>
|
||||
|
||||
// 数量减
|
||||
$('.minus').click(function () {
|
||||
var t = $(this).parent().find('.num');
|
||||
var num = getMax('-', t.val(), 1);
|
||||
if (num < 1) {
|
||||
updateAlert('数量不能小于1', false);
|
||||
return false;
|
||||
}
|
||||
setnum(t,num);
|
||||
});
|
||||
|
||||
$('.plus').click(function () {
|
||||
var t = $(this).parent().find('.num');
|
||||
var num = getMax('+', t.val(), 1);
|
||||
|
||||
var max_stock = t.data('stock');
|
||||
|
||||
if (num > max_stock) {
|
||||
updateAlert('数量不能大于库存', false);
|
||||
return false;
|
||||
}
|
||||
setnum(t,num);
|
||||
});
|
||||
|
||||
function setnum(t,num) {
|
||||
t.val(num);
|
||||
$.get("{{ route('cart.setnum') }}", {id: t.data('id'), number: num });
|
||||
TotalPrice();
|
||||
}
|
||||
|
||||
|
||||
// 点击商品按钮
|
||||
$(".GoodsCheck").click(function() {
|
||||
var goods = $(this).closest(".farm-car").find(".GoodsCheck"); //获取本店铺的所有商品
|
||||
var goodsC = $(this).closest(".farm-car").find(".GoodsCheck:checked"); //获取本店铺所有被选中的商品
|
||||
var Shops = $(this).closest(".farm-footer").find("#AllCheck"); //获取本店铺的全选按钮
|
||||
|
||||
if (goods.length == goodsC.length) {
|
||||
//如果选中的商品等于所有商品
|
||||
Shops.prop('#AllCheck', true);
|
||||
//店铺全选按钮被选中
|
||||
TotalPrice();
|
||||
} else {
|
||||
$("#AllCheck").prop('checked', false);
|
||||
//else全选按钮不被选中
|
||||
TotalPrice();
|
||||
}
|
||||
});
|
||||
|
||||
// 点击全选按钮
|
||||
$("#AllCheck").click(function() {
|
||||
if ($(this).prop("checked") == true) {
|
||||
//如果全选按钮被选中
|
||||
$(".GoodsCheck").prop('checked', true);
|
||||
//所有按钮都被选中
|
||||
TotalPrice();
|
||||
} else {
|
||||
$(".GoodsCheck").prop('checked', false);
|
||||
//else所有按钮不全选
|
||||
TotalPrice();
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
function TotalPrice() {
|
||||
var allprice = 0; //总价
|
||||
var selnum = 0; //总商品数
|
||||
$(".farm-car").each(function() { //循环每个店铺
|
||||
$(this).find(".GoodsCheck").each(function() { //循环店铺里面的商品
|
||||
var t = $(this).parents(".farm-pro").find(".num");
|
||||
|
||||
if ($(this).is(":checked")) { //如果该商品被选中
|
||||
var num = parseInt(t.val()); //得到商品的数量
|
||||
var price = parseFloat(t.data('price')); //得到商品的单价
|
||||
var total = getMax('*', price, num); //计算单个商品的总价
|
||||
allprice += total; //计算该购物车的总价
|
||||
selnum += num;//得到店铺商品的数量
|
||||
}
|
||||
});
|
||||
});
|
||||
$(".farm-total").text(allprice.toFixed(2)); //输出全部总价
|
||||
}
|
||||
|
||||
$('#commit').on('click', function() {
|
||||
var arr = new Array();
|
||||
var che = $('form').serializeArray();
|
||||
|
||||
var total = parseFloat($('.all-price').text());
|
||||
|
||||
if (che.length <= 0) {
|
||||
updateAlert('至少选择一件商品');
|
||||
} else {
|
||||
$.each(che, function(index, item) {
|
||||
if (item.name=='checkbox') {
|
||||
arr.push(item.value);
|
||||
}
|
||||
});
|
||||
location.href = "{{ route('cart.sure') }}?cart_id=" + arr.join(',');
|
||||
}
|
||||
});
|
||||
|
||||
$(".farm-car-del").click(function(){
|
||||
var id= $(this).data('id');
|
||||
if(confirm("您确定要删除当前商品?")){
|
||||
$(this).closest(".farm-pro").remove();
|
||||
$.get("{{ route('cart.delete') }}", {id: id },function(data){
|
||||
updateAlert(data.message);
|
||||
if (data.status == 'SUCCESS') {
|
||||
location.reload();
|
||||
}
|
||||
});
|
||||
}
|
||||
TotalPrice();
|
||||
});
|
||||
</script>
|
||||
@endsection
|
||||
46
resources/views/favorite/index.blade.php
Normal file
46
resources/views/favorite/index.blade.php
Normal file
@@ -0,0 +1,46 @@
|
||||
@extends('layouts.app')
|
||||
|
||||
@section('content')
|
||||
<section class="app">
|
||||
<!-- 收藏列表 -->
|
||||
<div class="product-list-title">我的收藏</div>
|
||||
@if ($lists->isNotEmpty())
|
||||
<ul class="product-ul">
|
||||
@include('index.more', ['lists'=>$lists])
|
||||
</ul>
|
||||
@else
|
||||
<div class="noData">
|
||||
<input type="image" src="/assets/index/img/no_data.png" />
|
||||
<span style="padding-bottom: 30px">暂无数据</span>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
</section>
|
||||
@endsection
|
||||
|
||||
@section('script')
|
||||
<script type="text/javascript" src="/assets/index/js/PullToRefresh.min.js" ></script>
|
||||
<script type="text/javascript">
|
||||
var loadMore = {{ $lists->hasMorePages()?:'false' }}
|
||||
if (loadMore) {
|
||||
var page=2;
|
||||
|
||||
var refreshBox=new PullToRefresh({
|
||||
container:".app",
|
||||
up:{
|
||||
callback:function(e){
|
||||
$.get("{{ route('favorites.more') }}",{page:page},function(data){
|
||||
if(data.status=='SUCCESS'){
|
||||
$(".more").append(data.message);
|
||||
page++;
|
||||
refreshBox.endUpLoading(true)
|
||||
} else {
|
||||
refreshBox.endUpLoading(false)
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
</script>
|
||||
@endsection
|
||||
12
resources/views/favorite/more.blade.php
Normal file
12
resources/views/favorite/more.blade.php
Normal file
@@ -0,0 +1,12 @@
|
||||
@foreach ($lists as $good)
|
||||
<li class="product-li">
|
||||
<a href="{{ route('goods.show',$good) }}">
|
||||
<div class="product-li-cover">
|
||||
<span style="background-image:url({{ $good->cover_path }})"></span>
|
||||
</div>
|
||||
<p class="product-li-title ce-nowrap">{{ $good->title }}</p>
|
||||
<p class="product-li-subheading ce-nowrap-multi">{{ $good->description }}</p>
|
||||
<p class="product-li-price">现价:¥{{ $good->min_price }}</p>
|
||||
</a>
|
||||
</li>
|
||||
@endforeach
|
||||
72
resources/views/goods/category.blade.php
Normal file
72
resources/views/goods/category.blade.php
Normal file
@@ -0,0 +1,72 @@
|
||||
@extends('layouts.app')
|
||||
@section('footer','')
|
||||
|
||||
@section('css')
|
||||
<style type="text/css">
|
||||
body{
|
||||
background: #fff;
|
||||
}
|
||||
</style>
|
||||
@endsection
|
||||
|
||||
@section('content')
|
||||
<div class="search searchClassify">
|
||||
<div class="indexLogo" data-href="{{ route('index') }}">
|
||||
<img src="/assets/index/img/logo.png">
|
||||
</div>
|
||||
<form action="{{ route('goods.lists') }}" method="get" accept-charset="utf-8" class="searchCont" style="width: calc(100% - 40px)">
|
||||
<input type="search" name="title" class="input" placeholder="请输入关键字">
|
||||
<button type="submit" class="btn"><i class="icon-search"></i></button>
|
||||
</form>
|
||||
</div>
|
||||
<!-- section -->
|
||||
<section>
|
||||
<!-- 产品分类 -->
|
||||
<ul class="classifyItem">
|
||||
<li class="classifyItem-nav @if(!$category) classifyItem-active @endif " data-href="{{ route('goods.category',['category_id'=>'']) }}"><span>全部</span></li>
|
||||
@foreach ($categorys as $cate)
|
||||
<li class="classifyItem-nav @if($category && $category->id==$cate->id) classifyItem-active @endif " data-href="{{ route('goods.category',['category_id'=>$cate->id]) }}"><span>{{ $cate->title }}</span></li>
|
||||
@endforeach
|
||||
</ul>
|
||||
<div class="classifyCont">
|
||||
<div class="classifyBorder">
|
||||
@if ($category)
|
||||
<div class="classifyCont-title">
|
||||
<span>{{ $category->title }}</span>
|
||||
</div>
|
||||
<ul class="classifyUl">
|
||||
@foreach ($category->children as $children)
|
||||
<li data-href="{{ route('goods.lists',['category_id'=>$children->id]) }}">
|
||||
<div class="classifyUl-img">
|
||||
<img src="{{ $children->cover_path }}" />
|
||||
</div>
|
||||
<div class="classifyUl-text">
|
||||
{{ $children->title }}
|
||||
</div>
|
||||
</li>
|
||||
@endforeach
|
||||
</ul>
|
||||
@else
|
||||
@foreach ($categorys as $category)
|
||||
<div class="classifyCont-title">
|
||||
<span>{{ $category->title }}</span>
|
||||
</div>
|
||||
<ul class="classifyUl">
|
||||
@foreach ($category->children as $children)
|
||||
<li data-href="{{ route('goods.lists',['category_id'=>$children->id]) }}">
|
||||
<div class="classifyUl-img">
|
||||
<img src="{{ $children->cover_path }}" />
|
||||
</div>
|
||||
<div class="classifyUl-text">
|
||||
{{ $children->title }}
|
||||
</div>
|
||||
</li>
|
||||
@endforeach
|
||||
</ul>
|
||||
@endforeach
|
||||
@endif
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
@endsection
|
||||
220
resources/views/goods/lists.blade.php
Normal file
220
resources/views/goods/lists.blade.php
Normal file
@@ -0,0 +1,220 @@
|
||||
@extends('layouts.app')
|
||||
|
||||
<form action="" method="get" accept-charset="utf-8" id="thisfrom">
|
||||
<div class="search searchClassify">
|
||||
<div class="indexLogo">
|
||||
<img src="/assets/index/img/logo.png">
|
||||
</div>
|
||||
<div class="searchCont" style="width: calc(100% - 40px)">
|
||||
<input type="search" name="title" value="{{ $title }}" class="input" placeholder="请输入关键字">
|
||||
<button type="button" class="btn find"><i class="icon-search"></i></button>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 筛选 -->
|
||||
<div class="goodsTab">
|
||||
<div>
|
||||
<span class="price @if($price) goodsTab-active @endif " >价格</span>
|
||||
<small>
|
||||
<i class="icon icon-caret-up @if($price=='ASC') goodsTab-active @endif"></i>
|
||||
<i class="icon icon-caret-down @if($price=='DESC') goodsTab-active @endif"></i>
|
||||
</small>
|
||||
</div>
|
||||
<div>
|
||||
<span class="sold @if($sold) goodsTab-active @endif " >销量</span>
|
||||
<small>
|
||||
<i class="icon icon-caret-up @if($sold=='ASC') goodsTab-active @endif"></i>
|
||||
<i class="icon icon-caret-down @if($sold=='DESC') goodsTab-active @endif"></i>
|
||||
</small>
|
||||
</div>
|
||||
<div class="goodsTab-btn">筛选条件<i class="icon icon-bars"></i></div>
|
||||
</div>
|
||||
|
||||
<!-- 筛选弹出 -->
|
||||
<div class="goodsBack"></div>
|
||||
<div class="goodsEject">
|
||||
<div class="senior">
|
||||
<div class="seniorTitle">
|
||||
价格
|
||||
</div>
|
||||
<ul class="senior-list goodsEject-list">
|
||||
<li class="user-senior">
|
||||
<div class="senior-list-radio">
|
||||
<input type="radio" name="price" value="ASC" id="price-ASC" @if($price=='ASC') checked @endif />
|
||||
<label for="price-ASC">
|
||||
价格升序
|
||||
</label>
|
||||
</div>
|
||||
</li>
|
||||
<li class="user-senior">
|
||||
<div class="senior-list-radio">
|
||||
<input type="radio" name="price" value="DESC" id="price-DESC" @if($price=='DESC') checked @endif />
|
||||
<label for="price-DESC">
|
||||
价格降序
|
||||
</label>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="senior">
|
||||
<div class="seniorTitle">
|
||||
销量
|
||||
</div>
|
||||
<ul class="senior-list goodsEject-list">
|
||||
<li class="user-senior">
|
||||
<div class="senior-list-radio">
|
||||
<input type="radio" name="sold" value="ASC" id="sold-ASC" @if($sold=='ASC') checked @endif />
|
||||
<label for="sold-ASC">
|
||||
销量升序
|
||||
</label>
|
||||
</div>
|
||||
</li>
|
||||
<li class="user-senior">
|
||||
<div class="senior-list-radio">
|
||||
<input type="radio" name="sold" value="DESC" id="sold-DESC" @if($sold=='DESC') checked @endif />
|
||||
<label for="sold-DESC">
|
||||
销量降序
|
||||
</label>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="senior">
|
||||
<div class="seniorTitle">
|
||||
分类
|
||||
</div>
|
||||
<ul class="senior-list goodsEject-list">
|
||||
@if (!empty($parent_cate))
|
||||
<li class="user-senior">
|
||||
<div class="senior-list-radio">
|
||||
<input type="radio" name="category_id" value="{{ $parent_cate->id }}" id="category-{{ $parent_cate->id }}" @if($parent_cate->id==$category_id) checked @endif />
|
||||
<label for="category-{{ $parent_cate->id }}">
|
||||
全部
|
||||
</label>
|
||||
</div>
|
||||
</li>
|
||||
@endif
|
||||
|
||||
@foreach ($categorys as $cate)
|
||||
<li class="user-senior">
|
||||
<div class="senior-list-radio">
|
||||
<input type="radio" name="category_id" value="{{ $cate->id }}" id="category-{{ $cate->id }}" @if($cate->id==$category_id) checked @endif />
|
||||
<label for="category-{{ $cate->id }}">
|
||||
{{ $cate->title }}
|
||||
</label>
|
||||
</div>
|
||||
</li>
|
||||
@endforeach
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<!-- 确定按钮 -->
|
||||
<div class="goodsEject-btn find">确定</div>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
@section('content')
|
||||
<section style="padding-top: 98px" class="app">
|
||||
@if ($goods->isNotEmpty())
|
||||
<ul class="product-ul more">
|
||||
@include('goods.more',['goods'=>$goods])
|
||||
|
||||
</ul>
|
||||
@else
|
||||
<div class="noData">
|
||||
<input type="image" src="/assets/index/img/no_data.png" />
|
||||
<span style="padding-bottom: 30px">暂无数据</span>
|
||||
</div>
|
||||
@endif
|
||||
</section>
|
||||
@endsection
|
||||
@section('script')
|
||||
<script type="text/javascript" src="/assets/index/js/PullToRefresh.min.js" ></script>
|
||||
<script type="text/javascript">
|
||||
//筛选弹出层
|
||||
$('.goodsTab-btn').on('click', function() {
|
||||
var top = $(window).scrollTop();
|
||||
$('html').css({
|
||||
'overflow': 'hidden',
|
||||
'top': -top + 'px'
|
||||
})
|
||||
$('.goodsEject').css({
|
||||
'right': '0'
|
||||
})
|
||||
$('.goodsBack').css({
|
||||
'display': 'block'
|
||||
})
|
||||
})
|
||||
$('.goodsBack').on('click', function() {
|
||||
$('html').css({
|
||||
'overflow': 'auto',
|
||||
'position': 'static'
|
||||
})
|
||||
$('html,body').scrollTop(top)
|
||||
$('.goodsEject').css({
|
||||
'right': '-100%'
|
||||
})
|
||||
$('.goodsBack').css({
|
||||
'display': 'none'
|
||||
})
|
||||
})
|
||||
|
||||
$('.find').click(function(){
|
||||
search();
|
||||
});
|
||||
|
||||
$('.price').click(function(){
|
||||
var price = "{{ $price }}";
|
||||
if(price=='ASC'){
|
||||
$("#price-DESC").attr("checked","checked");
|
||||
$("#price-ASC").removeAttr("checked");
|
||||
}else{
|
||||
$("#price-ASC").attr("checked","checked");
|
||||
$("#price-DESC").removeAttr("checked");
|
||||
}
|
||||
search();
|
||||
});
|
||||
|
||||
$('.sold').click(function(){
|
||||
var sold = "{{ $sold }}";
|
||||
if(sold=='ASC'){
|
||||
$("#sold-DESC").attr("checked","checked");
|
||||
$("#sold-ASC").removeAttr("checked");
|
||||
}else{
|
||||
$("#sold-ASC").attr("checked","checked");
|
||||
$("#sold-DESC").removeAttr("checked");
|
||||
}
|
||||
search();
|
||||
});
|
||||
|
||||
function search() {
|
||||
$('#thisfrom').submit();
|
||||
}
|
||||
|
||||
var loadMore = {{ $goods->hasMorePages()?:'false' }}
|
||||
if (loadMore) {
|
||||
var page=2;
|
||||
var title = "{{ $title }}";
|
||||
var price = "{{ $price }}";
|
||||
var sold = "{{ $sold }}";
|
||||
var category_id = "{{ $category_id }}";
|
||||
|
||||
var refreshBox=new PullToRefresh({
|
||||
container:".app",
|
||||
up:{
|
||||
callback:function(e){
|
||||
$.get("{{ route('goods.lists') }}",{title:title,price:price,sold:sold,category_id:category_id,page:page},function(data){
|
||||
if(data.status=='SUCCESS'){
|
||||
$(".more").append(data.message);
|
||||
page++;
|
||||
refreshBox.endUpLoading(true)
|
||||
} else {
|
||||
refreshBox.endUpLoading(false)
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
</script>
|
||||
@endsection
|
||||
15
resources/views/goods/more.blade.php
Normal file
15
resources/views/goods/more.blade.php
Normal file
@@ -0,0 +1,15 @@
|
||||
@if ($goods->isNotEmpty())
|
||||
@foreach ($goods as $good)
|
||||
<li class="product-li">
|
||||
<a href="{{ route('goods.show',$good) }}">
|
||||
<div class="product-li-cover">
|
||||
<span style="background-image:url(/storage/{{ $good->cover }})"></span>
|
||||
</div>
|
||||
<p class="product-li-title ce-nowrap">{{ $good->title }}</p>
|
||||
<p class="product-li-subheading ce-nowrap-multi">{{ $good->description }}</p>
|
||||
<p class="product-li-price">会员价:¥{{ $good->min_price }}</p>
|
||||
<p class="product-li-sale">销售价:¥{{ $good->min_original }}</p>
|
||||
</a>
|
||||
</li>
|
||||
@endforeach
|
||||
@endif
|
||||
318
resources/views/goods/show.blade.php
Normal file
318
resources/views/goods/show.blade.php
Normal file
@@ -0,0 +1,318 @@
|
||||
@extends('layouts.app')
|
||||
|
||||
@section('footer')
|
||||
<!-- footer -->
|
||||
<footer>
|
||||
<div class="detailsLeft">
|
||||
<div class="detailsLeftIcon " data-href="{{ route('index') }}">
|
||||
<img src="/assets/index/img/homeIcon_01.png">
|
||||
<span>首页</span>
|
||||
</div>
|
||||
<div class="detailsLeftIcon" data-href="{{ route('cart.index') }}">
|
||||
<img src="/assets/index/img/icon/detailsIcon_02.png">
|
||||
<span>购物车</span>
|
||||
@if (Auth::user()&&Auth::user()->cart()->count()>0)
|
||||
<p>{{ Auth::user()->cart()->count() }}</p>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
@if (!$user)
|
||||
<div class="detailsBtn">
|
||||
<a class="detailsRight-car" href="{{ route('login',['r' => Request::url()]) }}">立即登录</a>
|
||||
</div>
|
||||
@else
|
||||
<div class="detailsRight">
|
||||
<a class="detailsRight-car shade">加入购物车</a>
|
||||
<!-- 如果是会员直接可购买,如果不是则弹出升级会员提示 -->
|
||||
@if ($user->identity_id>0)
|
||||
<a class="detailsRight-buy shade">立即购买</a>
|
||||
@else
|
||||
<a class="detailsRight-buy memberUp">购买产品</a>
|
||||
@endif
|
||||
</div>
|
||||
|
||||
@endif
|
||||
|
||||
|
||||
</footer>
|
||||
@endsection
|
||||
@section('pop')
|
||||
<!-- 提示升级会员弹出页 -->
|
||||
<div class="memberHide memberBack"></div>
|
||||
<div class="memberSpecs">
|
||||
<div class="memberSpecsTop">
|
||||
<img class="memberSpecsTop-img" src="/assets/index/img/memberSpecs.png" >
|
||||
<span>提示</span>
|
||||
</div>
|
||||
<div class="memberSpecsText">
|
||||
<span>您好,您可升级VIP会员,立享会员价格</span>
|
||||
</div>
|
||||
<div class="memberSpecsBtn">
|
||||
<a href="{{ route('upgrade.vip') }}" class="memberSpecsBtn-take">升级VIP</a>
|
||||
<a href="#" class="memberSpecsBtn-up shade memberRemove">购买产品</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="SpecsRemove memberRemove">
|
||||
<i class="icon icon-remove-circle"></i>
|
||||
</div>
|
||||
<form class="attribute-form" method="post" accept-charset="utf-8">
|
||||
<!-- 规格弹出页 -->
|
||||
<div class="shadeHide backEject"></div>
|
||||
<div class="specsEject">
|
||||
<div class="ejectRemove">
|
||||
<i class="icon icon-remove-circle"></i>
|
||||
</div>
|
||||
<div class="ejectHead">
|
||||
<div class="ejectHead-img">
|
||||
<span style="background-image:url({{ $good->cover_path }})"></span>
|
||||
</div>
|
||||
<div class="ejectHead-text">
|
||||
<div class="ejectHead-price">
|
||||
<small>¥{{ $good->def_min_price }}</small>
|
||||
</div>
|
||||
<div class="ejectHead-size">
|
||||
规格:{{ $first->value }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="ejectChoose">
|
||||
<p>请选择产品规格</p>
|
||||
<ul class="SpecsList">
|
||||
@if($params->count() > 0)
|
||||
@foreach($params as $param)
|
||||
<li data-id="{{ $param->id }}" data-stock="{{ $param->stock }}" data-price="{{ $param->price }}">
|
||||
<div class="SpecsList-radio">
|
||||
<input type="radio" name="params" value="{{ $param->id }}" id="params{{ $param->id }}" @if($param->id==$first->id) checked @endif />
|
||||
<label for="params{{ $param->id }}">
|
||||
{{ $param->value }}
|
||||
</label>
|
||||
</div>
|
||||
</li>
|
||||
@endforeach
|
||||
@endif
|
||||
</ul>
|
||||
</div>
|
||||
<div class="ejectChoose">
|
||||
<p>数量</p>
|
||||
<div class="ejectChoose-label">
|
||||
<button class="ejectChoose-l minus" type="button" id="minus" > - </button>
|
||||
<input type="text" class="ejectChoose-c num" name="details[0][0][number]" value="1" readonly="">
|
||||
<button class="ejectChoose-r plus" type="button" > + </button>
|
||||
</div>
|
||||
</div>
|
||||
<input type="hidden" id="params_stock" value="{{ $first->stock }}">
|
||||
<input type="hidden" name="details[0][0][params_id]" id="params_id" value="{{ $first->id }}">
|
||||
<input type="hidden" name="item[id]" value="0">
|
||||
<input type="hidden" name="item[type]" id="goodstype" value="MEMBER">
|
||||
@csrf
|
||||
<div class="ejectBtn">
|
||||
<a class="detailsRight-car ajax-shop-guige" data-type="1">加入购物车</a>
|
||||
<!-- 如果是会员直接可购买,如果不是则先升级为会员 -->
|
||||
<a class="detailsRight-buy ajax-shop-guige" data-type="2">立即购买</a>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
@endsection
|
||||
|
||||
@section('content')
|
||||
<!-- section -->
|
||||
<section>
|
||||
<!-- Swiper -->
|
||||
<div class="swiper-container details-banner">
|
||||
<div class="swiper-wrapper details-wrapper">
|
||||
<div class="swiper-slide details-wrapper-img" style="background-image:url({{ $good->cover_path }})"></div>
|
||||
</div>
|
||||
<!-- Add Pagination -->
|
||||
<div class="swiper-pagination details-pagination"></div>
|
||||
</div>
|
||||
@if ($user && $user->identity_id<1)
|
||||
<div class="goodsMember" data-href="{{ route('upgrade.vip') }}">
|
||||
<div class="goodsMemberLeft">
|
||||
<div class="goodsMemberLeft-icon">
|
||||
<img src="/assets/index/img/icon/goodsMember.png">
|
||||
</div>
|
||||
会员专享,立即开通会员,进行购买
|
||||
</div>
|
||||
<div class="goodsMemberRight" >
|
||||
立即开通
|
||||
<i class="icon icon-angle-right"></i>
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
|
||||
<div class="detailsCont">
|
||||
<div class="goodsText" style="display: flex">
|
||||
<div style="flex: 1">
|
||||
<div class="goodsText-name">
|
||||
<span>会员专属</span>
|
||||
{{ $good->title }}
|
||||
</div>
|
||||
<div class="goodsText-text">{{ $good->description }}</div>
|
||||
</div>
|
||||
<div class="detailsLeftIcon ajax-get" data-href="{{ route('goods.favorite',$good) }}" style="width: 40px;">
|
||||
@if ($good->isFavoritedBy($user))
|
||||
<img src="/assets/index/img/icon/detailsIcon_01_active.png" style="margin-top: 3px">
|
||||
<span>已收藏</span>
|
||||
@else
|
||||
<img src="/assets/index/img/icon/detailsIcon_01.png" style="margin-top: 3px">
|
||||
<span>收藏</span>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
<div class="goodsPrice">
|
||||
<div class="goodsPrice-red">
|
||||
¥{{ $good->def_min_price }}
|
||||
</div>
|
||||
<p>销售价<span>¥{{ $good->min_original }}</span></p>
|
||||
</div>
|
||||
<div class="goodsNumber">
|
||||
<span class="goodsNumber-flex">已售{{ $good->sold }}件</span>
|
||||
<span>库存{{ $good->all_stock }}件</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="detailsSpecs">
|
||||
<div class="detailsLabel shade">
|
||||
<div class="detailsLabel-left">
|
||||
<label>已选</label>
|
||||
<span id="params_select">规格 {{ $first->value }}</span>
|
||||
</div>
|
||||
<i class="icon icon-angle-right"></i>
|
||||
</div>
|
||||
<div class="detailsLabel">
|
||||
<div class="detailsLabel-left">
|
||||
<label>运费</label>
|
||||
<span>免运费</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="detailsBrief">
|
||||
<p>产品详情</p>
|
||||
<div class="detailsBrief-img">
|
||||
{!! $good->content !!}
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
@endsection
|
||||
|
||||
@section('script')
|
||||
<script src="/assets/index/js/operation.js"></script>
|
||||
<script type="text/javascript">
|
||||
// 产品轮播
|
||||
var details = new Swiper('.details-banner', {
|
||||
pagination: '.details-pagination',
|
||||
paginationClickable: true
|
||||
});
|
||||
|
||||
// 数量减
|
||||
$('.minus').click(function () {
|
||||
var num = getMax('-', $('.num').val(), 1);
|
||||
if (num < 1) {
|
||||
updateAlert('数量不能小于1', false);
|
||||
return false;
|
||||
}
|
||||
$('.num').val(num);
|
||||
});
|
||||
|
||||
$('.plus').click(function () {
|
||||
var num = getMax('+', $('.num').val(), 1);
|
||||
var max_stock = $("#params_stock").val();
|
||||
if (num > max_stock) {
|
||||
updateAlert('数量不能大于库存', false);
|
||||
return false;
|
||||
}
|
||||
$('.num').val(num);
|
||||
});
|
||||
|
||||
//点击确定
|
||||
$('.ajax-shop-guige').click(function (event) {
|
||||
var type = $(this).data('type');
|
||||
if (type == 1) {
|
||||
event.preventDefault();
|
||||
var $this = $(this);
|
||||
var $form = $this.parents('form');
|
||||
var $action = "{{ route('cart.store') }}";
|
||||
var query = $form.serialize();
|
||||
$.post($action, query, function (data) {
|
||||
updateAlert(data.message, type = "success");
|
||||
if (data.status == 'SUCCESS') {
|
||||
setTimeout(function () {
|
||||
location.reload();
|
||||
}, 1000);
|
||||
}else{
|
||||
if(data.redirect!=''){
|
||||
location.href=data.redirect;
|
||||
}
|
||||
}
|
||||
});
|
||||
} else if(type==2) {
|
||||
location.href = "{{ route('orders.create') }}?" + $(this).parents('form').serialize();
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
//产品弹出层
|
||||
$('.shade').on('click', function() {
|
||||
var top = $(window).scrollTop();
|
||||
$('html').css({
|
||||
'overflow': 'hidden',
|
||||
'top': -top + 'px'
|
||||
})
|
||||
|
||||
$('.backEject').css({
|
||||
'display': 'block'
|
||||
})
|
||||
$('.specsEject').css({
|
||||
'bottom': '0px'
|
||||
})
|
||||
})
|
||||
|
||||
$('.shadeHide, .ejectRemove').on('click', function() {
|
||||
$('html').css({
|
||||
'overflow': 'auto',
|
||||
'position': 'static'
|
||||
})
|
||||
$('html,body').scrollTop(top)
|
||||
|
||||
$('.specsEject').css({
|
||||
'bottom': '-100%'
|
||||
})
|
||||
$('.backEject').css({
|
||||
'display': 'none'
|
||||
})
|
||||
})
|
||||
|
||||
//升级vip弹出层
|
||||
$('.memberUp').on('click', function() {
|
||||
var top = $(window).scrollTop();
|
||||
$('html').css({
|
||||
'overflow': 'hidden',
|
||||
'top': -top + 'px'
|
||||
})
|
||||
|
||||
$('.memberBack').css({
|
||||
'display': 'block'
|
||||
})
|
||||
$('.memberSpecs, .SpecsRemove').css({
|
||||
'left': '10%'
|
||||
})
|
||||
|
||||
})
|
||||
$('.memberHide, .memberRemove').on('click', function() {
|
||||
$('html').css({
|
||||
'overflow': 'auto',
|
||||
'position': 'static'
|
||||
})
|
||||
$('html,body').scrollTop(top)
|
||||
|
||||
$('.memberBack').css({
|
||||
'display': 'none'
|
||||
})
|
||||
$('.memberSpecs, .SpecsRemove').css({
|
||||
'left': '-100%'
|
||||
})
|
||||
})
|
||||
</script>
|
||||
@endsection
|
||||
110
resources/views/index/index.blade.php
Normal file
110
resources/views/index/index.blade.php
Normal file
@@ -0,0 +1,110 @@
|
||||
@extends('layouts.app')
|
||||
@section('content')
|
||||
<section class="app">
|
||||
<div>
|
||||
<form action="{{ route('goods.lists') }}" method="get" accept-charset="utf-8">
|
||||
<div class="search">
|
||||
<div class="indexClassify" data-href="{{ route('goods.category') }}">
|
||||
<img src="/assets/index/img/icon/indexClassify.png" >
|
||||
</div>
|
||||
<div class="searchCont">
|
||||
<input type="text" name="title" value="{{ $title }}" class="input" placeholder="请输入关键字">
|
||||
@csrf
|
||||
<button type="submit" class="btn"><i class="icon-search"></i></button>
|
||||
</div>
|
||||
<div class="indexLogo">
|
||||
<img src="/assets/index/img/logo.png">
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<!-- banner -->
|
||||
<div class="banner">
|
||||
<div class="swiper-container swiper-banner">
|
||||
<div class="swiper-wrapper wrapper-banner">
|
||||
@foreach ($adverts as $advert)
|
||||
<div class="swiper-slide wrapper-banner-img"
|
||||
style="background-image:url(/storage/{{ $advert->cover }})"
|
||||
|
||||
@if ($advert->url!='#' && $advert->url!='')
|
||||
data-href="{{ $advert->url }}"
|
||||
@endif
|
||||
|
||||
></div>
|
||||
@endforeach
|
||||
</div>
|
||||
<!-- Add Pagination -->
|
||||
<div class="swiper-pagination wrapper-pagination"></div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 商品分类 -->
|
||||
<div class="classify">
|
||||
<span class="classify-item classify-active" data-href="{{ route('goods.lists') }}">
|
||||
<img src="/assets/index/img/icon/db_05.png" >
|
||||
全部商品
|
||||
</span>
|
||||
@foreach ($c_lists as $category)
|
||||
<span class="classify-item classify-active" data-href="{{ route('goods.lists',['category_id'=>$category->id]) }}">
|
||||
<img src="{{ $category->cover_path }}" >
|
||||
{{ $category->title }}
|
||||
</span>
|
||||
@endforeach
|
||||
|
||||
</div>
|
||||
<!-- 商品列表 -->
|
||||
<div class="product-list">
|
||||
<div class="product-list-title">热销推荐<span>人气爆款 & 新品首发</span></div>
|
||||
@if ($lists->isNotEmpty())
|
||||
<ul class="product-ul more" >
|
||||
@include('index.more', ['lists'=>$lists])
|
||||
</ul>
|
||||
@else
|
||||
</div>
|
||||
<div class="noData">
|
||||
<input type="image" src="/assets/index/img/no_data.png" />
|
||||
<span style="padding-bottom: 30px">暂无数据</span>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
</div>
|
||||
|
||||
</section>
|
||||
@endsection
|
||||
|
||||
@section('script')
|
||||
<script type="text/javascript" src="/assets/index/js/PullToRefresh.min.js" ></script>
|
||||
|
||||
<script type="text/javascript">
|
||||
|
||||
var banner = new Swiper('.swiper-banner',{
|
||||
autoplay : 4000,
|
||||
loop : true,
|
||||
autoplayDisableOnInteraction: false,
|
||||
pagination: '.wrapper-pagination'
|
||||
})
|
||||
var loadMore = {{ $lists->hasMorePages()?:'false' }}
|
||||
if (loadMore) {
|
||||
var page=2;
|
||||
var title = "{{ $title }}";
|
||||
|
||||
var refreshBox=new PullToRefresh({
|
||||
container:".app",
|
||||
up:{
|
||||
callback:function(e){
|
||||
$.get("{{ route('index.more') }}",{title:title,page:page},function(data){
|
||||
if(data.status=='SUCCESS'){
|
||||
$(".more").append(data.message);
|
||||
page++;
|
||||
refreshBox.endUpLoading(true)
|
||||
} else {
|
||||
refreshBox.endUpLoading(false)
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
</script>
|
||||
@endsection
|
||||
17
resources/views/index/more.blade.php
Normal file
17
resources/views/index/more.blade.php
Normal file
@@ -0,0 +1,17 @@
|
||||
@if ($lists->isNotEmpty())
|
||||
@foreach ($lists as $goods)
|
||||
<li class="pick-list-li">
|
||||
<li class="product-li">
|
||||
<a href="{{ route('goods.show',$goods) }}">
|
||||
<div class="product-li-cover">
|
||||
<span style="background-image:url(/storage/{{ $goods->cover }})"></span>
|
||||
</div>
|
||||
<p class="product-li-title ce-nowrap">{{ $goods->title }}</p>
|
||||
<p class="product-li-subheading ce-nowrap-multi">{{ $goods->description }}</p>
|
||||
<p class="product-li-price">会员价:¥{{ $goods->min_price }}</p>
|
||||
<p class="product-li-sale">销售价:¥{{ $goods->min_original }}</p>
|
||||
</a>
|
||||
</li>
|
||||
</li>
|
||||
@endforeach
|
||||
@endif
|
||||
113
resources/views/layouts/app.blade.php
Normal file
113
resources/views/layouts/app.blade.php
Normal file
@@ -0,0 +1,113 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />
|
||||
<meta http-equiv="Pragma" content="no-cache" />
|
||||
<meta http-equiv="Expires" content="0" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
|
||||
|
||||
<title>@yield('title', $app_title??config('app.name'))</title>
|
||||
<link rel="stylesheet" href="{{ asset('assets/index/css/mzui.min.css') }}">
|
||||
<link rel="stylesheet" href="{{ asset('assets/index/css/swiper.min.css') }}">
|
||||
{{-- <link rel="stylesheet" href="{{ asset('assets/index/css/conciseui.css') }}"> --}}
|
||||
<link rel="stylesheet" href="{{ asset('assets/index/css/style.css') }}?_{{time()}}">
|
||||
<link rel="stylesheet" href="{{ asset('assets/index/css/PullToRefresh.min.css') }}">
|
||||
@yield('css')
|
||||
@yield('js')
|
||||
|
||||
</head>
|
||||
<body>
|
||||
@if (Auth::user() && empty(Auth::user()->info->subscribe_at) && !in_array(url()->current(),[route('register'),route('upgrade.agent'),route('upgrade.vip')]))
|
||||
<div class="codeCont">
|
||||
<div class="codeCont-img">
|
||||
<img src="/assets/index/img/wechat_code.jpg" >
|
||||
<span>请先扫码关注平台</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="codeClose">
|
||||
关闭
|
||||
</div>
|
||||
@endif
|
||||
|
||||
@section('footer')
|
||||
@include('layouts.footer')
|
||||
@show
|
||||
@yield('pop')
|
||||
@yield('content')
|
||||
</body>
|
||||
|
||||
<script type="text/javascript" src="/assets/index/js/jquery-3.2.1.min.js"></script>
|
||||
<script type="text/javascript" src="/assets/index/js/mzui.min.js" ></script>
|
||||
<script type="text/javascript" src="/assets/index/js/layer/layer.min.js" ></script>
|
||||
<script type="text/javascript" src="/assets/index/js/swiper.min.js"></script>
|
||||
<script type="text/javascript" src="/assets/index/js/cjango.js?v={{uniqid()}}"></script>
|
||||
|
||||
<script type="text/javascript">
|
||||
|
||||
function checkNumFoc(inp,next)
|
||||
{
|
||||
var $this=$(inp);
|
||||
var str=$this.val();
|
||||
if (str.length >= 5) {
|
||||
str = str.substr(0, 4);
|
||||
}
|
||||
$this.val(str);
|
||||
if(str.length==4 && next!=0){
|
||||
$('.passdiv').find('input').eq(next).focus();
|
||||
}
|
||||
}
|
||||
|
||||
// 卡号绑定
|
||||
$('.cardBtn').on('click', function() {
|
||||
var top = $(window).scrollTop();
|
||||
$('html').css({
|
||||
'overflow': 'hidden',
|
||||
'top': -top + 'px'
|
||||
})
|
||||
$('footer').css({
|
||||
'display': 'flex'
|
||||
})
|
||||
$('.cardBuy').css({
|
||||
'top': 'calc(50% - 110px)'
|
||||
})
|
||||
$('.cardBack').css({
|
||||
'display': 'block'
|
||||
})
|
||||
$('.liangHaoBuy').css({
|
||||
'bottom': '-100%'
|
||||
})
|
||||
|
||||
})
|
||||
$('.cardClose').on('click', function() {
|
||||
$('html').css({
|
||||
'overflow': 'auto',
|
||||
'position': 'static'
|
||||
})
|
||||
$('html,body').scrollTop(top)
|
||||
$('.cardBuy').css({
|
||||
'top': '-100%'
|
||||
})
|
||||
$('.cardBack').css({
|
||||
'display': 'none'
|
||||
})
|
||||
$('.liangHaoBuy').css({
|
||||
'bottom': '-100%'
|
||||
})
|
||||
$('.liangHao-list').find('.liangHao-list-border').removeClass('liangHao-list-border');
|
||||
|
||||
})
|
||||
|
||||
//二维码弹出层
|
||||
$('.codeClose').on('click', function() {
|
||||
$('.codeCont').css({
|
||||
'top': '-100%'
|
||||
})
|
||||
$('.codeClose').css({
|
||||
'display': 'none'
|
||||
})
|
||||
})
|
||||
|
||||
</script>
|
||||
@yield('script')
|
||||
</html>
|
||||
18
resources/views/layouts/footer.blade.php
Normal file
18
resources/views/layouts/footer.blade.php
Normal file
@@ -0,0 +1,18 @@
|
||||
<footer>
|
||||
<a href="{{ route('index') }}" class="footer-item @if( ($nav??'1') ==1) tab-active @endif">
|
||||
<img class="footer-icon" @if( ($nav??'1') ==1) src="/assets/index/img/icon/tabIcon_active_00.png" @else src="/assets/index/img/icon/tabIcon_00.png" @endif alt="footerIcon">
|
||||
<p class="footer-text">会员商城</p>
|
||||
</a>
|
||||
<a href="{{ route('pick.index') }}" class="footer-item @if( ($nav??'1') ==2) tab-active @endif">
|
||||
<img class="footer-icon" @if( ($nav??'1') ==2) src="/assets/index/img/icon/tabIcon_active_01.png" @else src="/assets/index/img/icon/tabIcon_01.png" @endif alt="footerIcon">
|
||||
<p class="footer-text">提货商城</p>
|
||||
</a>
|
||||
<a href="{{ route('articles.index') }}" class="footer-item @if( ($nav??'1') ==3) tab-active @endif">
|
||||
<img class="footer-icon" @if( ($nav??'1') ==3) src="/assets/index/img/icon/tabIcon_active_02.png" @else src="/assets/index/img/icon/tabIcon_02.png" @endif alt="footerIcon">
|
||||
<p class="footer-text">教程资讯</p>
|
||||
</a>
|
||||
<a href="{{ route('user.index') }}" class="footer-item @if( ($nav??'1') ==4) tab-active @endif">
|
||||
<img class="footer-icon" @if( ($nav??'1') ==4) src="/assets/index/img/icon/tabIcon_active_03.png" @else src="/assets/index/img/icon/tabIcon_03.png" @endif alt="footerIcon">
|
||||
<p class="footer-text">个人中心</p>
|
||||
</a>
|
||||
</footer>
|
||||
103
resources/views/location/address.blade.php
Normal file
103
resources/views/location/address.blade.php
Normal file
@@ -0,0 +1,103 @@
|
||||
@extends('layouts.app')
|
||||
|
||||
@section('content')
|
||||
<!-- 购买靓号 -->
|
||||
<div class="seniorSearch">
|
||||
<form action="" method="" class="seniorSearch-form">
|
||||
<i class="icon icon-search"></i>
|
||||
<input type="text" name="name" value="{{ $name }}" placeholder="输入城市名" />
|
||||
</form>
|
||||
</div>
|
||||
<!-- section -->
|
||||
<section>
|
||||
<!-- 地址筛选 -->
|
||||
<div class="citySearch">
|
||||
<div class="citySearch-pick">
|
||||
<p>当前城市</p>
|
||||
<span>{{ $location['area']->city }}</span>
|
||||
</div>
|
||||
<div class="citySearch-pick">
|
||||
<div class="citySearch-label">
|
||||
<span class="ajax-get" data-href="{{ route('location.setarea',['area_id'=>0]) }}">全国</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="citySearch-pick">
|
||||
<p>热门城市</p>
|
||||
<div class="citySearch-label">
|
||||
@foreach ($hots as $hot)
|
||||
@if ($hot->mobiles()->count()>0)
|
||||
<span class="ajax-get" data-href="{{ route('location.setarea',['area_id'=>$hot->id]) }}">{{ $hot->name }}</span>
|
||||
@endif
|
||||
@endforeach
|
||||
</div>
|
||||
</div>
|
||||
@if (empty($name))
|
||||
<ul id="accordion" class="citySearch-area">
|
||||
@foreach ($addresses as $address)
|
||||
@if ($address->mobiles()->count()>0)
|
||||
<li>
|
||||
<div class="link citySearch-area-name">
|
||||
<span>{{ $address->name }}</span>
|
||||
<i class="icon icon-chevron-down"></i>
|
||||
</div>
|
||||
<ul class="submenu">
|
||||
@foreach ($address->allchildren as $children)
|
||||
@if ($children->mobiles()->count()>0)
|
||||
<li class="ajax-get" data-href="{{ route('location.setarea',['area_id'=>$children->id]) }}">{{ $children->name }}</li>
|
||||
@endif
|
||||
@endforeach
|
||||
</ul>
|
||||
</li>
|
||||
@endif
|
||||
|
||||
@endforeach
|
||||
</ul>
|
||||
@else
|
||||
<ul class="location">
|
||||
@foreach ($addresses as $children)
|
||||
@if ($children->mobiles()->count()>0)
|
||||
<li class="ajax-get" data-href="{{ route('location.setarea',$children) }}">{{ $children->name }}</li>
|
||||
@endif
|
||||
@endforeach
|
||||
</ul>
|
||||
@endif
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</section>
|
||||
@endsection
|
||||
@section('script')
|
||||
<script>
|
||||
$(function() {
|
||||
var Accordion = function(el, multiple) {
|
||||
this.el = el || {};
|
||||
this.multiple = multiple || false;
|
||||
|
||||
// Variables privadas
|
||||
var links = this.el.find('.link');
|
||||
// Evento
|
||||
links.on('click', {
|
||||
el: this.el,
|
||||
multiple: this.multiple
|
||||
}, this.dropdown)
|
||||
}
|
||||
|
||||
Accordion.prototype.dropdown = function(e) {
|
||||
var $el = e.data.el;
|
||||
$this = $(this),
|
||||
$next = $this.next();
|
||||
|
||||
$next.slideToggle();
|
||||
$this.parent().toggleClass('open');
|
||||
|
||||
if (!e.data.multiple) {
|
||||
$el.find('.submenu').not($next).slideUp().parent().removeClass('open');
|
||||
};
|
||||
}
|
||||
|
||||
var accordion = new Accordion($('#accordion'), false);
|
||||
});
|
||||
</script>
|
||||
@endsection
|
||||
95
resources/views/orders/create.blade.php
Normal file
95
resources/views/orders/create.blade.php
Normal file
@@ -0,0 +1,95 @@
|
||||
@extends('layouts.app')
|
||||
|
||||
@section('footer')
|
||||
@endsection
|
||||
|
||||
@section('content')
|
||||
<form action="{{ route('orders.store') }}" method="post" accept-charset="utf-8">
|
||||
|
||||
<footer>
|
||||
<div class="orderText-btn orderDetails">
|
||||
<div class="orderDetails-total">
|
||||
合计:<span><small>¥</small>{{ number_format($sellers_total - $sellers_score,2) }}</span>
|
||||
</div>
|
||||
@csrf
|
||||
|
||||
<button type="button" class="orderText-btn-pay ajax-post" @empty($address) disabled @endempty>提交订单</button>
|
||||
</div>
|
||||
</footer>
|
||||
<!-- section -->
|
||||
<section>
|
||||
@if(!empty($address))
|
||||
<div class="orderAddress" data-href="{{ route('addresses.select', ['callback' => route('orders.create')]) }}">
|
||||
<div class="orderAddress-flex">
|
||||
<div class="orderAddress-top">
|
||||
<div class="orderAddress-name">{{ $address->name }}</div>
|
||||
<div class="orderAddress-phone">{{ $address->mobile }}</div>
|
||||
</div>
|
||||
<div class="orderAddress-area">{{ $address->getAddress() }}</div>
|
||||
</div>
|
||||
<i class="icon icon-angle-right"></i>
|
||||
</div>
|
||||
@else
|
||||
<div class="confirm_address_null" data-href="{{ route('addresses.create', ['callback' => route('orders.create')]) }}">
|
||||
<i class="icon-plus"></i> 添加收货地址
|
||||
</div>
|
||||
@endif
|
||||
<!-- 订单详情 -->
|
||||
|
||||
<div class="orderText-back">
|
||||
<ul class="orderText-list">
|
||||
@foreach($detail as $key => $seller_detail)
|
||||
@foreach($seller_detail['items'] as $item)
|
||||
|
||||
<li>
|
||||
<div class="orderText-list-img">
|
||||
<span style="background-image: url({{ $item['params_cover'] }});"></span>
|
||||
</div>
|
||||
<div class="orderText-list-text">
|
||||
<div class="text-nowrap orderText-list-name">
|
||||
{{ $item['params_title'] }}
|
||||
</div>
|
||||
<div class="orderText-list-span">
|
||||
<span class="orderText-list-price">
|
||||
¥{{ $item['params_price']}}
|
||||
</span>
|
||||
x{{ $item['number'] }}
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<input type="hidden" name="details[{{ $seller_detail['seller_id'] }}][items][{{ $item['params_id'] }}][cart_id]" value="{{ $item['cart_id'] }}">
|
||||
<input type="hidden" name="details[{{ $seller_detail['seller_id'] }}][items][{{ $item['params_id'] }}][params_id]" value="{{ $item['params_id'] }}">
|
||||
<input type="hidden" name="details[{{ $seller_detail['seller_id'] }}][items][{{ $item['params_id'] }}][number]" value="{{ $item['number'] }}">
|
||||
@endforeach
|
||||
<input type="hidden" name="details[{{ $seller_detail['seller_id'] }}][id]" value="{{ $seller_detail['item']['id'] }}">
|
||||
<input type="hidden" name="details[{{ $seller_detail['seller_id'] }}][type]" value="{{ $seller_detail['item']['type'] }}">
|
||||
<input type="hidden" name="details[{{ $seller_detail['seller_id'] }}][seller_id]" value="{{ $seller_detail['seller_id'] }}">
|
||||
<input type="hidden" name="details[{{ $seller_detail['seller_id'] }}][freight]" value="{{ $seller_detail['freight'] }}">
|
||||
<input type="hidden" name="details[{{ $seller_detail['seller_id'] }}][express_type]" data-seller="{{ $seller_detail['seller_id'] }}" data-freight="{{ $seller_detail['freight'] }}" value="1">
|
||||
@endforeach
|
||||
|
||||
</ul>
|
||||
<input name="" type="hidden" value="{{ $sellers_total - $sellers_score }}" id="order_total_allsellers">
|
||||
<input name="" type="hidden" value="{{ $sellers_freight }}" id="order_freight_allsellers">
|
||||
<input name="" type="hidden" value="{{ $sellers_count }}" id="sellers_count">
|
||||
<input type="hidden" name="address_id" value="{{ $address->id ?? '' }}" id="express_address">
|
||||
<input type="hidden" name="card_id" value="{{ $card_id }}" >
|
||||
<ul class="orderAddress-list orderAddress-confirm">
|
||||
<li>
|
||||
<div class="orderAddress-list-number">配送方式:</div>
|
||||
<div>快递</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="orderAddress-list-number">运费:</div>
|
||||
<div>包邮</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="orderAddress-list-number">合计:</div>
|
||||
<div>¥{{ number_format($sellers_total - $sellers_freight, 2) }}</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
</section>
|
||||
</form>
|
||||
@endsection
|
||||
55
resources/views/orders/index.blade.php
Normal file
55
resources/views/orders/index.blade.php
Normal file
@@ -0,0 +1,55 @@
|
||||
@extends('layouts.app')
|
||||
|
||||
@section('content')
|
||||
<section>
|
||||
<!-- 我的订单 -->
|
||||
<nav class="nav orderNav" data-display="" data-selector="span" data-show-single="true" data-active-class="active" data-animate="false">
|
||||
<span data-href="{{ route('orders.index') }}" @if(url()->current() == route('orders.index'))class="active" @endif>全部</span>
|
||||
<span data-href="{{ route('orders.unpay') }}" @if(url()->current() == route('orders.unpay'))class="active" @endif>待付款</span>
|
||||
<span data-href="{{ route('orders.paid') }}" @if(url()->current() == route('orders.paid'))class="active" @endif>待发货</span>
|
||||
<span data-href="{{ route('orders.delivered') }}" @if(url()->current() == route('orders.delivered'))class="active" @endif>待收货</span>
|
||||
</nav>
|
||||
@if ($orders->isNotEmpty())
|
||||
<div class="orderText">
|
||||
@include('orders.item', ['orders' => $orders])
|
||||
</div>
|
||||
@else
|
||||
<div class="noData">
|
||||
<input type="image" src="/assets/index/img/no_data.png" />
|
||||
<span style="padding-bottom: 30px">您还没有订单,现在就去下单吧!</span>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
|
||||
</section>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@endsection
|
||||
@section('script')
|
||||
<script type="text/javascript">
|
||||
|
||||
function orderDelete (url) {
|
||||
layer.open({
|
||||
content: '确定要取消订单吗?'
|
||||
,btn: ['确认', '不取消']
|
||||
,skin: 'footer'
|
||||
,yes: function(index){
|
||||
$.post(url + '?_token={{ csrf_token() }}', function(data){
|
||||
if (data.status == 'SUCCESS') {
|
||||
updateAlert(data.message, 'success');
|
||||
setTimeout(function(){
|
||||
location.reload();
|
||||
},500);
|
||||
}else{
|
||||
updateAlert(data.message, 'error');
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
</script>
|
||||
@endsection
|
||||
56
resources/views/orders/item.blade.php
Normal file
56
resources/views/orders/item.blade.php
Normal file
@@ -0,0 +1,56 @@
|
||||
@foreach ($orders as $order)
|
||||
<div class="orderText-back">
|
||||
<div class="orderText-name" >
|
||||
<p>
|
||||
@if ($order->type=='MEMBER')
|
||||
<i class="icon icon-cube"></i>
|
||||
@else
|
||||
<i class="icon icon-stack"></i>
|
||||
@endif
|
||||
{{ $order->type_text }}
|
||||
</p>
|
||||
</div>
|
||||
<div class="orderText-name" >
|
||||
<p>{{ $order->orderid }}</p>
|
||||
<span>{{ $order->state_text }}</span>
|
||||
</div>
|
||||
<ul class="orderText-list">
|
||||
@foreach($order->details as $detail)
|
||||
<li>
|
||||
<div class="orderText-list-img">
|
||||
<span style="background-image: url({{ $detail->item->storage }});"></span>
|
||||
</div>
|
||||
<div class="orderText-list-text">
|
||||
<div class="text-nowrap orderText-list-name">
|
||||
{{ $detail->item->getTitle() }}
|
||||
</div>
|
||||
<div class="orderText-list-span">
|
||||
<span class="orderText-list-price">
|
||||
¥{{ $detail->item->getPrice() }}
|
||||
</span>
|
||||
x{{ $detail->number }}
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
@endforeach
|
||||
</ul>
|
||||
<div class="orderText-total">
|
||||
共计{{ $order->details->sum('number') }}件商品 合计:<span><small>¥</small>{{ number_format($order->total-$order->score,2) }}</span>
|
||||
</div>
|
||||
<div class="orderText-btn">
|
||||
@if (!$order->is_mobile)
|
||||
<button type="button" data-href="{{ route('orders.show', $order->orderid) }}" class="orderText-btn-cancel">订单详情</button>
|
||||
@endif
|
||||
@if ($order->canCancel())
|
||||
<button type="button" class="orderText-btn-cancel" onclick="orderDelete('{{ route('orders.delete', $order->orderid) }}')">取消订单</button>
|
||||
@endif
|
||||
@if ($order->canPay())
|
||||
<button type="button" data-href="{{ route('pay.order', $order->orderid) }}" class="orderText-btn-pay">立即付款</button>
|
||||
@endif
|
||||
@if ($order->canSingin())
|
||||
<button type="button" data-href="{{ route('orders.sign', $order->orderid) }}" class="orderText-btn-pay ajax-get">立即签收</button>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@endforeach
|
||||
118
resources/views/orders/show.blade.php
Normal file
118
resources/views/orders/show.blade.php
Normal file
@@ -0,0 +1,118 @@
|
||||
@extends('layouts.app')
|
||||
|
||||
@section('content')
|
||||
<!-- footer -->
|
||||
<footer>
|
||||
<div class="orderText-btn orderDetails">
|
||||
@if ($order->canPay())
|
||||
<button type="button" data-href="{{ route('pay.order', $order->orderid) }}" class="orderText-btn-pay">立即付款</button>
|
||||
@endif
|
||||
|
||||
@if ($order->canSingin())
|
||||
<button type="button" data-href="{{ route('orders.sign', $order->orderid) }}" class="orderText-btn-pay ajax-get">立即签收</button>
|
||||
@endif
|
||||
|
||||
@if ($order->canCancel())
|
||||
<button type="button" class="orderText-btn-cancel" onclick="orderDelete('{{ route('orders.delete', $order->orderid) }}')">取消订单</button>
|
||||
@endif
|
||||
</div>
|
||||
</footer>
|
||||
<!-- section -->
|
||||
<section>
|
||||
<!-- 订单详情 -->
|
||||
<div class="orderDetails-title">
|
||||
<div class="orderDetails-title-i"><i class="icon-credit"></i></div>
|
||||
<h5>{{ $order->state_text }}</h5>
|
||||
<span> </span>
|
||||
</div>
|
||||
<div class="orderAddress">
|
||||
<div class="orderAddress-flex">
|
||||
<div class="orderAddress-top">
|
||||
<div class="orderAddress-name">{{ $order->express->name ?? '未知' }}</div>
|
||||
<div class="orderAddress-phone">{{ $order->express->mobile ?? '未知'}}</div>
|
||||
</div>
|
||||
<div class="orderAddress-area">{{ $order->express->address ?? '未知' }}</div>
|
||||
</div>
|
||||
<i class="icon icon-angle-right"></i>
|
||||
</div>
|
||||
<div class="orderText-back">
|
||||
<ul class="orderText-list">
|
||||
@foreach ($order->details as $detail)
|
||||
<li data-href="{{ route('goods.show',$detail->item->goods) }}">
|
||||
<div class="orderText-list-img">
|
||||
<span style="background-image: url({{ $detail->item->goods->cover_path ?? '' }});"></span>
|
||||
</div>
|
||||
<div class="orderText-list-text">
|
||||
<div class="text-nowrap orderText-list-name">
|
||||
{{ $detail->item->getTitle() }}
|
||||
</div>
|
||||
<div class="orderText-list-span">
|
||||
<span class="orderText-list-price">
|
||||
¥{{ $detail->price }}
|
||||
</span>
|
||||
x{{ $detail->number }}
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
@endforeach
|
||||
|
||||
</ul>
|
||||
<ul class="orderAddress-list">
|
||||
<li>
|
||||
<div class="orderAddress-list-number">商品金额:</div>
|
||||
<span><small>¥</small>{{ $order->amount }}</span>
|
||||
</li>
|
||||
<li>
|
||||
<div class="orderAddress-list-number">创建时间:</div>
|
||||
<div>{{ $order->created_at }}</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="orderAddress-list-number">配送方式:</div>
|
||||
<div>快递</div>
|
||||
</li>
|
||||
</ul>
|
||||
@if ($order->express->company)
|
||||
<ul class="orderAddress-list">
|
||||
<li>
|
||||
<div class="orderAddress-list-number">物流名称:</div>
|
||||
<span>{{ $order->express->company_text }}</span>
|
||||
</li>
|
||||
<li>
|
||||
<div class="orderAddress-list-number">物流单号:</div>
|
||||
<div>{{ $order->express->number }}</div>
|
||||
</li>
|
||||
</ul>
|
||||
@endif
|
||||
<div class="orderText-total">
|
||||
总计:<span><small>¥</small>{{ number_format($order->amount + $order->freight,2)}}</span>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</section>
|
||||
@endsection
|
||||
|
||||
|
||||
@section('script')
|
||||
<script type="text/javascript">
|
||||
function orderDelete (url) {
|
||||
layer.open({
|
||||
content: '确定要取消订单吗?'
|
||||
,btn: ['确认', '不取消']
|
||||
,skin: 'footer'
|
||||
,yes: function(index){
|
||||
$.post(url + '?_token={{ csrf_token() }}', function(data){
|
||||
if (data.status == 'SUCCESS') {
|
||||
updateAlert(data.message, 'success');
|
||||
setTimeout(function(){
|
||||
location.reload();
|
||||
},500);
|
||||
}else{
|
||||
updateAlert(data.message, 'error');
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
</script>
|
||||
@endsection
|
||||
97
resources/views/pay/order.blade.php
Normal file
97
resources/views/pay/order.blade.php
Normal file
@@ -0,0 +1,97 @@
|
||||
@extends('layouts.app')
|
||||
|
||||
@section('footer','')
|
||||
|
||||
@section('content')
|
||||
<section>
|
||||
<!-- 支付-->
|
||||
<ul class="modular-list order-confirm-list ce-margin-t-sm">
|
||||
<li>
|
||||
订单编号
|
||||
<span class="pull-right">{{ $order->orderid }}</span>
|
||||
</li>
|
||||
<li>
|
||||
支付金额
|
||||
<span class="pull-right confirm-price-color">¥{{ $order->amount - $order->score + $order->freight}}</span>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<form>
|
||||
<ul class="modular-list order-confirm-list ce-margin-t-sm">
|
||||
<li>
|
||||
<i class="order-pay-icon weixin-icon"></i>
|
||||
微信支付
|
||||
<div class="order-list-radio pull-right">
|
||||
<input type="radio" name="payment" value="WECHAT" id="weixin" checked="">
|
||||
<label for="weixin">
|
||||
<i class="icon icon-check-circle"></i>
|
||||
</label>
|
||||
</div>
|
||||
</li>
|
||||
{{-- <li>
|
||||
<i class="order-pay-icon balance-icon"></i>
|
||||
账户余额
|
||||
<div class="order-list-radio pull-right">
|
||||
<input type="radio" name="payment" value="BALANCE" id="balance">
|
||||
<label for="balance">
|
||||
<i class="icon icon-check-circle"></i>
|
||||
</label>
|
||||
</div>
|
||||
</li> --}}
|
||||
</ul>
|
||||
<div class="order-pay-btn">
|
||||
<button type="button" id="paybtn" >立即支付</button>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
</section>
|
||||
@endsection
|
||||
|
||||
@section('script')
|
||||
<script>
|
||||
var json='';
|
||||
$("#paybtn").click(function(){
|
||||
var me=$("input[name='payment']:checked");
|
||||
|
||||
if(me.attr('value')=='WECHAT'){
|
||||
$.get("{{ route('pay.wechat', $order->orderid) }}", function(data) {
|
||||
if (data.statusCode == 200) {
|
||||
json = JSON.parse(data.message);
|
||||
pay();
|
||||
}else{
|
||||
updateAlert(data.message,'error');
|
||||
}
|
||||
});
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
function pay() {
|
||||
if (typeof WeixinJSBridge == "undefined") {
|
||||
if (document.addEventListener) {
|
||||
document.addEventListener('WeixinJSBridgeReady', onBridgeReady, false);
|
||||
} else if (document.attachEvent) {
|
||||
document.attachEvent('WeixinJSBridgeReady', onBridgeReady);
|
||||
document.attachEvent('onWeixinJSBridgeReady', onBridgeReady);
|
||||
}
|
||||
}else{
|
||||
onBridgeReady();
|
||||
}
|
||||
}
|
||||
|
||||
function onBridgeReady() {
|
||||
WeixinJSBridge.invoke('getBrandWCPayRequest', json, function(res) {
|
||||
if (res.err_msg == "get_brand_wcpay_request:ok" ) {
|
||||
setTimeout(function() {
|
||||
location.href = "{{ route('orders.paid') }}";
|
||||
}, 1000);
|
||||
} else {
|
||||
console.log(res);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
|
||||
</script>
|
||||
@endsection
|
||||
183
resources/views/pick/detail.blade.php
Normal file
183
resources/views/pick/detail.blade.php
Normal file
@@ -0,0 +1,183 @@
|
||||
@extends('layouts.app')
|
||||
|
||||
@section('footer')
|
||||
<!-- footer -->
|
||||
<footer>
|
||||
<div class="detailsBtn">
|
||||
<a class="detailsRight-car shade">立即兑换</a>
|
||||
</div>
|
||||
</footer>
|
||||
@endsection
|
||||
|
||||
@section('pop')
|
||||
|
||||
<div class="cardBack"></div>
|
||||
<div class="cardBuy">
|
||||
<form action="{{ route('pick.receivegoods') }}">
|
||||
<div class="cardBuy-list">
|
||||
<label>卡密</label>
|
||||
</div>
|
||||
<div class="cardBuy-list passdiv flex">
|
||||
<input type="tel" name="pass[]" maxlength='4' onfocus="this.value='';" onkeyup="this.value=this.value.replace(/\D/g,'');checkNumFoc(this,1)" class="input" placeholder="卡密">
|
||||
<input type="tel" name="pass[]" maxlength='4' onfocus="this.value='';" onkeyup="this.value=this.value.replace(/\D/g,'');checkNumFoc(this,2)" class="input" placeholder="卡密">
|
||||
<input type="tel" name="pass[]" maxlength='4' onfocus="this.value='';" onkeyup="this.value=this.value.replace(/\D/g,'');checkNumFoc(this,3)" class="input" placeholder="卡密">
|
||||
<input type="tel" name="pass[]" maxlength='4' onfocus="this.value='';" onkeyup="this.value=this.value.replace(/\D/g,'');checkNumFoc(this,0)" class="input" placeholder="卡密">
|
||||
</div>
|
||||
@csrf
|
||||
<input type="hidden" name="params_id" id="params_id" value="{{ $first->id }}" >
|
||||
<div class="cardBuy-btn">
|
||||
<span class="cardClose cardBuy-btn-01">关闭</span>
|
||||
<button class="cardBuy-btn-02 ajax-post">立即兑换</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<form class="attribute-form" method="post" id="form" accept-charset="utf-8">
|
||||
<!-- 规格弹出页 -->
|
||||
<div class="shadeHide backEject"></div>
|
||||
<div class="specsEject">
|
||||
<div class="ejectRemove">
|
||||
<i class="icon icon-remove-circle"></i>
|
||||
</div>
|
||||
<div class="ejectHead">
|
||||
<div class="ejectHead-img">
|
||||
<span style="background-image:url({{ $good->cover_path }})"></span>
|
||||
</div>
|
||||
<div class="ejectHead-text">
|
||||
<div class="ejectHead-price">
|
||||
<small>¥0</small>
|
||||
</div>
|
||||
<div class="ejectHead-size">
|
||||
规格:{{ $first->value }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="ejectChoose">
|
||||
<p>请选择产品规格</p>
|
||||
<ul class="SpecsList">
|
||||
@if($params->count() > 0)
|
||||
@foreach($params as $param)
|
||||
<li data-id="{{ $param->id }}" data-stock="{{ $param->stock }}" data-price="{{ $param->price }}">
|
||||
<div class="SpecsList-radio">
|
||||
<input type="radio" name="params" value="{{ $param->id }}" id="params{{ $param->id }}" @if($param->id==$first->id) checked @endif />
|
||||
<label for="params{{ $param->id }}">
|
||||
{{ $param->value }}
|
||||
</label>
|
||||
</div>
|
||||
</li>
|
||||
@endforeach
|
||||
@endif
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<input type="hidden" id="params_stock" value="{{ $first->stock }}">
|
||||
<input type="hidden" name="item[id]" value="0">
|
||||
<input type="hidden" name="item[type]" id="goodstype" value="PICK">
|
||||
@csrf
|
||||
<div class="ejectBtn">
|
||||
<a class="detailsRight-buy cardBtn" >立即兑换</a>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
@endsection
|
||||
|
||||
@section('content')
|
||||
<!-- section -->
|
||||
<section>
|
||||
<!-- Swiper -->
|
||||
<div class="swiper-container details-banner">
|
||||
<div class="swiper-wrapper details-wrapper">
|
||||
<div class="swiper-slide details-wrapper-img" style="background-image:url({{ $good->cover_path }})"></div>
|
||||
</div>
|
||||
<!-- Add Pagination -->
|
||||
<div class="swiper-pagination details-pagination"></div>
|
||||
</div>
|
||||
|
||||
<div class="detailsCont">
|
||||
<div class="goodsText">
|
||||
<div class="goodsText-name">
|
||||
{{ $good->title }}
|
||||
</div>
|
||||
<div class="goodsText-text">{{ $good->description }}</div>
|
||||
</div>
|
||||
<div class="goodsPrice">
|
||||
<div class="goodsPrice-red">
|
||||
¥0
|
||||
</div>
|
||||
<p class="product-li-sale">销售价:¥{{ $good->min_original }}</p>
|
||||
</div>
|
||||
<div class="goodsNumber">
|
||||
<span class="goodsNumber-flex">已领{{ $good->sold }}件</span>
|
||||
<span>库存{{ $good->all_stock }}件</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="detailsSpecs">
|
||||
<div class="detailsLabel shade">
|
||||
<div class="detailsLabel-left">
|
||||
<label>已选</label>
|
||||
<span id="params_select">规格 {{ $first->value }}</span>
|
||||
</div>
|
||||
<i class="icon icon-angle-right"></i>
|
||||
</div>
|
||||
<div class="detailsLabel">
|
||||
<div class="detailsLabel-left">
|
||||
<label>运费</label>
|
||||
<span>免运费</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="detailsBrief">
|
||||
<p>产品详情</p>
|
||||
<div class="detailsBrief-img">
|
||||
{!! $good->content !!}
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
@endsection
|
||||
|
||||
@section('script')
|
||||
<script src="/assets/index/js/operation.js"></script>
|
||||
<script type="text/javascript">
|
||||
// 产品轮播
|
||||
var details = new Swiper('.details-banner', {
|
||||
pagination: '.details-pagination',
|
||||
paginationClickable: true
|
||||
});
|
||||
|
||||
|
||||
//产品弹出层
|
||||
$('.shade').on('click', function() {
|
||||
var top = $(window).scrollTop();
|
||||
$('html').css({
|
||||
'overflow': 'hidden',
|
||||
'top': -top + 'px'
|
||||
})
|
||||
|
||||
$('.backEject').css({
|
||||
'display': 'block'
|
||||
})
|
||||
$('.specsEject').css({
|
||||
'bottom': '0px'
|
||||
})
|
||||
})
|
||||
|
||||
$('.shadeHide, .ejectRemove').on('click', function() {
|
||||
$('html').css({
|
||||
'overflow': 'auto',
|
||||
'position': 'static'
|
||||
})
|
||||
$('html,body').scrollTop(top)
|
||||
|
||||
$('.specsEject').css({
|
||||
'bottom': '-100%'
|
||||
})
|
||||
$('.backEject').css({
|
||||
'display': 'none'
|
||||
})
|
||||
})
|
||||
|
||||
|
||||
</script>
|
||||
@endsection
|
||||
271
resources/views/pick/index.blade.php
Normal file
271
resources/views/pick/index.blade.php
Normal file
@@ -0,0 +1,271 @@
|
||||
@extends('layouts.app')
|
||||
|
||||
@section('content')
|
||||
<!-- 购买靓号 -->
|
||||
<div class="liangHaoBuy">
|
||||
<span class="liangHaoBuy-hide">取消</span>
|
||||
<span class="liangHaoBuy-buy cardBtn ">提货</span>
|
||||
</div>
|
||||
|
||||
<div class="cardBack"></div>
|
||||
<div class="cardBuy">
|
||||
<form action="{{ route('pick.receivemobile') }}">
|
||||
<div class="cardBuy-list">
|
||||
<label>卡密</label>
|
||||
</div>
|
||||
<div class="cardBuy-list passdiv flex">
|
||||
<input type="tel" name="pass[]" maxlength='4' onfocus="this.value='';" onkeyup="this.value=this.value.replace(/\D/g,'');checkNumFoc(this,1)" class="input" placeholder="卡密">
|
||||
<input type="tel" name="pass[]" maxlength='4' onfocus="this.value='';" onkeyup="this.value=this.value.replace(/\D/g,'');checkNumFoc(this,2)" class="input" placeholder="卡密">
|
||||
<input type="tel" name="pass[]" maxlength='4' onfocus="this.value='';" onkeyup="this.value=this.value.replace(/\D/g,'');checkNumFoc(this,3)" class="input" placeholder="卡密">
|
||||
<input type="tel" name="pass[]" maxlength='4' onfocus="this.value='';" onkeyup="this.value=this.value.replace(/\D/g,'');checkNumFoc(this,0)" class="input" placeholder="卡密">
|
||||
</div>
|
||||
@csrf
|
||||
<input type="hidden" name="mobile_id" id="mobile_id" value="">
|
||||
<div class="cardBuy-btn">
|
||||
<span class="cardClose cardBuy-btn-01">关闭</span>
|
||||
<button class="ajax-post cardBuy-btn-02">立即提货</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<!-- section -->
|
||||
<section>
|
||||
<!-- banner -->
|
||||
<div class="banner liangHao-banner">
|
||||
<div class="swiper-container swiper-banner">
|
||||
<div class="swiper-wrapper wrapper-banner">
|
||||
@foreach ($adverts as $advert)
|
||||
<div class="swiper-slide wrapper-banner-img" style="background-image:url(/storage/{{ $advert->cover }})"></div>
|
||||
@endforeach
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 手机靓号 -->
|
||||
<div class="liangHao">
|
||||
|
||||
<div class="liangHao-title">
|
||||
<div class="liangHao-img">
|
||||
手机靓号
|
||||
</div>
|
||||
<a href="{{ route('pick.lists') }}" >查看更多<i class="icon icon-angle-right"></i></a>
|
||||
</div>
|
||||
<form action="{{ url()->current() }}">
|
||||
<div class="liangHao-select">
|
||||
<div class="liangHao-Location" data-href="{{ route('location.address',['callback'=>url()->current()]) }}">
|
||||
<i class="icon icon-map-marker"></i>
|
||||
{{ $area->name }}
|
||||
</div>
|
||||
<div class="liangHao-input">
|
||||
<i class="icon icon-search"></i>
|
||||
<input type="search" name="number" value="{{ $number??'' }}" placeholder="请输入尾号进行搜索">
|
||||
</div>
|
||||
<div class="liangHao-btn" data-href="{{ route('pick.search') }}">
|
||||
高级搜索
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
|
||||
<ul class="liangHao-list">
|
||||
@if ($lists->isNotEmpty())
|
||||
@include('pick.mobile', ['lists'=>$lists])
|
||||
@else
|
||||
<div class="noData">
|
||||
<input type="image" src="/assets/index/img/no_data.png" />
|
||||
<span style="padding-bottom: 30px">暂无数据</span>
|
||||
</div>
|
||||
@endif
|
||||
</ul>
|
||||
<div class="liangHao-barter refresh">
|
||||
<i class="icon icon-refresh"></i>换一批
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="free">
|
||||
<!-- <div class="liangHao-title">
|
||||
<div class="liangHao-img">
|
||||
免费提货产品
|
||||
</div>
|
||||
</div> -->
|
||||
<div class="recommend-title"><span>免费提货产品</span></div>
|
||||
<div class="freeFruits" style="background-image: url(/assets/index/img/free_01.png);" data-href="{{ route('pick.detail',94) }}">
|
||||
<div class="freeFruits-title">
|
||||
<img src="/assets/index/img/free_title_01.png" >
|
||||
</div>
|
||||
<div class="freeFruits-btn freeFruits-btn-one">
|
||||
免费提取
|
||||
</div>
|
||||
</div>
|
||||
<div class="freeFruits" style="background-image: url(/assets/index/img/free_00.png);" data-href="{{ route('pick.detail',58) }}">
|
||||
<div class="freeFruits-title">
|
||||
<img src="/assets/index/img/free_title_00.png" >
|
||||
</div>
|
||||
<div class="freeFruits-btn">
|
||||
免费提取
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</section>
|
||||
@endsection
|
||||
|
||||
@section('script')
|
||||
<script type="text/javascript">
|
||||
var banner = new Swiper('.swiper-banner',{
|
||||
autoplay : 2000,
|
||||
loop : true,
|
||||
autoplayDisableOnInteraction: false
|
||||
})
|
||||
|
||||
function checkNumFoc(inp,next)
|
||||
{
|
||||
var $this=$(inp);
|
||||
var str=$this.val();
|
||||
if (str.length >= 5) {
|
||||
str = str.substr(0, 4);
|
||||
}
|
||||
$this.val(str);
|
||||
if(str.length==4 && next!=0){
|
||||
$('.passdiv').find('input').eq(next).focus();
|
||||
}
|
||||
}
|
||||
|
||||
//手机靓号购买
|
||||
$(document).on('click', '.liangHao-click',function() {
|
||||
$(this).parent().find('li').each(function(e, index){
|
||||
if($(this).parent().find('li').hasClass('liangHao-list-border')){
|
||||
$(this).parent().find('li').removeClass('liangHao-list-border');
|
||||
}
|
||||
});
|
||||
var id = $(this).data('id');
|
||||
$('#mobile_id').val(id);
|
||||
$(this).addClass('liangHao-list-border');
|
||||
var top = $(window).scrollTop();
|
||||
$('html').css({
|
||||
'overflow': 'hidden',
|
||||
'top': -top + 'px'
|
||||
})
|
||||
$('footer').css({
|
||||
'display': 'none'
|
||||
})
|
||||
$('.liangHaoBuy').css({
|
||||
'bottom': '0'
|
||||
})
|
||||
})
|
||||
|
||||
$('.liangHaoBuy-hide').on('click', function() {
|
||||
$('html').css({
|
||||
'overflow': 'auto',
|
||||
'position': 'static'
|
||||
})
|
||||
$('html,body').scrollTop(top)
|
||||
|
||||
$('footer').css({
|
||||
'display': 'flex'
|
||||
})
|
||||
$('.liangHaoBuy').css({
|
||||
'bottom': '-100%'
|
||||
})
|
||||
$('.liangHao-list').find('.liangHao-list-border').removeClass('liangHao-list-border');
|
||||
})
|
||||
|
||||
// 卡号绑定
|
||||
$('.cardBtn').on('click', function() {
|
||||
var top = $(window).scrollTop();
|
||||
$('html').css({
|
||||
'overflow': 'hidden',
|
||||
'top': -top + 'px'
|
||||
})
|
||||
$('footer').css({
|
||||
'display': 'flex'
|
||||
})
|
||||
$('.cardBuy').css({
|
||||
'top': 'calc(50% - 110px)'
|
||||
})
|
||||
$('.cardBack').css({
|
||||
'display': 'block'
|
||||
})
|
||||
$('.liangHaoBuy').css({
|
||||
'bottom': '-100%'
|
||||
})
|
||||
|
||||
})
|
||||
$('.cardClose').on('click', function() {
|
||||
$('html').css({
|
||||
'overflow': 'auto',
|
||||
'position': 'static'
|
||||
})
|
||||
$('html,body').scrollTop(top)
|
||||
$('.cardBuy').css({
|
||||
'top': '-100%'
|
||||
})
|
||||
$('.cardBack').css({
|
||||
'display': 'none'
|
||||
})
|
||||
$('.liangHaoBuy').css({
|
||||
'bottom': '-100%'
|
||||
})
|
||||
$('.liangHao-list').find('.liangHao-list-border').removeClass('liangHao-list-border');
|
||||
|
||||
})
|
||||
|
||||
|
||||
$('.refresh').click(function(){
|
||||
$.post("{{ route('pick.index') }}",{'_token': '{{ csrf_token() }}'},function(data){
|
||||
if(data.status=='SUCCESS'){
|
||||
$('.liangHao-list').html(data.message);
|
||||
}else{
|
||||
updateAlert(data.message);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
$('.buy_mobile').click(function(){
|
||||
var id =$("#mobile_id").val();
|
||||
if (id=='') {
|
||||
updateAlert('没有找到靓号');
|
||||
return false;
|
||||
}
|
||||
$.post("{{ route('pick.receivemobile') }}",{id:id,'_token': '{{ csrf_token() }}'},function(data){
|
||||
updateAlert(data.message);
|
||||
if(data.redirect!=''){
|
||||
setTimeout(function(){
|
||||
location.href=data.redirect;
|
||||
},1500);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
</script>
|
||||
|
||||
<script src="//res.wx.qq.com/open/js/jweixin-1.2.0.js" type="text/javascript" charset="utf-8"></script>
|
||||
<script type="text/javascript">
|
||||
@php
|
||||
$app = app('wechat.official_account');
|
||||
@endphp
|
||||
|
||||
wx.config(<?php echo $app->jssdk->buildConfig(['onMenuShareTimeline', 'onMenuShareAppMessage', 'onMenuShareQQ', 'onMenuShareWeibo', 'hideMenuItems', 'getLocation', 'openLocation', 'checkJsApi', 'scanQRCode']) ?>);
|
||||
wx.ready(function() {
|
||||
wx.getLocation({
|
||||
type : 'gcj02', // 默认为wgs84的gps坐标,如果要返回直接给openLocation用的火星坐标,可传入'gcj02'
|
||||
success : function(res) {
|
||||
console.log(res);
|
||||
var token = "{{ csrf_token() }}";
|
||||
$.post("{{ route('location.set') }}",{lat:res.latitude,lng:res.longitude,_token:token},function(result){
|
||||
if (result.statusCode==200) {
|
||||
location.reload();
|
||||
}
|
||||
});
|
||||
},
|
||||
cancel : function(res) {
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
wx.error(function(res) {
|
||||
// updateAlert(res.errMsg);
|
||||
});
|
||||
|
||||
</script>
|
||||
@endsection
|
||||
179
resources/views/pick/lists.blade.php
Normal file
179
resources/views/pick/lists.blade.php
Normal file
@@ -0,0 +1,179 @@
|
||||
@extends('layouts.app')
|
||||
|
||||
|
||||
@section('footer','')
|
||||
|
||||
@section('content')
|
||||
|
||||
<div class="cardBack"></div>
|
||||
<div class="cardBuy">
|
||||
<form action="{{ route('pick.receivemobile') }}">
|
||||
<div class="cardBuy-list">
|
||||
<label>卡密</label>
|
||||
</div>
|
||||
<div class="cardBuy-list passdiv flex">
|
||||
<input type="tel" name="pass[]" maxlength='4' onfocus="this.value='';" onkeyup="this.value=this.value.replace(/\D/g,'');checkNumFoc(this,1)" class="input" placeholder="卡密">
|
||||
<input type="tel" name="pass[]" maxlength='4' onfocus="this.value='';" onkeyup="this.value=this.value.replace(/\D/g,'');checkNumFoc(this,2)" class="input" placeholder="卡密">
|
||||
<input type="tel" name="pass[]" maxlength='4' onfocus="this.value='';" onkeyup="this.value=this.value.replace(/\D/g,'');checkNumFoc(this,3)" class="input" placeholder="卡密">
|
||||
<input type="tel" name="pass[]" maxlength='4' onfocus="this.value='';" onkeyup="this.value=this.value.replace(/\D/g,'');checkNumFoc(this,0)" class="input" placeholder="卡密">
|
||||
</div>
|
||||
@csrf
|
||||
<input type="hidden" name="mobile_id" id="mobile_id" value="">
|
||||
<div class="cardBuy-btn">
|
||||
<span class="cardClose cardBuy-btn-01">关闭</span>
|
||||
<button class="ajax-post cardBuy-btn-02">立即提货</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<!-- 购买靓号 -->
|
||||
<div class="liangHaoBuy">
|
||||
<span class="liangHaoBuy-hide">取消</span>
|
||||
<span class="liangHaoBuy-buy cardBtn">提货</span>
|
||||
</div>
|
||||
<!-- section -->
|
||||
<section class="app">
|
||||
<!-- banner -->
|
||||
<div class="banner liangHao-banner">
|
||||
<div class="swiper-container swiper-banner">
|
||||
<div class="swiper-wrapper wrapper-banner">
|
||||
@foreach ($adverts as $advert)
|
||||
<div class="swiper-slide wrapper-banner-img" style="background-image:url(/storage/{{ $advert->cover }})"></div>
|
||||
@endforeach
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 手机靓号 -->
|
||||
|
||||
<div class="liangHao">
|
||||
<form action="{{ url()->current() }}">
|
||||
<div class="liangHao-select">
|
||||
<div class="liangHao-Location" data-href="{{ route('location.address',['callback'=>url()->current()]) }}">
|
||||
<i class="icon icon-map-marker"></i>
|
||||
{{ $area->name }}
|
||||
</div>
|
||||
<div class="liangHao-input">
|
||||
<i class="icon icon-search"></i>
|
||||
<input type="search" name="number" value="{{ $number??'' }}" placeholder="请输入尾号进行搜索">
|
||||
</div>
|
||||
<div class="liangHao-btn" data-href="{{ route('pick.search') }}">
|
||||
高级搜索
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<ul class="liangHao-list">
|
||||
@if ($lists->isNotEmpty())
|
||||
@include('pick.mobile', ['lists'=>$lists])
|
||||
@else
|
||||
<div class="noData">
|
||||
<input type="image" src="/assets/index/img/no_data.png" />
|
||||
<span style="padding-bottom: 30px">暂无数据</span>
|
||||
</div>
|
||||
@endif
|
||||
</ul>
|
||||
</div>
|
||||
</section>
|
||||
@endsection
|
||||
|
||||
@section('script')
|
||||
<script type="text/javascript" src="/assets/index/js/PullToRefresh.min.js" ></script>
|
||||
|
||||
<script type="text/javascript">
|
||||
var banner = new Swiper('.swiper-banner',{
|
||||
autoplay : 2000,
|
||||
loop : true,
|
||||
autoplayDisableOnInteraction: false
|
||||
})
|
||||
|
||||
$(document).on('click', '.liangHao-click',function() {
|
||||
$(this).parent().find('li').each(function(e, index){
|
||||
if($(this).parent().find('li').hasClass('liangHao-list-border')){
|
||||
$(this).parent().find('li').removeClass('liangHao-list-border');
|
||||
}
|
||||
});
|
||||
$(this).addClass('liangHao-list-border');
|
||||
var top = $(window).scrollTop();
|
||||
$('html').css({
|
||||
'overflow': 'hidden',
|
||||
'top': -top + 'px'
|
||||
})
|
||||
$('footer').css({
|
||||
'display': 'none'
|
||||
})
|
||||
$('.liangHaoBuy').css({
|
||||
'bottom': '0'
|
||||
})
|
||||
})
|
||||
$('.liangHaoBuy-hide').on('click', function() {
|
||||
$('html').css({
|
||||
'overflow': 'auto',
|
||||
'position': 'static'
|
||||
})
|
||||
$('html,body').scrollTop(top)
|
||||
|
||||
$('footer').css({
|
||||
'display': 'flex'
|
||||
})
|
||||
$('.liangHaoBuy').css({
|
||||
'bottom': '-100%'
|
||||
})
|
||||
$('.liangHao-list').find('.liangHao-list-border').removeClass('liangHao-list-border');
|
||||
})
|
||||
|
||||
var loadMore = {{ $lists->hasMorePages()?:'false' }}
|
||||
if (loadMore) {
|
||||
var page=2;
|
||||
|
||||
var refreshBox=new PullToRefresh({
|
||||
container:".app",
|
||||
up:{
|
||||
callback:function(e){
|
||||
$.get("{{ route('pick.lists') }}",{page:page},function(data){
|
||||
if(data.status=='SUCCESS'){
|
||||
$(".more").append(data.message);
|
||||
page++;
|
||||
refreshBox.endUpLoading(true)
|
||||
} else {
|
||||
refreshBox.endUpLoading(false)
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
</script>
|
||||
|
||||
|
||||
<script src="//res.wx.qq.com/open/js/jweixin-1.2.0.js" type="text/javascript" charset="utf-8"></script>
|
||||
<script type="text/javascript">
|
||||
@php
|
||||
$app = app('wechat.official_account');
|
||||
@endphp
|
||||
|
||||
wx.config(<?php echo $app->jssdk->buildConfig(['onMenuShareTimeline', 'onMenuShareAppMessage', 'onMenuShareQQ', 'onMenuShareWeibo', 'hideMenuItems', 'getLocation', 'openLocation', 'checkJsApi', 'scanQRCode']) ?>);
|
||||
wx.ready(function() {
|
||||
wx.getLocation({
|
||||
type : 'gcj02', // 默认为wgs84的gps坐标,如果要返回直接给openLocation用的火星坐标,可传入'gcj02'
|
||||
success : function(res) {
|
||||
console.log(res);
|
||||
var token = "{{ csrf_token() }}";
|
||||
$.post("{{ route('location.set') }}",{lat:res.latitude,lng:res.longitude,_token:token},function(result){
|
||||
if (result.statusCode==200) {
|
||||
location.reload();
|
||||
}
|
||||
});
|
||||
},
|
||||
cancel : function(res) {
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
wx.error(function(res) {
|
||||
// updateAlert(res.errMsg);
|
||||
});
|
||||
|
||||
</script>
|
||||
|
||||
@endsection
|
||||
13
resources/views/pick/mobile.blade.php
Normal file
13
resources/views/pick/mobile.blade.php
Normal file
@@ -0,0 +1,13 @@
|
||||
@foreach ($lists as $mobile)
|
||||
<li class="{{ config('pick.icons')[$mobile->operator] }} liangHao-click" data-id="{{ $mobile->id }}">
|
||||
<div class="liangHao-number">
|
||||
{{ $mobile->number }}
|
||||
</div>
|
||||
<div class="liangHao-text">
|
||||
<p>服务费<span>{{ $mobile->charge }}</span>元</p>
|
||||
<p>月最低消费<span>{{ $mobile->price }}</span>元</p>
|
||||
<p class="liangHao-yellow">{{ $mobile->city->name }}</p>
|
||||
<p class="liangHao-yellow">{{ $mobile->operator_text }}</p>
|
||||
</div>
|
||||
</li>
|
||||
@endforeach
|
||||
81
resources/views/pick/search.blade.php
Normal file
81
resources/views/pick/search.blade.php
Normal file
@@ -0,0 +1,81 @@
|
||||
@extends('layouts.app')
|
||||
|
||||
@section('content')
|
||||
<form action="{{ route('pick.lists') }}" id="search_id">
|
||||
<!-- 购买靓号 -->
|
||||
<div class="seniorSearch">
|
||||
<div class="seniorSearch-form">
|
||||
<i class="icon icon-search"></i>
|
||||
<input type="" name="number" value="{{ $pick_search['number'] }}" placeholder="请输入至少3位数字" />
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- footer -->
|
||||
<div class="seniorFooter">
|
||||
{{-- <span class="liangHaoBuy-hide">取消</span> --}}
|
||||
<span class="liangHaoBuy-buy" onclick="document.getElementById('search_id').submit()">确定</span>
|
||||
</div>
|
||||
<!-- section -->
|
||||
<section>
|
||||
<!-- 高级搜索 -->
|
||||
<div class="senior">
|
||||
<div class="seniorTitle">
|
||||
运营商
|
||||
</div>
|
||||
<ul class="senior-list">
|
||||
@foreach (config('pick.operators') as $key=> $operator)
|
||||
<li class="user-senior">
|
||||
<div class="senior-list-radio">
|
||||
<input type="checkbox" name="operator[]" value="{{ $key }}" id="operator-{{ $key }}" @if(!empty($pick_search['operator'])&&in_array($key, $pick_search['operator'])) checked="" @endif />
|
||||
<label for="operator-{{ $key }}">
|
||||
{{ $operator }}
|
||||
<span class="checkMark"></span>
|
||||
</label>
|
||||
</div>
|
||||
</li>
|
||||
@endforeach
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="senior">
|
||||
<div class="seniorTitle">
|
||||
号段
|
||||
</div>
|
||||
<ul class="senior-list">
|
||||
@foreach (config('pick.pick_search')['begin'] as $key=> $begin)
|
||||
<li class="user-senior">
|
||||
<div class="senior-list-radio">
|
||||
<input type="checkbox" name="begin[]" value="{{ $begin }}" id="begin-{{ $begin }}" @if(!empty($pick_search['begin'])&&in_array($key, $pick_search['begin'])) checked="" @endif />
|
||||
<label for="begin-{{ $begin }}">
|
||||
{{ $begin }}
|
||||
<span class="checkMark"></span>
|
||||
</label>
|
||||
</div>
|
||||
</li>
|
||||
@endforeach
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="senior">
|
||||
<div class="seniorTitle">
|
||||
号码等级
|
||||
</div>
|
||||
<ul class="senior-list">
|
||||
@foreach (config('pick.pick_search')['type'] as $key=> $type)
|
||||
<li class="user-senior">
|
||||
<div class="senior-list-radio">
|
||||
<input type="checkbox" name="type[]" value="{{ $type }}" id="type-{{ $type }}" @if(!empty($pick_search['type'])&&in_array($key, $pick_search['type'])) checked="" @endif />
|
||||
<label for="type-{{ $type }}">
|
||||
{{ $type }}
|
||||
<span class="checkMark"></span>
|
||||
</label>
|
||||
</div>
|
||||
</li>
|
||||
@endforeach
|
||||
</ul>
|
||||
</div>
|
||||
</section>
|
||||
</form>
|
||||
@endsection
|
||||
20
resources/views/settings/index.blade.php
Normal file
20
resources/views/settings/index.blade.php
Normal file
@@ -0,0 +1,20 @@
|
||||
@extends('layouts.app')
|
||||
|
||||
@section('content')
|
||||
<section>
|
||||
<ul class="set_main">
|
||||
<li data-href="{{ route('settings.nickname') }}">
|
||||
<i class="icon-pencil set_main_icon"></i>修改昵称
|
||||
<i class="icon-angle-right set_main_more"></i>
|
||||
</li>
|
||||
<li data-href="{{ route('settings.password') }}">
|
||||
<i class="icon-lock set_main_icon"></i>修改密码
|
||||
<i class="icon-angle-right set_main_more"></i>
|
||||
</li>
|
||||
<li data-href="{{ route('settings.mobile') }}">
|
||||
<i class="icon-phone set_main_icon"></i>修改手机号
|
||||
<i class="icon-angle-right set_main_more"></i>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
@endsection
|
||||
61
resources/views/settings/mobile.blade.php
Normal file
61
resources/views/settings/mobile.blade.php
Normal file
@@ -0,0 +1,61 @@
|
||||
@extends('layouts.app')
|
||||
|
||||
@section('content')
|
||||
<section>
|
||||
<form action="{{ url()->current() }}" method="post" accept-charset="utf-8" class="reset-form">
|
||||
<ul class="reset-input">
|
||||
<li>
|
||||
<label>原号码</label>
|
||||
<input type="tel" name="old" value="" placeholder="{{ Auth::user()->username }}" disabled>
|
||||
</li>
|
||||
<li>
|
||||
<label>新号码</label>
|
||||
<input type="tel" name="username" value="" placeholder="请输入新手机号码">
|
||||
</li>
|
||||
<li class="reset-code">
|
||||
<label>验 证 码</label>
|
||||
<input type="tel" name="code" value="" placeholder="短信验证码">
|
||||
<span class="code-btn" id="send">获取验证码</span>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="reset-btn">
|
||||
@csrf
|
||||
|
||||
<button type="button" class="ajax-post">立即设置</button>
|
||||
</div>
|
||||
</form>
|
||||
</section>
|
||||
@endsection
|
||||
|
||||
@section('script')
|
||||
<script type="text/javascript">
|
||||
$("#send").on('click', function() {
|
||||
var $this = $(this);
|
||||
var username = $('input[name="username"]').val();
|
||||
$.post("{{ route('auth.sms') }}", {username: username, channel: "DEFAULT", '_token': '{{ csrf_token() }}'}, function(res) {
|
||||
if (res.statusCode == 200) {
|
||||
updateAlert(res.message);
|
||||
settime($this);
|
||||
} else {
|
||||
updateAlert(res.message);
|
||||
}
|
||||
});
|
||||
})
|
||||
var countdown = 60;
|
||||
function settime(obj) {
|
||||
if (countdown == 0) {
|
||||
obj.removeAttr("disabled");
|
||||
obj.html("获取验证码");
|
||||
countdown = 60;
|
||||
return;
|
||||
} else {
|
||||
obj.attr("disabled", true);
|
||||
obj.html("重新发送(" + countdown + ")");
|
||||
countdown--;
|
||||
}
|
||||
setTimeout(function() {
|
||||
settime(obj)
|
||||
}, 1000)
|
||||
}
|
||||
</script>
|
||||
@endsection
|
||||
19
resources/views/settings/nickname.blade.php
Normal file
19
resources/views/settings/nickname.blade.php
Normal file
@@ -0,0 +1,19 @@
|
||||
@extends('layouts.app')
|
||||
|
||||
|
||||
@section('footer','')
|
||||
|
||||
@section('content')
|
||||
<form action="{{ route('settings.nickname') }}" method="post" accept-charset="utf-8" class="setup-form">
|
||||
<ul class="setup-input">
|
||||
<li>
|
||||
<input type="text" name="nickname" value="{{ Auth::user()->info->nickname }}" placeholder="请输入昵称">
|
||||
</li>
|
||||
</ul>
|
||||
<div class="setup-btn">
|
||||
<button type="submit" class="ajax-post">提交</button>
|
||||
@csrf
|
||||
</div>
|
||||
</form>
|
||||
|
||||
@endsection
|
||||
26
resources/views/settings/password.blade.php
Normal file
26
resources/views/settings/password.blade.php
Normal file
@@ -0,0 +1,26 @@
|
||||
@extends('layouts.app')
|
||||
|
||||
@section('content')
|
||||
<section>
|
||||
<form action="{{ url()->current() }}" method="post" accept-charset="utf-8" class="reset-form">
|
||||
<ul class="reset-input">
|
||||
<li>
|
||||
<label>原密码</label>
|
||||
<input type="password" name="oldpassword" value="" placeholder="请输入新原密码">
|
||||
</li>
|
||||
<li>
|
||||
<label>新密码</label>
|
||||
<input type="password" name="password" value="" placeholder="请输入新密码">
|
||||
</li>
|
||||
<li>
|
||||
<label>确认密码</label>
|
||||
<input type="password" name="password_confirmation" value="" placeholder="请输入确认密码">
|
||||
</li>
|
||||
</ul>
|
||||
<div class="reset-btn">
|
||||
@csrf
|
||||
<button type="button" class="ajax-post">立即设置</button>
|
||||
</div>
|
||||
</form>
|
||||
</section>
|
||||
@endsection
|
||||
119
resources/views/upgrade/agent.blade.php
Normal file
119
resources/views/upgrade/agent.blade.php
Normal file
@@ -0,0 +1,119 @@
|
||||
@extends('layouts.app')
|
||||
|
||||
@section('footer','')
|
||||
|
||||
@section('content')
|
||||
<!-- section -->
|
||||
<section>
|
||||
<!-- 升级会员 -->
|
||||
<div class="upMember upAgent">
|
||||
<div class="upAgent-top" style="background-image: url(/assets/index/img/upMember_agent.png);">
|
||||
<div class="upAgent-text">
|
||||
<p>金牌代理</p>
|
||||
<div class="upAgent-tips">
|
||||
<span>开通立即尊享</span>
|
||||
</div>
|
||||
<div class="upMemberCont-price">
|
||||
<small>套餐:</small>{{ config('agent_price') }}<small>元</small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="upAgentPower">
|
||||
<div class="upAgent-title">
|
||||
代理商权益
|
||||
</div>
|
||||
<ul class="upAgent-list">
|
||||
<li>
|
||||
<div class="upAgent-list-img">
|
||||
<img src="/assets/index/img/icon/Agent_00.png" >
|
||||
</div>
|
||||
<div class="upAgent-list-text">
|
||||
<p>收益权益</p>
|
||||
<span>会员专属折扣价</span>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="upAgent-list-img">
|
||||
<img src="/assets/index/img/icon/Agent_01.png" >
|
||||
</div>
|
||||
<div class="upAgent-list-text">
|
||||
<p>提货卡权益</p>
|
||||
<span>免费提货</span>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="upAgent-list-img">
|
||||
<img src="/assets/index/img/icon/Agent_02.png" >
|
||||
</div>
|
||||
<div class="upAgent-list-text">
|
||||
<p>其他权益</p>
|
||||
<span>手机靓号优先选择</span>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="upMemberFooter upAgentFooter">
|
||||
<div class="upMemberFooter-left" style="background-image: url(/assets/index/img/upMember_back.png);">
|
||||
超值价<span>{{ config('agent_price') }}</span>元 / 年
|
||||
</div>
|
||||
<div class="upMemberFooter-btn" id="paybtn">
|
||||
立即开通
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
@endsection
|
||||
|
||||
|
||||
@section('script')
|
||||
<script>
|
||||
var json='';
|
||||
$("#paybtn").click(function(){
|
||||
$.get("{{ route('upgrade.wechat', ['type'=>'agent']) }}", function(data) {
|
||||
if (data.statusCode == 200) {
|
||||
json = JSON.parse(data.message);
|
||||
pay();
|
||||
}else{
|
||||
updateAlert(data.message,'error');
|
||||
if (data.redirect) {
|
||||
setTimeout(function(){
|
||||
location.href=data.redirect;
|
||||
},1500);
|
||||
}else{
|
||||
setTimeout(function(){
|
||||
location.reload();
|
||||
},1500);
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
function pay() {
|
||||
if (typeof WeixinJSBridge == "undefined") {
|
||||
if (document.addEventListener) {
|
||||
document.addEventListener('WeixinJSBridgeReady', onBridgeReady, false);
|
||||
} else if (document.attachEvent) {
|
||||
document.attachEvent('WeixinJSBridgeReady', onBridgeReady);
|
||||
document.attachEvent('onWeixinJSBridgeReady', onBridgeReady);
|
||||
}
|
||||
}else{
|
||||
onBridgeReady();
|
||||
}
|
||||
}
|
||||
|
||||
function onBridgeReady() {
|
||||
WeixinJSBridge.invoke('getBrandWCPayRequest', json, function(res) {
|
||||
if (res.err_msg == "get_brand_wcpay_request:ok" ) {
|
||||
setTimeout(function() {
|
||||
location.href = "{{ route('Agent.login') }}";
|
||||
}, 1000);
|
||||
} else {
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
|
||||
</script>
|
||||
@endsection
|
||||
19
resources/views/upgrade/hasagent.blade.php
Normal file
19
resources/views/upgrade/hasagent.blade.php
Normal file
@@ -0,0 +1,19 @@
|
||||
@extends('layouts.app')
|
||||
|
||||
@section('footer','')
|
||||
@section('content')
|
||||
<section>
|
||||
<div class="hasagent">
|
||||
<div class="hasagent-img">
|
||||
<img src="/assets/index/img/tips.png">
|
||||
</div>
|
||||
<div class="hasagent-text">
|
||||
<p>您已经是代理商了</p>
|
||||
<span>快去登录吧!</span>
|
||||
</div>
|
||||
<div class="hasagent-btn">
|
||||
<a href="{{ route('Agent.login') }}">立即登录</a>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
@endsection
|
||||
123
resources/views/upgrade/vip.blade.php
Normal file
123
resources/views/upgrade/vip.blade.php
Normal file
@@ -0,0 +1,123 @@
|
||||
@extends('layouts.app')
|
||||
|
||||
@section('footer','')
|
||||
|
||||
@section('content')
|
||||
<!-- section -->
|
||||
<section>
|
||||
<!-- 升级会员 -->
|
||||
<div class="upMember">
|
||||
<div class="upMemberCont">
|
||||
<div class="upMemberCont-top" style="background-image: url(/assets/index/img/upMember_cra.png);">
|
||||
<div class="upMemberCont-text">
|
||||
<p>至尊VIP</p>
|
||||
<div class="upMemberCont-tips">
|
||||
<span>开通立即尊享</span>
|
||||
<p>会员商城购买+提货卡特权</p>
|
||||
</div>
|
||||
<div class="upMemberCont-price">
|
||||
<small>套餐:</small>{{ config('vip_price') }}<small>元</small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="upMemberPower">
|
||||
<div class="upMemberPower-title">
|
||||
<img src="/assets/index/img/icon/ancrown.png" >
|
||||
会员特权
|
||||
</div>
|
||||
<ul class="upMemberPower-list">
|
||||
<li>
|
||||
<div class="upMemberPower-list-img">
|
||||
<img src="/assets/index/img/icon/Power_00.png" >
|
||||
</div>
|
||||
<div class="upMemberPower-list-text">
|
||||
<p>会员商城购买</p>
|
||||
<span>会员专属折扣价</span>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="upMemberPower-list-img">
|
||||
<img src="/assets/index/img/icon/Power_01.png" >
|
||||
</div>
|
||||
<div class="upMemberPower-list-text">
|
||||
<p>提货卡专区</p>
|
||||
<span>免费提货</span>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="upMemberPower-list-img">
|
||||
<img src="/assets/index/img/icon/Power_02.png" >
|
||||
</div>
|
||||
<div class="upMemberPower-list-text">
|
||||
<p>靓号专区</p>
|
||||
<span>手机靓号优先选择</span>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="upMemberFooter">
|
||||
<div class="upMemberFooter-left" style="background-image: url(/assets/index/img/upMember_back.png);">
|
||||
超值价<span>{{ config('vip_price') }}</span>元 / 年
|
||||
</div>
|
||||
<div class="upMemberFooter-btn" id="paybtn">
|
||||
立即开通
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
@endsection
|
||||
|
||||
|
||||
@section('script')
|
||||
<script>
|
||||
var json='';
|
||||
$("#paybtn").click(function(){
|
||||
$.get("{{ route('upgrade.wechat', ['type'=>'vip']) }}", function(data) {
|
||||
if (data.statusCode == 200) {
|
||||
json = JSON.parse(data.message);
|
||||
pay();
|
||||
}else{
|
||||
updateAlert(data.message,'error');
|
||||
if (data.redirect) {
|
||||
setTimeout(function(){
|
||||
location.href=data.redirect;
|
||||
},1500);
|
||||
}else{
|
||||
setTimeout(function(){
|
||||
location.reload();
|
||||
},1500);
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
function pay() {
|
||||
if (typeof WeixinJSBridge == "undefined") {
|
||||
if (document.addEventListener) {
|
||||
document.addEventListener('WeixinJSBridgeReady', onBridgeReady, false);
|
||||
} else if (document.attachEvent) {
|
||||
document.attachEvent('WeixinJSBridgeReady', onBridgeReady);
|
||||
document.attachEvent('onWeixinJSBridgeReady', onBridgeReady);
|
||||
}
|
||||
}else{
|
||||
onBridgeReady();
|
||||
}
|
||||
}
|
||||
|
||||
function onBridgeReady() {
|
||||
WeixinJSBridge.invoke('getBrandWCPayRequest', json, function(res) {
|
||||
if (res.err_msg == "get_brand_wcpay_request:ok" ) {
|
||||
setTimeout(function() {
|
||||
location.href = "{{ route('user.index') }}";
|
||||
}, 1000);
|
||||
} else {
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
|
||||
</script>
|
||||
@endsection
|
||||
160
resources/views/user/index.blade.php
Normal file
160
resources/views/user/index.blade.php
Normal file
@@ -0,0 +1,160 @@
|
||||
@extends('layouts.app')
|
||||
|
||||
@section('content')
|
||||
<section>
|
||||
<!-- 个人信息 -->
|
||||
<div class="mainHead" data-href="{{ route('settings.index') }}">
|
||||
<div class="mainHeadImg">
|
||||
<span style="background-image: url({{ $user->info->headimgurl }});"></span>
|
||||
</div>
|
||||
<div class="mainHeadText">
|
||||
<div class="mainHeadText-name">
|
||||
<p>
|
||||
{{ $user->info->nickname }}
|
||||
<span class="Vip">
|
||||
@if ($user->identity_id>0)
|
||||
会员
|
||||
@else
|
||||
普通用户
|
||||
@endif
|
||||
</span>
|
||||
</p>
|
||||
<small>{{ $user->username }}</small>
|
||||
</div>
|
||||
<i class="icon icon-angle-right"></i>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 会员号 -->
|
||||
@if ($user->identity_id>0 && $user->card)
|
||||
<div class="mainMemberBack">
|
||||
<div class="mainMember">
|
||||
<div class="mainMember-img">
|
||||
<img src="/assets/index/img/icon/member.png" >
|
||||
<span>会员编号</span>
|
||||
</div>
|
||||
<div class="mainMember-number">
|
||||
{{ $user->card->code }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
|
||||
<!-- 订单体系 -->
|
||||
<div class="mainOrder">
|
||||
<div class="mainOrder-title">
|
||||
<span>我的订单</span>
|
||||
<a href="{{ route('orders.index') }}">查看全部订单</a>
|
||||
</div>
|
||||
<ul class="mainOrder-list">
|
||||
<li data-href="{{ route('orders.unpay') }}">
|
||||
<div class="mainOrder-list-icon">
|
||||
<img src="/assets/index/img/icon/mainOrder_00.png" >
|
||||
</div>
|
||||
<span>待付款</span>
|
||||
@if ($orderCount['unpay']>0)
|
||||
<p>{{ $orderCount['unpay'] }}</p>
|
||||
@endif
|
||||
</li>
|
||||
<li data-href="{{ route('orders.paid') }}">
|
||||
<div class="mainOrder-list-icon">
|
||||
<img src="/assets/index/img/icon/mainOrder_01.png" >
|
||||
</div>
|
||||
<span>待发货</span>
|
||||
@if ($orderCount['paid']>0)
|
||||
<p>{{ $orderCount['paid'] }}</p>
|
||||
@endif
|
||||
</li>
|
||||
<li data-href="{{ route('orders.delivered') }}">
|
||||
<div class="mainOrder-list-icon">
|
||||
<img src="/assets/index/img/icon/mainOrder_02.png" >
|
||||
</div>
|
||||
<span>待收货</span>
|
||||
@if ($orderCount['delivered']>0)
|
||||
<p>{{ $orderCount['delivered'] }}</p>
|
||||
@endif
|
||||
</li>
|
||||
<li data-href="{{ route('orders.signed') }}">
|
||||
<div class="mainOrder-list-icon">
|
||||
<img src="/assets/index/img/icon/mainOrder_03.png" >
|
||||
</div>
|
||||
<span>已签收</span>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<!-- 导航列表 -->
|
||||
<ul class="mainNav">
|
||||
<li data-href="{{ route('cart.index') }}">
|
||||
<div class="mainNav-icon">
|
||||
<div class="mainNav-icon-img">
|
||||
<img src="/assets/index/img/icon/detailsIcon_02.png" >
|
||||
</div>
|
||||
购物车
|
||||
</div>
|
||||
<i class="icon icon-angle-right"></i>
|
||||
</li>
|
||||
<li data-href="{{ route('addresses.index') }}">
|
||||
<div class="mainNav-icon">
|
||||
<div class="mainNav-icon-img">
|
||||
<img src="/assets/index/img/icon/mainNav_00.png" >
|
||||
</div>
|
||||
收货地址
|
||||
</div>
|
||||
<i class="icon icon-angle-right"></i>
|
||||
</li>
|
||||
<li data-href="{{ route('favorites.index') }}">
|
||||
<div class="mainNav-icon">
|
||||
<div class="mainNav-icon-img">
|
||||
<img src="/assets/index/img/icon/mainNav_01.png" >
|
||||
</div>
|
||||
我的收藏
|
||||
</div>
|
||||
<i class="icon icon-angle-right"></i>
|
||||
</li>
|
||||
|
||||
@if ($user->identity_id==0)
|
||||
<li data-href="{{ route('upgrade.vip') }}">
|
||||
<div class="mainNav-icon">
|
||||
<div class="mainNav-icon-img">
|
||||
<img src="/assets/index/img/icon/mainNav_04.png" >
|
||||
</div>
|
||||
升级会员
|
||||
</div>
|
||||
<i class="icon icon-angle-right"></i>
|
||||
</li>
|
||||
@endif
|
||||
|
||||
{{-- <li>
|
||||
<div class="mainNav-icon">
|
||||
<div class="mainNav-icon-img">
|
||||
<img src="/assets/index/img/icon/mainNav_06.png" >
|
||||
</div>
|
||||
资金管理
|
||||
</div>
|
||||
<i class="icon icon-angle-right"></i>
|
||||
</li> --}}
|
||||
{{-- <li>
|
||||
<div class="mainNav-icon">
|
||||
<div class="mainNav-icon-img">
|
||||
<img src="/assets/index/img/icon/mainNav_02.png" >
|
||||
</div>
|
||||
我的二维码
|
||||
</div>
|
||||
<i class="icon icon-angle-right"></i>
|
||||
</li> --}}
|
||||
{{-- <li data-href="{{ route('logout') }}">
|
||||
<div class="mainNav-icon">
|
||||
<div class="mainNav-icon-img">
|
||||
<img src="/assets/index/img/icon/mainNav_03.png" >
|
||||
</div>
|
||||
退出登录
|
||||
</div>
|
||||
<i class="icon icon-angle-right"></i>
|
||||
</li> --}}
|
||||
</ul>
|
||||
</section>
|
||||
@endsection
|
||||
Reference in New Issue
Block a user