|  | @@ -69,12 +69,12 @@
 | 
	
		
			
				|  |  |                  </div>
 | 
	
		
			
				|  |  |              </div>
 | 
	
		
			
				|  |  |              <div class="main-side col-lg-5 p-0">
 | 
	
		
			
				|  |  | -              <div class="container-fluid">
 | 
	
		
			
				|  |  | -                  <div  style="width:50%; height: 100%; float: left;">
 | 
	
		
			
				|  |  | +              <div class="container-fluid" style="overflow: auto; height: 100%">
 | 
	
		
			
				|  |  | +                  <div  style="width:50%; height: 330px; float: left;">
 | 
	
		
			
				|  |  |                        <h5>工作内容</h5>
 | 
	
		
			
				|  |  |                        <div id="spreadJobs" class="ovf-hidden" style="width:97%; height: 300px;"></div>
 | 
	
		
			
				|  |  |                    </div>
 | 
	
		
			
				|  |  | -                  <div  style="width:50%; height: 100%; float: left;">
 | 
	
		
			
				|  |  | +                  <div  style="width:50%; height: 330px; float: left;">
 | 
	
		
			
				|  |  |                        <h5>项目特征</h5>
 | 
	
		
			
				|  |  |                        <div id="spreadItems" class="ovf-hidden" style="width: 97%; height: 300px;"></div>
 | 
	
		
			
				|  |  |                    </div>
 | 
	
	
		
			
				|  | @@ -84,10 +84,14 @@
 | 
	
		
			
				|  |  |                        <textarea id="exampleTextarea" name="editor" class="form-control" rows="8"></textarea>
 | 
	
		
			
				|  |  |                    </div>-->
 | 
	
		
			
				|  |  |                    <div class="form-group">
 | 
	
		
			
				|  |  | -                      <a class="pull-right" href="javacript:void(0);" data-toggle="modal" data-target="#help" >html怎么写?</a>
 | 
	
		
			
				|  |  | -                      <a trigger="billsRecharge" class="pull-right mr-3 uploadImgTrigger lock-btn-control" href="javacript:void(0);" data-toggle="modal" data-target="#uploadimg" ><i class="fa fa-image"></i>上传图片</a>
 | 
	
		
			
				|  |  | -                      <label for="exampleTextarea">补注:</label>
 | 
	
		
			
				|  |  | -                      <textarea class="form-control" id="exampleTextarea" rows="8"></textarea>
 | 
	
		
			
				|  |  | +                    <a class="pull-right" href="javacript:void(0);" data-toggle="modal" data-target="#help" >html怎么写?</a>
 | 
	
		
			
				|  |  | +                    <a trigger="billsRecharge" class="pull-right mr-3 uploadImgTrigger lock-btn-control" href="javacript:void(0);" data-toggle="modal" data-target="#uploadimg" ><i class="fa fa-image"></i>上传图片</a>
 | 
	
		
			
				|  |  | +                    <label for="exampleTextarea">补注:</label>
 | 
	
		
			
				|  |  | +                    <textarea class="form-control" id="exampleTextarea" rows="8"></textarea>
 | 
	
		
			
				|  |  | +                      <div>
 | 
	
		
			
				|  |  | +                          <label for="erratumRecordText">勘误记录:</label>
 | 
	
		
			
				|  |  | +                          <textarea class="form-control lock-btn-control" id="erratumRecordText" rows="8" style="height: calc(100% - 38px);"></textarea>
 | 
	
		
			
				|  |  | +                      </div>
 | 
	
		
			
				|  |  |                    </div>
 | 
	
		
			
				|  |  |                 <!-- <div class="row">
 | 
	
		
			
				|  |  |                    <div class="col ovf-hidden" style="width:50%; height: 100%; float: left;">
 | 
	
	
		
			
				|  | @@ -366,6 +370,13 @@
 | 
	
		
			
				|  |  |          readOnly: locked
 | 
	
		
			
				|  |  |      });
 | 
	
		
			
				|  |  |      codeEditor.setSize('auto','350px');
 | 
	
		
			
				|  |  | +    const erratumRecordEditor = CodeMirror.fromTextArea(document.getElementById("erratumRecordText"), {
 | 
	
		
			
				|  |  | +        mode: "text/html",
 | 
	
		
			
				|  |  | +        lineNumbers: true,
 | 
	
		
			
				|  |  | +        theme:"material",
 | 
	
		
			
				|  |  | +        readOnly: locked
 | 
	
		
			
				|  |  | +    });
 | 
	
		
			
				|  |  | +    erratumRecordEditor.setSize('auto','350px');
 | 
	
		
			
				|  |  |      autoFlashHeight();
 | 
	
		
			
				|  |  |      let BillsFixedFlagList = JSON.parse('<%- BillsFixedFlagList %>');
 | 
	
		
			
				|  |  |      // 清单类型下拉
 | 
	
	
		
			
				|  | @@ -525,6 +536,8 @@
 | 
	
		
			
				|  |  |          bindBillsRangeChanged(controller, billsSpread.getActiveSheet(), setting);
 | 
	
		
			
				|  |  |          //补注内容改变
 | 
	
		
			
				|  |  |          rechargeChange(controller);
 | 
	
		
			
				|  |  | +        // 勘误错误改变
 | 
	
		
			
				|  |  | +        erratumRecordChange(controller)
 | 
	
		
			
				|  |  |          //焦点控制
 | 
	
		
			
				|  |  |          switchFcs(controller, controller.sheet, billsSpread, jobsSheet, itemsSheet);
 | 
	
		
			
				|  |  |          //jobs
 | 
	
	
		
			
				|  | @@ -703,6 +716,27 @@
 | 
	
		
			
				|  |  |          });*/
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    // 勘误记录
 | 
	
		
			
				|  |  | +    function erratumRecordChange(controller){
 | 
	
		
			
				|  |  | +        erratumRecordEditor.on('change', async function () {
 | 
	
		
			
				|  |  | +            console.log('1111');
 | 
	
		
			
				|  |  | +            const node = controller.tree.selected;
 | 
	
		
			
				|  |  | +            const erratumRecord = erratumRecordEditor.getValue();
 | 
	
		
			
				|  |  | +            if (!node || erratumRecord === node.data.erratumRecord) {
 | 
	
		
			
				|  |  | +                return;
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            try {
 | 
	
		
			
				|  |  | +                const updateId = node.getID();
 | 
	
		
			
				|  |  | +                await ajaxPost('/stdBillsEditor/updateBills', { billsLibId, updateId, field: 'erratumRecord', data: erratumRecord });
 | 
	
		
			
				|  |  | +                node.data.erratumRecord = erratumRecord;
 | 
	
		
			
				|  |  | +            } catch(error) {
 | 
	
		
			
				|  |  | +                alert(error.message);
 | 
	
		
			
				|  |  | +                erratumRecordEditor.setValue(node.data.erratumRecord || '');
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +        });
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |      function jobOperation(controller, jobsSheet, callback){
 | 
	
		
			
				|  |  |          mainAjax.getMaxNumber(billsLibId, 'jobs', function(result){
 | 
	
		
			
				|  |  |              if(result.length === 0){
 | 
	
	
		
			
				|  | @@ -769,6 +803,8 @@
 | 
	
		
			
				|  |  |                  codeEditor.setValue('');
 | 
	
		
			
				|  |  |                  //$('#exampleTextarea').val('');
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  | +            const erratumRecord = controller.tree.selected.data.erratumRecord || '';
 | 
	
		
			
				|  |  | +            erratumRecordEditor.setValue(erratumRecord);
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -781,6 +817,8 @@
 | 
	
		
			
				|  |  |                  //rechargeArea
 | 
	
		
			
				|  |  |                  const recharge = controller.tree.selected.data.recharge || '';
 | 
	
		
			
				|  |  |                  codeEditor.setValue(recharge);
 | 
	
		
			
				|  |  | +                const erratumRecord = controller.tree.selected.data.erratumRecord || '';
 | 
	
		
			
				|  |  | +                erratumRecordEditor.setValue(erratumRecord);
 | 
	
		
			
				|  |  |                  //$('#exampleTextarea').val(controller.tree.selected.data.recharge);
 | 
	
		
			
				|  |  |                  if(field === 'jobs'){
 | 
	
		
			
				|  |  |                      tools.clearData(sheet);
 |