| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- '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;
- }
- };
- };
|