main_col_controller.js 5.4 KB

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