diff --git a/MySQL_change.sql b/MySQL_change.sql index 9dea4f5..d019049 100644 --- a/MySQL_change.sql +++ b/MySQL_change.sql @@ -452,3 +452,21 @@ ALTER TABLE `collect_products` CHANGE COLUMN `verify_mobile` `verify_mobile` CHAR(11) NOT NULL DEFAULT '' COMMENT '核销人员手机号' COLLATE 'utf8_general_ci' AFTER `agent_id`; ALTER TABLE `industry_products` CHANGE COLUMN `verify_mobile` `verify_mobile` CHAR(11) NOT NULL DEFAULT '' COMMENT '核销人员手机号' COLLATE 'utf8_general_ci' AFTER `min_sale`; + + + +# 17:50 ‎2021/‎11/‎06 +ALTER TABLE `categories` + ADD COLUMN `publish_type` TINYINT NOT NULL DEFAULT 0 COMMENT '发布模板:0:旅游线路、1:酒店、2:景区、3:餐厅、4:车队、5:单项' COLLATE 'utf8mb4_general_ci' AFTER `sort`; + +# 18:57 ‎2021/‎11/‎06 +UPDATE `categories` SET `publish_type`=1 WHERE `name`='酒店住宿'; +UPDATE `categories` SET `publish_type`=2 WHERE `name`='景点综合'; +UPDATE `categories` SET `publish_type`=3 WHERE `name`='餐饮娱乐'; +UPDATE `categories` SET `publish_type`=4 WHERE `name`='旅游交通'; +UPDATE `categories` SET `publish_type`=5 WHERE `name`='旅游购物'; +UPDATE `categories` a + LEFT JOIN `categories` b ON b.id=a.pid + SET a.`publish_type`=b.`publish_type` +WHERE a.`pid`<>0; + diff --git a/app/AdminAgent/Actions/Tree/LoadSystemCategory.php b/app/AdminAgent/Actions/Tree/LoadSystemCategory.php index aefddd8..d0e31d9 100644 --- a/app/AdminAgent/Actions/Tree/LoadSystemCategory.php +++ b/app/AdminAgent/Actions/Tree/LoadSystemCategory.php @@ -30,18 +30,21 @@ class LoadSystemCategory extends AbstractTool $system_cate = Category::where('agent_id', 0)->orderBy('pid')->get(); $system_name = $system_cate->pluck('name')->toArray(); + $name2publish_type = $system_cate->pluck('publish_type', 'name')->toArray(); + $own_cate = Category::where('agent_id', Admin::user()->id)->get(); $own_name = $own_cate->pluck('name')->toArray(); $no_name = array_diff($system_name, $own_name); //找到系统有,但自己没有的分类名 $max_id = Category::where('agent_id', Admin::user()->id)->max('id'); - Category::insert(array_map(function ($name) { + Category::insert(array_map(function ($name) use ($name2publish_type) { return [ 'agent_id' => Admin::user()->id, 'name' => $name, 'pid' => 0, 'sort' => 255, + 'publish_type' => $name2publish_type[$name], ]; }, $no_name)); diff --git a/app/AdminAgent/Controllers/AgentProductController.php b/app/AdminAgent/Controllers/AgentProductController.php index 2ff923d..b803bfb 100644 --- a/app/AdminAgent/Controllers/AgentProductController.php +++ b/app/AdminAgent/Controllers/AgentProductController.php @@ -259,6 +259,15 @@ class AgentProductController extends AdminController ->options(array_slice($options, 1, null, true)) ->required(); + $cat2publish_type = json_encode(Category::where('agent_id', $agent_id)->pluck('publish_type', 'id')); + Admin::script(<<isEditing() && in_array($form->model()->status, [ProductStatus::UNAUDITED, ProductStatus::REFUSE])) { $form->display('status')->customFormat(fn($v) => ProductStatus::array()[$form->model()->status]); } else { diff --git a/app/AdminAgent/Controllers/CategoryController.php b/app/AdminAgent/Controllers/CategoryController.php index 4ad033a..5979430 100644 --- a/app/AdminAgent/Controllers/CategoryController.php +++ b/app/AdminAgent/Controllers/CategoryController.php @@ -46,6 +46,7 @@ class CategoryController extends AdminController $grid->column('name'); $grid->column('pid'); $grid->column('sort'); + $grid->column('publish_type')->using(admin_trans('product.options.publish_type')); }); } @@ -68,6 +69,7 @@ class CategoryController extends AdminController $show->field('name'); $show->field('pid'); $show->field('sort'); + $show->field('publish_type')->using(admin_trans('product.options.publish_type')); }); } @@ -91,6 +93,7 @@ class CategoryController extends AdminController $form->select('pid')->options($options)->required(); $form->text('name')->required(); $form->text('sort')->default(255)->help('越小越靠前'); + $form->radio('publish_type')->options(admin_trans('product.options.publish_type'))->required(); })->saving(function (Form $form) { //不允许修改非自己的数据 if ($form->isEditing() && $form->model()->agent_id != Admin::user()->id) { diff --git a/app/AdminSupplier/Controllers/ProductController.php b/app/AdminSupplier/Controllers/ProductController.php index a146276..6a8c752 100644 --- a/app/AdminSupplier/Controllers/ProductController.php +++ b/app/AdminSupplier/Controllers/ProductController.php @@ -148,6 +148,15 @@ class ProductController extends AdminController $options = Category::selectOptions(fn($query) => $query->where('agent_id', 0)); $form->select('category_id')->options(array_slice($options, 1, null, true))->required(); + $cat2publish_type = json_encode(Category::where('agent_id', 0)->pluck('publish_type', 'id')); + Admin::script(<< Admin::user()->id, 'type' => 1])->pluck('name', 'id'); if ($options->isEmpty()) { diff --git a/resources/lang/zh_CN/category.php b/resources/lang/zh_CN/category.php index 43754ed..2535152 100644 --- a/resources/lang/zh_CN/category.php +++ b/resources/lang/zh_CN/category.php @@ -9,7 +9,7 @@ return [ 'pid' => '上级分类', 'name' => '分类名称', 'sort' => '排序', - 'template' => '产品模板', + 'publish_type' => '产品模板', ], 'options' => [ ],