datalist.html 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178
  1. {extend name="../../base/view/common/base" /}
  2. {block name="style"}
  3. <style>
  4. .tree-left{width:220px; float:left; height:100%; overflow: scroll; border:1px solid #eeeeee; background-color:#fff; padding:12px 12px 12px 5px;}
  5. .tree-left h3{font-size:16px; height:30px; padding-left:10px; font-weight:800}
  6. </style>
  7. {/block}
  8. <!-- 主体 -->
  9. {block name="body"}
  10. <div class="p-page" style="height:calc(100% - 36px); box-sizing: border-box;">
  11. <div class="tree-left">
  12. <h3>采购品分类</h3>
  13. <div id="cate"></div>
  14. </div>
  15. <div class="body-table" style="margin-left:248px; overflow:hidden;">
  16. <form class="layui-form gg-form-bar border-x border-t">
  17. <div class="layui-input-inline" style="width:100px;">
  18. <select name="status">
  19. <option value="">选择状态</option>
  20. <option value="1">正常</option>
  21. <option value="0">禁用</option>
  22. </select>
  23. </div>
  24. <div class="layui-input-inline" style="width:300px;">
  25. <input type="text" name="keywords" placeholder="关键字,采购品名称/采购品编码" class="layui-input" autocomplete="off" />
  26. </div>
  27. <div class="layui-input-inline" style="width:150px;">
  28. <button class="layui-btn layui-btn-normal" lay-submit="" lay-filter="webform"><i class="layui-icon layui-icon-search mr-1"></i>搜索</button>
  29. <button type="reset" class="layui-btn layui-btn-reset" lay-filter="reset">重置</button>
  30. </div>
  31. </form>
  32. <table class="layui-hide" id="test" lay-filter="test"></table>
  33. </div>
  34. </div>
  35. <script type="text/html" id="toolbarDemo">
  36. <div class="layui-btn-container">
  37. <button class="layui-btn layui-btn-sm addNew" type="button">+ 添加采购品</button>
  38. </div>
  39. </script>
  40. {/block}
  41. <!-- /主体 -->
  42. <!-- 脚本 -->
  43. {block name="script"}
  44. <script>
  45. const moduleInit = ['tool','tablePlus'];
  46. function gouguInit() {
  47. var table = layui.tablePlus, tool = layui.tool,tree = layui.tree,form = layui.form;
  48. $.ajax({
  49. url: "/contract/api/get_purchasedcate_tree",
  50. type:'get',
  51. success:function(res){
  52. //仅节点左侧图标控制收缩
  53. tree.render({
  54. elem: '#cate',
  55. data: res.trees,
  56. onlyIconControl: true, //是否仅允许节点左侧图标控制展开收缩
  57. click: function(obj){
  58. //layer.msg(JSON.stringify(obj.data));
  59. $('#cate').find('.layui-tree-main').removeClass('on');
  60. $(obj.elem).find('.layui-tree-main').eq(0).addClass('on');
  61. layui.pageTable.reload({
  62. where: {cate_id: obj.data.id},
  63. page:{curr:1}
  64. });
  65. $('[name="keywords"]').val('');
  66. $('[name="status"]').val('');
  67. form.render();
  68. }
  69. });
  70. }
  71. })
  72. $('[lay-filter="reset"]').click(function(){
  73. $('#cate').find('.layui-tree-main').removeClass('on');
  74. });
  75. layui.pageTable = table.render({
  76. elem: '#test'
  77. ,toolbar: '#toolbarDemo'
  78. ,title:'采购品列表'
  79. ,url: "/contract/purchased/datalist"
  80. ,is_excel: true
  81. ,cellMinWidth: 60
  82. ,height: 'full-114'
  83. ,cols: [[
  84. {field:'id',width:80, title: 'ID号', align:'center'}
  85. ,{field:'code',width:150, title: '采购品编码', align:'center'}
  86. ,{field:'cate',width:150, title: '采购品分类', align:'center'}
  87. ,{field:'title',title: '采购品名称',minWidth:240}
  88. ,{field:'purchase_price',width:100, title: '采购价(元)', align:'center','style':'color:#1e9fff'}
  89. ,{field:'unit',width:60, title: '单位', align:'center'}
  90. ,{field:'specs',width:60, title: '规格', align:'center'}
  91. ,{field:'status', title: '状态',width:60,align:'center',templet: function(d){
  92. var html1='<span class="green">正常</span>';
  93. var html2='<span class="yellow">禁用</span>';
  94. if(d.status==1){
  95. return html1;
  96. }
  97. else{
  98. return html2;
  99. }
  100. }}
  101. ,{width:150,fixed:'right', title: '操作', align:'center',templet: function(d){
  102. var html='';
  103. var btn='<a class="layui-btn layui-btn-xs" lay-event="edit">编辑</a><a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="view">详情</a>';
  104. var btn1='<a class="layui-btn layui-btn-warm layui-btn-xs" lay-event="disable">禁用</a>';
  105. var btn2='<a class="layui-btn layui-btn-xs" lay-event="open">启用</a>';
  106. var btn3='<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>';
  107. if(d.status==1){
  108. html = '<div class="layui-btn-group">'+btn+btn1+btn3+'</div>';
  109. }
  110. else{
  111. html = '<div class="layui-btn-group">'+btn+btn2+btn3+'</div>';
  112. }
  113. return html;
  114. }}
  115. ]]
  116. });
  117. table.on('tool(test)',function (obj) {
  118. if(obj.event === 'edit'){
  119. tool.side("/contract/purchased/add?id="+obj.data.id);
  120. }
  121. if(obj.event === 'view'){
  122. tool.side("/contract/purchased/view?id="+obj.data.id);
  123. }
  124. if(obj.event === 'disable'){
  125. layer.confirm('确定要禁用该采购品吗?', {icon: 3, title:'提示'}, function(index){
  126. let callback = function (e) {
  127. layer.msg(e.msg);
  128. if (e.code == 0) {
  129. layui.pageTable.reload();
  130. }
  131. }
  132. tool.post("/contract/purchased/set", { id: obj.data.id,status: 0,title: obj.data.title}, callback);
  133. layer.close(index);
  134. });
  135. }
  136. if(obj.event === 'open'){
  137. layer.confirm('确定要启用该采购品吗?', {icon: 3, title:'提示'}, function(index){
  138. let callback = function (e) {
  139. layer.msg(e.msg);
  140. if (e.code == 0) {
  141. layui.pageTable.reload();
  142. }
  143. }
  144. tool.post("/contract/purchased/set", { id: obj.data.id,status: 1,title: obj.data.title}, callback);
  145. layer.close(index);
  146. });
  147. }
  148. if(obj.event === 'del'){
  149. layer.confirm('确定要删除该采购品吗?', {icon: 3, title:'提示'}, function(index){
  150. let callback = function (e) {
  151. layer.msg(e.msg);
  152. if (e.code == 0) {
  153. layui.pageTable.reload();
  154. }
  155. }
  156. tool.delete("/contract/purchased/del", { id: obj.data.id,status: 1,title: obj.data.title}, callback);
  157. layer.close(index);
  158. });
  159. }
  160. });
  161. $('body').on('click','.addNew',function(){
  162. tool.side("/contract/purchased/add");
  163. });
  164. //监听搜索提交
  165. form.on('submit(webform)', function(data){
  166. layui.pageTable.reload({where:data.field,page:{curr:1}});
  167. return false;
  168. });
  169. }
  170. </script>
  171. {/block}
  172. <!-- /脚本 -->