index.html 7.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173
  1. <!doctype html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="utf-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
  6. <link rel="shortcut icon" href="/img/logo.png" />
  7. <link rel="bookmark" href="/img/logo.png" />
  8. <link rel="stylesheet" href="/plugins/bootstrap-4.3.1/css/bootstrap.min.css">
  9. <link rel="stylesheet" href="/plugins/font-awesome-4.7.0/css/font-awesome.min.css">
  10. <link rel="stylesheet" href="../common/StyleSheet.css" />
  11. <script src="/Plugins/jquery-3.4.1/jquery-3.4.1.min.js"></script>
  12. <script src="/Plugins/xrequest/xrequest.min.js"></script>
  13. <title>东科软件</title>
  14. </head>
  15. <body class="bg-light">
  16. <!--自动缩放-->
  17. <!--<script src="../common/setting.js"></script>-->
  18. <!--导航菜单-->
  19. <script src="../common/navbar.js"></script>
  20. <div class="container-fluid pt-3">
  21. <div class="p-4 rounded shadow-sm bg-white">
  22. <div class="position-absolute d-none d-lg-block">
  23. <img src="/Img/dongke.png" style="width:100px;" />
  24. </div>
  25. <div class="position-relative pull-right d-none d-lg-block">
  26. <a class="nav-link" href="javascript:void(0)" onclick="fullScreen(); $('#navbar').toggle();">
  27. <i class="fa fa-bars" aria-hidden="true"></i>
  28. </a>
  29. </div>
  30. <!--报表名称-->
  31. <h4 class="text-center pb-2">包装单一览表</h4>
  32. <!--工具条-->
  33. <div id="toolbar" class="pb-4">
  34. <form id="formSearch" class="form-inline">
  35. <div class="form-group pr-2">
  36. <div>线号:</div>
  37. <select id="线号" name="线号" class="custom-select" style="width:120px;">
  38. <option value="">请选择...</option>
  39. <option value="1">1</option>
  40. <option value="2">2</option>
  41. </select>
  42. </div>
  43. <div class="form-group pull-right">
  44. <button id="清空按钮" type="button" onclick="resetForm()" class="btn btn-secondary">清空</button>
  45. <div class="pl-2"></div>
  46. <button id="搜索按钮" type="button" onclick="loadData()" class="btn btn-danger">搜索</button>
  47. </div>
  48. </form>
  49. </div>
  50. <!--报表数据-->
  51. <table id="table" class="table table-bordered table-hover" data-toolbar="#toolbar" style="font-size: 14px;">
  52. <thead>
  53. <tr>
  54. <th scope="col" data-field="线号" data-sortable="true">线号</th>
  55. <th scope="col" data-field="出水距" data-sortable="true">水距</th>
  56. <th scope="col" data-field="产品型号" data-sortable="true">产品型号</th>
  57. <th scope="col" data-field="商标" data-sortable="true">商标</th>
  58. <th scope="col" data-field="商标物料描述" data-sortable="true">物料描述</th>
  59. <th scope="col" data-field="商标变更" data-sortable="true">商标变更</th>
  60. <th scope="col" data-field="商标变更物料描述" data-sortable="true">物料描述</th>
  61. <th scope="col" data-field="出库数量" data-sortable="true">数量</th>
  62. <th scope="col" data-field="已出数量" data-sortable="true">已出</th>
  63. <th scope="col" data-field="状态" data-sortable="true">状态</th>
  64. <th scope="col" data-field="下单时间" data-sortable="true">下单时间</th>
  65. </tr>
  66. </thead>
  67. </table>
  68. <div class="pb-4"></div>
  69. </div>
  70. </div>
  71. <!--版权信息-->
  72. <script src="../common/footer.js"></script>
  73. <script src="/Plugins/bootstrap-4.3.1/js/bootstrap.bundle.min.js"></script>
  74. <script src="/Plugins/bootstrap-table/bootstrap-table.min.js"></script>
  75. <script src="/Plugins/bootstrap-table/bootstrap-table-locale-all.min.js"></script>
  76. <script src="/Plugins/sweetalert/sweetalert.min.js"></script>
  77. <script src="../Common/xuwell.js"></script>
  78. <script>
  79. $(document).ready(function () {
  80. loadData();
  81. setInterval(function () { loadData(); }, 30000);
  82. });
  83. function loadData() {
  84. const select = document.getElementById('线号');
  85. //await xuwell.loadTable({
  86. // id: '#table',
  87. // url: 'index.ashx?linenumber=' + select.value + '&r=' + Math.random()
  88. //});
  89. //将原有方法提取出来 新加uptable方法
  90. var $table = $('#table');
  91. $table.bootstrapTable('destroy').bootstrapTable({
  92. toggle: "table",
  93. boolbar: '#toolbar',
  94. url: 'index.ashx?linenumber=' + select.value + '&r=' + Math.random(),
  95. locale: "zh-CN",
  96. sortable: false,
  97. sortOrder: "asc",
  98. pagination: true,
  99. pageNumber: 1,
  100. pageSize: 10,
  101. pageList: "[10, 100, 500, 1000, 2000, 5000, ALL]",
  102. striped: true,
  103. sidePagination: 'server',
  104. responseHandler: function (res) {
  105. return res;
  106. },
  107. onLoadSuccess: function (data) {
  108. if (data['success'] == false) {
  109. swal({
  110. title: '登录异常!',
  111. text: '请您先登录系统!',
  112. icon: 'error',
  113. button: '确定'
  114. }).then(function () {
  115. window.location = '../common/login.html';
  116. });
  117. }
  118. uptable(data.rows);
  119. }
  120. });
  121. };
  122. function resetForm() {
  123. $('#formSearch')[0].reset();
  124. };
  125. /**合并单元格*/
  126. const uptable = (data) => {
  127. /**出水距*/
  128. let dataValue = null;
  129. /**起始单元格 */
  130. let startIndex = 0;
  131. /**合并行数 */
  132. let rowspan = 1;
  133. data.forEach((value, index) => {
  134. // 初始化
  135. if (dataValue === null) {
  136. dataValue = value.出水距;
  137. startIndex = index;
  138. }
  139. //检测到变化点
  140. else if (value.出水距 !== dataValue) {
  141. //合并前一个组并且只合并数量大于1的组
  142. if (rowspan > 1) {
  143. $('#table').bootstrapTable('mergeCells', { index: startIndex, field: '出水距', rowspan: rowspan })
  144. }
  145. // 更新状态
  146. dataValue = value.出水距;
  147. startIndex = index;
  148. rowspan = 1;
  149. }
  150. else {
  151. // 同一组,增加计数
  152. rowspan++;
  153. }
  154. });
  155. // 处理最后一个组(如果数组以同一组结束且数量大于1)
  156. if (dataValue !== null && rowspan > 1) {
  157. $('#table').bootstrapTable('mergeCells', { index: startIndex, field: '出水距', rowspan: rowspan })
  158. }
  159. }
  160. </script>
  161. </body>
  162. </html>