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.

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