datatablev254.blade.php 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218
  1. <script type="text/html" id="toolbar">
  2. <span class="data-attr-{{ $dataId }}" style="display:none"
  3. @verbatim{{# layui.each(d, function(index, item){ }}data-{{ index }}="{{ item }}"{{# }); }}@endverbatim ></span>
  4. @if($dataToolBar!=-1)
  5. @foreach ($dataToolBar as $tool)
  6. <a class="layui-btn layui-btn-sm {{ $tool }}" lay-event="detail" pid="{{ $primaryKey }}"
  7. uri="/{{S('MODULE')}}/{{S('CONTROLLER')}}/{{$tool}}/?{{$primaryKey}}="
  8. href="/{{S('MODULE')}}/{{S('CONTROLLER')}}/{{$tool}}/?{{$primaryKey}}=@verbatim{{ d.@endverbatim {{$primaryKey}} @verbatim}}@endverbatim">@if (trans($dataTableLang.'.'.$tool)==$dataTableLang.'.'.$tool) {{ trans('common.'.$tool) }} @else {{ trans($dataTableLang.'.'.$tool) }} @endif</a>
  9. @endforeach
  10. @endif
  11. </script>
  12. <table class="layui-hide" id="{{ $dataId }}" lay-filter="{{ $dataId }}"></table>
  13. <style>
  14. .layui-table-view .layui-table {
  15. position: relative;
  16. width: 100%;
  17. margin: 0px;
  18. }
  19. .layui-form {
  20. height: auto !important;
  21. }
  22. .layui-table-cell {
  23. padding: 0px 12px;
  24. }
  25. </style>
  26. <script>
  27. function initcss(){
  28. let height = $(".container .layui-col-xs12 .layui-row form").height();
  29. $(".container .layui-border-box").css('margin-top', height+2);
  30. //$(".layui-tab-content").height("100%");
  31. }
  32. function loadCols() {
  33. var cols = @json($dataCols);
  34. try {
  35. cols = optCols($cols);
  36. } catch (ex) {
  37. }
  38. return cols;
  39. }
  40. function loadData() {
  41. return;
  42. }
  43. /**
  44. * 初始化where条件
  45. **/
  46. function initLoadWhere() {
  47. var list = {};
  48. $('*[eventType=event-query]').each(function (index, item) {
  49. var field = $(this).attr('name');
  50. var value = $(this).val();
  51. try {
  52. list[field] = filterWhere(field, value);
  53. } catch (ex) {
  54. list[field] = value;
  55. }
  56. list[field] = value;
  57. });
  58. return list;
  59. }
  60. var tab;
  61. var pid = '{{ $primaryKey }}';
  62. layui.use(['table', 'form', 'tree', 'laydate'], function () {
  63. table = layui.table ,
  64. form = layui.form,
  65. laydate = layui.laydate //日期;
  66. //展示已知数据
  67. var tableIns = table.render({
  68. elem: '#{{ $dataId }} '
  69. // ,height: 'full-150'
  70. // ,cellMinWidth: 100
  71. , cellMinWidth: 50
  72. , url: '{!! $dataUri !!}'
  73. , where: initLoadWhere()
  74. , cols: loadCols()
  75. , cellMinWidth: 80
  76. //,skin: 'line' //表格风格
  77. , even: true
  78. , autoSort: false
  79. , id: '{{ $dataId }}'
  80. , page: true //是否显示分页
  81. , limits: [5, 7, 10, 20, 30, 50, 100, 200, 500, 1000, 2000]
  82. , limit: 50 //每页默认显示的数量
  83. , done: function (res, curr, count) {
  84. initcss();
  85. // var width = $('.layui-table').find('th .layui-table-cell').width();
  86. //
  87. // width = parseFloat(width);
  88. // $('.layui-table').find('.layui-table-cell').width(width-3)
  89. try {
  90. dataTableLoadFinished(res, curr, count);
  91. } catch (ex) {
  92. }
  93. tab = tableIns;
  94. }
  95. });
  96. table.on('sort({{ $dataId }})', function (obj) {
  97. table.reload('{{ $dataId }}', {
  98. page: {
  99. curr: 1 //重新从第 1 页开始
  100. }
  101. , initSort: obj
  102. , where: {
  103. field: obj.field
  104. , order: obj.type
  105. }
  106. });
  107. });
  108. table.on('edit({{ $dataId }})', function (obj) {
  109. var value = obj.value //得到修改后的值
  110. , data = obj.data //得到所在行所有键值
  111. , field = obj.field; //得到字段
  112. try {
  113. editlineOpt(data.id, field, value);
  114. } catch (ex) {
  115. editLine('/{{S('MODULE')}}/{{S('CONTROLLER')}}/editCols?id=' + data.id + '&field=' + field + '&value=' + value, '{{ trans("common.editline") }}');
  116. }
  117. });
  118. form.on('switch({{ $dataId }})', function (obj) {
  119. try {
  120. switchOpt(obj);
  121. } catch (ex) {
  122. }
  123. });
  124. form.on('checkbox({{ $dataId }})', function (obj) {
  125. try {
  126. checkboxOpt(obj);
  127. } catch (ex) {
  128. }
  129. });
  130. table.on('checkbox({{ $dataId }})', function (obj) {
  131. if (g.currentDataTableIdArray == undefined) {
  132. g.currentDataTableIdArray = [];
  133. }
  134. if (obj.checked) {
  135. if (obj.type == 'all') {
  136. var checkStatus = table.checkStatus('{{ $dataId }}'), data = checkStatus.data;
  137. for (x in data) {
  138. g.currentDataTableIdArray.push(data[x][pid]);
  139. }
  140. } else {
  141. g.currentDataTableIdArray.push(obj.data[pid]);
  142. }
  143. } else {
  144. var id = obj.data[pid];
  145. var index = $.inArray(id, g.currentDataTableIdArray);
  146. if (index != -1) {
  147. g.currentDataTableIdArray.splice(index, 1);
  148. }
  149. }
  150. g.currentDataTableIds = g.currentDataTableIdArray.join(',');
  151. console.log(g.currentDataTableIds);
  152. });
  153. //获取今日号
  154. var data = new Date();
  155. var m = data.getMonth();
  156. m = m + 1;
  157. var d = data.getDate();
  158. var y = data.getFullYear();
  159. var now = y + '-' + m + '-' + d;
  160. var obj = '{"' + now + '":"今天"}';
  161. var obj = JSON.parse(obj);
  162. //同时绑定多个
  163. lay('.test-item').each(function () {
  164. laydate.render({
  165. elem: this
  166. , type: 'date'
  167. , trigger: 'click'
  168. , btns: ['now']
  169. , mark: obj
  170. , done: function (value, date) {
  171. $('.lay-btn-diy').click();
  172. }
  173. });
  174. });
  175. @stack('dataTableJS')
  176. g.currentDataTable = table;
  177. var _dataTableReload = {
  178. reload: function () {
  179. //执行重载
  180. table.reload('{{ $dataId }}', {
  181. page: {
  182. curr: 1 //重新从第 1 页开始
  183. }
  184. , where: initLoadWhere()
  185. });
  186. }
  187. };
  188. g.currentDataTableReload = _dataTableReload;
  189. $('*[eventType=event-query-submit]').on('click', function () {
  190. $('*[eventType=eventForm]').submit();
  191. // _dataTableReload['reload'] ? _dataTableReload['reload'].call(this) : '';
  192. });
  193. function tableReload(obj) {
  194. _dataTableReload['reload'] ? _dataTableReload['reload'].call(null) : '';
  195. }
  196. });
  197. </script>