moshaorui 1 mesiac pred
rodič
commit
1c476bd274

+ 2 - 1
app/Admin/Controllers/SiteAlbumFolderController.php

@@ -42,7 +42,7 @@ class SiteAlbumFolderController extends AdminController
                     $prefix = str_repeat('  ', $level * 2). '   '; // 生成 level * 3 个加号
                 }
 
-                return $prefix . ' ' . html_entity_decode($title); // 拼接加号和名称
+                return $prefix . ' ' . html_entity_decode($title) . '  ('.html_entity_decode($this->title_en) .')'; // 拼接加号和名称
             });
             $grid->column('cover') ->display(function ($images) {
                 return CommonHelper::displayImage([$images],80);
@@ -75,6 +75,7 @@ class SiteAlbumFolderController extends AdminController
                     return (int) $v;
                 })->default(0);
             $form->text('title')->required();
+            $form->text('title_en')->required();
             $form->image('cover')
                 ->retainable()//禁止删OSS图
                 ->autoUpload()

+ 19 - 2
app/Admin/Repositories/SiteAlbumFolder.php

@@ -58,7 +58,7 @@ class SiteAlbumFolder extends EloquentRepository
     }
 
     // 调用模型方法
-    public static function selectOptions(\Closure $closure = null)
+    public static function selectOptions(\Closure $closure = null,$lan = 'cn')
     {
         if (!$closure) {
             $closure = function ($query) {
@@ -67,7 +67,12 @@ class SiteAlbumFolder extends EloquentRepository
                 return $query;
             };
         }
-        $selectOptions =  Model::class::selectOptions($closure);
+        $model = new Model();
+        if ($lan == 'en') {
+            $selectOptions =  $model->selectOptionsEn($closure);
+        } else {
+            $selectOptions =  $model->selectOptions($closure);
+        }
         return $selectOptions;
     }
 
@@ -86,6 +91,18 @@ class SiteAlbumFolder extends EloquentRepository
     }
 
 
+    public static function siteAlbumFolderSelectOptionsEn($inIds) {
+        $ids = self::findIdsWithParents($inIds);
+        $result = self::selectOptions(function ($query) use ($ids) {
+            $query = $query->wherein('id', $ids);
+            $query = $query->where('enabled', 1);
+            $query =  $query->orderBy('order', 'desc')->orderBy('id', 'asc');
+            return $query;
+        },'en');
+        unset($result[0]);
+        return $result;
+    }
+
     public static function siteAlbumFolderSelectOptionsAll() {
         $result = self::selectOptions(function ($query) {
             $query = $query->where('enabled', 1);

+ 8 - 0
app/Admin/Services/RpcService.php

@@ -93,6 +93,14 @@ class RpcService
         return $this->responseSuccess( $result);
     }
 
+
+    public function siteAlbumFolderSelectOptionsEn($inIds = [])
+    {
+        $result = SiteAlbumFolder::siteAlbumFolderSelectOptionsEn($inIds);
+        return $this->responseSuccess( $result);
+    }
+
+
     /*
      * 全部相册文件夹列表
      */

+ 1 - 0
app/Admin/routes.php

@@ -41,6 +41,7 @@ Route::post('/rpc', function (Request $request) {
         ->withClassAndMethod('siteAlbumPaginate', new RpcService(), 'siteAlbumPaginate')
         ->withClassAndMethod('siteAlbumGet', new RpcService(), 'siteAlbumGet')
         ->withClassAndMethod('siteAlbumFolderSelectOptions', new RpcService(), 'siteAlbumFolderSelectOptions')
+        ->withClassAndMethod('siteAlbumFolderSelectOptionsEn', new RpcService(), 'siteAlbumFolderSelectOptionsEn')
         ->withClassAndMethod('siteAlbumFolderSelectOptionsAll', new RpcService(), 'siteAlbumFolderSelectOptionsAll')
         ->withClassAndMethod('siteAlbumGetByIds', new RpcService(), 'siteAlbumGetByIds')
         ->withClassAndMethod('siteAlbumFolderAllNodes', new RpcService(), 'siteAlbumFolderAllNodes');

+ 21 - 0
app/Models/SiteAlbumFolder.php

@@ -11,12 +11,33 @@ class SiteAlbumFolder extends Model
 {
 	use HasDateTimeFormatter;
     protected $table = 'site_album_folder';
+    public $titleColumn = 'title';
+
+
+    public static function selectOptionsEn(\Closure $closure = null, $rootText = null)
+    {
+        $obj = new static();
+        $obj->titleColumn = 'title_en';
+
+        $rootText = $rootText ?: admin_trans_label('root');
+
+        $options = ($obj)->withQuery($closure)->buildSelectOptions();
+
+        return collect($options)->prepend($rootText, 0)->all();
+    }
+
 
     use HasDateTimeFormatter,
         ModelTree {
         ModelTree::boot as treeBoot;
     }
 
+    public  function setTitleColumn($column)
+    {
+        $this->titleColumn = $column;
+    }
+
+
     public function allNodes()
     {
         $result =  $this->callQueryCallbacks(new static())

+ 1 - 0
resources/views/admin/pages/login.blade.php

@@ -12,6 +12,7 @@
     .login-btn {
         padding-left: 2rem!important;;
         padding-right: 1.5rem!important;
+        width: 100%;
     }
     .content {
         overflow-x: hidden;