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.

333 lines
12 KiB

8 months ago
  1. var userId = $("#current_id").val();
  2. var userName = $("#current_username").val();
  3. var site = $("#current_site").val();
  4. var toolDetailList = new Array();
  5. var locationDate;
  6. //页面初始化
  7. $(function () {
  8. // 初始化录入时间
  9. InitStorageTime();
  10. // 初始化供应商
  11. initSupplier();
  12. // 初始化光标
  13. $("#tool_detail").focus();
  14. });
  15. //初始化供应商信息
  16. function initSupplier() {
  17. var jsonData = {
  18. site: site,
  19. }
  20. $.ajax({
  21. url: "/toolPda/getSupplierList",
  22. contentType: 'application/json',
  23. type: "POST",
  24. data: JSON.stringify(jsonData),//你的formid
  25. dataType: "JSON",
  26. beforeSend: function (request) {
  27. request.setRequestHeader("token", $.cookie("token"));
  28. },
  29. success: function (data) {
  30. if (data.code == 0) {
  31. var rows = data.rows;
  32. var str = '<option value= "" style="height:24px;font-size :12px;">' + "请选择供应商" + '</option>';
  33. for (var i = 0; i < rows.length; i++) {
  34. str += '<option value="' + rows[i].supplierid + '" style="height:24px;font-size :12px;">' + rows[i].suppliername + '</option>';
  35. }
  36. supplierData = rows;
  37. $("#supplier_id").html(str);
  38. } else if (data.code == '401') {
  39. window.location.href = "/login";
  40. }
  41. },
  42. error: function (data) {
  43. var responseText = data.responseText;
  44. var json_str = JSON.parse(responseText);
  45. var status = json_str.status;
  46. var message = json_str.message;
  47. //判断是否是session超时
  48. if (403 == status) {
  49. layer.alert(message, function () {
  50. window.location.href = "/login";
  51. });
  52. }
  53. layer.closeAll('loading');
  54. }
  55. })
  56. }
  57. // 初始化入库日期
  58. function InitStorageTime() {
  59. var data = getNowFormatDate();
  60. data = data.substring(0, 10);
  61. $("#storage_time").val(data);
  62. }
  63. //为工具实例条码绑定一个失去焦点事件
  64. $("#tool_detail").bind("keydown", function (event) {
  65. if (event.keyCode == 13) {
  66. var toolInstanceId = $(this).val();
  67. if (toolInstanceId == null || toolInstanceId == "") {
  68. layer.msg("请输入正确的实例编码!");
  69. $(this).val("");
  70. $(this).focus();
  71. } else {
  72. getToolInstanceData(toolInstanceId);
  73. }
  74. }
  75. });
  76. //为工具实例条码绑定一个失去焦点事件
  77. $("#locationId").bind("keydown", function (event) {
  78. if (event.keyCode == 13) {
  79. var locationId = $(this).val();
  80. if (locationId == null || locationId == "") {
  81. layer.msg("请输入正确的库位编码!");
  82. $(this).val("");
  83. $(this).focus();
  84. } else {
  85. getLocation(locationId);
  86. }
  87. }
  88. });
  89. // 供应商编码
  90. let supplierId = ''
  91. // 获取获取工具实例编码
  92. function getToolInstanceData(toolInstanceId) {
  93. $("#tool_detail").val("");
  94. var jsonData = {
  95. site: site,
  96. toolInstanceId: toolInstanceId,
  97. }
  98. $.ajax({
  99. url: "/toolPda/getToolDetail",
  100. contentType: 'application/json',
  101. type: "POST",
  102. data: JSON.stringify(jsonData),//你的formid
  103. dataType: "JSON",
  104. async: false,
  105. beforeSend: function (request) {
  106. request.setRequestHeader("token", $.cookie("token"));
  107. },
  108. success: function (data) {
  109. var row = data.row;
  110. if (row != null && row != "") {
  111. if (row.status != "已投用" ) {
  112. layer.msg("该工具状态错误!");
  113. return false;
  114. }
  115. if ( row.statusRef != "" && row.statusRef != null){
  116. layer.msg("该工具不可维修!");
  117. return false;
  118. }
  119. for (let i = 0; i < toolDetailList.length; i++) {
  120. if (toolDetailList[i].toolInstanceId == row.toolInstanceId) {
  121. layer.msg("已有该工具记录!");
  122. $("#tool_detail").focus();
  123. return;
  124. }
  125. }
  126. if ( supplierId == '' ){
  127. supplierId = row.supplierId
  128. $('#supplier_id').val(supplierId)
  129. toolDetailList.push(row);
  130. var str = '<tr id = ' + row.toolInstanceId + '>' +
  131. '<th class="" style="text-align:center;background-color: #ffff;">' +
  132. '<span>' + row.toolInstanceId + '</span></th>' +
  133. '<th class="" style="text-align:center;background-color: #ffff;">' +
  134. '<span>' + row.toolDescription + '</span></th>' +
  135. '<th class="" style="text-align:center;background-color: #ffff;">' +
  136. '<span>' + row.locationId + '</span></th>' +
  137. '<th class="" style="text-align:center;background-color: #ffff;">' +
  138. '<button data-toggle="modal" onclick="remove(\'' + row.toolInstanceId + '\')" style="padding: 3px 10px;">' +
  139. '删除</button>' +
  140. '</tr>';
  141. $("#dateil_table").append(str);
  142. $("#tool_detail").focus();
  143. }else {
  144. if (supplierId !=row.supplierId ){
  145. layer.confirm('本次扫描的工具供应商于上次扫描不一致是否继续?', {
  146. btn: ['确认', '取消']
  147. // 按钮
  148. }, function () {
  149. toolDetailList.push(row);
  150. var str = '<tr id = ' + row.toolInstanceId + '>' +
  151. '<th class="" style="text-align:center;background-color: #ffff;">' +
  152. '<span>' + row.toolInstanceId + '</span></th>' +
  153. '<th class="" style="text-align:center;background-color: #ffff;">' +
  154. '<span>' + row.toolDescription + '</span></th>' +
  155. '<th class="" style="text-align:center;background-color: #ffff;">' +
  156. '<span>' + row.locationId + '</span></th>' +
  157. '<th class="" style="text-align:center;background-color: #ffff;">' +
  158. '<button data-toggle="modal" onclick="remove(\'' + row.toolInstanceId + '\')" style="padding: 3px 10px;">' +
  159. '删除</button>' +
  160. '</tr>';
  161. $("#dateil_table").append(str);
  162. $("#tool_detail").focus();
  163. layer.closeAll('dialog');
  164. }, function () {
  165. $("#tool_detail").focus();
  166. $("#tool_detail").val('');
  167. layer.closeAll('dialog');
  168. });
  169. }else {
  170. toolDetailList.push(row);
  171. var str = '<tr id = ' + row.toolInstanceId + '>' +
  172. '<th class="" style="text-align:center;background-color: #ffff;">' +
  173. '<span>' + row.toolInstanceId + '</span></th>' +
  174. '<th class="" style="text-align:center;background-color: #ffff;">' +
  175. '<span>' + row.toolDescription + '</span></th>' +
  176. '<th class="" style="text-align:center;background-color: #ffff;">' +
  177. '<span>' + row.locationId + '</span></th>' +
  178. '<th class="" style="text-align:center;background-color: #ffff;">' +
  179. '<button data-toggle="modal" onclick="remove(\'' + row.toolInstanceId + '\')" style="padding: 3px 10px;">' +
  180. '删除</button>' +
  181. '</tr>';
  182. $("#dateil_table").append(str);
  183. $("#tool_detail").focus();
  184. }
  185. }
  186. } else {
  187. layer.msg("没有该工具记录!");
  188. }
  189. },
  190. error: function (data) {
  191. var responseText = data.responseText;
  192. var json_str = JSON.parse(responseText);
  193. var status = json_str.status;
  194. var message = json_str.message;
  195. //判断是否是session超时
  196. if (403 == status) {
  197. layer.alert(message, function () {
  198. window.location.href = "/login";
  199. });
  200. }
  201. layer.closeAll('loading');
  202. }
  203. })
  204. }
  205. //删除
  206. function remove(toolInstanceId) {
  207. for (var i = 0; i < toolDetailList.length; i++) {
  208. if (toolDetailList[i].toolInstanceId == toolInstanceId) {
  209. toolDatailRemo(toolDetailList[i].toolInstanceId);
  210. toolDetailList.splice(i, 1);
  211. layer.msg("移除成功!");
  212. $("#tool_detail").val("");
  213. $("#tool_detail").focus();
  214. return false;
  215. }
  216. }
  217. layer.msg("没有该工具记录!");
  218. $("#tool_detail").val("");
  219. }
  220. // 移除工具实例编码
  221. function toolDatailRemo(toolInstanceId) {
  222. $table = $("#dateil_table tr");
  223. $("tr[id='" + toolInstanceId + "']").remove();
  224. }
  225. //新增库位信息
  226. function updateToolDetail() {
  227. $("#saveDetail").attr('disabled', true);
  228. let remark = $('#remark').val()
  229. if (toolDetailList.length == 0) {
  230. layer.msg("请输入实例编码!");
  231. $("#saveDetail").attr('disabled', false);
  232. return;
  233. }
  234. var suppilerId = $("#supplier_id").val();
  235. if (suppilerId == null || suppilerId == "") {
  236. layer.msg("请选择供应商!");
  237. $("#saveDetail").attr('disabled', false);
  238. return;
  239. }
  240. if (suppilerId == null || suppilerId == "") {
  241. layer.msg("请选择供应商!");
  242. $("#saveDetail").attr('disabled', false);
  243. return;
  244. }
  245. if (!remark) {
  246. layer.msg("请输入备注!");
  247. $("#saveDetail").attr('disabled', false);
  248. return
  249. }
  250. suppilerId = suppilerId.toUpperCase();
  251. var alreadyList = new Array;
  252. for (var i = 0; i < toolDetailList.length; i++) {
  253. jsonData = {
  254. toolId: toolDetailList[i].toolId,
  255. site: toolDetailList[i].site,
  256. toolInstanceId: toolDetailList[i].toolInstanceId,
  257. locationId: toolDetailList[i].locationId.toUpperCase(),
  258. supplierId: suppilerId,
  259. transNoHead: 'TW',
  260. transType: '工具维修',
  261. transTypeDb: 'W',
  262. direction: "-",
  263. userName: userName,
  264. status: "出库",
  265. statusRef: "维修出库",
  266. remark: remark
  267. };
  268. alreadyList.push(jsonData);
  269. }
  270. $.ajax({
  271. url: "/toolPda/updateToolDetail",
  272. contentType: 'application/json',
  273. type: "POST",
  274. data: JSON.stringify(alreadyList),
  275. dataType: "JSON",
  276. beforeSend: function (request) {
  277. request.setRequestHeader("token", $.cookie("token"));
  278. },
  279. success: function (data) {
  280. if (data.code == 0) {
  281. layer.msg(data.msg);
  282. toolDetailList = new Array;
  283. $("#dateil_table").html("");
  284. $("#tool_detail").val("");
  285. $('#remark').val("")
  286. //触发隐藏
  287. $("#location_modal").modal("hide");
  288. } else if (data.code == 401) {
  289. window.location.href = "/login";
  290. } else {
  291. layer.msg(data.msg);
  292. }
  293. },
  294. error: function (data) {
  295. var responseText = data.responseText;
  296. var json_str = JSON.parse(responseText);
  297. var status = json_str.status;
  298. var message = json_str.message;
  299. //判断是否是session超时
  300. if (403 == status) {
  301. layer.alert(message, function () {
  302. window.location.href = "/login";
  303. });
  304. }
  305. layer.closeAll('loading');
  306. }
  307. })
  308. }
  309. //清除前台缓存
  310. function cleanData() {
  311. toolDatail = new Array;
  312. warehouseData = new Array;
  313. $("#dateil_table").html("");
  314. }