land_controller.js 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. /**
  2. * Created by zhang on 2018/9/10.
  3. */
  4. import BaseController from "../../common/base/base_controller.js";
  5. import CompilationModel from '../../users/models/compilation_model.js';
  6. let config = require("../../../config/config.js");
  7. import landFacade from "../facade/land_facade.js";
  8. import { checkCompilationPermission } from '../../common/base/base_util.js';
  9. class LandController extends BaseController {
  10. async main(request, response) {
  11. let compilationModel = new CompilationModel();
  12. let compilationList = await compilationModel.getPermissionCompilationList(request, { _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 landLibs = await landFacade.findByCondition(filter, { rates: 0 }, false);
  22. const compilationPermission = request.session.managerData.compilationPermission || [];
  23. landLibs = landLibs.filter(lib => compilationPermission.includes(lib.compilationId));
  24. let randerData = {
  25. title: '土地补偿库',
  26. userAccount: request.session.managerData.username,
  27. userID: request.session.managerData.userID,
  28. landLibs,
  29. compilationList: compilationList,
  30. layout: 'maintain/common/html/layout'
  31. };
  32. response.render("maintain/land_lib/html/main", randerData);
  33. }
  34. async addLib(request, response) {
  35. try {
  36. await landFacade.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 landFacade.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. let resultData = await landFacade.saveLib(data);
  67. result.data = resultData;
  68. } catch (err) {
  69. console.log(err);
  70. result.error = 1;
  71. result.message = err.message;
  72. }
  73. response.json(result);
  74. }
  75. async deleteLibByID(request, response) {
  76. let result = {
  77. error: 0
  78. };
  79. try {
  80. let data = request.body.data;
  81. data = JSON.parse(data);
  82. let resultData = await landFacade.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. let libID = request.params.libID;
  93. let landLib = await landFacade.findByCondition({ 'ID': libID });
  94. if (landLib) {
  95. checkCompilationPermission(request, response, landLib.compilationId, '/land/main');
  96. let randerData = {
  97. title: '土地补偿库',
  98. mainURL: '/land/main',
  99. libName: landLib.libName,
  100. userAccount: request.session.managerData.username,
  101. userID: request.session.managerData.userID,
  102. landList: JSON.stringify(landLib.regions),
  103. libID: libID,
  104. LicenseKey: config.getLicenseKey(process.env.NODE_ENV),
  105. layout: 'maintain/common/html/edit_layout'
  106. };
  107. response.render("maintain/land_lib/html/edit", randerData);
  108. } else {
  109. response.redirect(request.headers.referer);
  110. }
  111. }
  112. }
  113. export default LandController;