main_col_controller.js 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173
  1. /**
  2. * Created by zhang on 2018/7/14.
  3. */
  4. /**
  5. * 列设置控制器
  6. *
  7. */
  8. import BaseController from "../../common/base/base_controller";
  9. import mainColFacade from "../facade/main_col_facade";
  10. import { checkCompilationPermission } from '../../common/base/base_util';
  11. let config = require("../../../config/config.js");
  12. class MainColController extends BaseController {
  13. async main(request, response) {
  14. let mainColLibs = await mainColFacade.getAllLibs();
  15. const compilationPermission = request.session.managerData.compilationPermission || [];
  16. mainColLibs = mainColLibs.filter(lib => compilationPermission.includes(lib.compilationId));
  17. let randerData = {
  18. title: '列设置',
  19. userAccount: request.session.managerData.username,
  20. userID: request.session.managerData.userID,
  21. mainColLibs: mainColLibs,
  22. LicenseKey: config.getLicenseKey(process.env.NODE_ENV),
  23. layout: 'maintain/common/html/layout'
  24. };
  25. response.render("maintain/main_col_lib/html/main", randerData);
  26. }
  27. async addLib(request, response) {
  28. try {
  29. await mainColFacade.addLib(request.body);
  30. } catch (error) {
  31. console.log(error);
  32. }
  33. response.redirect(request.headers.referer);
  34. }
  35. async deleteLibByID(request, response) {
  36. let result = {
  37. error: 0
  38. };
  39. try {
  40. let data = request.body.data;
  41. data = JSON.parse(data);
  42. let resultData = await mainColFacade.deleteLibByID(data.ID);
  43. result.data = resultData;
  44. } catch (err) {
  45. console.log(err);
  46. result.error = 1;
  47. result.message = err.message;
  48. }
  49. response.json(result);
  50. }
  51. async getLibByID(request, response) {
  52. let result = {
  53. error: 0
  54. };
  55. try {
  56. let data = request.body.data;
  57. data = JSON.parse(data);
  58. let resultData = await mainColFacade.getLibByID(data.libID);
  59. result.data = resultData;
  60. } catch (err) {
  61. console.log(err);
  62. result.error = 1;
  63. result.message = err.message;
  64. }
  65. response.json(result);
  66. }
  67. async saveLib(request, response) {
  68. let result = {
  69. error: 0
  70. };
  71. try {
  72. let data = request.body.data;
  73. data = JSON.parse(data);
  74. let resultData = await mainColFacade.saveLib(data);
  75. result.data = resultData;
  76. } catch (err) {
  77. console.log(err);
  78. result.error = 1;
  79. result.message = err.message;
  80. }
  81. response.json(result);
  82. }
  83. async edit(request, response) {
  84. let result = {
  85. error: 0
  86. }
  87. //先取出替换库信息:
  88. let libID = request.params.libID;
  89. let colLib = await mainColFacade.getLibByID(libID);
  90. if (colLib) {
  91. checkCompilationPermission(request, response, colLib.compilationId, '/mainTreeCol/main')
  92. let randerData = {
  93. title: '列设置库',
  94. mainURL: '/mainTreeCol/main',
  95. libName: colLib.name,
  96. userAccount: request.session.managerData.username,
  97. userID: request.session.managerData.userID,
  98. main_tree_col: JSON.stringify(colLib.main_tree_col),
  99. libID: libID,
  100. LicenseKey: config.getLicenseKey(process.env.NODE_ENV),
  101. layout: 'maintain/common/html/edit_layout'
  102. };
  103. response.render("maintain/main_col_lib/html/edit", randerData);
  104. } else {
  105. response.redirect(request.headers.referer);
  106. }
  107. }
  108. /*async updateBillsTemplateItem(request, response) {
  109. let libID = request.params.libID;
  110. let result = {error: 1, message: '更新数据错误', data: null};
  111. try {
  112. let data = JSON.parse(request.body.data);
  113. if(libID){
  114. result = await await billsTemplateFacade.updateTemplateItem(libID,data);
  115. if (result) {
  116. result = {error: 0, message: '', data: data};
  117. }
  118. }
  119. }catch (err){
  120. console.log(err);
  121. }
  122. response.json(result);
  123. }
  124. async editTemplate(request, response){
  125. //先取出清单库信息:
  126. let libID = request.params.libID;
  127. let templateLib = await billsTemplateFacade.getLibByID(libID);
  128. if(templateLib){
  129. let templateDatas = await billsTemplateFacade.getTemplateDatasByLibID(libID);
  130. let randerData = {
  131. title:'清单模板',
  132. mainURL:'/billsTemplate/main',
  133. libName:templateLib.name,
  134. userAccount: request.session.managerData.username,
  135. userID: request.session.managerData.userID,
  136. billsTemplateData:JSON.stringify(templateDatas),
  137. billsFixedFlagList: JSON.stringify(BillsFixedFlagList),
  138. billsTypeFlagList: JSON.stringify(BillsTypeFlagList),
  139. libID:libID,
  140. layout: 'maintain/common/html/edit_layout'
  141. };
  142. response.render("maintain/bill_template_lib/html/edit", randerData);
  143. }else {
  144. response.redirect(request.headers.referer);
  145. }
  146. }
  147. */
  148. }
  149. export default MainColController;