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

916 lines
47 KiB

3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
  1. @{
  2. ViewBag.Title = "Index";
  3. Layout = "~/Views/Shared/_Index.cshtml";
  4. }
  5. <style>
  6. .ui-jqgrid .ui-jqgrid-btable tbody tr.jqgrow td {
  7. overflow: inherit;
  8. word-wrap: break-word;
  9. }
  10. .ui-jqgrid tr.jqgrow td {
  11. white-space: normal !important;
  12. height: auto;
  13. }
  14. </style>
  15. <link href="~/Content/js/select2/select2.min.css" rel="stylesheet" />
  16. <link href="~/Content/css/bootstrap/bootstrap-select.css" rel="stylesheet" />
  17. <script src="~/Content/js/datepicker/WdatePicker.js"></script>
  18. <script src="~/Content/js/bootstrap/bootstrap-select.js"></script>
  19. <script src="~/Content/js/select2/select2.min.js"></script>
  20. <script src="~/Content/js/layer/layer.js"></script>
  21. <script>
  22. debugger;
  23. var Type = $.request("Type");
  24. var _Clos = new Array();
  25. $(function () {
  26. SetCols(Type);
  27. //来料检验
  28. if (Type == '1') {
  29. gridList();
  30. }
  31. //委外来料检验
  32. if (Type == '3') {
  33. gridList2();
  34. }
  35. //产成品检验
  36. if (Type == '2') {
  37. $(".HideTxt").css('display', 'none');
  38. $("#NF-update").css('display', 'none');
  39. gridList3();
  40. }
  41. })
  42. function SetCols(Type) {
  43. $.ajax({
  44. url: "/Print/SelectColumnName?" + Math.random(),
  45. dataType: "json",
  46. async: false,
  47. success: function (data) {
  48. var cols = new Array();
  49. //来料检验
  50. if (Type == '1') {
  51. var collast = { label: "主键", name: "ID", hidden: true, key: true };
  52. cols.push(collast);
  53. var collast = { label: 'ID', name: 'ID', hidden: true };
  54. cols.push(collast);
  55. var collast = { label: '到货ID', name: 'DHID', hidden: true };
  56. cols.push(collast);
  57. var collast = { label: '检验ID', name: 'JYID', hidden: true };
  58. cols.push(collast);
  59. var collast = { label: '到货单号', name: 'DNCode', width: 120, align: 'left' };
  60. cols.push(collast);
  61. var collast = { label: '送货单号', name: 'ASNCode', width: 120, align: 'left' };
  62. cols.push(collast);
  63. var collast = { label: '采购订单号', name: 'POCode', width: 120, align: 'left' };
  64. cols.push(collast);
  65. var collast = { label: '条码', name: 'LotNo', width: 120, align: 'left' };
  66. cols.push(collast);
  67. var collast = { label: '料品编码', name: 'InvCode', width: 100, align: 'left' };
  68. cols.push(collast);
  69. var collast = { label: '料品名称', name: 'InvName', width: 100, align: 'left' };
  70. cols.push(collast);
  71. var collast = { label: '规格型号', name: 'INVSTD', width: 100, align: 'left' };
  72. cols.push(collast);
  73. //var collast = { label: '批次', name: 'BatchCode', width: 100, align: 'left' };
  74. //cols.push(collast);
  75. var collast = { label: '箱号', name: 'ContainerID', width: 100, align: 'left' };
  76. cols.push(collast);
  77. var collast = { label: '到货时间', name: 'CreateDateTime', width: 150, align: 'left' };
  78. cols.push(collast);
  79. var collast = { label: '供应商代码', name: 'VenCode', width: 150, align: 'left' };
  80. cols.push(collast);
  81. var collast = { label: '供应商名称', name: 'VenName', width: 150, align: 'left' };
  82. cols.push(collast);
  83. var collast = { label: '总数量', name: 'AllNumber', width: 100, align: 'left' };
  84. cols.push(collast);
  85. var collast = { label: '合格数量', name: 'YLOTQTY', width: 100, align: 'left', editable: true, editrules: { number: true } };
  86. cols.push(collast);
  87. var collast = { label: '不合格数量', name: 'NLOTQTY', width: 100, align: 'left', editable: true, editrules: { number: true } };
  88. cols.push(collast);
  89. var collast = { label: '特采数量', name: 'SpecialQTY', width: 100, align: 'left', editable: true, editrules: { number: true } };
  90. cols.push(collast);
  91. var collast = { label: '不良代码值', name: 'BCCodeValue', hidden: true };
  92. cols.push(collast);
  93. var collast = {
  94. label: '不良代码', name: 'BadDesc', width: 120, align: 'left', sortable: false,
  95. formatter: function (cellvalue, options, rowObject) {
  96. debugger;
  97. var html = "";
  98. html += ' <select id="SelBC_' + rowObject.ID.toString() + '" data-live-search ="true" Title=\"""\" class="selectpicker" data-width="85px">';
  99. html += ' </select>';
  100. return cellvalue = html;
  101. }
  102. };
  103. cols.push(collast);
  104. var collast = { label: '不良原因值', name: 'BRCodeValue', hidden: true };
  105. cols.push(collast);
  106. var collast = {
  107. label: '不良原因', name: 'BadReasonDesc', width: 120, align: 'left', sortable: false,
  108. formatter: function (cellvalue, options, rowObject) {
  109. var html = "";
  110. html += ' <select id="SelBR_' + rowObject.ID.toString() + '" data-live-search ="true" Title=\"""\" class="selectpicker" data-width="85px">';
  111. html += ' </select>';
  112. return cellvalue = html;
  113. }
  114. };
  115. cols.push(collast);
  116. var collast = { label: '检验状态', name: 'TestState', width: 150, align: 'left' };
  117. cols.push(collast);
  118. var collast = { label: '检验人', name: 'Surveyor', width: 150, align: 'left' };
  119. cols.push(collast);
  120. var collast = { label: '检验时间', name: 'ProvingTime', width: 150, align: 'left' };
  121. cols.push(collast);
  122. }
  123. //委外来料检验
  124. if (Type == '3') {
  125. var collast = { label: "主键", name: "ID", hidden: true, key: true };
  126. cols.push(collast);
  127. var collast = { label: 'ID', name: 'ID', hidden: true };
  128. cols.push(collast);
  129. var collast = { label: '到货ID', name: 'DHID', hidden: true };
  130. cols.push(collast);
  131. var collast = { label: '检验ID', name: 'JYID', hidden: true };
  132. cols.push(collast);
  133. var collast = { label: '委外到货单号', name: 'DNCode', width: 120, align: 'left' };
  134. cols.push(collast);
  135. var collast = { label: '委外送货单号', name: 'OASNCode', width: 120, align: 'left' };
  136. cols.push(collast);
  137. var collast = { label: '委外采购订单号', name: 'OOCode', width: 120, align: 'left' };
  138. cols.push(collast);
  139. var collast = { label: '条码', name: 'LotNo', width: 120, align: 'left' };
  140. cols.push(collast);
  141. var collast = { label: '料品编码', name: 'InvCode', width: 100, align: 'left' };
  142. cols.push(collast);
  143. var collast = { label: '料品名称', name: 'InvName', width: 100, align: 'left' };
  144. cols.push(collast);
  145. var collast = { label: '规格型号', name: 'INVSTD', width: 100, align: 'left' };
  146. cols.push(collast);
  147. //var collast = { label: '批次', name: 'BatchCode', width: 100, align: 'left' };
  148. //cols.push(collast);
  149. var collast = { label: '箱号', name: 'ContainerID', width: 100, align: 'left' };
  150. cols.push(collast);
  151. var collast = { label: '到货时间', name: 'CreateDateTime', width: 150, align: 'left' };
  152. cols.push(collast);
  153. var collast = { label: '供应商代码', name: 'VenCode', width: 150, align: 'left' };
  154. cols.push(collast);
  155. var collast = { label: '供应商名称', name: 'VenName', width: 150, align: 'left' };
  156. cols.push(collast);
  157. var collast = { label: '总数量', name: 'AllNumber', width: 100, align: 'left' };
  158. cols.push(collast);
  159. var collast = { label: '合格数量', name: 'YLOTQTY', width: 100, align: 'left', editable: true, editrules: { number: true } };
  160. cols.push(collast);
  161. var collast = { label: '不合格数量', name: 'NLOTQTY', width: 100, align: 'left', editable: true, editrules: { number: true } };
  162. cols.push(collast);
  163. var collast = { label: '特采数量', name: 'SpecialQTY', width: 100, align: 'left', editable: true, editrules: { number: true } };
  164. cols.push(collast);
  165. var collast = { label: '不良代码值', name: 'BCCodeValue', hidden: true };
  166. cols.push(collast);
  167. var collast = {
  168. label: '不良代码', name: 'BadDesc', width: 120, align: 'left', sortable: false,
  169. formatter: function (cellvalue, options, rowObject) {
  170. debugger;
  171. var html = "";
  172. html += ' <select id="SelBC_' + rowObject.ID.toString() + '" data-live-search ="true" Title=\"""\" class="selectpicker" data-width="85px">';
  173. html += ' </select>';
  174. return cellvalue = html;
  175. }
  176. };
  177. cols.push(collast);
  178. var collast = { label: '不良原因值', name: 'BRCodeValue', hidden: true };
  179. cols.push(collast);
  180. var collast = {
  181. label: '不良原因', name: 'BadReasonDesc', width: 120, align: 'left', sortable: false,
  182. formatter: function (cellvalue, options, rowObject) {
  183. var html = "";
  184. html += ' <select id="SelBR_' + rowObject.ID.toString() + '" data-live-search ="true" Title=\"""\" class="selectpicker" data-width="85px">';
  185. html += ' </select>';
  186. return cellvalue = html;
  187. }
  188. };
  189. cols.push(collast);
  190. var collast = { label: '检验状态', name: 'TestState', width: 150, align: 'left' };
  191. cols.push(collast);
  192. var collast = { label: '检验人', name: 'Surveyor', width: 150, align: 'left' };
  193. cols.push(collast);
  194. var collast = { label: '检验时间', name: 'ProvingTime', width: 150, align: 'left' };
  195. cols.push(collast);
  196. }
  197. //产成品检验
  198. if (Type == '2') {
  199. var collast = { label: "主键", name: "ID", hidden: true, key: true };
  200. cols.push(collast);
  201. var collast = { label: 'ID', name: 'ID', hidden: true };
  202. cols.push(collast);
  203. var collast = { label: '工单ID', name: 'GDID', hidden: true };
  204. cols.push(collast);
  205. var collast = { label: '检验ID', name: 'JYID', hidden: true };
  206. cols.push(collast);
  207. var collast = { label: '工单单号', name: 'DNCode', width: 120, align: 'left' };
  208. cols.push(collast);
  209. var collast = { label: '条码', name: 'LotNo', width: 120, align: 'left' };
  210. cols.push(collast);
  211. var collast = { label: '料品编码', name: 'InvCode', width: 100, align: 'left' };
  212. cols.push(collast);
  213. var collast = { label: '料品名称', name: 'InvName', width: 100, align: 'left' };
  214. cols.push(collast);
  215. var collast = { label: '规格型号', name: 'INVSTD', width: 100, align: 'left' };
  216. cols.push(collast);
  217. //var collast = { label: '批次', name: 'BatchCode', width: 100, align: 'left' };
  218. //cols.push(collast);
  219. var collast = { label: '箱号', name: 'ContainerID', width: 100, align: 'left' };
  220. cols.push(collast);
  221. var collast = { label: '生产时间', name: 'ProductTime', width: 150, align: 'left' };
  222. cols.push(collast);
  223. var collast = { label: '总数量', name: 'AllNumber', width: 100, align: 'left' };
  224. cols.push(collast);
  225. var collast = { label: '合格数量', name: 'YLOTQTY', width: 100, align: 'left', editable: true, editrules: { number: true } };
  226. cols.push(collast);
  227. var collast = { label: '不合格数量', name: 'NLOTQTY', width: 100, align: 'left', editable: true, editrules: { number: true } };
  228. cols.push(collast);
  229. var collast = { label: '特采数量', name: 'SpecialQTY', width: 100, align: 'left', editable: true, editrules: { number: true } };
  230. cols.push(collast);
  231. var collast = { label: '不良代码值', name: 'BCCodeValue', hidden: true };
  232. cols.push(collast);
  233. var collast = {
  234. label: '不良代码', name: 'BadDesc', width: 120, align: 'left', sortable: false,
  235. formatter: function (cellvalue, options, rowObject) {
  236. debugger;
  237. var html = "";
  238. html += ' <select id="SelBC_' + rowObject.ID.toString() + '" data-live-search ="true" Title=\"""\" class="selectpicker" data-width="85px">';
  239. html += ' </select>';
  240. return cellvalue = html;
  241. }
  242. };
  243. cols.push(collast);
  244. var collast = { label: '不良原因值', name: 'BRCodeValue', hidden: true };
  245. cols.push(collast);
  246. var collast = {
  247. label: '不良原因', name: 'BadReasonDesc', width: 120, align: 'left', sortable: false,
  248. formatter: function (cellvalue, options, rowObject) {
  249. var html = "";
  250. html += ' <select id="SelBR_' + rowObject.ID.toString() + '" data-live-search ="true" Title=\"""\" class="selectpicker" data-width="85px">';
  251. html += ' </select>';
  252. return cellvalue = html;
  253. }
  254. };
  255. cols.push(collast);
  256. var collast = { label: '检验状态', name: 'TestState', width: 150, align: 'left' };
  257. cols.push(collast);
  258. var collast = { label: '检验人', name: 'Surveyor', width: 150, align: 'left' };
  259. cols.push(collast);
  260. var collast = { label: '检验时间', name: 'ProvingTime', width: 150, align: 'left' };
  261. cols.push(collast);
  262. }
  263. if (data != null && data.length > 0) {
  264. DateList = data;
  265. for (var i = 0; i < data.length; i++) {
  266. var ColName = data[i].ColName;
  267. var ColCode = data[i].ColCode;
  268. var obj = new Array();
  269. obj = {
  270. label: ColName,
  271. name: ColCode,
  272. width: 80,
  273. align: "left"
  274. }
  275. cols.push(obj);
  276. }
  277. }
  278. _Clos = cols;
  279. }
  280. });
  281. }
  282. function gridList() {
  283. var $gridList = $("#gridList");
  284. var queryJson = {
  285. POCode: $("#txt_POCode").val(),
  286. ASNCode: $("#txt_ASNCode").val(),
  287. CaiGouCode: $("#txt_CaiGouCode").val(),
  288. VenCode: $("#txt_VenCode").val(),
  289. VenName: $("#txt_VenName").val(),
  290. InvCode: $("#txt_InvCode").val(),
  291. InvName: $("#txt_InvName").val(),
  292. BatchCode: $("#txt_BatchCode").val(),
  293. ReleaseState: $("#selShow").val(),
  294. }
  295. $gridList.dataGrid({
  296. url: "/WMS/ICSRCVIQCs/GetICSInspection" + "?" + Math.random(),
  297. postData: { queryJson: JSON.stringify(queryJson) },
  298. height: $(window).height() - 200,
  299. width: $(window).width() - 300,
  300. cellEdit: true,
  301. colModel: _Clos,
  302. //colModel: [
  303. // { label: "主键", name: "ID", hidden: true, key: true },
  304. // { label: 'ID', name: 'ID', hidden: true },
  305. // { label: '到货ID', name: 'DHID', hidden: true },
  306. // { label: '检验ID', name: 'JYID', hidden: true },
  307. // { label: '到货单号', name: 'DNCode', width: 120, align: 'left' },
  308. // { label: '送货单号', name: 'ASNCode', width: 120, align: 'left' },
  309. // { label: '采购订单号', name: 'POCode', width: 120, align: 'left' },
  310. // { label: '条码', name: 'LotNo', width: 120, align: 'left' },
  311. // { label: '料品编码', name: 'InvCode', width: 100, align: 'left' },
  312. // { label: '料品名称', name: 'InvName', width: 100, align: 'left' },
  313. // { label: '规格型号', name: 'INVSTD', width: 100, align: 'left' },
  314. // { label: '批次', name: 'BatchCode', width: 100, align: 'left' },
  315. // { label: '箱号', name: 'ContainerID', width: 100, align: 'left' },
  316. // { label: '到货时间', name: 'CreateDateTime', width: 150, align: 'left' },
  317. // { label: '供应商代码', name: 'VenCode', width: 150, align: 'left' },
  318. // { label: '供应商名称', name: 'VenName', width: 150, align: 'left' },
  319. // { label: '总数量', name: 'AllNumber', width: 100, align: 'left' },
  320. // { label: '合格数量', name: 'YLOTQTY', width: 100, align: 'left', editable: true, editrules: { number: true } },
  321. // { label: '不合格数量', name: 'NLOTQTY', width: 100, align: 'left', editable: true, editrules: { number: true } },
  322. // { label: '特采数量', name: 'SpecialQTY', width: 100, align: 'left', editable: true, editrules: { number: true } },
  323. // { label: '不良代码值', name: 'BCCodeValue', hidden: true },
  324. // {
  325. // label: '不良代码', name: 'BadDesc', width: 120, align: 'left', sortable: false,
  326. // formatter: function (cellvalue, options, rowObject) {
  327. // debugger;
  328. // var html = "";
  329. // html += ' <select id="SelBC_' + rowObject.ID.toString() + '" data-live-search ="true" Title=\"""\" class="selectpicker" data-width="85px">';
  330. // html += ' </select>';
  331. // return cellvalue = html;
  332. // }
  333. // },
  334. // { label: '不良原因值', name: 'BRCodeValue', hidden: true },
  335. // {
  336. // label: '不良原因', name: 'BadReasonDesc', width: 120, align: 'left', sortable: false,
  337. // formatter: function (cellvalue, options, rowObject) {
  338. // var html = "";
  339. // html += ' <select id="SelBR_' + rowObject.ID.toString() + '" data-live-search ="true" Title=\"""\" class="selectpicker" data-width="85px">';
  340. // html += ' </select>';
  341. // return cellvalue = html;
  342. // }
  343. // },
  344. // { label: '检验状态', name: 'TestState', width: 150, align: 'left' },
  345. // { label: '检验人', name: 'Surveyor', width: 150, align: 'left' },
  346. // { label: '检验时间', name: 'ProvingTime', width: 150, align: 'left' },
  347. //],
  348. cellsubmit: "clientArray",
  349. shrinkToFit: false,//宽度自适应
  350. autoWidth: true,
  351. gridComplete: function () {
  352. debugger;
  353. //设置select
  354. var RowDatas = $("#gridList").jqGrid('getDataIDs');
  355. for (var j = 0; j < RowDatas.length; j++) {
  356. var InvCode = $("#gridList").jqGrid("getCell", RowDatas[j], "InvCode");
  357. var ID = $("#gridList").jqGrid("getCell", RowDatas[j], "ID");
  358. var BCCodeValue = $("#gridList").jqGrid("getCell", RowDatas[j], "BCCodeValue");
  359. var BRCodeValue = $("#gridList").jqGrid("getCell", RowDatas[j], "BRCodeValue");
  360. GetSelectICSBadCode(InvCode, ID, BCCodeValue);
  361. GetSelectPerson(InvCode, ID, BRCodeValue);
  362. }
  363. },
  364. pager: "#gridPager",
  365. sortorder: "desc",
  366. sortname: 'DNCode ',
  367. viewrecords: true,
  368. multiselect: true,
  369. subGrid: false, // (1)开启子表格支持
  370. afterSaveCell: function (rowid, cellname, value) {
  371. debugger;
  372. //总扣分数加其他扣分数
  373. if (cellname === 'YLOTQTY') {
  374. var YLOTQTY = value;
  375. var AllNumber = $gridList.jqGrid("getCell", rowid, 'AllNumber');
  376. var str = Math.round((parseFloat(AllNumber) - parseFloat(YLOTQTY)) * 10) / 10;
  377. $gridList.jqGrid("setCell", rowid, 'NLOTQTY', str);
  378. }
  379. if (cellname === 'NLOTQTY') {
  380. var NLOTQTY = value;
  381. var AllNumber = $gridList.jqGrid("getCell", rowid, 'AllNumber');
  382. var str = Math.round((parseFloat(AllNumber) - parseFloat(NLOTQTY)) * 10) / 10;
  383. $gridList.jqGrid("setCell", rowid, 'YLOTQTY', str);
  384. }
  385. },
  386. });
  387. $("#btn_search").click(function () {
  388. var warehouse = $("#warehouse a.active").attr('data-value');
  389. var queryJson = {
  390. POCode: $("#txt_POCode").val(),
  391. ASNCode: $("#txt_ASNCode").val(),
  392. CaiGouCode: $("#txt_CaiGouCode").val(),
  393. VenCode: $("#txt_VenCode").val(),
  394. VenName: $("#txt_VenName").val(),
  395. InvCode: $("#txt_InvCode").val(),
  396. InvName: $("#txt_InvName").val(),
  397. BatchCode: $("#txt_BatchCode").val(),
  398. ReleaseState: $("#selShow").val(),
  399. }
  400. $gridList.jqGrid('setGridParam', {
  401. postData: { queryJson: JSON.stringify(queryJson) },
  402. }).trigger('reloadGrid');
  403. });
  404. }
  405. function gridList2() {
  406. var $gridList = $("#gridList");
  407. var queryJson = {
  408. POCode: $("#txt_POCode").val(),
  409. ASNCode: $("#txt_ASNCode").val(),
  410. CaiGouCode: $("#txt_CaiGouCode").val(),
  411. VenCode: $("#txt_VenCode").val(),
  412. VenName: $("#txt_VenName").val(),
  413. InvCode: $("#txt_InvCode").val(),
  414. InvName: $("#txt_InvName").val(),
  415. BatchCode: $("#txt_BatchCode").val(),
  416. ReleaseState: $("#selShow").val(),
  417. }
  418. $gridList.dataGrid({
  419. url: "/WMS/ICSRCVIQCs/GetICSInspection2" + "?" + Math.random(),
  420. postData: { queryJson: JSON.stringify(queryJson) },
  421. height: $(window).height() - 200,
  422. width: $(window).width() - 300,
  423. cellEdit: true,
  424. colModel: _Clos,
  425. //colModel: [
  426. // { label: "主键", name: "ID", hidden: true, key: true },
  427. // { label: 'ID', name: 'ID', hidden: true },
  428. // { label: '到货ID', name: 'DHID', hidden: true },
  429. // { label: '检验ID', name: 'JYID', hidden: true },
  430. // { label: '委外到货单号', name: 'DNCode', width: 120, align: 'left' },
  431. // { label: '委外送货单号', name: 'OASNCode', width: 120, align: 'left' },
  432. // { label: '委外采购订单号', name: 'OOCode', width: 120, align: 'left' },
  433. // { label: '条码', name: 'LotNo', width: 120, align: 'left' },
  434. // { label: '料品编码', name: 'InvCode', width: 100, align: 'left' },
  435. // { label: '料品名称', name: 'InvName', width: 100, align: 'left' },
  436. // { label: '规格型号', name: 'INVSTD', width: 100, align: 'left' },
  437. // { label: '批次', name: 'BatchCode', width: 100, align: 'left' },
  438. // { label: '箱号', name: 'ContainerID', width: 100, align: 'left' },
  439. // { label: '到货时间', name: 'CreateDateTime', width: 150, align: 'left' },
  440. // { label: '供应商代码', name: 'VenCode', width: 150, align: 'left' },
  441. // { label: '供应商名称', name: 'VenName', width: 150, align: 'left' },
  442. // { label: '总数量', name: 'AllNumber', width: 100, align: 'left' },
  443. // { label: '合格数量', name: 'YLOTQTY', width: 100, align: 'left', editable: true, editrules: { number: true } },
  444. // { label: '不合格数量', name: 'NLOTQTY', width: 100, align: 'left', editable: true, editrules: { number: true } },
  445. // { label: '特采数量', name: 'SpecialQTY', width: 100, align: 'left', editable: true, editrules: { number: true } },
  446. // { label: '不良代码值', name: 'BCCodeValue', hidden: true },
  447. // {
  448. // label: '不良代码', name: 'BadDesc', width: 120, align: 'left', sortable: false,
  449. // formatter: function (cellvalue, options, rowObject) {
  450. // debugger;
  451. // var html = "";
  452. // html += ' <select id="SelBC_' + rowObject.ID.toString() + '" data-live-search ="true" Title=\"""\" class="selectpicker" data-width="85px">';
  453. // html += ' </select>';
  454. // return cellvalue = html;
  455. // }
  456. // },
  457. // { label: '不良原因值', name: 'BRCodeValue', hidden: true },
  458. // {
  459. // label: '不良原因', name: 'BadReasonDesc', width: 120, align: 'left', sortable: false,
  460. // formatter: function (cellvalue, options, rowObject) {
  461. // var html = "";
  462. // html += ' <select id="SelBR_' + rowObject.ID.toString() + '" data-live-search ="true" Title=\"""\" class="selectpicker" data-width="85px">';
  463. // html += ' </select>';
  464. // return cellvalue = html;
  465. // }
  466. // },
  467. // { label: '检验状态', name: 'TestState', width: 150, align: 'left' },
  468. // { label: '检验人', name: 'Surveyor', width: 150, align: 'left' },
  469. // { label: '检验时间', name: 'ProvingTime', width: 150, align: 'left' },
  470. //],
  471. cellsubmit: "clientArray",
  472. shrinkToFit: false,//宽度自适应
  473. autoWidth: true,
  474. gridComplete: function () {
  475. debugger;
  476. //设置select
  477. var RowDatas = $("#gridList").jqGrid('getDataIDs');
  478. for (var j = 0; j < RowDatas.length; j++) {
  479. var InvCode = $("#gridList").jqGrid("getCell", RowDatas[j], "InvCode");
  480. var ID = $("#gridList").jqGrid("getCell", RowDatas[j], "ID");
  481. var BCCodeValue = $("#gridList").jqGrid("getCell", RowDatas[j], "BCCodeValue");
  482. var BRCodeValue = $("#gridList").jqGrid("getCell", RowDatas[j], "BRCodeValue");
  483. GetSelectICSBadCode(InvCode, ID, BCCodeValue);
  484. GetSelectPerson(InvCode, ID, BRCodeValue);
  485. }
  486. },
  487. pager: "#gridPager",
  488. sortorder: "desc",
  489. sortname: 'DNCode ',
  490. viewrecords: true,
  491. multiselect: true,
  492. subGrid: false, // (1)开启子表格支持
  493. afterSaveCell: function (rowid, cellname, value) {
  494. debugger;
  495. //总扣分数加其他扣分数
  496. if (cellname === 'YLOTQTY') {
  497. var YLOTQTY = value;
  498. var AllNumber = $gridList.jqGrid("getCell", rowid, 'AllNumber');
  499. var str = Math.round((parseFloat(AllNumber) - parseFloat(YLOTQTY)) * 10) / 10;
  500. $gridList.jqGrid("setCell", rowid, 'NLOTQTY', str);
  501. }
  502. if (cellname === 'NLOTQTY') {
  503. var NLOTQTY = value;
  504. var AllNumber = $gridList.jqGrid("getCell", rowid, 'AllNumber');
  505. var str = Math.round((parseFloat(AllNumber) - parseFloat(NLOTQTY)) * 10) / 10;
  506. $gridList.jqGrid("setCell", rowid, 'YLOTQTY', str);
  507. }
  508. if (cellname === 'BadReasonDesc') {
  509. $gridList.jqGrid("setCell", rowid, 'BRCodeValue', value);
  510. }
  511. if (cellname === 'BadDesc') {
  512. $gridList.jqGrid("setCell", rowid, 'BCCodeValue', value);
  513. }
  514. },
  515. });
  516. $("#btn_search").click(function () {
  517. var warehouse = $("#warehouse a.active").attr('data-value');
  518. var queryJson = {
  519. POCode: $("#txt_POCode").val(),
  520. ASNCode: $("#txt_ASNCode").val(),
  521. CaiGouCode: $("#txt_CaiGouCode").val(),
  522. VenCode: $("#txt_VenCode").val(),
  523. VenName: $("#txt_VenName").val(),
  524. InvCode: $("#txt_InvCode").val(),
  525. InvName: $("#txt_InvName").val(),
  526. BatchCode: $("#txt_BatchCode").val(),
  527. ReleaseState: $("#selShow").val(),
  528. }
  529. $gridList.jqGrid('setGridParam', {
  530. postData: { queryJson: JSON.stringify(queryJson) },
  531. }).trigger('reloadGrid');
  532. });
  533. }
  534. function gridList3() {
  535. var $gridList = $("#gridList");
  536. var queryJson = {
  537. POCode: $("#txt_POCode").val(),
  538. InvCode: $("#txt_InvCode").val(),
  539. InvName: $("#txt_InvName").val(),
  540. BatchCode: $("#txt_BatchCode").val(),
  541. ReleaseState: $("#selShow").val(),
  542. }
  543. $gridList.dataGrid({
  544. url: "/WMS/ICSRCVIQCs/GetICSInspection3" + "?" + Math.random(),
  545. postData: { queryJson: JSON.stringify(queryJson) },
  546. height: $(window).height() - 200,
  547. width: $(window).width() - 300,
  548. cellEdit: true,
  549. colModel: _Clos,
  550. //colModel: [
  551. // { label: "主键", name: "ID", hidden: true, key: true },
  552. // { label: 'ID', name: 'ID', hidden: true },
  553. // { label: '工单ID', name: 'GDID', hidden: true },
  554. // { label: '检验ID', name: 'JYID', hidden: true },
  555. // { label: '工单单号', name: 'DNCode', width: 120, align: 'left' },
  556. // { label: '条码', name: 'LotNo', width: 120, align: 'left' },
  557. // { label: '料品编码', name: 'InvCode', width: 100, align: 'left' },
  558. // { label: '料品名称', name: 'InvName', width: 100, align: 'left' },
  559. // { label: '规格型号', name: 'INVSTD', width: 100, align: 'left' },
  560. // { label: '批次', name: 'BatchCode', width: 100, align: 'left' },
  561. // { label: '箱号', name: 'ContainerID', width: 100, align: 'left' },
  562. // { label: '生产时间', name: 'ProductTime', width: 150, align: 'left' },
  563. // { label: '总数量', name: 'AllNumber', width: 100, align: 'left' },
  564. // { label: '合格数量', name: 'YLOTQTY', width: 100, align: 'left', editable: true, editrules: { number: true } },
  565. // { label: '不合格数量', name: 'NLOTQTY', width: 100, align: 'left', editable: true, editrules: { number: true } },
  566. // { label: '特采数量', name: 'SpecialQTY', width: 100, align: 'left', editable: true, editrules: { number: true } },
  567. // { label: '不良代码值', name: 'BCCodeValue', hidden: true },
  568. // {
  569. // label: '不良代码', name: 'BadDesc', width: 120, align: 'left', sortable: false,
  570. // formatter: function (cellvalue, options, rowObject) {
  571. // debugger;
  572. // var html = "";
  573. // html += ' <select id="SelBC_' + rowObject.ID.toString() + '" data-live-search ="true" Title=\"""\" class="selectpicker" data-width="85px">';
  574. // html += ' </select>';
  575. // return cellvalue = html;
  576. // }
  577. // },
  578. // { label: '不良原因值', name: 'BRCodeValue', hidden: true },
  579. // {
  580. // label: '不良原因', name: 'BadReasonDesc', width: 120, align: 'left', sortable: false,
  581. // formatter: function (cellvalue, options, rowObject) {
  582. // var html = "";
  583. // html += ' <select id="SelBR_' + rowObject.ID.toString() + '" data-live-search ="true" Title=\"""\" class="selectpicker" data-width="85px">';
  584. // html += ' </select>';
  585. // return cellvalue = html;
  586. // }
  587. // },
  588. // { label: '检验状态', name: 'TestState', width: 150, align: 'left' },
  589. // { label: '检验人', name: 'Surveyor', width: 150, align: 'left' },
  590. // { label: '检验时间', name: 'ProvingTime', width: 150, align: 'left' },
  591. //],
  592. cellsubmit: "clientArray",
  593. shrinkToFit: false,//宽度自适应
  594. autoWidth: true,
  595. gridComplete: function () {
  596. debugger;
  597. //设置select
  598. var RowDatas = $("#gridList").jqGrid('getDataIDs');
  599. for (var j = 0; j < RowDatas.length; j++) {
  600. var InvCode = $("#gridList").jqGrid("getCell", RowDatas[j], "InvCode");
  601. var ID = $("#gridList").jqGrid("getCell", RowDatas[j], "ID");
  602. var BCCodeValue = $("#gridList").jqGrid("getCell", RowDatas[j], "BCCodeValue");
  603. var BRCodeValue = $("#gridList").jqGrid("getCell", RowDatas[j], "BRCodeValue");
  604. GetSelectICSBadCode(InvCode, ID, BCCodeValue);
  605. GetSelectPerson(InvCode, ID, BRCodeValue);
  606. }
  607. },
  608. pager: "#gridPager",
  609. sortorder: "desc",
  610. sortname: 'DNCode ',
  611. viewrecords: true,
  612. multiselect: true,
  613. afterSaveCell: function (rowid, cellname, value) {
  614. debugger;
  615. //总扣分数加其他扣分数
  616. if (cellname === 'YLOTQTY') {
  617. var YLOTQTY = value;
  618. var AllNumber = $gridList.jqGrid("getCell", rowid, 'AllNumber');
  619. var str = Math.round((parseFloat(AllNumber) - parseFloat(YLOTQTY)) * 10) / 10;
  620. $gridList.jqGrid("setCell", rowid, 'NLOTQTY', str);
  621. }
  622. if (cellname === 'NLOTQTY') {
  623. var NLOTQTY = value;
  624. var AllNumber = $gridList.jqGrid("getCell", rowid, 'AllNumber');
  625. var str = Math.round((parseFloat(AllNumber) - parseFloat(NLOTQTY)) * 10) / 10;
  626. $gridList.jqGrid("setCell", rowid, 'YLOTQTY', str);
  627. }
  628. if (cellname === 'BadReasonDesc') {
  629. $gridList.jqGrid("setCell", rowid, 'BRCodeValue', value);
  630. }
  631. if (cellname === 'BadDesc') {
  632. $gridList.jqGrid("setCell", rowid, 'BCCodeValue', value);
  633. }
  634. },
  635. });
  636. $("#btn_search").click(function () {
  637. var warehouse = $("#warehouse a.active").attr('data-value');
  638. var queryJson = {
  639. POCode: $("#txt_POCode").val(),
  640. InvCode: $("#txt_InvCode").val(),
  641. InvName: $("#txt_InvName").val(),
  642. BatchCode: $("#txt_BatchCode").val(),
  643. ReleaseState: $("#selShow").val(),
  644. }
  645. $gridList.jqGrid('setGridParam', {
  646. postData: { queryJson: JSON.stringify(queryJson) },
  647. }).trigger('reloadGrid');
  648. });
  649. }
  650. //获取不良原因
  651. function GetSelectPerson(InvCode, ID, BRCodeValue) {
  652. var str = "";
  653. $.ajax({
  654. url: "/WMS/ICSRCVIQCs/Select_ICSBadReason?InvCode=" + InvCode + "&" + Math.random(),
  655. dataType: "json",
  656. async: false,
  657. async: false,
  658. success: function (data) {
  659. if (data != null && data.length > 0) {
  660. $("#SelBR_" + ID + "").find("option").remove();
  661. for (var i = 0; i < data.length; i++) {
  662. $("#SelBR_" + ID + "").append("<option value='" + data[i].BadReasonCode + "'>" + data[i].BadReasonDesc + "</option>");
  663. }
  664. }
  665. }
  666. });
  667. $("#SelBR_" + ID + "").selectpicker('refresh');
  668. $("#SelBR_" + ID + "").selectpicker('val', BRCodeValue);
  669. }
  670. //获取不良代码
  671. function GetSelectICSBadCode(InvCode, ID, BCCodeValue) {
  672. var str = "";
  673. $.ajax({
  674. url: "/WMS/ICSRCVIQCs/GetSelectICSBadCode?InvCode=" + InvCode + "&" + Math.random(),
  675. dataType: "json",
  676. async: false,
  677. async: false,
  678. success: function (data) {
  679. if (data != null && data.length > 0) {
  680. $("#SelBC_" + ID + "").find("option").remove();
  681. for (var i = 0; i < data.length; i++) {
  682. $("#SelBC_" + ID + "").append("<option value='" + data[i].BadCode + "'>" + data[i].BadDesc + "</option>");
  683. }
  684. }
  685. }
  686. });
  687. $("#SelBC_" + ID + "").selectpicker('refresh');
  688. $("#SelBC_" + ID + "").selectpicker('val', BCCodeValue);
  689. }
  690. function btnSave() {
  691. debugger;
  692. var ids = $("#gridList").jqGrid('getGridParam', 'selarrrow'); //获取 多行数据
  693. if (ids.length == 0) {
  694. $.modalAlert("请选择数据!");
  695. return;
  696. }
  697. var IDlist = "";
  698. var ICSInspection = [];
  699. var flag = '';
  700. for (var i = 0; i < ids.length; i++) {
  701. var rowData = $("#gridList").jqGrid('getRowData', ids[i]);
  702. IDlist += "'" + rowData.ID + "',";
  703. if (rowData.NLOTQTY > 0) {
  704. if (rowData.BadDesc == '' || rowData.BadReasonDesc == '') {
  705. $.modalAlert("请选择不良原因及不良代码!");
  706. return;
  707. }
  708. }
  709. if (rowData.YLOTQTY < 0 || rowData.NLOTQTY < 0) {
  710. $.modalAlert("数量异常,请重新输入合格数量或不合格数量!");
  711. return;
  712. }
  713. if (rowData.SpecialQTY > rowData.NLOTQTY) {
  714. $.modalAlert("特采数量不得大于不合格数量!");
  715. return;
  716. }
  717. var obj = {
  718. AllNumber: rowData.AllNumber,//总数量
  719. YLOTQTY: rowData.YLOTQTY,//合格数量
  720. NLOTQTY: rowData.NLOTQTY,//不合格数量
  721. SpecialQTY: rowData.SpecialQTY,//特采数量
  722. LotNo: rowData.LotNo,//条码
  723. InvCode: rowData.InvCode,//物料编码
  724. BCCode: $("#SelBC_" + rowData.ID + "").val(),//不良代码
  725. BRCode: $("#SelBR_" + rowData.ID + "").val(),//不良原因
  726. Type: Type,
  727. TestState: rowData.TestState,
  728. JYID: rowData.JYID
  729. }
  730. ICSInspection.push(obj);
  731. }
  732. $.modalConfirm("确定保存吗?", function (r) {
  733. if (r) {
  734. $.submitForm({
  735. url: "/WMS/ICSRCVIQCs/CreateICSInspection" + "?" + Math.random(),
  736. param: { keyValue: IDlist, ICSInspections: JSON.stringify(ICSInspection) },
  737. success: function () {
  738. $.currentWindow().$("#gridList").trigger("reloadGrid");
  739. }
  740. })
  741. }
  742. });
  743. }
  744. //退回
  745. function btnSendBack() {
  746. debugger;
  747. var ids = $("#gridList").jqGrid('getGridParam', 'selarrrow'); //获取 多行数据
  748. if (ids.length == 0) {
  749. $.modalAlert("请选择数据!");
  750. return;
  751. }
  752. var IDlist = "";
  753. var selShow = $("#selShow").val();
  754. if (selShow != '1') {
  755. $.modalAlert("未经检验的单据,无法退回!");
  756. return;
  757. }
  758. for (var i = 0; i < ids.length; i++) {
  759. var rowData = $("#gridList").jqGrid('getRowData', ids[i]);
  760. if (rowData.AllNumber == rowData.YLOTQTY) {
  761. $.modalAlert("所选条码" + rowData.LotNo + ",全部合格无法退回!");
  762. return;
  763. }
  764. IDlist += "'" + rowData.LotNo + "',";
  765. }
  766. $.modalConfirm("确定退回吗?", function (r) {
  767. if (r) {
  768. $.submitForm({
  769. url: "/WMS/ICSRCVIQCs/CreateRejection?Type=" + Type + "&" + Math.random(),
  770. param: { keyValue: IDlist },
  771. success: function () {
  772. $.currentWindow().$("#gridList").trigger("reloadGrid");
  773. }
  774. })
  775. }
  776. });
  777. }
  778. </script>
  779. <div class="topPanel" style="height:100px">
  780. <div class="toolbar">
  781. <div class="btn-group">
  782. <a id="NF-Create" authorize="yes" class="btn btn-primary" onclick="btnSave()"><i class="fa fa-pencil-square-o"></i>保存检验结果</a>
  783. <a id="NF-update" authorize="yes" class="btn btn-primary" onclick="btnSendBack()"><i class="fa fa-pencil-square-o"></i>生成拒收单</a>
  784. @*<a id="NF-Delete" authorize="yes" class="btn btn-primary" onclick="btn_Delete()"><i class="fa fa-trash-o"></i>删除</a>*@
  785. <a class="btn btn-primary" onclick="$.reload()"><span class="glyphicon glyphicon-refresh"></span></a>
  786. </div>
  787. </div>
  788. <div class="search">
  789. <table>
  790. <tr>
  791. <td style="text-align:right;"><label class="lglabel" for="txt_POCode">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;单据号</label>:</td>
  792. <td>
  793. <div class="input-group">
  794. <input id="txt_POCode" type="text" class="form-control" style="width: 105px;">
  795. </div>
  796. </td>
  797. <td class="HideTxt" style="text-align:right;"><label class="lglabel HideTxt" for="txt_ASNCode">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;送货单号</label>:</td>
  798. <td>
  799. <div class="input-group HideTxt">
  800. <input id="txt_ASNCode" type="text" class="form-control HideTxt" style="width: 105px;">
  801. </div>
  802. </td>
  803. <td class="HideTxt" style="text-align:right;"><label class="lglabel HideTxt" for="txt_CaiGouCode">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;采购订单号</label>:</td>
  804. <td>
  805. <div class="input-group">
  806. <input id="txt_CaiGouCode" type="text" class="form-control HideTxt" style="width: 105px;">
  807. </div>
  808. </td>
  809. <td class="HideTxt" style="text-align:right;"><label class="lglabel" for="txt_VenCode HideTxt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;供应商代码</label>:</td>
  810. <td>
  811. <div class="input-group HideTxt">
  812. <input id="txt_VenCode" type="text" class="form-control HideTxt" style="width: 105px;">
  813. </div>
  814. </td>
  815. <td class="HideTxt" style="text-align:right;"><label class="lglabel HideTxt" for="txt_VenName">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;供应商名称</label>:</td>
  816. <td>
  817. <div class="input-group HideTxt">
  818. <input id="txt_VenName" type="text" class="form-control HideTxt" style="width: 105px;">
  819. </div>
  820. </td>
  821. </tr>
  822. <tr>
  823. <td style="text-align:right;"><label class="lglabel" for="txt_InvCode">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;料品编码</label>:</td>
  824. <td>
  825. <div class="input-group">
  826. <input id="txt_InvCode" type="text" class="form-control" style="width: 105px;">
  827. </div>
  828. </td>
  829. <td style="text-align:right;"><label class="lglabel" for="txt_InvName">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;料品名称</label>:</td>
  830. <td>
  831. <div class="input-group">
  832. <input id="txt_InvName" type="text" class="form-control" style="width: 105px;">
  833. </div>
  834. </td>
  835. <td style="text-align:right;"><label class="lglabel" for="txt_BatchCode">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;批次号</label>:</td>
  836. <td>
  837. <div class="input-group">
  838. <input id="txt_BatchCode" type="text" class="form-control" style="width: 105px;">
  839. </div>
  840. </td>
  841. <td>
  842. <label>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;单据状态:</label>
  843. </td>
  844. <td>
  845. <div class="input-group">
  846. <select id="selShow" name="F_Target" class="form-control" style="width: 105px;">
  847. <option value="1">已检验</option>
  848. <option value="0" selected="selected">未检验</option>
  849. </select>
  850. </div>
  851. </td>
  852. <td>
  853. <span class="input-group-btn">
  854. <button id="btn_search" type="button" class="btn btn-primary"><i class="fa fa-search"></i></button>
  855. </span>
  856. </td>
  857. </tr>
  858. </table>
  859. </div>
  860. </div>
  861. <div class="gridPanel">
  862. <table id="gridList"></table>
  863. <div id="gridPager"></div>
  864. </div>