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.

220 lines
8.0 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. ;
  21. currentDate = new Date($("#txt_DateNow").val());
  22. currentMonth = currentDate.getMonth() + 1; // 加1以符合人类习惯
  23. currentyear = currentDate.getFullYear();
  24. //var queryJson = {
  25. // DateNow: $("#txt_DateNow").val(),
  26. //}
  27. //$gridList.jqGrid('setGridParam', {
  28. // postData: { queryJson: JSON.stringify(queryJson) },
  29. //}).trigger('reloadGrid');
  30. SetCols();
  31. gridList();
  32. });
  33. })
  34. //初始化所有grid
  35. function SetCols() {
  36. var cols = new Array();
  37. var collast = {
  38. label: "材料类型", name: "产品大类", width: 120, align: "center", sortable: false, frozen: true,
  39. cellattr: function (rowId, tv, rawObject, cm, rdata) {
  40. //合并单元格
  41. return 'id=\'产品大类' + rowId + "\'";
  42. }
  43. };
  44. cols.push(collast);
  45. //var collast = {
  46. // label: "TOP排序", name: "top", width: 100, align: "center", sortable: false, frozen: true,
  47. // cellattr: function (rowId, tv, rawObject, cm, rdata) {
  48. // //合并单元格
  49. // return 'id=\'top' + rowId + "\'";
  50. // }};
  51. //cols.push(collast);
  52. var collast = {
  53. label: "TOP厂商", name: "供应商", width: 200, align: "center", sortable: false, frozen: true,
  54. cellattr: function (rowId, tv, rawObject, cm, rdata) {
  55. //合并单元格
  56. return 'id=\'供应商' + rowId + "\'";
  57. }
  58. };
  59. cols.push(collast);
  60. var collast = {
  61. label: "项目别", name: "类别", width: 120, align: "center", sortable: false, frozen: true,
  62. cellattr: function (rowId, tv, rawObject, cm, rdata) {
  63. //合并单元格
  64. return 'id=\'类别' + rowId + "\'";
  65. }
  66. };
  67. cols.push(collast);
  68. if (currentMonth - 0 < 10) {
  69. var collast = {
  70. label: currentMonth + '月', name: currentyear + '-0' + currentMonth, width: 100, align: "center", sortable: false, frozen: true,
  71. cellattr: function (rowId, tv, rawObject, cm, rdata) {
  72. //合并单元格
  73. return 'id=\'YB' + rowId + "\'";
  74. }
  75. };
  76. cols.push(collast);
  77. } else {
  78. var collast = {
  79. label: currentMonth + '月', name: currentyear + '-' + currentMonth, width: 100, align: "center", sortable: false, frozen: true,
  80. cellattr: function (rowId, tv, rawObject, cm, rdata) {
  81. //合并单元格
  82. return 'id=\'YB' + rowId + "\'";
  83. }
  84. };
  85. cols.push(collast);
  86. }
  87. _Closs = cols;
  88. }
  89. function gridList() {
  90. debugger;
  91. document.getElementById("gridPanel").innerHTML = '<table id="gridList"></table><div id="gridPager"></div> ';//重置grid
  92. var $gridList = $("#gridList");
  93. var queryJson = {
  94. DateNow: $("#txt_DateNow").val(),
  95. }
  96. // 初始化表格
  97. $gridList.dataGrid({
  98. url: "/KBSWMS/ICSInspectionReports/GetPassFirstTime6" + "?" + Math.random(),
  99. postData: { queryJson: JSON.stringify(queryJson) },
  100. height: $(window).height() - 128,
  101. width: $(window).width() - 128,
  102. colModel: _Closs,
  103. rownumbers: false,
  104. footerrow: true,//启用底部行(对列汇总时要启用)第一步
  105. gridComplete: function () {
  106. var gridName = "gridList";
  107. //SetCell(gridName, '供应商');
  108. //Merger(gridName, 'top');
  109. Merger(gridName, '供应商');
  110. Merger(gridName, '产品大类');
  111. },
  112. pager: "#gridPager",
  113. rowNum: 500,
  114. });
  115. // 搜索按钮点击事件
  116. //$("#btn_search").click(function () {
  117. // var queryJson = {
  118. // DateNow: $("#txt_DateNow").val(),
  119. // }
  120. // $gridList.jqGrid('setGridParam', {
  121. // postData: { queryJson: JSON.stringify(queryJson) },
  122. // }).trigger('reloadGrid');
  123. //});
  124. }
  125. function Merger(gridName, CellName) {
  126. debugger;
  127. //得到显示到界面的id集合
  128. var mya = $("#" + gridName + "").getDataIDs();
  129. //当前显示多少条
  130. var length = mya.length;
  131. for (var i = 0; i < length; i++) {
  132. //从上到下获取一条信息
  133. var before = $("#" + gridName + "").jqGrid('getRowData', mya[i]);
  134. //定义合并行数
  135. var rowSpanTaxCount = 1;
  136. for (j = i + 1; j <= length; j++) {
  137. //和上边的信息对比 如果值一样就合并行数+1 然后设置rowspan 让当前单元格隐藏
  138. var end = $("#" + gridName + "").jqGrid('getRowData', mya[j]);
  139. if (before[CellName] == end[CellName]) {
  140. rowSpanTaxCount++;
  141. $("#" + gridName + "").setCell(mya[j], CellName, '', { display: 'none' });
  142. } else {
  143. rowSpanTaxCount = 1;
  144. break;
  145. }
  146. $("#" + CellName + "" + mya[i] + "").attr("rowspan", rowSpanTaxCount);
  147. }
  148. }
  149. }
  150. //function SetCell(gridName, CellName) {
  151. // var mya = $("#" + gridName + "").getDataIDs();
  152. // //当前显示多少条
  153. // var length = mya.length;
  154. // for (var i = 0; i < length; i++) {
  155. // let effectiveRowNumber = i % 9 + 1;
  156. // // 根据规则判断返回值
  157. // if (effectiveRowNumber <= 3) {
  158. // $("#" + gridName + "").setCell(mya[i], "top", "TOP1");
  159. // } else if (effectiveRowNumber <= 6) {
  160. // $("#" + gridName + "").setCell(mya[i], "top", "TOP2");
  161. // } else {
  162. // $("#" + gridName + "").setCell(mya[i], "top", "TOP3");
  163. // }
  164. // }
  165. //}
  166. function btn_Export() {
  167. var data = "&DateNow=" + $("#txt_DateNow").val()
  168. $.download("/KBSWMS/ICSInspectionReports/ExportAll6?" + Math.random(), data, 'post');
  169. }
  170. </script>
  171. <iframe id="ifrm" src="" width="0" height="0"></iframe>
  172. <div class="topPanel" style="height:50px">
  173. <div class="toolbar">
  174. <div class="btn-group">
  175. <a class="btn btn-primary" id="btn_search"><span class="glyphicon glyphicon-refresh"></span></a>
  176. <a id="NF-Export" authorize="yes" class="btn btn-primary" onclick="btn_Export()"><i class="fa fa-download"></i>当前页导出</a>
  177. </div>
  178. </div>
  179. <div class="search">
  180. <table>
  181. <tr>
  182. <th class="formTitle">
  183. <span style="color: red;">*</span>日期:
  184. </th>
  185. <td class="formValue">
  186. <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="日期" />
  187. </td>
  188. </tr>
  189. </table>
  190. </div>
  191. </div>
  192. <div class="gridPanel" id="gridPanel">
  193. <table id="gridList"></table>
  194. <div id="gridPager"></div>
  195. </div>