adzon/laravel-gantt

Laravel 包,用于在甘特图中显示项目。

1.1 2017-05-06 15:22 UTC

This package is auto-updated.

Last update: 2024-09-24 18:15:28 UTC


README

License

用于在甘特图中显示项目的 Laravel 5.x 包(改编自 bastianallgeier/gantti)。

Screenshot

安装

使用 composer 安装此包

composer require swatkins/laravel-gantt

更新 composer 后,将 ServiceProvider 添加到 config/app.php 中的 providers 数组

Swatkins\LaravelGantt\GanttServiceProvider::class,

使用发布命令将包的 CSS 文件复制到您的本地 CSS

php artisan vendor:publish --tag="gantt"

用法

在甘特图中显示的模型至少需要具有 labelstartend 属性。

  • label 是显示项目的字符串
  • start 是日期或日期时间(需要以 YYYY-MM-DD 格式传递)
  • end 是日期或日期时间(需要以 YYYY-MM-DD 格式传递)
/**
 *  You'll pass data as an array in this format:
    $test_array = [
                      [
                        'label' => 'The item title',
                          'date' => [
                             [
                                 'start' => '2016-10-08',
                                 'end'   => '2016-10-14',
                                 'class' => '',
                             ],
                             [
                                 'start' => '2016-10-16',
                                 'end'   => '2016-10-19',
                                 'class' => '',
                             ]
                         ]
 
                     ]
                 ];
 */
 
$gantt = new Swatkins\LaravelGantt\Gantt($test_array, array(
    'title'      => 'Demo',
    'cellwidth'  => 25,
    'cellheight' => 35
));

return view('gantt')->with([ 'gantt' => $gantt ]);

在视图中显示

在视图中添加 gantt.css 文件

<link href="/vendor/swatkins/gantt/css/gantt.css" rel="stylesheet" type="text/css">

然后输出甘特图 HTML

{!! $gantt !!}

模型工厂

这里是一个用于创建项目测试数据的工厂。您可以将此粘贴到 database/factories/ModelFactory.php 文件中,然后通过 tinker 运行。请参阅 https://laravel.net.cn/docs/5.2/seeding#using-model-factories

$factory->define(App\Project::class, function (Faker\Generator $faker) {
    return [
        'title' => $faker->sentence(),
        'start' => $faker->dateTimeBetween('-30 days'),
        'end' => $faker->dateTimeBetween('now', '+30 days')
    ];
});

归属

此代码改编自 https://github.com/bastianallgeier/gantti

许可证

MIT 许可证 - https://open-source.org.cn/licenses/mit-license.php