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

449 lines
20 KiB

  1. @{
  2. ViewBag.Title = "Index";
  3. Layout = "~/Views/Shared/_Index.cshtml";
  4. }
  5. <script>
  6. debugger;
  7. var _Clos = new Array();
  8. var Type = $.request("Type");
  9. var ColModelMain = [];
  10. var ColModelSub = [];
  11. var ChosenList = "";
  12. var BatchStockInArea = "";
  13. $(function () {
  14. SetCols();
  15. if (Type == '1' || Type == '2' || Type == '3' || Type == '4' || Type == '5' || Type == '6' || Type == '9') {
  16. $(".HideItems").css('display', 'none');
  17. }
  18. if (Type != '9') {
  19. $(".Workorder").css('display', 'none');
  20. }
  21. if (Type != '7') {
  22. $(".txt_DNID1").css('display', 'none');
  23. }
  24. gridList();
  25. })
  26. //显示的列内容
  27. function SetCols() {
  28. $.ajax({
  29. url: "/Print/SelectColumnName?" + Math.random(),
  30. dataType: "json",
  31. async: false,
  32. success: function (data) {
  33. var cols = new Array();
  34. var collast = { label: "主键", name: "ID", hidden: true, key: true };
  35. cols.push(collast);
  36. var collast = { label: '单据号', name: 'DNCode', width: 120, align: 'left' };
  37. cols.push(collast);
  38. var collast = { label: '行号', name: 'Sequence', width: 50, align: 'left' };
  39. cols.push(collast);
  40. var collast = { label: '采购订单号', name: 'DNID', width: 120, align: 'left' };
  41. cols.push(collast);
  42. var collast = { label: '采购订单行号', name: 'DNDetailID', width: 120, align: 'left' };
  43. cols.push(collast);
  44. var collast = { label: '料品编码', name: 'InvCode', width: 120, align: 'left' };
  45. cols.push(collast);
  46. var collast = { label: '物料描述', name: 'InvoDescribe', width: 120, align: 'left' };
  47. cols.push(collast);
  48. var collast = { label: '区域', name: 'Area', width: 120, align: 'left' };
  49. cols.push(collast);
  50. var collast = { label: '仓库', name: 'WHCode', width: 50, align: 'left' };
  51. cols.push(collast);
  52. var collast = { label: '是否过账', name: 'SAPMark', width: 60, align: 'left', };
  53. cols.push(collast);
  54. var collast = { label: '检验修改日期', name: 'ModificationDate', width: 100, align: 'left' };
  55. cols.push(collast);
  56. var collast = { label: '供应商代码', name: 'VenCode', width: 120, align: 'left' };
  57. cols.push(collast);
  58. var collast = { label: '供应商名称', name: 'VenName', width: 120, align: 'left' };
  59. cols.push(collast);
  60. var collast = { label: '站点', name: 'WorkPoint', width: 50, align: 'left' };
  61. cols.push(collast);
  62. var collast = { label: '检验类型', name: 'InspectionType', width: 50, align: 'left' };
  63. cols.push(collast);
  64. var collast = { label: '不合格单号', name: 'NonconformingForm', width: 120, align: 'left' };
  65. cols.push(collast);
  66. var collast = { label: '图号', name: 'DrawingNo', width: 120, align: 'left' };
  67. cols.push(collast);
  68. var collast = { label: '图标', name: 'Version1', width: 50, align: 'left' };
  69. cols.push(collast);
  70. var collast = { label: '修改时间', name: 'ModificationDate', width: 50, align: 'left' };
  71. cols.push(collast);
  72. var collast = { label: '特殊库存标识', name: 'StockIndicator', width: 50, align: 'left', hidden: true };
  73. cols.push(collast);
  74. var collast = { label: '辅助描述', name: 'InvDesc', width: 50, align: 'left' };
  75. cols.push(collast);
  76. var collast = { label: '料品型号', name: 'InvStd', width: 150, align: 'left', hidden: true };
  77. cols.push(collast);
  78. var collast = { label: '料品单位', name: 'InvUnit', width: 50, align: 'left' };
  79. cols.push(collast);
  80. var collast = { label: '数量', name: 'Quantity', width: 100, align: 'left' };
  81. cols.push(collast);
  82. var collast = { label: '创建人', name: 'CreatePerson', width: 60, align: 'left', };
  83. cols.push(collast);
  84. var collast = { label: '创建时间', name: 'CreateDateTime', width: 100, align: 'left' };
  85. cols.push(collast);
  86. var collast = { label: '区域类型', name: 'AreaType', width: 10, align: 'left', hidden: true };
  87. cols.push(collast);
  88. if (data != null && data.length > 0) {
  89. DateList = data;
  90. for (var i = 0; i < data.length; i++) {
  91. var ColName = data[i].ColName;
  92. var ColCode = data[i].ColCode;
  93. var obj = new Array();
  94. obj = {
  95. label: ColName,
  96. name: ColCode,
  97. width: 80,
  98. align: "left"
  99. }
  100. cols.push(obj);
  101. }
  102. }
  103. _Clos = cols;
  104. }
  105. });
  106. }
  107. //*审核到货单生成条码
  108. function gridList() {
  109. debugger;
  110. var $gridList = $("#gridList");
  111. var queryJson = {
  112. POCode: $("#txt_POCode").val(),
  113. VenCode: $("#txt_VenCode").val(),
  114. VenName: $("#txt_VenName").val(),
  115. Area: $("#txt_Area").val(),
  116. Location: $("#txt_Location").val(),
  117. InvCode: $("#txt_InvCode").val(),
  118. InvName: $("#txt_InvName").val(),
  119. BatchCode: $("#txt_BatchCode").val(),
  120. Container: $("#txt_Container :checked").val(),
  121. DNID: $("#txt_DNID").val()
  122. }
  123. $gridList.dataGrid({
  124. url: "/WMS/WMSCreateItemLot/GetGridJsonGXWX" + "?" + Math.random(),
  125. postData: { queryJson: JSON.stringify(queryJson) },
  126. height: $(window).height() - 200,
  127. width: $(window).width() - 300,
  128. colModel: _Clos,
  129. width: "100%",
  130. autowidth: true,
  131. //shrinkToFit: true,
  132. gridComplete: function () {
  133. var strIds = $("#gridList").jqGrid("getDataIDs");
  134. for (var i = 0; i < strIds.length; i++) {
  135. var IsSAPCheck = $("#gridList").jqGrid('getRowData', strIds[i]).SAPMark;
  136. if (IsSAPCheck == '是') {
  137. $("#" + strIds[i]).find("td").css("background-color", "yellow");
  138. }
  139. }
  140. if (ChosenList != "") {
  141. var Chosen = ChosenList.split(',');
  142. for (var i = 0; i < Chosen.length; i++) {
  143. $("#gridList").jqGrid('setSelection', Chosen[i]);
  144. }
  145. }
  146. },
  147. pager: "#gridPager",
  148. sortname: 'ModificationDate,DNCode',
  149. sortorder: "asc",
  150. viewrecords: true,
  151. multiselect: true,
  152. beforeSelectRow: function (rowid, e) {
  153. },
  154. subGrid: false
  155. });
  156. $("#warehouse a.btn-default").click(function () {
  157. $("#warehouse a.btn-default").removeClass("active");
  158. $(this).addClass("active");
  159. $('#btn_search').trigger("click");
  160. });
  161. $("#btn_search").click(function () {
  162. var warehouse = $("#warehouse a.active").attr('data-value');
  163. var queryJson = {
  164. POCode: $("#txt_POCode").val(),
  165. VenCode: $("#txt_VenCode").val(),
  166. VenName: $("#txt_VenName").val(),
  167. Area: $("#txt_Area").val(),
  168. Location: $("#txt_Location").val(),
  169. InvCode: $("#txt_InvCode").val(),
  170. InvName: $("#txt_InvName").val(),
  171. BatchCode: $("#txt_BatchCode").val(),
  172. Container: $("#txt_Container :checked").val(),
  173. DNID: $("#txt_DNID").val()
  174. }
  175. $gridList.jqGrid('setGridParam', {
  176. postData: { queryJson: JSON.stringify(queryJson) },
  177. page: 1,
  178. }).trigger('reloadGrid');
  179. });
  180. }
  181. function fullscreen() {
  182. var docElm = document.documentElement;
  183. if (docElm.requestFullscreen) {
  184. docElm.requestFullscreen();
  185. } else if (docElm.mozRequestFullScreen) {
  186. docElm.mozRequestFullScreen();
  187. } else if (docElm.webkitRequestFullScreen) {
  188. docElm.webkitRequestFullScreen();
  189. } else if (docElm.msRequestFullscreen) {
  190. docElm.msRequestFullscreen();
  191. }
  192. $(window).bind('resize', function () {
  193. $("#gridList").setGridWidth($(window).width());
  194. }).trigger('resize');
  195. $(window).bind('resize', function () {
  196. $("#gridList").setGridHeight($(window).height());
  197. }).trigger('resize');
  198. }
  199. function btnPrint() {
  200. debugger;
  201. var mold = '';
  202. if (Type == '1') { mold = '00001'; }//生产退料生成条码
  203. if (Type == '2') { mold = '00002'; }//委外退料生成条码
  204. if (Type == '3') { mold = '00003'; }//工单成品生成条码
  205. if (Type == '4') { mold = '00004'; }//销售退货生成条码
  206. if (Type == '5') { mold = '00005'; }//其他入库生成条码
  207. if (Type == '6') { mold = '00006'; }//归还单生成条码
  208. if (Type == '7') { mold = '00007'; }//普通到货单生成条码
  209. if (Type == '8') { mold = '00008'; }//委外到货单生成条码
  210. if (Type == '9') { mold = '00009'; }//成品入库单生成条码
  211. if (Type == '10') { mold = '00010'; }//拒收单生成条码
  212. if (Type == '11') { mold = '00011'; }//委外拒收单生成条码
  213. if (Type == '12') { mold = '00012'; }//领料申请退料
  214. if (Type == '13') { mold = '00013'; }//材料出库退料
  215. if (Type == '14') { mold = '00014'; }//委外领料申请退料
  216. if (Type == '15') { mold = '00015'; }//委外材料出库退料
  217. if (Type == '16') { mold = '00016'; }//返工工单
  218. var objArr = '';
  219. var arr = [];
  220. var obj = $("#gridList").jqGrid("getRowData");
  221. for (var i = 0; i < obj.length; i++) {
  222. var $SubGird = $("#gridList_" + obj[i].ID + "_t");
  223. var rowData = $SubGird.jqGrid('getGridParam', 'selarrrow');
  224. if (rowData != "undefined" && rowData != null) {
  225. for (var j = 0; j < rowData.length; j++) {
  226. objArr += "'" + rowData[j] + "',";
  227. }
  228. objArr = objArr.slice(0, objArr.length - 1);
  229. objArr = "" + objArr + "|";
  230. arr.push(objArr);
  231. }
  232. }
  233. if (objArr == "") {
  234. $.modalAlertNew("WMS00101");
  235. return;
  236. }
  237. $.modalOpen({
  238. id: "PrintLot",
  239. title: "打印",
  240. url: "/WMS/Print/PrintView?Arguments=" + encodeURI(encodeURI(arr)) + "&mold=" + mold + "&" + Math.random(),
  241. width: "550px",
  242. height: "1000px",
  243. callBack: function (iframeId) {
  244. top.frames[iframeId].submitForm();
  245. }
  246. });
  247. }
  248. function btnBatchPrint() {
  249. debugger;
  250. var mold = '';
  251. var objArr = '';
  252. var arr = [];
  253. var obj = $("#gridList").jqGrid('getGridParam', 'selarrrow');
  254. mold = '00007';
  255. for (var i = 0; i < obj.length; i++) {
  256. var rowId = obj[i];
  257. var rowData = $("#gridList").jqGrid('getRowData', rowId);
  258. if (rowData != "undefined" && rowData != null) {
  259. objArr += "'" + rowId + "',";
  260. objArr = objArr.slice(0, objArr.length - 1);
  261. objArr = "" + objArr + "|";
  262. arr.push(objArr);
  263. }
  264. }
  265. if (objArr == "") {
  266. $.modalAlertNew("WMS00101");
  267. return;
  268. }
  269. $.modalOpen({
  270. id: "PrintLot",
  271. title: "打印",
  272. url: "/WMS/Print/PrintView?Arguments=" + encodeURI(encodeURI(arr)) + "&mold=" + mold + "&" + Math.random(),
  273. width: "550px",
  274. height: "1000px",
  275. callBack: function (iframeId) {
  276. top.frames[iframeId].submitForm();
  277. }
  278. });
  279. }
  280. function btnGXWXCallSAP() {
  281. var DocNOList = "";
  282. var ids = $("#gridList").jqGrid('getGridParam', 'selarrrow'); //获取 多行数据
  283. if (ids.length == 0) {
  284. $.modalAlertNew("WMS00110");
  285. return;
  286. }
  287. for (var i in ids) {
  288. DocNOList += "'" + $("#gridList").jqGrid('getRowData', ids[i]).DNCode + "',";
  289. var SAPMark = $("#gridList").jqGrid('getRowData', ids[i]).SAPMark;
  290. if (SAPMark == "是") {
  291. $.modalAlert("单据:" + $("#gridList").jqGrid('getRowData', ids[i]).DNCode + "已经过账,请勿重复操作!", "warning");
  292. return;
  293. }
  294. }
  295. if (DocNOList != "") {
  296. $.modalConfirm("确定过账工序外协检验合格单吗?", function (r) {
  297. if (r) {
  298. $.submitForm({
  299. url: "/WMS/WMSCreateItemLot/GXWXCallSAPInterFace?DocNoList=" + DocNOList,
  300. async: false,
  301. success: function () {
  302. location.reload();
  303. }
  304. })
  305. }
  306. });
  307. }
  308. }
  309. </script>
  310. <iframe id="ifrm" src="" width="0" height="0"></iframe>
  311. <script>
  312. </script>
  313. <div class="topPanel" style="height:150px;">
  314. <div class="toolbar">
  315. <div class="btn-group">
  316. <a id="NF-BatchStockIN" authorize="yes" style="margin-left:3px;" class="btn btn-primary" onclick="btnGXWXCallSAP()"><i class="fa fa-pencil-square-o"></i>工序外协过账</a>
  317. <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>
  318. <a id="NF-BatchPrint" authorize="yes" style="margin-left:3px;" class="btn btn-primary" onclick="btnBatchPrint()"><i class="fa fa-pencil-square-o"></i>批量打印</a>
  319. <a class="btn btn-primary" onclick="$.reload()"><span class="glyphicon glyphicon-refresh"></span></a>
  320. </div>
  321. <div class="btn-group" style="display:block;padding-left:2px;">
  322. <a class="btn btn-primary" id="downPrintControl" href="~/PrintActivex.exe" style="display:none">点击下载打印组件</a>
  323. </div>
  324. <script>$('.toolbar').authorizeButton()</script>
  325. </div>
  326. <div class="search">
  327. <table>
  328. <tr>
  329. <td style="text-align:right;"><label class="lglabel" for="txt_POCode">&nbsp;&nbsp;&nbsp;&nbsp;单据号</label>:</td>
  330. <td>
  331. <div class="input-group">
  332. <input id="txt_POCode" type="text" class="form-control" style="width: 100px;">
  333. </div>
  334. </td>
  335. <td style="text-align:right;" class=" txt_DNID1"><label class="lglabel" for="txt_DNID">&nbsp;&nbsp;&nbsp;&nbsp;采购订单号</label>:</td>
  336. <td class=" txt_DNID1">
  337. <div class="input-group">
  338. <input id="txt_DNID" type="text" class="form-control" style="width: 100px;">
  339. </div>
  340. </td>
  341. <td class="HideItems" style="text-align:right;"><label class="lglabel HideItems" for="txt_VenCode">&nbsp;&nbsp;&nbsp;&nbsp;供应商代码</label>:</td>
  342. <td class="HideItems">
  343. <div class="input-group HideItems">
  344. <input id="txt_VenCode" type="text" class="form-control HideItems" style="width: 100px;">
  345. </div>
  346. </td>
  347. <td class="HideItems" style="text-align:right;"><label class="lglabel HideItems" for="txt_VenName">&nbsp;&nbsp;&nbsp;&nbsp;供应商名称</label>:</td>
  348. <td class="HideItems">
  349. <div class="input-group HideItems">
  350. <input id="txt_VenName" type="text" class="form-control HideItems" style="width: 100px;">
  351. </div>
  352. </td>
  353. <td style="text-align:right;"><label class="lglabel " for="txt_Area">&nbsp;&nbsp;&nbsp;&nbsp;区域</label>:</td>
  354. <td>
  355. <div class="input-group ">
  356. <input id="txt_Area" type="text" class="form-control " style="width: 100px;">
  357. </div>
  358. </td>
  359. <td class="Workorder" style="text-align:right;"><label class="lglabel " for="txt_OrderNumber">&nbsp;&nbsp;&nbsp;&nbsp;生产订单</label>:</td>
  360. <td class="Workorder">
  361. <div class="input-group ">
  362. <input id="txt_OrderNumber" type="text" class="form-control " style="width: 100px;">
  363. </div>
  364. </td>
  365. @*<td class="Workorder" style="text-align:right;"><label class="lglabel " for="txt_Area9">&nbsp;&nbsp;&nbsp;&nbsp;存储区域</label>:</td>
  366. <td class="Workorder" >
  367. <div class="input-group ">
  368. <input id="txt_Area9" type="text" class="form-control " style="width: 100px;">
  369. </div>
  370. </td>*@
  371. </tr>
  372. <tr>
  373. <td style="text-align:right;"><label class="lglabel " for="txt_Location">&nbsp;&nbsp;&nbsp;&nbsp;仓库</label>:</td>
  374. <td>
  375. <div class="input-group ">
  376. <input id="txt_Location" type="text" class="form-control " style="width: 100px;">
  377. </div>
  378. </td>
  379. @*<td style="text-align:right;"><label class="lglabel" for="txt_Location">&nbsp;&nbsp;&nbsp;&nbsp;库存地点</label>:</td>
  380. <td>
  381. <div class="input-group">
  382. <input id="txt_Location" type="text" class="form-control" style="width: 100px;">
  383. </div>
  384. </td>*@
  385. <td style="text-align:right;"><label class="lglabel" for="txt_InvCode">&nbsp;&nbsp;&nbsp;&nbsp;料品编码</label>:</td>
  386. <td>
  387. <div class="input-group">
  388. <input id="txt_InvCode" type="text" class="form-control" style="width: 100px;">
  389. </div>
  390. </td>
  391. <td style="text-align:right;"><label class="lglabel" for="txt_InvName">&nbsp;&nbsp;&nbsp;&nbsp;物料描述</label>:</td>
  392. <td>
  393. <div class="input-group">
  394. <input id="txt_InvName" type="text" class="form-control" style="width: 100px;">
  395. </div>
  396. </td>
  397. <td style="text-align:right;"><label class="lglabel" for="txt_BatchCode">&nbsp;&nbsp;&nbsp;&nbsp;批次号</label>:</td>
  398. <td>
  399. <div class="input-group">
  400. <input id="txt_BatchCode" type="text" class="form-control" style="width: 100px;">
  401. </div>
  402. </td>
  403. <td>
  404. <span class="input-group-btn">
  405. <button id="btn_search" type="button" class="btn btn-primary"><i class="fa fa-search"></i></button>
  406. </span>
  407. </td>
  408. </tr>
  409. </table>
  410. </div>
  411. </div>
  412. <div class="gridPanel">
  413. <table id="gridList"></table>
  414. <div id="gridPager"></div>
  415. </div>