course.html 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
  1. {include file="common/header"/}
  2. <div class="LM-container">
  3. <div class="LM-main">
  4. <fieldset class="layui-elem-field layui-field-title">
  5. <legend>科目名称管理</legend>
  6. <blockquote class="layui-elem-quote">
  7. <div class="LM-table">
  8. <div class="layui-inline">
  9. <input type="text" id='name' name="name" lay-verify="required"
  10. placeholder="专业名称" autocomplete="off" class="layui-input">
  11. </div>
  12. <a href="javascript:;" class="layui-btn data-add-btn layui-btn-sm" lay-submit="" lay-filter="add" id="search">
  13. {:lang('search')}
  14. </a>
  15. <a class="layui-btn layui-btn-normal layui-btn-sm" onclick="openAll();">展开或折叠全部</a>
  16. </div>
  17. </blockquote>
  18. </fieldset>
  19. <table class="layui-table " id="treeTable" lay-filter="treeTable"></table>
  20. </div>
  21. </div>
  22. {include file="common/footer"/}
  23. <script>
  24. var editObj=null,ptable=null,treeGrid=null,tableId='treeTable',layer=null;
  25. layui.config({
  26. base: '/static/plugins/layui/extend/'
  27. }).extend({
  28. treeGrid: 'treeGrid/treeGrid'
  29. }).use(['jquery','treeGrid','layer','form'], function(){
  30. var $=layui.jquery;form = layui.form;
  31. treeGrid = layui.treeGrid;//很重要
  32. layer=layui.layer;
  33. ptable=treeGrid.render({
  34. id:tableId
  35. ,elem: '#'+tableId
  36. ,idField:'id'
  37. ,url:'{:url("course")}'
  38. ,cellMinWidth: 100
  39. ,treeId:'id'//树形id字段名称
  40. ,treeUpId:'pId'//树形父id字段名称
  41. ,treeShowName:'name'//以树形式显示的字段
  42. , loading:true
  43. ,cols: [[
  44. {field:'id',width:50, title: 'ID'},
  45. {field:'name',width:200, title: '专业/科目名称'},
  46. {width:400,title: '操作', align:'center'
  47. ,templet: function(d){
  48. var html='';
  49. // var addBtn='<a class="layui-btn layui-btn-xs" lay-event="add">添加</a>';
  50. var addCHildBtn='<a class="layui-btn layui-btn-xs" lay-event="add">添加科目名称</a>';
  51. var delBtn='<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>';
  52. return addCHildBtn+delBtn;
  53. }
  54. },
  55. ]],
  56. // limits: [10, 15, 20, 25, 50, 100],
  57. // limit: 10,
  58. page: false
  59. });
  60. treeGrid.on('tool('+tableId+')',function (obj) {
  61. //删除行
  62. if(obj.event === 'del'){
  63. del(obj);
  64. }else if(obj.event==="add"){
  65. //添加行
  66. add(obj.data);
  67. }
  68. });
  69. $('#search').click(function () {
  70. var $keys = $('#name').val();
  71. if(!$keys){
  72. return layer.msg('请输入关键词');
  73. }
  74. treeGrid.reload(tableId,{ page: {page: 1},where: {name: $keys}});
  75. // tableIn.reload();
  76. })
  77. function del(obj) {
  78. layer.confirm("你确定删除数据吗?", {icon: 3, title:'提示'},
  79. //确定回调
  80. function(index){
  81. // console.log("obj",obj)
  82. layer.close(index);
  83. let loading =layer.load(1, {shade: [0.1,'#fff']});
  84. $.post("{:url('del')}", {id: obj.data.id}, function (res) {
  85. layer.close(loading);
  86. if (res.code == 1) {
  87. layer.msg(res.msg, {time: 1000, icon: 1});
  88. obj.del();
  89. } else {
  90. layer.msg(res.msg, {time: 1000, icon: 2});
  91. }
  92. }, "json")
  93. },function (index) {
  94. //取消回调
  95. layer.close(index);
  96. }
  97. );
  98. }
  99. function add(pObj) {
  100. // console.log(pObj)
  101. let id=pObj.id
  102. // layer.msg("dsaasd")
  103. layer.prompt({title: '添加科目名称', formType: 3}, function(text, index) {
  104. layer.close(index);
  105. let loading =layer.load(1, {shade: [0.1,'#fff']});
  106. $.post("{:url('add_major')}", {pid: id, name: text}, function (res) {
  107. layer.close(loading);
  108. if (res.code == 1) {
  109. console.log("res",res)
  110. layer.msg(res.msg, {time: 1000, icon: 1});
  111. treeGrid.reload(tableId,{});
  112. //
  113. // let datas=res.data
  114. // var param={};
  115. // param.name=datas.name;
  116. // param.id=datas.id;
  117. // param.pId=datas.pId;
  118. // treeGrid.addRow(tableId,pObj?pObj.LAY_TABLE_INDEX+1:0,param);
  119. } else {
  120. layer.msg(res.msg, {time: 1000, icon: 2});
  121. }
  122. }, "json")
  123. })
  124. }
  125. });
  126. function openAll() {
  127. var treedata=treeGrid.getDataTreeList(tableId);
  128. treeGrid.treeOpenAll(tableId,!treedata[0][treeGrid.config.cols.isOpen]);
  129. }
  130. </script>