datalist.html 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164
  1. {extend name="../../base/view/common/base" /}
  2. {block name="style"}
  3. <style>
  4. .tree-left{width:220px; float:left; height:calc(100% - 40px); 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:100%; 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-t border-x" lay-filter="barsearchform">
  17. <div class="layui-input-inline" style="width:120px">
  18. <select name="brand_id">
  19. <option value="">资产品牌</option>
  20. {volist name=":get_base_data('PropertyBrand')" id="v"}
  21. <option value="{$v.id}">{$v.title}</option>
  22. {/volist}
  23. </select>
  24. </div>
  25. <div class="layui-input-inline" style="width:100px">
  26. <select name="status">
  27. <option value="">资产状态</option>
  28. {volist name="$status" id="vo"}
  29. <option value="{$key}">{$vo}</option>
  30. {/volist}
  31. </select>
  32. </div>
  33. <div class="layui-input-inline" style="width:300px">
  34. <input type="text" name="keywords" placeholder="输入关键字" class="layui-input" autocomplete="off" />
  35. </div>
  36. <div class="layui-input-inline" style="width:150px">
  37. <button class="layui-btn layui-btn-normal" lay-submit="" lay-filter="webform"><i class="layui-icon layui-icon-search mr-1"></i>搜索</button>
  38. <button type="reset" class="layui-btn layui-btn-reset" lay-filter="reset">重置</button>
  39. </div>
  40. </form>
  41. <table class="layui-hide" id="test" lay-filter="test"></table>
  42. </div>
  43. </div>
  44. <script type="text/html" id="toolbarDemo">
  45. <div class="layui-btn-container">
  46. <button class="layui-btn layui-btn-sm tool-add" type="button" data-href="/adm/property/add">+ 添加资产</button>
  47. </div>
  48. </script>
  49. {/block}
  50. <!-- /主体 -->
  51. {block name="copyright"}{/block}
  52. <!-- 脚本 -->
  53. {block name="script"}
  54. <script>
  55. const status_types = [{"id":0,"title":"闲置"},{"id":1,"title":"在用"},{"id":2,"title":"维修"},{"id":3,"title":"报废"},{"id":4,"title":"丢失"}];
  56. const moduleInit = ['tool','tablePlus'];
  57. function gouguInit() {
  58. var table = layui.tablePlus, tool = layui.tool,tree = layui.tree,form = layui.form,dropdown = layui.dropdown;
  59. $.ajax({
  60. url: "/adm/api/get_propertycate_tree",
  61. type:'get',
  62. success:function(res){
  63. //仅节点左侧图标控制收缩
  64. tree.render({
  65. elem: '#cate',
  66. data: res.trees,
  67. onlyIconControl: true, //是否仅允许节点左侧图标控制展开收缩
  68. click: function(obj){
  69. //layer.msg(JSON.stringify(obj.data));
  70. $('#cate').find('.layui-tree-main').removeClass('on');
  71. $(obj.elem).find('.layui-tree-main').eq(0).addClass('on');
  72. layui.pageTable.reload({
  73. where: {cate_id: obj.data.id},
  74. page:{curr:1}
  75. });
  76. $('[name="keywords"]').val('');
  77. $('[name="brand_id"]').val('');
  78. $('[name="status"]').val('');
  79. form.render();
  80. }
  81. });
  82. }
  83. })
  84. $('[lay-filter="reset"]').click(function(){
  85. $('#cate').find('.layui-tree-main').removeClass('on');
  86. });
  87. layui.pageTable = table.render({
  88. elem: '#test'
  89. ,toolbar: '#toolbarDemo'
  90. ,title:'资产列表'
  91. ,url: "/adm/property/datalist"
  92. ,is_excel: true
  93. ,page: true
  94. ,cellMinWidth: 60
  95. ,height: 'full-88'
  96. ,cols: [[
  97. {field:'id',width:80, title: 'ID号', align:'center'}
  98. ,{field:'code',width:160, title: '资产编码', align:'center'}
  99. ,{field:'cate',width:120, title: '资产分类', align:'center'}
  100. ,{field:'title',minWidth:240,title: '资产名称'}
  101. ,{field:'brand',title: '品牌',align: 'center',width: 100}
  102. ,{field:'model',title: '型号',align: 'center',width: 100}
  103. ,{field:'unit',title: '单位',align: 'center',width: 60}
  104. ,{field:'price',width:100, title: '价格(元)', align:'center',style:"color:#16b777"}
  105. ,{field:'status_str', title: '状态',width:60,align:'center'}
  106. ,{field:'create_name',title: '创建人',align: 'center',width: 80}
  107. ,{field:'create_time',title: '创建时间',align: 'center',width: 150}
  108. ,{field:'update_name',title: '最后修改人',align: 'center',width: 100}
  109. ,{field:'update_time_str',title: '最后修改时间',align: 'center',width: 150}
  110. ,{width:200,fixed:'right', title: '操作', align:'center',templet: function(d){
  111. var html='';
  112. 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>';
  113. var btn1='<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="set">设置状态 <i class="layui-icon layui-icon-down layui-font-12"></i></a>';
  114. var btn2='<a class="layui-btn layui-btn-warm layui-btn-xs" lay-event="repair">维修</a>';
  115. html = '<div class="layui-btn-group">'+btn+btn1+btn2+'</div>';
  116. return html;
  117. }}
  118. ]]
  119. });
  120. table.on('tool(test)',function (obj) {
  121. var that = this;
  122. if(obj.event === 'edit'){
  123. tool.side("/adm/property/add?id="+obj.data.id);
  124. }
  125. if(obj.event === 'view'){
  126. tool.side("/adm/property/view?id="+obj.data.id);
  127. }
  128. if(obj.event === 'repair'){
  129. tool.side("/adm/property/repair_add?pid="+obj.data.id);
  130. }
  131. if(obj.event === 'set'){
  132. dropdown.render({
  133. elem: that,
  134. show: true, // 外部事件触发即显示
  135. data: status_types,
  136. click: function(item){
  137. layer.confirm('确定要修改该资产状态为【'+item.title+'】吗?', {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("/adm/property/check", { id: obj.data.id,status: item.id}, callback);
  145. layer.close(index);
  146. });
  147. }
  148. });
  149. return;
  150. }
  151. });
  152. //监听搜索提交
  153. form.on('submit(webform)', function(data){
  154. layui.pageTable.reload({where:data.field,page:{curr:1}});
  155. return false;
  156. });
  157. }
  158. </script>
  159. {/block}
  160. <!-- /脚本 -->