weapp_revise_controller.js 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. 'use strict';
  2. const audit = require('../const/audit');
  3. module.exports = app => {
  4. class WeappReviseController extends app.BaseController {
  5. async index(ctx) {
  6. try {
  7. const tenderId = ctx.params.id;
  8. const show_revise_invalid = 1;
  9. const ledgerRevise = await ctx.service.ledgerRevise.getReviseList(tenderId, show_revise_invalid);
  10. ctx.body = { code: 0, msg: '', data: ledgerRevise };
  11. } catch (err) {
  12. this.log(err);
  13. ctx.body = { code: -1, msg: err.toString(), data: null };
  14. }
  15. }
  16. async check(ctx) {
  17. try {
  18. const reviseId = ctx.params.rid;
  19. const revise = await ctx.service.ledgerRevise.getDataById(reviseId);
  20. if (!revise) {
  21. ctx.body = { code: -1, msg: '修订不存在', data: null };
  22. return;
  23. }
  24. if (revise.status !== audit.revise.status.checking) {
  25. ctx.body = {
  26. code: -1,
  27. msg: `修订状态不正确,当前状态为"${audit.revise.statusString[revise.status] || '未知'}",无法审批`,
  28. data: { currentStatus: revise.status }
  29. };
  30. return;
  31. }
  32. revise.curHis = revise.his_id ? await ctx.service.ledgerHistory.getDataById(revise.his_id) : null;
  33. const curAudits = await ctx.service.reviseAudit.getCurAuditors(revise.id, revise.times);
  34. const curAuditorIds = curAudits.map(x => { return x.audit_id; });
  35. if (curAuditorIds.indexOf(ctx.session.sessionUser.accountId) < 0) {
  36. ctx.body = { code: -1, msg: '您不是当前审批人,无权进行该操作', data: null };
  37. return;
  38. }
  39. const data = ctx.request.body;
  40. const checkType = parseInt(data.checkType);
  41. if (!checkType || isNaN(checkType)) {
  42. ctx.body = { code: -1, msg: '提交数据错误:缺少审批类型参数', data: null };
  43. return;
  44. }
  45. const opinion = data.opinion || '';
  46. await ctx.service.reviseAudit.check(revise, checkType, opinion, revise.times);
  47. ctx.body = { code: 0, msg: '审批成功', data: null };
  48. } catch (err) {
  49. ctx.body = { code: -1, msg: err.toString(), data: null };
  50. }
  51. }
  52. }
  53. return WeappReviseController;
  54. };