bills_template_controller.js 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143
  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. }
  47. response.json(result);
  48. }
  49. async editTemplate(request, response){
  50. //先取出清单库信息:
  51. let libID = request.params.libID;
  52. let templateLib = await billsTemplateFacade.getLibByID(libID);
  53. if(templateLib){
  54. let templateDatas = await billsTemplateFacade.getTemplateDatasByLibID(libID);
  55. let randerData = {
  56. title:'清单模板',
  57. mainURL:'/billsTemplate/main',
  58. libName:templateLib.name,
  59. userAccount: request.session.managerData.username,
  60. userID: request.session.managerData.userID,
  61. billsTemplateData:JSON.stringify(templateDatas),
  62. billsFixedFlagList: JSON.stringify(BillsFixedFlagList),
  63. billsTypeFlagList: JSON.stringify(BillsTypeFlagList),
  64. libID:libID,
  65. LicenseKey:config.getLicenseKey(process.env.NODE_ENV),
  66. layout: 'maintain/common/html/edit_layout'
  67. };
  68. response.render("maintain/bill_template_lib/html/edit", randerData);
  69. }else {
  70. response.redirect(request.headers.referer);
  71. }
  72. }
  73. async deleteLibByID(request,response){
  74. let result={
  75. error:0
  76. };
  77. try {
  78. let data = request.body.data;
  79. data = JSON.parse(data);
  80. let resultData= await billsTemplateFacade.deleteLibByID(data.ID);
  81. result.data=resultData;
  82. }catch (err){
  83. console.log(err);
  84. result.error=1;
  85. result.message = err.message;
  86. }
  87. response.json(result);
  88. }
  89. async saveLib(request, response){
  90. let result={
  91. error:0
  92. };
  93. try {
  94. let data = request.body.data;
  95. data = JSON.parse(data);
  96. let resultData= await billsTemplateFacade.saveLib(data);
  97. result.data=resultData;
  98. }catch (err){
  99. console.log(err);
  100. result.error=1;
  101. result.message = err.message;
  102. }
  103. response.json(result);
  104. }
  105. async getLibByID(request, response){
  106. let result={
  107. error:0
  108. };
  109. try {
  110. let data = request.body.data;
  111. data = JSON.parse(data);
  112. let resultData= await billsTemplateFacade.getLibByID(data.libID);
  113. result.data=resultData;
  114. }catch (err){
  115. console.log(err);
  116. result.error=1;
  117. result.message = err.message;
  118. }
  119. response.json(result);
  120. }
  121. async addLib(request, response){
  122. try {
  123. await billsTemplateFacade.addLib(request.body);
  124. }catch (error) {
  125. console.log(error);
  126. }
  127. response.redirect(request.headers.referer);
  128. }
  129. }
  130. export default BillsTemplateController;