bills_template_controller.js 4.3 KB

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