structural_segment_controller.js 4.2 KB

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