Inspection.php 7.0 KB
<?php

namespace addons\inspection;

use app\common\library\Menu;
use think\Addons;

/**
 * 插件
 */
class Inspection extends Addons
{

    /**
     * 插件安装方法
     * @return bool
     */
    public function install()
    {
        $menu = [
            [
                'name'    => 'inspection',
                'title'   => '设备巡检',
                'icon'    => 'fa fa-font-awesome',
                'sublist' => [
                    [
                        "name"    => "inspection/depart",
                        "title"   => "部门管理",
                        'icon'    => 'fa fa-users',
                        'sublist' => [
                            ["name" => "inspection/depart/index", "title" => "查看",],
                            ["name" => "inspection/depart/add", "title" => "添加"],
                            ["name" => "inspection/depart/edit", "title" => "编辑"],
                            ["name" => "inspection/depart/del", "title" => "删除"],
                            ["name" => "inspection/depart/multi", "title" => "批量更新"],
                        ]
                    ],
                    [
                        "name"    => "inspection/staff",
                        "title"   => "员工管理",
                        'icon'    => 'fa fa-user',
                        'sublist' => [
                            ["name" => "inspection/staff/index", "title" => "查看",],
                            ["name" => "inspection/staff/add", "title" => "添加"],
                            ["name" => "inspection/staff/edit", "title" => "编辑"],
                            ["name" => "inspection/staff/del", "title" => "删除"],
                            ["name" => "inspection/staff/multi", "title" => "批量更新"],
                        ]
                    ],
                    [
                        "name"    => "inspection/area",
                        "title"   => "巡检区域管理",
                        'icon'    => 'fa fa-braille',
                        'sublist' => [
                            ["name" => "inspection/area/index", "title" => "查看",],
                            ["name" => "inspection/area/add", "title" => "添加"],
                            ["name" => "inspection/area/edit", "title" => "编辑"],
                            ["name" => "inspection/area/del", "title" => "删除"],
                            ["name" => "inspection/area/multi", "title" => "批量更新"],
                        ]
                    ],
                    [
                        "name"    => "inspection/areasite",
                        "title"   => "巡检点管理",
                        'icon'    => 'fa fa-anchor',
                        'sublist' => [
                            ["name" => "inspection/areasite/index", "title" => "查看",],
                            ["name" => "inspection/areasite/add", "title" => "添加"],
                            ["name" => "inspection/areasite/edit", "title" => "编辑"],
                            ["name" => "inspection/areasite/del", "title" => "删除"],
                            ["name" => "inspection/areasite/multi", "title" => "批量更新"],
                        ]
                    ],
                    [
                        "name"    => "inspection/areaitem",
                        "title"   => "检查项管理",
                        'ismenu'  => 0,
                        'sublist' => [
                            ["name" => "inspection/areaitem/index", "title" => "查看",],
                            ["name" => "inspection/areaitem/add", "title" => "添加"],
                            ["name" => "inspection/areaitem/edit", "title" => "编辑"],
                            ["name" => "inspection/areaitem/del", "title" => "删除"],
                            ["name" => "inspection/areaitem/multi", "title" => "批量更新"],
                        ]
                    ],
                    [
                        "name"    => "inspection/route",
                        "title"   => "巡检路线管理",
                        'icon'    => 'fa fa-map',
                        'sublist' => [
                            ["name" => "inspection/route/index", "title" => "查看",],
                            ["name" => "inspection/route/add", "title" => "添加"],
                            ["name" => "inspection/route/edit", "title" => "编辑"],
                            ["name" => "inspection/route/del", "title" => "删除"],
                            ["name" => "inspection/route/multi", "title" => "批量更新"],
                        ]
                    ],
                    [
                        "name"    => "inspection/plan",
                        "title"   => "巡检计划管理",
                        'icon'    => 'fa fa-gg',
                        'sublist' => [
                            ["name" => "inspection/plan/index", "title" => "查看",],
                            ["name" => "inspection/plan/add", "title" => "添加"],
                            ["name" => "inspection/plan/edit", "title" => "编辑"],
                            ["name" => "inspection/plan/del", "title" => "删除"],
                            ["name" => "inspection/plan/multi", "title" => "批量更新"],
                        ]
                    ],[
                        "name"    => "inspection/project",
                        "title"   => "巡检任务管理",
                        'icon'    => 'fa fa-bookmark',
                        'sublist' => [
                            ["name" => "inspection/project/index", "title" => "查看",],
                            ["name" => "inspection/project/add", "title" => "添加"],
                            ["name" => "inspection/project/edit", "title" => "编辑"],
                            ["name" => "inspection/project/del", "title" => "删除"],
                            ["name" => "inspection/project/multi", "title" => "批量更新"],
                        ]
                    ],
                ]
            ]
        ];
        Menu::create($menu);
        return true;
    }

    /**
     * 插件卸载方法
     * @return bool
     */
    public function uninstall()
    {
        Menu::delete("inspection");
        return true;
    }

    /**
     * 插件启用方法
     * @return bool
     */
    public function enable()
    {
        Menu::enable("inspection");
        return true;
    }

    /**
     * 插件禁用方法
     * @return bool
     */
    public function disable()
    {
        Menu::disable("inspection");
        return true;
    }

    public function appInit()
    {
        if(request()->isCli()){

            //生成巡检任务
            \think\Console::addDefaultCommands([
                'addons\inspection\library\GenerateProject'
            ]);

            //取消巡检任务
            \think\Console::addDefaultCommands([
                'addons\inspection\library\CancelProject'
            ]);
        }

    }

}