monomer_template_controller.js 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  1. /**
  2. * Created by zhang on 2018/9/3.
  3. */
  4. import BaseController from "../../common/base/base_controller";
  5. import monomerTemplateFacade from "../facade/monomer_template_facade";
  6. let config = require("../../../config/config.js");
  7. let logger = require('../../../logs/log_helper').logger;
  8. import CompilationModel from '../../users/models/compilation_model';
  9. let mongoose = require('mongoose');
  10. let monomerTemplateModel = mongoose.model('std_monomer_template');
  11. class MonomerTemplateController extends BaseController{
  12. async main(request, response) {
  13. let compilationModel = new CompilationModel();
  14. let compilationList = await compilationModel.getCompilationList({_id: 1, name: 1});
  15. compilationList.unshift({_id: 'all', name: '所有'});
  16. let activeCompilation = compilationList.find(compilation => compilation._id.toString() === request.query.filter);
  17. if (activeCompilation) {
  18. activeCompilation.active = 'active';
  19. } else {
  20. compilationList[0].active = 'active'
  21. }
  22. let filter = request.query.filter ? {compilationID: request.query.filter} : {};
  23. let templateLibs = await monomerTemplateFacade.findByCondition(filter,{feature:0},false);
  24. let renderData = {
  25. title:'单体模板库',
  26. userAccount: request.session.managerData.username,
  27. userID: request.session.managerData.userID,
  28. templateLibs:templateLibs,
  29. compilationList: compilationList,
  30. layout: 'maintain/common/html/layout'
  31. };
  32. response.render("maintain/monomer_template_lib/html/main", renderData);
  33. }
  34. async addLib(request, response){
  35. try {
  36. await monomerTemplateFacade.addLib(request.body);
  37. }catch (error) {
  38. console.log(error);
  39. }
  40. response.redirect(request.headers.referer);
  41. }
  42. async findLib(request, response){
  43. let result={
  44. error:0
  45. };
  46. try {
  47. let data = request.body.data;
  48. data = JSON.parse(data);
  49. let conditions={'ID' : data.ID};
  50. let resultData = await monomerTemplateFacade.findByCondition(conditions);
  51. result.data=resultData;
  52. }catch (err){
  53. console.log(err);
  54. result.error=1;
  55. result.message = err.message;
  56. }
  57. response.json(result);
  58. }
  59. async saveLib(request, response){
  60. let result={
  61. error:0
  62. };
  63. try {
  64. let data = request.body.data;
  65. data = JSON.parse(data);
  66. console.log(data.data);
  67. let resultData= await monomerTemplateFacade.saveLib(data);
  68. result.data=resultData;
  69. }catch (err){
  70. console.log(err);
  71. result.error=1;
  72. result.message = err.message;
  73. }
  74. response.json(result);
  75. }
  76. async deleteLibByID(request,response){
  77. logger.info(`delete projectFeatureLib ${request.ip}`);
  78. let result={
  79. error:0
  80. };
  81. try {
  82. let data = request.body.data;
  83. data = JSON.parse(data);
  84. let resultData= await monomerTemplateFacade.deleteLibByID(data.ID);
  85. result.data=resultData;
  86. }catch (err){
  87. console.log(err);
  88. result.error=1;
  89. result.message = err.message;
  90. }
  91. response.json(result);
  92. }
  93. async edit(request,response){
  94. //先取出替换库信息:
  95. let libID = request.params.libID;
  96. let monomerTemplate = await monomerTemplateFacade.findByCondition({'ID':libID});
  97. if(monomerTemplate){
  98. let randerData = {
  99. title:'单体模板库',
  100. mainURL:'/monomerTemplate/main',
  101. libName:monomerTemplate.name,
  102. userAccount: request.session.managerData.username,
  103. userID: request.session.managerData.userID,
  104. templateLibs:JSON.stringify(monomerTemplate),
  105. libID:libID,
  106. LicenseKey:config.getLicenseKey(process.env.NODE_ENV),
  107. layout: 'maintain/common/html/edit_layout'
  108. };
  109. response.render("maintain/monomer_template_lib/html/edit", randerData);
  110. }else {
  111. response.redirect(request.headers.referer);
  112. }
  113. }
  114. }
  115. export default MonomerTemplateController;