_index.php 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. <?php
  2. use kartik\grid\GridView;
  3. use yii\helpers\Html;
  4. use yii\helpers\Url;
  5. use yii\widgets\Pjax;
  6. /* @var $goods \common\models\Goods */
  7. /* @var $dataProvider \yii\data\ActiveDataProvider */
  8. ?>
  9. <p>
  10. <?= Html::a(Yii::t('common', 'Create Goods Share Rule'), 'javascript:;', [
  11. 'url' => Url::to([
  12. '/goods-share-rule/create',
  13. 'goods_id' => $goods->id,
  14. ]),
  15. 'class' => 'btn btn-success js-layer-share-rule-link',
  16. 'title' => Yii::t('common', 'Create Goods Share Rule'),
  17. ]) ?>
  18. </p>
  19. <div class="box box-primary">
  20. <div class="box-body">
  21. <?php Pjax::begin(['id' => 'goods-share-rule-list']) ?>
  22. <?= GridView::widget([
  23. 'dataProvider' => $dataProvider,
  24. 'export' => false,
  25. 'options' => ['id' => 'share_rule_list'],
  26. 'columns' => [
  27. [
  28. 'class' => 'kartik\grid\CheckboxColumn',
  29. 'name' => 'id',
  30. ],//复选框列
  31. 'level',
  32. 'rate',
  33. // 'created_at:datetime',
  34. // 'updated_at:datetime',
  35. [
  36. 'class' => 'common\helpers\DiyActionColumn',
  37. 'template' => '{update} {delete}',
  38. 'buttons' => [
  39. 'update' => function ($url, $model, $key) {
  40. return Html::a(Yii::t('yii', 'Update'), 'javascript:;', [
  41. 'url' => Url::to(['/goods-share-rule/update', 'id' => $model->id]),
  42. 'class' => 'btn btn-success btn-xs js-layer-share-rule-link',
  43. 'title' => Yii::t('common', 'Update Goods Share Rule'),
  44. ]);
  45. },
  46. 'delete' => function ($url, $model, $key) {
  47. return Html::a('删除', 'javascript:;', [
  48. 'url' => Url::to(['/goods-share-rule/delete', 'id' => $model->id]),
  49. 'class' => 'btn btn-success btn-xs js-share-rule-del',
  50. 'title' => Yii::t('common', '删除商品分润'),
  51. ]);
  52. },
  53. ],
  54. ],
  55. ],
  56. ]); ?>
  57. <?php Pjax::end() ?>
  58. </div>
  59. </div>
  60. <?php
  61. $js = <<<JS
  62. //layer弹窗
  63. $(document).on('click', '.js-layer-share-rule-link',function() {
  64. let _this = $(this);
  65. layer.open({
  66. type: 2,
  67. title: _this.goods-rule('title'),
  68. shadeClose: true,
  69. shade: 0.8,
  70. area: ['600px', '450px'],
  71. content: _this.attr('url'),
  72. end: function() {
  73. //关闭弹窗,刷新数据
  74. attrPjax();
  75. }
  76. });
  77. });
  78. $(document).on('click', '.js-share-rule-del', function(e) {
  79. e.preventDefault();
  80. let link = $(this);
  81. $.modal.confirm('确定删除“' + link.parents('tr').find('td:eq(1)').text() + '”吗?', () => {
  82. //表单提交
  83. $.post(link.attr('url'), {}, (res) => {
  84. if (res.errcode == 0) {
  85. $.modal.notify(res.errmsg, 'success', () => {
  86. //移除行
  87. // link.parents('tr').slideUp().remove();
  88. attrPjax();
  89. });
  90. } else {
  91. $.modal.error(res.errmsg);
  92. }
  93. });
  94. });
  95. });
  96. function attrPjax() {
  97. location.hash = '#share-rule';
  98. $.pjax({
  99. url: location.href,
  100. container: '#goods-share-rule-list',
  101. timeout: 0
  102. });
  103. }
  104. JS;
  105. $this->registerJs($js);
  106. ?>