bills_template_controller.js 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142
  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. layout: 'maintain/common/html/edit_layout'
  66. };
  67. response.render("maintain/bill_template_lib/html/edit", randerData);
  68. }else {
  69. response.redirect(request.headers.referer);
  70. }
  71. }
  72. async deleteLibByID(request,response){
  73. let result={
  74. error:0
  75. };
  76. try {
  77. let data = request.body.data;
  78. data = JSON.parse(data);
  79. let resultData= await billsTemplateFacade.deleteLibByID(data.ID);
  80. result.data=resultData;
  81. }catch (err){
  82. console.log(err);
  83. result.error=1;
  84. result.message = err.message;
  85. }
  86. response.json(result);
  87. }
  88. async saveLib(request, response){
  89. let result={
  90. error:0
  91. };
  92. try {
  93. let data = request.body.data;
  94. data = JSON.parse(data);
  95. let resultData= await billsTemplateFacade.saveLib(data);
  96. result.data=resultData;
  97. }catch (err){
  98. console.log(err);
  99. result.error=1;
  100. result.message = err.message;
  101. }
  102. response.json(result);
  103. }
  104. async getLibByID(request, response){
  105. let result={
  106. error:0
  107. };
  108. try {
  109. let data = request.body.data;
  110. data = JSON.parse(data);
  111. let resultData= await billsTemplateFacade.getLibByID(data.libID);
  112. result.data=resultData;
  113. }catch (err){
  114. console.log(err);
  115. result.error=1;
  116. result.message = err.message;
  117. }
  118. response.json(result);
  119. }
  120. async addLib(request, response){
  121. try {
  122. await billsTemplateFacade.addLib(request.body);
  123. }catch (error) {
  124. console.log(error);
  125. }
  126. response.redirect(request.headers.referer);
  127. }
  128. }
  129. export default BillsTemplateController;