menu.php 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264
  1. <?php
  2. use common\components\configDict;
  3. ?>
  4. <link href="/css/weixin/base.css" rel="stylesheet" type="text/css">
  5. <link href="/css/weixin/index.css" rel="stylesheet" type="text/css">
  6. <div class="page-title">
  7. <div class="title-env">
  8. <h1 class="title" style="font-size: 18px;">微信菜单</h1>
  9. </div>
  10. <div class="breadcrumb-env">
  11. <ol class="breadcrumb bc-1">
  12. <li><a href="/"><i class="fa-home"></i>Home</a></li>
  13. <li><a href="javascript:void(0)">微信设置</a></li>
  14. <li class="active"><strong>微信菜单</strong></li>
  15. </ol>
  16. </div>
  17. </div>
  18. <div class="row">
  19. <div class="col-sm-12">
  20. <div class="panel panel-default">
  21. <div class="panel-body">
  22. <div class="menu_setting_area js_editBox weixin_menu">
  23. <div class="menu_preview_area">
  24. <div class="mobile_menu_preview">
  25. <div class="mobile_hd tc"><?= $this->context->merchant['merchantName'] ?></div>
  26. <div class="mobile_bd">
  27. <ul id="menuList" class="pre_menu_list grid_line ui-sortable ui-sortable-disabled no_menu">
  28. <?php foreach ($menu as $mKey => $mVal) {
  29. $wxMenuContent = '0';
  30. $wxMenuOption = $mVal['menuOption'];
  31. switch ($wxMenuOption) {
  32. case $wxMenuOptionList['redirectToCommonUseUrl']://跳转到常用链接
  33. $wxMenuContent = $mVal['targetId'];
  34. break;
  35. case $wxMenuOptionList['redirectToCustomUrl']:
  36. $wxMenuContent = $mVal['replyUrl'];
  37. break;
  38. case $wxMenuOptionList['showText']:
  39. $wxMenuContent = $mVal['replyText'];
  40. break;
  41. case $wxMenuOptionList['redirectToActive']:
  42. $wxMenuContent = $mVal['targetId'];
  43. break;
  44. }
  45. ?>
  46. <li class="jsMenu pre_menu_item grid_item jslevel1 ui-sortable ui-sortable-disabled size1of3">
  47. <a class="pre_menu_link" order="<?= $mKey ?>" reply_type="<?= $mVal['replyType'] ?>" has_child="<?= $mVal['hasSonMenu']; ?>" name="level_1_menu" id="level1Button<?= $mKey ?>" wx_menu_name="<?= $mVal['name'] ?>" wx_menu_option="<?= $mVal['menuOption'] ?>" wx_menu_content="<?= $wxMenuContent ?>" href="javascript:void(0);">
  48. <i class="icon_menu_dot js_icon_menu_dot dn"></i>
  49. <i class="icon20_common sort_gray"></i>
  50. <span class="js_l1Title"><?= $mVal['name'] ?></span> </a>
  51. <div class="sub_pre_menu_box js_l2TitleBox" style="display:none;">
  52. <ul class="sub_pre_menu_list">
  53. <?php
  54. if (!empty($mVal['child'])) {
  55. foreach ($mVal['child'] as $cKey => $cVal) {
  56. $aId = 'level2Button_' . $mKey . '_' . $cKey;
  57. $wxMenuContent = '0';
  58. $wxMenuOption = $cVal['menuOption'];
  59. switch ($wxMenuOption) {
  60. case $wxMenuOptionList['redirectToCommonUseUrl']://跳转到常用链接
  61. $wxMenuContent = $cVal['targetId'];
  62. break;
  63. case $wxMenuOptionList['redirectToCustomUrl']://跳转到自定义链接
  64. $wxMenuContent = $cVal['replyUrl'];
  65. break;
  66. case $wxMenuOptionList['showText']:
  67. $wxMenuContent = $cVal['replyText'];//回复文字
  68. break;
  69. case $wxMenuOptionList['redirectToActive']:
  70. $wxMenuContent = $cVal['targetId'];//回复活动
  71. break;
  72. }
  73. ?>
  74. <li class="jslevel2">
  75. <a class="jsSubView" href="javascript:void(0);" reply_type="<?= $cVal['replyType'] ?>" parent_menu_order="<?= $mKey ?>" name="level_2_menu" wx_menu_name="<?= $cVal['name'] ?>" wx_menu_option="<?= $cVal['menuOption'] ?>" wx_menu_content="<?= $wxMenuContent ?>" id="<?= $aId ?>" onclick="editSonMenu(this,'<?= $aId ?>')">
  76. <img name="delMenu" onclick="showDel('<?= $aId ?>')" onmouseout="preDelButton(this)" onmouseover="newDelButton(this)" style="float:right;width:10px;margin-top:5px;" src="/images/icn_alert_error3.png"/>
  77. <span class="sub_pre_menu_inner js_sub_pre_menu_inner">
  78. <i class="icon20_common sort_gray"></i>
  79. &nbsp;<span class="js_l2Title"><?= $cVal['name'] ?></span>
  80. </span> </a>
  81. </li>
  82. <?php }
  83. } ?>
  84. <li class="js_addMenuBox">
  85. <a class="jsSubView js_addL2Btn" href="javascript:void(0);" title="添加按钮">
  86. <span class="sub_pre_menu_inner js_sub_pre_menu_inner">
  87. <i class="icon14_menu_add"></i>
  88. </span> </a>
  89. </li>
  90. </ul>
  91. <i class="arrow arrow_out"></i> <i class="arrow arrow_in"></i>
  92. </div>
  93. </li>
  94. <?php } ?>
  95. </ul>
  96. </div>
  97. </div>
  98. </div>
  99. <div class="menu_form_area weixin_menu_right">
  100. <div class="portable_editor to_left" id="js_rightBox">
  101. <div class="editor_inner">
  102. <div id="toDoMention" style="display:;">
  103. <div class="col-md-6" style="width: 50%; text-align: center; margin: 25% auto 0 25%;">
  104. <div class="alert alert-info" style="display:none;">点击左侧菜单进行设置。</div>
  105. </div>
  106. </div>
  107. <div class="menu_form_bd" id="toDoView" style="display:none;">
  108. <div class="frm_control_group js_setNameBox">
  109. <label class="frm_label" style="margin-left: 11px;">
  110. <strong class="title js_menuTitle"> 名称:</strong> </label>
  111. <div class="frm_controls">
  112. <span class="frm_input_box with_counter counter_in append">
  113. <input name="wx_menu_name" class="frm_input js_menu_name" type="text" value="" placeholder="请填写菜单名">
  114. </span>
  115. <p class="frm_tips js_titleNolTips"></p>
  116. </div>
  117. </div>
  118. <div class="frm_control_group js_setNameBox">
  119. <label class="frm_label" style="margin-left: 11px;"> <strong
  120. class="title js_menuTitle"> 选项:</strong> </label>
  121. <div class="frm_controls">
  122. <select class="frm_select_box" name="wx_menu_option">
  123. <?php foreach ($wxMenuOptionName as $val) { ?>
  124. <option reply_type="<?= $val['replyType'] ?>" value="<?= $val['key'] ?>"><?= $val['name'] ?></option>
  125. <?php } ?>
  126. </select>
  127. </div>
  128. </div>
  129. <div class="menu_content_container" style="display: block;">
  130. <div class="menu_content url jsMain" style="display: block;">
  131. <!-- 常用链接 -->
  132. <div class="frm_control_group" name="menu_container" style="display:;">
  133. <div style="margin: 4px 0 5px;">
  134. <strong>零售店:</strong>
  135. </div>
  136. <p>
  137. <?php foreach ($commonUseUrl as $key => $val) {
  138. if ($val['manageStyle'] == $manageStyle['retail']) {
  139. ?>
  140. <label class="radio-inline"><input type="radio" name="common_use_url_key" value="<?= $val['key'] ?>"> <?= $val['name'] ?>
  141. </label>
  142. <?php }
  143. } ?>
  144. </p>
  145. </div>
  146. <!-- 自定义链接 -->
  147. <div class="frm_control_group" name="menu_container" style="display: none;">
  148. <label class="frm_label" for=""> 请填写:</label>
  149. <div class="frm_controls">
  150. <span class="frm_input_box">
  151. <input class="frm_input" id="urlText" placeholder="必须以 http 开头" name="urlText" type="text">
  152. <p style="color:red;"></p>
  153. </span>
  154. </div>
  155. </div>
  156. <!-- 发送文字 -->
  157. <div class="frm_control_group" name="menu_container" style="display: none;">
  158. <div style="margin: 8px 0 5px;">
  159. <strong>文字内容:</strong>
  160. </div>
  161. <textarea class="form-control" name="textContent" style="height: 100px;"></textarea>
  162. </div>
  163. <!-- 报名类活动 -->
  164. <div class="frm_control_group" name="menu_container" style="display: none;">
  165. <div class="table-responsive">
  166. <table class="table table-bordered table-striped table-hover table-condensed">
  167. <thead>
  168. <tr class="active">
  169. <th class="no-sorting hidden-xs" style="text-align: center;">请选择</th>
  170. <th class="hidden-xs">活动名称</th>
  171. <th class="hidden-xs">开始时间</th>
  172. </tr>
  173. </thead>
  174. <?php if (!empty($active)){ ?>
  175. <tbody class="middle-align">
  176. <?php foreach ($active as $actKey => $actVal) { ?>
  177. <tr>
  178. <td class="hidden-xs" style="text-align: center;">
  179. <input type="radio" name="active" value="<?= $actVal['id'] ?>" style="cursor:pointer;">
  180. </td>
  181. <td class="hidden-xs"><?= $actVal['title'] ?></td>
  182. <td class="hidden-xs"><?= date("m-d H:i", $actVal['startTime']) ?></td>
  183. </tr>
  184. <?php }
  185. } else { ?>
  186. <tr>
  187. <td class="hidden-xs" colspan="4" style="text-align:center;">还没有活动,<a href="/active/add" style="color:#40bbea;">点击新建</a>
  188. </td>
  189. </tr>
  190. <?php } ?>
  191. </tbody>
  192. </table>
  193. </div>
  194. </div>
  195. </div>
  196. </div>
  197. </div>
  198. </div>
  199. <span class="editor_arrow_wrp"> <i
  200. class="editor_arrow editor_arrow_out"> </i> <i
  201. class="editor_arrow editor_arrow_in"> </i></span>
  202. </div>
  203. </div>
  204. </div>
  205. <div class="form-group" style="text-align: center; margin-top: 10px;">
  206. <button type="button" onclick="submitData()" class="btn btn-info btn-single">保存</button>
  207. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  208. <button type="button" onclick="submitData('yes')" class="btn btn-info btn-single">生效</button>
  209. </div>
  210. </div>
  211. </div>
  212. </div>
  213. </div>
  214. <!-- footer -->
  215. <?php
  216. use backend\widgets\FooterWidget;
  217. ?>
  218. <?= FooterWidget::widget() ?>
  219. <!-- footer -->
  220. <script>
  221. var _csrf = '<?= Yii::$app->request->csrfToken ?>';
  222. var wxMenuOptionList = eval(<?= json_encode($wxMenuOptionList) ?>);
  223. </script>
  224. <div class="modal fade" id="confirmMention">
  225. <div class="modal-dialog" style="height:300px;">
  226. <div class="modal-content">
  227. <div class="modal-header">
  228. <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
  229. <h4 class="modal-title">消息提示</h4>
  230. </div>
  231. <div class="modal-body">
  232. 确认删除?
  233. </div>
  234. <div class="modal-footer">
  235. <button type="button" class="btn btn-info" name="delMenuConfirmOk">确认</button>
  236. <button type="button" class="btn btn-white" data-dismiss="modal">取消</button>
  237. </div>
  238. </div>
  239. </div>
  240. </div>
  241. <script src="/js/weixin/base.js"></script>