bills_template_controller.js 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144
  1. /**
  2. * 清单模板控制控制器
  3. *
  4. * @author CaiAoLin
  5. * @date 2017/7/28
  6. * @compilation
  7. */
  8. import BaseController from "../../common/base/base_controller";
  9. import billsTemplateFacade from "../facade/bills_template_facade";
  10. import {default as BillsFixedFlagConst, List as BillsFixedFlagList} from "../../common/const/bills_fixed.js";
  11. import {default as BillsTypeFlagConst, List as BillsTypeFlagList} from "../../common/const/bills_type.js";
  12. let config = require("../../../config/config.js");
  13. class BillsTemplateController extends BaseController {
  14. /**
  15. * 清单模板库页面
  16. *
  17. * @param {object} request
  18. * @param {object} response
  19. * @return {void}
  20. */
  21. async main(request, response) {
  22. let templateLibs = await billsTemplateFacade.getAllLibs();
  23. let randerData = {
  24. title:'清单模板',
  25. userAccount: request.session.managerData.username,
  26. userID: request.session.managerData.userID,
  27. templateLibs:templateLibs,
  28. layout: 'maintain/common/html/layout',
  29. LicenseKey:config.getLicenseKey(process.env.NODE_ENV)
  30. };
  31. response.render("maintain/bill_template_lib/html/main", randerData);
  32. }
  33. async updateBillsTemplateItem(request, response) {
  34. let libID = request.params.libID;
  35. let result = {error: 1, message: '更新数据错误', data: null};
  36. try {
  37. let data = JSON.parse(request.body.data);
  38. if(libID){
  39. result = await await billsTemplateFacade.updateTemplateItem(libID,data);
  40. if (result) {
  41. result = {error: 0, message: '', data: data};
  42. }
  43. }
  44. }catch (err){
  45. console.log(err);
  46. result.message = err.message;
  47. }
  48. response.json(result);
  49. }
  50. async editTemplate(request, response){
  51. //先取出清单库信息:
  52. let libID = request.params.libID;
  53. let templateLib = await billsTemplateFacade.getLibByID(libID);
  54. if(templateLib){
  55. let templateDatas = await billsTemplateFacade.getTemplateDatasByLibID(libID);
  56. let randerData = {
  57. title:'清单模板',
  58. mainURL:'/billsTemplate/main',
  59. libName:templateLib.name,
  60. userAccount: request.session.managerData.username,
  61. userID: request.session.managerData.userID,
  62. billsTemplateData:JSON.stringify(templateDatas),
  63. billsFixedFlagList: JSON.stringify(BillsFixedFlagList),
  64. billsTypeFlagList: JSON.stringify(BillsTypeFlagList),
  65. libID:libID,
  66. LicenseKey:config.getLicenseKey(process.env.NODE_ENV),
  67. layout: 'maintain/common/html/edit_layout'
  68. };
  69. response.render("maintain/bill_template_lib/html/edit", randerData);
  70. }else {
  71. response.redirect(request.headers.referer);
  72. }
  73. }
  74. async deleteLibByID(request,response){
  75. let result={
  76. error:0
  77. };
  78. try {
  79. let data = request.body.data;
  80. data = JSON.parse(data);
  81. let resultData= await billsTemplateFacade.deleteLibByID(data.ID);
  82. result.data=resultData;
  83. }catch (err){
  84. console.log(err);
  85. result.error=1;
  86. result.message = err.message;
  87. }
  88. response.json(result);
  89. }
  90. async saveLib(request, response){
  91. let result={
  92. error:0
  93. };
  94. try {
  95. let data = request.body.data;
  96. data = JSON.parse(data);
  97. let resultData= await billsTemplateFacade.saveLib(data);
  98. result.data=resultData;
  99. }catch (err){
  100. console.log(err);
  101. result.error=1;
  102. result.message = err.message;
  103. }
  104. response.json(result);
  105. }
  106. async getLibByID(request, response){
  107. let result={
  108. error:0
  109. };
  110. try {
  111. let data = request.body.data;
  112. data = JSON.parse(data);
  113. let resultData= await billsTemplateFacade.getLibByID(data.libID);
  114. result.data=resultData;
  115. }catch (err){
  116. console.log(err);
  117. result.error=1;
  118. result.message = err.message;
  119. }
  120. response.json(result);
  121. }
  122. async addLib(request, response){
  123. try {
  124. await billsTemplateFacade.addLib(request.body);
  125. }catch (error) {
  126. console.log(error);
  127. }
  128. response.redirect(request.headers.referer);
  129. }
  130. }
  131. export default BillsTemplateController;