|  | @@ -305,6 +305,55 @@ const stage_pay = {
 | 
	
		
			
				|  |  |      ],
 | 
	
		
			
				|  |  |  };
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +// 期 - 中间计量
 | 
	
		
			
				|  |  | +const stage_im_zl = {
 | 
	
		
			
				|  |  | +    Name: '期-中间计量-总量-数据(mem_stage_im_zl)',
 | 
	
		
			
				|  |  | +    remark: '',
 | 
	
		
			
				|  |  | +    id: 21,
 | 
	
		
			
				|  |  | +    key: 'mem_stage_im_zl',
 | 
	
		
			
				|  |  | +    prefix: '期-中间计量-总量',
 | 
	
		
			
				|  |  | +    cols: [
 | 
	
		
			
				|  |  | +        {name: '台账id', field: 'lid', type: dataType.str},
 | 
	
		
			
				|  |  | +        {name: '部位id', field: 'pid', type: dataType.str},
 | 
	
		
			
				|  |  | +        {name: '编号', field: 'code', type: dataType.str},
 | 
	
		
			
				|  |  | +        {name: '名称', field: 'name', type: dataType.str},
 | 
	
		
			
				|  |  | +        {name: '单位', field: 'unit', type: dataType.str},
 | 
	
		
			
				|  |  | +        {name: '单价', field: 'unit_price', type: dataType.currency},
 | 
	
		
			
				|  |  | +        {name: '本期数量', field: 'jl', type: dataType.currency},
 | 
	
		
			
				|  |  | +        {name: '本期合同数量', field: 'contract_jl', type: dataType.currency},
 | 
	
		
			
				|  |  | +        {name: '本期变更数量', field: 'qc_jl', type: dataType.currency},
 | 
	
		
			
				|  |  | +        {name: '桩号', field: 'peg', type: dataType.str},
 | 
	
		
			
				|  |  | +        {name: '图册号', field: 'drawing_code', type: dataType.str},
 | 
	
		
			
				|  |  | +        {name: '勾选标记 - 勿用', field: 'check', type: dataType.int},
 | 
	
		
			
				|  |  | +        {name: '部位', field: 'bw', type: dataType.str},
 | 
	
		
			
				|  |  | +        {name: '细目', field: 'xm', type: dataType.str},
 | 
	
		
			
				|  |  | +        {name: '凭证号', field: 'doc_code', type: dataType.str},
 | 
	
		
			
				|  |  | +        {name: '计算式说明', field: 'calc_memo', type: dataType.str},
 | 
	
		
			
				|  |  | +        {name: '草图', field: 'calc_img', type: dataType.str, isPic: true},
 | 
	
		
			
				|  |  | +        {name: '变更令号', field: 'bgl_code', type: dataType.str},
 | 
	
		
			
				|  |  | +        {name: '变更图号', field: 'bgl_drawing_code', type: dataType.str},
 | 
	
		
			
				|  |  | +        {name: '中间计量表号', field: 'im_code', type: dataType.str},
 | 
	
		
			
				|  |  | +        {name: '截止上期 - 本期数量', field: 'pre_jl', type: dataType.currency},
 | 
	
		
			
				|  |  | +        {name: '截止上期 - 本期合同数量', field: 'pre_contract_jl', type: dataType.currency},
 | 
	
		
			
				|  |  | +        {name: '截止上期 - 本期变更数量', field: 'pre_qc_jl', type: dataType.currency},
 | 
	
		
			
				|  |  | +        {name: '截止本期 - 本期数量', field: 'end_jl', type: dataType.currency},
 | 
	
		
			
				|  |  | +        {name: '截止本期 - 本期合同数量', field: 'end_contract_jl', type: dataType.currency},
 | 
	
		
			
				|  |  | +        {name: '截止本期 - 本期变更数量', field: 'end_qc_jl', type: dataType.currency},
 | 
	
		
			
				|  |  | +        {name: '本期金额', field: 'tp', type: dataType.currency},
 | 
	
		
			
				|  |  | +        {name: '本期合同金额', field: 'contract_tp', type: dataType.currency},
 | 
	
		
			
				|  |  | +        {name: '本期变更金额', field: 'qc_tp', type: dataType.currency},
 | 
	
		
			
				|  |  | +        {name: '截止上期 - 本期金额', field: 'pre_tp', type: dataType.currency},
 | 
	
		
			
				|  |  | +        {name: '截止上期 - 本期合同金额', field: 'pre_contract_tp', type: dataType.currency},
 | 
	
		
			
				|  |  | +        {name: '截止上期 - 本期变更金额', field: 'pre_qc_tp', type: dataType.currency},
 | 
	
		
			
				|  |  | +        {name: '截止本期 - 本期金额', field: 'end_tp', type: dataType.currency},
 | 
	
		
			
				|  |  | +        {name: '截止本期 - 本期合同金额', field: 'end_contract_tp', type: dataType.currency},
 | 
	
		
			
				|  |  | +        {name: '截止本期 - 本期变更金额', field: 'end_qc_tp', type: dataType.currency},
 | 
	
		
			
				|  |  | +        {name: '台账数量', field: 'quantity', type: dataType.currency},
 | 
	
		
			
				|  |  | +        {name: '台账金额', field: 'total_price', type: dataType.currency},
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    ]
 | 
	
		
			
				|  |  | +};
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  const recursiveMkdirSync = async function (pathName) {
 | 
	
		
			
				|  |  |      if (!fs.existsSync(pathName)) {
 | 
	
		
			
				|  |  |          const upperPath = path.dirname(pathName);
 | 
	
	
		
			
				|  | @@ -322,23 +371,23 @@ const saveBufferFile = async function (buffer, fileName) {
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |      await fs.writeFileSync(fileName, buffer);
 | 
	
		
			
				|  |  |  };
 | 
	
		
			
				|  |  | -const addFields = function(table, name, field, type, tag) {
 | 
	
		
			
				|  |  | +const addFields = function(table, col) {
 | 
	
		
			
				|  |  |      const data = {};
 | 
	
		
			
				|  |  |      data.ID = table.ID * 100 + table.items.length + 1;
 | 
	
		
			
				|  |  | -    data.Name = name + '(' + field + ')';
 | 
	
		
			
				|  |  | +    data.Name = col.name + '(' + col.field + ')';
 | 
	
		
			
				|  |  |      if (table.prefix && table.prefix !== '') data.Name = table.prefix + '-' + data.Name;
 | 
	
		
			
				|  |  | -    data.DataType = type;
 | 
	
		
			
				|  |  | +    data.DataType = col.type;
 | 
	
		
			
				|  |  |      data.TableName = table.key;
 | 
	
		
			
				|  |  |      data.descr = '';
 | 
	
		
			
				|  |  | -    data.mapExpression = "$PROJECT.REPORT.getProperty('" + table.key + "', '" + field + "')";
 | 
	
		
			
				|  |  | -    if (tag) {
 | 
	
		
			
				|  |  | +    data.mapExpression = "$PROJECT.REPORT.getProperty('" + table.key + "', '" + col.field + "')";
 | 
	
		
			
				|  |  | +    if (col.tag) {
 | 
	
		
			
				|  |  |          switch (tag.type) {
 | 
	
		
			
				|  |  |              case 'up':
 | 
	
		
			
				|  |  |                  data.Precision = { type: "fixed", fixedMapExpression: "$PROJECT.REPORT.getProperty('tender_info', 'decimal.up')" };
 | 
	
		
			
				|  |  |                  break;
 | 
	
		
			
				|  |  |              case 'tp':
 | 
	
		
			
				|  |  | -                if (tag.subType) {
 | 
	
		
			
				|  |  | -                    data.Precision = { type: "fixed", fixedMapExpression: "$PROJECT.REPORT.getProperty('tender_info', 'decimal." + "_" + tag.subType + "_tp')" };
 | 
	
		
			
				|  |  | +                if (col.tag.subType) {
 | 
	
		
			
				|  |  | +                    data.Precision = { type: "fixed", fixedMapExpression: "$PROJECT.REPORT.getProperty('tender_info', 'decimal." + "_" + col.tag.subType + "_tp')" };
 | 
	
		
			
				|  |  |                  } else {
 | 
	
		
			
				|  |  |                      data.Precision = { type: "fixed", fixedMapExpression: "$PROJECT.REPORT.getProperty('tender_info', 'decimal.tp')" };
 | 
	
		
			
				|  |  |                  }
 | 
	
	
		
			
				|  | @@ -348,6 +397,9 @@ const addFields = function(table, name, field, type, tag) {
 | 
	
		
			
				|  |  |                  break;
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  | +    if (col.isPic) {
 | 
	
		
			
				|  |  | +        data.isPic = true;
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  |      table.items.push(data);
 | 
	
		
			
				|  |  |  };
 | 
	
		
			
				|  |  |  const saveTableDefine = async function (tableDefine, file) {
 | 
	
	
		
			
				|  | @@ -386,12 +438,17 @@ const exportTableDefine = async function (define) {
 | 
	
		
			
				|  |  |      tableDefine.items = [];
 | 
	
		
			
				|  |  |      tableDefine.prefix = define.prefix;
 | 
	
		
			
				|  |  |      for (const col of define.cols) {
 | 
	
		
			
				|  |  | -        addFields(tableDefine, col.name, col.field, col.type, col.tag);
 | 
	
		
			
				|  |  | +        addFields(tableDefine, col);
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |      await saveTableDefine(tableDefine, path.join(savePath, define.key + '_define.json'));
 | 
	
		
			
				|  |  |  };
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -const defines = [stage_jgcl, stage_bonus, stage_other, change, change_bills, stage_pos, stage_pos_compare, stage_pay];
 | 
	
		
			
				|  |  | +const defines = [stage_jgcl, stage_bonus, stage_other,
 | 
	
		
			
				|  |  | +    change, change_bills,
 | 
	
		
			
				|  |  | +    stage_pos, stage_pos_compare,
 | 
	
		
			
				|  |  | +    stage_pay,
 | 
	
		
			
				|  |  | +    stage_im_zl
 | 
	
		
			
				|  |  | +];
 | 
	
		
			
				|  |  |  for (const d of defines) {
 | 
	
		
			
				|  |  |      exportTableDefine(d);
 | 
	
		
			
				|  |  |  }
 |