'use strict'; const auditConst = require('../const/audit').ledger; const messageType = require('../const/message_type'); const buildStatus = require('../const/tender').buildStatus; module.exports = options => { return async function weappTenderCheck(ctx, next) { try { const tenderId = ctx.request.body.tenderId || ctx.request.query.tenderId || ctx.params.tenderId; const accountId = ctx.session.sessionUser.accountId; // 读取标段数据 const tender = { id: Number(tenderId) }; if (!tender.id) { throw '当前未打开标段'; } tender.data = await ctx.service.tender.getTender(tender.id); if (!tender.data) { throw '标段数据错误'; } if (!tender.data.measure_type) { throw '请先选择计量模式'; } tender.info = await ctx.service.tenderInfo.getTenderInfo(tender.id); if (!tender.data.ledger_times) { tender.data.ledger_times = 1; } if (!tender.data.ledger_status) { tender.data.ledger_status = auditConst.status.uncheck; } if (tender.data.project_id !== ctx.session.sessionProject.id) { throw '您无权查看该项目'; } const isTenderTourist = await ctx.service.tenderTourist.getDataByCondition({ tid: tender.id, user_id: accountId }); tender.isTourist = isTenderTourist !== null; ctx.tender = tender; await next(); } catch (err) { console.log(err); ctx.body = { code: -1, msg: err.toString(), data: null }; return; } }; };