|
@@ -32,22 +32,38 @@ module.exports = app => {
|
|
|
* @return {void}
|
|
|
*/
|
|
|
async explode(ctx) {
|
|
|
- let tenderId = ctx.session.sessionUser.tenderId;
|
|
|
- if (!tenderId) {
|
|
|
- // 根据标段列表获取默认tenderId
|
|
|
+ if (ctx.request.query.tenderId) {
|
|
|
+ const tenderId = parseInt(ctx.request.query.tenderId);
|
|
|
+ const tender = await ctx.service.tender.getDataById(tenderId);
|
|
|
+ ctx.session.sessionUser.tenderId = tender.id;
|
|
|
+ ctx.session.sessionUser.tenderName = tender.name;
|
|
|
+
|
|
|
+ ctx.redirect('/ledger/explode');
|
|
|
+ } else {
|
|
|
+ let tenderId = ctx.session.sessionUser.tenderId;
|
|
|
const tenderList = await ctx.service.tender.getList();
|
|
|
- if (tenderList && tenderList.length > 0) {
|
|
|
- tenderId = tenderList[0].id;
|
|
|
- ctx.session.sessionUser.tenderId = tenderId;
|
|
|
- } else {
|
|
|
- throw '项目无标段数据';
|
|
|
+ for (const tender of tenderList) {
|
|
|
+ tender.url = ctx.menuList.ledger.children.explode.url + '?tenderId=' + tender.id;
|
|
|
}
|
|
|
+
|
|
|
+ if (!tenderId) {
|
|
|
+ // 根据标段列表获取默认tenderId
|
|
|
+ if (tenderList && tenderList.length > 0) {
|
|
|
+ tenderId = tenderList[0].id;
|
|
|
+ ctx.session.sessionUser.tenderId = tenderId;
|
|
|
+ ctx.session.sessionUser.tenderName = tenderList[0].name;
|
|
|
+ } else {
|
|
|
+ throw '项目无标段数据';
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ const ledgerData = await ctx.service.ledger.getDataByTenderId(tenderId);
|
|
|
+ const renderData = {
|
|
|
+ ledger: JSON.stringify(ledgerData),
|
|
|
+ tenderList: tenderList
|
|
|
+ };
|
|
|
+ await this.layout('ledger/explode.ejs', renderData);
|
|
|
}
|
|
|
- const ledgerData = await ctx.service.ledger.getDataByTenderId(tenderId);
|
|
|
- const renderData = {
|
|
|
- ledger: JSON.stringify(ledgerData)
|
|
|
- };
|
|
|
- await this.layout('ledger/explode.ejs', renderData);
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -132,6 +148,31 @@ module.exports = app => {
|
|
|
ctx.body = responseData;
|
|
|
};
|
|
|
|
|
|
+ async updateInfo(ctx) {
|
|
|
+ const responseData = {
|
|
|
+ err: 0,
|
|
|
+ msg: '',
|
|
|
+ data: []
|
|
|
+ };
|
|
|
+ try {
|
|
|
+ const tenderId = ctx.session.sessionUser.tenderId;
|
|
|
+ if (!tenderId) {
|
|
|
+ throw '当前未打开标段';
|
|
|
+ }
|
|
|
+ const data = JSON.parse(ctx.request.body.data);
|
|
|
+ if (data instanceof Array) {
|
|
|
+ responseData.data = await ctx.service.ledger.updateInfos(tenderId, data);
|
|
|
+ } else {
|
|
|
+ responseData.data = await ctx.service.ledger.updateInfo(tenderId, data);
|
|
|
+ }
|
|
|
+ } catch (err) {
|
|
|
+ responseData.err = 1;
|
|
|
+ responseData.msg = err;
|
|
|
+ }
|
|
|
+
|
|
|
+ ctx.body = responseData;
|
|
|
+ };
|
|
|
+
|
|
|
/**
|
|
|
* 台账变更页面
|
|
|
*
|