drawing_controller.js 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. 'use strict';
  2. /**
  3. *
  4. *
  5. * @author Mai
  6. * @date
  7. * @version
  8. */
  9. const sendToWormhole = require('stream-wormhole');
  10. const path = require('path');
  11. module.exports = app => {
  12. class DrawingController extends app.BaseController {
  13. /**
  14. * 图纸管理
  15. *
  16. * @param ctx
  17. * @returns {Promise<void>}
  18. */
  19. async tender(ctx) {
  20. try {
  21. if (!ctx.subProject.page_show.drawing) throw '该功能已关闭或无法查看';
  22. const renderData = {
  23. jsFiles: this.app.jsFiles.common.concat(this.app.jsFiles.drawing.tender),
  24. };
  25. renderData.tenderList = await ctx.service.tender.getSpecList(ctx.service.drawingPermission, ctx.session.sessionUser.is_admin ? 'all' : '');
  26. renderData.categoryData = await this.ctx.service.category.getAllCategory(ctx.subProject);
  27. renderData.selfCategoryLevel = this.ctx.subProject.permission.self_category_level;
  28. await this.layout('drawing/tender.ejs', renderData, 'drawing/tender_modal.ejs');
  29. } catch (err) {
  30. ctx.log(err);
  31. ctx.postError(err, '查询图纸管理数据错误');
  32. ctx.redirect(this.menu.menu.dashboard.url);
  33. }
  34. }
  35. async design() {
  36. }
  37. async built() {
  38. }
  39. async manageUpdate(ctx) {
  40. try {
  41. this.checkLock(ctx);
  42. const data = JSON.parse(ctx.request.body.data);
  43. if (!data.updateType) throw '数据错误';
  44. let result;
  45. const updateData = JSON.parse(JSON.stringify(data));
  46. delete updateData.updateType;
  47. if (data.updateType === 'add') {
  48. result = await ctx.service.filing.add(updateData);
  49. } else if (data.updateType === 'del') {
  50. result = await ctx.service.filing.del(updateData);
  51. } else if (data.updateType === 'save') {
  52. result = await ctx.service.filing.save(updateData);
  53. } else if (data.updateType === 'move') {
  54. if (!data.id || !(data.tree_order >= 0)) throw '数据错误';
  55. result = await ctx.service.filing.move(updateData);
  56. } else if (data.updateType === 'multi' ) {
  57. result = await ctx.service.filing.multiUpdate(ctx.subProject.id, data.data);
  58. }
  59. ctx.body = { err: 0, msg: '', data: result };
  60. } catch (err) {
  61. ctx.log(err);
  62. ctx.ajaxErrorBody(err, '修改失败');
  63. }
  64. }
  65. }
  66. return DrawingController;
  67. };