|  | @@ -1032,7 +1032,8 @@ function writeSheet(pageData, sheetData, paperSize, sharedStrList, stylesObj, ap
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |      // 插入分页符结束---------------------------
 | 
	
		
			
				|  |  |      // 图形要放在最后,否则excel会报错(但WPS不会)
 | 
	
		
			
				|  |  | -    if (hasSignature && signSheetIdxArr[sheetIdx]) {
 | 
	
		
			
				|  |  | +    // console.log(`sheetData is null: ${sheetData === null}`);
 | 
	
		
			
				|  |  | +    if (hasSignature && (sheetData === null || signSheetIdxArr[sheetIdx])) {
 | 
	
		
			
				|  |  |          // let rIdx = 1;
 | 
	
		
			
				|  |  |          // for (let ssIdx = 0; ssIdx < signSheetIdxArr.length; ssIdx++) {
 | 
	
		
			
				|  |  |          //     if (signSheetIdxArr[ssIdx]) {
 | 
	
	
		
			
				|  | @@ -1367,10 +1368,14 @@ function _checkAndSetSignatureCache(pageData, signKeyArr, signPathArr, roleRel,
 | 
	
		
			
				|  |  |          //     signPathArr.push([]);
 | 
	
		
			
				|  |  |          // }
 | 
	
		
			
				|  |  |          // 优化调整,不再每页都设置一个,重复的签名只需要一个即可(极端case: 13xx多页的签名文档,导出有1.3G大)
 | 
	
		
			
				|  |  | +        // console.log('signKeyArr');
 | 
	
		
			
				|  |  | +        // console.log(signKeyArr);
 | 
	
		
			
				|  |  |          const curSignIdx = signKeyArr.length - 1;
 | 
	
		
			
				|  |  |          signSheetIdxArr[pageIdx] = false;
 | 
	
		
			
				|  |  |          // console.log('page index: ' + pageIdx);
 | 
	
		
			
				|  |  |          // console.log(page[JV.PROP_SIGNATURE_CELLS]);
 | 
	
		
			
				|  |  | +        // console.log('chkRoles');
 | 
	
		
			
				|  |  | +        // console.log(chkRoles);
 | 
	
		
			
				|  |  |          if (page[JV.PROP_SIGNATURE_CELLS] && page[JV.PROP_SIGNATURE_CELLS].length > 0) {
 | 
	
		
			
				|  |  |              // let dummySignIdx = 0;
 | 
	
		
			
				|  |  |              for (const signature of page[JV.PROP_SIGNATURE_CELLS]) {
 | 
	
	
		
			
				|  | @@ -1456,6 +1461,10 @@ function _checkAndSetSignatureCache(pageData, signKeyArr, signPathArr, roleRel,
 | 
	
		
			
				|  |  |                                      let sPObj = _getDupPicPath(role.sign_path);
 | 
	
		
			
				|  |  |                                      if (sPObj !== null && isSinglePage) { // 只有在isSinglePage为true时,才需要优化签名
 | 
	
		
			
				|  |  |                                      // if (sPObj !== null) {
 | 
	
		
			
				|  |  | +                                    //     console.log('signature');
 | 
	
		
			
				|  |  | +                                    //     console.log(signature);
 | 
	
		
			
				|  |  | +                                    //     console.log('role');
 | 
	
		
			
				|  |  | +                                    //     console.log(role);
 | 
	
		
			
				|  |  |                                          signature.signature_name = sPObj.signature_name; // 重点,如果有相同路径的,修改signature_name!
 | 
	
		
			
				|  |  |                                          // signSheetIdxArr[pageIdx] = true;
 | 
	
		
			
				|  |  |                                          rst = true;
 | 
	
	
		
			
				|  | @@ -1466,6 +1475,8 @@ function _checkAndSetSignatureCache(pageData, signKeyArr, signPathArr, roleRel,
 | 
	
		
			
				|  |  |                                          signKeyArr.push(signature.signature_name);
 | 
	
		
			
				|  |  |                                          rst = true;
 | 
	
		
			
				|  |  |                                          signSheetIdxArr[pageIdx] = true;
 | 
	
		
			
				|  |  | +                                        // console.log(`pageIdx: ${pageIdx}`);
 | 
	
		
			
				|  |  | +                                        // console.log(signSheetIdxArr);
 | 
	
		
			
				|  |  |                                      }
 | 
	
		
			
				|  |  |                                  }
 | 
	
		
			
				|  |  |                                  break;
 |