|
@@ -41,16 +41,18 @@ function prepareProjectData(userId, prjId, filter, callback) {
|
|
|
}
|
|
|
|
|
|
async function prepareMultiProjectData(userId, prjIds, filter) {
|
|
|
- function getProjectPageData(prjId) {
|
|
|
+ function getProjectPageData(prjId, basicRst) {
|
|
|
return new Promise(function(resolve, reject) {
|
|
|
+ // console.log('promise prjId: ' + prjId);
|
|
|
prjMdl.project.getUserProject(userId, prjId, function(err, msg, rst){
|
|
|
if (!err) {
|
|
|
projectDataMdl.getFilterData(prjId, filter, function (results) {
|
|
|
if (results) {
|
|
|
rawDataObj = {};
|
|
|
rawDataObj.prj = rst;
|
|
|
+ // console.log(results);
|
|
|
rawDataObj.prjData = results;
|
|
|
- //*
|
|
|
+ /*
|
|
|
prjMdl.project.getBasicInfo(prjId).then(function(basicRst) {
|
|
|
if (basicRst !== null && basicRst !== undefined) {
|
|
|
let doc = (rawDataObj.prj._doc)?rawDataObj.prj._doc:rawDataObj.prj;
|
|
@@ -59,6 +61,10 @@ async function prepareMultiProjectData(userId, prjIds, filter) {
|
|
|
resolve(rawDataObj);
|
|
|
});
|
|
|
/*/
|
|
|
+ if (basicRst !== null && basicRst !== undefined) {
|
|
|
+ let doc = (rawDataObj.prj._doc)?rawDataObj.prj._doc:rawDataObj.prj;
|
|
|
+ doc.property.basicInformation = basicRst;
|
|
|
+ }
|
|
|
resolve(rawDataObj);
|
|
|
//*/
|
|
|
} else {
|
|
@@ -89,8 +95,9 @@ async function prepareMultiProjectData(userId, prjIds, filter) {
|
|
|
});
|
|
|
}
|
|
|
let parallelFunctions = [];
|
|
|
- for (let prjId of prjIds) {
|
|
|
- parallelFunctions.push(getProjectPageData(prjId));
|
|
|
+ for (let pId of prjIds) {
|
|
|
+ let basicRst = await prjMdl.project.getBasicInfo(pId); // 备注:项目basic info不能用.then的方式处理,否则会出现多个prjId返回相同数据的情况,只能先处理好,作为参数传递进去
|
|
|
+ parallelFunctions.push(getProjectPageData(pId, basicRst));
|
|
|
}
|
|
|
let rst = await Promise.all(parallelFunctions);
|
|
|
return rst;
|