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.

550 lines
22 KiB

3 weeks ago
  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 _Clos = new Array();
  9. var Type = $.request("Type");
  10. var mold = $.request("mold");
  11. var Name = "单据号";
  12. var ColModelMain = [];
  13. var ColModelSub = [];
  14. $(function () {
  15. SetCols();
  16. gridList();
  17. })
  18. function SetCols() {
  19. $.ajax({
  20. url: "/Print/SelectColumnName?" + Math.random(),
  21. dataType: "json",
  22. async: false,
  23. success: function (data) {
  24. var cols = new Array();
  25. var cols1 = new Array();
  26. var collast = { label: "主键", name: "ID", hidden: true, key: true };
  27. cols.push(collast);
  28. var collast = { label: '单号', name: 'TransferNO', width: 120, align: 'left' };
  29. cols.push(collast);
  30. var collast = { label: '状态', name: 'Status', width: 120, align: 'left' };
  31. cols.push(collast);
  32. var collast = { label: '站点', name: 'WorkPoint', width: 150, align: 'left' };
  33. cols.push(collast);
  34. var collast = { label: '制单人', name: 'CreatePerson', width: 150, align: 'left' };
  35. cols.push(collast);
  36. //$.ajax({
  37. // url: "/Print/SelectTableColumnName?" + Math.random(),
  38. // dataType: "json",
  39. // async: false,
  40. // success: function (data) {
  41. // if (data != null && data.length > 0) {
  42. // DateList = data;
  43. // for (var i = 0; i < data.length; i++) {
  44. // var TableCode = data[i].TableCode;
  45. // if (TableCode == "ICSMO") {
  46. // var Code = data[i].Code;
  47. // var Name = data[i].Name;
  48. // var obj = new Array();
  49. // obj = {
  50. // label: Name,
  51. // name: Code,
  52. // width: 80,
  53. // align: "left"
  54. // }
  55. // cols.push(obj);
  56. // }
  57. // if (TableCode == "ICSInventory") {
  58. // var Code = data[i].Code;
  59. // var Name = data[i].Name;
  60. // var obj = new Array();
  61. // obj = {
  62. // label: Name,
  63. // name: Code,
  64. // width: 80,
  65. // align: "left"
  66. // }
  67. // cols.push(obj);
  68. // }
  69. // }
  70. // }
  71. // _Clos = cols;
  72. // }
  73. //});
  74. var cols1 = new Array();
  75. var collast1 = { label: "主键", name: "ID", hidden: true, key: true };
  76. cols1.push(collast1);
  77. var collast1 = { label: "单据号", name: "TransferNO", width: 150, align: 'left' };
  78. cols1.push(collast1);
  79. var collast1 = { label: '单据行', name: 'Sequence', width: 80, align: 'left' };
  80. cols1.push(collast1);
  81. var collast1 = { label: '料品编码', name: 'InvCode', width: 200, align: 'left' };
  82. cols1.push(collast1);
  83. var collast1 = { label: '料品名称', name: 'InvName', width: 200, align: 'left' };
  84. cols1.push(collast1);
  85. var collast1 = { label: '数量', name: 'Quantity', width: 80, align: 'left' };
  86. cols1.push(collast1);
  87. var collast1 = { label: '辅计量数量', name: 'Amount', width: 80, align: 'left' };
  88. cols1.push(collast1);
  89. var collast1 = { label: '已调数量', name: 'TransferQuantity', width: 80, align: 'left' };
  90. cols1.push(collast1);
  91. var collast1 = { label: '调出仓库', name: 'FromWarehouseCode', width: 80, align: 'left' };
  92. cols1.push(collast1);
  93. var collast1 = { label: '调出库位', name: 'FromLocationCode', width: 80, align: 'left' };
  94. cols1.push(collast1);
  95. var collast1 = { label: '调入仓库', name: 'ToWarehouseCode', width: 80, align: 'left' };
  96. cols1.push(collast1);
  97. var collast1 = { label: '调入库位', name: 'ToLocationCode', width: 80, align: 'left' };
  98. cols1.push(collast1);
  99. var collast1 = { label: '创建人', name: 'CreatePerson', width: 100, align: 'left' };
  100. cols1.push(collast1);
  101. var collast1 = { label: '创建时间', name: 'CreateDateTime', width: 150, align: 'left' };
  102. cols1.push(collast1);
  103. if (data != null && data.length > 0) {
  104. DateList = data;
  105. for (var i = 0; i < data.length; i++) {
  106. var ColName = data[i].ColName;
  107. var ColCode = data[i].ColCode;
  108. var obj = new Array();
  109. obj = {
  110. label: ColName,
  111. name: ColCode,
  112. width: 80,
  113. align: "left"
  114. }
  115. //cols.push(obj);
  116. cols1.push(obj);
  117. }
  118. }
  119. _Clos = cols;
  120. _Clos1 = cols1;
  121. }
  122. });
  123. }
  124. function gridList() {
  125. var $gridList = $("#gridList");
  126. var queryJson = {
  127. POCode: $("#txt_POCode").val(),
  128. MUSER: $("#txt_MUSER").val(),
  129. Status: $("#selStatus").val(),
  130. //InvCode: $("#txt_InvCode").val(),
  131. //InvName: $("#txt_InvName").val(),
  132. //BatchCode: $("#txt_BatchCode").val(),
  133. //POStatus: $("#selShow").val(),
  134. //SelGDLX: $("#SelGDLX option:checked").val(),
  135. //WHStatus: $("#selStatus").val()
  136. }
  137. $gridList.dataGrid({
  138. url: "/MFWMS/ScrapDocumentDealWith/GetGridJsonScrapDocument" + "?" + Math.random(),
  139. postData: { queryJson: JSON.stringify(queryJson) },
  140. height: $(window).height() - 200,
  141. width: $(window).width() - 300,
  142. colModel: _Clos,
  143. width: "100%",
  144. autowidth: true,
  145. gridComplete: function () {
  146. },
  147. pager: "#gridPager",
  148. sortname: "TransferNO ",
  149. sortorder: "desc",
  150. viewrecords: true,
  151. multiselect: true,
  152. subGrid: true, // (1)开启子表格支持
  153. subGridRowExpanded: function (subgrid_id, rowid) { // (2)子表格容器的id和需要展开子表格的行id,将传入此事件函数
  154. $("#gridList").jqGrid("setSelection", rowid, false);
  155. bindSubGrid(subgrid_id, rowid)
  156. }
  157. });
  158. $("#warehouse a.btn-default").click(function () {
  159. $("#warehouse a.btn-default").removeClass("active");
  160. $(this).addClass("active");
  161. $('#btn_search').trigger("click");
  162. });
  163. $("#btn_search").click(function () {
  164. var warehouse = $("#warehouse a.active").attr('data-value');
  165. var queryJson = {
  166. POCode: $("#txt_POCode").val(),
  167. MUSER: $("#txt_MUSER").val(),
  168. Status: $("#selStatus").val(),
  169. //InvCode: $("#txt_InvCode").val(),
  170. //InvName: $("#txt_InvName").val(),
  171. //BatchCode: $("#txt_BatchCode").val(),
  172. //POStatus: $("#selShow").val(),
  173. //SelGDLX: $("#SelGDLX option:checked").val(),
  174. //WHStatus: $("#selStatus").val()
  175. }
  176. $gridList.jqGrid('setGridParam', {
  177. postData: { queryJson: JSON.stringify(queryJson) },
  178. }).trigger('reloadGrid');
  179. });
  180. }
  181. function bindSubGrid(subgrid_id, rowid) {
  182. $("#gridList").jqGrid("setSelection", rowid, false);
  183. var subgrid_table_id;
  184. subgrid_table_id = subgrid_id + "_t"; // (3)根据subgrid_id定义对应的子表格的table的id
  185. var subgrid_pager_id;
  186. subgrid_pager_id = subgrid_id + "_pgr" // (4)根据subgrid_id定义对应的子表格的pager的id
  187. // (5)动态添加子报表的table和pager
  188. $("#" + subgrid_id).html("<table id='" + subgrid_table_id + "' class='scroll'></table><div id='" + subgrid_pager_id + "' class='scroll'></div>");
  189. var TransferNO = $("#gridList").jqGrid('getRowData', rowid).TransferNO;
  190. // (6)创建jqGrid对象
  191. $("#" + subgrid_table_id).dataGrid({
  192. cellEdit: true,
  193. url: "/MFWMS/ScrapDocumentDealWith/GetSubGridJsonScrapDocument?Code=" + TransferNO + "&" + Math.random(), // (7)子表格数据对应的url,注意传入的contact.id参数
  194. colModel: _Clos1,
  195. shrinkToFit: true,//宽度自适应
  196. multiselect: true,
  197. prmNames: { search: "search" },
  198. viewrecords: true,
  199. height: "100%",
  200. rowNum: 20,
  201. pager: subgrid_pager_id,
  202. });
  203. }
  204. //批审
  205. function btn_ApprovalReview() {
  206. debugger;
  207. var objArr = '';
  208. //var Parameter = [];
  209. var objList = $("#gridList").jqGrid('getGridParam', 'selarrrow');
  210. if ($("#txt_LocationCode").val()=="") {
  211. $.modalAlert("请填写调入库位!");
  212. return;
  213. }
  214. for (var i = 0; i < objList.length; i++) {
  215. var rowId = objList[i];
  216. var rowData = $("#gridList").jqGrid('getRowData', rowId);
  217. objArr += "'" + rowData.TransferNO + "',";
  218. if (rowData.Status=='审核') {
  219. $.modalAlert("无法重复审核单据!");
  220. return;
  221. }
  222. //var Header = {
  223. // ID: rowData.ID,
  224. // Code: rowData.OutCode,
  225. // Quantity: rowData.Quantity,
  226. // Amount: rowData.Amount,
  227. //}
  228. //Parameter.push(Header);
  229. }
  230. $.submitForm({
  231. url: "/MFWMS/ScrapDocumentDealWith/WWApprovalReview?Value=" + objArr + "&LocationCode=" + $("#txt_LocationCode").val() + "&" + Math.random(),
  232. // param: { Value: JSON.stringify(Parameter) },
  233. success: function () {
  234. $.currentWindow().$("#gridList").trigger("reloadGrid");
  235. }
  236. })
  237. }
  238. function submitForm() {
  239. debugger;
  240. if (!$('#form1').formValid()) {
  241. return false;
  242. }
  243. var RoleEnCode = '@NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode'
  244. var WorkPoint = '@NFine.Code.OperatorProvider.Provider.GetCurrent().Location'
  245. var date = new Date();
  246. var Details = [];
  247. var obj = {
  248. CurrentLotNo: $("#txtNewLotNo").val(),
  249. CurrentQuantity: $("#txtCount").val(),
  250. };
  251. Details.push(obj);
  252. var Header = {
  253. LotNo: $("#txtLotNO").val(),
  254. User: RoleEnCode,
  255. MTIME: date,
  256. WorkPoint: WorkPoint,
  257. Detail: Details,
  258. }
  259. var Parameter = [];
  260. Parameter.push(Header);
  261. $.submitForm({
  262. url: "/WMS/Deciliter/Split?" + Math.random(),
  263. param: { Parameter: JSON.stringify(Parameter) },
  264. success: function () {
  265. $.currentWindow().$("#gridList").trigger("reloadGrid");
  266. }
  267. })
  268. }
  269. function dateChange(num, date) {
  270. if (!date) {
  271. date = new Date();//没有传入值时,默认是当前日期
  272. date = date.getFullYear() + '-' + (date.getMonth() + 1) + '-' + date.getDate();
  273. }
  274. date += " 00:00:00";//设置为当天凌晨12点
  275. date = Date.parse(new Date(date)) / 1000;//转换为时间戳
  276. date += (86400) * num;//修改后的时间戳
  277. var newDate = new Date(parseInt(date) * 1000);//转换为时间
  278. return newDate.getFullYear() + '-' + (newDate.getMonth() + 1) + '-' + newDate.getDate();
  279. }
  280. function fullscreen() {
  281. var docElm = document.documentElement;
  282. if (docElm.requestFullscreen) {
  283. docElm.requestFullscreen();
  284. } else if (docElm.mozRequestFullScreen) {
  285. docElm.mozRequestFullScreen();
  286. } else if (docElm.webkitRequestFullScreen) {
  287. docElm.webkitRequestFullScreen();
  288. } else if (docElm.msRequestFullscreen) {
  289. docElm.msRequestFullscreen();
  290. }
  291. $(window).bind('resize', function () {
  292. $("#gridList").setGridWidth($(window).width());
  293. }).trigger('resize');
  294. $(window).bind('resize', function () {
  295. $("#gridList").setGridHeight($(window).height());
  296. }).trigger('resize');
  297. }
  298. function btnPrint() {
  299. debugger;
  300. if (mold == '')
  301. {
  302. if (Type == '1') { mold = '00001'; }//生产退料生成条码
  303. if (Type == '2') { mold = '00002'; }//委外退料生成条码
  304. if (Type == '3') { mold = '00003'; }//工单成品生成条码
  305. if (Type == '4') { mold = '00004'; }//销售退货生成条码
  306. if (Type == '5') { mold = '00005'; }//其他入库生成条码
  307. if (Type == '6') { mold = '00006'; }//归还单生成条码
  308. if (Type == '7') { mold = '00007'; }//普通到货单生成条码
  309. if (Type == '8') { mold = '00008'; }//委外到货单生成条码
  310. if (Type == '9') { mold = '00009'; }//成品入库单生成条码
  311. if (Type == '10') { mold = '00010'; }//拒收单生成条码
  312. if (Type == '11') { mold = '00011'; }//委外拒收单生成条码
  313. if (Type == '12') { mold = '00012'; }//领料申请退料
  314. if (Type == '13') { mold = '00013'; }//材料出库退料
  315. if (Type == '14') { mold = '00014'; }//委外领料申请退料
  316. if (Type == '15') { mold = '00015'; }//委外材料出库退料
  317. if (Type == '16') { mold = '00016'; }//返工工单
  318. if (Type == '17') { mold = 'BHG00001'; }//不合格条码入库
  319. if (Type == '18') { mold = 'FCP00001'; }//副产品生成条码
  320. if (Type == '200') { mold = '00018'; }//采购入库生成条码
  321. if (Type == '201') { mold = '00019'; }//委外采购入库生成条码
  322. if (Type == '202') { mold = '00020'; }//委外采购入库生成条码
  323. }
  324. var objArr = '';
  325. var arr = [];
  326. var obj = $("#gridList").jqGrid("getRowData");
  327. for (var i = 0; i < obj.length; i++) {
  328. var $SubGird = $("#gridList_" + obj[i].ID + "_t");
  329. var rowData = $SubGird.jqGrid('getGridParam', 'selarrrow');
  330. if (rowData != "undefined" && rowData != null && rowData.length != 0) {
  331. for (var j = 0; j < rowData.length; j++) {
  332. objArr += "'" + rowData[j] + "',";
  333. }
  334. objArr = objArr.slice(0, objArr.length - 1);
  335. objArr = "" + objArr + "|";
  336. arr.push(objArr);
  337. }
  338. }
  339. if (objArr == "") {
  340. $.modalAlertNew("WMS00101");
  341. return;
  342. }
  343. $.modalOpen({
  344. id: "PrintLot",
  345. title: "打印",
  346. url: "/WMS/Print/PrintView?Arguments=" + encodeURI(encodeURI(arr)) + "&mold=" + mold + "&" + Math.random(),
  347. width: "550px",
  348. height: "1000px",
  349. callBack: function (iframeId) {
  350. top.frames[iframeId].submitForm();
  351. }
  352. });
  353. }
  354. function btn_ExportAll() {
  355. debugger;
  356. var objArr = '';
  357. var ids = $("#gridList").jqGrid('getGridParam', 'selarrrow');
  358. for (var i in ids) {
  359. objArr += "'" + $("#gridList").jqGrid('getRowData', ids[i]).ID + "',";
  360. }
  361. if (objArr=="") {
  362. $.modalAlert("请选择单据后导出!");
  363. return;
  364. }
  365. var postData = "&Type=" + Type + "";
  366. //postData += "&ID=" + ID
  367. postData += "&ID=" + objArr;
  368. $.download("/WMS/WMSCreateItemLot/StatementExportAll" + "?" + Math.random(), postData, 'post');
  369. }
  370. function btnPrints() {
  371. debugger;
  372. var mold = '';
  373. if (Type == '1') { mold = '00001'; }//生产退料生成条码
  374. if (Type == '2') { mold = '00002'; }//委外退料生成条码
  375. if (Type == '3') { mold = '00003'; }//工单成品生成条码
  376. if (Type == '7') { mold = '00007'; }//普通到货单生成条码
  377. if (Type == '8') { mold = '00008'; }//委外到货单生成条码
  378. if (Type == '9') { mold = '00009'; }//成品入库单生成条码
  379. if (Type == '10') { mold = '00010'; }//拒收单生成条码
  380. if (Type == '11') { mold = '00011'; }//委外拒收单生成条码
  381. if (Type == '12') { mold = '00012'; }//领料申请退料
  382. if (Type == '13') { mold = '00013'; }//材料出库退料
  383. if (Type == '14') { mold = '00014'; }//委外领料申请退料
  384. if (Type == '15') { mold = '00015'; }//委外材料出库退料
  385. if (Type == '16') { mold = '00016'; }//返工工单
  386. if (Type == '17') { mold = 'BHG00001'; }//不合格条码入库
  387. if (Type == '18') { mold = 'FCP00001'; }//副产品生成条码
  388. var objArr = '';
  389. var arr = [];
  390. var objList = $("#gridList").jqGrid('getGridParam', 'selarrrow');
  391. for (var i = 0; i < objList.length; i++) {
  392. var rowId = objList[i];
  393. var rowData = $("#gridList").jqGrid('getRowData', rowId);
  394. objArr += "'" + rowData.ID + "',";
  395. }
  396. objArr = objArr.slice(0, objArr.length - 1);
  397. if (objArr == "") {
  398. $.modalAlertNew("WMS00110");
  399. return;
  400. }
  401. objArr = "" + objArr + "|";
  402. arr.push(objArr);
  403. $.modalOpen({
  404. id: "PrintLot",
  405. title: "打印",
  406. url: "/WMS/Print/PrintView?Arguments=" + encodeURI(encodeURI(arr)) + "&mold=" + mold + "&" + Math.random(),
  407. width: "550px",
  408. height: "1000px",
  409. callBack: function (iframeId) {
  410. top.frames[iframeId].submitForm();
  411. }
  412. });
  413. }
  414. </script>
  415. <iframe id="ifrm" src="" width="0" height="0"></iframe>
  416. <script>
  417. </script>
  418. <div class="topPanel" style="height:55px;">
  419. <div class="toolbar">
  420. <div class="btn-group">
  421. <a id="NF-ApprovalReview" authorize="yes" class="btn btn-primary dropdown-text" onclick="btn_ApprovalReview()"><i class="fa fa-pencil-square-o"></i>批审</a>
  422. @*<a id="NF-Create" authorize="yes" style="margin-left:3px;" class="btn btn-primary" onclick="btnCreate()"><i class="fa fa-pencil-square-o"></i>报废入库</a>
  423. <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>
  424. <a id="NF-Prints" authorize="yes" style="margin-left:3px;" class="btn btn-primary" onclick="btnPrints()"><i class="fa fa-pencil-square-o"></i>单据批量打印</a>*@
  425. <a class="btn btn-primary" onclick="$.reload()"><span class="glyphicon glyphicon-refresh"></span></a>
  426. </div>
  427. <script>$('.toolbar').authorizeButton()</script>
  428. </div>
  429. <div class="search">
  430. <table>
  431. <tr>
  432. <td class="POCodeShow" style="text-align:right;"><label class="lglabel " id="POCodeShowLable" for="txt_POCode">&nbsp;&nbsp;&nbsp;&nbsp;</label>单号:</td>
  433. <td class="POCodeShow">
  434. <div class="input-group">
  435. <input id="txt_POCode" type="text" class="form-control" style="width: 130px;">
  436. </div>
  437. </td>
  438. <td class="MUSER" style="text-align:right;"><label class="lglabel " id="MUSER" for="txt_MUSER">&nbsp;&nbsp;&nbsp;&nbsp;</label>制单人:</td>
  439. <td class="MUSER">
  440. <div class="input-group">
  441. <input id="txt_MUSER" type="text" class="form-control" style="width: 130px;">
  442. </div>
  443. </td>
  444. <td class="HideItems3">
  445. <label>&nbsp;&nbsp;&nbsp;&nbsp;状态:&nbsp;&nbsp;&nbsp;&nbsp;</label>
  446. </td>
  447. <td class="HideItems3">
  448. <div class="input-group HideItems3">
  449. <select id="selStatus" name="selStatus" class="form-control HideItems3" style="width: 130px;">
  450. <option value="0">显示全部</option>
  451. <option value="1" selected="selected">开立</option>
  452. <option value="2" >审核</option>
  453. </select>
  454. </div>
  455. </td>
  456. <td>
  457. <span class="input-group-btn">
  458. <button id="btn_search" type="button" class="btn btn-primary"><i class="fa fa-search"></i></button>
  459. </span>
  460. </td>
  461. <td class="LocationCode" style="text-align:right;"><label class="lglabel " id="LocationCodeLable" style="margin-left:700px" for="txt_LocationCode">&nbsp;&nbsp;&nbsp;&nbsp;</label>调入库位:</td>
  462. <td class="LocationCode">
  463. <div class="input-group">
  464. <input id="txt_LocationCode" type="text" class="form-control" style="width: 130px">
  465. </div>
  466. </td>
  467. </tr>
  468. </table>
  469. </div>
  470. </div>
  471. <div class="gridPanel">
  472. <table id="gridList"></table>
  473. <div id="gridPager"></div>
  474. </div>