You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

171 lines
6.3 KiB

3 weeks ago
  1. @{
  2. ViewBag.Title = "Index";
  3. Layout = "~/Views/Shared/_Index.cshtml";
  4. }
  5. <script src="~/Content/js/CommonReport/CommonReport.js"></script>
  6. <script src="~/Content/js/datepicker/WdatePicker.js"></script>
  7. <script>
  8. debugger;
  9. var _Closs = new Array();
  10. // 创建一个新的 Date 对象,表示当前日期和时间
  11. var currentDate = new Date();
  12. // 获取当前月份(注意:月份是从0开始计数的)
  13. var currentMonth = currentDate.getMonth() + 1; // 加1以符合人类习惯
  14. var currentyear = currentDate.getFullYear();
  15. $(function () {
  16. $("#txt_DateNow").val(currentyear + "-" + currentMonth)
  17. SetCols();
  18. gridList();
  19. $("#btn_search").click(function () {
  20. currentDate = new Date($("#txt_DateNow").val());
  21. currentMonth = currentDate.getMonth() + 1; // 加1以符合人类习惯
  22. currentyear = currentDate.getFullYear();
  23. SetCols();
  24. gridList();
  25. });
  26. })
  27. //初始化所有grid
  28. function SetCols() {
  29. var cols = new Array();
  30. var collast = {
  31. label: "TOP厂商", name: "供应商", width: 200, align: "center", sortable: false, frozen: true,
  32. cellattr: function (rowId, tv, rawObject, cm, rdata) {
  33. //合并单元格
  34. return 'id=\'供应商' + rowId + "\'";
  35. }
  36. };
  37. cols.push(collast);
  38. var collast = {
  39. label: "项目类别", name: "类别", width: 120, align: "center", sortable: false, frozen: true,
  40. cellattr: function (rowId, tv, rawObject, cm, rdata) {
  41. //合并单元格
  42. return 'id=\'类别' + rowId + "\'";
  43. }
  44. };
  45. cols.push(collast);
  46. var collast = {
  47. label: "物料编码", name: "物料编码", width: 120, align: "center", sortable: false, frozen: true,
  48. cellattr: function (rowId, tv, rawObject, cm, rdata) {
  49. //合并单元格
  50. return 'id=\'产品大类' + rowId + "\'";
  51. }
  52. };
  53. cols.push(collast);
  54. if (currentMonth - 0 < 10) {
  55. var collast = {
  56. label: currentMonth + '月', name: currentyear + '-0' + currentMonth, width: 100, align: "center", sortable: false, frozen: true,
  57. cellattr: function (rowId, tv, rawObject, cm, rdata) {
  58. //合并单元格
  59. return 'id=\'YB' + rowId + "\'";
  60. }
  61. };
  62. cols.push(collast);
  63. } else{
  64. var collast = {
  65. label: currentMonth + '月', name: currentyear + '-' + currentMonth, width: 100, align: "center", sortable: false, frozen: true,
  66. cellattr: function (rowId, tv, rawObject, cm, rdata) {
  67. //合并单元格
  68. return 'id=\'YB' + rowId + "\'";
  69. }
  70. };
  71. cols.push(collast);
  72. }
  73. _Closs = cols;
  74. }
  75. function gridList() {
  76. debugger;
  77. document.getElementById("gridPanel").innerHTML = '<table id="gridList"></table><div id="gridPager"></div> ';//重置grid
  78. var $gridList = $("#gridList");
  79. var queryJson = {
  80. DateNow: $("#txt_DateNow").val(),
  81. }
  82. // 初始化表格
  83. $gridList.dataGrid({
  84. url: "/KBSWMS/ICSInspectionReports/GetPassFirstTime5" + "?" + Math.random(),
  85. postData: { queryJson: JSON.stringify(queryJson) },
  86. height: $(window).height() - 128,
  87. width: $(window).width() - 128,
  88. colModel: _Closs,
  89. rownumbers: false,
  90. rowNum: 2000,
  91. footerrow: true,//启用底部行(对列汇总时要启用)第一步
  92. gridComplete: function () {
  93. var gridName = "gridList";
  94. Merger(gridName, '供应商');
  95. },
  96. Number: 1000
  97. });
  98. // 搜索按钮点击事件
  99. }
  100. function Merger(gridName, CellName) {
  101. debugger;
  102. //得到显示到界面的id集合
  103. var mya = $("#" + gridName + "").getDataIDs();
  104. //当前显示多少条
  105. var length = mya.length;
  106. for (var i = 0; i < length; i++) {
  107. //从上到下获取一条信息
  108. var before = $("#" + gridName + "").jqGrid('getRowData', mya[i]);
  109. //定义合并行数
  110. var rowSpanTaxCount = 1;
  111. for (j = i + 1; j <= length; j++) {
  112. //和上边的信息对比 如果值一样就合并行数+1 然后设置rowspan 让当前单元格隐藏
  113. var end = $("#" + gridName + "").jqGrid('getRowData', mya[j]);
  114. if (before[CellName] == end[CellName]) {
  115. rowSpanTaxCount++;
  116. $("#" + gridName + "").setCell(mya[j], CellName, '', { display: 'none' });
  117. } else {
  118. rowSpanTaxCount = 1;
  119. break;
  120. }
  121. $("#" + CellName + "" + mya[i] + "").attr("rowspan", rowSpanTaxCount);
  122. }
  123. }
  124. }
  125. function btn_Export() {
  126. var data = "&DateNow=" + $("#txt_DateNow").val()
  127. $.download("/KBSWMS/ICSInspectionReports/ExportAll5?" + Math.random(), data, 'post');
  128. }
  129. </script>
  130. <iframe id="ifrm" src="" width="0" height="0"></iframe>
  131. <div class="topPanel" style="height:50px">
  132. <div class="toolbar">
  133. <div class="btn-group">
  134. <a class="btn btn-primary" id="btn_search"><span class="glyphicon glyphicon-refresh"></span></a>
  135. <a id="NF-Export" authorize="yes" class="btn btn-primary" onclick="btn_Export()"><i class="fa fa-download"></i>当前页导出</a>
  136. </div>
  137. </div>
  138. <div class="search">
  139. <table>
  140. <tr>
  141. <th class="formTitle">
  142. <span style="color: red;">*</span>日期:
  143. </th>
  144. <td class="formValue">
  145. <input type="text" name="txt_DateNow" id="txt_DateNow" class="form-control" style="width: 100px;height:13px" maxlength="10" onclick="WdatePicker({ dateFmt: 'yyyy-MM' })" placeholder="日期" />
  146. </td>
  147. </tr>
  148. </table>
  149. </div>
  150. </div>
  151. <div class="gridPanel" id="gridPanel">
  152. <table id="gridList"></table>
  153. <div id="gridPager"></div>
  154. </div>