index.php 8.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188
  1. <?php
  2. use yii\widgets\LinkPager;
  3. use yii\widgets\ActiveForm;
  4. use common\helpers\Url;
  5. use common\enums\StatusEnum;
  6. use common\helpers\Html;
  7. use addons\Wechat\common\enums\RuleKeywordTypeEnum;
  8. $this->title = '自动回复';
  9. $this->params['breadcrumbs'][] = ['label' => $this->title];
  10. ?>
  11. <style>
  12. .panel-default {
  13. border-color: #ddd;
  14. }
  15. .panel {
  16. margin-bottom: 20px;
  17. background-color: #fff;
  18. border: 1px solid transparent;
  19. border-radius: 4px;
  20. -webkit-box-shadow: 0 1px 1px rgba(0,0,0,.05);
  21. box-shadow: 0 1px 1px rgba(0,0,0,.05);
  22. }
  23. .panel-default > .panel-heading {
  24. color: #333;
  25. background-color: #f5f5f5;
  26. border-color: #ddd;
  27. }
  28. .panel-heading {
  29. padding: 10px 15px;
  30. border-bottom: 1px solid transparent;
  31. border-bottom-color: transparent;
  32. border-top-left-radius: 3px;
  33. border-top-right-radius: 3px;
  34. }
  35. .collapse.in {
  36. display: block;
  37. }
  38. .collapse {
  39. display: none;
  40. }
  41. .panel-default > .panel-heading + .panel-collapse > .panel-body {
  42. border-top-color: #ddd;
  43. }
  44. .panel-body {
  45. padding: 15px;
  46. }
  47. .panel-default {
  48. border-color: #e4eaec;
  49. }
  50. .panel {
  51. border: 1px solid #e4eaec;
  52. border-top-color: rgb(228, 234, 236);
  53. border-right-color: rgb(228, 234, 236);
  54. border-bottom-color: rgb(228, 234, 236);
  55. border-left-color: rgb(228, 234, 236);
  56. }
  57. </style>
  58. <div class="row">
  59. <div class="col-sm-12">
  60. <div class="nav-tabs-custom">
  61. <ul class="nav nav-tabs">
  62. <li class="active"><a href="<?= Url::to(['rule/index']); ?>"> 关键字自动回复</a></li>
  63. <li><a href="<?= Url::to(['setting/special-message']); ?>"> 非文字自动回复</a></li>
  64. <li><a href="<?= Url::to(['reply-default/index']); ?>"> 关注/默认回复</a></li>
  65. <li class="pull-right">
  66. <?= Html::a('<i class="icon ion-plus"></i> 创建', ['edit'], [
  67. 'class' => 'btn btn-primary btn-xs'
  68. ])?>
  69. </li>
  70. </ul>
  71. <div class="tab-content">
  72. <div class="active tab-pane">
  73. <div class="row">
  74. <div class="col-lg-8">
  75. <div class="btn-group">
  76. <a class="btn <?= !$module ? 'btn-primary': 'btn-white'; ?>" href="<?= Url::to(['index']); ?>">全部</a>
  77. <?php foreach ($modules as $key => $mo){ ?>
  78. <a class="btn <?= $module == $key ? 'btn-primary': 'btn-white' ;?>" href="<?= Url::to(['index','module' => $key])?>"><?= $mo?></a>
  79. <?php } ?>
  80. </div>
  81. </div>
  82. <div class="col-sm-4">
  83. <?php $form = ActiveForm::begin([
  84. 'action' => Url::to(['index']),
  85. 'method' => 'get'
  86. ]); ?>
  87. <div class="input-group m-b">
  88. <?= Html::textInput('keyword', $keyword, [
  89. 'placeholder' => '请输入规则',
  90. 'class' => 'form-control'
  91. ])?>
  92. <?= Html::tag('span', '<button class="btn btn-white"><i class="fa fa-search"></i> 搜索</button>', ['class' => 'input-group-btn'])?>
  93. </div>
  94. <?php ActiveForm::end(); ?>
  95. </div>
  96. </div>
  97. <div class="hr-line-dashed"></div>
  98. <?php foreach($models as $model){ ?>
  99. <div class="panel panel-default">
  100. <div class="panel-heading">
  101. <span class="collapsed"><?= $model->name ?></span>
  102. <span class="float-right" id="<?= $model->id ?>">
  103. <span class="label label-info">优先级:<?= $model->sort; ?></span>
  104. <?php if(Yii::$app->wechatService->ruleKeyword->verifyTake($model->ruleKeyword)){ ?>
  105. <span class="label label-info">直接接管</span>
  106. <?php } ?>
  107. <?php if($model->status == StatusEnum::ENABLED){ ?>
  108. <span class="label label-info pointer" onclick="statusRule(this)">已启用</span>
  109. <?php }else{ ?>
  110. <span class="label label-danger pointer" onclick="statusRule(this)">已禁用</span>
  111. <?php } ?>
  112. </span>
  113. </div>
  114. <div id="collapseOne" class="panel-collapse collapse in" aria-expanded="true" style="">
  115. <div class="panel-body">
  116. <div class="row">
  117. <div class="col-lg-9 tooltip-demo">
  118. <?php if($model->ruleKeyword){ ?>
  119. <?php foreach($model->ruleKeyword as $rule){
  120. if($rule->type != RuleKeywordTypeEnum::TAKE){ ?>
  121. <span class="label label-default" data-toggle="tooltip" data-placement="bottom" title="<?= RuleKeywordTypeEnum::getValue($rule->type); ?>"><?= $rule->content?></span>
  122. <?php }
  123. }
  124. } ?>
  125. </div>
  126. <div class="col-lg-3">
  127. <div class="btn-group float-right">
  128. <?= Html::linkButton(['edit', 'id' => $model->id, 'module' => $model->module], '<i class="fa fa-edit"></i> 编辑')?>
  129. <?= Html::delete(['delete', 'id' => $model->id], '<i class="fa fa-times"></i> 删除', [
  130. 'class' => 'btn btn-white btn-sm'
  131. ])?>
  132. <!-- <a class="btn btn-white btn-sm" href="#"><i class="fa fa-bar-chart-o"></i> 使用率走势</a>-->
  133. </div>
  134. </div>
  135. </div>
  136. </div>
  137. </div>
  138. </div>
  139. <?php } ?>
  140. <div class="row">
  141. <div class="col-sm-12">
  142. <?= LinkPager::widget([
  143. 'pagination' => $pages,
  144. ]);?>
  145. </div>
  146. </div>
  147. </div>
  148. </div>
  149. </div>
  150. </div>
  151. </div>
  152. <script>
  153. // status => 1:启用;-1禁用;
  154. function statusRule(obj){
  155. var id = $(obj).parent().attr('id');
  156. var self = $(obj);
  157. var status = self.hasClass("label-danger") ? 1 : 0;
  158. $.ajax({
  159. type:"get",
  160. url:"<?= Url::to(['ajax-update'])?>",
  161. dataType: "json",
  162. data: {id:id,status:status},
  163. success: function(data){
  164. if(data.code == 200) {
  165. if(self.hasClass("label-danger")){
  166. self.removeClass("label-danger").addClass("label-info");
  167. self.text('已启用');
  168. } else {
  169. self.removeClass("label-info").addClass("label-danger");
  170. self.text('已禁用');
  171. }
  172. }else{
  173. alert(data.message);
  174. }
  175. }
  176. });
  177. }
  178. </script>
粤ICP备19079148号