editor.php 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206
  1. {__NOLAYOUT__}
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6. <title>A3Mall | Dashboard</title>
  7. <meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport">
  8. <link rel="stylesheet" href="{__SYSTEM_PATH__}/js/bootstrap/css/bootstrap.min.css">
  9. <link rel="stylesheet" href="{__SYSTEM_PATH__}/font/font-awesome/css/font-awesome.min.css">
  10. <link rel="stylesheet" href="{__SYSTEM_PATH__}/js/layui/css/layui.css">
  11. <link rel="stylesheet" href="{__SYSTEM_PATH__}/css/base.css">
  12. <script src="{__SYSTEM_PATH__}/js/jquery/jquery.min.js"></script>
  13. <script src="{__SYSTEM_PATH__}/js/bootstrap/js/bootstrap.min.js"></script>
  14. <script src="{__SYSTEM_PATH__}/js/layui/layui.js"></script>
  15. <script src="{__SYSTEM_PATH__}/js/common/common.js"></script>
  16. </head>
  17. <body>
  18. <section class="content clearfix">
  19. <div class="layui-editor-box">
  20. <div class="layui-tab layui-tab-brief layui-tab-bg layui-tab-content-box">
  21. <ul class="layui-tab-title">
  22. <li class="layui-this">基本信息</li>
  23. </ul>
  24. <form action="" class="layui-form layui-form-pane">
  25. <div class="layui-tab-content">
  26. <div class="layui-tab-item layui-show">
  27. <div class="layui-form-item">
  28. <label class="layui-form-label">名称</label>
  29. <div class="layui-input-block">
  30. <input type="text" name="name" value="{$data.name|default=''}" lay-reqtext="请填写名称" lay-verify="required" placeholder="请输入名称" autocomplete="off" class="layui-input">
  31. </div>
  32. </div>
  33. <div class="layui-form-item">
  34. <label class="layui-form-label">标识</label>
  35. <div class="layui-input-block">
  36. <input type="text" name="sign" value="{$data.sign|default=''}" lay-reqtext="请填写标识" lay-verify="required" placeholder="请输入标识" autocomplete="off" class="layui-input">
  37. </div>
  38. </div>
  39. <div class="layui-form-item">
  40. <label class="layui-form-label">模板ID</label>
  41. <div class="layui-input-block">
  42. <input type="text" name="temp_id" value="{$data.temp_id|default=''}" lay-reqtext="请填写模板ID" lay-verify="required" placeholder="请输入模板ID" autocomplete="off" class="layui-input">
  43. </div>
  44. </div>
  45. <div class="layui-form-item">
  46. <label class="layui-form-label">状态</label>
  47. <div class="layui-input-block">
  48. <input type="radio" name="status" title="开启" value="0" {if empty($data.status) || $data.status==0}checked="checked"{/if}>
  49. <input type="radio" name="status" title="关闭" value="1" {if isset($data.status) && $data.status==1}checked="checked"{/if}>
  50. </div>
  51. </div>
  52. <div class="layui-form-item">
  53. <button id="add-table-btn" type="button" class="layui-btn layui-bg-light-blue">添加</button>
  54. </div>
  55. <blockquote class="layui-elem-quote" style="border-left: 5px solid #3c8dbc; font-size: 14px; background-color: #eee;">
  56. 提示:当前模板属性内容请和微信小程序后台订阅消息模板内容一一对应,【表字段】是当前发送内容的数据表字段名称。如果您不清楚,请勿修改/删除/移动.
  57. </blockquote>
  58. <div class="layui-form-item">
  59. <table class="layui-table">
  60. <colgroup>
  61. <col width="250">
  62. <col width="150">
  63. <col>
  64. <col width="170">
  65. </colgroup>
  66. <thead>
  67. <tr>
  68. <th style="text-align:center;">属性名称</th>
  69. <th style="text-align:center;">表字段</th>
  70. <th style="text-align:center;">属性值</th>
  71. <th style="text-align:center;">操作</th>
  72. </tr>
  73. </thead>
  74. <tbody>
  75. {if !empty($data.attr)}
  76. {volist name="data['attr']['name']" id="item"}
  77. <tr>
  78. <td>
  79. <input type="text" name="attr[name][]" value="{$item}" required lay-verify="required" autocomplete="off" class="layui-input">
  80. </td>
  81. <td>
  82. <input type="text" name="attr[field][]" value="{$data['attr']['field'][$key]}" required lay-verify="required" autocomplete="off" class="layui-input">
  83. </td>
  84. <td>
  85. <input type="text" name="attr[value][]" value="{$data['attr']['value'][$key]}" autocomplete="off" class="layui-input">
  86. </td>
  87. <td>
  88. <div class="layui-btn-group">
  89. <button type="button" class="layui-btn layui-btn-sm attr-up-btn layui-bg-light-blue">上移</button>
  90. <button type="button" class="layui-btn layui-btn-sm attr-up-dowm-btn layui-bg-light-blue">下移</button>
  91. <button type="button" class="layui-btn layui-btn-sm attr-delete-btn layui-bg-light-blue">删除</button>
  92. </div>
  93. </td>
  94. </tr>
  95. {/volist}
  96. {/if}
  97. </tbody>
  98. </table>
  99. </div>
  100. </div>
  101. </div>
  102. <div class="layui-form-item">
  103. <div class="layui-input-block">
  104. <input name="id" type="hidden" value="{$data.id|default='0'}">
  105. <button class="layui-btn layui-bg-light-blue" lay-filter="layui-submit-filter" lay-submit="">立即提交</button>
  106. <button class="layui-btn layui-btn-primary" type="reset">重置</button>
  107. </div>
  108. </div>
  109. </form>
  110. </div>
  111. </div>
  112. </section>
  113. <div id='attr-template'>
  114. <table>
  115. <tr>
  116. <td>
  117. <input type="text" name="attr[name][]" value="" required lay-verify="required" autocomplete="off" class="layui-input">
  118. </td>
  119. <td>
  120. <input type="text" name="attr[field][]" value="" required lay-verify="required" autocomplete="off" class="layui-input">
  121. </td>
  122. <td>
  123. <input type="text" name="attr[value][]" value="" autocomplete="off" class="layui-input">
  124. </td>
  125. <td>
  126. <div class="layui-btn-group">
  127. <button type="button" class="layui-btn layui-btn-sm attr-up-btn layui-bg-light-blue">上移</button>
  128. <button type="button" class="layui-btn layui-btn-sm attr-up-dowm-btn layui-bg-light-blue">下移</button>
  129. <button type="button" class="layui-btn layui-btn-sm attr-delete-btn layui-bg-light-blue">删除</button>
  130. </div>
  131. </td>
  132. </tr>
  133. </table>
  134. </div>
  135. <script type="text/javascript">
  136. $(function () {
  137. layui.use(["form", "element",'layer'], function () {
  138. var form = layui.form;
  139. var layer = layui.layer;
  140. if ($.trim($(".layui-table tbody").html()) == '') {
  141. $(".layui-table tbody").append($($("#attr-template table tbody").html()));
  142. layui.form.render();
  143. }
  144. $('#add-table-btn').on("click", function () {
  145. $(".layui-table tbody").append($("#attr-template table tbody").html());
  146. layui.form.render();
  147. return false;
  148. });
  149. $(document).on("click", ".attr-up-btn", function () {
  150. var current_tr = $(this).parent().parent().parent();
  151. if (current_tr.prev().html() != null) {
  152. current_tr.insertBefore(current_tr.prev());
  153. }
  154. return false;
  155. });
  156. $(document).on("click", ".attr-up-dowm-btn", function () {
  157. var current_tr = $(this).parent().parent().parent();
  158. current_tr.insertAfter(current_tr.next());
  159. return false;
  160. });
  161. $(document).on("click", ".attr-delete-btn", function () {
  162. if ($(".layui-table tbody tr").length > 1) {
  163. $(this).parent().parent().parent().remove();
  164. }
  165. return false;
  166. });
  167. form.on('submit(layui-submit-filter)', function (data) {
  168. var index = layer.load(1, { shade: [0.2,'#fff'] });
  169. $.post('{:url("wechat.subscribe/editor")}', data.field, function (result) {
  170. layer.close(index);
  171. if(result.code){
  172. layer.msg(result.msg,{ icon : 1 });
  173. setTimeout(function () {
  174. // parent.window.layer.closeAll();
  175. parent.window.location.reload();
  176. },2000);
  177. }else{
  178. layer.msg(result.msg,{ icon :2 });
  179. }
  180. }, "json");
  181. return false;
  182. });
  183. });
  184. });
  185. </script>
  186. </body>
  187. </html>