|
@@ -49,10 +49,8 @@ class SiteAlbumController extends AdminController
|
|
|
$pattern = '/\$\(\'#' . preg_quote($formId, '/') . '\'\)\.form\(\{.*?\}\);/s';
|
|
|
$html = preg_replace($pattern, '', $html);
|
|
|
}
|
|
|
-
|
|
|
|
|
|
$html = preg_replace('/<form([^>]*)>(.*?)<\/form>/s', '<div$1>$2</div>', $html, 1);
|
|
|
-
|
|
|
return $html;
|
|
|
}
|
|
|
|
|
@@ -80,7 +78,7 @@ class SiteAlbumController extends AdminController
|
|
|
$form->block(10, function (Form\BlockForm $form) {
|
|
|
$form->html($this->grid())->width(12);
|
|
|
});
|
|
|
-
|
|
|
+
|
|
|
Admin::script(
|
|
|
<<<JS
|
|
|
setTimeout(() => {
|
|
@@ -98,17 +96,17 @@ class SiteAlbumController extends AdminController
|
|
|
});
|
|
|
});
|
|
|
}, 200);
|
|
|
-const firstCheckbox = document.querySelector('.vs-checkbox-primary');
|
|
|
-
|
|
|
-if (firstCheckbox) {
|
|
|
- firstCheckbox.style.display = 'none';
|
|
|
-}
|
|
|
-
|
|
|
-const input = document.querySelector('input[name="_previous_"]');
|
|
|
-if (input) {
|
|
|
-
|
|
|
- input.value = '';
|
|
|
-}
|
|
|
+ const firstCheckbox = document.querySelector('.vs-checkbox-primary');
|
|
|
+
|
|
|
+ if (firstCheckbox) {
|
|
|
+ firstCheckbox.style.display = 'none';
|
|
|
+ }
|
|
|
+
|
|
|
+ const input = document.querySelector('input[name="_previous_"]');
|
|
|
+ if (input) {
|
|
|
+
|
|
|
+ input.value = '';
|
|
|
+ }
|
|
|
JS
|
|
|
);
|
|
|
});
|
|
@@ -127,6 +125,12 @@ JS
|
|
|
return CommonHelper::displayImage($dataImages,80);
|
|
|
});
|
|
|
$grid->column('model');
|
|
|
+ $grid->column('folder_id',admin_trans_label('folder'))
|
|
|
+ ->display(function ($folder_id) {
|
|
|
+ $folderModel = new SiteAlbumFolderModel();
|
|
|
+ $folderName = $folderModel->find($folder_id)->title;
|
|
|
+ return $folderName;
|
|
|
+ });
|
|
|
$grid->column('enabled')->using(admin_trans_array(config('dictionary.enabled'))) ->label([
|
|
|
0 => 'danger',
|
|
|
1 => 'success',
|
|
@@ -144,10 +148,12 @@ JS
|
|
|
});
|
|
|
|
|
|
$grid->filter(function (Grid\Filter $filter) {
|
|
|
+ $selectOptions = SiteAlbumFolderModel::selectOptions();
|
|
|
+ unset($selectOptions[0]);
|
|
|
$filter->panel();
|
|
|
$filter->expand();
|
|
|
$filter->like('model')->width(2);
|
|
|
- $filter->equal('folder_id',admin_trans_label('folder'))->select(SiteAlbumFolderModel::selectOptions())->width(3);
|
|
|
+ $filter->equal('folder_id',admin_trans_label('folder'))->select($selectOptions)->width(3);
|
|
|
});
|
|
|
$grid->disableViewButton();
|
|
|
$grid->disablePerPages();
|
|
@@ -190,8 +196,13 @@ JS
|
|
|
$form->input('pdf', $pdfs);
|
|
|
});
|
|
|
$form->tab(admin_trans_label('basic_info'), function (Form $form) {
|
|
|
+ $selectOptions = SiteAlbumFolder::selectOptions();
|
|
|
+ unset($selectOptions[0]);
|
|
|
$folderId = getTempValue('folderId');
|
|
|
- $form->select('folder_id')->options(SiteAlbumFolder::selectOptions())->default($folderId)->required();
|
|
|
+ if ($folderId == 0) {
|
|
|
+ $folderId = array_key_first($selectOptions);
|
|
|
+ }
|
|
|
+ $form->select('folder_id')->options($selectOptions)->default($folderId)->required();
|
|
|
$form->text('model')->required();
|
|
|
$form->table('parameters',admin_trans_label('attribute_name'), function (Form\NestedForm $table) {
|
|
|
$table->text('key')->required();
|
|
@@ -261,7 +272,7 @@ JS
|
|
|
$form->html($imgHtml,admin_trans_label('image_preview'));
|
|
|
$count++;
|
|
|
|
|
|
- $form->text('cover',admin_trans_label('video_cover'))->placeholder('为空则自动生成');
|
|
|
+ $form->text('cover',admin_trans_label('video_cover'))->placeholder('自动生成')->readOnly();
|
|
|
$form->tradFile('video_src')
|
|
|
->retainable()
|
|
|
->removable()
|
|
@@ -342,25 +353,74 @@ JS
|
|
|
return json_encode($data);
|
|
|
});
|
|
|
});
|
|
|
+ $folderTabs = SiteAlbumFolder::getAllFolderTabs();
|
|
|
+ $folderTabs = json_encode($folderTabs);
|
|
|
|
|
|
- $folderId = getTempValue('folderId');
|
|
|
- if ($folderId >0) {
|
|
|
+
|
|
|
Admin::script(
|
|
|
<<<JS
|
|
|
const featherIcon = document.querySelector('i.feather.icon-list');
|
|
|
-
|
|
|
if (featherIcon) {
|
|
|
|
|
|
const parentLink = featherIcon.closest('a');
|
|
|
+ if (parentLink) {
|
|
|
+
|
|
|
+ parentLink.onclick = function(event) {
|
|
|
+
|
|
|
+ event.preventDefault();
|
|
|
|
|
|
- if (parentLink && parentLink.href) {
|
|
|
-
|
|
|
- parentLink.href = parentLink.href + '?folder_id={$folderId}';
|
|
|
+
|
|
|
+ let folderIdValue = $('select[name="folder_id"]').val();
|
|
|
+
|
|
|
+
|
|
|
+ if (parentLink.href) {
|
|
|
+ const newHref = parentLink.href + '?folder_id=' + folderIdValue;
|
|
|
+ window.location.href = newHref;
|
|
|
+ }
|
|
|
+ };
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+$('select[name="folder_id"]').change(function() {
|
|
|
+ showHideTabs($(this).val());
|
|
|
+});
|
|
|
+folderIdValue = $('select[name="folder_id"]').val();
|
|
|
+showHideTabs(folderIdValue);
|
|
|
+function showHideTabs(fid) {
|
|
|
+
|
|
|
+ let folderTabs = {$folderTabs};
|
|
|
+ const folderIdValue = fid;
|
|
|
+
|
|
|
+ const tabIndexes = folderTabs[folderIdValue];
|
|
|
+
|
|
|
+
|
|
|
+ if (tabIndexes) {
|
|
|
+
|
|
|
+ $('.nav-tabs .nav-item').each(function(index) {
|
|
|
+ if (index > 0) {
|
|
|
+ $(this).hide();
|
|
|
+ }
|
|
|
+ });
|
|
|
+
|
|
|
+ tabIndexes.forEach(function(index) {
|
|
|
+ $('.nav-tabs .nav-item:eq(' + (Number(index) + 1) + ')').show();
|
|
|
+ });
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+}
|
|
|
JS
|
|
|
);
|
|
|
- }
|
|
|
+
|
|
|
|
|
|
});
|
|
|
|