InventoryFrozen.js 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493
  1. $(function() {
  2. // 非待冻结状态的,全部不可编辑
  3. if(7101<$("#frozenStatus").combobox('getValue')){
  4. $(document).find('input,select,textarea,a,span').attr("disabled","true");
  5. }
  6. $("#detailList").datagrid({});
  7. var detailOperate = 'add';
  8. var $inventoryFrozenId = $("#inventoryFrozenForm").find("input[name='inventoryFrozenId']");
  9. var $detailForm = $('#inventoryFrozenDetailForm');
  10. var $inventoryFrozenForm = $('#inventoryFrozenForm');
  11. /**
  12. * 跳转到明细页面
  13. */
  14. $("#addDetailBtn").bind("click",function() {
  15. if ($inventoryFrozenId.val() == "") {
  16. $.messager.alert("提示", "请先填写基本信息", "error");
  17. } else {
  18. showWindow({
  19. title:'详情明细',
  20. width:750,
  21. height:350,
  22. closed : false,
  23. cache : false,
  24. modal : true,
  25. onOpen:function() {
  26. document.getElementById("addDetailTabs").style.display='block';
  27. $("#inventoryFrozenDetailForm").form('clear');
  28. detailOperate = 'add';
  29. }
  30. });
  31. }
  32. });
  33. // 保存明细的方法
  34. $("#submitDetailBtn").click(function() {
  35. if ($detailForm.form('validate')) {
  36. if(!$detailForm.find('input[name=locationName]').val()){
  37. showMsg('提示', '请获取明细');
  38. return;
  39. }
  40. var postData = {
  41. formData: $.encodeJSON($detailForm.getFormValue()),
  42. updateFields : JSON.stringify($.InventoryFrozenDetailEdit.changeList),
  43. inventoryFrozenId : $("input[name='inventoryFrozenId']").val(),
  44. locationContainerId:$("input[name='id']").val(),
  45. accountId:$("input[name='accountId']").val(),
  46. usableQuantity:$("input[name='usableQuantity']").val(),
  47. operate : detailOperate,
  48. id : ""
  49. };
  50. //判断解冻数量是否小于或者等于冻结数量
  51. var usableQuantity=$("input[name='usableQuantity']").val();
  52. var frozenQuantity= $("input[name='frozenQuantity']").val();
  53. if(frozenQuantity==""){
  54. showMsg('提示', '冻结已完成,不允许编辑信息');
  55. }else{
  56. if(parseInt(usableQuantity)>=parseInt(frozenQuantity)){
  57. ajaxRequest(WEBROOT + '/InventoryFrozen/doSaveDetail.action', postData, function(response) {
  58. if (response.code == "success") {// succeed
  59. showMsg('提示', '保存成功');
  60. /**
  61. * 明细列表的展示
  62. */
  63. $("#detailList").datagrid({
  64. width : '90%',
  65. checkOnSelect:true,
  66. nowrap : false,
  67. striped : true,
  68. collapsible : false,
  69. fitColumns : false,
  70. pagination : true,
  71. pageSize : 5,
  72. idField : 'id',
  73. url : WEBROOT + '/InventoryFrozen/showDetailList.action',
  74. queryParams : {
  75. inventoryFrozenId: $("input[name='inventoryFrozenId']").val()
  76. },
  77. remoteSort : true,
  78. rownumbers : true,
  79. pageList : [ 5, 10, 20, 30, 50, 100 ],
  80. onDblClickRow : function(index,rowdata){
  81. if($inventoryFrozenId.val() == "") {
  82. $.messager.alert("提示", "请先保存基本信息", "error");
  83. } else {
  84. showWindow({
  85. title:'详细明细',
  86. width:950,
  87. height:400,
  88. onOpen:function() {
  89. ajaxRequest(WEBROOT + "/InventoryFrozen/showDetailEdit.action", {id : rowdata.id}, function(data) {
  90. $.InventoryFrozenDetailEdit.fillData(data);
  91. if(null != data.snList){
  92. document.getElementById("snList").innerText=data.snList;
  93. }
  94. detailOperate = 'edit';
  95. });
  96. /**
  97. * 处理明细页面的展示(当双击冻结明细时,要带出冻结明细下对应的处理明细)
  98. */
  99. // 查询处理明细的URL
  100. var handleDetailSearchUrl = WEBROOT + '/InventoryFrozen/doSearchHandleDetail.action';
  101. // 查询处理明细的参数
  102. var queryHandleParams = {
  103. inventoryFrozenId : rowdata.id
  104. };
  105. $("#handeleDetailList").datagrid({
  106. width : '90%',
  107. nowrap : false,
  108. striped : true,
  109. collapsible : false,
  110. fitColumns : true,
  111. pagination : true,
  112. pageSize : 5,
  113. idField : 'id',
  114. url : handleDetailSearchUrl,
  115. queryParams : queryHandleParams,
  116. remoteSort : true,
  117. rownumbers : true,
  118. pageList : [ 5, 10, 20, 30, 50, 100 ],
  119. onDblClickRow : function(index,rowdata){
  120. $('#finalDealHandeleDetail').window({
  121. title : '处理明细信息',
  122. width : 500,
  123. height : 150,
  124. closed : false,
  125. cache : false,
  126. modal : true,
  127. onOpen:function() {
  128. $('#finalDealHandeleDetail').find('input[name=id]').val(rowdata.id);
  129. $('#finalDealHandeleDetail').find('input[name=itemCode]').val(rowdata.itemCode);
  130. $('#finalDealHandeleDetail').find('input[name=itemName]').val(rowdata.itemName);
  131. $('#finalDealHandeleDetail').find('input[name=frozenQuantity]').val(rowdata.frozenQuantity);
  132. $('#finalDealHandeleDetail').find('input[name=newLocationName]').val(rowdata.toLocationName);
  133. $("#finalDealHandeleDetail").find("input[name=operate]").val('edit');
  134. }
  135. });
  136. }
  137. });
  138. }
  139. });
  140. }
  141. }
  142. });
  143. } else {
  144. var errorDesc = response.errorDesc;
  145. showMsg('保存失败', errorDesc);
  146. };
  147. });
  148. // 关闭窗口前,回复明细的操作符为新增
  149. detailOperate = 'add';
  150. closeWindow();
  151. }else{
  152. showMsg('提示','冻结数量不能大于可用数量');
  153. }
  154. }
  155. }
  156. });
  157. // 删除明细的方法
  158. $("#removeDetailBtn").click(function() {
  159. var rows = $("#detailList").datagrid('getSelections');
  160. var ids = [];
  161. for ( var i = 0; i < rows.length; i++) {
  162. if (rows[i].id) {
  163. ids.push(rows[i].id);
  164. }
  165. }
  166. if (ids.length > 0) {
  167. $.messager.confirm('提示', '共选择:' + ids.length + '条记录,确定要删除吗?',
  168. function(result) {
  169. if (result) {
  170. ajaxRequest(WEBROOT + "/InventoryFrozen/doDeleteDetail.action", {
  171. ids : $.encodeJSON(ids)
  172. }, function(data) {
  173. rows.length=0;
  174. $("#detailList").datagrid('reload');
  175. var errorDesc = data.errorDesc;
  176. showMsg('提示', errorDesc);
  177. });
  178. }
  179. });
  180. } else {
  181. $.messager.alert("提示", "请选择要删除的行", "error");
  182. }
  183. });
  184. /**
  185. * 明细列表的展示
  186. */
  187. $("#detailList").datagrid({
  188. width : '90%',
  189. checkOnSelect:true,
  190. nowrap : true,
  191. striped : true,
  192. collapsible : false,
  193. fitColumns : false,
  194. pagination : true,
  195. pageSize : 5,
  196. idField : 'id',
  197. url : WEBROOT + '/InventoryFrozen/showDetailList.action',
  198. queryParams : {inventoryFrozenId: $inventoryFrozenId.val()},
  199. remoteSort : true,
  200. rownumbers : true,
  201. pageList : [ 5, 10, 20, 30, 50, 100 ],
  202. onDblClickRow : function(index,rowdata){
  203. document.getElementById("addDetailTabs").style.display="";
  204. if($inventoryFrozenId.val() == "") {
  205. $.messager.alert("提示", "请先保存基本信息", "error");
  206. } else {
  207. showWindow({
  208. title:'详细明细',
  209. width:950,
  210. height:400,
  211. onOpen:function() {
  212. ajaxRequest(WEBROOT + "/InventoryFrozen/showDetailEdit.action", {id : rowdata.id}, function(data) {
  213. $.InventoryFrozenDetailEdit.fillData(data);
  214. if(null != data.snList){
  215. document.getElementById("snList").innerText=data.snList;
  216. }
  217. detailOperate = 'edit';
  218. });
  219. /**
  220. * 处理明细页面的展示(当双击冻结明细时,要带出冻结明细下对应的处理明细)
  221. */
  222. // 查询处理明细的URL
  223. var handleDetailSearchUrl = WEBROOT + '/InventoryFrozen/doSearchHandleDetail.action';
  224. // 查询处理明细的参数
  225. var queryHandleParams = {
  226. inventoryFrozenId : rowdata.id
  227. };
  228. $("#handeleDetailList").datagrid({
  229. width : '90%',
  230. nowrap : false,
  231. striped : true,
  232. collapsible : false,
  233. fitColumns : true,
  234. pagination : true,
  235. pageSize : 5,
  236. idField : 'id',
  237. url : handleDetailSearchUrl,
  238. queryParams : queryHandleParams,
  239. remoteSort : true,
  240. rownumbers : true,
  241. pageList : [ 5, 10, 20, 30, 50, 100 ],
  242. onDblClickRow : function(index,rowdata){
  243. $('#finalDealHandeleDetail').window({
  244. title : '处理明细信息',
  245. width : 500,
  246. height : 150,
  247. closed : false,
  248. cache : false,
  249. modal : true,
  250. onOpen:function() {
  251. $('#finalDealHandeleDetail').find('input[name=id]').val(rowdata.id);
  252. $('#finalDealHandeleDetail').find('input[name=itemCode]').val(rowdata.itemCode);
  253. $('#finalDealHandeleDetail').find('input[name=itemName]').val(rowdata.itemName);
  254. $('#finalDealHandeleDetail').find('input[name=frozenQuantity]').val(rowdata.frozenQuantity);
  255. $('#finalDealHandeleDetail').find('input[name=newLocationName]').val(rowdata.toLocationName);
  256. $("#finalDealHandeleDetail").find("input[name=operate]").val('edit');
  257. }
  258. });
  259. }
  260. });
  261. }
  262. });
  263. }
  264. }
  265. });
  266. /**
  267. * 弹出处理明细页面
  268. */
  269. $("#addHandeleDetailBtn").bind("click",function() {
  270. $('#addHandleDetail').window({
  271. title : '处理明细',
  272. width : 1150,
  273. height : 350,
  274. closed : false,
  275. cache : false,
  276. modal : true
  277. });
  278. /* 点击处理明细新增页面时,默认查询数据*/
  279. // 查询库存明细的URL
  280. var locationContainerSearchUrl = WEBROOT + '/InventoryFrozen/doSearchLocationContainer.action';
  281. // 查询库存明细的参数
  282. var queryParams = {
  283. warehouseId : $inventoryFrozenForm.find("input[name='warehouseId']").val(),
  284. customerId : $inventoryFrozenForm.find("input[name=customerId]").val(),
  285. locationName : $("#locationContainerSearchForm").find("input[name=queryLocationName]").val(),
  286. itemName : $("#locationContainerSearchForm").find("input[name=queryItemName]").val(),
  287. normalFlag : $("#locationContainerSearchForm").find("input[name=normalFlag]").val()
  288. };
  289. $("#locationContainerList").datagrid({
  290. width : '100%',
  291. nowrap : false,
  292. striped : true,
  293. collapsible : false,
  294. fitColumns : true,
  295. pagination : true,
  296. singleSelect : true,
  297. pageSize : 5,
  298. idField : 'id',
  299. url : locationContainerSearchUrl,
  300. queryParams : queryParams,
  301. remoteSort : true,
  302. rownumbers : true,
  303. pageList : [ 5, 10, 20, 30, 50, 100 ]
  304. });
  305. });
  306. // 处理明细的按钮查询事件
  307. $("#locationContainerSearch").bind("click",function() {
  308. $("#locationContainerList").datagrid('load', {
  309. locationName : $("#locationContainerSearchForm").find("input[name=queryLocationName]").val(),
  310. itemName : $("#locationContainerSearchForm").find("input[name=queryItemName]").val(),
  311. normalFlag : $("#locationContainerSearchForm").find("input[name=normalFlag]").val(),
  312. warehouseId : $inventoryFrozenForm.find("input[name='warehouseId']").val(),
  313. customerId : $inventoryFrozenForm.find("input[name=customerId]").val()
  314. });
  315. });
  316. // 查询库存明细的URL
  317. var locationContainerSearchUrl = WEBROOT + '/InventoryFrozen/doSearchLocationContainer.action';
  318. locationContainerSearchUrl = locationContainerSearchUrl.format('LocationContainer');
  319. //最后弹出窗口输入数量和新储位
  320. $("#submitHandeleDetailBtn").bind("click",function() {
  321. var rows = $("#locationContainerList").datagrid('getSelections');
  322. var ids = [];
  323. for ( var i = 0; i < rows.length; i++) {
  324. if (rows[i].id) {
  325. ids.push(rows[i].id);
  326. }
  327. }
  328. if (ids.length != 1) {
  329. $.messager.alert("提示", "请选择一条具体明细", "error");
  330. }else{
  331. $('#addHandleDetail').window('close');
  332. $('#inventoryFrozenDetailForm').form('load',{
  333. locationContainerId:rows[0].id,
  334. quantity:rows[0].usableQuantity,
  335. locationId:rows[0].locationId,
  336. locationName:rows[0].locationName,
  337. frozoneQuantity:rows[0].frozoneQuantity,
  338. usableQuantity:rows[0].usableQuantity,
  339. unfrozenQuantity:rows[0].unfrozenQuantity,
  340. id:rows[0].id,
  341. accoutId:rows[0].accoutId,
  342. itemId:rows[0].itemId,
  343. itemName:rows[0].itemName,
  344. itemCode:rows[0].itemCode,
  345. customerId:rows[0].customerId,
  346. customerCode:rows[0].customerCode,
  347. customerName:rows[0].customerName,
  348. zoneId:rows[0].zoneId,
  349. zoneName:rows[0].zoneName,
  350. relationedCustomerId:rows[0].relationedCustomerId,
  351. relationedCustomerCode:rows[0].relationedCustomerCode,
  352. relationedCustomerName:rows[0].relationedCustomerName,
  353. warehouseId:rows[0].warehouseId,
  354. warehouseName:rows[0].warehouseName,
  355. produceDate:rows[0].produceDate,
  356. lotNumber:rows[0].lotNumber,
  357. normalFlag:rows[0].normalFlag
  358. });
  359. }
  360. });
  361. // 删除处理明细的方法
  362. $("#removeHandleDetailBtn").click(function() {
  363. var rows = $("#handeleDetailList").datagrid('getSelections');
  364. var ids = [];
  365. for ( var i = 0; i < rows.length; i++) {
  366. if (rows[i].id) {
  367. ids.push(rows[i].id);
  368. }
  369. }
  370. if (ids.length > 0) {
  371. $.messager.confirm('提示', '共选择:' + ids.length + '条记录,确定要删除吗?',
  372. function(result) {
  373. if (result) {
  374. ajaxRequest(WEBROOT + "/InventoryLocationMove/doDeleteHandleDetail.action", {
  375. ids : $.encodeJSON(ids)
  376. }, function(data) {
  377. $("#handeleDetailList").datagrid('reload');
  378. showMsg('提示', '删除成功');
  379. });
  380. }
  381. });
  382. } else {
  383. $.messager.alert("提示", "请选择要删除的行", "error");
  384. }
  385. });
  386. //完成冻结
  387. $('#finishInventoryFrozenBtn').bind('click',function(){
  388. if('0' == $("#detailList").datagrid('getRows').length){
  389. $.messager.alert("提示", "没有任何明细", "error");
  390. }else{
  391. $(this).attr("disabled",true);
  392. ajaxRequest(WEBROOT + "/InventoryFrozen/completeInventoryFrozen.action", {
  393. id : $inventoryFrozenId.val()
  394. }, function(data) {
  395. if('fail' == data['code']){
  396. msg = data['errorDesc'];
  397. $('#completeInventoryFrozenBtn').attr("disabled",false);
  398. showMsg('提示', data.errorDesc);
  399. }else{
  400. $("#frozenStatus").combobox('setValue', '7102');
  401. $(document).find('input,select,textarea,a,span').attr("disabled","true");
  402. showMsg('提示', '冻结成功');
  403. $inventoryFrozenForm.form('load',{
  404. frozenBy : data.data.frozenBy,
  405. frozenTime : data.data.frozenTime
  406. });
  407. }
  408. });
  409. }
  410. });
  411. // 保存明细的方法
  412. $("#submitDetailBtnIMEI").click(function() {
  413. if ($("#inventoryFrozenDetailFormsn").form('validate')) {
  414. var postData = {
  415. formData: $.encodeJSON($("#inventoryFrozenDetailFormsn").getFormValue()),
  416. updateFields : JSON.stringify($.InventoryFrozenDetailEdit.changeList),
  417. inventoryFrozenId : $("input[name='inventoryFrozenId']").val(),
  418. scanType:$("input[name='scanType']").val(),
  419. operate : detailOperate,
  420. id : $("#inventoryFrozenDetailForm").find("input[name=id]").val()
  421. };
  422. ajaxRequest(WEBROOT + '/InventoryFrozen/doSaveDetail.action', postData, function(response) {
  423. if (response.code == "success") {// succeed
  424. showMsg('提示', '保存成功');
  425. /**
  426. * 明细列表的展示
  427. */
  428. $("#detailList").datagrid({
  429. width : '90%',
  430. checkOnSelect:true,
  431. nowrap : true,
  432. striped : true,
  433. collapsible : false,
  434. fitColumns : false,
  435. pagination : true,
  436. pageSize : 5,
  437. idField : 'id',
  438. url : WEBROOT + '/InventoryFrozen/showDetailList.action',
  439. queryParams : {
  440. inventoryFrozenId: $("input[name='inventoryFrozenId']").val()
  441. },
  442. remoteSort : true,
  443. rownumbers : true,
  444. pageList : [ 5, 10, 20, 30, 50, 100 ]
  445. });
  446. } else {
  447. var errorDesc = response.errorDesc;
  448. showMsg('保存失败', errorDesc);
  449. };
  450. });
  451. // 关闭窗口前,回复明细的操作符为新增
  452. detailOperate = 'add';
  453. closeWindow();
  454. }
  455. });
  456. });