index.php 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135
  1. <?php
  2. use common\helpers\Url;
  3. use common\helpers\Html;
  4. use yii\grid\GridView;
  5. use addons\Wechat\common\enums\QrcodeModelTypeEnum;
  6. $this->title = '二维码管理';
  7. $this->params['breadcrumbs'][] = ['label' => $this->title];
  8. ?>
  9. <div class="row">
  10. <div class="col-sm-12">
  11. <div class="nav-tabs-custom">
  12. <ul class="nav nav-tabs">
  13. <li class="active"><a href="<?= Url::to(['index'])?>"> 二维码管理</a></li>
  14. <li><a href="<?= Url::to(['qrcode-stat/index'])?>"> 扫描统计</a></li>
  15. <li class="pull-right">
  16. <?= Html::create(['ajax-edit'], '创建', [
  17. 'data-toggle' => 'modal',
  18. 'data-target' => '#ajaxModal',
  19. ])?>
  20. </li>
  21. </ul>
  22. <div class="tab-content">
  23. <div class="active tab-pane">
  24. <?= GridView::widget([
  25. 'dataProvider' => $dataProvider,
  26. 'filterModel' => $searchModel,
  27. //重新定义分页样式
  28. 'tableOptions' => [
  29. 'class' => 'table table-hover rf-table',
  30. 'fixedNumber' => 1,
  31. 'fixedRightNumber' => 1,
  32. ],
  33. 'columns' => [
  34. [
  35. 'class' => 'yii\grid\SerialColumn',
  36. ],
  37. [
  38. 'label'=> '二维码',
  39. 'value' => function ($model) {
  40. return '<a href="https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket=' . $model->ticket . '" data-fancybox="gallery">
  41. <img src="' . Url::to(['qr', 'shortUrl' => Yii::$app->request->hostInfo]) . '" alt="" width="45">
  42. </a>';
  43. },
  44. 'format' => 'raw'
  45. ],
  46. 'name',
  47. [
  48. 'attribute' => 'keyword',
  49. 'value' => function ($model) {
  50. return Html::a($model->keyword, ['qrcode-stat/index', 'keyword' => $model->name]);
  51. },
  52. 'format' => 'raw',
  53. 'headerOptions' => ['class' => 'col-md-1'],
  54. ],
  55. [
  56. 'attribute' => 'model_type',
  57. 'filter' => Html::activeDropDownList($searchModel, 'model_type', QrcodeModelTypeEnum::getMap(), [
  58. 'prompt' => '全部',
  59. 'class' => 'form-control'
  60. ]
  61. ),
  62. 'value' => function ($model) {
  63. return QrcodeModelTypeEnum::getValue($model->model_type);
  64. },
  65. 'format' => 'raw',
  66. 'headerOptions' => ['class' => 'col-md-1'],
  67. ],
  68. [
  69. 'label'=> '场景ID/场景字符串',
  70. 'value' => function ($model) {
  71. return $model->model_type == QrcodeModelTypeEnum::TEM ? $model->scene_id : $model->scene_str;
  72. },
  73. 'format' => 'raw'
  74. ],
  75. [
  76. 'label'=> '有效期',
  77. 'value' => function ($model) {
  78. $str = [];
  79. $str[] = '开始: ' . Yii::$app->formatter->asDatetime($model->created_at);
  80. if ($model->model_type == QrcodeModelTypeEnum::TEM) {
  81. $str[] = '结束: ' . Yii::$app->formatter->asDatetime($model->end_time);
  82. } else {
  83. $str[] = '<span class="green">永不</span>';
  84. }
  85. if ($model->model_type == QrcodeModelTypeEnum::TEM) {
  86. $str[] = $model->end_time < time() ? "<span class='red'>已过期</span>" : "未过期";
  87. }
  88. return implode('<br>', $str);
  89. },
  90. 'format' => 'raw'
  91. ],
  92. [
  93. 'header' => "操作",
  94. 'class' => 'yii\grid\ActionColumn',
  95. 'template' => '{down} {edit} {delete}',
  96. 'buttons' => [
  97. 'down' => function ($url, $model, $key) {
  98. return Html::linkButton(['down', 'id' => $model->id], '下载');
  99. },
  100. 'edit' => function ($url, $model, $key) {
  101. return Html::edit(['ajax-edit', 'id' => $model->id], '编辑', [
  102. 'data-toggle' => 'modal',
  103. 'data-target' => '#ajaxModal',
  104. ]);
  105. },
  106. 'delete' => function ($url, $model, $key) {
  107. if ($model->model_type == QrcodeModelTypeEnum::PERPETUAL) {
  108. return Html::delete(['delete', 'id' => $model->id]);
  109. }
  110. return '';
  111. },
  112. ],
  113. ],
  114. ],
  115. ]); ?>
  116. <div class="col-12">
  117. <?= Html::linkButton(['delete-all'], '删除过期二维码', [
  118. 'class' => 'btn btn-warning btn-sm'
  119. ]); ?>
  120. <span>
  121. 注意:永久二维码无法在微信平台删除,但是您可以点击
  122. <a href="javascript:void(0);" class="color-default">【删除】</a>来删除本地数据。
  123. </span>
  124. </div>
  125. </div>
  126. </div>
  127. </div>
  128. </div>
  129. </div>
粤ICP备19079148号