|  | @@ -588,30 +588,35 @@ var blockLibObj = {
 | 
	
		
			
				|  |  |          $("#div_cloneOptions").modal({show: true});
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  |      oneToOneClone: function (projectNode, block, options) {
 | 
	
		
			
				|  |  | -        let canClone = true;
 | 
	
		
			
				|  |  | -        if (options.checkCode)
 | 
	
		
			
				|  |  | -            canClone = canClone && (projectNode.data.code.substr(0, 9) == block.data.code.substr(0, 9));
 | 
	
		
			
				|  |  | -        if (options.checkName)
 | 
	
		
			
				|  |  | -            canClone = canClone && (projectNode.data.name == block.data.name);
 | 
	
		
			
				|  |  | -        if (options.checkUnit)
 | 
	
		
			
				|  |  | -            canClone = canClone && (projectNode.data.unit == block.data.unit);
 | 
	
		
			
				|  |  | -        if (!canClone) return;
 | 
	
		
			
				|  |  | -        
 | 
	
		
			
				|  |  | -        if (options.overwriteRations)
 | 
	
		
			
				|  |  | -            projectObj.project.Bills.deleteChildren(projectNode);
 | 
	
		
			
				|  |  | -        /*  这里封装成伟城的块文件格式,可直接使用伟城的“粘贴块”接口。
 | 
	
		
			
				|  |  | -            但这里结构要作出调整:忽略叶子清单层,直接从定额开始(跟粘贴块有区别),始终强制在叶子清单下插入定额。
 | 
	
		
			
				|  |  | -            该操作前提:当前块文件的全部数据已从后台取到前台。  */
 | 
	
		
			
				|  |  | -        let vBlock_WC = {
 | 
	
		
			
				|  |  | -            compilationID: block.data.compilationID,
 | 
	
		
			
				|  |  | -            copyTime: block.data.copyTime,
 | 
	
		
			
				|  |  | -            firstNodeType: 1,           // 强制改成1 (因为是从清单下的定额开始。清单自身的还是保留,暂不使用使用)。
 | 
	
		
			
				|  |  | -            isFBFX: block.data.isFBFX,
 | 
	
		
			
				|  |  | -            zeroQuantity: options.zeroQuantity,
 | 
	
		
			
				|  |  | -            datas: block.data.children       // rations
 | 
	
		
			
				|  |  | -        };
 | 
	
		
			
				|  |  | -        vBlock_WC = JSON.parse(JSON.stringify(vBlock_WC));
 | 
	
		
			
				|  |  | -        BlockController.confirmPaste(vBlock_WC, projectNode, 'sub');
 | 
	
		
			
				|  |  | +        return new Promise(function (resolve, reject) {        
 | 
	
		
			
				|  |  | +            let canClone = true;
 | 
	
		
			
				|  |  | +            if (options.checkCode)
 | 
	
		
			
				|  |  | +                canClone = canClone && (projectNode.data.code.substr(0, 9) == block.data.code.substr(0, 9));
 | 
	
		
			
				|  |  | +            if (options.checkName)
 | 
	
		
			
				|  |  | +                canClone = canClone && (projectNode.data.name == block.data.name);
 | 
	
		
			
				|  |  | +            if (options.checkUnit)
 | 
	
		
			
				|  |  | +                canClone = canClone && (projectNode.data.unit == block.data.unit);
 | 
	
		
			
				|  |  | +            if (!canClone) return resolve([[], []]);
 | 
	
		
			
				|  |  | +            
 | 
	
		
			
				|  |  | +            if (options.overwriteRations)
 | 
	
		
			
				|  |  | +                projectObj.project.Bills.deleteChildren(projectNode);
 | 
	
		
			
				|  |  | +            /*  这里封装成伟城的块文件格式,可直接使用伟城的“粘贴块”接口。
 | 
	
		
			
				|  |  | +                但这里结构要作出调整:忽略叶子清单层,直接从定额开始(跟粘贴块有区别),始终强制在叶子清单下插入定额。
 | 
	
		
			
				|  |  | +                该操作前提:当前块文件的全部数据已从后台取到前台。  */
 | 
	
		
			
				|  |  | +            let vBlock_WC = {
 | 
	
		
			
				|  |  | +                compilationID: block.data.compilationID,
 | 
	
		
			
				|  |  | +                copyTime: block.data.copyTime,
 | 
	
		
			
				|  |  | +                firstNodeType: 1,           // 强制改成1 (因为是从清单下的定额开始。清单自身的还是保留,暂不使用使用)。
 | 
	
		
			
				|  |  | +                isFBFX: block.data.isFBFX,
 | 
	
		
			
				|  |  | +                zeroQuantity: options.zeroQuantity,
 | 
	
		
			
				|  |  | +                datas: block.data.children       // rations
 | 
	
		
			
				|  |  | +            };
 | 
	
		
			
				|  |  | +            vBlock_WC = JSON.parse(JSON.stringify(vBlock_WC));
 | 
	
		
			
				|  |  | +            BlockController.confirmPaste(vBlock_WC, projectNode, 'sub',function(r, c){
 | 
	
		
			
				|  |  | +                resolve([r, c])
 | 
	
		
			
				|  |  | +            });
 | 
	
		
			
				|  |  | +        })
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  |      checkShow: async function () {   // 这里需要处理异步:模板库装载完再弹出位置选择窗。
 | 
	
		
			
				|  |  |          if (!$("#kmbk").is(":visible")){  // 如果还没显示
 |