bills_lib_ajax.js 23 KB

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