Browse Source

feat(farm): 添加作物产出物品

notfff 6 months ago
parent
commit
b297b9ea28

+ 7 - 1
app/Module/Farm/AdminControllers/FarmCropController.php

@@ -43,7 +43,7 @@ class FarmCropController extends AdminController
      */
     protected function grid()
     {
-        return Grid::make(new FarmCropRepository(), function (Grid $grid) {
+        return Grid::make(new FarmCropRepository(['final_output_item']), function (Grid $grid) {
             $helper = new GridHelper($grid, $this);
 
             $helper->columnId();
@@ -67,6 +67,12 @@ class FarmCropController extends AdminController
                 }
                 return "<span class='label label-warning'>未确定</span>";
             });
+            $grid->column('final_output_item.name', '产出物品')->sortable()->display(function ($value) {
+                if ($value) {
+                    return "<span class='label label-success'>{$value}</span>";
+                }
+                return "<span class='label label-warning'>-</span>";
+            });
 
             $grid->column('final_output_amount', '预定产量')->sortable()->display(function ($value) {
                 if ($value) {

+ 9 - 1
app/Module/Farm/Models/FarmCrop.php

@@ -3,14 +3,16 @@
 namespace App\Module\Farm\Models;
 
 use App\Module\Farm\Enums\GROWTH_STAGE;
+use App\Module\GameItems\Models\Item;
 use Illuminate\Database\Eloquent\Model;
 use Illuminate\Database\Eloquent\Relations\BelongsTo;
+use Illuminate\Database\Eloquent\Relations\HasOne;
 use Illuminate\Database\Eloquent\SoftDeletes;
 
 /**
  * 作物信息模型
  *
- * field start 
+ * field start
  * @property  int  $id  主键ID
  * @property  int  $land_id  土地ID
  * @property  int  $user_id  用户ID
@@ -113,4 +115,10 @@ class FarmCrop extends Model
     {
         return $this->belongsTo(FarmUser::class, 'user_id', 'user_id');
     }
+
+    public function final_output_item():HasOne
+    {
+        return $this->hasOne(Item::class, 'id', 'final_output_item_id');
+
+    }
 }

+ 18 - 0
public/dcat-admin/css/admin.css

@@ -6,3 +6,21 @@
     min-width: 100px;
     max-width: 300px;
 }
+
+.label-success{
+    background-color: #5cb85c;
+}
+.label-danger{
+    background-color: #d9534f;
+}
+.label-warning{
+    background-color: #f0ad4e;
+}
+.label-info{
+    background-color: #5bc0de;
+}
+.label-default{
+    background-color: #777;
+}
+.label{
+}