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.

879 lines
38 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 date = myDate.getDate() < 10 ? "0" + myDate.getDate() : myDate.getDate(); // 获取当前日
  13. //var date = myDate.getDate().padStart(2, '0');
  14. var MtimeFrom = year + "-" + mon + "-" + date;
  15. var MtimeArrive = year + "-" + mon + "-" + date;
  16. var molds = $.request("mold");
  17. var _Clos = new Array();
  18. var _Clos1 = new Array();
  19. var flag = '1';
  20. var mark = '';
  21. var Arguments = '';
  22. $(function () {
  23. $("#TimeFrom").val(MtimeFrom);
  24. $("#TimeArrive").val(MtimeArrive);
  25. SetCols();
  26. GetPickingListType();
  27. gridList();
  28. gridList2(flag);
  29. });
  30. function Selchange() {
  31. //$("#txt_Mechanism").val("");
  32. var Type = $("#selShow").val();
  33. if (Type == '1' || Type == '1-1') {
  34. $(".Mechanism").css('display', 'table-cell');
  35. $("#txt_POCode").css("width", "300px");
  36. }
  37. else {
  38. $(".Mechanism").css('display', 'none');
  39. $("#txt_POCode").css("width", "100px");
  40. }
  41. document.getElementById("gridPanel").innerHTML = ' <span><strong>详细信息</strong></span> <table id="gridList"></table> ';//重置grid
  42. gridList();
  43. }
  44. function SetCols() {
  45. $.ajax({
  46. url: "/Print/SelectColumnName?" + Math.random(),
  47. dataType: "json",
  48. async: false,
  49. success: function (data) {
  50. var cols = new Array();
  51. var collast = { label: "主键", name: "ID", hidden: true, key: true };
  52. cols.push(collast);
  53. var collast = { label: '单据号', name: 'Code', width: 120, align: 'left' };
  54. cols.push(collast);
  55. var collast = { label: '操作日期', name: 'MTIME', width: 150, align: 'left' };
  56. cols.push(collast);
  57. var collast = { label: '维护人', name: 'MUSER', width: 80, align: 'left' };
  58. cols.push(collast);
  59. var collast = { label: '维护人名称', name: 'MUSERName', width: 80, align: 'left' };
  60. cols.push(collast);
  61. var collast = { label: '拣料ID', name: 'IsNew', width: 80, align: 'left' };
  62. cols.push(collast);
  63. var collast = { label: '是否占料', name: 'IsOccupy', width: 80, align: 'left' };
  64. cols.push(collast);
  65. var cols1 = new Array();
  66. var collast1 = { label: "主键", name: "ID", hidden: true, key: true };
  67. cols1.push(collast1);
  68. var collast1 = { label: '领料合并ID', name: 'MergeID', width: 120, align: 'left' };
  69. cols1.push(collast1);
  70. var collast1 = { label: '单据号', name: 'Code', width: 120, align: 'left' };
  71. cols1.push(collast1);
  72. var collast1 = { label: '单据行号', name: 'Sequence', width: 120, align: 'left' };
  73. cols1.push(collast1);
  74. var collast1 = { label: '料品编码', name: 'InvCode', width: 150, align: 'left' };
  75. cols1.push(collast1);
  76. var collast1 = { label: '料品名称', name: 'InvName', width: 150, align: 'left' };
  77. cols1.push(collast1);
  78. var collast1 = { label: '规格型号', name: 'InvStd', width: 100, align: 'left' };
  79. cols1.push(collast1);
  80. var collast1 = { label: '应发数量', name: 'iQuantity', width: 100, align: 'left' };
  81. cols1.push(collast1);
  82. var collast1 = { label: 'SendQTY', name: 'SendQTY', width: 100, align: 'left', hidden: true };
  83. cols1.push(collast1);
  84. var collast1 = { label: '单位', name: 'InvUnit', width: 100, align: 'left' };
  85. cols1.push(collast1);
  86. var collast1 = { label: '批次', name: 'BatchCode', width: 100, align: 'left' };
  87. cols1.push(collast1);
  88. var collast1 = { label: '仓库编码', name: 'WarehouseCode', width: 100, align: 'left' };
  89. cols1.push(collast1);
  90. var collast1 = { label: '库位编码', name: 'LocationCode', width: 100, align: 'left' };
  91. cols1.push(collast1);
  92. var collast1 = { label: '条码库存', name: 'QTY', width: 100, align: 'left' };
  93. cols1.push(collast1);
  94. var collast1 = { label: '条码', name: 'LotNO', width: 100, align: 'left' };
  95. cols1.push(collast1);
  96. var collast1 = { label: 'EATTRIBUTE1', name: 'EATTRIBUTE1', width: 100, align: 'left', hidden: true };
  97. cols1.push(collast1);
  98. var collast1 = { label: 'EATTRIBUTE2', name: 'EATTRIBUTE2', width: 100, align: 'left', hidden: true };
  99. cols1.push(collast1);
  100. var collast1 = { label: 'EATTRIBUTE3', name: 'EATTRIBUTE3', width: 100, align: 'left', hidden: true };
  101. cols1.push(collast1);
  102. var collast1 = { label: 'EATTRIBUTE4', name: 'EATTRIBUTE4', width: 100, align: 'left', hidden: true };
  103. cols1.push(collast1);
  104. var collast1 = { label: 'EATTRIBUTE5', name: 'EATTRIBUTE5', width: 100, align: 'left', hidden: true };
  105. cols1.push(collast1);
  106. var collast1 = { label: 'EATTRIBUTE6', name: 'EATTRIBUTE6', width: 100, align: 'left', hidden: true };
  107. cols1.push(collast1);
  108. var collast1 = { label: 'EATTRIBUTE7', name: 'EATTRIBUTE7', width: 100, align: 'left', hidden: true };
  109. cols1.push(collast1);
  110. var collast1 = { label: 'EATTRIBUTE8', name: 'EATTRIBUTE8', width: 100, align: 'left', hidden: true };
  111. cols1.push(collast1);
  112. var collast1 = { label: 'EATTRIBUTE9', name: 'EATTRIBUTE9', width: 100, align: 'left', hidden: true };
  113. cols1.push(collast1);
  114. var collast1 = { label: 'EATTRIBUTE10', name: 'EATTRIBUTE10', width: 100, align: 'left', hidden: true };
  115. cols1.push(collast1);
  116. var collast1 = { label: 'LocationName', name: 'LocationName', width: 100, align: 'left', hidden: true };
  117. cols1.push(collast1);
  118. var cols2 = new Array();
  119. var collast2 = { label: '单据号', name: 'Code', width: 120, align: 'left' };
  120. cols2.push(collast2);
  121. var collast2 = { label: '单据行号', name: 'Sequence', width: 100, align: 'left' };
  122. cols2.push(collast2);
  123. var collast2 = { label: '操作日期', name: 'MTIME', width: 150, align: 'left' };
  124. cols2.push(collast2);
  125. var collast2 = { label: '料品编码', name: 'InvCode', width: 100, align: 'left' };
  126. cols2.push(collast2);
  127. var collast2 = { label: '料品名称', name: 'InvName', width: 100, align: 'left' };
  128. cols2.push(collast2);
  129. var collast2 = { label: '料品描述', name: 'InvDesc', width: 100, align: 'left' };
  130. cols2.push(collast2);
  131. var collast2 = { label: '规格型号', name: 'InvStd', width: 100, align: 'left' };
  132. cols2.push(collast2);
  133. var collast2 = { label: '数量', name: 'Quantity', width: 100, align: 'left' };
  134. cols2.push(collast2);
  135. var collast2 = { label: '已发数量', name: 'IssueQuantity', width: 100, align: 'left' };
  136. cols2.push(collast2);
  137. var collast2 = { label: '单位', name: 'InvUnit', width: 100, align: 'left' };
  138. cols2.push(collast2);
  139. var collast2 = { label: '维护人', name: 'MUSER', width: 80, align: 'left' };
  140. cols2.push(collast2);
  141. var collast2 = { label: '维护人名称', name: 'MUSERName', width: 80, align: 'left' };
  142. cols2.push(collast2);
  143. var collast2 = { label: '仓库编码', name: 'WHCode', width: 80, align: 'left' };
  144. cols2.push(collast2);
  145. var collast2 = { label: '仓库名称', name: 'WarehouseName', width: 80, align: 'left' };
  146. cols2.push(collast2);
  147. var collast2 = { label: 'U8料号', name: 'U8InvCode', width: 100, align: 'left' };
  148. cols2.push(collast1);
  149. if (data != null && data.length > 0) {
  150. DateList = data;
  151. for (var i = 0; i < data.length; i++) {
  152. var ColName = data[i].ColName;
  153. var ColCode = data[i].ColCode;
  154. var obj = new Array();
  155. obj = {
  156. label: ColName,
  157. name: ColCode,
  158. width: 80,
  159. align: "left"
  160. }
  161. //cols.push(obj);
  162. //cols1.push(obj);
  163. cols2.push(obj);
  164. }
  165. }
  166. _Clos = cols;
  167. _Clos1 = cols1;
  168. _Clos2 = cols2;
  169. }
  170. });
  171. }
  172. function gridList() {
  173. var Type = $("#selShow").val();
  174. var $gridList = $("#gridList");
  175. var queryJson = {
  176. POCode: $("#txt_POCode").val(),
  177. InvCode: $("#txt_InvCode").val(),
  178. TimeFrom: $("#TimeFrom").val(),
  179. TimeArrive: $("#TimeArrive").val(),
  180. Status: $("#selShow3").val()
  181. }
  182. $gridList.dataGrid({
  183. url: "/KBSWMS/PickMaterial/GetGridJson? " + Math.random(),
  184. postData: { queryJson: JSON.stringify(queryJson), Type: Type },
  185. //height: 280,
  186. //width: 300,
  187. height: $(window).height() - 550,
  188. width: $(window).width() - 500,
  189. colModel: _Clos,
  190. //colModel: [
  191. // { label: "主键", name: "ID", hidden: true, key: true },
  192. // { label: '单据号', name: 'Code', width: 120, align: 'left' },
  193. // { label: '操作日期', name: 'MTIME', width: 150, align: 'left' },
  194. // { label: '维护人', name: 'MUSER', width: 80, align: 'left' },
  195. // { label: '维护人名称', name: 'MUSERName', width: 80, align: 'left' },
  196. // { label: '是否合并拣料', name: 'IsNew', width: 80, align: 'left' },
  197. //],
  198. shrinkToFit: false,//宽度自适应
  199. autowidth: true,
  200. gridComplete: function () {
  201. },
  202. rowNum: 10000,
  203. autoScroll: true,
  204. sortname: 'Code',
  205. sortorder: "desc",
  206. viewrecords: true,
  207. multiselect: true,
  208. subGrid: true, // (1)开启子表格支持
  209. subGridRowExpanded: function (subgrid_id, rowid) { // (2)子表格容器的id和需要展开子表格的行id,将传入此事件函数
  210. $("#gridList").jqGrid("setSelection", rowid, false);
  211. bindSubGrid(subgrid_id, rowid)
  212. },
  213. gridComplete: function () {
  214. debugger;
  215. var strIds = $("#gridList").jqGrid("getDataIDs");
  216. }
  217. });
  218. }
  219. function bindSubGrid(subgrid_id, rowid) {
  220. var Type = $("#selShow").val();
  221. var InvCode = $("#txt_InvCode").val();
  222. var Mechanism = $("#txt_Mechanism").val();
  223. $("#gridList").jqGrid("setSelection", rowid, false);
  224. var subgrid_table_id;
  225. subgrid_table_id = subgrid_id + "_t"; // (3)根据subgrid_id定义对应的子表格的table的id
  226. var subgrid_pager_id;
  227. subgrid_pager_id = subgrid_id + "_pgr" // (4)根据subgrid_id定义对应的子表格的pager的id
  228. // (5)动态添加子报表的table和pager
  229. $("#" + subgrid_id).html("<table id='" + subgrid_table_id + "' class='scroll'></table><div id='" + subgrid_pager_id + "' class='scroll'></div>");
  230. var Code = $("#gridList").jqGrid('getRowData', rowid).Code;
  231. //var Sequence = $("#gridList").jqGrid('getRowData', rowid).Sequence;
  232. // (6)创建jqGrid对象
  233. $("#" + subgrid_table_id).dataGrid({
  234. cellEdit: true,
  235. url: "/KBSWMS/PickMaterial/GetSubGridJson?Code=" + Code + "&Type=" + Type + "&Mechanism=" + Mechanism + "&InvCode=" + InvCode + "&" + Math.random(), // (7)子表格数据对应的url,注意传入的contact.id参数
  236. //colModel: [
  237. // { label: '单据号', name: 'Code', width: 120, align: 'left' },
  238. // { label: '单据行号', name: 'Sequence', width: 100, align: 'left' },
  239. // { label: '操作日期', name: 'MTIME', width: 150, align: 'left' },
  240. // { label: '是否合并拣料', name: 'IsNew', width: 80, align: 'left' },
  241. // { label: '料品编码', name: 'InvCode', width: 100, align: 'left' },
  242. // { label: '料品名称', name: 'InvName', width: 100, align: 'left' },
  243. // { label: '料品描述', name: 'InvDesc', width: 100, align: 'left' },
  244. // { label: '规格型号', name: 'InvStd', width: 100, align: 'left' },
  245. // { label: '数量', name: 'Quantity', width: 100, align: 'left' },
  246. // { label: '已发数量', name: 'IssueQuantity', width: 100, align: 'left' },
  247. // { label: '单位', name: 'InvUnit', width: 100, align: 'left' },
  248. // { label: '维护人', name: 'MUSER', width: 80, align: 'left' },
  249. // { label: '维护人名称', name: 'MUSERName', width: 80, align: 'left' },
  250. // { label: '仓库编码', name: 'WHCode', width: 80, align: 'left' },
  251. // { label: '仓库名称', name: 'WarehouseName', width: 80, align: 'left' },
  252. //],
  253. colModel: _Clos2,
  254. //colModel: ColModelSub,
  255. shrinkToFit: true,//宽度自适应
  256. sortname: 'Sequence',
  257. sortorder: "desc",
  258. //multiselect: true,
  259. prmNames: { search: "search" },
  260. viewrecords: true,
  261. height: "100%",
  262. rowNum: 20,
  263. pager: subgrid_pager_id,
  264. });
  265. }
  266. function gridList2(flag) {
  267. debugger;
  268. document.getElementById("gridPanel2").innerHTML = ' <span><strong>合并信息</strong></span> <table id="gridList2"></table>';//重置grid
  269. var Mechanism = $("#txt_Mechanism").val();
  270. var InvCode = $("#txt_InvCode").val();
  271. var Type = $("#selShow").val();
  272. var $gridList = $("#gridList2");
  273. var objArr = '';
  274. var objList = $("#gridList").jqGrid('getGridParam', 'selarrrow');
  275. for (var i = 0; i < objList.length; i++) {
  276. var rowId = objList[i];
  277. var rowData = $("#gridList").jqGrid('getRowData', rowId);
  278. if (flag == '1') {
  279. objArr += "'" + rowData.Code + "',";
  280. } else {
  281. objArr += "'" + rowData.Code + "',";
  282. }
  283. }
  284. $gridList.dataGrid({
  285. url: "/KBSWMS/PickMaterial/GetICSMOPickMergeTemp?ID=" + objArr + "&Type=" + Type + "&flag=" + flag + "&Mechanism=" + Mechanism + "&InvCode=" + InvCode + "&" + Math.random(),
  286. height: 500,
  287. width: $(window).width() - 500,
  288. colModel: _Clos1,
  289. //colModel: [
  290. // { label: "主键", name: "ID", hidden: true, key: true },
  291. // { label: '领料合并ID', name: 'MergeID', width: 120, align: 'left' },
  292. // { label: '单据号', name: 'Code', width: 120, align: 'left' },
  293. // { label: '料品编码', name: 'InvCode', width: 150, align: 'left' },
  294. // { label: '料品名称', name: 'InvName', width: 150, align: 'left' },
  295. // { label: '规格型号', name: 'InvStd', width: 100, align: 'left' },
  296. // { label: '应发数量', name: 'iQuantity', width: 100, align: 'left' },
  297. // { label: '单位', name: 'InvUnit', width: 150, align: 'left' },
  298. // { label: '仓库编码', name: 'WarehouseCode', width: 100, align: 'left' },
  299. // { label: '库位编码', name: 'LocationCode', width: 100, align: 'left' },
  300. // { label: '条码库存', name: 'QTY', width: 100, align: 'left' },
  301. // { label: '条码', name: 'LotNO', width: 100, align: 'left' },
  302. //],
  303. shrinkToFit: false,//宽度自适应
  304. autowidth: true,
  305. gridComplete: function (res) {
  306. debugger
  307. //var $("#gridList2").jqGrid('getRowData');
  308. var strIds = $("#gridList2").jqGrid("getDataIDs");
  309. for (var i = 0; i < strIds.length; i++) {
  310. var QTY = $("#gridList2").jqGrid("getCell", strIds[i], "QTY");
  311. $("#gridList2").jqGrid("setCell", strIds[i], "SendQTY", QTY);
  312. }
  313. },
  314. rowNum: 10000,
  315. sortorder: "desc",
  316. viewrecords: true,
  317. //multiselect: true,
  318. });
  319. }
  320. function btnMaterial() {
  321. debugger;
  322. var objArr = '';
  323. var arr = [];
  324. mark = '拣料';
  325. flag = '1';
  326. var objList = $("#gridList").jqGrid('getGridParam', 'selarrrow');
  327. for (var i = 0; i < objList.length; i++) {
  328. var rowId = objList[i];
  329. var rowData = $("#gridList").jqGrid('getRowData', rowId);
  330. if (rowData.IsNew != "") {
  331. $.modalAlertNew("WMS00091");
  332. return;
  333. }
  334. objArr += "'" + rowData.Code + "',";
  335. objArr = objArr.slice(0, objArr.length - 1);
  336. objArr = "" + objArr + "|";
  337. arr.push(objArr);
  338. }
  339. Arguments = arr;
  340. gridList2(flag);
  341. }
  342. function btnBackMaterial() {
  343. debugger;
  344. var objArr = '';
  345. var arr = [];
  346. var ICSASN = [];
  347. mark = '回撤拣料';
  348. flag = '1';
  349. //var objList = $("#gridList").jqGrid('getGridParam', 'selarrrow');
  350. //for (var i = 0; i < objList.length; i++) {
  351. // var rowId = objList[i];
  352. // var rowData = $("#gridList").jqGrid('getRowData', rowId);
  353. // if (rowData.IsNew == "") {
  354. // $.modalAlertNew("WMS00091");//该单据未检料,请确认!
  355. // return;
  356. // }
  357. // objArr += "'" + rowData.Code + "',";
  358. // objArr = objArr.slice(0, objArr.length - 1);
  359. // objArr = "" + objArr + "|";
  360. // arr.push(objArr);
  361. //}
  362. //Arguments = arr;
  363. //gridList2(flag);
  364. debugger;
  365. mark = '回撤拣料';
  366. var sign = '';
  367. flag = '2';
  368. var Type = $("#selShow").val();
  369. var obj = '';
  370. var objArr = '';
  371. var objList = $("#gridList").jqGrid('getGridParam', 'selarrrow');
  372. //if (objList.length < 2) {
  373. // $.modalAlertNew("WMS00092");
  374. // return;
  375. //}
  376. for (var i = 0; i < objList.length; i++) {
  377. var rowId = objList[i];
  378. var rowData = $("#gridList").jqGrid('getRowData', rowId);
  379. if (rowData.IsOccupy == '已占料') {
  380. $.modalAlert("该单据已被占料,请至拣配查询页面查看!", "warning");
  381. return;
  382. }
  383. obj += rowData.Code + ",";
  384. objArr += "'" + rowData.Code + "',";
  385. var obj = {
  386. Code: rowData.Code
  387. };
  388. ICSASN.push(obj);
  389. }
  390. //var MergeID = rowData.Code;1 2
  391. //if (MergeID != '') {
  392. // $.modalAlertNew("WMS00091");
  393. // return;
  394. //}
  395. $.submitForm({
  396. url: "/KBSWMS/PickMaterial/BackMergeMaterial?Type=" + Type + "&" + Math.random(),
  397. //param: {
  398. // keyValue: obj
  399. //},
  400. param: { keyValue: JSON.stringify(ICSASN) },
  401. success: function () {
  402. gridList2(flag);
  403. $.currentWindow().$("#gridList").trigger("reloadGrid");
  404. }
  405. })
  406. }
  407. function btnMergeMaterial() {
  408. debugger;
  409. mark = '合并拣料';
  410. var sign = '';
  411. flag = '2';
  412. var Type = $("#selShow").val();
  413. var Mechanism = $("#txt_Mechanism").val();
  414. if (Mechanism != "") {
  415. $.modalAlert("单据已开启部分拣料功能,无法合并拣料!", "warning");
  416. return;
  417. }
  418. var obj = '';
  419. var objArr = '';
  420. var objList = $("#gridList").jqGrid('getGridParam', 'selarrrow');
  421. if (objList.length < 2) {
  422. $.modalAlertNew("WMS00092");
  423. return;
  424. }
  425. var aa = '';
  426. for (var i = 0; i < objList.length; i++) {
  427. var rowId = objList[i];
  428. var rowData = $("#gridList").jqGrid('getRowData', rowId);
  429. if (rowData.IsOccupy == '已占料') {
  430. $.modalAlert("该单据已被占料,请至拣配查询页面查看!", "warning");
  431. return;
  432. }
  433. if (i == 0) {
  434. aa = rowData.IsNew;
  435. } else if (aa != rowData.IsNew && aa != '') {
  436. $.modalAlertNew("WMS00091");
  437. return;
  438. }
  439. obj += rowData.Code + ",";
  440. objArr += "'" + rowData.Code + "',";
  441. }
  442. if (aa != '') {
  443. gridList2(flag);
  444. $.currentWindow().$("#gridList").trigger("reloadGrid");
  445. } else {
  446. $.submitForm({
  447. url: "/KBSWMS/PickMaterial/MergeMaterial?Type=" + Type + "&" + Math.random(),
  448. param: {
  449. keyValue: obj
  450. },
  451. success: function () {
  452. gridList2(flag);
  453. $.currentWindow().$("#gridList").trigger("reloadGrid");
  454. }
  455. })
  456. }
  457. }
  458. function btnPrint() {
  459. debugger;
  460. var Type = $("#selShow").val();
  461. var arr = [];
  462. var mold = '';
  463. var Mechanism = $("#txt_Mechanism").val();
  464. var InvCode = $("#txt_InvCode").val();
  465. if (mark == '') {
  466. $.modalAlertNew("WMS00093");
  467. return;
  468. }
  469. var objList = $("#gridList").jqGrid('getGridParam', 'selarrrow');
  470. var rowId = objList[0];
  471. var rowData = $("#gridList").jqGrid('getRowData', rowId);
  472. if (mark == '合并拣料') {
  473. var obj_Item1 = $("#gridList2");
  474. var rowIds_Item1 = obj_Item1.getDataIDs();
  475. var arrayData_Item1 = new Array();
  476. if (rowIds_Item1.length > 0) {
  477. for (var i = 0; i < rowIds_Item1.length; i++) {
  478. var RowData_Item1 = obj_Item1.getRowData(rowIds_Item1[i]);
  479. /* if (RowData_Item1.LotNO != "") {*/
  480. var obj = {
  481. MergeID: RowData_Item1.MergeID,
  482. Code: RowData_Item1.Code,
  483. ApplyCode: RowData_Item1.Code,
  484. MTIME: rowData.MTIME,
  485. Sequence: RowData_Item1.Sequence,
  486. InvCode: RowData_Item1.InvCode,
  487. InvName: RowData_Item1.InvName,
  488. InvStd: RowData_Item1.InvStd,
  489. iQuantity: RowData_Item1.iQuantity,
  490. InvUnit: RowData_Item1.InvUnit,
  491. WarehouseCode: RowData_Item1.WarehouseCode,
  492. LocationCode: RowData_Item1.LocationCode,
  493. QTY: RowData_Item1.QTY,
  494. LotNO: RowData_Item1.LotNO,
  495. SendQTY: RowData_Item1.SendQTY,
  496. NowMTIME: rowData.MTIME,
  497. rowNo: RowData_Item1.Sequence,
  498. U8InvCode: RowData_Item1.U8InvCode,
  499. BatchCode: RowData_Item1.BatchCode,
  500. EATTRIBUTE1: RowData_Item1.EATTRIBUTE1,
  501. EATTRIBUTE2: RowData_Item1.EATTRIBUTE2,
  502. EATTRIBUTE3: RowData_Item1.EATTRIBUTE3,
  503. EATTRIBUTE4: RowData_Item1.EATTRIBUTE4,
  504. EATTRIBUTE5: RowData_Item1.EATTRIBUTE5,
  505. EATTRIBUTE6: RowData_Item1.EATTRIBUTE6,
  506. EATTRIBUTE7: RowData_Item1.EATTRIBUTE7,
  507. EATTRIBUTE8: RowData_Item1.EATTRIBUTE8,
  508. EATTRIBUTE9: RowData_Item1.EATTRIBUTE9,
  509. EATTRIBUTE10: RowData_Item1.EATTRIBUTE10,
  510. LocationName: RowData_Item1.LocationName,
  511. };
  512. /* }*/
  513. arr.push(obj)
  514. }
  515. }
  516. Arguments = JSON.stringify(arr);
  517. if (molds == '' || molds == 'undefinde') {
  518. mold = 'HBJL00001';
  519. }
  520. else {
  521. mold = molds;
  522. }
  523. }
  524. if (mark == '拣料') {
  525. debugger;
  526. var obj_Item1 = $("#gridList2");
  527. var rowIds_Item1 = obj_Item1.getDataIDs();
  528. var arrayData_Item1 = new Array();
  529. if (rowIds_Item1.length > 0) {
  530. for (var i = 0; i < rowIds_Item1.length; i++) {
  531. var RowData_Item1 = obj_Item1.getRowData(rowIds_Item1[i]);
  532. /* if (RowData_Item1.LotNO != "") {*/
  533. var obj = {
  534. Code: RowData_Item1.Code,
  535. ApplyCode: RowData_Item1.Code,
  536. MTIME: rowData.MTIME,
  537. Sequence: RowData_Item1.Sequence,
  538. InvCode: RowData_Item1.InvCode,
  539. InvName: RowData_Item1.InvName,
  540. InvStd: RowData_Item1.InvStd,
  541. iQuantity: RowData_Item1.iQuantity,
  542. InvUnit: RowData_Item1.InvUnit,
  543. WarehouseCode: RowData_Item1.WarehouseCode,
  544. LocationCode: RowData_Item1.LocationCode,
  545. QTY: RowData_Item1.QTY,
  546. LotNO: RowData_Item1.LotNO,
  547. SendQTY: RowData_Item1.SendQTY,
  548. NowMTIME: rowData.MTIME,
  549. rowNo: RowData_Item1.Sequence,
  550. U8InvCode: RowData_Item1.U8InvCode,
  551. BatchCode: RowData_Item1.BatchCode,
  552. EATTRIBUTE1: RowData_Item1.EATTRIBUTE1,
  553. EATTRIBUTE2: RowData_Item1.EATTRIBUTE2,
  554. EATTRIBUTE3: RowData_Item1.EATTRIBUTE3,
  555. EATTRIBUTE4: RowData_Item1.EATTRIBUTE4,
  556. EATTRIBUTE5: RowData_Item1.EATTRIBUTE5,
  557. EATTRIBUTE6: RowData_Item1.EATTRIBUTE6,
  558. EATTRIBUTE7: RowData_Item1.EATTRIBUTE7,
  559. EATTRIBUTE8: RowData_Item1.EATTRIBUTE8,
  560. EATTRIBUTE9: RowData_Item1.EATTRIBUTE9,
  561. EATTRIBUTE10: RowData_Item1.EATTRIBUTE10,
  562. LocationName: RowData_Item1.LocationName,
  563. };
  564. /* }*/
  565. arr.push(obj)
  566. }
  567. }
  568. Arguments = JSON.stringify(arr);
  569. if (molds == '' || molds == 'undefinde') {
  570. mold = 'JL00001';
  571. }
  572. else {
  573. mold = molds;
  574. }
  575. }
  576. sessionStorage.setItem("Arguments", Arguments); // 存储参数
  577. $.modalOpen({
  578. id: "PrintLot",
  579. title: "打印",
  580. url: "/KBSWMS/Print/PrintView?&mold=" + mold + "&" + Math.random(),
  581. // url: "/KBSWMS/Print/PrintView?&mold=" + mold + "&" + Math.random(),
  582. width: "550px",
  583. height: "1000px",
  584. callBack: function (iframeId) {
  585. top.frames[iframeId].submitForm();
  586. }
  587. });
  588. }
  589. function GetPickingListType() {
  590. $.ajax({
  591. url: "/KBSWMS/PickMaterial/GetPickingListType",
  592. dataType: "json",
  593. async: false,
  594. success: function (data) {
  595. if (data != false && data != null && data.length > 0) {
  596. $("#selShow").find("option").remove();
  597. //$("#selShow").append("<option value=''>==请选择站点==</option>");
  598. for (var i = 0; i < data.length; i++) {
  599. $("#selShow").append("<option value='" + data[i].Code + "'>" + data[i].Name + "</option>");
  600. }
  601. $("#selShow").val([data[0].Code]).trigger("change");
  602. }
  603. }
  604. });
  605. }
  606. function btnSave() {
  607. debugger;
  608. var sign = '';
  609. var Type = $("#selShow").val();
  610. var Mechanism = $("#txt_Mechanism").val();
  611. var array = [];
  612. if (Mechanism != "") {
  613. $.modalAlert("单据已开启部分拣料功能,无法保存!", "warning");
  614. return;
  615. }
  616. $.ajax({
  617. url: "/KBSWMS/PickMaterial/SeachPickingListType" + "?" + Math.random() + "&Type=" + Type,
  618. dataType: "json",
  619. type: "post",
  620. async: false,
  621. success: function (data) {
  622. sign = data.count;
  623. }
  624. });
  625. if (sign != true) {
  626. $.modalAlert("该类型单据暂未开启占料保存功能!", "warning");
  627. return;
  628. }
  629. var objLotNo = '';
  630. var objArr = '';
  631. var objList = $("#gridList").jqGrid('getGridParam', 'selarrrow');
  632. for (var i = 0; i < objList.length; i++) {
  633. var rowId = objList[i];
  634. var rowData = $("#gridList").jqGrid('getRowData', rowId);
  635. //if (Number(rowData.iQuantity) > Number(rowData.QTY) && rowData.LotNO=="") {
  636. // $.modalAlert("单据:" + rowData.Code + ",行号:" + rowData.Sequence + "条码库存数量不足!", "warning");
  637. // return;
  638. //}
  639. objArr += "'" + rowData.Code + "',";
  640. }
  641. var obj_Item1 = $("#gridList2");
  642. var rowIds_Item1 = obj_Item1.getDataIDs();
  643. var arrayData_Item1 = new Array();
  644. if (rowIds_Item1.length > 0) {
  645. for (var i = 0; i < rowIds_Item1.length; i++) {
  646. var RowData_Item1 = obj_Item1.getRowData(rowIds_Item1[i]);
  647. /* if (RowData_Item1.LotNO != "") {*/
  648. var obj = {
  649. Code: RowData_Item1.Code,
  650. Sequence: RowData_Item1.Sequence,
  651. InvCode: RowData_Item1.InvCode,
  652. InvName: RowData_Item1.InvName,
  653. InvStd: RowData_Item1.InvStd,
  654. iQuantity: RowData_Item1.iQuantity,
  655. InvUnit: RowData_Item1.InvUnit,
  656. WarehouseCode: RowData_Item1.WarehouseCode,
  657. LocationCode: RowData_Item1.LocationCode,
  658. QTY: RowData_Item1.QTY,
  659. LotNO: RowData_Item1.LotNO,
  660. SendQTY: RowData_Item1.SendQTY,
  661. BatchCode: RowData_Item1.BatchCode
  662. };
  663. /* }*/
  664. array.push(obj)
  665. }
  666. }
  667. $.modalConfirm("确定占料保存吗?", function (r) {
  668. if (r) {
  669. $.submitForm({
  670. url: "/KBSWMS/PickMaterial/SaveSeizeMaterial?flag=" + flag + "&Type=" + Type + "&ID=" + objArr + "&LotNoInfo=" + objLotNo + "&" + Math.random(),
  671. param: { keyValue: JSON.stringify(objArr), obj: JSON.stringify(array) },
  672. success: function () {
  673. // $.currentWindow().$("#gridList").trigger("reloadGrid");
  674. }
  675. })
  676. }
  677. });
  678. }
  679. function fullscreen() {
  680. var docElm = document.documentElement;
  681. if (docElm.requestFullscreen) {
  682. docElm.requestFullscreen();
  683. } else if (docElm.mozRequestFullScreen) {
  684. docElm.mozRequestFullScreen();
  685. } else if (docElm.webkitRequestFullScreen) {
  686. docElm.webkitRequestFullScreen();
  687. } else if (docElm.msRequestFullscreen) {
  688. docElm.msRequestFullscreen();
  689. }
  690. $(window).bind('resize', function () {
  691. $("#gridList").setGridWidth($(window).width());
  692. }).trigger('resize');
  693. $(window).bind('resize', function () {
  694. $("#gridList").setGridHeight($(window).height());
  695. }).trigger('resize');
  696. }
  697. </script>
  698. <div class="topPanel" style="height:100px;">
  699. <div class="toolbar">
  700. <div class="btn-group">
  701. <a id="NF-Material" authorize="yes" style="margin-left:3px;" class="btn btn-primary" onclick="btnMaterial()"><i class="fa fa-pencil-square-o"></i>拣配</a>
  702. <a id="NF-MergeMaterial" authorize="yes" style="margin-left:3px;" class="btn btn-primary" onclick="btnMergeMaterial()"><i class="fa fa-pencil-square-o"></i>合并拣配</a>
  703. <a id="NF-BackMaterial" authorize="yes" style="margin-left:3px;" class="btn btn-primary" onclick="btnBackMaterial()"><i class="fa fa-pencil-square-o"></i>回撤合并</a>
  704. <a id="NF-Save" authorize="yes" style="margin-left:3px;" class="btn btn-primary" onclick="btnSave()"><i class="fa fa-pencil-square-o"></i>保存</a>
  705. <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>
  706. <a class="btn btn-primary" onclick="$.reload()"><span class="glyphicon glyphicon-refresh"></span></a>
  707. </div>
  708. <script>$('.toolbar').authorizeButton()</script>
  709. </div>
  710. <div class="search">
  711. <table>
  712. <tr>
  713. <td>
  714. <label>&nbsp;&nbsp;&nbsp;类型:</label>
  715. </td>
  716. <td>
  717. <div class="input-group">
  718. <select id="selShow" name="F_Target" class="form-control" style="width: 80px;" onchange="Selchange()">
  719. @*<option value="1" selected="selected">工单备料</option>
  720. <option value="2" selected="selected">工单领料</option>
  721. <option value="3" selected="selected">工单材料出库</option>
  722. <option value="4" selected="selected">委外备料</option>
  723. <option value="5" selected="selected">委外领料</option>
  724. <option value="6" selected="selected">委外材料出库</option>
  725. <option value="7" selected="selected">销售发货</option>
  726. <option value="8" selected="selected">其它出库</option>
  727. <option value="9" selected="selected">借用</option>
  728. <option value="10" selected="selected">物料调拨</option>
  729. <option value="11" selected="selected">两步调出</option>
  730. <option value="12" selected="selected">补料</option>*@
  731. </select>
  732. </div>
  733. </td>
  734. <td style="text-align:right;"><label class="lglabel" for="txt_POCode">&nbsp;&nbsp;&nbsp;单据号</label>:</td>
  735. <td>
  736. <div class="input-group">
  737. <input id="txt_POCode" type="text" class="form-control" style="width: 100px;">
  738. </div>
  739. </td>
  740. <td style="text-align:right;"><label class="lglabel" for="txt_InvCode">&nbsp;&nbsp;&nbsp;料品编码</label>:</td>
  741. <td>
  742. <div class="input-group">
  743. <input id="txt_InvCode" type="text" class="form-control" style="width: 100px;">
  744. </div>
  745. </td>
  746. <td style="text-align:right;" class="Mechanism"><label class="lglabel" for="txt_Mechanism">&nbsp;&nbsp;&nbsp;机构</label>:</td>
  747. <td class="Mechanism">
  748. <div class="input-group">
  749. <input id="txt_Mechanism" type="text" class="form-control" style="width: 100px;">
  750. </div>
  751. </td>
  752. </tr>
  753. <tr>
  754. <td style="text-align:right;"><label class="lglabel" for="txt_TimeFrom">&nbsp;&nbsp;&nbsp;日期(从)</label>:</td>
  755. <td>
  756. <div class="input-group">
  757. <input id="TimeFrom" name="Time" type="text" class="form-control required" style="width:80px;" maxlength="10" onclick="WdatePicker({ dateFmt: 'yyyy-MM-dd'})" placeholder="日期(从)" />
  758. </div>
  759. </td>
  760. <td style="text-align:right;"><label class="lglabel" for="txt_TimeArrive">&nbsp;&nbsp;&nbsp;日期(到)</label>:</td>
  761. <td>
  762. <div class="input-group">
  763. <input id="TimeArrive" name="Time" type="text" class="form-control required" style="width:80px;" maxlength="10" onclick="WdatePicker({ dateFmt: 'yyyy-MM-dd' })" placeholder="日期(到)" />
  764. </div>
  765. </td>
  766. <td>
  767. <label>&nbsp;&nbsp;&nbsp;状态:</label>
  768. </td>
  769. <td>
  770. <div class="input-group">
  771. <select id="selShow3" name="F_Target" class="form-control" style="width: 100px;">
  772. <option value="0">显示全部</option>
  773. <option value="1">已发料</option>
  774. <option value="2" selected="selected">未发料</option>
  775. </select>
  776. </div>
  777. </td>
  778. <td>
  779. <span class="input-group-btn">
  780. <button id="btn_search" type="button" class="btn btn-primary" onclick="Selchange()"><i class="fa fa-search"></i></button>
  781. </span>
  782. </td>
  783. </tr>
  784. </table>
  785. </div>
  786. </div>
  787. <div class="gridPanel" id="gridPanel" style="width:99%">
  788. <span><strong>详细信息</strong></span>
  789. <table id="gridList"></table>
  790. </div>
  791. <div class="gridPanel" id="gridPanel2" style="width:99%">
  792. <span><strong>合并信息</strong></span>
  793. <table id="gridList2"></table>
  794. </div>