bills_lib_ajax.js 24 KB

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