goods_table.html 9.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>商品列表</title>
  6. <meta name="renderer" content="webkit">
  7. <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  8. <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
  9. <link rel="stylesheet" href="../lib/layui-v2.6.3/css/layui.css" media="all">
  10. <link rel="stylesheet" href="../css/public.css" media="all">
  11. </head>
  12. <body>
  13. <div class="layuimini-container">
  14. <div class="layuimini-main">
  15. <fieldset class="table-search-fieldset">
  16. <legend>搜索信息</legend>
  17. <div style="margin: 10px 10px 10px 10px">
  18. <form class="layui-form layui-form-pane" action="">
  19. <div class="layui-form-item">
  20. <div class="layui-inline">
  21. <label class="layui-form-label">商品名称</label>
  22. <div class="layui-input-inline">
  23. <input type="text" name="goodsName" autocomplete="off" class="layui-input">
  24. </div>
  25. </div>
  26. <div class="layui-inline">
  27. <label class="layui-form-label">商品类型</label>
  28. <div class="layui-input-inline">
  29. <select id="goods-type-select" name="goodsType" lay-verify="" lay-search="">
  30. <option value="">请选择分类</option>
  31. </select>
  32. </div>
  33. </div>
  34. <div class="layui-inline">
  35. <label class="layui-form-label">口味</label>
  36. <div class="layui-input-inline">
  37. <input type="text" name="taste" autocomplete="off" class="layui-input">
  38. </div>
  39. </div>
  40. <div class="layui-inline">
  41. <label class="layui-form-label">价格</label>
  42. <div class="layui-input-inline" style="width: 100px;">
  43. <input type="text" name="goodsPriceMin" placeholder="¥" autocomplete="off" class="layui-input">
  44. </div>
  45. <div class="layui-form-mid">-</div>
  46. <div class="layui-input-inline" style="width: 100px;">
  47. <input type="text" name="goodsPriceMax" placeholder="¥" autocomplete="off" class="layui-input">
  48. </div>
  49. </div>
  50. <div class="layui-inline">
  51. <label class="layui-form-label">成本</label>
  52. <div class="layui-input-inline" style="width: 100px;">
  53. <input type="text" name="goodCostMin" placeholder="¥" autocomplete="off" class="layui-input">
  54. </div>
  55. <div class="layui-form-mid">-</div>
  56. <div class="layui-input-inline" style="width: 100px;">
  57. <input type="text" name="goodsCostMax" placeholder="¥" autocomplete="off" class="layui-input">
  58. </div>
  59. </div>
  60. <div class="layui-inline">
  61. <button type="submit" class="layui-btn layui-btn-primary" lay-submit lay-filter="data-search-btn"><i class="layui-icon"></i> 搜 索</button>
  62. </div>
  63. </div>
  64. </form>
  65. </div>
  66. </fieldset>
  67. <script type="text/html" id="toolbarDemo">
  68. <div class="layui-btn-container">
  69. <button class="layui-btn layui-btn-normal layui-btn-sm data-add-btn" lay-event="add"> 添加 </button>
  70. <button class="layui-btn layui-btn-sm layui-btn-danger data-delete-btn" lay-event="delete"> 删除 </button>
  71. </div>
  72. </script>
  73. <table class="layui-hide" id="currentTableId" lay-filter="currentTableFilter"></table>
  74. <script type="text/html" id="currentTableBar">
  75. <a class="layui-btn layui-btn-normal layui-btn-xs data-count-edit" lay-event="edit">编辑</a>
  76. <a class="layui-btn layui-btn-xs layui-btn-danger data-count-delete" lay-event="delete">删除</a>
  77. </script>
  78. </div>
  79. </div>
  80. <script src="../lib/layui-v2.6.3/layui.js" charset="utf-8"></script>
  81. <script src="../lib/jquery-3.4.1/jquery-3.4.1.min.js" charset="utf-8"></script>
  82. <script src="../js/myjs/utils.js"></script>
  83. <script src="../js/myjs/goods-table.js"></script>
  84. <script>
  85. layui.use(['form', 'table'], function () {
  86. var $ = layui.jquery,
  87. form = layui.form,
  88. table = layui.table;
  89. table.render({
  90. elem: '#currentTableId',
  91. url: getRootUrl()+'/goods/list',
  92. method:'POST',
  93. headers:{
  94. token:getToken()
  95. },
  96. contentType:'application/json',
  97. request:{
  98. pageName:'pageNo',
  99. limitName:'pageSize'
  100. },
  101. parseData:function(res){
  102. return {
  103. "code": res.code, //解析接口状态
  104. "msg": res.message, //解析提示文本
  105. "count": res.data.total, //解析数据长度
  106. "data": res.data.data //解析数据列表
  107. }
  108. },
  109. toolbar: '#toolbarDemo',
  110. defaultToolbar: ['filter', 'exports', 'print', {
  111. title: '提示',
  112. layEvent: 'LAYTABLE_TIPS',
  113. icon: 'layui-icon-tips'
  114. }],
  115. cols: [[
  116. {type: "checkbox", width: 50},
  117. {field: 'id', width: 80, title: 'ID', sort: true},
  118. {field: 'goodsName', width: 100, title: '商品名称'},
  119. {field: 'description', title: '描述', minWidth: 150},
  120. {field: 'goodsType', width: 100, title: '商品类型', align: "center"},
  121. {field: 'price', width: 80, title: '价格', sort: true, align: "center"},
  122. {field: 'cost', width: 80, title: '成本', sort: true, align: "center"},
  123. {field: 'stock', width: 80, title: '库存', sort: true, align: "center"},
  124. {field: 'sales', width: 80, title: '销量', sort: true, align: "center"},
  125. {field: 'ingredients', width: 100, title: '原料', align: "center"},
  126. {field: 'weight', width: 80, title: '分量', align: "center"},
  127. {field: 'taste', width: 80, title: '口味', align: "center"},
  128. {field: 'isMeat', width: 80, title: '荤素', align: "center"},
  129. {field: 'score', width: 80, title: '评分', sort: true, align: "center"},
  130. {field: 'createTime', width: 160, title: '创建时间',sort:true, align: "center"},
  131. {field: 'updateTime', width: 160, title: '修改时间',sort:true, align: "center"},
  132. {title: '操作', minWidth: 150, toolbar: '#currentTableBar', align: "center"}
  133. ]],
  134. limits: [10, 15, 20, 25, 50, 100],
  135. limit: 15,
  136. page: true,
  137. skin: 'line'
  138. });
  139. // 监听搜索操作
  140. form.on('submit(data-search-btn)', function (data) {
  141. var param=data.field
  142. //执行搜索重载
  143. table.reload('currentTableId', {
  144. url: getRootUrl()+'/goods/search',
  145. where: {
  146. goodsName:param.goodsName,
  147. goodsType:param.goodsType,
  148. taste:param.taste,
  149. minPrice:param.goodsPriceMin,
  150. maxPrice:param.goodsPriceMax,
  151. minCost:param.goodCostMin,
  152. maxCost:param.goodsCostMax,
  153. }
  154. });
  155. return false;
  156. });
  157. /**
  158. * toolbar监听事件
  159. */
  160. table.on('toolbar(currentTableFilter)', function (obj) {
  161. if (obj.event === 'add') { // 监听添加操作
  162. var index = layer.open({
  163. title: '添加商品',
  164. type: 2,
  165. shade: 0.2,
  166. maxmin:true,
  167. shadeClose: true,
  168. area: ['100%', '100%'],
  169. content: '../page/table/goods-add.html',
  170. end:function(){
  171. layui.sessionData('upload',null)
  172. }
  173. });
  174. $(window).on("resize", function () {
  175. layer.full(index);
  176. });
  177. } else if (obj.event === 'delete') { // 监听删除操作
  178. var checkStatus = table.checkStatus('currentTableId')
  179. , data = checkStatus.data;
  180. layer.alert(JSON.stringify(data));
  181. }
  182. });
  183. //监听表格复选框选择
  184. table.on('checkbox(currentTableFilter)', function (obj) {
  185. console.log(obj)
  186. });
  187. table.on('tool(currentTableFilter)', function (obj) {
  188. var data = obj.data;
  189. if (obj.event === 'edit') {
  190. var index = layer.open({
  191. title: '编辑商品',
  192. type: 2,
  193. shade: 0.2,
  194. maxmin:true,
  195. shadeClose: true,
  196. area: ['100%', '100%'],
  197. content: '../page/table/goods-edit.html',
  198. success:function(){
  199. },
  200. end:function(){
  201. layui.sessionData('goods-update',null)
  202. //执行搜索重载
  203. table.reload('currentTableId', {})
  204. }
  205. });
  206. layui.sessionData('goods-update',{
  207. key:'goods',
  208. value:obj.data
  209. })
  210. $(window).on("resize", function () {
  211. layer.full(index);
  212. });
  213. return false;
  214. } else if (obj.event === 'delete') {
  215. layer.confirm('真的删除行么', function (index) {
  216. //删除商品
  217. deleteGoodsById(obj.data.id);
  218. obj.del();
  219. layer.close(index);
  220. });
  221. }
  222. });
  223. });
  224. </script>
  225. </body>
  226. </html>