bills_lib_ajax.js 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632
  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. }
  142. }
  143. });
  144. },
  145. renameStdBillsLib: function(lastOperator, billsLibId, newName){
  146. $.ajax({
  147. type: "post",
  148. url: "/stdBillsEditor/renameStdbillsLib",
  149. data: {data: JSON.stringify({lastOperator: lastOperator, id: billsLibId, value: newName})},
  150. dataType: "json",
  151. success: function(result){
  152. if(!result.error){
  153. var jqSel = "#" + billsLibId + " td:first" + " a";
  154. $(jqSel).text(newName);
  155. }
  156. }
  157. });
  158. },
  159. getCurrentUniqId: function (callback) {
  160. $.ajax({
  161. type: 'post',
  162. url: 'stdBillsEditor/getCurrentUniqId',
  163. dataType: 'json',
  164. success: function(result){
  165. if(!result.error && callback){
  166. callback(result.data);
  167. }
  168. }
  169. });
  170. }
  171. }
  172. var billsAjax = {
  173. getStdBillsLibName: function(billsLibId) {
  174. $.ajax({
  175. type: "post",
  176. url: "/stdBillsEditor/getStdBillsLibName",
  177. data: {data: JSON.stringify({billsLibId: billsLibId})},
  178. success: function(result){
  179. if(!result.error){
  180. $(".navbar-text").append(
  181. "<a href='stdBillsmain'>清单规则</a><i class='fa fa-angle-right fa-fw'></i>"+result.data[0].billsLibName
  182. );
  183. }
  184. }
  185. });
  186. },
  187. getBills: function(billsLibId, callback){
  188. $.ajax({
  189. type: "post",
  190. url: "/stdBillsEditor/getBills",
  191. data: {data: JSON.stringify({billsLibId: billsLibId})},
  192. dataType: "json",
  193. success: function(result){
  194. if(!result.error){
  195. if(callback) {
  196. callback(result.data);
  197. }
  198. }
  199. }
  200. });
  201. },
  202. createBills: function(lastOperator, billsLibId, newId, pid, nid, updatePreData, sectionInfo, callback){
  203. $.ajax({
  204. type: 'post',
  205. url: 'stdBillsEditor/createBills',
  206. data: {data: JSON.stringify({lastOperator: lastOperator, billsLibId: billsLibId, newId: newId, ParentID: pid, NextSiblingID: nid, updatePreData: updatePreData, sectionInfo: sectionInfo})},
  207. dataType: 'json',
  208. success: function(result){
  209. if(!result.error){
  210. if(callback){
  211. callback();
  212. }
  213. }
  214. }
  215. });
  216. },
  217. upMove: function(lastOperator, billsLibId, updateDatas, callback){
  218. $.ajax({
  219. type: 'post',
  220. url: 'stdBillsEditor/upMove',
  221. data: {data: JSON.stringify({lastOperator: lastOperator, billsLibId: billsLibId, updateDatas: updateDatas})},
  222. dataType: 'json',
  223. success: function(result){
  224. if(!result.error && callback){
  225. callback();
  226. }
  227. }
  228. });
  229. },
  230. downMove: function (lastOperator, billsLibId, updateDatas, callback) {
  231. $.ajax({
  232. type: 'post',
  233. url: 'stdBillsEditor/downMove',
  234. data: {data: JSON.stringify({lastOperator: lastOperator, billsLibId: billsLibId, updateDatas: updateDatas})},
  235. dataType: 'json',
  236. success: function(result){
  237. if(!result.error && callback){
  238. callback();
  239. }
  240. }
  241. })
  242. },
  243. updatePNId: function(billsLibId, updateData, callback){
  244. $.ajax({
  245. type: 'post',
  246. url: 'stdBillsEditor/updatePNId',
  247. data: {data: JSON.stringify({billsLibId: billsLibId, updateData: updateData})},
  248. dataType: 'json',
  249. success: function(result){
  250. console.log(`entersFuc`);
  251. if(!result.error && callback){
  252. console.log(`enterSc`);
  253. callback();
  254. }
  255. else {
  256. //提示窗口:更新失败
  257. }
  258. },
  259. error: function(){
  260. console.log(`error`);
  261. }
  262. });
  263. },
  264. upLevel: function(lastOperator, billsLibId, updateDatas, callback){
  265. $.ajax({
  266. type: 'post',
  267. url: 'stdBillsEditor/upLevel',
  268. data: {data: JSON.stringify({lastOperator: lastOperator, billsLibId: billsLibId, updateDatas: updateDatas})},
  269. dataType: 'json',
  270. success: function (result) {
  271. if(!result.error && callback){
  272. callback();
  273. }
  274. }
  275. })
  276. },
  277. downLevel: function (lastOperator, billsLibId, updateDatas, callback) {
  278. $.ajax({
  279. type: 'post',
  280. url: 'stdBillsEditor/downLevel',
  281. data: {data: JSON.stringify({lastOperator: lastOperator, billsLibId: billsLibId, updateDatas: updateDatas})},
  282. dataType: 'json',
  283. success: function (result) {
  284. if(!result.error && callback){
  285. callback();
  286. }
  287. }
  288. })
  289. },
  290. deleteBills: function(lastOperator, billsLibId, deleteIds, updateNode, callback){
  291. $.ajax({
  292. type: 'post',
  293. url: 'stdBillsEditor/deleteBills',
  294. data: {data: JSON.stringify({lastOperator: lastOperator, billsLibId: billsLibId, deleteIds: deleteIds, updateNode: updateNode})},
  295. dataType: 'json',
  296. success: function(result){
  297. if(!result.error){
  298. console.log(result.message);
  299. if(callback){
  300. callback();
  301. }
  302. }
  303. }
  304. });
  305. },
  306. updateBills: function(lastOperator, billsLibId, updateId, field, data){
  307. $.ajax({
  308. type: 'post',
  309. url: 'stdBillsEditor/updateBills',
  310. data: {data: JSON.stringify({lastOperator: lastOperator, billsLibId: billsLibId, updateId: updateId, field: field, data: data})},
  311. dataType: 'json',
  312. success: function(result){
  313. }
  314. });
  315. },
  316. updateSectionInfo: function(data, callback){
  317. $.ajax({
  318. type: 'post',
  319. url: 'stdBillsEditor/updateSectionInfo',
  320. data: {data: JSON.stringify({updateData: data})},
  321. dataType: 'json',
  322. success: function(result){
  323. if(!result.error && callback){
  324. callback();
  325. }
  326. }
  327. });
  328. },
  329. removeTotal: function (lastOperator, billsLibId, billsIds, delIds, field) {
  330. $.ajax({
  331. type: 'post',
  332. url: 'stdBillsEditor/removeTotal',
  333. data: {data: JSON.stringify({lastOperator: lastOperator, billsLibId: billsLibId, billsIds: billsIds, delIds: delIds, field: field})},
  334. dataType: 'json',
  335. success: function(result){
  336. }
  337. })
  338. },
  339. updateSerialNo: function (billsLibId, billsId, updateArr, field, callback) {
  340. $.ajax({
  341. type: 'post',
  342. url: 'stdBillsEditor/updateSerialNo',
  343. data: {data: JSON.stringify({lastOperator: userAccount, billsLibId: billsLibId, billsId: billsId, updateArr: updateArr, field: field})},
  344. dataType: 'json',
  345. success: function (result) {
  346. if(!result.error && callback){
  347. callback();
  348. }
  349. }
  350. });
  351. },
  352. updateBillsArr: function(lastOperator, billsLibId, updateId, orgId, newId, type, classify, callback){
  353. $.ajax({
  354. type: 'post',
  355. url: 'stdBillsEditor/updateBillsArr',
  356. data: {data: JSON.stringify({lastOperator: lastOperator, billsLibId: billsLibId, updateId: updateId, orgId: orgId, newId: newId, type: type, classify: classify})},
  357. dataType: 'json',
  358. success: function(result){
  359. if(!result.error && callback){
  360. callback();
  361. }
  362. }
  363. });
  364. },
  365. pasteBills: function(lastOperator, billsLibId, datas){
  366. $.ajax({
  367. type: 'post',
  368. url: 'stdBillsEditor/pasteBills',
  369. data: {data: JSON.stringify({lastOperator: lastOperator, billsLibId: billsLibId, datas: datas})},
  370. dataType: 'json',
  371. success: function(result){
  372. }
  373. });
  374. },
  375. updateRecharge: function(lastOperator, billsLibId, updateId, data){
  376. $.ajax({
  377. type: 'post',
  378. url: 'stdBillsEditor/updateRecharge',
  379. data: {data: JSON.stringify({lastOperator: lastOperator, billsLibId: billsLibId, updateId: updateId, data: data})},
  380. dataType: 'json',
  381. success: function(result){
  382. }
  383. });
  384. },
  385. pasteRel: function (lastOperator, billsLibId, updateDatas, createDatas, field, callback) {
  386. $.ajax({
  387. type: 'post',
  388. url: 'stdBillsEditor/pasteRel',
  389. data: {data:JSON.stringify({lastOperator: lastOperator, billsLibId: billsLibId, updateDatas: updateDatas, createDatas: createDatas, field: field})},
  390. dataType: 'json',
  391. success: function(result){
  392. if(!result.error && callback){
  393. callback(result.data);
  394. }
  395. }
  396. });
  397. }
  398. };
  399. var jobsAjax = {
  400. getJobContent: function(billsLidId, callback){
  401. $.ajax({
  402. type: 'post',
  403. url: 'stdBillsEditor/getJobContent',
  404. data: {data: JSON.stringify({billsLibId: billsLidId})},
  405. dataType: 'json',
  406. success: function(result){
  407. if(!result.error && callback){
  408. callback(result.data);
  409. }
  410. }
  411. });
  412. },
  413. getSomeJobs: function(billsLibId, ids, callback){
  414. $.ajax({
  415. type: 'post',
  416. url: 'stdBillsEditor/getSomeJobs',
  417. data: {data: JSON.stringify({billsLibId: billsLibId, ids: ids})},
  418. dataType: 'json',
  419. success: function(result){
  420. if(!result.error && callback){
  421. callback(result.data);
  422. }
  423. }
  424. });
  425. },
  426. createJobContent: function(lastOperator, billsLibId, data, serialNo, callback){
  427. $.ajax({
  428. type: 'post',
  429. url: 'stdBillsEditor/createJobContent',
  430. data: {data: JSON.stringify({lastOperator: lastOperator, billsLibId: billsLibId, data: data, serialNo: serialNo})},
  431. dataType: 'json',
  432. success: function(result){
  433. if(!result.error && callback){
  434. callback(result.data);
  435. }
  436. }
  437. });
  438. },
  439. updateJobContent: function(lastOperator, billsLibId, id, field, data){
  440. $.ajax({
  441. type: 'post',
  442. url: 'stdBillsEditor/updateJobContent',
  443. data: {data: JSON.stringify({lastOperator: lastOperator, billsLibId: billsLibId, updateId: id, field: field, data: data })},
  444. dataType: 'json',
  445. success: function(result){
  446. }
  447. });
  448. },
  449. deleteJobContent: function(lastOperator, billsLibId, ids){
  450. $.ajax({
  451. type: 'post',
  452. url: 'stdBillsEditor/deleteJobContent',
  453. data: {data: JSON.stringify({lastOperator: lastOperator, billsLibId: billsLibId, ids: ids})},
  454. dataType: 'json',
  455. success: function(result){
  456. }
  457. });
  458. },
  459. pasteJobs: function(lastOperator, billsLibId, pasteDatas, callback){
  460. $.ajax({
  461. type: 'post',
  462. url: 'stdBillsEditor/pasteJobs',
  463. data: {data: JSON.stringify({lastOperator: lastOperator, billsLibId: billsLibId, pasteDatas: pasteDatas})},
  464. dataType: 'json',
  465. success: function(result){
  466. if(!result.error && callback){
  467. callback(result.data);
  468. }
  469. }
  470. });
  471. },
  472. edCreateJob: function(lastOperator, billsLibId, billsId, data, code, serialNo, callback){
  473. $.ajax({
  474. type: 'post',
  475. url: 'stdBillsEditor/edCreateJob',
  476. data: {data: JSON.stringify({lastOperator: lastOperator, billsLibId: billsLibId, billsId:billsId, data: data, code: code, serialNo: serialNo})},
  477. dataType: 'json',
  478. success: function(result){
  479. if(!result.error && callback){
  480. callback(result.data);
  481. }
  482. }
  483. });
  484. },
  485. edUpdateJob: function(lastOperator, billsLibId, billsId, content, code, orgJobId, callback){
  486. $.ajax({
  487. type: 'post',
  488. url: 'stdBillsEditor/edUpdateJob',
  489. data: {data: JSON.stringify({lastOperator: lastOperator, billsLibId: billsLibId, billsId:billsId, content: content, code: code, orgJobId: orgJobId})},
  490. dataType: 'json',
  491. success: function(result){
  492. if(!result.error && callback){
  493. callback(result.data);
  494. }
  495. }
  496. });
  497. }
  498. };
  499. var itemsAjax = {
  500. getItemCharacter: function(billsLibId, callback){
  501. $.ajax({
  502. type: 'post',
  503. url: 'stdBillsEditor/getItemCharacter',
  504. data: {data: JSON.stringify({billsLibId: billsLibId})},
  505. dataType: 'json',
  506. success: function(result){
  507. if(!result.error){
  508. if(callback){
  509. callback(result.data);
  510. }
  511. }
  512. }
  513. });
  514. },
  515. createItemCharacter: function(lastOperator, billsLibId, data, code, callback){
  516. $.ajax({
  517. type: 'post',
  518. url: 'stdBillsEditor/createItemCharacter',
  519. data: {data: JSON.stringify({lastOperator: lastOperator, billsLibId: billsLibId, data: data, code: code})},
  520. dataType: 'json',
  521. success: function(result){
  522. if(!result.error && callback){
  523. callback(result.data);
  524. }
  525. }
  526. });
  527. },
  528. updateItemCharacter: function(lastOperator, billsLibId, id, field, data){
  529. $.ajax({
  530. type: 'post',
  531. url: 'stdBillsEditor/updateItemCharacter',
  532. data: {data: JSON.stringify({lastOperator: lastOperator, billsLibId: billsLibId, updateId: id, field: field, data: data })},
  533. dataType: 'json',
  534. success: function(result){
  535. }
  536. });
  537. },
  538. updateValue: function(lastOperator, billsLibId, id, data, deleteCodes, type){
  539. $.ajax({
  540. type: 'post',
  541. url: 'stdBillsEditor/updateValue',
  542. data: {data: JSON.stringify({lastOperator: lastOperator, billsLibId: billsLibId, updateId: id, data: data, type: type, deleteCodes: deleteCodes})},
  543. dataType: 'json',
  544. success: function(reslut){
  545. }
  546. });
  547. },
  548. deleteItemCharacter: function(lastOperator, billsLibId, ids){
  549. $.ajax({
  550. type: 'post',
  551. url: 'stdBillsEditor/deleteItemCharacter',
  552. data: {data: JSON.stringify({lastOperator: lastOperator, billsLibId: billsLibId, ids: ids})},
  553. dataType: 'json',
  554. success: function(result){
  555. }
  556. });
  557. },
  558. pasteItems: function(lastOperator, billsLibId, pasteDatas, callback){
  559. $.ajax({
  560. type: 'post',
  561. url: 'stdBillsEditor/pasteItems',
  562. data: {data: JSON.stringify({lastOperator: lastOperator, billsLibId: billsLibId, pasteDatas: pasteDatas})},
  563. dataType: 'json',
  564. success: function(result){
  565. console.log(result);
  566. if(!result.error){
  567. console.log(result.data);
  568. callback(result.data);
  569. }
  570. }
  571. });
  572. },
  573. pasteValues: function(lastOperator, billsLibId, pasteDatas, callback){
  574. $.ajax({
  575. type: 'post',
  576. url: 'stdBillsEditor/pasteValues',
  577. data: {data: JSON.stringify({lastOperator: lastOperator, billsLibId: billsLibId, pasteDatas: pasteDatas})},
  578. dataType: 'json',
  579. success: function(result){
  580. if(!result.error && callback){
  581. callback(result.data);
  582. }
  583. }
  584. });
  585. },
  586. edCreateItem: function(lastOperator, billsLibId, billsId, data, code, serialNo, callback){
  587. $.ajax({
  588. type: 'post',
  589. url: 'stdBillsEditor/edCreateItem',
  590. data: {data: JSON.stringify({lastOperator: lastOperator, billsLibId: billsLibId, billsId:billsId, data: data, code: code, serialNo: serialNo})},
  591. dataType: 'json',
  592. success: function(result){
  593. if(!result.error && callback){
  594. callback(result.data);
  595. }
  596. }
  597. });
  598. },
  599. edUpdateItem: function(lastOperator, billsLibId, billsId, content, code, orgItemId, callback){
  600. $.ajax({
  601. type: 'post',
  602. url: 'stdBillsEditor/edUpdateItem',
  603. data: {data: JSON.stringify({lastOperator: lastOperator, billsLibId: billsLibId, billsId:billsId, content: content, code: code, orgItemId: orgItemId})},
  604. dataType: 'json',
  605. success: function(result){
  606. if(!result.error && callback){
  607. callback(result.data);
  608. }
  609. }
  610. });
  611. }
  612. }