send-message.php 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150
  1. <?php
  2. use common\helpers\Url;
  3. use common\helpers\Html;
  4. use yii\widgets\ActiveForm;
  5. use common\helpers\ImageHelper;
  6. use addons\Wechat\merchant\widgets\selector\Select;
  7. $form = ActiveForm::begin([
  8. 'id' => 'sendMessage'
  9. ]);
  10. ?>
  11. <div class="modal-header">
  12. <h4 class="modal-title">发送消息</h4>
  13. <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
  14. </div>
  15. <div class="modal-body">
  16. <div class="col-md-12">
  17. <table class="table text-center">
  18. <tbody>
  19. <tr>
  20. <td rowspan="2">
  21. <?= Html::img(ImageHelper::defaultHeaderPortrait(Html::encode($model->auth->head_portrait ?? '')),
  22. [
  23. 'class' => 'img-circle rf-img-md elevation-1',
  24. ])?>
  25. </td>
  26. <td><?= Html::encode($model->auth->nickname ?? '') ?></td>
  27. </tr>
  28. <tr>
  29. <td><?= Html::encode($model['openid']) ?></td>
  30. </tr>
  31. </tbody>
  32. </table>
  33. </div>
  34. <div class="row">
  35. <div class="col-sm-12">
  36. <div class="card card-primary card-outline card-outline-tabs">
  37. <div class="card-header border-bottom-0">
  38. <ul class="nav nav-tabs" id="custom-tabs-four-tab" role="tablist">
  39. <li class="nav-item"><a class="nav-link text active" data-toggle="pill" href="#custom-1" onclick="setType('text')">内容</a></li>
  40. <li class="nav-item"><a class="nav-link image" data-toggle="pill" href="#custom-2" onclick="setType('image')">图片</a></li>
  41. <li class="nav-item"><a class="nav-link news" data-toggle="pill" href="#custom-3" onclick="setType('news')">图文</a></li>
  42. <li class="nav-item"><a class="nav-link video" data-toggle="pill" href="#custom-4" onclick="setType('video')">视频</a></li>
  43. <li class="nav-item"><a class="nav-link voice" data-toggle="pill" href="#custom-5" onclick="setType('voice')">语音</a></li>
  44. </ul>
  45. </div>
  46. <div class="card-body">
  47. <div class="tab-content">
  48. <div class="tab-pane fade active show" id="custom-1">
  49. <?= Html::textarea('content', '', [
  50. 'class' => 'form-control',
  51. 'id' => 'text',
  52. ]) ?>
  53. </div>
  54. <div class="tab-pane fade" id="custom-2">
  55. <?= Select::widget([
  56. 'name' => 'image',
  57. 'type' => 'image',
  58. ]) ?>
  59. </div>
  60. <div class="tab-pane fade" id="custom-3">
  61. <?= Select::widget([
  62. 'name' => 'news',
  63. 'type' => 'news',
  64. ]) ?>
  65. </div>
  66. <div class="tab-pane fade" id="custom-4">
  67. <?= Select::widget([
  68. 'name' => 'video',
  69. 'type' => 'video',
  70. ]) ?>
  71. </div>
  72. <div class="tab-pane fade" id="custom-5">
  73. <?= Select::widget([
  74. 'name' => 'voice',
  75. 'type' => 'voice',
  76. ]) ?>
  77. </div>
  78. <div class="col-sm-12">注意:三天内有互动的才可发送消息</div>
  79. </div>
  80. </div>
  81. </div>
  82. </div>
  83. </div>
  84. </div>
  85. <?= Html::hiddenInput('type', 'text', ['id' => 'type']) ?>
  86. <div class="modal-footer">
  87. <button type="button" class="btn btn-white" data-dismiss="modal">关闭</button>
  88. <span class="btn btn-primary" onclick="beforeSubmit()">发送消息</span>
  89. </div>
  90. <?php ActiveForm::end(); ?>
  91. <script>
  92. // 设置类型
  93. function setType(type) {
  94. $('#type').val(type)
  95. }
  96. function beforeSubmit() {
  97. var val = description = title = '';
  98. var id = "<?= $model['id']; ?>";
  99. var type = $('#type').val();
  100. if (type == 'text' && !$('#text').val()) {
  101. rfWarning('请填写内容');
  102. return false;
  103. }
  104. if (type == 'image' && !$("input[name='image']").val()) {
  105. rfWarning('请选择图片');
  106. return false;
  107. }
  108. if (type == 'news' && !$("input[name='news']").val()) {
  109. rfWarning('请选择图文');
  110. return false;
  111. }
  112. if (type == 'video' && !$("input[name='video']").val()) {
  113. rfWarning('请选择视频');
  114. return false;
  115. }
  116. if (type == 'voice' && !$("input[name='voice']").val()) {
  117. rfWarning('请选择语音');
  118. return false;
  119. }
  120. $.ajax({
  121. type: "post",
  122. url: "<?= Url::to(['fans/send-message', 'openid' => $model->openid])?>",
  123. dataType: "json",
  124. data: $("#sendMessage").serialize(),
  125. success: function (data) {
  126. if (data.code == 200) {
  127. $('.close').click();
  128. rfAffirm('发送成功');
  129. } else {
  130. rfWarning(data.message);
  131. }
  132. }
  133. });
  134. }
  135. </script>
粤ICP备19079148号