旭捷内部项目管理系统
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.

450 lines
15 KiB

10 months ago
  1. //初始化
  2. $(function () {
  3. });
  4. var rollList = []
  5. var pick = []
  6. let lastTimeRoll
  7. let partCss
  8. //物料号bind 回车事件
  9. $("#rollNo").bind("keydown", function (event) {
  10. if (event.keyCode == 13) {
  11. var rollNo = $("#rollNo").val();
  12. if (null == rollNo || rollNo == "") {
  13. layer.alert("卷号不能为空!");
  14. } else {
  15. getRollInfo(rollNo);
  16. return false;
  17. }
  18. }
  19. return true;
  20. });
  21. function getPickingList() {
  22. let packingVo = {
  23. "orderNo": $('#orderNo').val(),
  24. }
  25. $.ajax({
  26. url: "/packing/getPackageList",
  27. contentType: 'application/json',
  28. type: "POST",
  29. data: JSON.stringify(packingVo),
  30. dataType: "json",
  31. beforeSend: function (request) {
  32. request.setRequestHeader("token", $.cookie("token"));
  33. },
  34. success: function (data) {
  35. $("#roll_table").html('');
  36. if (data.code == 0) {
  37. pick = data.data;
  38. var bool = true
  39. if (pick) {
  40. pick.forEach((item, index) => {
  41. var str = ''
  42. if (item.orderQty == item.pickedQty) {
  43. if (partCss == item.partNo) {
  44. bool = false
  45. }
  46. str = '<tr id = ' + item.partNo + '>' +
  47. '<th class="" style="text-align:center;background-color: #4FE50FFF;">' +
  48. '<button onclick="boxingModal(\'' + item.orderNo + ',' + item.partNo + '\')" data-toggle="modal" style="padding: 3px 10px;">' +
  49. '装箱</button>' +
  50. '<th class="" style="text-align:center;background-color: #4FE50FFF;">' +
  51. '<span>' + item.orderNo + '</span></th>' +
  52. '<th class="" style="text-align:center;background-color: #4FE50FFF;">' +
  53. '<span>' + item.partNo + '</span></th>' +
  54. '<th class="" style="text-align:center;background-color: #4FE50FFF;">' +
  55. '<span>' + item.orderQty + '</span></th>' +
  56. '<th class="" style="text-align:center;background-color: #4FE50FFF;">' +
  57. '<span>' + item.pickedQty + '</span></th>' +
  58. '</tr>';
  59. } else {
  60. str = '<tr id = ' + item.partNo + '>' +
  61. '<th class="" style="text-align:center;background-color: #ffff;">' +
  62. '<button onclick="boxingModal(\'' + item.orderNo + ',' + item.partNo + '\')" data-toggle="modal" style="padding: 3px 10px;">' +
  63. '装箱</button>' +
  64. '<th class="" style="text-align:center;background-color: #ffff;">' +
  65. '<span>' + item.orderNo + '</span></th>' +
  66. '<th class="" style="text-align:center;background-color: #ffff;">' +
  67. '<span>' + item.partNo + '</span></th>' +
  68. '<th class="" style="text-align:center;background-color: #ffff;">' +
  69. '<span>' + item.orderQty + '</span></th>' +
  70. '<th class="" style="text-align:center;background-color: #ffff;">' +
  71. '<span>' + item.pickedQty + '</span></th>' +
  72. '</tr>';
  73. }
  74. $("#roll_table").append(str);
  75. })
  76. $("#rollNo").focus();
  77. if (data.msg != 'success') {
  78. layer.alert(data.msg);
  79. }
  80. if (partCss && bool) {
  81. $('#' + partCss + ' th').css("background-color", "#99CC9AFF")
  82. }
  83. } else {
  84. layer.alert('该卷不存在');
  85. }
  86. } else if (data.code == 201) {
  87. layer.alert(data.msg);
  88. }
  89. if (data.code == 202) {
  90. layer.alert(data.msg);
  91. }
  92. if (data.code == 203) {
  93. layer.alert(data.msg);
  94. }
  95. if (data.code == 500) {
  96. layer.alert(data.msg);
  97. }
  98. if (data.code == 300) {
  99. layer.confirm(data.msg + '<br>是否前往拆箱页面', {
  100. btn: ['确定', '取消']
  101. // 按钮
  102. }, () => {
  103. window.location.href = "/pda/productwarehouse/boxingManage?menuId=188&token=" + $.cookie("token") + "&superiorId=121"
  104. }, () => {
  105. })
  106. }
  107. if (data.code == 401) {
  108. layer.alert('用户身份已过期');
  109. window.location.href = "/login"
  110. }
  111. },
  112. error: function (data) {
  113. }
  114. });
  115. }
  116. function getRollInfo(rollNo) {
  117. let roll = {
  118. "rollNo": rollNo,
  119. "orderNo": $('#orderNo').val().trim(),
  120. "orderFlag":$('#orderFlag').is(":checked") ? 'Y' : 'N'
  121. // "statusDb": "I"
  122. }
  123. $.ajax({
  124. url: "/finishedProduct/crollinfo/infoRollnoInster",
  125. contentType: 'application/json',
  126. type: "POST",
  127. data: JSON.stringify(roll),
  128. dataType: "json",
  129. beforeSend: function (request) {
  130. request.setRequestHeader("token", $.cookie("token"));
  131. },
  132. success: function (data) {
  133. if (data.code == 0) {
  134. if (lastTimeRoll) {
  135. if (lastTimeRoll.partno != data.roll.partno) {
  136. layer.alert("友情提示: 本次扫描卷,料号与上次不是同一料号")
  137. }
  138. }
  139. lastTimeRoll = data.roll
  140. partCss = data.roll.partno
  141. getPickingList()
  142. $("#rollNo").val('');
  143. $("#rollNo").focus();
  144. }
  145. if (data.code == 201) {
  146. layer.confirm(data.msg + ',是否需要拆卷', {
  147. btn: ['确定', '取消']
  148. // 按钮
  149. }, function () {
  150. let rollVo = {
  151. "rollno": data.cRollInfo.rollno,
  152. // "statusDb": "I",
  153. "pickQty": data.cRollInfo.rollqty,
  154. }
  155. $.ajax({
  156. url: "/finishedProduct/crollinfo/splitRoll",
  157. contentType: 'application/json',
  158. type: "POST",
  159. data: JSON.stringify(rollVo),
  160. dataType: "json",
  161. beforeSend: function (request) {
  162. request.setRequestHeader("token", $.cookie("token"));
  163. },
  164. success: function (data) {
  165. if (data.code == 0) {
  166. var rollSplit = data.rollList[0]
  167. print(data.rollList)
  168. getRollInfo(rollSplit.rollno)
  169. }
  170. if (data.code == 201) {
  171. layer.alert(data.msg)
  172. }
  173. if (data.code == 202) {
  174. layer.alert(data.msg)
  175. } else {
  176. layer.alert(data.msg)
  177. }
  178. if (data.code == 401) {
  179. layer.alert('用户身份已过期');
  180. window.location.href = "/login"
  181. }
  182. },
  183. error: function (data) {
  184. }
  185. });
  186. }, function () {
  187. });
  188. }
  189. if (data.code == 500) {
  190. layer.alert(data.msg);
  191. $("#rollNo").val('');
  192. $("#rollNo").focus();
  193. }
  194. if (data.code == 401) {
  195. layer.alert('用户身份已过期');
  196. window.location.href = "/login"
  197. }
  198. },
  199. error: function (data) {
  200. }
  201. });
  202. }
  203. var orderNo1 = ''
  204. var partNo1 = ''
  205. // 打开装箱模态框
  206. function boxingModal(orderNo, partNo) {
  207. var atter = orderNo.split(",")
  208. orderNo1 = atter[0]
  209. partNo1 = atter[1]
  210. getCustomerId(partNo1)
  211. $('#printFile').modal()
  212. }
  213. // 装箱
  214. function boxing() {
  215. let packingVo = {
  216. "orderNo": orderNo1,
  217. "partNo": partNo1,
  218. }
  219. $.ajax({
  220. url: "/packing/sealing",
  221. contentType: 'application/json',
  222. type: "POST",
  223. data: JSON.stringify(packingVo),
  224. dataType: "json",
  225. beforeSend: function (request) {
  226. request.setRequestHeader("token", $.cookie("token"));
  227. },
  228. success: function (data) {
  229. if (data.code == 0) {
  230. if (data.sealingNumber == 0) {
  231. layer.alert('请扫入卷再装箱');
  232. } else {
  233. pickingPrint(data.sealingNumber, data.boxNo)
  234. }
  235. }
  236. if (data.code == 500) {
  237. layer.alert(data.msg);
  238. }
  239. if (data.code == 401) {
  240. layer.alert('用户身份已过期');
  241. window.location.href = "/login"
  242. }
  243. },
  244. error: function (data) {
  245. }
  246. });
  247. }
  248. // 更具拣配单号 获取 客户编号
  249. function getCustomerId(partNo) {
  250. let picking = {
  251. partNo: partNo
  252. }
  253. $.ajax({
  254. url: "/packing/getCustomerId",
  255. contentType: 'application/json',
  256. type: "POST",
  257. data: JSON.stringify(picking),
  258. dataType: "json",
  259. beforeSend: function (request) {
  260. request.setRequestHeader("token", $.cookie("token"));
  261. },
  262. success: function (data) {
  263. if (data.code == 0) {
  264. getPrintFile(data.customerId)
  265. }
  266. if (data.code == 500) {
  267. layer.alert(data.msg)
  268. }
  269. if (data.code == 401) {
  270. layer.alert('用户身份已过期');
  271. window.location.href = "/login"
  272. }
  273. },
  274. error: function (data) {
  275. }
  276. });
  277. }
  278. // 获取根据客户编号 获取装配打印模板
  279. function getPrintFile(customerId) {
  280. let customer = {
  281. customerId: customerId,
  282. reportFamily: '外箱标签'
  283. }
  284. $.ajax({
  285. url: "/packing/getReportFileListByCustomerId",
  286. contentType: 'application/json',
  287. type: "POST",
  288. data: JSON.stringify(customer),
  289. dataType: "json",
  290. beforeSend: function (request) {
  291. request.setRequestHeader("token", $.cookie("token"));
  292. },
  293. success: function (data) {
  294. if (data.code == 0) {
  295. $('#reoprtId').html('')
  296. let reportList = data.reportFileVos
  297. let reportHtml = ''
  298. reportList.forEach((item, index) => {
  299. reportHtml += '<option label=' + item.reportFileVo + ' value=' + item.reportIdVo + '>' +
  300. '</option>';
  301. })
  302. $('#reoprtId').append(reportHtml)
  303. }
  304. if (data.code == 500) {
  305. layer.alert(data.msg)
  306. }
  307. if (data.code == 401) {
  308. layer.alert('用户身份已过期');
  309. window.location.href = "/login"
  310. }
  311. },
  312. error: function (data) {
  313. }
  314. });
  315. }
  316. // 装箱完成调用打印
  317. function pickingPrint(pickingNumber, boxNo) {
  318. var reoprt = $('#reoprtId').val();
  319. console.log(reoprt)
  320. var split = reoprt.split(":");
  321. var reportFile = split[2]
  322. var reportId = split[1]
  323. var isCustomer = split[0]
  324. //var reportFile = reoprt.substr(reoprt.indexOf(":")+1)
  325. // var reportId = reoprt.substr(0,reoprt.indexOf(":"))
  326. let reportFileVo = {
  327. reportId: reportId,
  328. reportFile: reportFile,
  329. orderNo: $("#orderNo").val(),
  330. partNo: partNo1,
  331. pickingNumber: pickingNumber,
  332. isCustomer: isCustomer,
  333. boxNo: boxNo
  334. }
  335. $.ajax({
  336. url: "/packing/printPacking",
  337. contentType: 'application/json',
  338. type: "POST",
  339. data: JSON.stringify(reportFileVo),
  340. dataType: "json",
  341. beforeSend: function (request) {
  342. request.setRequestHeader("token", $.cookie("token"));
  343. },
  344. success: function (data) {
  345. if (data.code == 0) {
  346. layer.alert(data.msg)
  347. $("#box_close").click();
  348. $("#rollNo").val('');
  349. $("#rollNo").focus();
  350. }
  351. if (data.code == 500) {
  352. layer.alert(data.msg)
  353. }
  354. if (data.code == 401) {
  355. layer.alert('用户身份已过期');
  356. window.location.href = "/login"
  357. }
  358. },
  359. error: function (data) {
  360. }
  361. });
  362. }
  363. // 交货
  364. function delivery() {
  365. var packVo = {
  366. "orderNo": $("#orderNo").val()
  367. }
  368. $.ajax({
  369. url: "/packing/delivery",
  370. contentType: 'application/json',
  371. type: "POST",
  372. data: JSON.stringify(packVo),
  373. dataType: "json",
  374. beforeSend: function (request) {
  375. request.setRequestHeader("token", $.cookie("token"));
  376. },
  377. success: function (data) {
  378. if (data.code == 0) {
  379. layer.alert(data.msg)
  380. $("#roll_table").html('');
  381. $("#orderNo").val('')
  382. $("#rollNo").val('');
  383. $("#rollNo").focus();
  384. }
  385. if (data.code == 500) {
  386. layer.alert(data.msg)
  387. $("#rollNo").val('');
  388. $("#rollNo").focus();
  389. }
  390. if (data.code == 401) {
  391. layer.alert('用户身份已过期');
  392. window.location.href = "/login"
  393. }
  394. },
  395. error: function (data) {
  396. }
  397. });
  398. }
  399. // 打印卷标签
  400. function print(val) {
  401. var rollPrintList = val
  402. if (rollPrintList.length <= 0) {
  403. return;
  404. }
  405. $.ajax({
  406. url: "/finishedProduct/crollinfo/rollPrint",
  407. contentType: 'application/json',
  408. type: "POST",
  409. data: JSON.stringify(rollPrintList),
  410. dataType: "json",
  411. beforeSend: function (request) {
  412. request.setRequestHeader("token", $.cookie("token"));
  413. },
  414. success: function (data) {
  415. rollList = []
  416. if (data.code == 0) {
  417. layer.alert("打印成功")
  418. rollPrintList = []
  419. }
  420. if (data.code == 401) {
  421. layer.alert('用户身份已过期');
  422. window.location.href = "/login"
  423. }
  424. },
  425. error: function (data) {
  426. }
  427. });
  428. }