纽威
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.

522 lines
22 KiB

3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
  1. @{
  2. ViewBag.Title = "Index";
  3. Layout = "~/Views/Shared/_Index.cshtml";
  4. }
  5. <script>
  6. debugger;
  7. var _Clos = new Array();
  8. var _Clos1 = new Array();
  9. var flag = '1';
  10. var mark = '';
  11. var Arguments = '';
  12. $(function () {
  13. SetCols();
  14. gridList();
  15. gridList2(flag);
  16. $("#selShow").change(function () {
  17. debugger;
  18. gridList();
  19. });
  20. });
  21. //function gridList() {
  22. // document.getElementById("gridPanel").innerHTML = ' <span><strong>详细信息</strong></span> <table id="gridList"></table> ';//重置grid
  23. // var Type = $("#selShow").val();
  24. // var $gridList = $("#gridList");
  25. // var queryJson = {
  26. // POCode: $("#txt_POCode").val(),
  27. // InvCode: $("#txt_InvCode").val(),
  28. // }
  29. // $gridList.dataGrid({
  30. // url: "/WMS/PickMaterial/GetGridJson?Type=" + Type + "&" + Math.random(),
  31. // postData: { queryJson: JSON.stringify(queryJson) },
  32. // height: 280,
  33. // width: $(window).width() - 500,
  34. // colModel: [
  35. // { label: "主键", name: "ID", hidden: true, key: true },
  36. // { label: '单据号', name: 'Code', width: 120, align: 'left' },
  37. // { label: '单据行号', name: 'Sequence', width: 100, align: 'left' },
  38. // { label: '操作日期', name: 'MTIME', width: 150, align: 'left' },
  39. // { label: '料品编码', name: 'InvCode', width: 100, align: 'left' },
  40. // { label: '料品名称', name: 'InvName', width: 100, align: 'left' },
  41. // { label: '料品描述', name: 'InvDesc', width: 100, align: 'left' },
  42. // { label: '规格型号', name: 'InvStd', width: 100, align: 'left' },
  43. // { label: '数量', name: 'Quantity', width: 100, align: 'left' },
  44. // { label: '单位', name: 'InvUnit', width: 100, align: 'left' },
  45. // { label: '维护人', name: 'MUSER', width: 80, align: 'left' },
  46. // { label: '维护人名称', name: 'MUSERName', width: 80, align: 'left' },
  47. // { label: '仓库编码', name: 'WHCode', width: 80, align: 'left' },
  48. // { label: '仓库名称', name: 'WarehouseName', width: 80, align: 'left' },
  49. // //{ label: '是否合并拣料', name: 'IsNew', width: 80, align: 'left' },
  50. // ],
  51. // shrinkToFit: false,//宽度自适应
  52. // autowidth: true,
  53. // gridComplete: function () {
  54. // },
  55. // rowNum: 10000,
  56. // autoScroll: true,
  57. // sortname: 'Code',
  58. // sortorder: "desc",
  59. // viewrecords: true,
  60. // multiselect: true,
  61. // });
  62. // $("#warehouse a.btn-default").click(function () {
  63. // $("#warehouse a.btn-default").removeClass("active");
  64. // $(this).addClass("active");
  65. // $('#btn_search').trigger("click");
  66. // });
  67. // $("#btn_search").click(function () {
  68. // var warehouse = $("#warehouse a.active").attr('data-value');
  69. // var queryJson = {
  70. // POCode: $("#txt_POCode").val(),
  71. // InvCode: $("#txt_InvCode").val(),
  72. // }
  73. // $gridList.jqGrid('setGridParam', {
  74. // postData: { queryJson: JSON.stringify(queryJson) },
  75. // }).trigger('reloadGrid');
  76. // });
  77. //}
  78. function SetCols() {
  79. $.ajax({
  80. url: "/Print/SelectColumnName?" + Math.random(),
  81. dataType: "json",
  82. async: false,
  83. success: function (data) {
  84. var cols = new Array();
  85. var collast = { label: "主键", name: "ID", hidden: true, key: true };
  86. cols.push(collast);
  87. var collast = { label: '单据号', name: 'Code', width: 120, align: 'left' };
  88. cols.push(collast);
  89. var collast = { label: '操作日期', name: 'MTIME', width: 150, align: 'left' };
  90. cols.push(collast);
  91. var collast = { label: '维护人', name: 'MUSER', width: 80, align: 'left' };
  92. cols.push(collast);
  93. var collast = { label: '维护人名称', name: 'MUSERName', width: 80, align: 'left' };
  94. cols.push(collast);
  95. var collast = { label: '是否合并拣料', name: 'IsNew', width: 80, align: 'left' };
  96. cols.push(collast);
  97. var cols1 = new Array();
  98. var collast1 = { label: "主键", name: "ID", hidden: true, key: true };
  99. cols1.push(collast1);
  100. var collast1 = { label: '领料合并ID', name: 'MergeID', width: 120, align: 'left' };
  101. cols1.push(collast1);
  102. var collast1 = { label: '单据号', name: 'Code', width: 120, align: 'left' };
  103. cols1.push(collast1);
  104. var collast1 = { label: '料品编码', name: 'InvCode', width: 150, align: 'left' };
  105. cols1.push(collast1);
  106. var collast1 = { label: '料品名称', name: 'InvName', width: 150, align: 'left' };
  107. cols1.push(collast1);
  108. var collast1 = { label: '规格型号', name: 'InvStd', width: 100, align: 'left' };
  109. cols1.push(collast1);
  110. var collast1 = { label: '应发数量', name: 'iQuantity', width: 100, align: 'left' };
  111. cols1.push(collast1);
  112. var collast1 = { label: '单位', name: 'InvUnit', width: 150, align: 'left' };
  113. cols1.push(collast1);
  114. var collast1 = { label: '仓库编码', name: 'WarehouseCode', width: 100, align: 'left' };
  115. cols1.push(collast1);
  116. var collast1 = { label: '库位编码', name: 'LocationCode', width: 100, align: 'left' };
  117. cols1.push(collast1);
  118. var collast1 = { label: '条码库存', name: 'QTY', width: 100, align: 'left' };
  119. cols1.push(collast1);
  120. var collast1 = { label: '条码', name: 'LotNO', width: 100, align: 'left' };
  121. cols1.push(collast1);
  122. if (data != null && data.length > 0) {
  123. DateList = data;
  124. for (var i = 0; i < data.length; i++) {
  125. var ColName = data[i].ColName;
  126. var ColCode = data[i].ColCode;
  127. var obj = new Array();
  128. obj = {
  129. label: ColName,
  130. name: ColCode,
  131. width: 80,
  132. align: "left"
  133. }
  134. cols.push(obj);
  135. cols1.push(obj);
  136. }
  137. }
  138. _Clos = cols;
  139. _Clos1 = cols1;
  140. }
  141. });
  142. }
  143. function gridList() {
  144. document.getElementById("gridPanel").innerHTML = ' <span><strong>详细信息</strong></span> <table id="gridList"></table> ';//重置grid
  145. var Type = $("#selShow").val();
  146. var $gridList = $("#gridList");
  147. var queryJson = {
  148. POCode: $("#txt_POCode").val(),
  149. InvCode: $("#txt_InvCode").val(),
  150. }
  151. $gridList.dataGrid({
  152. url: "/WMS/PickMaterial/GetGridJson?Type=" + Type + "&" + Math.random(),
  153. postData: { queryJson: JSON.stringify(queryJson) },
  154. height: 280,
  155. width: $(window).width() - 500,
  156. colModel: _Clos,
  157. //colModel: [
  158. // { label: "主键", name: "ID", hidden: true, key: true },
  159. // { label: '单据号', name: 'Code', width: 120, align: 'left' },
  160. // { label: '操作日期', name: 'MTIME', width: 150, align: 'left' },
  161. // { label: '维护人', name: 'MUSER', width: 80, align: 'left' },
  162. // { label: '维护人名称', name: 'MUSERName', width: 80, align: 'left' },
  163. // { label: '是否合并拣料', name: 'IsNew', width: 80, align: 'left' },
  164. //],
  165. shrinkToFit: false,//宽度自适应
  166. autowidth: true,
  167. gridComplete: function () {
  168. },
  169. rowNum: 10000,
  170. autoScroll: true,
  171. sortname: 'Code',
  172. sortorder: "desc",
  173. viewrecords: true,
  174. multiselect: true,
  175. subGrid: true, // (1)开启子表格支持
  176. subGridRowExpanded: function (subgrid_id, rowid) { // (2)子表格容器的id和需要展开子表格的行id,将传入此事件函数
  177. $("#gridList").jqGrid("setSelection", rowid, false);
  178. bindSubGrid(subgrid_id, rowid)
  179. }
  180. });
  181. function bindSubGrid(subgrid_id, rowid) {
  182. var Type = $("#selShow").val();
  183. $("#gridList").jqGrid("setSelection", rowid, false);
  184. var subgrid_table_id;
  185. subgrid_table_id = subgrid_id + "_t"; // (3)根据subgrid_id定义对应的子表格的table的id
  186. var subgrid_pager_id;
  187. subgrid_pager_id = subgrid_id + "_pgr" // (4)根据subgrid_id定义对应的子表格的pager的id
  188. // (5)动态添加子报表的table和pager
  189. $("#" + subgrid_id).html("<table id='" + subgrid_table_id + "' class='scroll'></table><div id='" + subgrid_pager_id + "' class='scroll'></div>");
  190. var Code = $("#gridList").jqGrid('getRowData', rowid).Code;
  191. //var Sequence = $("#gridList").jqGrid('getRowData', rowid).Sequence;
  192. // (6)创建jqGrid对象
  193. $("#" + subgrid_table_id).dataGrid({
  194. cellEdit: true,
  195. url: "/WMS/PickMaterial/GetSubGridJson?Code=" + Code + "&Type=" + Type + "&" + Math.random(), // (7)子表格数据对应的url,注意传入的contact.id参数
  196. colModel: [
  197. { label: '单据号', name: 'Code', width: 120, align: 'left' },
  198. { label: '单据行号', name: 'Sequence', width: 100, align: 'left' },
  199. { label: '操作日期', name: 'MTIME', width: 150, align: 'left' },
  200. { label: '料品编码', name: 'InvCode', width: 100, align: 'left' },
  201. { label: '料品名称', name: 'InvName', width: 100, align: 'left' },
  202. { label: '料品描述', name: 'InvDesc', width: 100, align: 'left' },
  203. { label: '规格型号', name: 'InvStd', width: 100, align: 'left' },
  204. { label: '数量', name: 'Quantity', width: 100, align: 'left' },
  205. { label: '单位', name: 'InvUnit', width: 100, align: 'left' },
  206. { label: '维护人', name: 'MUSER', width: 80, align: 'left' },
  207. { label: '维护人名称', name: 'MUSERName', width: 80, align: 'left' },
  208. { label: '仓库编码', name: 'WHCode', width: 80, align: 'left' },
  209. { label: '仓库名称', name: 'WarehouseName', width: 80, align: 'left' },
  210. ],
  211. //colModel: ColModelSub,
  212. shrinkToFit: true,//宽度自适应
  213. //multiselect: true,
  214. prmNames: { search: "search" },
  215. viewrecords: true,
  216. height: "100%",
  217. rowNum: 20,
  218. pager: subgrid_pager_id,
  219. });
  220. }
  221. $("#warehouse a.btn-default").click(function () {
  222. $("#warehouse a.btn-default").removeClass("active");
  223. $(this).addClass("active");
  224. $('#btn_search').trigger("click");
  225. });
  226. $("#btn_search").click(function () {
  227. var warehouse = $("#warehouse a.active").attr('data-value');
  228. var queryJson = {
  229. POCode: $("#txt_POCode").val(),
  230. InvCode: $("#txt_InvCode").val(),
  231. }
  232. $gridList.jqGrid('setGridParam', {
  233. postData: { queryJson: JSON.stringify(queryJson) },
  234. }).trigger('reloadGrid');
  235. });
  236. }
  237. function gridList2(flag) {
  238. debugger;
  239. document.getElementById("gridPanel2").innerHTML = ' <span><strong>合并信息</strong></span> <table id="gridList2"></table>';//重置grid
  240. var Type = $("#selShow").val();
  241. var $gridList = $("#gridList2");
  242. var objArr = '';
  243. var objList = $("#gridList").jqGrid('getGridParam', 'selarrrow');
  244. for (var i = 0; i < objList.length; i++) {
  245. var rowId = objList[i];
  246. var rowData = $("#gridList").jqGrid('getRowData', rowId);
  247. if (flag == '1') {
  248. objArr += "'" + rowData.Code + "',";
  249. } else {
  250. objArr += "'" + rowData.Code + "',";
  251. }
  252. }
  253. $gridList.dataGrid({
  254. url: "/WMS/PickMaterial/GetICSMOPickMergeTemp?ID=" + objArr + "&Type=" + Type + "&flag=" + flag + "&" + Math.random(),
  255. height: 500,
  256. width: $(window).width() - 500,
  257. colModel: _Clos1,
  258. //colModel: [
  259. // { label: "主键", name: "ID", hidden: true, key: true },
  260. // { label: '领料合并ID', name: 'MergeID', width: 120, align: 'left' },
  261. // { label: '单据号', name: 'Code', width: 120, align: 'left' },
  262. // { label: '料品编码', name: 'InvCode', width: 150, align: 'left' },
  263. // { label: '料品名称', name: 'InvName', width: 150, align: 'left' },
  264. // { label: '规格型号', name: 'InvStd', width: 100, align: 'left' },
  265. // { label: '应发数量', name: 'iQuantity', width: 100, align: 'left' },
  266. // { label: '单位', name: 'InvUnit', width: 150, align: 'left' },
  267. // { label: '仓库编码', name: 'WarehouseCode', width: 100, align: 'left' },
  268. // { label: '库位编码', name: 'LocationCode', width: 100, align: 'left' },
  269. // { label: '条码库存', name: 'QTY', width: 100, align: 'left' },
  270. // { label: '条码', name: 'LotNO', width: 100, align: 'left' },
  271. //],
  272. shrinkToFit: false,//宽度自适应
  273. autowidth: true,
  274. gridComplete: function () {
  275. },
  276. rowNum: 10000,
  277. sortorder: "desc",
  278. viewrecords: true,
  279. //multiselect: true,
  280. });
  281. $("#warehouse a.btn-default").click(function () {
  282. $("#warehouse a.btn-default").removeClass("active");
  283. $(this).addClass("active");
  284. $('#btn_search').trigger("click");
  285. });
  286. $("#btn_search").click(function () {
  287. var warehouse = $("#warehouse a.active").attr('data-value');
  288. var queryJson = {
  289. POCode: $("#txt_POCode").val(),
  290. }
  291. $gridList.jqGrid('setGridParam', {
  292. postData: { queryJson: JSON.stringify(queryJson) },
  293. }).trigger('reloadGrid');
  294. });
  295. }
  296. function btnMaterial() {
  297. debugger;
  298. var objArr = '';
  299. var arr = [];
  300. mark = '拣料';
  301. flag = '1';
  302. var objList = $("#gridList").jqGrid('getGridParam', 'selarrrow');
  303. for (var i = 0; i < objList.length; i++) {
  304. var rowId = objList[i];
  305. var rowData = $("#gridList").jqGrid('getRowData', rowId);
  306. if (rowData.IsNew == "已合并") {
  307. $.modalAlertNew("WMS00091");
  308. return;
  309. }
  310. objArr += "'" + rowData.Code + "',";
  311. objArr = objArr.slice(0, objArr.length - 1);
  312. objArr = "" + objArr + "|";
  313. arr.push(objArr);
  314. }
  315. Arguments = arr;
  316. gridList2(flag);
  317. }
  318. function btnMergeMaterial() {
  319. debugger;
  320. mark = '合并拣料';
  321. var sign = '';
  322. flag = '2';
  323. var Type = $("#selShow").val();
  324. var obj = '';
  325. var objArr = '';
  326. var objList = $("#gridList").jqGrid('getGridParam', 'selarrrow');
  327. if (objList.length < 2) {
  328. $.modalAlertNew("WMS00092");
  329. return;
  330. }
  331. for (var i = 0; i < objList.length; i++) {
  332. var rowId = objList[i];
  333. var rowData = $("#gridList").jqGrid('getRowData', rowId);
  334. obj += rowData.Code + ",";
  335. objArr += "'" + rowData.Code + "',";
  336. }
  337. $.ajax({
  338. url: "/WMS/PickMaterial/CheckQty" + "?" + Math.random() + "&objArr=" + objArr,
  339. dataType: "json",
  340. type: "post",
  341. async: false,
  342. success: function (data) {
  343. sign = data.count;
  344. }
  345. });
  346. if (sign == '1') {
  347. $.modalAlertNew("WMS00091");
  348. return;
  349. }
  350. $.submitForm({
  351. url: "/WMS/PickMaterial/MergeMaterial?Type=" + Type + "&" + Math.random(),
  352. param: {
  353. keyValue: obj
  354. },
  355. success: function () {
  356. //$.currentWindow().$("#gridList").trigger("reloadGrid");
  357. gridList2(flag);
  358. }
  359. })
  360. }
  361. function btnPrint() {
  362. debugger;
  363. var mold = '';
  364. if (mark == '') {
  365. $.modalAlertNew("WMS00093");
  366. return;
  367. }
  368. if (mark == '合并拣料') {
  369. var objArr = '';
  370. var arr = [];
  371. var obj_Item1 = $("#gridList2");
  372. var rowIds_Item1 = obj_Item1.getDataIDs();
  373. var arrayData_Item1 = new Array();
  374. var Enables = '';
  375. if (rowIds_Item1.length > 0) {
  376. debugger;
  377. for (var i = 0; i < rowIds_Item1.length; i++) {
  378. var RowData_Item1 = obj_Item1.getRowData(rowIds_Item1[0]);
  379. objArr += "'" + RowData_Item1.MergeID + "',";
  380. objArr = objArr.slice(0, objArr.length - 1);
  381. objArr = "" + objArr + "|";
  382. arr.push(objArr);
  383. }
  384. Arguments = arr;
  385. mold = 'HBJL00001';
  386. }
  387. }
  388. if (mark == '拣料') {
  389. mold = 'JL00001';
  390. }
  391. $.modalOpen({
  392. id: "PrintLot",
  393. title: "打印",
  394. url: "/WMS/Print/PrintView?Arguments=" + encodeURI(encodeURI(Arguments)) + "&mold=" + mold + "&" + Math.random(),
  395. width: "550px",
  396. height: "1000px",
  397. callBack: function (iframeId) {
  398. top.frames[iframeId].submitForm();
  399. }
  400. });
  401. }
  402. function fullscreen() {
  403. var docElm = document.documentElement;
  404. if (docElm.requestFullscreen) {
  405. docElm.requestFullscreen();
  406. } else if (docElm.mozRequestFullScreen) {
  407. docElm.mozRequestFullScreen();
  408. } else if (docElm.webkitRequestFullScreen) {
  409. docElm.webkitRequestFullScreen();
  410. } else if (docElm.msRequestFullscreen) {
  411. docElm.msRequestFullscreen();
  412. }
  413. $(window).bind('resize', function () {
  414. $("#gridList").setGridWidth($(window).width());
  415. }).trigger('resize');
  416. $(window).bind('resize', function () {
  417. $("#gridList").setGridHeight($(window).height());
  418. }).trigger('resize');
  419. }
  420. </script>
  421. <div class="topPanel" style="height:60px;">
  422. <div class="toolbar">
  423. <div class="btn-group">
  424. <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>
  425. <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>
  426. <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>
  427. <a class="btn btn-primary" onclick="$.reload()"><span class="glyphicon glyphicon-refresh"></span></a>
  428. </div>
  429. <script>$('.toolbar').authorizeButton()</script>
  430. </div>
  431. <div class="search">
  432. <table>
  433. <tr>
  434. <td>
  435. <label>&nbsp;&nbsp;&nbsp;类型:</label>
  436. </td>
  437. <td>
  438. <div class="input-group">
  439. <select id="selShow" name="F_Target" class="form-control" style="width: 100px;">
  440. <option value="1" selected="selected">工单备料</option>
  441. <option value="2" selected="selected">工单领料</option>
  442. <option value="3" selected="selected">工单材料出库</option>
  443. <option value="4" selected="selected">委外备料</option>
  444. <option value="5" selected="selected">委外领料</option>
  445. <option value="6" selected="selected">委外材料出库</option>
  446. <option value="7" selected="selected">销售发货</option>
  447. <option value="8" selected="selected">其它出库</option>
  448. <option value="9" selected="selected">借用</option>
  449. <option value="10" selected="selected">物料调拨</option>
  450. <option value="11" selected="selected">两步调出</option>
  451. </select>
  452. </div>
  453. </td>
  454. <td style="text-align:right;"><label class="lglabel" for="txt_POCode">&nbsp;&nbsp;&nbsp;单据号</label>:</td>
  455. <td>
  456. <div class="input-group">
  457. <input id="txt_POCode" type="text" class="form-control" style="width: 150px;">
  458. </div>
  459. </td>
  460. <td style="text-align:right;"><label class="lglabel" for="txt_InvCode">&nbsp;&nbsp;&nbsp;料品编码</label>:</td>
  461. <td>
  462. <div class="input-group">
  463. <input id="txt_InvCode" type="text" class="form-control" style="width: 150px;">
  464. </div>
  465. </td>
  466. <td>
  467. <span class="input-group-btn">
  468. <button id="btn_search" type="button" class="btn btn-primary"><i class="fa fa-search"></i></button>
  469. </span>
  470. </td>
  471. </tr>
  472. </table>
  473. </div>
  474. </div>
  475. <div class="gridPanel" id="gridPanel">
  476. <span><strong>详细信息</strong></span>
  477. <table id="gridList"></table>
  478. </div>
  479. <div class="gridPanel" id="gridPanel2">
  480. <span><strong>合并信息</strong></span>
  481. <table id="gridList2"></table>
  482. </div>