1
0

提交代码

This commit is contained in:
2020-08-06 14:45:56 +08:00
commit 9d0d5f4be9
361 changed files with 36445 additions and 0 deletions

32
resources/js/app.js Normal file
View 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
View 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
// });

View 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
View 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
View 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
View 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',
];

View 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.',
];

View 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' => '&laquo; Previous',
'next' => 'Next &raquo;',
];

View 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.",
];

View 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' => [],
];

View 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
View 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
View 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' => [],
];

View 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
View 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
View 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
View 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
View 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
View 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' => [],
];

View 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' => [],
];

View 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
View 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
View 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
View 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
View 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' => 'Наступна',
];

View 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' => '快速创建',
];

View 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' => '快速創建',
];

View 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
View File

@@ -0,0 +1,8 @@
// Fonts
@import url('https://fonts.googleapis.com/css?family=Nunito');
// Variables
@import 'variables';
// Bootstrap
@import '~bootstrap/scss/bootstrap';

View 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>&nbsp;{{ $address->name }}</div>
<div class="addressList-phone"><i class="icon-phone"></i>&nbsp;{{ $address->mobile }}</div>
</div>
<div class="addressList-text">
{{ $address->getAddress() }}
</div>
</li>
@endforeach
</ul>
</section>
@endsection

View 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

View 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

View 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

View 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>&nbsp;{{ $address->name }}</div>
<div class="addressList-phone"><i class="icon-phone"></i>&nbsp;{{ $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

View 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>

View 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>

View 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>

View 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

View 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

View 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')

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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>

View 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>

View 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

View 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>&nbsp;添加收货地址
</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

View 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

View 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') }}件商品&nbsp;&nbsp;&nbsp;&nbsp;合计:<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

View 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>&nbsp;</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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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>&nbsp;&nbsp;&nbsp;</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

View 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

View 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

View 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

View 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

View 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

View 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