|  | @@ -9,7 +9,7 @@
 | 
	
		
			
				|  |  |   */
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  const billsSpreadSetting = {
 | 
	
		
			
				|  |  | -    preCols: [
 | 
	
		
			
				|  |  | +    baseCols: [
 | 
	
		
			
				|  |  |          {title: '项目节编号', colSpan: '1', rowSpan: '2', field: 'code', hAlign: 0, width: 150, formatter: '@', cellType: 'tree'},
 | 
	
		
			
				|  |  |          {title: '清单编号', colSpan: '1', rowSpan: '2', field: 'b_code', hAlign: 0, width: 80, formatter: '@'},
 | 
	
		
			
				|  |  |          {title: '名称', colSpan: '1', rowSpan: '2', field: 'name', hAlign: 0, width: 230, formatter: '@'},
 | 
	
	
		
			
				|  | @@ -18,7 +18,6 @@ const billsSpreadSetting = {
 | 
	
		
			
				|  |  |          {title: '台账|数量', colSpan: '2|1', rowSpan: '1|1', field: 'quantity', hAlign: 2, width: 60, type: 'Number', },
 | 
	
		
			
				|  |  |          {title: '|金额', colSpan: '|1', rowSpan: '|1', field: 'total_price', hAlign: 2, width: 60, type: 'Number', },
 | 
	
		
			
				|  |  |      ],
 | 
	
		
			
				|  |  | -    endCols: [],
 | 
	
		
			
				|  |  |      extraCols: [
 | 
	
		
			
				|  |  |          {title: '%s|数量', colSpan: '2|1', rowSpan: '1|1', field: '{%s}_qty{%d}', hAlign: 2, width: 60, type: 'Number', },
 | 
	
		
			
				|  |  |          {title: '|金额', colSpan: '|1', rowSpan: '|1', field: '{%s}_tp{%d}', hAlign: 2, width: 60, type: 'Number', },
 | 
	
	
		
			
				|  | @@ -33,11 +32,10 @@ const billsSpreadSetting = {
 | 
	
		
			
				|  |  |      selectedBackColor: '#fffacd',
 | 
	
		
			
				|  |  |  };
 | 
	
		
			
				|  |  |  const posSpreadSetting = {
 | 
	
		
			
				|  |  | -    preCols: [
 | 
	
		
			
				|  |  | +    baseCols: [
 | 
	
		
			
				|  |  |          {title: '名称', colSpan: '1', rowSpan: '1', field: 'name', hAlign: 0, width: 230, formatter: '@'},
 | 
	
		
			
				|  |  |          {title: '台账数量', colSpan: '1', rowSpan: '1', field: 'quantity', hAlign: 2, width: 60},
 | 
	
		
			
				|  |  |      ],
 | 
	
		
			
				|  |  | -    endCols: [],
 | 
	
		
			
				|  |  |      extraCols: [
 | 
	
		
			
				|  |  |          {title: '%s数量', colSpan: '1', rowSpan: '1', field: '{%s}_qty{%d}', hAlign: 2, width: 60},
 | 
	
		
			
				|  |  |      ],
 | 
	
	
		
			
				|  | @@ -53,7 +51,7 @@ const posSpreadSetting = {
 | 
	
		
			
				|  |  |  };
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  const gclSpreadSetting = {
 | 
	
		
			
				|  |  | -    preCols: [
 | 
	
		
			
				|  |  | +    baseCols: [
 | 
	
		
			
				|  |  |          {title: '清单编号', colSpan: '1', rowSpan: '2', field: 'b_code', hAlign: 0, width: 80, formatter: '@'},
 | 
	
		
			
				|  |  |          {title: '名称', colSpan: '1', rowSpan: '2', field: 'name', hAlign: 0, width: 230, formatter: '@'},
 | 
	
		
			
				|  |  |          {title: '单位', colSpan: '1', rowSpan: '2', field: 'unit', hAlign: 1, width: 60, formatter: '@', cellType: 'unit'},
 | 
	
	
		
			
				|  | @@ -63,7 +61,6 @@ const gclSpreadSetting = {
 | 
	
		
			
				|  |  |          {title: '台账|数量', colSpan: '2|1', rowSpan: '1|1', field: 'quantity', hAlign: 2, width: 60, type: 'Number'},
 | 
	
		
			
				|  |  |          {title: '|金额', colSpan: '|1', rowSpan: '|1', field: 'total_price', hAlign: 2, width: 60, type: 'Number'},
 | 
	
		
			
				|  |  |      ],
 | 
	
		
			
				|  |  | -    endCols: [],
 | 
	
		
			
				|  |  |      extraCols: [
 | 
	
		
			
				|  |  |          {title: '%s|数量', colSpan: '2|1', rowSpan: '1|1', field: '{%s}_qty{%d}', hAlign: 2, width: 60, type: 'Number', },
 | 
	
		
			
				|  |  |          {title: '|金额', colSpan: '|1', rowSpan: '|1', field: '{%s}_tp{%d}', hAlign: 2, width: 60, type: 'Number', },
 | 
	
	
		
			
				|  | @@ -78,17 +75,15 @@ const gclSpreadSetting = {
 | 
	
		
			
				|  |  |      readOnly: true,
 | 
	
		
			
				|  |  |  };
 | 
	
		
			
				|  |  |  const leafXmjSpreadSetting = {
 | 
	
		
			
				|  |  | -    preCols: [
 | 
	
		
			
				|  |  | +    baseCols: [
 | 
	
		
			
				|  |  |          {title: '项目节编号', colSpan: '1', rowSpan: '2', field: 'code', hAlign: 0, width: 100, formatter: '@'},
 | 
	
		
			
				|  |  | -        {title: '台账数量', colSpan: '1', rowSpan: '2', field: 'quantity', hAlign: 2, width: 60, type: 'Number'},
 | 
	
		
			
				|  |  | -    ],
 | 
	
		
			
				|  |  | -    endCols: [
 | 
	
		
			
				|  |  |          {title: '单位工程', colSpan: '1', rowSpan: '2', field: 'dwgc', hAlign: 0, width: 80, formatter: '@'},
 | 
	
		
			
				|  |  |          {title: '分部工程', colSpan: '1', rowSpan: '2', field: 'fbgc', hAlign: 0, width: 80, formatter: '@'},
 | 
	
		
			
				|  |  |          {title: '分项工程', colSpan: '1', rowSpan: '2', field: 'fxgc', hAlign: 0, width: 80, formatter: '@'},
 | 
	
		
			
				|  |  |          {title: '细目', colSpan: '1', rowSpan: '2', field: 'jldy', hAlign: 0, width: 80, formatter: '@'},
 | 
	
		
			
				|  |  |          {title: '计量单元', colSpan: '1', rowSpan: '2', field: 'bwmx', hAlign: 0, width: 80, formatter: '@'},
 | 
	
		
			
				|  |  |          {title: '图册号', colSpan: '1', rowSpan: '2', field: 'drawing_code', hAlign: 0, width: 80, formatter: '@'},
 | 
	
		
			
				|  |  | +        {title: '台账数量', colSpan: '1', rowSpan: '2', field: 'quantity', hAlign: 2, width: 60, type: 'Number'},
 | 
	
		
			
				|  |  |      ],
 | 
	
		
			
				|  |  |      extraCols: [
 | 
	
		
			
				|  |  |          {title: '%s数量', colSpan: '1', rowSpan: '2', field: '{%s}_qty{%d}', hAlign: 2, width: 60},
 | 
	
	
		
			
				|  | @@ -115,15 +110,14 @@ function initSpreadSettingWithRoles(compareRoles) {
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          setting.cols = [];
 | 
	
		
			
				|  |  | -        for (const col of setting.preCols) {
 | 
	
		
			
				|  |  | +        for (const col of setting.baseCols) {
 | 
	
		
			
				|  |  |              setting.cols.push(col);
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | +        setting.frozenColCount = setting.baseCols.length;
 | 
	
		
			
				|  |  | +        setting.frozenLineColor = '#93b5e4';
 | 
	
		
			
				|  |  |          for (const index in fieldSufs) {
 | 
	
		
			
				|  |  |              addExtraCols(fieldSufs[index], Roles[index]);
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | -        for (const col of setting.endCols) {
 | 
	
		
			
				|  |  | -            setting.cols.push(col);
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |      const fieldSufs = [], roles = [], trs = $('tr[stage-id]');
 | 
	
		
			
				|  |  |      for (let r of compareRoles) {
 |