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

285 lines
12 KiB

3 years ago
  1. @{
  2. ViewBag.Title = "Index";
  3. Layout = "~/Views/Shared/_Index.cshtml";
  4. }
  5. <script>
  6. debugger;
  7. var flag = '1';
  8. $(function () {
  9. gridList();
  10. gridList2(flag);
  11. $("#selShow").change(function () {
  12. debugger;
  13. gridList();
  14. });
  15. });
  16. function gridList() {
  17. document.getElementById("gridPanel").innerHTML = ' <span><strong>详细信息</strong></span> <table id="gridList"></table> ';//重置grid
  18. var Type = $("#selShow").val();
  19. var $gridList = $("#gridList");
  20. var queryJson = {
  21. POCode: $("#txt_POCode").val(),
  22. InvCode: $("#txt_InvCode").val(),
  23. }
  24. $gridList.dataGrid({
  25. url: "/WMS/PickMaterial/GetGridJson?Type=" + Type + "&" + Math.random(),
  26. postData: { queryJson: JSON.stringify(queryJson) },
  27. height: 280,
  28. width: $(window).width() - 500,
  29. colModel: [
  30. { label: "主键", name: "ID", hidden: true, key: true },
  31. { label: '单据号', name: 'Code', width: 120, align: 'left' },
  32. { label: '单据行号', name: 'Sequence', width: 100, align: 'left' },
  33. { label: '操作日期', name: 'MTIME', width: 150, align: 'left' },
  34. { label: '料品编码', name: 'InvCode', width: 100, align: 'left' },
  35. { label: '料品名称', name: 'InvName', width: 100, align: 'left' },
  36. { label: '料品描述', name: 'InvDesc', width: 100, align: 'left' },
  37. { label: '规格型号', name: 'InvStd', width: 100, align: 'left' },
  38. { label: '数量', name: 'Quantity', width: 100, align: 'left' },
  39. { label: '单位', name: 'InvUnit', width: 100, align: 'left' },
  40. { label: '维护人', name: 'MUSER', width: 80, align: 'left' },
  41. { label: '维护人名称', name: 'MUSERName', width: 80, align: 'left' },
  42. { label: '仓库编码', name: 'WHCode', width: 80, align: 'left' },
  43. { label: '仓库名称', name: 'WarehouseName', width: 80, align: 'left' },
  44. //{ label: '是否合并拣料', name: 'IsNew', width: 80, align: 'left' },
  45. ],
  46. shrinkToFit: false,//宽度自适应
  47. autowidth: true,
  48. gridComplete: function () {
  49. },
  50. rowNum: 10000,
  51. autoScroll: true,
  52. sortname: 'Code',
  53. sortorder: "desc",
  54. viewrecords: true,
  55. multiselect: true,
  56. });
  57. $("#warehouse a.btn-default").click(function () {
  58. $("#warehouse a.btn-default").removeClass("active");
  59. $(this).addClass("active");
  60. $('#btn_search').trigger("click");
  61. });
  62. $("#btn_search").click(function () {
  63. var warehouse = $("#warehouse a.active").attr('data-value');
  64. var queryJson = {
  65. POCode: $("#txt_POCode").val(),
  66. InvCode: $("#txt_InvCode").val(),
  67. }
  68. $gridList.jqGrid('setGridParam', {
  69. postData: { queryJson: JSON.stringify(queryJson) },
  70. }).trigger('reloadGrid');
  71. });
  72. }
  73. function gridList2(flag) {
  74. debugger;
  75. document.getElementById("gridPanel2").innerHTML = ' <span><strong>合并信息</strong></span> <table id="gridList2"></table>';//重置grid
  76. var Type = $("#selShow").val();
  77. var $gridList = $("#gridList2");
  78. var objArr = '';
  79. var objList = $("#gridList").jqGrid('getGridParam', 'selarrrow');
  80. for (var i = 0; i < objList.length; i++) {
  81. var rowId = objList[i];
  82. var rowData = $("#gridList").jqGrid('getRowData', rowId);
  83. if (flag=='1') {
  84. objArr += "'" + rowData.Code + rowData.Sequence + "',";
  85. } else {
  86. objArr += "'" + rowData.ID + "',";
  87. }
  88. }
  89. $gridList.dataGrid({
  90. url: "/WMS/PickMaterial/GetICSMOPickMergeTemp?ID=" + objArr + "&Type=" + Type + "&flag=" + flag + "&" + Math.random(),
  91. height: 500,
  92. width: $(window).width() - 500,
  93. colModel: [
  94. { label: "主键", name: "ID", hidden: true, key: true },
  95. { label: '领料合并ID', name: 'MergeID', width: 120, align: 'left' },
  96. { label: '单据号', name: 'Code', width: 120, align: 'left' },
  97. { label: '料品编码', name: 'InvCode', width: 150, align: 'left' },
  98. { label: '料品名称', name: 'InvName', width: 150, align: 'left' },
  99. { label: '规格型号', name: 'InvStd', width: 100, align: 'left' },
  100. { label: '应发数量', name: 'iQuantity', width: 100, align: 'left' },
  101. { label: '单位', name: 'InvUnit', width: 150, align: 'left' },
  102. { label: '仓库编码', name: 'WarehouseCode', width: 100, align: 'left' },
  103. { label: '库位编码', name: 'LocationCode', width: 100, align: 'left' },
  104. { label: '条码库存', name: 'QTY', width: 100, align: 'left' },
  105. { label: '条码', name: 'LotNO', width: 100, align: 'left' },
  106. ],
  107. shrinkToFit: false,//宽度自适应
  108. autowidth: true,
  109. gridComplete: function () {
  110. },
  111. rowNum: 10000,
  112. sortorder: "desc",
  113. viewrecords: true,
  114. //multiselect: true,
  115. });
  116. $("#warehouse a.btn-default").click(function () {
  117. $("#warehouse a.btn-default").removeClass("active");
  118. $(this).addClass("active");
  119. $('#btn_search').trigger("click");
  120. });
  121. $("#btn_search").click(function () {
  122. var warehouse = $("#warehouse a.active").attr('data-value');
  123. var queryJson = {
  124. POCode: $("#txt_POCode").val(),
  125. }
  126. $gridList.jqGrid('setGridParam', {
  127. postData: { queryJson: JSON.stringify(queryJson) },
  128. }).trigger('reloadGrid');
  129. });
  130. }
  131. function btnMaterial() {
  132. debugger;
  133. flag = '1';
  134. var objList = $("#gridList").jqGrid('getGridParam', 'selarrrow');
  135. for (var i = 0; i < objList.length; i++) {
  136. var rowId = objList[i];
  137. var rowData = $("#gridList").jqGrid('getRowData', rowId);
  138. if (rowData.IsNew=="已合并") {
  139. $.modalAlert("该单据已合并拣料,无法重复拣料!");
  140. return;
  141. }
  142. }
  143. gridList2(flag);
  144. }
  145. function btnMergeMaterial() {
  146. debugger;
  147. var sign = '';
  148. flag = '2';
  149. var Type = $("#selShow").val();
  150. var obj = '';
  151. var objArr = '';
  152. var objList = $("#gridList").jqGrid('getGridParam', 'selarrrow');
  153. if (objList.length < 2) {
  154. $.modalAlert("请至少选择两条数据进行合并!");
  155. return;
  156. }
  157. for (var i = 0; i < objList.length; i++) {
  158. var rowId = objList[i];
  159. var rowData = $("#gridList").jqGrid('getRowData', rowId);
  160. obj += rowData.ID + ",";
  161. objArr += "'" + rowData.ID + "',";
  162. }
  163. $.ajax({
  164. url: "/WMS/PickMaterial/CheckQty" + "?" + Math.random() + "&objArr=" + objArr,
  165. dataType: "json",
  166. type: "post",
  167. async: false,
  168. success: function (data) {
  169. sign = data.count;
  170. }
  171. });
  172. if (sign == '1') {
  173. $.modalAlert("该单据已合并拣料,无法重复拣料!");
  174. return;
  175. }
  176. $.submitForm({
  177. url: "/WMS/PickMaterial/MergeMaterial?Type=" + Type + "&" + Math.random(),
  178. param: {
  179. keyValue: obj
  180. },
  181. success: function () {
  182. //$.currentWindow().$("#gridList").trigger("reloadGrid");
  183. gridList2(flag);
  184. }
  185. })
  186. }
  187. function fullscreen() {
  188. var docElm = document.documentElement;
  189. if (docElm.requestFullscreen) {
  190. docElm.requestFullscreen();
  191. } else if (docElm.mozRequestFullScreen) {
  192. docElm.mozRequestFullScreen();
  193. } else if (docElm.webkitRequestFullScreen) {
  194. docElm.webkitRequestFullScreen();
  195. } else if (docElm.msRequestFullscreen) {
  196. docElm.msRequestFullscreen();
  197. }
  198. $(window).bind('resize', function () {
  199. $("#gridList").setGridWidth($(window).width());
  200. }).trigger('resize');
  201. $(window).bind('resize', function () {
  202. $("#gridList").setGridHeight($(window).height());
  203. }).trigger('resize');
  204. }
  205. </script>
  206. <div class="topPanel" style="height:60px;">
  207. <div class="toolbar">
  208. <div class="btn-group">
  209. <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>
  210. <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>
  211. <a class="btn btn-primary" onclick="$.reload()"><span class="glyphicon glyphicon-refresh"></span></a>
  212. </div>
  213. <script>$('.toolbar').authorizeButton()</script>
  214. </div>
  215. <div class="search">
  216. <table>
  217. <tr>
  218. <td>
  219. <label>&nbsp;&nbsp;&nbsp;类型:</label>
  220. </td>
  221. <td>
  222. <div class="input-group">
  223. <select id="selShow" name="F_Target" class="form-control" style="width: 100px;">
  224. <option value="1" selected="selected">工单备料</option>
  225. <option value="2" selected="selected">工单领料</option>
  226. <option value="3" selected="selected">工单材料出库</option>
  227. <option value="4" selected="selected">委外备料</option>
  228. <option value="5" selected="selected">委外领料</option>
  229. <option value="6" selected="selected">委外材料出库</option>
  230. <option value="7" selected="selected">销售发货</option>
  231. <option value="8" selected="selected">其它出库</option>
  232. <option value="9" selected="selected">借用</option>
  233. </select>
  234. </div>
  235. </td>
  236. <td style="text-align:right;"><label class="lglabel" for="txt_POCode">&nbsp;&nbsp;&nbsp;单据号</label>:</td>
  237. <td>
  238. <div class="input-group">
  239. <input id="txt_POCode" type="text" class="form-control" style="width: 150px;">
  240. </div>
  241. </td>
  242. <td style="text-align:right;"><label class="lglabel" for="txt_InvCode">&nbsp;&nbsp;&nbsp;料品编码</label>:</td>
  243. <td>
  244. <div class="input-group">
  245. <input id="txt_InvCode" type="text" class="form-control" style="width: 150px;">
  246. </div>
  247. </td>
  248. <td>
  249. <span class="input-group-btn">
  250. <button id="btn_search" type="button" class="btn btn-primary"><i class="fa fa-search"></i></button>
  251. </span>
  252. </td>
  253. </tr>
  254. </table>
  255. </div>
  256. </div>
  257. <div class="gridPanel" id="gridPanel">
  258. <span><strong>详细信息</strong></span>
  259. <table id="gridList"></table>
  260. </div>
  261. <div class="gridPanel" id="gridPanel2">
  262. <span><strong>合并信息</strong></span>
  263. <table id="gridList2"></table>
  264. </div>