|
@@ -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")){ // 如果还没显示
|