cate.html 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146
  1. {extend name="common/base"/}
  2. <!-- 主体 -->
  3. {block name="body"}
  4. <div class="p-3">
  5. <div class="gg-form-bar border-x border-t red" style="padding-bottom:12px">
  6. <p><strong>说明</strong></p>
  7. <p>合同性质分为:普通合同、框架合同、补充协议、其他合同</p>
  8. <p>1、普通合同有合同金额,且金额为必填项;</p>
  9. <p>2、框架合同无合同金额;</p>
  10. <p>3、补充协议和其它合同有合同金额,但合同金额不是必填项;</p>
  11. <p>4、补充协议必须要选择一个母合同。</p>
  12. </div>
  13. <table class="layui-hide" id="test" lay-filter="test"></table>
  14. </div>
  15. <script type="text/html" id="toolbarDemo">
  16. <div class="layui-btn-container">
  17. <button class="layui-btn layui-btn-sm addNew" type="button">+ 添加合同类型</button>
  18. </div>
  19. </script>
  20. {/block}
  21. <!-- /主体 -->
  22. <!-- 脚本 -->
  23. {block name="script"}
  24. <script>
  25. const moduleInit = ['tool'];
  26. function gouguInit() {
  27. var table = layui.table, tool = layui.tool, form = layui.form;
  28. var allcount;
  29. layui.pageTable = table.render({
  30. elem: '#test'
  31. ,toolbar: '#toolbarDemo'
  32. ,defaultToolbar: false
  33. ,title:'合同类型列表'
  34. ,url: "/admin/contract.cate/cate"
  35. ,page: false
  36. ,cellMinWidth: 80
  37. ,parseData: function (res) { // 数据解析回调函数
  38. // 在这里可以获取数据总数
  39. allcount = res.data.length;
  40. return {
  41. code: res.code, // 数据状态码
  42. msg: res.msg, // 状态信息
  43. count: res.count, // 数据总数
  44. data: res.data // 当前页数据
  45. };
  46. },
  47. cols: [[
  48. {field:'id',width:80, title: 'ID号', align:'center',
  49. templet: function (d) {
  50. console.log(allcount,d.LAY_NUM)
  51. return allcount - (d.LAY_NUM - 1);
  52. }
  53. }
  54. ,{field:'title',title: '类别名称'}
  55. ,{field:'status', title: '状态',width:80,align:'center',templet: function(d){
  56. var html1='<span class="green">正常</span>';
  57. var html2='<span class="yellow">禁用</span>';
  58. if(d.status==1){
  59. return html1;
  60. }else{
  61. return html2;
  62. }
  63. }}
  64. ,{width:100,title: '操作', align:'center',templet: function(d){
  65. var html='';
  66. var btn='<a class="layui-btn layui-btn-xs" lay-event="edit">编辑</a>';
  67. var btn1='<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="disable">禁用</a>';
  68. var btn2='<a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="open">启用</a>';
  69. if(d.status==1){
  70. html = '<div class="layui-btn-group">'+btn+btn1+'</div>';
  71. }
  72. else{
  73. html = '<div class="layui-btn-group">'+btn+btn2+'</div>';
  74. }
  75. return html;
  76. }}
  77. ]]
  78. });
  79. table.on('tool(test)',function (obj) {
  80. if(obj.event === 'edit'){
  81. addExpense(obj.data.id,obj.data.title);
  82. }
  83. if(obj.event === 'disable'){
  84. layer.confirm('确定要禁用该类别吗?', {icon: 3, title:'提示'}, function(index){
  85. let callback = function (e) {
  86. layer.msg(e.msg);
  87. if (e.code == 0) {
  88. layui.pageTable.reload();
  89. }
  90. }
  91. tool.post("/admin/contract.cate/cate_check", { id: obj.data.id,status: 0,title: obj.data.title}, callback);
  92. layer.close(index);
  93. });
  94. }
  95. if(obj.event === 'open'){
  96. layer.confirm('确定要启用该类别吗?', {icon: 3, title:'提示'}, function(index){
  97. let callback = function (e) {
  98. layer.msg(e.msg);
  99. if (e.code == 0) {
  100. layui.pageTable.reload();
  101. }
  102. }
  103. tool.post("/admin/contract.cate/cate_check", { id: obj.data.id,status: 1,title: obj.data.title}, callback);
  104. layer.close(index);
  105. });
  106. }
  107. });
  108. $('body').on('click','.addNew',function(){
  109. addExpense(0,'');
  110. });
  111. function addExpense(id,val){
  112. var title = '新增类别';
  113. if(id>0){
  114. title = '编辑类别';
  115. }
  116. layer.prompt({
  117. title: title,
  118. value: val,
  119. yes: function(index, layero) {
  120. // 获取文本框输入的值
  121. var value = layero.find(".layui-layer-input").val();
  122. if (value) {
  123. let callback = function (e) {
  124. layer.msg(e.msg);
  125. if (e.code == 0) {
  126. layui.pageTable.reload();
  127. }
  128. }
  129. tool.post("/admin/contract.cate/cate_add", {id: id,title: value}, callback);
  130. layer.close(index);
  131. } else {
  132. layer.msg('请填写类别标题');
  133. }
  134. }
  135. })
  136. }
  137. }
  138. </script>
  139. {/block}
  140. <!-- /脚本 -->