|  | @@ -729,8 +729,6 @@
 | 
	
		
			
				|  |  |          spread.options.showHorizontalScrollbar = false;
 | 
	
		
			
				|  |  |          const sheet = spread.getActiveSheet();
 | 
	
		
			
				|  |  |          SpreadJsObj.protectedSheet(sheet);
 | 
	
		
			
				|  |  | -        //sheet.options.rowHeaderVisible = false;
 | 
	
		
			
				|  |  | -        //sheet.options.colHeaderVisible = false;
 | 
	
		
			
				|  |  |          sheet.setText(0, 0, '单位', spreadNS.SheetArea.colHeader);
 | 
	
		
			
				|  |  |          sheet.setText(0, 1, '精度', spreadNS.SheetArea.colHeader);
 | 
	
		
			
				|  |  |          sheet.setRowHeight(0, 32, spreadNS.SheetArea.colHeader);
 | 
	
	
		
			
				|  | @@ -756,7 +754,7 @@
 | 
	
		
			
				|  |  |              sheet.setColumnWidth(0, 100);
 | 
	
		
			
				|  |  |              sheet.setColumnWidth(1, 60);
 | 
	
		
			
				|  |  |              sheet.getRange(0, 0, 13, 1).vAlign(1).backColor('#e4e7ea').locked(true);
 | 
	
		
			
				|  |  | -            sheet.getRange(0, 1, 13, 1).vAlign(1).hAlign(2);
 | 
	
		
			
				|  |  | +            sheet.getRange(0, 1, 13, 1).vAlign(1).hAlign(2).locked(false);
 | 
	
		
			
				|  |  |              sheet.setText(0, 0, 't');
 | 
	
		
			
				|  |  |              sheet.setText(1, 0, 'km');
 | 
	
		
			
				|  |  |              sheet.setText(2, 0, 'm');
 | 
	
	
		
			
				|  | @@ -791,18 +789,14 @@
 | 
	
		
			
				|  |  |          });
 | 
	
		
			
				|  |  |          SpreadJsObj.addDeleteBind(spread, function (sheet) {
 | 
	
		
			
				|  |  |              const sel = sheet.getSelections()[0];
 | 
	
		
			
				|  |  | -            let calc = false;
 | 
	
		
			
				|  |  |              if (sel) {
 | 
	
		
			
				|  |  |                  for (let iRow = sel.row, iRowLength = sel.row + sel.rowCount; iRow < iRowLength; iRow++) {
 | 
	
		
			
				|  |  | -                    if (iRow === 3) continue;
 | 
	
		
			
				|  |  |                      for (let iCol = sel.col, iColLength = sel.col + sel.colCount; iCol < iColLength; iCol++) {
 | 
	
		
			
				|  |  | -                        if (iCol !== 2) continue;
 | 
	
		
			
				|  |  | +                        if (iCol !== 1) continue;
 | 
	
		
			
				|  |  |                          sheet.setText(iRow, iCol, '0');
 | 
	
		
			
				|  |  | -                        if (iRow === 1 || iRow === 2) calc = true;
 | 
	
		
			
				|  |  |                      }
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  | -            if (calc) calcHtjMinusZlj();
 | 
	
		
			
				|  |  |          });
 | 
	
		
			
				|  |  |          spread.bind(spreadNS.Events.ClipboardPasted, function (e, info) {
 | 
	
		
			
				|  |  |              let bHint = false;
 | 
	
	
		
			
				|  | @@ -905,38 +899,47 @@
 | 
	
		
			
				|  |  |          spread.options.showHorizontalScrollbar = false;
 | 
	
		
			
				|  |  |          const sheet = spread.getActiveSheet();
 | 
	
		
			
				|  |  |          SpreadJsObj.protectedSheet(sheet);
 | 
	
		
			
				|  |  | +        sheet.setText(0, 0, '参数名', spreadNS.SheetArea.colHeader);
 | 
	
		
			
				|  |  | +        sheet.setText(0, 1, '参数值', spreadNS.SheetArea.colHeader);
 | 
	
		
			
				|  |  | +        sheet.setRowHeight(0, 32, spreadNS.SheetArea.colHeader);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          const vStyle = new spreadNS.Style();
 | 
	
		
			
				|  |  |          vStyle.font = '12px 微软雅黑';
 | 
	
		
			
				|  |  |          sheet.setDefaultStyle(vStyle, spreadNS.SheetArea.viewport);
 | 
	
		
			
				|  |  | +        const xStyle = new spreadNS.Style();
 | 
	
		
			
				|  |  | +        xStyle.font = '12px 微软雅黑';
 | 
	
		
			
				|  |  | +        xStyle.vAlign = 1;
 | 
	
		
			
				|  |  | +        xStyle.hAlign = 1;
 | 
	
		
			
				|  |  | +        sheet.setDefaultStyle(xStyle, spreadNS.SheetArea.colHeader);
 | 
	
		
			
				|  |  | +        const yStyle = new spreadNS.Style();
 | 
	
		
			
				|  |  | +        yStyle.font = '12px 微软雅黑';
 | 
	
		
			
				|  |  | +        yStyle.vAlign = 1;
 | 
	
		
			
				|  |  | +        yStyle.hAlign = 1;
 | 
	
		
			
				|  |  | +        sheet.setDefaultStyle(yStyle, spreadNS.SheetArea.rowHeader);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          SpreadJsObj.massOperationSheet(sheet, function () {
 | 
	
		
			
				|  |  | -            sheet.options.rowHeaderVisible = false;
 | 
	
		
			
				|  |  | -            sheet.options.colHeaderVisible = false;
 | 
	
		
			
				|  |  | -            sheet.defaults.rowHeight = 25;
 | 
	
		
			
				|  |  | -            sheet.setColumnCount(3);
 | 
	
		
			
				|  |  | -            sheet.setRowCount(6);
 | 
	
		
			
				|  |  | -            sheet.setColumnWidth(0, 1);
 | 
	
		
			
				|  |  | +            sheet.defaults.rowHeight = 21;
 | 
	
		
			
				|  |  | +            sheet.setColumnCount(2);
 | 
	
		
			
				|  |  | +            sheet.setRowCount(5);
 | 
	
		
			
				|  |  | +            sheet.setColumnWidth(0, 200);
 | 
	
		
			
				|  |  |              sheet.setColumnWidth(1, 200);
 | 
	
		
			
				|  |  | -            sheet.setColumnWidth(2, 200);
 | 
	
		
			
				|  |  | -            sheet.setRowHeight(0, 1);
 | 
	
		
			
				|  |  | -            sheet.getRange(1, 1, 5, 1).vAlign(1).backColor('#e4e7ea').locked(true);
 | 
	
		
			
				|  |  | -            sheet.getRange(1, 2, 5, 1).vAlign(1).hAlign(2).locked(true);
 | 
	
		
			
				|  |  | -            sheet.setText(1, 1, '签约合同价');
 | 
	
		
			
				|  |  | -            sheet.setText(2, 1, '暂列金额');
 | 
	
		
			
				|  |  | -            sheet.setText(3, 1, '签约合同价(不含暂列金)');
 | 
	
		
			
				|  |  | -            sheet.setText(4, 1, '签约开工预付款');
 | 
	
		
			
				|  |  | -            sheet.setText(5, 1, '签约材料预付款');
 | 
	
		
			
				|  |  | -            const lineBorder = new spreadNS.LineBorder('#6a696e', spreadNS.LineStyle.thin);
 | 
	
		
			
				|  |  | -            sheet.getRange(0, 0, 6, 3).setBorder(lineBorder, {all: true});
 | 
	
		
			
				|  |  | -            sheet.getRange(0, 0, 6, 3).formatter('@');
 | 
	
		
			
				|  |  | -            sheet.setSelection(1, 2, 1, 1);
 | 
	
		
			
				|  |  | +            sheet.getRange(0, 0, 5, 1).vAlign(1).backColor('#e4e7ea').locked(true);
 | 
	
		
			
				|  |  | +            sheet.getRange(0, 1, 5, 1).vAlign(1).hAlign(2).locked(false);
 | 
	
		
			
				|  |  | +            sheet.setText(0, 0, '签约合同价');
 | 
	
		
			
				|  |  | +            sheet.setText(1, 0, '暂列金额');
 | 
	
		
			
				|  |  | +            sheet.setText(2, 0, '签约合同价(不含暂列金)');
 | 
	
		
			
				|  |  | +            sheet.setText(3, 0, '签约开工预付款');
 | 
	
		
			
				|  |  | +            sheet.setText(4, 0, '签约材料预付款');
 | 
	
		
			
				|  |  | +            const lineBorder = new spreadNS.LineBorder('#dee2e6', spreadNS.LineStyle.thin);
 | 
	
		
			
				|  |  | +            sheet.getRange(0, 0, 5, 2).setBorder(lineBorder, {all: true});
 | 
	
		
			
				|  |  | +            sheet.getRange(0, 0, 5, 2).formatter('@');
 | 
	
		
			
				|  |  | +            sheet.setSelection(0, 1, 1, 1);
 | 
	
		
			
				|  |  |          });
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          function calcHtjMinusZlj() {
 | 
	
		
			
				|  |  | -            const htj = _.toNumber(sheet.getText(1, 2));
 | 
	
		
			
				|  |  | -            const zlj = _.toNumber(sheet.getText(2, 2));
 | 
	
		
			
				|  |  | -            sheet.setValue(3, 2, ZhCalc.sub(zlj, htj));
 | 
	
		
			
				|  |  | +            const htj = _.toNumber(sheet.getText(0, 1));
 | 
	
		
			
				|  |  | +            const zlj = _.toNumber(sheet.getText(1, 1));
 | 
	
		
			
				|  |  | +            sheet.setValue(2, 1, ZhCalc.sub(htj, zlj));
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          spread.bind(spreadNS.Events.EditEnded, function (e, info) {
 | 
	
	
		
			
				|  | @@ -957,11 +960,11 @@
 | 
	
		
			
				|  |  |              let calc = false;
 | 
	
		
			
				|  |  |              if (sel) {
 | 
	
		
			
				|  |  |                  for (let iRow = sel.row, iRowLength = sel.row + sel.rowCount; iRow < iRowLength; iRow++) {
 | 
	
		
			
				|  |  | -                    if (iRow === 3) continue;
 | 
	
		
			
				|  |  | +                    if (iRow === 2) continue;
 | 
	
		
			
				|  |  |                      for (let iCol = sel.col, iColLength = sel.col + sel.colCount; iCol < iColLength; iCol++) {
 | 
	
		
			
				|  |  | -                        if (iCol !== 2) continue;
 | 
	
		
			
				|  |  | +                        if (iCol !== 1) continue;
 | 
	
		
			
				|  |  |                          sheet.setText(iRow, iCol, '0');
 | 
	
		
			
				|  |  | -                        if (iRow === 1 || iRow === 2) calc = true;
 | 
	
		
			
				|  |  | +                        if (iRow === 0 || iRow === 1) calc = true;
 | 
	
		
			
				|  |  |                      }
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |              }
 | 
	
	
		
			
				|  | @@ -987,26 +990,25 @@
 | 
	
		
			
				|  |  |          });
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          function loadDealProperty() {
 | 
	
		
			
				|  |  | -            $('#hint-4').hide();
 | 
	
		
			
				|  |  | -            sheet.setValue(1, 2, property.deal_param.contractPrice);
 | 
	
		
			
				|  |  | -            sheet.setValue(2, 2, property.deal_param.zanLiePrice);
 | 
	
		
			
				|  |  | -            sheet.setValue(3, 2, ZhCalc.sub(property.deal_param.zanLiePrice, property.deal_param.contractPrice));
 | 
	
		
			
				|  |  | -            sheet.setValue(4, 2, property.deal_param.startAdvance);
 | 
	
		
			
				|  |  | -            sheet.setValue(5, 2, property.deal_param.materialAdvance);
 | 
	
		
			
				|  |  | +            sheet.setValue(0, 1, property.deal_param.contractPrice);
 | 
	
		
			
				|  |  | +            sheet.setValue(1, 1, property.deal_param.zanLiePrice);
 | 
	
		
			
				|  |  | +            sheet.setValue(2, 1, ZhCalc.sub(property.deal_param.contractPrice, property.deal_param.zanLiePrice));
 | 
	
		
			
				|  |  | +            sheet.setValue(3, 1, property.deal_param.startAdvance);
 | 
	
		
			
				|  |  | +            sheet.setValue(4, 1, property.deal_param.materialAdvance);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          function setReadOnly (readOnly) {
 | 
	
		
			
				|  |  | -            sheet.getCell(1, 2).locked(readOnly);
 | 
	
		
			
				|  |  | -            sheet.getCell(2, 2).locked(readOnly);
 | 
	
		
			
				|  |  | -            sheet.getCell(4, 2).locked(readOnly);
 | 
	
		
			
				|  |  | -            sheet.getCell(5, 2).locked(readOnly);
 | 
	
		
			
				|  |  | +            sheet.getCell(0, 1).locked(readOnly);
 | 
	
		
			
				|  |  | +            sheet.getCell(1, 1).locked(readOnly);
 | 
	
		
			
				|  |  | +            sheet.getCell(3, 1).locked(readOnly);
 | 
	
		
			
				|  |  | +            sheet.getCell(4, 1).locked(readOnly);
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          function getNewDealData () {
 | 
	
		
			
				|  |  |              const result = {};
 | 
	
		
			
				|  |  | -            result.contractPrice = _.toNumber(sheet.getText(1, 2));
 | 
	
		
			
				|  |  | -            result.zanLiePrice = _.toNumber(sheet.getText(2, 2));
 | 
	
		
			
				|  |  | -            result.startAdvance = _.toNumber(sheet.getText(4, 2));
 | 
	
		
			
				|  |  | -            result.materialAdvance = _.toNumber(sheet.getText(5, 2));
 | 
	
		
			
				|  |  | +            result.contractPrice = _.toNumber(sheet.getText(0, 1));
 | 
	
		
			
				|  |  | +            result.zanLiePrice = _.toNumber(sheet.getText(1, 1));
 | 
	
		
			
				|  |  | +            result.startAdvance = _.toNumber(sheet.getText(3, 1));
 | 
	
		
			
				|  |  | +            result.materialAdvance = _.toNumber(sheet.getText(4, 1));
 | 
	
		
			
				|  |  |              return result;
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 |