|
@@ -209,13 +209,13 @@ module.exports = app => {
|
|
|
}
|
|
|
|
|
|
async _getDefaultReviseInfoData(ctx, revise) {
|
|
|
- const reviseBills = revise.bills_file
|
|
|
- ? JSON.parse(await fs.readFileSync(this.ctx.app.config.filePath + revise.bills_file, 'utf8'))
|
|
|
- : await ctx.service.reviseBills.getData(ctx.tender.id);
|
|
|
+ // const reviseBills = revise.bills_file
|
|
|
+ // ? JSON.parse(await fs.readFileSync(this.ctx.app.config.filePath + revise.bills_file, 'utf8'))
|
|
|
+ // : await ctx.service.reviseBills.getData(ctx.tender.id);
|
|
|
|
|
|
- const revisePos = revise.pos_file
|
|
|
- ? JSON.parse(await fs.readFileSync(this.ctx.app.config.filePath + revise.pos_file, 'utf8'))
|
|
|
- : await ctx.service.revisePos.getData(ctx.tender.id);
|
|
|
+ // const revisePos = revise.pos_file
|
|
|
+ // ? JSON.parse(await fs.readFileSync(this.ctx.app.config.filePath + revise.pos_file, 'utf8'))
|
|
|
+ // : await ctx.service.revisePos.getData(ctx.tender.id);
|
|
|
const [ledgerSpread, posSpread] = this._getSpreadSetting(revise);
|
|
|
const [stdBills, stdChapters] = await this.ctx.service.valuation.getValuationStdList(
|
|
|
ctx.tender.data.valuation, ctx.tender.data.measure_type);
|
|
@@ -230,7 +230,8 @@ module.exports = app => {
|
|
|
}
|
|
|
return {
|
|
|
revise: revise, tender: ctx.tender.data,
|
|
|
- reviseBills, revisePos, ledgerSpread, posSpread, tenderMenu, measureType,
|
|
|
+ //reviseBills, revisePos,
|
|
|
+ ledgerSpread, posSpread, tenderMenu, measureType,
|
|
|
preUrl: '/tender/' + ctx.tender.id,
|
|
|
audit: audit.revise,
|
|
|
jsFiles: this.app.jsFiles.common.concat(this.app.jsFiles.revise.info),
|
|
@@ -282,30 +283,30 @@ module.exports = app => {
|
|
|
const renderData = await this._getDefaultReviseInfoData(ctx, revise);
|
|
|
// 台账只读、使用数据
|
|
|
renderData.readOnly = false;
|
|
|
- const lastStage = await ctx.service.stage.getLastestStage(ctx.tender.id, true);
|
|
|
- if (lastStage) {
|
|
|
- if (lastStage.status === audit.stage.status.checked) {
|
|
|
- const usedPreBills = await ctx.service.stageBillsFinal.getUsedBills(ctx.tender.id, lastStage.order);
|
|
|
- for (const b of renderData.reviseBills) {
|
|
|
- b.used = usedPreBills.indexOf(b.id) >= 0;
|
|
|
- }
|
|
|
- const usedPrePos = await ctx.service.stagePosFinal.getUsedPos(ctx.tender.id, lastStage.order);
|
|
|
- for (const p of renderData.revisePos) {
|
|
|
- p.used = usedPrePos.indexOf(p.id) >= 0;
|
|
|
- }
|
|
|
- } else {
|
|
|
- const usedPreBills = lastStage.order > 1 ? await ctx.service.stageBillsFinal.getUsedBills(ctx.tender.id, lastStage.order - 1) : [];
|
|
|
- const usedCurBills = await ctx.service.stageBills.getStageUsedBills(ctx.tender.id, lastStage.id);
|
|
|
- for (const b of renderData.reviseBills) {
|
|
|
- b.used = usedPreBills.indexOf(b.id) >= 0 || usedCurBills.indexOf(b.id) >= 0;
|
|
|
- }
|
|
|
- const usedPrePos = lastStage.order > 1 ? await ctx.service.stagePosFinal.getUsedPos(ctx.tender.id, lastStage.order - 1) : [];
|
|
|
- const usedCurPos = await ctx.service.stagePos.getStageUsedPos(ctx.tender.id, lastStage.id);
|
|
|
- for (const p of renderData.revisePos) {
|
|
|
- p.used = usedPrePos.indexOf(p.id) >= 0 || usedCurPos.indexOf(p.id) >= 0;
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
+ // const lastStage = await ctx.service.stage.getLastestStage(ctx.tender.id, true);
|
|
|
+ // if (lastStage) {
|
|
|
+ // if (lastStage.status === audit.stage.status.checked) {
|
|
|
+ // const usedPreBills = await ctx.service.stageBillsFinal.getUsedBills(ctx.tender.id, lastStage.order);
|
|
|
+ // for (const b of renderData.reviseBills) {
|
|
|
+ // b.used = usedPreBills.indexOf(b.id) >= 0;
|
|
|
+ // }
|
|
|
+ // const usedPrePos = await ctx.service.stagePosFinal.getUsedPos(ctx.tender.id, lastStage.order);
|
|
|
+ // for (const p of renderData.revisePos) {
|
|
|
+ // p.used = usedPrePos.indexOf(p.id) >= 0;
|
|
|
+ // }
|
|
|
+ // } else {
|
|
|
+ // const usedPreBills = lastStage.order > 1 ? await ctx.service.stageBillsFinal.getUsedBills(ctx.tender.id, lastStage.order - 1) : [];
|
|
|
+ // const usedCurBills = await ctx.service.stageBills.getStageUsedBills(ctx.tender.id, lastStage.id);
|
|
|
+ // for (const b of renderData.reviseBills) {
|
|
|
+ // b.used = usedPreBills.indexOf(b.id) >= 0 || usedCurBills.indexOf(b.id) >= 0;
|
|
|
+ // }
|
|
|
+ // const usedPrePos = lastStage.order > 1 ? await ctx.service.stagePosFinal.getUsedPos(ctx.tender.id, lastStage.order - 1) : [];
|
|
|
+ // const usedCurPos = await ctx.service.stagePos.getStageUsedPos(ctx.tender.id, lastStage.id);
|
|
|
+ // for (const p of renderData.revisePos) {
|
|
|
+ // p.used = usedPrePos.indexOf(p.id) >= 0 || usedCurPos.indexOf(p.id) >= 0;
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // }
|
|
|
// 修订历史
|
|
|
renderData.history = false;
|
|
|
renderData.historyRevise = [];
|
|
@@ -344,13 +345,59 @@ module.exports = app => {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ async loadInfoData(ctx) {
|
|
|
+ try {
|
|
|
+ const revise = await ctx.service.ledgerRevise.getLastestRevise(ctx.tender.id);
|
|
|
+ if (!revise) throw '台账修订数据有误';
|
|
|
+
|
|
|
+ const reviseBills = revise.bills_file
|
|
|
+ ? JSON.parse(await fs.readFileSync(this.ctx.app.config.filePath + revise.bills_file, 'utf8'))
|
|
|
+ : await ctx.service.reviseBills.getData(ctx.tender.id);
|
|
|
+
|
|
|
+ const revisePos = revise.pos_file
|
|
|
+ ? JSON.parse(await fs.readFileSync(this.ctx.app.config.filePath + revise.pos_file, 'utf8'))
|
|
|
+ : await ctx.service.revisePos.getData(ctx.tender.id);
|
|
|
+ if (revise.uid === ctx.session.sessionUser.accountId &&
|
|
|
+ (revise.status === audit.revise.status.uncheck || revise.status === audit.revise.status.checkNo)) {
|
|
|
+ const lastStage = await ctx.service.stage.getLastestStage(ctx.tender.id, true);
|
|
|
+ if (lastStage) {
|
|
|
+ if (lastStage.status === audit.stage.status.checked) {
|
|
|
+ const usedPreBills = await ctx.service.stageBillsFinal.getUsedBills(ctx.tender.id, lastStage.order);
|
|
|
+ for (const b of reviseBills) {
|
|
|
+ b.used = usedPreBills.indexOf(b.id) >= 0;
|
|
|
+ }
|
|
|
+ const usedPrePos = await ctx.service.stagePosFinal.getUsedPos(ctx.tender.id, lastStage.order);
|
|
|
+ for (const p of revisePos) {
|
|
|
+ p.used = usedPrePos.indexOf(p.id) >= 0;
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ const usedPreBills = lastStage.order > 1 ? await ctx.service.stageBillsFinal.getUsedBills(ctx.tender.id, lastStage.order - 1) : [];
|
|
|
+ const usedCurBills = await ctx.service.stageBills.getStageUsedBills(ctx.tender.id, lastStage.id);
|
|
|
+ for (const b of reviseBills) {
|
|
|
+ b.used = usedPreBills.indexOf(b.id) >= 0 || usedCurBills.indexOf(b.id) >= 0;
|
|
|
+ }
|
|
|
+ const usedPrePos = lastStage.order > 1 ? await ctx.service.stagePosFinal.getUsedPos(ctx.tender.id, lastStage.order - 1) : [];
|
|
|
+ const usedCurPos = await ctx.service.stagePos.getStageUsedPos(ctx.tender.id, lastStage.id);
|
|
|
+ for (const p of revisePos) {
|
|
|
+ p.used = usedPrePos.indexOf(p.id) >= 0 || usedCurPos.indexOf(p.id) >= 0;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ ctx.body = {err: 0, msg: '', data: {bills: reviseBills, pos: revisePos}};
|
|
|
+ } catch(err) {
|
|
|
+ ctx.helper.log(err);
|
|
|
+ this.ajaxErrorBody(err, '加载台账修订数据错误');
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
async history(ctx) {
|
|
|
try {
|
|
|
const revise = await ctx.service.ledgerRevise.getLastestRevise(ctx.tender.id, false);
|
|
|
if (!revise) throw '台账修订数据有误';
|
|
|
|
|
|
- const reviseBills = await ctx.service.ledger.getData(ctx.tender.id);
|
|
|
- const revisePos = await ctx.service.pos.getPosData({tid: ctx.tender.id});
|
|
|
+ //const reviseBills = await ctx.service.ledger.getData(ctx.tender.id);
|
|
|
+ //const revisePos = await ctx.service.pos.getPosData({tid: ctx.tender.id});
|
|
|
const [ledgerSpread, posSpread] = this._getSpreadSetting(revise);
|
|
|
ledgerSpread.readOnly = true;
|
|
|
posSpread.readOnly = true;
|
|
@@ -358,7 +405,7 @@ module.exports = app => {
|
|
|
const renderData = {
|
|
|
measureType, audit, revise,
|
|
|
ledgerSpread, posSpread,
|
|
|
- reviseBills, revisePos,
|
|
|
+ //reviseBills, revisePos,
|
|
|
readOnly: true,
|
|
|
historyRevise,
|
|
|
jsFiles: this.app.jsFiles.common.concat(this.app.jsFiles.revise.history),
|
|
@@ -383,6 +430,24 @@ module.exports = app => {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 加载 数据
|
|
|
+ * @param {} ctx
|
|
|
+ */
|
|
|
+ async loadHistoryData(ctx) {
|
|
|
+ try {
|
|
|
+ const revise = await ctx.service.ledgerRevise.getLastestRevise(ctx.tender.id, false);
|
|
|
+ if (!revise) throw '台账修订数据有误';
|
|
|
+
|
|
|
+ const reviseBills = await ctx.service.ledger.getData(ctx.tender.id);
|
|
|
+ const revisePos = await ctx.service.pos.getPosData({tid: ctx.tender.id});
|
|
|
+ ctx.body = {err: 0, msg: '', data: {bills: reviseBills, pos: revisePos}};
|
|
|
+ } catch (error) {
|
|
|
+ ctx.helper.log(error);
|
|
|
+ this.ajaxErrorBody(error, '获取台账修订数据错误,请刷新页面');
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
async checkRevise(ctx) {
|
|
|
const revise = await ctx.service.ledgerRevise.getLastestRevise(ctx.tender.id);
|
|
|
if (revise.uid !== ctx.session.sessionUser.accountId) {
|