index.php 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146
  1. <?php
  2. use common\models\Goods;
  3. use yii\helpers\Html;
  4. use yii\grid\GridView;
  5. use yii\helpers\Url;
  6. use yii\widgets\Pjax;
  7. /* @var $this yii\web\View */
  8. /* @var $searchModel backend\models\search\GoodsSearch */
  9. /* @var $dataProvider yii\data\ActiveDataProvider */
  10. $this->title = Yii::t('common', 'Goods');
  11. $this->params['breadcrumbs'][] = $this->title;
  12. ?>
  13. <?php $this->beginBlock('content-header') ?>
  14. <?= $this->title . ' ' . Html::a(Yii::t('common', 'Create Goods'), ['create'], ['class' => 'btn btn-success']) ?>
  15. <?= Html::a('批量删除', "javascript:void(0);", ['class' => 'btn btn-danger gridviewdelete', 'data-href' => Url::to(["batch-delete"])]) ?>
  16. <?php $this->endBlock() ?>
  17. <?php echo $this->render('_search', ['model' => $searchModel]); ?>
  18. <div class="box box-success">
  19. <div class="box-body">
  20. <?php Pjax::begin(['id' => 'goodsGridPjax']) ?>
  21. <?= GridView::widget([
  22. 'dataProvider' => $dataProvider,
  23. // 'filterModel' => $searchModel,
  24. 'id' => 'goodsGrid',
  25. 'columns' => [
  26. [
  27. 'class' => 'yii\grid\CheckboxColumn',
  28. 'name' => 'id',
  29. ],//复选框列
  30. 'id',
  31. [
  32. 'attribute' => 'cat_id',
  33. 'value' => function ($model) {
  34. /* @var $model Goods */
  35. if ($model->cat) {
  36. return $model->cat->title;
  37. } else {
  38. return '分类已删除';
  39. }
  40. },
  41. ],
  42. // [
  43. // 'attribute' => 'store_id',
  44. // 'value' => function ($model) {
  45. // /* @var $model Goods */
  46. // return $model->store->name;
  47. // },
  48. // ],
  49. 'name',
  50. 'price',
  51. 'origin_price',
  52. // 'desc',
  53. 'actual_sales',
  54. 'virtual_sales',
  55. 'actual_views',
  56. 'virtual_views',
  57. 'created_at:datetime',
  58. 'updated_at:datetime',
  59. [
  60. 'class' => 'backend\widgets\grid\SwitcherColumn',
  61. 'attribute' => 'status',
  62. 'onVal' => Goods::STATUS_ON, //开启的值
  63. 'offVal' => Goods::STATUS_OFF, //开启的值
  64. ],
  65. ['class' => 'common\helpers\DiyActionColumn',]
  66. /*['class' => 'common\helpers\DiyActionColumn',
  67. 'template' => '{attr} {sku} {view} {update} {delete}',
  68. 'buttons' => [
  69. 'attr' => function ($url, $model, $key) {
  70. return Html::a('添加属性', Url::to(['/goods-attr/create', 'goods_id' => $model->id,'origin'=>Yii::$app->request->url]), [
  71. 'class' => 'btn btn-success btn-xs',
  72. 'title'=>Yii::t('common', 'Create Goods Attr'),
  73. 'target'=>'_blank'
  74. ]);
  75. },
  76. 'sku' => function ($url, $model, $key) {
  77. return Html::a('添加规格', Url::to(['/goods-sku/create', 'goods_id' => $model->id,'origin'=>Yii::$app->request->url]), [
  78. 'class' => 'btn btn-success btn-xs',
  79. 'title'=>Yii::t('common', 'Create Goods Sku'),
  80. // 'data-toggle' => 'tooltip',
  81. 'target'=>'_blank'
  82. ]);
  83. },
  84. 'view' => function ($url, $model, $key) {
  85. return Html::a('查看', Url::to(['/goods/view', 'id' => $model->id]), [
  86. 'class' => 'btn btn-success btn-xs',
  87. 'title'=>$model->name.'商品详情',
  88. 'target'=>'_blank'
  89. ]);
  90. },
  91. ]
  92. ],*/
  93. ],
  94. ]); ?>
  95. <?php Pjax::end() ?>
  96. </div>
  97. </div>
  98. <?php
  99. $js = <<<JS
  100. $(".gridviewdelete").on("click", function () {
  101. let _this = $(this);
  102. $.modal.confirm('您确定要删除吗?', () => {
  103. //表单提交
  104. let keys = $("#goodsGrid").yiiGridView("getSelectedRows");
  105. if(keys.length == 0){
  106. $.modal.error('请选择要删除的数据');
  107. return false;
  108. }
  109. $.modal.loading();
  110. $.post(_this.attr('data-href'), {ids: keys}, (res) => {
  111. if (res.errcode == 0) {
  112. $.modal.notify(res.errmsg, 'success', () => {
  113. //移除行
  114. attrPjax();
  115. });
  116. } else {
  117. $.modal.error(res.errmsg);
  118. }
  119. });
  120. });
  121. });
  122. function attrPjax() {
  123. $.pjax({
  124. url: location.href,
  125. container: '#goodsGridPjax',
  126. timeout: 0
  127. });
  128. }
  129. JS;
  130. $this->registerJs($js);