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.

198 lines
8.0 KiB

3 weeks ago
  1. 
  2. @{
  3. ViewBag.Title = "SeachInventory";
  4. Layout = "~/Views/Shared/_Index.cshtml";
  5. }
  6. <link href="~/Content/js/select2/select2.min.css" rel="stylesheet" />
  7. <link href="~/Content/js/dialog/dialog.css?v=20120420" rel="stylesheet" />
  8. <script src="~/Content/js/datepicker/WdatePicker.js"></script>
  9. <script src="~/Content/js/select2/select2.min.js"></script>
  10. <script>
  11. debugger;
  12. var _Clos = new Array();
  13. var MOCode = $.request("MOCode");
  14. var Sequence = $.request("Sequence");
  15. $(function () {
  16. DateTime();
  17. SetCols();
  18. Init();
  19. })
  20. function DateTime() {
  21. var myDate = new Date();
  22. var year = myDate.getFullYear(); // 获取当前年
  23. var monFrom = myDate.getMonth() === 0 ? 12 : myDate.getMonth(); // 上个月,如果当前是1月,则为12
  24. var yearForLastMonth = myDate.getMonth() === 0 ? year - 1 : year; // 如果当前为1月,年份减1
  25. // 获取上个月的日期
  26. var dateFrom = myDate.getDate() < 10 ? "0" + myDate.getDate() : myDate.getDate(); // 获取当前日
  27. monFrom = monFrom < 10 ? "0" + monFrom : monFrom; // 将月份格式化为两位数
  28. var MtimeFrom = yearForLastMonth + "-" + monFrom + "-" + dateFrom; // 上个月的日期
  29. $("#TimeFrom").val(MtimeFrom);
  30. var mon = myDate.getMonth() + 1 < 10 ? "0" + (myDate.getMonth() + 1) : myDate.getMonth() + 1; //获取当前月
  31. var date = myDate.getDate() + 1 < 10 ? "0" + myDate.getDate() : myDate.getDate(); //获取当前日
  32. var MtimeArrive = year + "-" + mon + "-" + date;
  33. $("#TimeArrive").val(MtimeArrive);
  34. }
  35. function SetCols() {
  36. var cols = new Array();
  37. var collast = { label: '主键', name: 'ID', hidden: true, key: true };
  38. cols.push(collast);
  39. var collast = { label: '工单号', name: 'MoCode', hidden: true, };
  40. cols.push(collast);
  41. var collast = { label: '工单行号', name: 'MoSeq', hidden: true,};
  42. cols.push(collast);
  43. var collast = { label: '追踪单号', name: 'Code', width: 100, align: 'left' };
  44. cols.push(collast);
  45. var collast = { label: '物料编码', name: 'ItemCode', width: 120, align: 'left' };
  46. cols.push(collast);
  47. var collast = { label: '物料名称', name: 'InvName', width: 100, align: 'left' };
  48. cols.push(collast);
  49. var collast = { label: '批次', name: 'BatchCode', width: 100, align: 'left' };
  50. cols.push(collast);
  51. var collast = { label: '单据数量', name: 'Qty', width: 100, align: 'left' };
  52. cols.push(collast);
  53. var collast = { label: '剩余可生成数', name: 'RemainingQTY2', width: 150, align: 'left' };
  54. cols.push(collast);
  55. var collast = { label: '生成数', name: 'RemainingQTY', width: 80, align: 'left' ,editable: true, editrules: { number: true } };
  56. cols.push(collast);
  57. _Clos = cols;
  58. }
  59. function Init() {
  60. document.getElementById("gridPanel").innerHTML = ' <span><strong>详细信息</strong></span> <table id="gridList"></table> ';//重置grid
  61. var invcode = $("#txt_Invcode").val();
  62. var Code = $("#txt_Code").val();
  63. var Invstd = $("#txt_Invstd").val();
  64. var EATTRIBUTE2 = $("#txt_EATTRIBUTE2").val();
  65. var TimeFrom = $("#TimeFrom").val();
  66. var TimeArrive = $("#TimeArrive").val();
  67. $("#gridList").dataGrid({
  68. url: "/RTWMS/WMSCreateItemLot/GetCode" + "?MOCode=" + MOCode + "&Sequence=" + Sequence + "&" + Math.random(),
  69. height: $(window).height() - 20,
  70. width: $(window).width() - 300,
  71. cellEdit: true,
  72. colModel: _Clos,
  73. cellsubmit: "clientArray",
  74. pager: "#gridPager",
  75. sortorder: "desc",
  76. sortname: 'Code',
  77. rowNum: 10000,
  78. viewrecords: true,
  79. multiselect: true,
  80. beforeSelectRow: function (rowid) {
  81. debugger;
  82. // 获取批次列的值
  83. var BatchCode = $("#gridList").jqGrid("getCell", rowid, 'BatchCode');
  84. // 将批次值赋值给 id 为 input 的元素
  85. $('#txt_BatchCode').val(BatchCode);
  86. },
  87. gridComplete: function () {
  88. $("#gridList").jqGrid('setLabel', 'RemainingQTY', '', { 'color': 'red' });
  89. },
  90. afterSaveCell: function (rowid, cellname, value) {
  91. //debugger;
  92. var RemainingQTY2 = $("#gridList").jqGrid("getCell", rowid, 'RemainingQTY2');
  93. //总扣分数加其他扣分数
  94. if (cellname === 'RemainingQTY') {
  95. var RemainingQTY = Number(value);
  96. if (RemainingQTY <= 0) {
  97. $.modalAlert("请输入大于0的生成数!", "warning");
  98. return;
  99. }
  100. if (RemainingQTY > RemainingQTY2) {
  101. RemainingQTY = 0;
  102. $.modalAlert("所输入的生成数量不能大于跟踪单剩余可生成数!", "warning");
  103. return;
  104. }
  105. $("#gridList").jqGrid("setCell", rowid, 'RemainingQTY', RemainingQTY);
  106. }
  107. },
  108. })
  109. };
  110. function submitForm() {
  111. debugger;
  112. var rows = $("#gridList").jqGrid('getGridParam', 'selarrrow');
  113. //if (rows.length < 1) {
  114. // $.modalAlertNew("WMS00079");
  115. // return;
  116. //}
  117. var BatchCode = $("#txt_BatchCode").val();
  118. if (BatchCode=="") {
  119. $.modalAlert("请输入条码批次!", "warning");
  120. return;
  121. }
  122. var ARRS = [];
  123. var objs = [];
  124. var CodeInfo ='';
  125. var thisCreateQty=0;
  126. // var rowdata = $("#gridList").jqGrid("getRowData", rows[0]);
  127. for (var i = 0; i < rows.length; i++) {
  128. CodeInfo = CodeInfo+ $("#gridList").jqGrid('getRowData', rows[i]).Code + ',';
  129. thisCreateQty += Number($("#gridList").jqGrid('getRowData', rows[i]).RemainingQTY);
  130. var obj = {
  131. MoCode: $("#gridList").jqGrid('getRowData', rows[i]).MoCode,
  132. MoSeq: $("#gridList").jqGrid('getRowData', rows[i]).MoSeq,
  133. Code: $("#gridList").jqGrid('getRowData', rows[i]).Code,
  134. ItemCode: $("#gridList").jqGrid('getRowData', rows[i]).ItemCode,
  135. InvName: $("#gridList").jqGrid('getRowData', rows[i]).InvName,
  136. BatchCode: $("#gridList").jqGrid('getRowData', rows[i]).BatchCode,
  137. Qty: $("#gridList").jqGrid('getRowData', rows[i]).Qty,
  138. RemainingQTY2: $("#gridList").jqGrid('getRowData', rows[i]).RemainingQTY2,
  139. RemainingQTY: $("#gridList").jqGrid('getRowData', rows[i]).RemainingQTY,
  140. }
  141. objs.push(obj);
  142. }
  143. CodeInfo = CodeInfo.slice(0, CodeInfo.length - 1);
  144. ARRS = {
  145. CodeInfo: CodeInfo,
  146. thisCreateQty: thisCreateQty,
  147. BatchCode:BatchCode,
  148. objs:objs
  149. };
  150. return ARRS;
  151. };
  152. function Close() {
  153. $.modalClose();
  154. }
  155. function reloadData() {
  156. }
  157. function guid() {
  158. return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
  159. var r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8);
  160. return v.toString(16);
  161. });
  162. }
  163. </script>
  164. <div class="topPanel" style="height:60px">
  165. <div class="search">
  166. <table>
  167. <tr>
  168. <td>
  169. <label>请输入条码批次:</label>
  170. </td>
  171. <td>
  172. <div class="input-group">
  173. <input id="txt_BatchCode" type="text" class="form-control" placeholder="条码批次" style="width: 120px;">
  174. </div>
  175. </td>
  176. </table>
  177. </div>
  178. </div>
  179. <div class="gridPanel" id="gridPanel">
  180. <table id="gridList"></table>
  181. <div id="gridPager"></div>
  182. </div>