bill_code_controller.js 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. /**
  2. * Created by zhang on 2018/9/3.
  3. */
  4. import BaseController from "../../common/base/base_controller";
  5. import billCodeFacade from "../facade/bill_code_facade";
  6. let config = require("../../../config/config.js");
  7. let logger = require('../../../logs/log_helper').logger;
  8. import CompilationModel from '../../users/models/compilation_model';
  9. class BillCodeController extends BaseController{
  10. async main(request, response) {
  11. let compilationModel = new CompilationModel();
  12. let compilationList = await compilationModel.getCompilationList({_id: 1, name: 1});
  13. compilationList.unshift({_id: 'all', name: '所有'});
  14. let activeCompilation = compilationList.find(compilation => compilation._id.toString() === request.query.filter);
  15. if (activeCompilation) {
  16. activeCompilation.active = 'active';
  17. } else {
  18. compilationList[0].active = 'active'
  19. }
  20. let filter = request.query.filter ? {compilationID: request.query.filter} : {};
  21. let templateLibs = await billCodeFacade.findByCondition(filter,{feature:0},false);
  22. let renderData = {
  23. title:'递延清单',
  24. userAccount: request.session.managerData.username,
  25. userID: request.session.managerData.userID,
  26. templateLibs:templateLibs,
  27. compilationList: compilationList,
  28. layout: 'maintain/common/html/layout'
  29. };
  30. response.render("maintain/bill_code_lib/html/main", renderData);
  31. }
  32. async addLib(request, response){
  33. try {
  34. await billCodeFacade.addLib(request.body);
  35. }catch (error) {
  36. console.log(error);
  37. }
  38. response.redirect(request.headers.referer);
  39. }
  40. async findLib(request, response){
  41. let result={
  42. error:0
  43. };
  44. try {
  45. let data = request.body.data;
  46. data = JSON.parse(data);
  47. let conditions={'ID' : data.ID};
  48. let resultData = await billCodeFacade.findByCondition(conditions);
  49. result.data=resultData;
  50. }catch (err){
  51. console.log(err);
  52. result.error=1;
  53. result.message = err.message;
  54. }
  55. response.json(result);
  56. }
  57. async saveLib(request, response){
  58. let result={
  59. error:0
  60. };
  61. try {
  62. let data = request.body.data;
  63. data = JSON.parse(data);
  64. console.log(data.data);
  65. let resultData= await billCodeFacade.saveLib(data);
  66. result.data=resultData;
  67. }catch (err){
  68. console.log(err);
  69. result.error=1;
  70. result.message = err.message;
  71. }
  72. response.json(result);
  73. }
  74. async deleteLibByID(request,response){
  75. logger.info(`delete projectFeatureLib ${request.ip}`);
  76. let result={
  77. error:0
  78. };
  79. try {
  80. let data = request.body.data;
  81. data = JSON.parse(data);
  82. let resultData= await billCodeFacade.deleteLibByID(data.ID);
  83. result.data=resultData;
  84. }catch (err){
  85. console.log(err);
  86. result.error=1;
  87. result.message = err.message;
  88. }
  89. response.json(result);
  90. }
  91. async edit(request,response){
  92. //先取出替换库信息:
  93. let libID = request.params.libID;
  94. let billCodeSegment = await billCodeFacade.findByCondition({'ID':libID});
  95. let items = await billCodeFacade.findItemsByCondition({'libID':libID},"-_id -libID -ID");
  96. console.log(items);
  97. if(billCodeSegment){
  98. let randerData = {
  99. title:'递延清单',
  100. mainURL:'/billCode/main',
  101. libName:billCodeSegment.name,
  102. userAccount: request.session.managerData.username,
  103. userID: request.session.managerData.userID,
  104. templateLibs:JSON.stringify({data:items}),
  105. libID:libID,
  106. LicenseKey:config.getLicenseKey(process.env.NODE_ENV),
  107. layout: 'maintain/common/html/edit_layout'
  108. };
  109. response.render("maintain/bill_code_lib/html/edit", randerData);
  110. }else {
  111. response.redirect(request.headers.referer);
  112. }
  113. }
  114. }
  115. export default BillCodeController;