bills_lib_ajax.js 23 KB

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