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.

338 lines
14 KiB

3 weeks ago
  1. @{
  2. ViewBag.Title = "Index";
  3. Layout = "~/Views/Shared/_Index.cshtml";
  4. }
  5. <script>
  6. debugger;
  7. var mold = $.request("mold");
  8. var ColModelMain = [];
  9. var ColModelSub = [];
  10. $(function () {
  11. gridList();
  12. })
  13. function gridList() {
  14. var $gridList = $("#gridList");
  15. var queryJson = {
  16. POCode: $("#txt_POCode").val(),
  17. }
  18. $gridList.dataGrid({
  19. url: "/PNWMS/Blitem/GetGridJson" + "?" + Math.random(),
  20. postData: { queryJson: JSON.stringify(queryJson) },
  21. height: $(window).height() - 200,
  22. width: $(window).width() - 300,
  23. colModel: [
  24. { label: "主键", name: "ID", hidden: true, key: true },
  25. { label: '盘点单号', name: 'CheckCode', width: 120, align: 'left' },
  26. { label: '盘点日期', name: 'MTIME', width: 150, align: 'left' },
  27. { label: '层级', name: 'SelectLevel', width: 150, align: 'left' },
  28. { label: '状态', name: 'Status', width: 100, align: 'left' },
  29. { label: '规格型号', name: 'InvStd', width: 100, align: 'left' },
  30. { label: '库存数量', name: 'Quantity', width: 150, align: 'left' },
  31. { label: '辅计量数量', name: 'Amount', width: 100, align: 'left' },
  32. { label: '维护人', name: 'MuserName', width: 60, align: 'left', },
  33. ],
  34. //colModel: ColModelMain,
  35. width: "100%",
  36. autowidth: true,
  37. //shrinkToFit: true,
  38. gridComplete: function () {
  39. },
  40. pager: "#gridPager",
  41. sortname: 'CheckCode',
  42. sortorder: "desc",
  43. viewrecords: true,
  44. multiselect: true,
  45. beforeSelectRow: function (rowid, e) {
  46. $("#gridList").jqGrid('resetSelection');
  47. return (true);
  48. },
  49. subGrid: true, // (1)开启子表格支持
  50. subGridRowExpanded: function (subgrid_id, rowid) { // (2)子表格容器的id和需要展开子表格的行id,将传入此事件函数
  51. $("#gridList").jqGrid("setSelection", rowid, false);
  52. bindSubGrid(subgrid_id, rowid)
  53. }
  54. });
  55. $("#warehouse a.btn-default").click(function () {
  56. $("#warehouse a.btn-default").removeClass("active");
  57. $(this).addClass("active");
  58. $('#btn_search').trigger("click");
  59. });
  60. $("#btn_search").click(function () {
  61. var warehouse = $("#warehouse a.active").attr('data-value');
  62. var queryJson = {
  63. POCode: $("#txt_POCode").val(),
  64. }
  65. $gridList.jqGrid('setGridParam', {
  66. postData: { queryJson: JSON.stringify(queryJson) },
  67. }).trigger('reloadGrid');
  68. });
  69. }
  70. function bindSubGrid(subgrid_id, rowid) {
  71. $("#gridList").jqGrid("setSelection", rowid, false);
  72. var subgrid_table_id;
  73. subgrid_table_id = subgrid_id + "_t"; // (3)根据subgrid_id定义对应的子表格的table的id
  74. var subgrid_pager_id;
  75. subgrid_pager_id = subgrid_id + "_pgr" // (4)根据subgrid_id定义对应的子表格的pager的id
  76. // (5)动态添加子报表的table和pager
  77. $("#" + subgrid_id).html("<table id='" + subgrid_table_id + "' class='scroll'></table><div id='" + subgrid_pager_id + "' class='scroll'></div>");
  78. var ID = $("#gridList").jqGrid('getRowData', rowid).ID;
  79. var Inventory = $("#selInventory").val();
  80. var InvCode = $("#InvCode").val();
  81. //var Sequence = $("#gridList").jqGrid('getRowData', rowid).Sequence;
  82. // (6)创建jqGrid对象
  83. $("#" + subgrid_table_id).dataGrid({
  84. cellEdit: true,
  85. url: "/PNWMS/Blitem/GetSubGridJson?ID=" + ID + "&Inventory=" + Inventory + "&InvCode=" + InvCode + "&" + Math.random(), // (7)子表格数据对应的url,注意传入的contact.id参数
  86. colModel: [
  87. { label: "主键", name: "ID", hidden: true, key: true },
  88. { label: "料品编码", name: "InvCode", width: 200, align: 'left' },
  89. { label: '料品名称', name: 'InvName', width: 200, align: 'left' },
  90. { label: '单位', name: 'InvUnit', width: 200, align: 'left' },
  91. { label: '条码', name: 'LotNo', width: 200, align: 'left' },
  92. { label: '批次', name: 'BatchCode', width: 200, align: 'left' },
  93. { label: '规格型号', name: 'InvStd', width: 200, align: 'left' },
  94. { label: '库存数量', name: 'Quantity', width: 100, align: 'left' },
  95. { label: '初盘数量', name: 'PrimaryQuantity', width: 100, align: 'left' },
  96. { label: '初盘辅计量数量', name: 'PrimaryAmount', width: 100, align: 'left' },
  97. { label: '差异数量', name: 'DifferenceNum', width: 100, align: 'left' },
  98. { label: '复盘数量', name: 'ReplayQuantity', width: 100, align: 'left' },
  99. { label: '复盘辅计量数量', name: 'ReplayAmount', width: 100, align: 'left' },
  100. { label: '复盘差异数量', name: 'ReplayDifferenceNum', width: 100, align: 'left' },
  101. { label: '抽盘数量', name: 'CheckQuantity', width: 100, align: 'left' },
  102. { label: '抽盘辅计量数量', name: 'CheckAmount', width: 100, align: 'left' },
  103. { label: '抽盘差异数量', name: 'CheckDifferenceNum', width: 100, align: 'left' },
  104. { label: '占料数量', name: 'LockQuantity', width: 100, align: 'left' },
  105. { label: '仓库编码', name: 'WarehouseCode', width: 100, align: 'left' },
  106. { label: '库位编码', name: 'LocationCode', width: 150, align: 'left' },
  107. {
  108. label: '删除', width: 100, align: 'left',
  109. formatter: btnLook
  110. },
  111. ],
  112. //colModel: ColModelSub,
  113. shrinkToFit: true,//宽度自适应
  114. multiselect: true,
  115. prmNames: { search: "search" },
  116. viewrecords: true,
  117. height: "100%",
  118. rowNum: 20,
  119. pager: subgrid_pager_id,
  120. });
  121. }
  122. function btnLook(cellvalue, options, rowObject) {
  123. return cellvalue = "<a class=\"btn btn-primary dropdown-text\" onclick=\"DeleteClick('" + rowObject.ID + "')\">删除</a>";
  124. }
  125. function DeleteClick(ID) {
  126. $.deleteForm({
  127. url: "/PNWMS/Blitem/DeleteICSCheckDetail?ID=" + ID + "&" + Math.random(),
  128. //param: { keyValue: JSON.stringify(objArr) },
  129. success: function () {
  130. $.currentWindow().$("#gridList").trigger("reloadGrid");
  131. }
  132. })
  133. }
  134. function btnDelete() {
  135. var objArr = '';
  136. var objList = $("#gridList").jqGrid('getGridParam', 'selarrrow');
  137. for (var i = 0; i < objList.length; i++) {
  138. var rowId = objList[i];
  139. var rowData = $("#gridList").jqGrid('getRowData', rowId);
  140. objArr += "'" + rowData.ID + "',";
  141. }
  142. if (objArr == '') {
  143. $.modalAlertNew("WMS00001");
  144. return;
  145. }
  146. $.deleteForm({
  147. url: "/PNWMS/Blitem/DeleteICSCheck" + "?" + Math.random(),
  148. param: { keyValue: JSON.stringify(objArr) },
  149. success: function () {
  150. $.currentWindow().$("#gridList").trigger("reloadGrid");
  151. }
  152. })
  153. }
  154. function btnCreate() {
  155. debugger;
  156. $.modalOpen({
  157. id: "ICSCheckAdd",
  158. title: "生成盘点计划",
  159. url: "/PNWMS/Blitem/ICSCheckAdd",
  160. width: "1400px",
  161. height: "900px",
  162. callBack: function (iframeId) {
  163. top.frames[iframeId].submitForm();
  164. }
  165. });
  166. }
  167. function btnInvCreate() {
  168. debugger;
  169. $.modalOpen({
  170. id: "ICSCheckInvAdd",
  171. title: "根据物料生成盘点计划",
  172. url: "/PNWMS/Blitem/ICSInvCheckAdd",
  173. width: "1200px",
  174. height: "900px",
  175. callBack: function (iframeId) {
  176. top.frames[iframeId].submitForm();
  177. }
  178. });
  179. }
  180. function btnPrint() {
  181. debugger;
  182. var mold = 'BD0001'; //盘点单打印
  183. var objArr = '';
  184. var arr = [];
  185. var objList = $("#gridList").jqGrid('getGridParam', 'selarrrow');
  186. for (var i = 0; i < objList.length; i++) {
  187. var rowId = objList[i];
  188. var rowData = $("#gridList").jqGrid('getRowData', rowId);
  189. objArr += "'" + rowData.CheckCode + "',";
  190. }
  191. objArr = objArr.slice(0, objArr.length - 1);
  192. if (objArr == "") {
  193. $.modalAlertNew("WMS00110");
  194. return;
  195. }
  196. objArr = "" + objArr + "|";
  197. arr.push(objArr);
  198. $.modalOpen({
  199. id: "PrintLot",
  200. title: "打印",
  201. url: "/PNWMS/Print/PrintView?Arguments=" + encodeURI(encodeURI(arr)) + "&mold=" + mold + "&" + Math.random(),
  202. width: "550px",
  203. height: "1000px",
  204. callBack: function (iframeId) {
  205. top.frames[iframeId].submitForm();
  206. }
  207. });
  208. }
  209. function btn_ExportAll() {
  210. debugger;
  211. var objArr = '';
  212. var Inventory = $("#selInventory").val();
  213. var InvCode = $("#InvCode").val();
  214. var ids = $("#gridList").jqGrid('getGridParam', 'selarrrow');
  215. for (var i in ids) {
  216. objArr += "'" + $("#gridList").jqGrid('getRowData', ids[i]).CheckCode + "',";
  217. }
  218. if (objArr == "") {
  219. $.modalAlert("请选择单据后导出!");
  220. return;
  221. }
  222. var postData = "&ID=" + objArr + "&Inventory=" + Inventory + "&InvCode=" + InvCode + "";
  223. $.download("/PNWMS/Blitem/StatementExportAll" + "?" + Math.random(), postData, 'post');
  224. }
  225. function Audit() {
  226. var objArr = '';
  227. var objList = $("#gridList").jqGrid('getGridParam', 'selarrrow');
  228. for (var i = 0; i < objList.length; i++) {
  229. var rowId = objList[i];
  230. var rowData = $("#gridList").jqGrid('getRowData', rowId);
  231. objArr += "'" + rowData.ID + "',";
  232. }
  233. if (objArr == '') {
  234. $.modalAlertNew("WMS00001");
  235. return;
  236. }
  237. $.modalConfirm("确定审核并生成ERP盘点差异单吗?", function (r) {
  238. if (r) {
  239. $.submitForm({
  240. url: "/PNWMS/Blitem/AuditICSCheck?" + Math.random(),
  241. param: { keyValue: JSON.stringify(objArr) },
  242. success: function () {
  243. $.currentWindow().$("#gridList").trigger("reloadGrid");
  244. }
  245. })
  246. }
  247. });
  248. }
  249. </script>
  250. <div class="topPanel" style="height:60px;">
  251. <div class="toolbar">
  252. <div class="btn-group">
  253. <a id="NF-Create" authorize="yes" style="margin-left:3px;" class="btn btn-primary" onclick="btnCreate()"><i class="fa fa-pencil-square-o"></i>创建盘点计划</a>
  254. <a id="NF-InvCreate" authorize="yes" style="margin-left:3px;" class="btn btn-primary" onclick="btnInvCreate()"><i class="fa fa-pencil-square-o"></i>根据物料创建盘点计划</a>
  255. <a id="NF-Audit" authorize="yes" style="margin-left:3px;" class="btn btn-primary" onclick="Audit()"><i class="fa fa-pencil-square-o"></i>审核</a>
  256. <a id="NF-Delete" authorize="yes" style="margin-left:3px;" class="btn btn-primary" onclick="btnDelete()"><i class="fa fa-pencil-square-o"></i>删除盘点计划</a>
  257. <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>
  258. <a id="NF-ExportAll" authorize="yes" style="margin-left:3px;" class="btn btn-primary" onclick="btn_ExportAll()"><i class="fa fa-pencil-square-o"></i>导出</a>
  259. <a class="btn btn-primary" onclick="$.reload()"><span class="glyphicon glyphicon-refresh"></span></a>
  260. </div>
  261. <script>$('.toolbar').authorizeButton()</script>
  262. </div>
  263. <div class="search">
  264. <table>
  265. <tr>
  266. <td style="text-align:right;"><label class="lglabel" for="txt_POCode">单据号</label>:</td>
  267. <td>
  268. <div class="input-group">
  269. <input id="txt_POCode" type="text" class="form-control" style="width: 100px;">
  270. </div>
  271. </td>
  272. <td style="text-align:right;"><label class="lglabel" for="InvCode">料品号</label>:</td>
  273. <td>
  274. <div class="input-group">
  275. <input id="InvCode" type="text" class="form-control" style="width: 100px;">
  276. </div>
  277. </td>
  278. <td class="HideTxt2" style="text-align:right;"><label class="lglabel" for="selIsUrgent">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;有无库存</label>:</td>
  279. <td>
  280. <div class="input-group ">
  281. <select id="selInventory" name="F_Iinventory" class="form-control" style="width: 105px;">
  282. <option value="0" >全部</option>
  283. <option value="1" selected="selected">有</option>
  284. <option value="2">无</option>
  285. </select>
  286. </div>
  287. </td>
  288. <td>
  289. <span class="input-group-btn">
  290. <button id="btn_search" type="button" class="btn btn-primary"><i class="fa fa-search"></i></button>
  291. </span>
  292. </td>
  293. </tr>
  294. </table>
  295. </div>
  296. </div>
  297. <div class="gridPanel">
  298. <table id="gridList"></table>
  299. <div id="gridPager"></div>
  300. </div>