|
@@ -189,7 +189,7 @@ module.exports = app => {
|
|
|
throw '台账修订会影响审批中的变更令(包含新增部位),请审批完成后再创建台账修订';
|
|
|
}
|
|
|
const revise = await ctx.service.ledgerRevise.add(ctx.tender.id, ctx.session.sessionUser.accountId);
|
|
|
- ctx.redirect('/tender/' + ctx.tender.id + '/revise/info');
|
|
|
+ ctx.redirect(`/tender/${ctx.tender.id}/revise/${revise.id}/info`);
|
|
|
} catch (err) {
|
|
|
this.log(err);
|
|
|
ctx.redirect(ctx.request.header.referer);
|
|
@@ -289,13 +289,6 @@ 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 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 sjsRela = await this.ctx.service.project.getSjsRela(ctx.session.sessionProject.id);
|
|
|
this.ctx.helper.refreshSpreadShow(sjsRela.ledgerCol, [ledgerSpread, posSpread]);
|
|
@@ -315,9 +308,7 @@ module.exports = app => {
|
|
|
}
|
|
|
return {
|
|
|
revise, tender: ctx.tender.data,
|
|
|
- // 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),
|
|
|
stdBills,
|
|
@@ -346,6 +337,7 @@ module.exports = app => {
|
|
|
renderData.history = true;
|
|
|
renderData.historyRevise = await ctx.service.ledgerRevise.getAllReviseList(ctx.tender.id);
|
|
|
renderData.categoryData = await this.ctx.service.category.getAllCategory(this.ctx.session.sessionProject.id);
|
|
|
+ renderData.preUrl = ctx.url.replace('/info', '');
|
|
|
await this.layout('revise/info.ejs', renderData, 'revise/info_modal.ejs');
|
|
|
}
|
|
|
|
|
@@ -365,6 +357,7 @@ module.exports = app => {
|
|
|
renderData.historyRevise = [];
|
|
|
renderData.curAuditor = await ctx.service.reviseAudit.getCurAuditor(revise.id, revise.times);
|
|
|
renderData.categoryData = await this.ctx.service.category.getAllCategory(this.ctx.session.sessionProject.id);
|
|
|
+ renderData.preUrl = ctx.url.replace('/info', '');
|
|
|
await this.layout('revise/info.ejs', renderData, 'revise/info_modal.ejs');
|
|
|
}
|
|
|
|
|
@@ -388,6 +381,7 @@ module.exports = app => {
|
|
|
renderData.auditorList = await ctx.service.reviseAudit.getAuditors(revise.id, revise.times);
|
|
|
renderData.curAuditor = await ctx.service.reviseAudit.getCurAuditor(revise.id, revise.times);
|
|
|
renderData.categoryData = await this.ctx.service.category.getAllCategory(this.ctx.session.sessionProject.id);
|
|
|
+ renderData.preUrl = ctx.url.replace('/info', '');
|
|
|
await this.layout('revise/info.ejs', renderData, 'revise/info_modal.ejs');
|
|
|
}
|
|
|
|
|
@@ -417,21 +411,14 @@ module.exports = app => {
|
|
|
|
|
|
async loadInfoData(ctx) {
|
|
|
try {
|
|
|
- const revise = await ctx.service.ledgerRevise.getLastestRevise(ctx.tender.id);
|
|
|
- if (!revise) throw '台账修订数据有误';
|
|
|
+ const revise = await ctx.revise;
|
|
|
|
|
|
- const billsFile = revise.status === audit.revise.status.checked && revise.bills_file
|
|
|
- ? this.ctx.app.config.filePath + revise.bills_file
|
|
|
- : undefined;
|
|
|
- const reviseBills = billsFile && fs.existsSync(billsFile)
|
|
|
- ? JSON.parse(await fs.readFileSync(billsFile, 'utf8'))
|
|
|
+ const reviseBills = revise.readOnly
|
|
|
+ ? await ctx.helper.loadLedgerDataFromOss(revise.curHis.bills_file)
|
|
|
: await ctx.service.reviseBills.getData(ctx.tender.id);
|
|
|
|
|
|
- const posFile = revise.status === audit.revise.status.checked && revise.pos_file
|
|
|
- ? this.ctx.app.config.filePath + revise.pos_file
|
|
|
- : undefined;
|
|
|
- const revisePos = posFile && fs.existsSync(posFile)
|
|
|
- ? JSON.parse(await fs.readFileSync(posFile, 'utf8'))
|
|
|
+ const revisePos = revise.readOnly
|
|
|
+ ? await ctx.helper.loadLedgerDataFromOss(revise.curHis.pos_file)
|
|
|
: await ctx.service.revisePos.getData(ctx.tender.id);
|
|
|
|
|
|
if (revise.uid === ctx.session.sessionUser.accountId &&
|
|
@@ -517,6 +504,7 @@ module.exports = app => {
|
|
|
// 获取审批流程中左边列表
|
|
|
const auditors = await ctx.service.reviseAudit.getAuditorsWithOwner(revise.id, times);
|
|
|
const renderData = {
|
|
|
+ preUrl: ctx.url.replace('/info', ''),
|
|
|
measureType, audit, revise,
|
|
|
ledgerSpread, posSpread,
|
|
|
readOnly: true,
|
|
@@ -534,36 +522,6 @@ module.exports = app => {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- async historyInfo(ctx) {
|
|
|
- try {
|
|
|
- const data = JSON.parse(ctx.request.body.data);
|
|
|
- if (!data || !data.rid || data.rid === '') throw '查询的台账修订有误';
|
|
|
- const reviseInfo = await ctx.service.ledgerRevise.getRevise(ctx.tender.id, data.rid);
|
|
|
- reviseInfo.end_time_str = reviseInfo.end_time ? ctx.moment(reviseInfo.end_time).format('YYYY-MM-DD HH:mm:ss') : '';
|
|
|
- ctx.body = { err: 0, msg: '', data: reviseInfo };
|
|
|
- } catch (err) {
|
|
|
- this.log(err);
|
|
|
- ctx.body = this.ajaxErrorBody(err, '获取台账修订历史数据错误');
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 加载 数据
|
|
|
- * @param {} ctx
|
|
|
- */
|
|
|
- async loadHistoryData(ctx) {
|
|
|
- try {
|
|
|
- const billsFile = await this.ctx.app.hisOss.get(ctx.app.config.hisOssPath + ctx.revise.bills_file);
|
|
|
- const reviseBills = JSON.parse(billsFile.content);
|
|
|
- const posFile = await this.ctx.app.hisOss.get(ctx.app.config.hisOssPath + ctx.revise.pos_file);
|
|
|
- const revisePos = JSON.parse(posFile.content);
|
|
|
- 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) {
|
|
@@ -896,12 +854,10 @@ module.exports = app => {
|
|
|
|
|
|
await ctx.service.reviseAudit.check(revise, checkType, ctx.request.body.opinion, revise.times);
|
|
|
|
|
|
- // ctx.redirect('/tender/' + ctx.tender.id + '/revise/info');
|
|
|
ctx.redirect(ctx.request.headers.referer);
|
|
|
} catch (err) {
|
|
|
this.log(err);
|
|
|
this.postError(err, '审批失败');
|
|
|
- // ctx.redirect('/tender/' + ctx.tender.id + '/revise/info');
|
|
|
ctx.redirect(ctx.request.headers.referer);
|
|
|
}
|
|
|
}
|
|
@@ -928,6 +884,7 @@ module.exports = app => {
|
|
|
const lastStage = await this._getLastStage(ctx);
|
|
|
|
|
|
const renderData = {
|
|
|
+ preUrl: ctx.url.replace('/compare', ''),
|
|
|
revise,
|
|
|
measureType,
|
|
|
lastStage,
|
|
@@ -991,10 +948,18 @@ module.exports = app => {
|
|
|
|
|
|
async _loadDataByFilter(ctx, filter) {
|
|
|
switch(filter) {
|
|
|
- case 'bills': return await ctx.service.ledger.getAllDataByCondition({where: {tender_id: ctx.tender.id} });
|
|
|
- case 'pos': return await ctx.service.pos.getAllDataByCondition({where: {tid: ctx.tender.id} });
|
|
|
- case 'reviseBills': return await ctx.service.reviseBills.getAllDataByCondition({where: {tender_id: ctx.tender.id}});
|
|
|
- case 'revisePos': return await ctx.service.revisePos.getAllDataByCondition({where: {tid: ctx.tender.id}});
|
|
|
+ case 'bills':
|
|
|
+ return ctx.revise.preHis ? await this.ctx.helper.loadLedgerDataFromOss(ctx.revise.preHis.bills_file) : [];
|
|
|
+ case 'pos':
|
|
|
+ return ctx.revise.preHis ? await this.ctx.helper.loadLedgerDataFromOss(ctx.revise.preHis.pos_file) : [];
|
|
|
+ case 'reviseBills':
|
|
|
+ return ctx.revise.readOnly && ctx.revise.curHis
|
|
|
+ ? await this.ctx.helper.loadLedgerDataFromOss(ctx.revise.curHis.bills_file)
|
|
|
+ : await ctx.service.reviseBills.getAllDataByCondition({ where: { tender_id: ctx.tender.id } });
|
|
|
+ case 'revisePos':
|
|
|
+ return ctx.revise.readOnly && ctx.revise.curHis
|
|
|
+ ? await this.ctx.helper.loadLedgerDataFromOss(ctx.revise.curHis.pos_file)
|
|
|
+ : await ctx.service.revisePos.getAllDataByCondition({ where: { tid: ctx.tender.id } });
|
|
|
case 'stageBills':
|
|
|
case 'stagePos':
|
|
|
if (!ctx.lastStage) ctx.lastStage = await this._getLastStage(ctx);
|
|
@@ -1039,22 +1004,12 @@ module.exports = app => {
|
|
|
if (!revise) throw '台账修订数据有误';
|
|
|
|
|
|
const renderData = {
|
|
|
+ preUrl: ctx.url.replace('/gcl-compare', ''),
|
|
|
revise,
|
|
|
jsFiles: this.app.jsFiles.common.concat(this.app.jsFiles.revise.gclCompare),
|
|
|
};
|
|
|
await this.layout('revise/gcl_compare.ejs', renderData);
|
|
|
}
|
|
|
-
|
|
|
- async bwtz(ctx) {
|
|
|
- const revise = await ctx.service.ledgerRevise.getLastestRevise(ctx.tender.id);
|
|
|
- if (!revise) throw '台账修订数据有误';
|
|
|
-
|
|
|
- const renderData = {
|
|
|
- revise,
|
|
|
- jsFiles: this.app.jsFiles.common.concat(this.app.jsFiles.revise.bwtz),
|
|
|
- };
|
|
|
- await this.layout('revise/bwtz.ejs', renderData);
|
|
|
- }
|
|
|
}
|
|
|
|
|
|
return ReviseController;
|