diff --git a/beike/Admin/Http/Controllers/SettingController.php b/beike/Admin/Http/Controllers/SettingController.php index a161c5e8..41cf68a9 100644 --- a/beike/Admin/Http/Controllers/SettingController.php +++ b/beike/Admin/Http/Controllers/SettingController.php @@ -12,6 +12,7 @@ namespace Beike\Admin\Http\Controllers; use Beike\Admin\Http\Resources\CustomerGroupDetail; +use Beike\Admin\Repositories\AttributeRepo; use Beike\Repositories\CountryRepo; use Beike\Repositories\CurrencyRepo; use Beike\Repositories\CustomerGroupRepo; diff --git a/beike/Admin/Repositories/AttributeRepo.php b/beike/Admin/Repositories/AttributeRepo.php index 76515a52..aa829176 100644 --- a/beike/Admin/Repositories/AttributeRepo.php +++ b/beike/Admin/Repositories/AttributeRepo.php @@ -12,6 +12,7 @@ namespace Beike\Admin\Repositories; use Beike\Models\Attribute; +use Beike\Models\AttributeDescription; use Beike\Models\AttributeValue; use Beike\Models\ProductAttribute; @@ -138,4 +139,14 @@ class AttributeRepo return $builder->limit(10)->get(); } + + public static function getByIds($ids) + { + return AttributeDescription::query() + ->where('locale', locale()) + ->whereIn('attribute_id', $ids) + ->select(['attribute_id as id', 'name']) + ->get() + ->toArray(); + } } diff --git a/resources/beike/admin/js/bootstrap-validation.js b/resources/beike/admin/js/bootstrap-validation.js index a6482ccc..970f5e4e 100644 --- a/resources/beike/admin/js/bootstrap-validation.js +++ b/resources/beike/admin/js/bootstrap-validation.js @@ -3,7 +3,7 @@ * @link https://beikeshop.com * @Author pu shuo * @Date 2022-08-17 15:42:46 - * @LastEditTime 2023-02-15 11:45:11 + * @LastEditTime 2023-04-10 13:56:07 */ // Example starter JavaScript for disabling form submissions if there are invalid fields @@ -27,15 +27,30 @@ $(function () { // 如果错误输入框在 tab 页面,则高亮显示对应的选项卡 $('.invalid-feedback').each(function(index, el) { if ($(el).css('display') == 'block') { + layer.msg(lang.error_form, () => {}); // 兼容使用 element ui input、autocomplete 组件,在传统提交报错ui显示 if ($(el).siblings('div[class^="el-"]')) { $(el).siblings('div[class^="el-"]').find('.el-input__inner').addClass('error-invalid-input') } if ($(el).parents('.tab-pane')) { - const id = $(el).parents('.tab-pane').prop('id'); + //高亮显示对应的选项卡 + $(el).parents('.tab-pane').each(function(index, el) { + const id = $(el).prop('id'); + $(`a[href="#${id}"], button[data-bs-target="#${id}"]`).addClass('error-invalid')[0].click(); + }) + } - $(`a[href="#${id}"], button[data-bs-target="#${id}"]`).addClass('error-invalid'); + // 页面滚动到错误输入框位置 只滚动一次 + if ($('.main-content > #content').data('scroll') != 1) { + $('.main-content > #content').data('scroll', 1); + setTimeout(() => { + $('.main-content > #content').animate({ + scrollTop: $(el).offset().top - 100 + }, 500, () => { + $('.main-content > #content').data('scroll', 0); + }); + }, 200); } } }); diff --git a/resources/beike/admin/views/layouts/master.blade.php b/resources/beike/admin/views/layouts/master.blade.php index 9dc08892..66e8dfaa 100644 --- a/resources/beike/admin/views/layouts/master.blade.php +++ b/resources/beike/admin/views/layouts/master.blade.php @@ -56,6 +56,7 @@ @endif const lang = { file_manager: '{{ __('admin/file_manager.file_manager') }}', + error_form: '{{ __('common.error_form') }}', } const config = { diff --git a/resources/beike/admin/views/pages/marketing/index.blade.php b/resources/beike/admin/views/pages/marketing/index.blade.php index abe2da27..f1dc5023 100644 --- a/resources/beike/admin/views/pages/marketing/index.blade.php +++ b/resources/beike/admin/views/pages/marketing/index.blade.php @@ -53,7 +53,7 @@