billConfirmation.blade.php 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. @extends('layouts.app')
  2. @section('title')客户管理-账单确认@endsection
  3. @section('content')
  4. @component('customer.finance.menu')@endcomponent
  5. <div class="container-fluid" id="container">
  6. <div id="form_div"></div>
  7. <div class="mt-1">
  8. <button type="button" class="btn btn-outline-dark btn-sm form-control-sm dropdown-toggle tooltipTarget" :class="[checkData.length>0?'btn-dark text-light':'']"
  9. data-toggle="dropdown" title="导出所有页将会以搜索条件得到的筛选结果,将其全部记录(每一页)导出">
  10. 导出Excel
  11. </button>
  12. <div class="dropdown-menu">
  13. <a class="dropdown-item" @click="excelExport(false)" href="javascript:">导出勾选内容</a>
  14. <a class="dropdown-item" @click="excelExport(true)" href="javascript:">导出所有页</a>
  15. </div>
  16. </div>
  17. <div>
  18. <label for="all" id="cloneCheckAll" class="d-none">
  19. <input id="all" type="checkbox" @click="checkAll($event)">全选
  20. </label>
  21. <table class="d-none" id="headerRoll"></table>
  22. <table class="table table-sm text-nowrap table-striped table-hover" id="headerParent">
  23. <tr id="header"></tr>
  24. </table>
  25. </div>
  26. </div>
  27. @stop
  28. @section("lastScript")
  29. <script type="text/javascript" src="{{mix('js/queryForm/header.js')}}"></script>
  30. <script type="text/javascript" src="{{mix('js/queryForm/queryForm.js')}}"></script>
  31. <script>
  32. let vue = new Vue({
  33. el:"#container",
  34. data:{
  35. checkData:[],
  36. bills : [],
  37. },
  38. mounted(){
  39. let data=[
  40. [
  41. {name:'workgroup',type:'select',tip:'项目小组',placeholder: '项目小组',data:[]},
  42. {name:'counting_month_start',type:'dateMonth',tip:'起始结算月'},
  43. {name:'owner_id',type:'select_multiple_select',tip:['输入关键词快速定位下拉列表,回车确定','选择要显示的项目'],
  44. placeholder:['项目','定位或多选项目'],data:[]},
  45. ],[
  46. {name:'customer_id',type:'select',tip:'客户',placeholder: '客户',data:[]},
  47. {name:'counting_month_end',type:'dateMonth',tip:'结束结算月'},
  48. ],
  49. ];
  50. this.form = new query({
  51. el:"#form_div",
  52. condition:data,
  53. });
  54. this.form.init();
  55. let column = [
  56. {name:'cloneCheckAll',customization:true,type:'checkAll',column:'id',
  57. dom:$('#cloneCheckAll').removeClass('d-none'), neglect: true},
  58. {name:'index',value: '序号', neglect: true},
  59. {name:'workgroup',value: '项目小组'},
  60. {name:'customer',value: '客户'},
  61. {name:'owner',value: '子项目'},
  62. {name:'counting_month',value: '结算月'},
  63. {name:'created_at',value: '录入日期'},
  64. {name:'initial_fee',value: '原始账单金额', neglect: true},
  65. {name:'confirm_fee',value: '确认账单金额', neglect: true},
  66. {name:'difference',value: '差额', neglect: true},
  67. {name:'operating',value: '操作', neglect: true},
  68. ];
  69. let _this=this;
  70. setTimeout(function () {
  71. let header = new Header({
  72. el: "#header",
  73. column: column,
  74. data: _this.reports,
  75. restorationColumn: 'id',
  76. fixedTop:($('#form_div').height())+2,
  77. offset:0.5,
  78. vue:vue
  79. });
  80. header.init();
  81. },0);
  82. },
  83. methods:{
  84. excelExport(isAll){
  85. },
  86. //全选事件
  87. checkAll(e){
  88. if (e.target.checked){
  89. this.bills.forEach((el)=>{
  90. if (this.checkData.indexOf(el.id) === '-1'){
  91. this.checkData.push(el.id);
  92. }
  93. });
  94. }else {
  95. this.checkData = [];
  96. }
  97. },
  98. },
  99. });
  100. </script>
  101. @stop