|
|
@@ -42,124 +42,105 @@ INTERFACE_EXPORT = (() => {
|
|
|
// 节点定义--------------------------------
|
|
|
const subArea = areaKey.split('@')[1];
|
|
|
|
|
|
- function ChiZGLGC() {
|
|
|
- Element.call(this, '池州公路工程');
|
|
|
+ function CreateNode(nodeName) {
|
|
|
+ Element.call(this, nodeName);
|
|
|
}
|
|
|
|
|
|
+
|
|
|
function GongCXX(information) {
|
|
|
const attrs = [
|
|
|
- { name: '项目编号', value: getValueByKey(information, 'tendereeName') }, // 招标人
|
|
|
- { name: '项目名称', value: getValueByKey(information, 'costConsultant') }, // 造价咨询人
|
|
|
- { name: '建设单位', value: getValueByKey(information, 'tenderAuthorizer') }, // 招标人法定代表人或其授权人
|
|
|
- { name: '起始桩号', value: getValueByKey(information, 'consultantAuthorizer') }, // 造价咨询人法定代表人或其授权人
|
|
|
- { name: '终点桩号', value: getValueByKey(information, 'tenderCompiler') }, // 编制人
|
|
|
- { name: '建设地址', value: getValueByKey(information, 'tenderExaminer') }, // 复核人
|
|
|
- { name: '项目概况', value: getValueByKey(information, 'compilationTime'), type: TYPE.DATE }, // 编制时间
|
|
|
- { name: '建设性质', value: getValueByKey(information, 'reviewTime'), type: TYPE.DATE }, // 复核时间
|
|
|
- { name: '专业划分', value: getValueByKey(information, 'reviewTime'), type: TYPE.DATE }, // 复核时间
|
|
|
- { name: '道路里程', value: getValueByKey(information, 'reviewTime'), type: TYPE.DATE }, // 复核时间
|
|
|
- { name: '设计单位', value: getValueByKey(information, 'reviewTime'), type: TYPE.DATE }, // 复核时间
|
|
|
- { name: '计税方式', value: getValueByKey(information, 'reviewTime'), type: TYPE.DATE }, // 复核时间
|
|
|
- { name: '文件类型', value: getValueByKey(information, 'reviewTime'), type: TYPE.DATE }, // 复核时间
|
|
|
- { name: '标准版本号', value: getValueByKey(information, 'reviewTime'), type: TYPE.DATE }, // 复核时间
|
|
|
- { name: 'GUID', value: getValueByKey(information, 'reviewTime'), type: TYPE.DATE }, // 复核时间
|
|
|
+ { name: '项目编号', value: getValueByKey(information, 'projNum') },
|
|
|
+ { name: '项目名称', value: getValueByKey(information, '') },
|
|
|
+ { name: '建设单位', value: getValueByKey(information, 'constructingUnits') },
|
|
|
+ { name: '起始桩号', value: getValueByKey(information, 'startAndChainages') },
|
|
|
+ { name: '终点桩号', value: getValueByKey(information, 'startAndChainages') },
|
|
|
+ { name: '建设地址', value: getValueByKey(information, '') },
|
|
|
+ { name: '项目概况', value: getValueByKey(information, '') },
|
|
|
+ { name: '建设性质', value: getValueByKey(information, '') },
|
|
|
+ { name: '专业划分', value: getValueByKey(information, '') },
|
|
|
+ { name: '道路里程', value: getValueByKey(information, '') },
|
|
|
+ { name: '设计单位', value: getValueByKey(information, '') },
|
|
|
+ { name: '计税方式', value: getValueByKey(information, 'taxMode') },
|
|
|
+ { name: '文件类型', value: getValueByKey(information, 'projType') },
|
|
|
+ { name: '标准版本号', value: getValueByKey(information, '') },
|
|
|
+ { name: 'GUID', value: getValueByKey(information, '') }
|
|
|
];
|
|
|
Element.call(this, '工程信息', attrs);
|
|
|
}
|
|
|
|
|
|
- function ZhaoTBXX(){
|
|
|
- Element.call(this, '招投标信息');
|
|
|
- }
|
|
|
-
|
|
|
- function GongLGCSJ(){
|
|
|
- Element.call(this, '公路工程数据');
|
|
|
- }
|
|
|
-
|
|
|
function ZhaoBiaoXx(information) {
|
|
|
const attrs = [
|
|
|
- { name: '招标人', value: getValueByKey(information, 'tendereeName') }, // 招标人
|
|
|
- { name: 'Zxr', value: getValueByKey(information, 'costConsultant') }, // 造价咨询人
|
|
|
- { name: 'ZbrDb', value: getValueByKey(information, 'tenderAuthorizer') }, // 招标人法定代表人或其授权人
|
|
|
- { name: 'ZxrDb', value: getValueByKey(information, 'consultantAuthorizer') }, // 造价咨询人法定代表人或其授权人
|
|
|
- { name: 'Bzr', value: getValueByKey(information, 'tenderCompiler') }, // 编制人
|
|
|
- { name: 'Fhr', value: getValueByKey(information, 'tenderExaminer') }, // 复核人
|
|
|
- { name: 'BzTime', value: getValueByKey(information, 'compilationTime'), type: TYPE.DATE }, // 编制时间
|
|
|
- { name: 'FhTime', value: getValueByKey(information, 'reviewTime'), type: TYPE.DATE }, // 复核时间
|
|
|
+ { name: '招标人', value: getValueByKey(information, 'tendereeName') },
|
|
|
+ { name: '招标人纳税识别号', value: getValueByKey(information, 'tendereeTaxpayerIdentificationNo') },
|
|
|
+ { name: '招标法定代表人或其授权人', value: getValueByKey(information, 'tenderAuthorizer') },
|
|
|
+ { name: '招标法人或其授权人身份证号', value: getValueByKey(information, 'tenderAuthorizerIDNo') },
|
|
|
+ { name: '造价咨询人', value: getValueByKey(information, 'costConsultant') },
|
|
|
+ { name: '造价咨询人纳税识别号', value: getValueByKey(information, 'costConsultantTaxpayerIdentificationNo') },
|
|
|
+ { name: '造价咨询人法定代表人或其授权人', value: getValueByKey(information, 'consultantAuthorizer') },
|
|
|
+ { name: '造价咨询法人或其授权人身份证号', value: getValueByKey(information, 'consultantAuthorizerTaxpayerIdentificationNo') },
|
|
|
+ { name: '编制人', value: getValueByKey(information, 'tenderCompiler') },
|
|
|
+ { name: '编制人资格证号', value: getValueByKey(information, '') },
|
|
|
+ { name: '编制日期', value: getValueByKey(information, 'compilationTime'), type: TYPE.DATE},
|
|
|
+ { name: '复核人', value: getValueByKey(information, 'tenderExaminer') },
|
|
|
+ { name: '复核人资格证号', value: getValueByKey(information, '') },
|
|
|
+ { name: '复核日期', value: getValueByKey(information, 'reviewTime'), type: TYPE.DATE }
|
|
|
];
|
|
|
- // 额外字段
|
|
|
- const extraMap = {
|
|
|
- '淮北': [
|
|
|
- { name: 'ZbrNssbh', value: getValueByKey(information, 'tendereeTaxpayerIdentificationNo') }, // 招标人纳税识别号
|
|
|
- { name: 'ZxrNssbh', value: getValueByKey(information, 'costConsultantTaxpayerIdentificationNo') }, // 造价咨询人纳税识别号
|
|
|
- { name: 'ZbrDbSfzh', value: getValueByKey(information, 'tenderAuthorizerIDNo') }, // 招标人法定代表人或其授权人身份证号
|
|
|
- { name: 'ZxrNssbh', value: getValueByKey(information, 'consultantAuthorizerTaxpayerIdentificationNo') }, // 造价咨询人法定代表或其授权人纳税识别号
|
|
|
- ]
|
|
|
- };
|
|
|
- if (extraMap[subArea]) {
|
|
|
- attrs.push(...extraMap[subArea]);
|
|
|
- }
|
|
|
Element.call(this, '招标信息', attrs);
|
|
|
}
|
|
|
-
|
|
|
function ZhaoBiaoKzXx(information, totalCost) {
|
|
|
const attrs = [
|
|
|
- { name: 'Zbr', value: getValueByKey(information, 'tendereeName') }, // 招标人
|
|
|
- { name: 'Zxr', value: getValueByKey(information, 'costConsultant') }, // 造价咨询人
|
|
|
- { name: 'ZbrDb', value: getValueByKey(information, 'tenderAuthorizer') }, // 招标人法定代表人或其授权人
|
|
|
- { name: 'ZxrDb', value: getValueByKey(information, 'consultantAuthorizer') }, // 造价咨询人法定代表人或其授权人
|
|
|
- { name: 'Bzr', value: getValueByKey(information, 'tenderCompiler') }, // 编制人
|
|
|
- { name: 'Fhr', value: getValueByKey(information, 'tenderExaminer') }, // 复核人
|
|
|
- { name: 'BzTime', value: getValueByKey(information, 'compilationTime'), type: TYPE.DATE }, // 编制时间
|
|
|
- { name: 'FhTime', value: getValueByKey(information, 'reviewTime'), type: TYPE.DATE }, // 复核时间
|
|
|
- { name: 'Zbkzj', value: totalCost, type: TYPE.DECIMAL }, // 控制价总价(元),取“投标报价”的金额。
|
|
|
+ { name: '招标人', value: getValueByKey(information, 'tendereeName') },
|
|
|
+ { name: '招标人纳税识别号', value: getValueByKey(information, 'tendereeTaxpayerIdentificationNo') },
|
|
|
+ { name: '招标法定代表人或其授权人', value: getValueByKey(information, 'tenderAuthorizer') },
|
|
|
+ { name: '招标法人或其授权人身份证号', value: getValueByKey(information, 'tenderAuthorizerIDNo') },
|
|
|
+ { name: '造价咨询人', value: getValueByKey(information, 'costConsultant') },
|
|
|
+ { name: '造价咨询人纳税识别号', value: getValueByKey(information, 'costConsultantTaxpayerIdentificationNo') },
|
|
|
+ { name: '造价咨询人法定代表人或其授权人', value: getValueByKey(information, 'consultantAuthorizer') },
|
|
|
+ { name: '造价咨询法人或其授权人身份证号', value: getValueByKey(information, 'consultantAuthorizerTaxpayerIdentificationNo') },
|
|
|
+ { name: '编制人', value: getValueByKey(information, 'tenderCompiler') },
|
|
|
+ { name: '编制人资格证号', value: getValueByKey(information, '') },
|
|
|
+ { name: '编制日期', value: getValueByKey(information, 'compilationTime'), type: TYPE.DATE},
|
|
|
+ { name: '复核人', value: getValueByKey(information, 'tenderExaminer') },
|
|
|
+ { name: '复核人资格证号', value: getValueByKey(information, '') },
|
|
|
+ { name: '复核日期', value: getValueByKey(information, 'reviewTime'), type: TYPE.DATE },
|
|
|
+ { name: '审核人', value: getValueByKey(information, 'tenderExaminer') },
|
|
|
+ { name: '审核人资格证号', value: getValueByKey(information, '') },
|
|
|
+ { name: '审核日期', value: getValueByKey(information, 'reviewTime'), type: TYPE.DATE },
|
|
|
+ { name: '控制价总价', value: totalCost, type: TYPE.DECIMAL },
|
|
|
+ { name: '工期', value: getValueByKey(information, '') },
|
|
|
+ { name: '质量要求', value: getValueByKey(information, '') }
|
|
|
];
|
|
|
- // 额外字段
|
|
|
- const extraMap = {
|
|
|
- '淮北': [
|
|
|
- { name: 'ZbrNssbh', value: getValueByKey(information, 'tendereeTaxpayerIdentificationNo') }, // 招标人纳税识别号
|
|
|
- { name: 'ZxrNssbh', value: getValueByKey(information, 'costConsultantTaxpayerIdentificationNo') }, // 造价咨询人纳税识别号
|
|
|
- { name: 'ZbrDbSfzh', value: getValueByKey(information, 'tenderAuthorizerIDNo') }, // 招标人法定代表人或其授权人身份证号
|
|
|
- { name: 'ZxrNssbh', value: getValueByKey(information, 'consultantAuthorizerTaxpayerIdentificationNo') }, // 造价咨询人法定代表或其授权人纳税识别号
|
|
|
- ]
|
|
|
- };
|
|
|
- if (extraMap[subArea]) {
|
|
|
- attrs.push(...extraMap[subArea]);
|
|
|
- }
|
|
|
Element.call(this, '招标控制价', attrs);
|
|
|
}
|
|
|
-
|
|
|
function TouBiaoXx(information, totalCost) {
|
|
|
const attrs = [
|
|
|
- { name: 'Zbr', value: getValueByKey(information, 'tendereeName') }, // 招标人
|
|
|
- { name: 'Tbr', value: getValueByKey(information, 'bidder') }, // 投标人
|
|
|
- { name: 'TbrDb', value: getValueByKey(information, 'bidderAuthorizer') }, // 投标人法定代表或其授权
|
|
|
- { name: 'Bzr', value: getValueByKey(information, 'tenderCompiler') }, // 编制人
|
|
|
- { name: 'BzTime', value: getValueByKey(information, 'compilationTime'), type: TYPE.DATE }, // 编制时间
|
|
|
- { name: 'Tbzj', value: totalCost, type: TYPE.DECIMAL }, // 控制价总价(元),取“投标报价”的金额。
|
|
|
+ { name: '投标人', value: getValueByKey(information, 'bidderName') },
|
|
|
+ { name: '投标人纳税识别号', value: getValueByKey(information, '') },
|
|
|
+ { name: '投标人法定代表或其授权人', value: getValueByKey(information, 'bidderAuthorizer') },
|
|
|
+ { name: '投标人法人或其授权人身份证号', value: getValueByKey(information, '') },
|
|
|
+ { name: '编制人', value: getValueByKey(information, 'tenderCompiler') },
|
|
|
+ { name: '编制人资格证号', value: getValueByKey(information, '') },
|
|
|
+ { name: '编制日期', value: getValueByKey(information, 'compilationTime'), type: TYPE.DATE},
|
|
|
+ { name: '复核人', value: getValueByKey(information, 'tenderExaminer') },
|
|
|
+ { name: '复核人资格证号', value: getValueByKey(information, '') },
|
|
|
+ { name: '复核日期', value: getValueByKey(information, 'reviewTime'), type: TYPE.DATE },
|
|
|
+ { name: '审核人', value: getValueByKey(information, 'tenderExaminer') },
|
|
|
+ { name: '审核人资格证号', value: getValueByKey(information, '') },
|
|
|
+ { name: '审核日期', value: getValueByKey(information, 'reviewTime'), type: TYPE.DATE },
|
|
|
+ { name: '投标总价', value: totalCost, type: TYPE.DECIMAL },
|
|
|
+ { name: '工期', value: getValueByKey(information, '') },
|
|
|
+ { name: '投标担保金额', value: getValueByKey(information, '') },
|
|
|
+ { name: '质量承诺', value: getValueByKey(information, '') },
|
|
|
+ { name: '投标担保方式', value: getValueByKey(information, '') },
|
|
|
+ { name: '造价软件品牌', value: getValueByKey(information, '') },
|
|
|
+ { name: '造价软件版本', value: getValueByKey(information, '') },
|
|
|
+ { name: '造价软件加密锁编号', value: getValueByKey(information, '') },
|
|
|
+ { name: '计算机硬件信息', value: getValueByKey(information, '') },
|
|
|
+ { name: '', value: getValueByKey(information, '') }
|
|
|
];
|
|
|
- // 额外字段
|
|
|
- const extraMap = {
|
|
|
- '淮北': [
|
|
|
- { name: 'ZbrNssbh', value: getValueByKey(information, 'tendereeTaxpayerIdentificationNo') }, // 招标人纳税识别号
|
|
|
- { name: 'TbrNssbh', value: getValueByKey(information, 'bidderTaxpayerIdentificationNo') }, // 投标人纳税识别号
|
|
|
- { name: 'TbrDbsfzh', value: getValueByKey(information, 'tenderAuthorizerIDNo') }, // 投标人法定代表或其授权人身份证号
|
|
|
- ]
|
|
|
- };
|
|
|
- if (extraMap[subArea]) {
|
|
|
- attrs.push(...extraMap[subArea]);
|
|
|
- }
|
|
|
Element.call(this, '投标信息', attrs);
|
|
|
}
|
|
|
|
|
|
- // 单项工程信息,因项目管理中无“单项工程”这一层,从单位工程的工程特征信息中拼凑出来
|
|
|
- function Dxgcxx(code, name) {
|
|
|
- const attrs = [
|
|
|
- { name: 'Dxgcbh', value: code, minLen: 1, whiteSpace: WHITE_SPACE.COLLAPSE }, // 单项工程编号
|
|
|
- { name: 'Dxgcmc', value: name }, // 单项工程名称
|
|
|
- ];
|
|
|
- Element.call(this, 'Dxgcxx', attrs);
|
|
|
- }
|
|
|
-
|
|
|
// 单位工程信息
|
|
|
function Dwgcxx(tenderName, feature) {
|
|
|
const attrs = [
|
|
|
@@ -520,25 +501,37 @@ INTERFACE_EXPORT = (() => {
|
|
|
const information = constructionData.property && constructionData.property.basicInformation || [];
|
|
|
const summaryInfo = constructionData.summaryInfo[constructionData.ID];
|
|
|
|
|
|
- const chiZGLGC = new ChiZGLGC(constructionData.name, information);
|
|
|
+ const chiZGLGC = new CreateNode('池州公路工程');
|
|
|
+
|
|
|
chiZGLGC.children.push(new GongCXX(information));
|
|
|
|
|
|
- const zhaoTBXX = new ZhaoTBXX();
|
|
|
+ const zhaoTBXX = new CreateNode('招投标信息');
|
|
|
chiZGLGC.children.push(zhaoTBXX);
|
|
|
+
|
|
|
+ const gongLGCSJ = new CreateNode('公路工程数据');
|
|
|
+ chiZGLGC.children.push(gongLGCSJ);
|
|
|
+
|
|
|
if (isBidInvitation) {
|
|
|
zhaoTBXX.children.push(new ZhaoBiaoXx(information));
|
|
|
} else if (isControl) {
|
|
|
zhaoTBXX.children.push(new ZhaoBiaoKzXx(information, summaryInfo.totalCost));
|
|
|
} else {
|
|
|
zhaoTBXX.children.push(new TouBiaoXx(information, summaryInfo.totalCost));
|
|
|
- }
|
|
|
-
|
|
|
- const gongLGCSJ = new GongLGCSJ(constructionData.name, information);
|
|
|
- chiZGLGC.children.push(gongLGCSJ);
|
|
|
+ };
|
|
|
|
|
|
// 将单位工程工程特征中,单项工程编号、名称相同的,插入到建设项目和分段(单位工程)的中间层。
|
|
|
const midLayerMap = {}; // 单项工程key(code@name)与单项工程节点映射
|
|
|
+ debugger;
|
|
|
for (const tenderData of constructionData.children) {
|
|
|
+ const gongLBDGC = new CreateNode('公路标段工程');
|
|
|
+ gongLGCSJ.children.push(gongLBDGC);
|
|
|
+ const attrs = [
|
|
|
+ { name: '序号', value: getValueByKey(information, '') },
|
|
|
+ { name: '标段名称', value: getValueByKey(information, '') },
|
|
|
+ { name: '金额', value: getValueByKey(information, '') },
|
|
|
+ { name: '唯一标识-Guid', value: getValueByKey(information, 'xxxxxxxxxxxxxxxxxx') }
|
|
|
+ ];
|
|
|
+
|
|
|
const feature = tenderData.property && tenderData.property.projectFeature || [];
|
|
|
const midLayerCode = getValueByKey(feature, 'singleProjNo');
|
|
|
const midLayerName = getValueByKey(feature, 'singleProjName');
|
|
|
@@ -548,6 +541,8 @@ INTERFACE_EXPORT = (() => {
|
|
|
// }
|
|
|
// midLayerMap[midLayerKey].children.push(setupTender(tenderData, feature));
|
|
|
}
|
|
|
+ const gongLGCHZ = new CreateNode('公路工程汇总');
|
|
|
+ gongLGCSJ.children.push(gongLGCHZ);
|
|
|
// 校验信息
|
|
|
const [cpuID, diskID, macID] = generateHardwareId().split(';');
|
|
|
const suffix = INTERFACE_CONFIG[areaKey]['fileSuffix'][exportKind];
|