feekback.php 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: Administrator
  5. * Date: 2017/3/17 0017
  6. * Time: 上午 10:52
  7. */
  8. use yii\helpers\Url;
  9. use yii\widgets\LinkPager;
  10. ?>
  11. <div class="row">
  12. <div class="col-sm-12">
  13. <div class="ibox float-e-margins">
  14. <div class="ibox-content">
  15. <div class="row">
  16. <div class="col-sm-5 m-b-xs">
  17. </div>
  18. <!-- <div class="col-sm-3">-->
  19. <!-- <div class="input-group">-->
  20. <!-- <input type="text" placeholder="请输入关键词" class="input-sm form-control"> <span class="input-group-btn">-->
  21. <!-- <button type="button" class="btn btn-sm btn-primary"> 搜索</button> </span>-->
  22. <!-- </div>-->
  23. <!-- </div>-->
  24. </div>
  25. <div class="table-responsive">
  26. <table class="table table-striped">
  27. <thead>
  28. <tr>
  29. <th>id</th>
  30. <th>反馈人</th>
  31. <th>反馈类型</th>
  32. <!-- <th>反馈类型</th>-->
  33. <th>描述</th>
  34. <th>联系方式</th>
  35. <th>反馈时间</th>
  36. <th>处理人</th>
  37. <th>操作</th>
  38. </tr>
  39. </thead>
  40. <tbody>
  41. <form id="checkForm" method="post">
  42. <?php if(!empty($datas)):?>
  43. <?php $i=1; foreach($datas as $data1):?>
  44. <tr class="black_<?=$data1->id?>">
  45. <td><?=$i;$i++?></td>
  46. <td>
  47. <?php if(!empty( $data1->userInfo)):?>
  48. <?php $data = $data1->userInfo;?>
  49. <?=isset($data->username)?$data->username:''?>
  50. <?php endif?>
  51. </td>
  52. <td>
  53. <?php if($data1->type==\common\models\Feedback::TYPE_CLIENT){?>
  54. 客户
  55. <?php }elseif($data1->type==\common\models\Feedback::TYPE_COMPANY){?>
  56. 公司
  57. <?php }?>
  58. </td>
  59. <td><a class="suggestion"><input type="hidden" class="answer-val" value="<?=$data1->content?>">点击查看意见</a></td>
  60. <td><?=$data1->contact?></td>
  61. <td><?=date('Y-m-d H:i',$data1->updated_at)?></td>
  62. <td class="admin">
  63. <?= !empty( $data1->author)?$data1->author:"" ?>
  64. </td>
  65. <td>
  66. <input type="hidden" class="deal_with_val" value="<?=$data1->remark?>">
  67. <a class="btn btn-sm btn-primary deal_with"data="<?= $data1->id?>">
  68. <?php if($data1->state==\common\models\Feedback::STATE_WAIT){?>
  69. 回复
  70. <?php }elseif($data1->state==\common\models\Feedback::STATE_DEAL){?>
  71. 已回复
  72. <?php }?>
  73. </a>
  74. <a class="btn btn-sm btn-danger del_advert"data="<?= $data1->id?>">删除</a>
  75. </td>
  76. </tr>
  77. <?php endforeach;?>
  78. <?php endif?>
  79. <input type="hidden" name="_csrf-backend" value="<?=Yii::$app->request->csrfToken;?>" />
  80. <!-- <input type="hidden" value="" name="key" class="shelves-key">-->
  81. </form>
  82. </tbody>
  83. </table>
  84. </div>
  85. <!-- --><?//= LinkPager::widget(['pagination' => $pages]); ?>
  86. </div>
  87. </div>
  88. <?= LinkPager::widget(['pagination' => $pages]); ?>
  89. </div>
  90. </div>
  91. <script>
  92. $('.table-responsive').on('click','.del_advert',function(){
  93. var id = $(this).attr('data');
  94. var text = $(this);
  95. swal({
  96. title: "确定删除该意见吗?",
  97. type: "warning",
  98. showCancelButton: true,
  99. confirmButtonColor: "#DD6B55",
  100. confirmButtonText: "确定",
  101. cancelButtonText: "取消",
  102. closeOnConfirm: true,
  103. closeOnCancel: true },
  104. function(isConfirm){
  105. if (isConfirm) {
  106. $.ajax({
  107. url:'<?=Url::toRoute(['feekback/del_feekback']);?>',
  108. type:'POST',
  109. dataType:'json',
  110. data:{id:id,'_csrf-backend':'<?=Yii::$app->request->csrfToken;?>'},
  111. success:function(data){
  112. if(data.sign==1){
  113. text.parents('tr').remove();
  114. }else{
  115. swal("", data.msg, "error");
  116. }
  117. }
  118. })
  119. }
  120. });
  121. })
  122. $(".suggestion").click(function(){
  123. var suggestion = $(this).find('.answer-val').val();
  124. parent.layer.open({//layer弹窗插件语法
  125. title: '意见描述',//标题
  126. anim: 1 ,//动画类型有0-6,不想显示动画,设置 anim: -1
  127. scrollbar: false,//默认允许浏览器滚动,如果设定scrollbar: false,则屏蔽
  128. area: ['500px', '300px'],//自定义宽高
  129. content: '<textarea class="content" rows="6" cols="62">'+suggestion+'</textarea>',//自定义内容
  130. shade: [0.8, '#393D49'],//默认是0.3透明度的黑色背景('#000'),不想显示遮罩shade: 0
  131. shadeClose:true,//控制点击弹层外区域关闭
  132. // btn: ['确认'],//自定义按钮,默认第一个为确定按钮
  133. btnAlign: 'c',//按钮显示方式 'l' 按钮左对齐 'c' 按钮居中对齐 'r' 按钮右对齐(默认)
  134. btn1:function(index, content){
  135. }
  136. });
  137. });
  138. $(".deal_with").click(function(){
  139. var id = $(this).attr('data');
  140. var deal_with_val = $(this).parents('tr').find('.deal_with_val').val();
  141. var text = $.trim($(this).text());
  142. // var contact = $(this).parents('tr').find('.contact').text();
  143. parent.layer.open({//layer弹窗插件语法
  144. title: '回复',//标题
  145. anim: 1 ,//动画类型有0-6,不想显示动画,设置 anim: -1
  146. scrollbar: false,//默认允许浏览器滚动,如果设定scrollbar: false,则屏蔽
  147. area: ['500px', '300px'],//自定义宽高
  148. content: '<textarea id="remark" rows="6" cols="62">'+deal_with_val+'</textarea>',//自定义内容
  149. shade: [0.8, '#393D49'],//默认是0.3透明度的黑色背景('#000'),不想显示遮罩shade: 0
  150. shadeClose:true,//控制点击弹层外区域关闭
  151. btn: ['确认'],//自定义按钮,默认第一个为确定按钮
  152. btnAlign: 'c',//按钮显示方式 'l' 按钮左对齐 'c' 按钮居中对齐 'r' 按钮右对齐(默认)
  153. btn1:function(index, content){
  154. var reply = content.find('#remark').val();
  155. if(text=='回复'){
  156. $.ajax({
  157. url:'<?=Url::toRoute(['feekback/deal_with']);?>',
  158. data: {'_csrf-backend':'<?=Yii::$app->request->csrfToken;?>',
  159. id:id,
  160. reply:reply
  161. },
  162. type: "post",
  163. contentType: "application/x-www-form-urlencoded;charset=UTF-8",
  164. timeout: 5000,
  165. dataType:'json',
  166. success: function fun(data){
  167. if(data.sign==1){
  168. $('.black_'+id+' .admin').html(data.user)
  169. $('.black_'+id+' .deal_with').text('已回复')
  170. $('.black_'+id+' .deal_with_val').val(reply)
  171. }else{
  172. alert(data.msg)
  173. }
  174. }
  175. });
  176. }else if(text=='已回复'){
  177. swal({
  178. title: "改意见反馈已回复,确定再次发送消息给用户吗?",
  179. type: "warning",
  180. showCancelButton: true,
  181. confirmButtonColor: "#DD6B55",
  182. confirmButtonText: "确定",
  183. cancelButtonText: "取消",
  184. closeOnConfirm: true,
  185. closeOnCancel: true },
  186. function(isConfirm){
  187. if (isConfirm) {
  188. $.ajax({
  189. url:'<?=Url::toRoute(['feekback/deal_with']);?>',
  190. data: {'_csrf-backend':'<?=Yii::$app->request->csrfToken;?>',
  191. id:id,
  192. reply:reply
  193. },
  194. type: "post",
  195. contentType: "application/x-www-form-urlencoded;charset=UTF-8",
  196. timeout: 5000,
  197. dataType:'json',
  198. success: function fun(data){
  199. if(data.sign==1){
  200. $('.black_'+id+' .admin').html(data.user)
  201. $('.black_'+id+' .deal_with').text('已回复')
  202. $('.black_'+id+' .deal_with_val').val(reply)
  203. alert('回复成功')
  204. }else{
  205. alert(data.msg)
  206. }
  207. }
  208. });
  209. }
  210. });
  211. }
  212. }
  213. });
  214. });
  215. </script>