index.php 4.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. <?php
  2. use yii\grid\GridView;
  3. use yii\helpers\Html;
  4. /* @var $this yii\web\View */
  5. /* @var $dataProvider yii\data\ArrayDataProvider */
  6. $this->title = '模块';
  7. $this->params['breadcrumbs'][] = $this->title;
  8. ?>
  9. <div class="module-index">
  10. <div class="box box-success">
  11. <div class="box-body">
  12. <?= GridView::widget([
  13. 'dataProvider' => $dataProvider,
  14. 'columns' => [
  15. 'package:text:ID',
  16. 'name:text:名字',
  17. 'version:text:版本',
  18. 'author:text:作者',
  19. 'open:boolean:是否启用',
  20. 'isCore:boolean:是否核心',
  21. [
  22. 'class' => 'common\helpers\DiyActionColumn',
  23. 'template' => '{open} {close} {install} {uninstall} {config}',
  24. 'buttons' => [
  25. 'open' => function($url, $model, $key) {
  26. if (!$model->install) {
  27. return false;
  28. }
  29. if ($model->open) {
  30. return false;
  31. }
  32. return Html::a('开启', ['open'], [
  33. 'data-method' => 'post',
  34. 'data-params' => ['id' => $model->package],
  35. 'class' => 'btn btn-default btn-xs'
  36. ]);
  37. },
  38. 'close' => function($url, $model, $key) {
  39. if ($model->isCore) {
  40. return false;
  41. }
  42. if (!$model->install) {
  43. return false;
  44. }
  45. if (!$model->open) {
  46. return false;
  47. }
  48. return Html::a('关闭', ['close'], [
  49. 'data-method' => 'post',
  50. 'data-params' => ['id' => $model->package],
  51. 'class' => 'btn btn-default btn-xs'
  52. ]);
  53. },
  54. 'install' => function($url, $model, $key) {
  55. if ($model->install) {
  56. return false;
  57. }
  58. return Html::a('安装', ['install'], [
  59. 'data-method' => 'post',
  60. 'data-params' => ['id' => $model->package],
  61. 'class' => 'btn btn-default btn-xs'
  62. ]);
  63. },
  64. 'uninstall' => function($url, $model, $key) {
  65. if ($model->isCore) {
  66. return false;
  67. }
  68. if (!$model->install) {
  69. return false;
  70. }
  71. return Html::a('卸载', ['uninstall'], [
  72. 'data-method' => 'post',
  73. 'data-confirm' => '确定要卸载该插件吗?',
  74. 'data-params' => ['id' => $model->package],
  75. 'class' => 'btn btn-default btn-xs'
  76. ]);
  77. },
  78. 'config' => function($url, $model, $key) {
  79. if (!$model->install || empty($model->config)) {
  80. return false;
  81. }
  82. return Html::a('配置', ['config', 'id' => $model->package], ['class' => 'btn btn-default btn-xs']);
  83. }
  84. ]
  85. ],
  86. ],
  87. ]); ?>
  88. </div>
  89. </div>
  90. </div>