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.

278 lines
12 KiB

3 weeks ago
  1. @{
  2. ViewBag.Title = "Index";
  3. Layout = "~/Views/Shared/_Index.cshtml";
  4. }
  5. <script src="~/Content/js/datepicker/WdatePicker.js"></script>
  6. <script>
  7. debugger;
  8. var myDate = new Date;
  9. var year = myDate.getFullYear(); //获取当前年
  10. var mon = myDate.getMonth() + 1 < 10 ? "0" + (myDate.getMonth() + 1) : myDate.getMonth() + 1; //获取当前月
  11. var date = myDate.getDate() + 1 < 10 ? "0" + myDate.getDate() : myDate.getDate(); //获取当前日
  12. var MtimeFrom = year + "-" + mon + "-" + date;
  13. var MtimeArrive = year + "-" + mon + "-" + date;
  14. var _Clos = new Array();
  15. var _Closs = new Array();
  16. $(function () {
  17. SetCols();
  18. gridList();
  19. });
  20. function Selchange() {
  21. document.getElementById("gridPanel").innerHTML = '<table id="gridList"></table> <div id="gridPager"></div>';//重置grid
  22. gridList();
  23. }
  24. //动态加载列
  25. function SetCols() {
  26. $.ajax({
  27. url: "/Print/SelectColumnName?" + Math.random(),
  28. dataType: "json",
  29. async: false,
  30. success: function (data) {
  31. var cols = new Array();
  32. //var collast = { label: "主键", name: "ID", hidden: true, key: true };
  33. //cols.push(collast);
  34. var collast = { label: '料品编码', name: 'InvCode', width: 100, align: 'left' };
  35. cols.push(collast);
  36. var collast = { label: '料品名称', name: 'InvName', width: 200, align: 'left' };
  37. cols.push(collast);
  38. var collast = { label: '规格型号', name: 'InvStd', width: 200, align: 'left' };
  39. cols.push(collast);
  40. var collast = { label: '仓库编码', name: 'WHCode', width: 100, align: 'left' };
  41. cols.push(collast);
  42. var collast = { label: '仓库名称', name: 'WHName', width: 100, align: 'left' };
  43. cols.push(collast);
  44. var collast = { label: '库位代码', name: 'LocationCode', width: 100, align: 'left' };
  45. cols.push(collast);
  46. var collast = { label: '批次', name: 'BatchCode', width: 100, align: 'left' };
  47. cols.push(collast);
  48. var collast = { label: '杂发/杂收单号', name: 'TransCode', width: 150, align: 'left' };
  49. cols.push(collast);
  50. var collast = { label: '数量', name: 'Quantity', width: 100, align: 'left' };
  51. cols.push(collast);
  52. var collast = { label: '时间', name: 'MTIME', width: 100, align: 'left' };
  53. cols.push(collast);
  54. _Clos = cols;
  55. }
  56. });
  57. }
  58. function gridList() {
  59. var Type = $("#selShow").val();
  60. var $gridList = $("#gridList");
  61. var queryJson = {
  62. StartDate: $("#txt_StartDate").val(),
  63. EndDate: $("#txt_EndDate").val(),
  64. InvCode: $("#txt_InvCode").val(),
  65. WHCode: $("#txt_WHCode").val(),
  66. LocationCode: $("#txt_LocationCode").val(),
  67. BatchCode: $("#txt_BatchCode").val(),
  68. }
  69. $gridList.dataGrid({
  70. url: "/DHAY/ICSOtherInOut/GetList? " + Math.random(),
  71. postData: { queryJson: JSON.stringify(queryJson), Type: Type },
  72. height: $(window).height() - 150,
  73. width: $(window).width() - 500,
  74. colModel: [
  75. /* { label: "主键", name: "ID", hidden: true, key: true },*/
  76. { label: "主键", name: "InvID", hidden: true},
  77. { label: '物料编码', name: 'InvCode', width: 120, align: 'left' },
  78. { label: '物料名称', name: "InvName", width: 200, align: "left"},
  79. { label: '仓库编码', name: 'WHCode', width: 150, align: 'left' },
  80. { label: '仓库名称', name: 'WHName', width: 200, align: 'left' },
  81. { label: '库位代码', name: 'LocationCode', width: 100, align: 'left' },
  82. { label: '批次号', name: 'BatchCode', width: 150, align: 'left' },
  83. ],
  84. shrinkToFit: false,//宽度自适应
  85. autowidth: true,
  86. gridComplete: function () {
  87. },
  88. pager: "#gridPager",
  89. autoScroll: true,
  90. sortname: 'InvCode',
  91. sortorder: "desc",
  92. viewrecords: true,
  93. multiselect: true,
  94. subGrid: true,
  95. // (1)开启子表格支持
  96. subGrid: true, // (1)开启子表格支持
  97. subGridRowExpanded: function (subgrid_id, rowid) { // (2)子表格容器的id和需要展开子表格的行id,将传入此事件函数
  98. debugger;
  99. $("#gridList").jqGrid("setSelection", rowid, false);
  100. bindSubGrid(subgrid_id, rowid)
  101. }
  102. });
  103. $("#btn_search").click(function () {
  104. var queryJson = {
  105. StartDate: $("#txt_StartDate").val(),
  106. EndDate: $("#txt_EndDate").val(),
  107. InvCode: $("#txt_InvCode").val(),
  108. WHCode: $("#txt_WHCode").val(),
  109. LocationCode: $("#txt_LocationCode").val(),
  110. BatchCode: $("#txt_BatchCode").val(),
  111. }
  112. $gridList.jqGrid('setGridParam', {
  113. postData: { queryJson: JSON.stringify(queryJson) },
  114. }).trigger('reloadGrid');
  115. });
  116. }
  117. //子表
  118. function bindSubGrid(subgrid_id, rowid) {
  119. $("#" + subgrid_id).html("<table id='" + subgrid_table_id + "' class='scroll'></table><div id='" + subgrid_pager_id + "' class='scroll'></div>");
  120. var ID = $("#gridList").jqGrid('getRowData', rowid).InvID;
  121. var WHCode = $("#gridList").jqGrid('getRowData', rowid).WHCode;
  122. var BatchCode = $("#gridList").jqGrid('getRowData', rowid).BatchCode;
  123. var LocationCode = $("#gridList").jqGrid('getRowData', rowid).LocationCode;
  124. debugger;
  125. var queryJson = {
  126. StartDate: $("#txt_StartDate").val(),
  127. EndDate: $("#txt_EndDate").val(),
  128. InvCode: $("#txt_InvCode").val(),
  129. WHCode: WHCode,
  130. BatchCode: BatchCode,
  131. LocationCode:LocationCode,
  132. ID: ID
  133. }
  134. $("#gridList").jqGrid("setSelection", rowid, false);
  135. var subgrid_table_id;
  136. subgrid_table_id = subgrid_id + "_t"; // (3)根据subgrid_id定义对应的子表格的table的id
  137. var subgrid_pager_id;
  138. subgrid_pager_id = subgrid_id + "_pgr" // (4)根据subgrid_id定义对应的子表格的pager的id
  139. // (5)动态添加子报表的table和pager
  140. $("#" + subgrid_id).html("<table id='" + subgrid_table_id + "' class='scroll'></table><div id='" + subgrid_pager_id + "' class='scroll'></div>");
  141. var IssueCode = $("#gridList").jqGrid('getRowData', rowid).IssueCode;
  142. // (6)创建jqGrid对象
  143. $("#" + subgrid_table_id).dataGrid({
  144. cellEdit: true,
  145. url: "/DHAY/ICSOtherInOut/GetDetails?ID=" + ID + "&" + Math.random(), // (7)子表格数据对应的url,注意传入的contact.id参数
  146. colModel: _Clos,
  147. postData: { queryJson: JSON.stringify(queryJson) },
  148. sortname: 'InvCode',
  149. shrinkToFit: true,//宽度自适应
  150. //multiselect: true,
  151. prmNames: { search: "search" },
  152. viewrecords: true,
  153. height: "100%",
  154. rowNum: 20,
  155. pager: subgrid_pager_id,
  156. });
  157. }
  158. function btn_ExportAll() {
  159. debugger;
  160. var queryData = "&StartDate=" + $("#txt_StartDate").val() +
  161. "&EndDate=" + $("#txt_EndDate").val() +
  162. "&InvCode=" + $("#txt_InvCode").val() +
  163. "&WHCode=" + $("#txt_WHCode").val() +
  164. "&LocationCode=" + $("#txt_LocationCode").val()
  165. + "&BatchCode=" + $("#txt_BatchCode").val();
  166. $.download("/DHAY/ICSOtherInOut/StatementExportAll" + "?" + Math.random(), queryData, 'post');
  167. }
  168. function fullscreen() {
  169. var docElm = document.documentElement;
  170. if (docElm.requestFullscreen) {
  171. docElm.requestFullscreen();
  172. } else if (docElm.mozRequestFullScreen) {
  173. docElm.mozRequestFullScreen();
  174. } else if (docElm.webkitRequestFullScreen) {
  175. docElm.webkitRequestFullScreen();
  176. } else if (docElm.msRequestFullscreen) {
  177. docElm.msRequestFullscreen();
  178. }
  179. $(window).bind('resize', function () {
  180. $("#gridList").setGridWidth($(window).width());
  181. }).trigger('resize');
  182. $(window).bind('resize', function () {
  183. $("#gridList").setGridHeight($(window).height());
  184. }).trigger('resize');
  185. }
  186. </script>
  187. <div class="topPanel" style="height:60px;">
  188. <div class="toolbar">
  189. <div class="btn-group">
  190. <a id="NF-Print" authorize="yes" style="margin-left:3px;" class="btn btn-primary" onclick="btnPrint()"><i class="fa fa-pencil-square-o"></i>打印</a>
  191. <a id="NF-ExportAll" authorize="yes" class="btn btn-primary dropdown-text" onclick="btn_ExportAll()"><i class="fa fa-download"></i>全部导出</a>
  192. </div>
  193. <script>$('.toolbar').authorizeButton()</script>
  194. </div>
  195. <div class="search">
  196. <table>
  197. <tr>
  198. <td style="text-align:right;"><label class="lglabel" for="txt_InvCode">&nbsp;&nbsp;&nbsp;料品编码</label>:</td>
  199. <td>
  200. <div class="input-group">
  201. <input id="txt_InvCode" type="text" class="form-control" style="width: 100px;">
  202. </div>
  203. </td>
  204. <td style="text-align:right;"><label class="lglabel" for="txt_WHCode">&nbsp;&nbsp;&nbsp;仓库编码</label>:</td>
  205. <td>
  206. <div class="input-group">
  207. <input id="txt_WHCode" type="text" class="form-control" style="width: 100px;">
  208. </div>
  209. </td>
  210. <td style="text-align:right;"><label class="lglabel" for="txt_BatchCode">&nbsp;&nbsp;&nbsp;批次号</label>:</td>
  211. <td>
  212. <div class="input-group">
  213. <input id="txt_BatchCode" type="text" class="form-control" style="width: 100px;">
  214. </div>
  215. </td>
  216. <td style="text-align:right;"><label class="lglabel" for="txt_LocationCode">&nbsp;&nbsp;&nbsp;库位代码</label>:</td>
  217. <td>
  218. <div class="input-group">
  219. <input id="txt_LocationCode" type="text" class="form-control" style="width: 100px;">
  220. </div>
  221. </td>
  222. <th class="formTitle">&nbsp;&nbsp;&nbsp;开始时间:</th>
  223. <td class="formValue">
  224. <input type="text" name="txt_StartDate" id="txt_StartDate" class="form-control" style="width: 100px; height:22px" onclick="WdatePicker({ dateFmt: 'yyyy-MM-dd' })" placeholder="开始日期" />
  225. </td>
  226. <th class="formTitle">&nbsp;&nbsp;&nbsp;结束时间:</th>
  227. <td class="formValue">
  228. <input type="text" name="txt_EndDate" id="txt_EndDate" class="form-control" style="width: 100px; height: 22px " onclick="WdatePicker({ dateFmt: 'yyyy-MM-dd', minDate: txt_StartDate.value })" placeholder="结束日期" />
  229. </td>
  230. <td>
  231. <span class="input-group-btn">
  232. <button id="btn_search" type="button" class="btn btn-primary"><i class="fa fa-search"></i></button>
  233. </span>
  234. </td>
  235. </tr>
  236. </table>
  237. </div>
  238. </div>
  239. <div class="gridPanel">
  240. <table id="gridList"></table>
  241. <div id="gridPager"></div>
  242. </div>