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

377 lines
12 KiB

10 months ago
  1. //初始化
  2. $(function () {
  3. });
  4. //卷号bind 回车事件
  5. $("#rollNo").bind("keydown", function (event) {
  6. if (event.keyCode == 13) {
  7. var rollNo = $("#rollNo").val();
  8. if (null == rollNo || rollNo == "") {
  9. layer.alert("卷号不能为空!");
  10. } else {
  11. scannerRollNoList(rollNo);
  12. return false;
  13. }
  14. }
  15. return true;
  16. });
  17. //箱号号bind 回车事件
  18. $("#boxNo").bind("keydown", function (event) {
  19. if (event.keyCode == 13) {
  20. var boxNo = $("#boxNo").val();
  21. if (null == boxNo || boxNo == "") {
  22. layer.alert("箱号不能为空!");
  23. } else {
  24. scannerBoxNoList(boxNo);
  25. return false;
  26. }
  27. }
  28. return true;
  29. });
  30. // 扫描卷移除操作
  31. $('#scanRollNo').bind("keydown",(event)=>{
  32. if (event.keyCode == 13) {
  33. var scanRollNo = $("#scanRollNo").val();
  34. if (null == scanRollNo || scanRollNo == "") {
  35. layer.alert("扫描卷号不能为空!");
  36. } else {
  37. removeBoxRoll(scanRollNo);
  38. return false;
  39. }
  40. }
  41. return true;
  42. })
  43. function scannerRollNoList(rollNo) {
  44. let roll = {
  45. "finalRollNo": rollNo
  46. }
  47. $.ajax({
  48. url: "/soBoxing/boxScanRollList",
  49. contentType: 'application/json',
  50. type: "POST",
  51. data: JSON.stringify(roll),
  52. dataType: "json",
  53. beforeSend: function (request) {
  54. request.setRequestHeader("token", $.cookie("token"));
  55. },
  56. success: function (data) {
  57. if (data.code == 0) {
  58. $("#roll_table").html('')
  59. $('#boxNoView').val(data.boxNo)
  60. $('#boxQty').val(data.boxNumber)
  61. $('#itemCode').val(data.itemCode)
  62. $('#orderNo').val(data.orderNo)
  63. var rollInfoData = data.rollList
  64. rollInfoData.forEach( item => {
  65. var str = '<tr id = ' + item.rollNo + '>' +
  66. '<th class="" style="text-align:center;background-color: #ffff;">' +
  67. '<button data-toggle="modal" onclick="removeBoxRoll(\'' + item.finalRollNo + '\')" style="padding: 3px 10px;">' +
  68. '移除</button>' +
  69. '<th class="" style="text-align:center;background-color: #ffff;">' +
  70. '<span>' + item.finalRollNo + '</span></th>' +
  71. '<th class="" style="text-align:center;background-color: #ffff;">' +
  72. '<span>' + item.rollQty + '</span></th>' +
  73. '</tr>';
  74. $("#roll_table").append(str);
  75. })
  76. }
  77. if (data.code == 500) {
  78. layer.alert(data.msg);
  79. $("#roll_table").html('')
  80. $('#boxNoView').val('')
  81. $('#boxQty').val('')
  82. $("#rollNo").val('')
  83. $("#orderNo").val('')
  84. $("#itemCode").val('')
  85. }
  86. if (data.code == 401) {
  87. layer.alert('用户身份已过期');
  88. window.location.href = "/login"
  89. }
  90. },
  91. error: function (data) {
  92. }
  93. });
  94. }
  95. function scannerBoxNoList(boxNo) {
  96. let roll = {
  97. "boxNo": boxNo
  98. }
  99. $.ajax({
  100. url: "/soBoxing/boxScanBoxNoList",
  101. contentType: 'application/json',
  102. type: "POST",
  103. data: JSON.stringify(roll),
  104. dataType: "json",
  105. beforeSend: function (request) {
  106. request.setRequestHeader("token", $.cookie("token"));
  107. },
  108. success: function (data) {
  109. if (data.code == 0) {
  110. $("#roll_table").html('')
  111. $('#boxNoView').val(data.boxNo)
  112. $('#boxQty').val(data.boxNumber)
  113. $('#itemCode').val(data.itemCode)
  114. $('#orderNo').val(data.orderNo)
  115. var rollInfoData = data.rollList
  116. rollInfoData.forEach( item => {
  117. var str = '<tr id = ' + item.rollNo + '>' +
  118. '<th class="" style="text-align:center;background-color: #ffff;">' +
  119. '<button data-toggle="modal" onclick="removeBoxRoll(\'' + item.finalRollNo + '\')" style="padding: 3px 10px;">' +
  120. '移除</button>' +
  121. '<th class="" style="text-align:center;background-color: #ffff;">' +
  122. '<span>' + item.finalRollNo + '</span></th>' +
  123. '<th class="" style="text-align:center;background-color: #ffff;">' +
  124. '<span>' + item.rollQty + '</span></th>' +
  125. '</tr>';
  126. $("#roll_table").append(str);
  127. })
  128. }
  129. if (data.code == 500) {
  130. layer.alert(data.msg);
  131. $("#roll_table").html('')
  132. $('#boxNoView').val('')
  133. $('#boxQty').val('')
  134. $("#rollNo").val('')
  135. $("#orderNo").val('')
  136. $("#itemCode").val('')
  137. }
  138. if (data.code == 401) {
  139. layer.alert('用户身份已过期');
  140. window.location.href = "/login"
  141. }
  142. },
  143. error: function (data) {
  144. }
  145. });
  146. }
  147. // 打开扫描框
  148. function openScanModal() {
  149. $('#scanRollNoModal').modal();
  150. }
  151. // 把卷从箱里拿出来
  152. function removeBoxRoll(rollNo){
  153. layer.confirm( '是否移除该卷', {
  154. btn: ['确定', '取消']
  155. // 按钮
  156. }, function () {
  157. // 移除卷
  158. let roll = {
  159. "finalRollNo": rollNo
  160. }
  161. $.ajax({
  162. url: "/soBoxing/splitBoxRoll",
  163. contentType: 'application/json',
  164. type: "POST",
  165. data: JSON.stringify(roll),
  166. dataType: "json",
  167. beforeSend: function (request) {
  168. request.setRequestHeader("token", $.cookie("token"));
  169. },
  170. success: function (data) {
  171. if (data.code == 0) {
  172. layer.alert("移除卷成功")
  173. $('#scanRollNo').val('')
  174. scannerBoxNoList($('#boxNoView').val())
  175. }
  176. if (data.code == 500) {
  177. layer.alert(data.msg);
  178. }
  179. if (data.code == 401) {
  180. layer.alert('用户身份已过期');
  181. window.location.href = "/login"
  182. }
  183. },
  184. error: function (data) {
  185. }
  186. });
  187. },function () {
  188. })
  189. }
  190. // 移除箱
  191. function removeBox(){
  192. var boxNo = $('#boxNoView').val();
  193. if (!boxNo){
  194. layer.alert('请先获取箱号,可以通过扫描卷号获取')
  195. return
  196. }
  197. layer.confirm( '是否移除该箱', {
  198. btn: ['确定', '取消']
  199. // 按钮
  200. }, ()=> {
  201. let box = {
  202. boxNo: boxNo
  203. }
  204. $.ajax({
  205. url: "/soBoxing/removeBox",
  206. contentType: 'application/json',
  207. type: "POST",
  208. data: JSON.stringify(box),
  209. dataType: "json",
  210. beforeSend: function (request) {
  211. request.setRequestHeader("token", $.cookie("token"));
  212. },
  213. success: function (data) {
  214. if (data.code == 0) {
  215. layer.alert(data.msg);
  216. }
  217. if (data.code == 500) {
  218. layer.alert(data.msg);
  219. }
  220. if (data.code == 401) {
  221. layer.alert('用户身份已过期');
  222. window.location.href = "/login"
  223. }
  224. $("#roll_table").html('')
  225. $('#boxNoView').val('')
  226. $('#boxQty').val('')
  227. $("#rollNo").val('')
  228. },
  229. error: function (data) {
  230. }
  231. });
  232. },()=>{})
  233. }
  234. // 打开装箱模态框
  235. function boxingModal() {
  236. var partNo = $('#itemCode').val()
  237. getCustomerId(partNo)
  238. $('#printFile').modal()
  239. }
  240. // 更具拣配单号 获取 客户编号
  241. function getCustomerId(partNo) {
  242. let picking = {
  243. partNo: partNo
  244. }
  245. $.ajax({
  246. url: "/packing/getCustomerId",
  247. contentType: 'application/json',
  248. type: "POST",
  249. data: JSON.stringify(picking),
  250. dataType: "json",
  251. beforeSend: function (request) {
  252. request.setRequestHeader("token", $.cookie("token"));
  253. },
  254. success: function (data) {
  255. if (data.code == 0) {
  256. getPrintFile(data.customerId)
  257. }
  258. if (data.code == 500) {
  259. layer.alert(data.msg)
  260. }
  261. if (data.code == 401) {
  262. layer.alert('用户身份已过期');
  263. window.location.href = "/login"
  264. }
  265. },
  266. error: function (data) {
  267. }
  268. });
  269. }
  270. // 获取根据客户编号 获取装配打印模板
  271. function getPrintFile(customerId) {
  272. let customer = {
  273. customerId: customerId,
  274. reportFamily: '外箱标签'
  275. }
  276. $.ajax({
  277. url: "/packing/getReportFileListByCustomerId",
  278. contentType: 'application/json',
  279. type: "POST",
  280. data: JSON.stringify(customer),
  281. dataType: "json",
  282. beforeSend: function (request) {
  283. request.setRequestHeader("token", $.cookie("token"));
  284. },
  285. success: function (data) {
  286. if (data.code == 0) {
  287. $('#reoprtId').html('')
  288. let reportList = data.reportFileVos
  289. let reportHtml = ''
  290. reportList.forEach((item, index) => {
  291. reportHtml += '<option label=' + item.reportFileVo + ' value=' + item.reportIdVo + '>' +
  292. '</option>';
  293. })
  294. $('#reoprtId').append(reportHtml)
  295. }
  296. if (data.code == 500) {
  297. layer.alert(data.msg)
  298. }
  299. if (data.code == 401) {
  300. layer.alert('用户身份已过期');
  301. window.location.href = "/login"
  302. }
  303. },
  304. error: function (data) {
  305. }
  306. });
  307. }
  308. // 装箱完成调用打印
  309. function pickingPrint() {
  310. $("#box_print").attr("disabled",true);
  311. var reoprt = $('#reoprtId').val();
  312. var split = reoprt.split(":");
  313. var reportFile = split[2]
  314. var reportId = split[1]
  315. var isCustomer = split[0]
  316. //var reportFile = reoprt.substr(reoprt.indexOf(":")+1)
  317. // var reportId = reoprt.substr(0,reoprt.indexOf(":"))
  318. let reportFileVo = {
  319. reportId: reportId,
  320. reportFile: reportFile,
  321. orderNo: $("#orderNo").val(),
  322. partNo: $('#itemCode').val(),
  323. pickingNumber: $('#boxQty').val(),
  324. isCustomer: isCustomer,
  325. boxNo: $('#boxNoView').val()
  326. }
  327. $.ajax({
  328. url: "/packing/printPacking",
  329. contentType: 'application/json',
  330. type: "POST",
  331. data: JSON.stringify(reportFileVo),
  332. dataType: "json",
  333. beforeSend: function (request) {
  334. request.setRequestHeader("token", $.cookie("token"));
  335. },
  336. success: function (data) {
  337. if (data.code == 0) {
  338. layer.alert(data.msg)
  339. $("#box_close").click();
  340. $("#rollNo").val('');
  341. $("#rollNo").focus();
  342. }
  343. if (data.code == 500) {
  344. layer.alert(data.msg)
  345. }
  346. if (data.code == 401) {
  347. layer.alert('用户身份已过期');
  348. window.location.href = "/login"
  349. }
  350. $("#box_print").attr("disabled",false);
  351. },
  352. error: function (data) {
  353. }
  354. });
  355. }