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.

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