bills_lib_ajax.js 23 KB

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