|
@@ -37,21 +37,28 @@ module.exports = app => {
|
|
|
|
|
|
const tenderId = ctx.request.query.tenderId;
|
|
|
const tender = await ctx.service.tender.getDataById(tenderId);
|
|
|
+ if (!tender.ledger_times) {
|
|
|
+ tender.ledger_times = 1;
|
|
|
+ }
|
|
|
ctx.session.sessionUser.tenderId = tender.id;
|
|
|
ctx.session.sessionUser.tenderName = tender.name;
|
|
|
|
|
|
- const curAuditor = await ctx.service.ledgerAudit.getCurAuditor(tenderId, tender.times);
|
|
|
+ const curAuditor = await ctx.service.ledgerAudit.getCurAuditor(tenderId, tender.ledger_times);
|
|
|
if (curAuditor.audit_id !== ctx.session.sessionUser.accountId) {
|
|
|
throw '审核信息错误';
|
|
|
}
|
|
|
|
|
|
- const auditors = await ctx.service.ledgerAudit.getAuditors(tenderId, tender.times);
|
|
|
+ const auditors = await ctx.service.ledgerAudit.getAuditors(tenderId, tender.ledger_times);
|
|
|
const ledgerData = await ctx.service.ledger.getDataByTenderId(tenderId);
|
|
|
+ const content = await ctx.service.ledgerAuditContent.getAllDataByCondition({
|
|
|
+ where: {tender_id: tenderId, times: tender.ledger_times, audit_id: auditors[0].audit_id}
|
|
|
+ });
|
|
|
const renderData = {
|
|
|
auditConst,
|
|
|
tender,
|
|
|
curAuditor,
|
|
|
auditors,
|
|
|
+ content,
|
|
|
ledger: JSON.stringify(ledgerData),
|
|
|
ledgerSpreadSetting: JSON.stringify(spreadConst.ledgerSpread),
|
|
|
readOnly: true,
|
|
@@ -156,11 +163,11 @@ module.exports = app => {
|
|
|
if (tenderData.user_id !== ctx.session.sessionUser.accountId) {
|
|
|
throw '上报失败';
|
|
|
}
|
|
|
- if (!tenderData.times) {
|
|
|
- tenderData.times = 1;
|
|
|
+ if (!tenderData.ledger_times) {
|
|
|
+ tenderData.ledger_times = 1;
|
|
|
}
|
|
|
|
|
|
- await ctx.service.ledgerAudit.start(tenderId, tenderData.times);
|
|
|
+ await ctx.service.ledgerAudit.start(tenderId, tenderData.ledger_times);
|
|
|
|
|
|
ctx.redirect('/ledger/explode');
|
|
|
} catch (err) {
|
|
@@ -186,10 +193,10 @@ module.exports = app => {
|
|
|
if (!tenderData || tenderData.ledger_status !== auditConst.status.checking ) {
|
|
|
throw '当前标段数据有误';
|
|
|
}
|
|
|
- if (!tenderData.times) {
|
|
|
- tenderData.times = 1;
|
|
|
+ if (!tenderData.ledger_times) {
|
|
|
+ tenderData.ledger_times = 1;
|
|
|
}
|
|
|
- const curAudit = await ctx.service.ledgerAudit.getCurAuditor(tenderId, tenderData.times);
|
|
|
+ const curAudit = await ctx.service.ledgerAudit.getCurAuditor(tenderId, tenderData.ledger_times);
|
|
|
if (curAudit.audit_id !== ctx.session.sessionUser.accountId) {
|
|
|
throw '审批失败';
|
|
|
}
|
|
@@ -198,7 +205,7 @@ module.exports = app => {
|
|
|
throw '提交数据错误';
|
|
|
}
|
|
|
|
|
|
- await ctx.service.ledgerAudit.check(tenderId, checkType, ctx.request.body.opinion, tenderData.times);
|
|
|
+ await ctx.service.ledgerAudit.check(tenderId, checkType, ctx.request.body.opinion, tenderData.ledger_times);
|
|
|
|
|
|
ctx.redirect('/ledger/explode');
|
|
|
} catch (err) {
|
|
@@ -207,6 +214,86 @@ module.exports = app => {
|
|
|
ctx.redirect(ctx.request.headers.referer);
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 添加清单意见(Ajax)
|
|
|
+ * @param ctx
|
|
|
+ * @returns {Promise<void>}
|
|
|
+ */
|
|
|
+ async addContent(ctx) {
|
|
|
+ const responseData = {
|
|
|
+ err: 0,
|
|
|
+ msg: '',
|
|
|
+ data: [],
|
|
|
+ };
|
|
|
+ try {
|
|
|
+ const tenderId = ctx.session.sessionUser.tenderId;
|
|
|
+ if (!tenderId) {
|
|
|
+ throw '当前未打开标段';
|
|
|
+ }
|
|
|
+ const tenderData = await ctx.service.tender.getDataById(tenderId);
|
|
|
+ if (!tenderData || tenderData.ledger_status !== auditConst.status.checking ) {
|
|
|
+ throw '当前标段数据有误';
|
|
|
+ }
|
|
|
+ if (!tenderData.ledger_times) {
|
|
|
+ tenderData.ledger_times = 1;
|
|
|
+ }
|
|
|
+ const curAudit = await ctx.service.ledgerAudit.getCurAuditor(tenderId, tenderData.ledger_times);
|
|
|
+ if (curAudit.audit_id !== ctx.session.sessionUser.accountId) {
|
|
|
+ throw '添加清单意见失败';
|
|
|
+ }
|
|
|
+ const data = JSON.parse(ctx.request.body.data);
|
|
|
+
|
|
|
+ const result = await ctx.service.ledgerAuditContent.add(tenderData, curAudit.audit_id, data);
|
|
|
+ responseData.data = await ctx.service.ledgerAuditContent.getAllDataByCondition({
|
|
|
+ where: {tender_id: tenderId, times: tenderData.ledger_times, audit_id: curAudit.audit_id}
|
|
|
+ });
|
|
|
+ } catch (err) {
|
|
|
+ console.log(err);
|
|
|
+ responseData.err = 1;
|
|
|
+ responseData.msg = err.toString();
|
|
|
+ }
|
|
|
+
|
|
|
+ ctx.body = responseData;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 获取审核人的全部清单意见
|
|
|
+ * @param ctx
|
|
|
+ * @returns {Promise<void>}
|
|
|
+ */
|
|
|
+ async getContent(ctx) {
|
|
|
+ const responseData = {
|
|
|
+ err: 0,
|
|
|
+ msg: '',
|
|
|
+ data: [],
|
|
|
+ };
|
|
|
+ try {
|
|
|
+ const tenderId = ctx.session.sessionUser.tenderId;
|
|
|
+ if (!tenderId) {
|
|
|
+ throw '当前未打开标段';
|
|
|
+ }
|
|
|
+ const tenderData = await ctx.service.tender.getDataById(tenderId);
|
|
|
+ if (!tenderData) {
|
|
|
+ throw '当前标段数据有误';
|
|
|
+ }
|
|
|
+ if (!tenderData.ledger_times) {
|
|
|
+ tenderData.ledger_times = 1;
|
|
|
+ }
|
|
|
+ const data = JSON.parse(ctx.request.body.data);
|
|
|
+
|
|
|
+ const times = tenderData.ledger_status === auditConst.status.checkNo ? tenderData.ledger_times - 1 : tenderData.ledger_times;
|
|
|
+ responseData.data = await ctx.service.ledgerAuditContent.getAllDataByCondition({
|
|
|
+ where: {tender_id: tenderId, times: times, audit_id: data.audit_id}
|
|
|
+ });
|
|
|
+ } catch (err) {
|
|
|
+ console.log(err);
|
|
|
+ responseData.err = 1;
|
|
|
+ responseData.msg = err.toString();
|
|
|
+ }
|
|
|
+
|
|
|
+ ctx.body = responseData;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
return LedgerAuditController;
|