diff --git a/app/Admin/Controllers/OfflineOrderController.php b/app/Admin/Controllers/OfflineOrderController.php
index 49448f74..e25b5a4c 100644
--- a/app/Admin/Controllers/OfflineOrderController.php
+++ b/app/Admin/Controllers/OfflineOrderController.php
@@ -72,13 +72,14 @@ class OfflineOrderController extends AdminController
});
$grid->column('items')->display(function ($items) {
return $items->map(function ($item) {
+ $color = $item->productCategory?->color ?? '#586cb1';
$category = $item->productCategory?->name;
if ($discount = $item->getDiscount()) {
$category .= " {$discount}折";
}
- return ''.$category.'';
+ return "{$category}";
})->join('');
});
$grid->column('products_total_amount')->display(fn($v) => bcdiv($v, 100, 2))->prepend('¥');
diff --git a/app/Admin/Controllers/OfflineProductCategoryController.php b/app/Admin/Controllers/OfflineProductCategoryController.php
index b665640a..d629ec55 100644
--- a/app/Admin/Controllers/OfflineProductCategoryController.php
+++ b/app/Admin/Controllers/OfflineProductCategoryController.php
@@ -42,6 +42,7 @@ class OfflineProductCategoryController extends AdminController
->else(function (Column $column) {
$column->bool();
});
+ $grid->column('color')->display(fn ($v) => $v ? "{$v}" : '');
$grid->column('sort')->sortable();
$grid->column('created_at');
@@ -72,6 +73,8 @@ class OfflineProductCategoryController extends AdminController
->setLabelClass(['asterisk'])
->attribute('required', true);
+ $form->color('color');
+
$form->switch('enabled')
->default(true);
diff --git a/app/Models/OfflineProductCategory.php b/app/Models/OfflineProductCategory.php
index 21287dcf..ce8244da 100644
--- a/app/Models/OfflineProductCategory.php
+++ b/app/Models/OfflineProductCategory.php
@@ -21,7 +21,7 @@ class OfflineProductCategory extends Model
];
protected $fillable = [
- 'name', 'enabled', 'sort',
+ 'name', 'enabled', 'color', 'sort',
];
public function scopeEnabled(Builder $builder)
diff --git a/database/migrations/2023_11_12_212000_add_color_to_offline_product_categories_table.php b/database/migrations/2023_11_12_212000_add_color_to_offline_product_categories_table.php
new file mode 100644
index 00000000..52fff5cf
--- /dev/null
+++ b/database/migrations/2023_11_12_212000_add_color_to_offline_product_categories_table.php
@@ -0,0 +1,32 @@
+string('color')->nullable();
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ *
+ * @return void
+ */
+ public function down()
+ {
+ Schema::table('offline_product_categories', function (Blueprint $table) {
+ $table->dropColumn(['color']);
+ });
+ }
+}
diff --git a/resources/lang/zh_CN/offline-product-category.php b/resources/lang/zh_CN/offline-product-category.php
index 59383ef7..14e92b59 100644
--- a/resources/lang/zh_CN/offline-product-category.php
+++ b/resources/lang/zh_CN/offline-product-category.php
@@ -8,6 +8,7 @@ return [
'fields' => [
'name' => '名称',
'enabled' => '启用',
+ 'color' => '颜色',
'sort' => '排序',
],
'options' => [