bills_lib_ajax.js 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633
  1. /**
  2. * Created by vian on 2017/3/27.
  3. */
  4. /**
  5. * 设置全局的AJAX请求默认选项
  6. * 主要设置了AJAX请求遇到Session过期的情况
  7. */
  8. $.ajaxSetup({
  9. complete: function (data) {
  10. console.log(data);
  11. if (data.responseJSON&&data.responseJSON.ret_code && data.responseJSON.ret_code == 99) {
  12. alert(data.responseJSON.ret_msg);
  13. var top = getTopWindow();
  14. setTimeout('top.location.href = "/login";', 300);
  15. }
  16. }
  17. });
  18. /**
  19. * 在页面中任何嵌套层次的窗口中获取顶层窗口
  20. * @return 当前页面的顶层窗口对象
  21. */
  22. function getTopWindow() {
  23. var p = window;
  24. while (p != p.parent) {
  25. p = p.parent;
  26. }
  27. return p;
  28. }
  29. var mainAjax = {
  30. //获取编办
  31. getCompilationList: function () {
  32. $.ajax({
  33. type: 'post',
  34. url: 'stdBillsEditor/getCompilationList',
  35. dataType: 'json',
  36. success: function (result) {
  37. //addoptions
  38. for(let i = 0; i < result.data.length; i++){
  39. let $option = $("<option >"+ result.data[i].name +"</option>");
  40. $option.val( result.data[i]._id);
  41. $('#compilationSels').append($option);
  42. }
  43. $('#compilationSels').on("change", function () {
  44. });
  45. }
  46. });
  47. },
  48. getMaxNumber: function(billsLibId, field, callback){
  49. $.ajax({
  50. type: 'post',
  51. url: 'stdBillsEditor/getMaxNumber',
  52. data: {data: JSON.stringify({billsLibId: billsLibId, field: field})},
  53. dataType: 'json',
  54. success: function(result){
  55. if(!result.error){
  56. if(callback){
  57. callback(result.data);
  58. }
  59. }
  60. }
  61. });
  62. },
  63. getABillsLib: function(billsLibId, callback){
  64. $.ajax({
  65. type: 'post',
  66. url: '/stdBillsEditor/getABillsLib',
  67. data: {data: JSON.stringify({billsLibId: billsLibId})},
  68. dataType: 'json',
  69. success: function(result){
  70. if(!result.error){
  71. if(callback){
  72. callback(result.data);
  73. }
  74. }
  75. }
  76. });
  77. },
  78. getStdBillsLib: function(){
  79. $.ajax({
  80. type: "post",
  81. url: "/stdBillsEditor/getStdBillsLib",
  82. dataType: "json",
  83. success: function(result){
  84. if(result.data){
  85. for(var i=0; i<result.data.length; i++){
  86. var id = result.data[i].billsLibId;
  87. var billsLibName = result.data[i].billsLibName;
  88. var createDate = result.data[i].createDate;
  89. var createDateFmt = new Date(createDate).format("yyyy-MM-dd");
  90. let compilationName = result.data[i].compilationName;
  91. $("#showArea").append(
  92. "<tr id='tempId'>" +
  93. "<td><a href='stdBills'>"+billsLibName+"</a></td>" +
  94. "<td>"+compilationName+" </td>" +
  95. "<td>"+createDateFmt+" </td>" +
  96. "<td><a href='javascript:void(0);' data-toggle='modal' data-target='#edit' title='编辑'>" +
  97. "<i class='fa fa-pencil-square-o'></i></a> <a href='javascript:void(0);' data-toggle='modal' data-target='#del' class='text-danger' title='删除'>" +
  98. "<i class='fa fa-remove'></i></a></td></tr>");
  99. var newHref = "stdBills?billsLibId="+id;
  100. $("#tempId td:first a").attr("href", newHref);
  101. $("#tempId").attr("id", id);
  102. }
  103. }
  104. }
  105. });
  106. },
  107. createStdBillsLib: function(userAccount, billsLibName, compilationId, compilationName){
  108. $.ajax({
  109. type: "POST",
  110. url: "/stdBillsEditor/createStdBillsLib",
  111. data: {data: JSON.stringify({userAccount: userAccount, name: billsLibName, compilationId: compilationId, compilationName: compilationName}) },
  112. dataType: "json",
  113. success: function(result){
  114. if(!result.error){
  115. var id = result.data[0].billsLibId;
  116. var createDate = result.data[0].createDate;
  117. var createDateFmt = new Date(createDate).format("yyyy-MM-dd");
  118. $("#showArea").append(
  119. "<tr id='tempId'><td><a href='stdBills'>"+billsLibName+"</a></td><td>"+ compilationName+"</td><td>"+createDateFmt+" </td><td><a href='javascript:void(0);' data-toggle='modal' data-target='#edit' title='编辑'>" +
  120. "<i class='fa fa-pencil-square-o'></i></a> <a href='javascript:void(0);' data-toggle='modal' data-target='#del' class='text-danger' title='删除'>" +
  121. "<i class='fa fa-remove'></i></a></td></tr>"
  122. );
  123. var newHref = "stdBills?billsLibId="+id;
  124. $("#tempId td:first a").attr("href", newHref);
  125. $("#tempId").attr("id", id);
  126. $('#cancelBtn').click();
  127. }
  128. }
  129. });
  130. },
  131. deleteStdBillsLib: function(lastOperator, billsLibId){
  132. $.ajax({
  133. type: "POST",
  134. url: "/stdBillsEditor/deleteStdBillsLib",
  135. data: {data: JSON.stringify({lastOperator: lastOperator, billsLibId: billsLibId})},
  136. dataType: "json",
  137. success: function(result){
  138. if(!result.error){
  139. var jqSel = "#"+billsLibId;
  140. $(jqSel).remove();
  141. $('#del').modal('hide');
  142. }
  143. }
  144. });
  145. },
  146. renameStdBillsLib: function(lastOperator, billsLibId, newName){
  147. $.ajax({
  148. type: "post",
  149. url: "/stdBillsEditor/renameStdbillsLib",
  150. data: {data: JSON.stringify({lastOperator: lastOperator, id: billsLibId, value: newName})},
  151. dataType: "json",
  152. success: function(result){
  153. if(!result.error){
  154. var jqSel = "#" + billsLibId + " td:first" + " a";
  155. $(jqSel).text(newName);
  156. }
  157. }
  158. });
  159. },
  160. getCurrentUniqId: function (callback) {
  161. $.ajax({
  162. type: 'post',
  163. url: 'stdBillsEditor/getCurrentUniqId',
  164. dataType: 'json',
  165. success: function(result){
  166. if(!result.error && callback){
  167. callback(result.data);
  168. }
  169. }
  170. });
  171. }
  172. }
  173. var billsAjax = {
  174. getStdBillsLibName: function(billsLibId) {
  175. $.ajax({
  176. type: "post",
  177. url: "/stdBillsEditor/getStdBillsLibName",
  178. data: {data: JSON.stringify({billsLibId: billsLibId})},
  179. success: function(result){
  180. if(!result.error){
  181. $(".navbar-text").append(
  182. "<a href='stdBillsmain'>清单规则</a><i class='fa fa-angle-right fa-fw'></i>"+result.data[0].billsLibName
  183. );
  184. }
  185. }
  186. });
  187. },
  188. getBills: function(billsLibId, callback){
  189. $.ajax({
  190. type: "post",
  191. url: "/stdBillsEditor/getBills",
  192. data: {data: JSON.stringify({billsLibId: billsLibId})},
  193. dataType: "json",
  194. success: function(result){
  195. if(!result.error){
  196. if(callback) {
  197. callback(result.data);
  198. }
  199. }
  200. }
  201. });
  202. },
  203. createBills: function(lastOperator, billsLibId, newId, pid, nid, updatePreData, sectionInfo, callback){
  204. $.ajax({
  205. type: 'post',
  206. url: 'stdBillsEditor/createBills',
  207. data: {data: JSON.stringify({lastOperator: lastOperator, billsLibId: billsLibId, newId: newId, ParentID: pid, NextSiblingID: nid, updatePreData: updatePreData, sectionInfo: sectionInfo})},
  208. dataType: 'json',
  209. success: function(result){
  210. if(!result.error){
  211. if(callback){
  212. callback();
  213. }
  214. }
  215. }
  216. });
  217. },
  218. upMove: function(lastOperator, billsLibId, updateDatas, callback){
  219. $.ajax({
  220. type: 'post',
  221. url: 'stdBillsEditor/upMove',
  222. data: {data: JSON.stringify({lastOperator: lastOperator, billsLibId: billsLibId, updateDatas: updateDatas})},
  223. dataType: 'json',
  224. success: function(result){
  225. if(!result.error && callback){
  226. callback();
  227. }
  228. }
  229. });
  230. },
  231. downMove: function (lastOperator, billsLibId, updateDatas, callback) {
  232. $.ajax({
  233. type: 'post',
  234. url: 'stdBillsEditor/downMove',
  235. data: {data: JSON.stringify({lastOperator: lastOperator, billsLibId: billsLibId, updateDatas: updateDatas})},
  236. dataType: 'json',
  237. success: function(result){
  238. if(!result.error && callback){
  239. callback();
  240. }
  241. }
  242. })
  243. },
  244. updatePNId: function(billsLibId, updateData, callback){
  245. $.ajax({
  246. type: 'post',
  247. url: 'stdBillsEditor/updatePNId',
  248. data: {data: JSON.stringify({billsLibId: billsLibId, updateData: updateData})},
  249. dataType: 'json',
  250. success: function(result){
  251. console.log(`entersFuc`);
  252. if(!result.error && callback){
  253. console.log(`enterSc`);
  254. callback();
  255. }
  256. else {
  257. //提示窗口:更新失败
  258. }
  259. },
  260. error: function(){
  261. console.log(`error`);
  262. }
  263. });
  264. },
  265. upLevel: function(lastOperator, billsLibId, updateDatas, callback){
  266. $.ajax({
  267. type: 'post',
  268. url: 'stdBillsEditor/upLevel',
  269. data: {data: JSON.stringify({lastOperator: lastOperator, billsLibId: billsLibId, updateDatas: updateDatas})},
  270. dataType: 'json',
  271. success: function (result) {
  272. if(!result.error && callback){
  273. callback();
  274. }
  275. }
  276. })
  277. },
  278. downLevel: function (lastOperator, billsLibId, updateDatas, callback) {
  279. $.ajax({
  280. type: 'post',
  281. url: 'stdBillsEditor/downLevel',
  282. data: {data: JSON.stringify({lastOperator: lastOperator, billsLibId: billsLibId, updateDatas: updateDatas})},
  283. dataType: 'json',
  284. success: function (result) {
  285. if(!result.error && callback){
  286. callback();
  287. }
  288. }
  289. })
  290. },
  291. deleteBills: function(lastOperator, billsLibId, deleteIds, updateNode, callback){
  292. $.ajax({
  293. type: 'post',
  294. url: 'stdBillsEditor/deleteBills',
  295. data: {data: JSON.stringify({lastOperator: lastOperator, billsLibId: billsLibId, deleteIds: deleteIds, updateNode: updateNode})},
  296. dataType: 'json',
  297. success: function(result){
  298. if(!result.error){
  299. console.log(result.message);
  300. if(callback){
  301. callback();
  302. }
  303. }
  304. }
  305. });
  306. },
  307. updateBills: function(lastOperator, billsLibId, updateId, field, data){
  308. $.ajax({
  309. type: 'post',
  310. url: 'stdBillsEditor/updateBills',
  311. data: {data: JSON.stringify({lastOperator: lastOperator, billsLibId: billsLibId, updateId: updateId, field: field, data: data})},
  312. dataType: 'json',
  313. success: function(result){
  314. }
  315. });
  316. },
  317. updateSectionInfo: function(data, callback){
  318. $.ajax({
  319. type: 'post',
  320. url: 'stdBillsEditor/updateSectionInfo',
  321. data: {data: JSON.stringify({updateData: data})},
  322. dataType: 'json',
  323. success: function(result){
  324. if(!result.error && callback){
  325. callback();
  326. }
  327. }
  328. });
  329. },
  330. removeTotal: function (lastOperator, billsLibId, billsIds, delIds, field) {
  331. $.ajax({
  332. type: 'post',
  333. url: 'stdBillsEditor/removeTotal',
  334. data: {data: JSON.stringify({lastOperator: lastOperator, billsLibId: billsLibId, billsIds: billsIds, delIds: delIds, field: field})},
  335. dataType: 'json',
  336. success: function(result){
  337. }
  338. })
  339. },
  340. updateSerialNo: function (billsLibId, billsId, updateArr, field, callback) {
  341. $.ajax({
  342. type: 'post',
  343. url: 'stdBillsEditor/updateSerialNo',
  344. data: {data: JSON.stringify({lastOperator: userAccount, billsLibId: billsLibId, billsId: billsId, updateArr: updateArr, field: field})},
  345. dataType: 'json',
  346. success: function (result) {
  347. if(!result.error && callback){
  348. callback();
  349. }
  350. }
  351. });
  352. },
  353. updateBillsArr: function(lastOperator, billsLibId, updateId, orgId, newId, type, classify, callback){
  354. $.ajax({
  355. type: 'post',
  356. url: 'stdBillsEditor/updateBillsArr',
  357. data: {data: JSON.stringify({lastOperator: lastOperator, billsLibId: billsLibId, updateId: updateId, orgId: orgId, newId: newId, type: type, classify: classify})},
  358. dataType: 'json',
  359. success: function(result){
  360. if(!result.error && callback){
  361. callback();
  362. }
  363. }
  364. });
  365. },
  366. pasteBills: function(lastOperator, billsLibId, datas){
  367. $.ajax({
  368. type: 'post',
  369. url: 'stdBillsEditor/pasteBills',
  370. data: {data: JSON.stringify({lastOperator: lastOperator, billsLibId: billsLibId, datas: datas})},
  371. dataType: 'json',
  372. success: function(result){
  373. }
  374. });
  375. },
  376. updateRecharge: function(lastOperator, billsLibId, updateId, data){
  377. $.ajax({
  378. type: 'post',
  379. url: 'stdBillsEditor/updateRecharge',
  380. data: {data: JSON.stringify({lastOperator: lastOperator, billsLibId: billsLibId, updateId: updateId, data: data})},
  381. dataType: 'json',
  382. success: function(result){
  383. }
  384. });
  385. },
  386. pasteRel: function (lastOperator, billsLibId, updateDatas, createDatas, field, callback) {
  387. $.ajax({
  388. type: 'post',
  389. url: 'stdBillsEditor/pasteRel',
  390. data: {data:JSON.stringify({lastOperator: lastOperator, billsLibId: billsLibId, updateDatas: updateDatas, createDatas: createDatas, field: field})},
  391. dataType: 'json',
  392. success: function(result){
  393. if(!result.error && callback){
  394. callback(result.data);
  395. }
  396. }
  397. });
  398. }
  399. };
  400. var jobsAjax = {
  401. getJobContent: function(billsLidId, callback){
  402. $.ajax({
  403. type: 'post',
  404. url: 'stdBillsEditor/getJobContent',
  405. data: {data: JSON.stringify({billsLibId: billsLidId})},
  406. dataType: 'json',
  407. success: function(result){
  408. if(!result.error && callback){
  409. callback(result.data);
  410. }
  411. }
  412. });
  413. },
  414. getSomeJobs: function(billsLibId, ids, callback){
  415. $.ajax({
  416. type: 'post',
  417. url: 'stdBillsEditor/getSomeJobs',
  418. data: {data: JSON.stringify({billsLibId: billsLibId, ids: ids})},
  419. dataType: 'json',
  420. success: function(result){
  421. if(!result.error && callback){
  422. callback(result.data);
  423. }
  424. }
  425. });
  426. },
  427. createJobContent: function(lastOperator, billsLibId, data, serialNo, callback){
  428. $.ajax({
  429. type: 'post',
  430. url: 'stdBillsEditor/createJobContent',
  431. data: {data: JSON.stringify({lastOperator: lastOperator, billsLibId: billsLibId, data: data, serialNo: serialNo})},
  432. dataType: 'json',
  433. success: function(result){
  434. if(!result.error && callback){
  435. callback(result.data);
  436. }
  437. }
  438. });
  439. },
  440. updateJobContent: function(lastOperator, billsLibId, id, field, data){
  441. $.ajax({
  442. type: 'post',
  443. url: 'stdBillsEditor/updateJobContent',
  444. data: {data: JSON.stringify({lastOperator: lastOperator, billsLibId: billsLibId, updateId: id, field: field, data: data })},
  445. dataType: 'json',
  446. success: function(result){
  447. }
  448. });
  449. },
  450. deleteJobContent: function(lastOperator, billsLibId, ids){
  451. $.ajax({
  452. type: 'post',
  453. url: 'stdBillsEditor/deleteJobContent',
  454. data: {data: JSON.stringify({lastOperator: lastOperator, billsLibId: billsLibId, ids: ids})},
  455. dataType: 'json',
  456. success: function(result){
  457. }
  458. });
  459. },
  460. pasteJobs: function(lastOperator, billsLibId, pasteDatas, callback){
  461. $.ajax({
  462. type: 'post',
  463. url: 'stdBillsEditor/pasteJobs',
  464. data: {data: JSON.stringify({lastOperator: lastOperator, billsLibId: billsLibId, pasteDatas: pasteDatas})},
  465. dataType: 'json',
  466. success: function(result){
  467. if(!result.error && callback){
  468. callback(result.data);
  469. }
  470. }
  471. });
  472. },
  473. edCreateJob: function(lastOperator, billsLibId, billsId, data, code, serialNo, callback){
  474. $.ajax({
  475. type: 'post',
  476. url: 'stdBillsEditor/edCreateJob',
  477. data: {data: JSON.stringify({lastOperator: lastOperator, billsLibId: billsLibId, billsId:billsId, data: data, code: code, serialNo: serialNo})},
  478. dataType: 'json',
  479. success: function(result){
  480. if(!result.error && callback){
  481. callback(result.data);
  482. }
  483. }
  484. });
  485. },
  486. edUpdateJob: function(lastOperator, billsLibId, billsId, content, code, orgJobId, callback){
  487. $.ajax({
  488. type: 'post',
  489. url: 'stdBillsEditor/edUpdateJob',
  490. data: {data: JSON.stringify({lastOperator: lastOperator, billsLibId: billsLibId, billsId:billsId, content: content, code: code, orgJobId: orgJobId})},
  491. dataType: 'json',
  492. success: function(result){
  493. if(!result.error && callback){
  494. callback(result.data);
  495. }
  496. }
  497. });
  498. }
  499. };
  500. var itemsAjax = {
  501. getItemCharacter: function(billsLibId, callback){
  502. $.ajax({
  503. type: 'post',
  504. url: 'stdBillsEditor/getItemCharacter',
  505. data: {data: JSON.stringify({billsLibId: billsLibId})},
  506. dataType: 'json',
  507. success: function(result){
  508. if(!result.error){
  509. if(callback){
  510. callback(result.data);
  511. }
  512. }
  513. }
  514. });
  515. },
  516. createItemCharacter: function(lastOperator, billsLibId, data, code, callback){
  517. $.ajax({
  518. type: 'post',
  519. url: 'stdBillsEditor/createItemCharacter',
  520. data: {data: JSON.stringify({lastOperator: lastOperator, billsLibId: billsLibId, data: data, code: code})},
  521. dataType: 'json',
  522. success: function(result){
  523. if(!result.error && callback){
  524. callback(result.data);
  525. }
  526. }
  527. });
  528. },
  529. updateItemCharacter: function(lastOperator, billsLibId, id, field, data){
  530. $.ajax({
  531. type: 'post',
  532. url: 'stdBillsEditor/updateItemCharacter',
  533. data: {data: JSON.stringify({lastOperator: lastOperator, billsLibId: billsLibId, updateId: id, field: field, data: data })},
  534. dataType: 'json',
  535. success: function(result){
  536. }
  537. });
  538. },
  539. updateValue: function(lastOperator, billsLibId, id, data, deleteCodes, type){
  540. $.ajax({
  541. type: 'post',
  542. url: 'stdBillsEditor/updateValue',
  543. data: {data: JSON.stringify({lastOperator: lastOperator, billsLibId: billsLibId, updateId: id, data: data, type: type, deleteCodes: deleteCodes})},
  544. dataType: 'json',
  545. success: function(reslut){
  546. }
  547. });
  548. },
  549. deleteItemCharacter: function(lastOperator, billsLibId, ids){
  550. $.ajax({
  551. type: 'post',
  552. url: 'stdBillsEditor/deleteItemCharacter',
  553. data: {data: JSON.stringify({lastOperator: lastOperator, billsLibId: billsLibId, ids: ids})},
  554. dataType: 'json',
  555. success: function(result){
  556. }
  557. });
  558. },
  559. pasteItems: function(lastOperator, billsLibId, pasteDatas, callback){
  560. $.ajax({
  561. type: 'post',
  562. url: 'stdBillsEditor/pasteItems',
  563. data: {data: JSON.stringify({lastOperator: lastOperator, billsLibId: billsLibId, pasteDatas: pasteDatas})},
  564. dataType: 'json',
  565. success: function(result){
  566. console.log(result);
  567. if(!result.error){
  568. console.log(result.data);
  569. callback(result.data);
  570. }
  571. }
  572. });
  573. },
  574. pasteValues: function(lastOperator, billsLibId, pasteDatas, callback){
  575. $.ajax({
  576. type: 'post',
  577. url: 'stdBillsEditor/pasteValues',
  578. data: {data: JSON.stringify({lastOperator: lastOperator, billsLibId: billsLibId, pasteDatas: pasteDatas})},
  579. dataType: 'json',
  580. success: function(result){
  581. if(!result.error && callback){
  582. callback(result.data);
  583. }
  584. }
  585. });
  586. },
  587. edCreateItem: function(lastOperator, billsLibId, billsId, data, code, serialNo, callback){
  588. $.ajax({
  589. type: 'post',
  590. url: 'stdBillsEditor/edCreateItem',
  591. data: {data: JSON.stringify({lastOperator: lastOperator, billsLibId: billsLibId, billsId:billsId, data: data, code: code, serialNo: serialNo})},
  592. dataType: 'json',
  593. success: function(result){
  594. if(!result.error && callback){
  595. callback(result.data);
  596. }
  597. }
  598. });
  599. },
  600. edUpdateItem: function(lastOperator, billsLibId, billsId, content, code, orgItemId, callback){
  601. $.ajax({
  602. type: 'post',
  603. url: 'stdBillsEditor/edUpdateItem',
  604. data: {data: JSON.stringify({lastOperator: lastOperator, billsLibId: billsLibId, billsId:billsId, content: content, code: code, orgItemId: orgItemId})},
  605. dataType: 'json',
  606. success: function(result){
  607. if(!result.error && callback){
  608. callback(result.data);
  609. }
  610. }
  611. });
  612. }
  613. }