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.

379 lines
16 KiB

  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 MtimeFrom = year + "-" + mon + "-" + date;
  13. var MtimeArrive = year + "-" + mon + "-" + date;
  14. var _Clos = new Array();
  15. var _Clos1 = new Array();
  16. var flag = '1';
  17. var mark = '';
  18. var Arguments = '';
  19. $(function () {
  20. $("#TimeFrom").val(MtimeFrom);
  21. $("#TimeArrive").val(MtimeArrive);
  22. gridList();
  23. gridList2(flag);
  24. });
  25. function Selchange() {
  26. //$("#txt_Mechanism").val("");
  27. var Type = $("#selShow").val();
  28. if (Type=='1') {
  29. $(".Mechanism").css('display', 'table-cell');
  30. }
  31. else {
  32. $(".Mechanism").css('display', 'none');
  33. }
  34. document.getElementById("gridPanel").innerHTML = ' <span><strong>详细信息</strong></span> <table id="gridList"></table> ';//重置grid
  35. gridList();
  36. }
  37. function gridList() {
  38. var Type = $("#selShow").val();
  39. var $gridList = $("#gridList");
  40. var queryJson = {
  41. POCode: $("#txt_POCode").val(),
  42. InvCode: $("#txt_InvCode").val(),
  43. Mechanism: $("#txt_Mechanism").val(),
  44. TimeFrom: $("#TimeFrom").val(),
  45. TimeArrive: $("#TimeArrive").val(),
  46. }
  47. $gridList.dataGrid({
  48. url: "/WMS/YLICSMoPick/GetGridJson? " + Math.random(),
  49. postData: { queryJson: JSON.stringify(queryJson), Type: Type },
  50. height: 280,
  51. width: $(window).width() - 500,
  52. //colModel: _Clos,
  53. colModel: [
  54. { label: "主键", name: "ID", hidden: true, key: true },
  55. { label: '单据号', name: 'Code', width: 120, align: 'left' },
  56. { label: '单据行号', name: 'Sequence', width: 120, align: 'left' },
  57. { label: '机构', name: 'EATTRIBUTE2', width: 120, align: 'left' },
  58. { label: '子件行号', name: 'ZSequence', width: 120, align: 'left' },
  59. { label: '合并行号', name: 'MSequence', width: 120, align: 'left' },
  60. { label: '料品编码', name: 'InvCode', width: 120, align: 'left' },
  61. { label: '料品名称', name: 'InvName', width: 120, align: 'left' },
  62. { label: '规格型号', name: 'InvStd', width: 120, align: 'left' },
  63. { label: '数量', name: 'Quantity', width: 120, align: 'left' },
  64. { label: '已发数量', name: 'IssueQuantity', width: 120, align: 'left' },
  65. { label: '单位', name: 'InvUnit', width: 120, align: 'left' },
  66. { label: '仓库编码', name: 'WHCode', width: 120, align: 'left' },
  67. { label: '仓库名称', name: 'WarehouseName', width: 120, align: 'left' },
  68. { label: '操作日期', name: 'MTIME', width: 150, align: 'left' },
  69. { label: '维护人', name: 'MUSER', width: 80, align: 'left' },
  70. { label: '维护人名称', name: 'MUSERName', width: 80, align: 'left' },
  71. ],
  72. shrinkToFit: false,//宽度自适应
  73. autowidth: true,
  74. gridComplete: function () {
  75. },
  76. rowNum: 10000,
  77. autoScroll: true,
  78. sortname: 'Code',
  79. sortorder: "desc",
  80. viewrecords: true,
  81. multiselect: true,
  82. gridComplete: function () {
  83. debugger;
  84. var strIds = $("#gridList").jqGrid("getDataIDs");
  85. }
  86. });
  87. }
  88. function gridList2(flag) {
  89. debugger;
  90. document.getElementById("gridPanel2").innerHTML = ' <span><strong>合并信息</strong></span> <table id="gridList2"></table>';//重置grid
  91. //var Mechanism = $("#txt_Mechanism").val();
  92. var InvCode = $("#txt_InvCode").val();
  93. var Type = $("#selShow").val();
  94. var $gridList = $("#gridList2");
  95. var objArr = '';
  96. var objList = $("#gridList").jqGrid('getGridParam', 'selarrrow');
  97. for (var i = 0; i < objList.length; i++) {
  98. var rowId = objList[i];
  99. var rowData = $("#gridList").jqGrid('getRowData', rowId);
  100. objArr += "'" + rowData.Code + rowData.Sequence + "',";
  101. }
  102. $gridList.dataGrid({
  103. url: "/WMS/YLICSMoPick/GetICSMOPickMergeTemp?Type=" + Type + "&flag=" + flag + "&" + Math.random(),
  104. postData: { ID: objArr },
  105. mtype: "POST",
  106. height: 500,
  107. width: $(window).width() - 500,
  108. //colModel: _Clos1,
  109. colModel: [
  110. { label: "主键", name: "ID", hidden: true, key: true },
  111. { label: '单据号', name: 'Code', width: 120, align: 'left' },
  112. { label: '单据行号', name: 'Sequence', width: 120, align: 'left' },
  113. { label: '料品编码', name: 'InvCode', width: 150, align: 'left' },
  114. { label: '料品名称', name: 'InvName', width: 150, align: 'left' },
  115. { label: '规格型号', name: 'InvStd', width: 100, align: 'left' },
  116. { label: '应发数量', name: 'iQuantity', width: 100, align: 'left' },
  117. { label: '单位', name: 'InvUnit', width: 150, align: 'left' },
  118. { label: '仓库编码', name: 'WarehouseCode', width: 100, align: 'left' },
  119. { label: '库位编码', name: 'LocationCode', width: 100, align: 'left' },
  120. { label: '条码库存', name: 'QTY', width: 100, align: 'left' },
  121. { label: '条码', name: 'LotNO', width: 100, align: 'left' },
  122. { label: 'SendQTY', name: 'SendQTY', width: 100, align: 'left', hidden: true },
  123. { label: 'EATTRIBUTE2', name: 'EATTRIBUTE2', width: 100, align: 'left', hidden: true },
  124. { label: 'NowMTIME', name: 'NowMTIME', width: 100, align: 'left', hidden: true },
  125. { label: 'rowNo', name: 'rowNo', width: 100, align: 'left', hidden: true },
  126. ],
  127. shrinkToFit: false,//宽度自适应
  128. autowidth: true,
  129. gridComplete: function () {
  130. },
  131. rowNum: 10000,
  132. //sortname: 'cast(rowNo as int)',
  133. //sortorder: "asc",
  134. viewrecords: true,
  135. //multiselect: true,
  136. });
  137. }
  138. function btnMaterial() {
  139. debugger;
  140. var objArr = '';
  141. var arr = [];
  142. mark = '拣料';
  143. flag = '1';
  144. var objList = $("#gridList").jqGrid('getGridParam', 'selarrrow');
  145. for (var i = 0; i < objList.length; i++) {
  146. var rowId = objList[i];
  147. var rowData = $("#gridList").jqGrid('getRowData', rowId);
  148. //if (rowData.IsNew != "") {
  149. // $.modalAlertNew("WMS00091");
  150. // return;
  151. //}
  152. objArr += "'" + rowData.Code + "',";
  153. objArr = objArr.slice(0, objArr.length - 1);
  154. objArr = "" + objArr + "|";
  155. arr.push(objArr);
  156. }
  157. Arguments = arr;
  158. gridList2(flag);
  159. }
  160. function btnPrint() {
  161. debugger;
  162. var objArr = '';
  163. var arr = [];
  164. debugger;
  165. var Type = $("#selShow").val();
  166. var Mechanism = $("#txt_Mechanism").val();
  167. var InvCode = $("#txt_InvCode").val();
  168. var mold = '';
  169. if (mark == '') {
  170. $.modalAlertNew("WMS00093");
  171. return;
  172. }
  173. if (mark == '拣料') {
  174. var obj_Item1 = $("#gridList2");
  175. var rowIds_Item1 = obj_Item1.getDataIDs();
  176. var arrayData_Item1 = new Array();
  177. if (rowIds_Item1.length > 0) {
  178. for (var i = 0; i < rowIds_Item1.length; i++) {
  179. var RowData_Item1 = obj_Item1.getRowData(rowIds_Item1[i]);
  180. /* if (RowData_Item1.LotNO != "") {*/
  181. var obj = {
  182. Code: RowData_Item1.Code,
  183. Sequence: RowData_Item1.Sequence,
  184. InvCode: RowData_Item1.InvCode,
  185. InvName: RowData_Item1.InvName,
  186. InvStd: RowData_Item1.InvStd,
  187. iQuantity: RowData_Item1.iQuantity,
  188. InvUnit: RowData_Item1.InvUnit,
  189. WarehouseCode: RowData_Item1.WarehouseCode,
  190. LocationCode: RowData_Item1.LocationCode,
  191. QTY: RowData_Item1.QTY,
  192. LotNO: RowData_Item1.LotNO,
  193. SendQTY: RowData_Item1.SendQTY,
  194. EATTRIBUTE2: RowData_Item1.EATTRIBUTE2,
  195. NowMTIME: RowData_Item1.NowMTIME,
  196. rowNo: RowData_Item1.rowNo,
  197. };
  198. /* }*/
  199. arr.push(obj)
  200. }
  201. }
  202. Arguments = JSON.stringify(arr);
  203. mold = 'YLJL00001';
  204. }
  205. sessionStorage.setItem("Arguments", Arguments); // 存储参数
  206. $.modalOpen({
  207. id: "PrintLot",
  208. title: "打印",
  209. //url: "/WMS/Print/PrintView?Arguments=" + encodeURI(encodeURI(Arguments)) + "&mold=" + mold + "&" + Math.random(),
  210. url: "/WMS/Print/PrintView?&mold=" + mold + "&" + Math.random(),
  211. width: "550px",
  212. height: "1000px",
  213. callBack: function (iframeId) {
  214. top.frames[iframeId].submitForm();
  215. }
  216. });
  217. }
  218. function fullscreen() {
  219. var docElm = document.documentElement;
  220. if (docElm.requestFullscreen) {
  221. docElm.requestFullscreen();
  222. } else if (docElm.mozRequestFullScreen) {
  223. docElm.mozRequestFullScreen();
  224. } else if (docElm.webkitRequestFullScreen) {
  225. docElm.webkitRequestFullScreen();
  226. } else if (docElm.msRequestFullscreen) {
  227. docElm.msRequestFullscreen();
  228. }
  229. $(window).bind('resize', function () {
  230. $("#gridList").setGridWidth($(window).width());
  231. }).trigger('resize');
  232. $(window).bind('resize', function () {
  233. $("#gridList").setGridHeight($(window).height());
  234. }).trigger('resize');
  235. }
  236. </script>
  237. <div class="topPanel" style="height:60px;">
  238. <div class="toolbar">
  239. <div class="btn-group">
  240. <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>
  241. @*<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>
  242. <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>*@
  243. <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>
  244. <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>
  245. <a class="btn btn-primary" onclick="$.reload()"><span class="glyphicon glyphicon-refresh"></span></a>
  246. </div>
  247. <script>$('.toolbar').authorizeButton()</script>
  248. </div>
  249. <div class="search">
  250. <table>
  251. <tr>
  252. <td>
  253. <label>&nbsp;&nbsp;&nbsp;类型:</label>
  254. </td>
  255. <td>
  256. <div class="input-group">
  257. <select id="selShow" name="F_Target" class="form-control" style="width: 80px;" onchange="Selchange()">
  258. <option value="1" selected="selected">工单备料</option>
  259. @*<option value="2" selected="selected">工单领料</option>
  260. <option value="3" selected="selected">工单材料出库</option>
  261. <option value="4" selected="selected">委外备料</option>
  262. <option value="5" selected="selected">委外领料</option>
  263. <option value="6" selected="selected">委外材料出库</option>
  264. <option value="7" selected="selected">销售发货</option>
  265. <option value="8" selected="selected">其它出库</option>
  266. <option value="9" selected="selected">借用</option>
  267. <option value="10" selected="selected">物料调拨</option>
  268. <option value="11" selected="selected">两步调出</option>
  269. <option value="12" selected="selected">补料</option>*@
  270. </select>
  271. </div>
  272. </td>
  273. <td style="text-align:right;"><label class="lglabel" for="txt_POCode">&nbsp;&nbsp;&nbsp;单据号</label>:</td>
  274. <td>
  275. <div class="input-group">
  276. <input id="txt_POCode" type="text" class="form-control" style="width: 100px;">
  277. </div>
  278. </td>
  279. <td style="text-align:right;"><label class="lglabel" for="txt_InvCode">&nbsp;&nbsp;&nbsp;料品编码</label>:</td>
  280. <td>
  281. <div class="input-group">
  282. <input id="txt_InvCode" type="text" class="form-control" style="width: 100px;">
  283. </div>
  284. </td>
  285. <td style="text-align:right;" class="Mechanism"><label class="lglabel" for="txt_Mechanism">&nbsp;&nbsp;&nbsp;机构</label>:</td>
  286. <td class="Mechanism">
  287. <div class="input-group">
  288. <input id="txt_Mechanism" type="text" class="form-control" style="width: 100px;">
  289. </div>
  290. </td>
  291. <td style="text-align:right;"><label class="lglabel" for="txt_TimeFrom">&nbsp;&nbsp;&nbsp;日期(从)</label>:</td>
  292. <td>
  293. <div class="input-group">
  294. <input id="TimeFrom" name="Time" type="text" class="form-control required" style="width:80px;" maxlength="10" onclick="WdatePicker({ dateFmt: 'yyyy-MM-dd'})" placeholder="日期(从)" />
  295. </div>
  296. </td>
  297. <td style="text-align:right;"><label class="lglabel" for="txt_TimeArrive">&nbsp;&nbsp;&nbsp;日期(到)</label>:</td>
  298. <td>
  299. <div class="input-group">
  300. <input id="TimeArrive" name="Time" type="text" class="form-control required" style="width:80px;" maxlength="10" onclick="WdatePicker({ dateFmt: 'yyyy-MM-dd' })" placeholder="日期(到)" />
  301. </div>
  302. </td>
  303. <td>
  304. <span class="input-group-btn">
  305. <button id="btn_search" type="button" class="btn btn-primary" onclick="Selchange()"><i class="fa fa-search"></i></button>
  306. </span>
  307. </td>
  308. </tr>
  309. </table>
  310. </div>
  311. </div>
  312. <div class="gridPanel" id="gridPanel">
  313. <span><strong>详细信息</strong></span>
  314. <table id="gridList"></table>
  315. </div>
  316. <div class="gridPanel" id="gridPanel2">
  317. <span><strong>合并信息</strong></span>
  318. <table id="gridList2"></table>
  319. </div>