present_index.html 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208
  1. {extend name="public/layout"}
  2. {block name="body"}
  3. <style>
  4. html,body {
  5. background-color: #fff;
  6. }
  7. table{
  8. width: 100%;
  9. text-align: center;
  10. border:1px;
  11. border-color:#e6e6e6;
  12. }
  13. table th{
  14. background-color:#F6FAFD;
  15. }
  16. table th,tr,td{
  17. height: 35px;
  18. }
  19. table td input{
  20. height: 100%;
  21. border: 0;
  22. margin: 10;
  23. }
  24. .addtext .shopname{
  25. display: inline-block;
  26. width: 24.5%;
  27. text-align: center;
  28. }
  29. table td input{
  30. display: block;
  31. width: 100%;
  32. height: 100%;
  33. border: 3px solid #000;
  34. box-sizing: border-box;
  35. border-style: groove;
  36. border-color: #e6e6e6;
  37. }
  38. table tr td:last-child{
  39. text-align: left;
  40. padding-left:3%;
  41. }
  42. </style>
  43. <body>
  44. <div class="layui-fluid">
  45. <div class="layui-row layui-col-space15">
  46. <div class="layui-col-md12" style="background-color:#ffffff">
  47. <div class="tplay-body-div">
  48. <div class="layui-card-body layui-form">
  49. <div class="layui-form-item">
  50. <label class="layui-form-label">首页展示:</label>
  51. <div class="">
  52. <div class="layui-input-block">
  53. <input type="radio" name="state" value="1" title="开启" {eq name="show" value="1"}checked{/eq} lay-filter="open" >
  54. <input type="radio" name="state" value="0" title="关闭" {eq name="show" value="0"}checked{/eq} lay-filter="open">
  55. </div>
  56. </div>
  57. </div>
  58. <table border="1">
  59. <tr>
  60. <th>商品名</th>
  61. <th>数量</th>
  62. <th>价格</th>
  63. <th>展示</th>
  64. </tr>
  65. {notempty name="data"}
  66. {volist name="data" id="vo"}
  67. <tr>
  68. <td>{$vo.name}</td>
  69. <td>{$vo.num}</td>
  70. <td>{$vo.price}</td>
  71. <td data-id="{$vo.id}">
  72. <input type="checkbox" name="" lay-skin="primary" lay-filter="state" {eq name="vo.show" value="1"}checked{/eq}>
  73. {if condition="$vo.cmid != 0"}
  74. <button class="delBtn layui-btn layui-btn-xs layui-btn-danger" type="button">删除</button>
  75. {/if}
  76. </td>
  77. </tr>
  78. {/volist}
  79. {/notempty}
  80. <tr>
  81. <td><input type="text" name="name"/></td>
  82. <td><input type="text" name="num" class="num"/></td>
  83. <td><input type="text" name="price" class="num"/></td>
  84. <td>
  85. <!-- <input type="checkbox" name="show" title="" lay-skin="primary"> -->
  86. <button class="addBtn layui-btn layui-btn-xs" style="margin-left: -20px;" type="button">新增</button>
  87. </td>
  88. </tr>
  89. </table>
  90. </div>
  91. </div>
  92. </div>
  93. </div>
  94. </div>
  95. {/block}
  96. {block name="js"}
  97. <script src="__STATIC__/js/jquery.min.js"></script>
  98. <script>
  99. function number_input(key){
  100. $(key).keypress(function(key){
  101. var ableKey = [0,46,45,48,49,50,51,52,53,54,55,56,57];
  102. var code = key.charCode;
  103. if(ableKey.indexOf(code) < 0){
  104. return false;
  105. }
  106. });
  107. }
  108. </script>
  109. <script>
  110. var indexurl = '{:url("broad/present_index")}';
  111. var showurl= '{:url("broad/present_show")}';
  112. var saveurl= '{:url("broad/present_save")}';
  113. var delurl= '{:url("broad/present_delete")}';
  114. var stateurl= '{:url("broad/present_state")}';
  115. var t;
  116. number_input('.num');
  117. layui.use(['table', 'form', 'layer'], function () {
  118. var form = layui.form
  119. , $ = layui.jquery
  120. , active = {
  121. del: function(){
  122. var that = this;
  123. var id = $(that).closest('td').data('id');
  124. layer.confirm('确定要将该礼物删除么?',{title: ['信息', 'color:#333333;background-color:#D8E6F1;']},function(index){
  125. $.post(delurl,{id:id}, function(resp){
  126. var res = JSON.parse(resp);
  127. if (res.code == 0) {
  128. $(that).closest('tr').remove();
  129. layer.msg('删除成功',{anim: 0});
  130. } else {
  131. layer.msg(res.msg,{anim: 6});
  132. }
  133. });
  134. layer.close(index);
  135. });
  136. },
  137. show:function(){
  138. var that = this;
  139. var id = $(that).closest('td').data('id');
  140. var state = this.checked?1:0;
  141. $.post(showurl, {id:id, state:state}, function(resp){
  142. var res = JSON.parse(resp);
  143. if (res.code == 0) {
  144. layer.msg(res.msg,{anim: 0});
  145. } else {
  146. if(state == 0){
  147. $(that)[0].checked = true;
  148. $(that).next('div').addClass('layui-form-checked');
  149. }else{
  150. $(that)[0].checked = false;
  151. $(that).next('div').removeClass('layui-form-checked');
  152. }
  153. layer.msg(res.msg,{anim: 6});
  154. }
  155. })
  156. },
  157. state:function(){
  158. var state = this.value;
  159. $.post(stateurl, {state:state}, function(resp){
  160. var res = JSON.parse(resp);
  161. if (res.code == 0) {
  162. layer.msg(res.msg,{anim: 0},function(){
  163. if(state==1){
  164. parent.$('#show').html('开启').css('color', '#5FB878')
  165. }else{
  166. parent.$('#show').html('关闭').css('color', 'darkgray')
  167. }
  168. });
  169. } else {
  170. layer.msg(res.msg,{anim: 6});
  171. }
  172. })
  173. },
  174. };
  175. $("table td").on('click','.addBtn', function(){
  176. var name = $('input[name=name]')[0].value,
  177. num = $('input[name=num]')[0].value,
  178. price = $('input[name=price]')[0].value,
  179. show = 0//$('input[name=show]')[0].checked?1:0;
  180. var data = {name:name,price:price,num:num,show:show};
  181. $.post(saveurl, data, function (resp) {
  182. var res = JSON.parse(resp);
  183. if (res.code == 0) {
  184. layer.msg('操作成功',{anim: 0},function(){
  185. location.reload();
  186. });
  187. } else {
  188. layer.msg(res.msg,{anim: 6});
  189. }
  190. });
  191. });
  192. $('table').on('click', '.delBtn', function(){
  193. active['del'].call(this);
  194. });
  195. form.on('checkbox(state)', function(data){
  196. active['show'].call(this);
  197. });
  198. form.on('radio(open)', function(data){
  199. active['state'].call(this);
  200. });
  201. });
  202. </script>
  203. {/block}