|
@@ -364,49 +364,48 @@ var blockLibObj = {
|
|
nID = -1;
|
|
nID = -1;
|
|
}
|
|
}
|
|
|
|
|
|
- let newNode = tree.insert(pID, nID);
|
|
|
|
- newNode.data.type = nodeType;
|
|
|
|
- newNode.data.nodeName = nodeName;
|
|
|
|
- if (nodeType == 2){
|
|
|
|
- let bill = source.datas[0];
|
|
|
|
- newNode.data.compilationID = source.compilationID;
|
|
|
|
- newNode.data.copyTime = source.copyTime;
|
|
|
|
- newNode.data.firstNodeType = source.firstNodeType;
|
|
|
|
- newNode.data.isFBFX = source.isFBFX;
|
|
|
|
-
|
|
|
|
- newNode.data.code = bill.code;
|
|
|
|
- newNode.data.name = bill.name;
|
|
|
|
- newNode.data.unit = bill.unit;
|
|
|
|
- newNode.data.itemCharacterText = bill.itemCharacterText;
|
|
|
|
- newNode.data.unitFee = (bill.feesIndex && bill.feesIndex.common) ? bill.feesIndex.common.unitFee : 0;
|
|
|
|
- newNode.data.children = bill.children;
|
|
|
|
-
|
|
|
|
- for (let r of bill.children){
|
|
|
|
- r.unitFee = (r.feesIndex && r.feesIndex.common) ? r.feesIndex.common.unitFee : 0;
|
|
|
|
- if (r.programID)
|
|
|
|
- r.programName = projectObj.project.calcProgram.compiledTemplateMaps[r.programID];
|
|
|
|
- // delete r.ID; // 这个不能删!
|
|
|
|
- delete r.billsItemID;
|
|
|
|
- delete r.fees;
|
|
|
|
- delete r.feesIndex;
|
|
|
|
- };
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- tree.selected = newNode;
|
|
|
|
|
|
+ let newN = tree.insert(pID, nID);
|
|
|
|
+ newN.data.type = nodeType;
|
|
|
|
+ newN.data.nodeName = nodeName;
|
|
|
|
+ if (nodeType == 2)
|
|
|
|
+ blockLibObj.assignData(newN, source);
|
|
|
|
|
|
|
|
+ tree.selected = newN;
|
|
let sheet = blockLibObj.mainSheet;
|
|
let sheet = blockLibObj.mainSheet;
|
|
sheet.suspendPaint();
|
|
sheet.suspendPaint();
|
|
sheet.suspendEvent();
|
|
sheet.suspendEvent();
|
|
-
|
|
|
|
- let idx = tree.items.indexOf(newNode);
|
|
|
|
|
|
+ let idx = tree.items.indexOf(newN);
|
|
sheet.addRows(idx, 1);
|
|
sheet.addRows(idx, 1);
|
|
sheet.getRange(idx, 0, 1, 1).locked(true);
|
|
sheet.getRange(idx, 0, 1, 1).locked(true);
|
|
- sheet.setValue(idx, 0, newNode.data.nodeName);
|
|
|
|
|
|
+ sheet.setValue(idx, 0, newN.data.nodeName);
|
|
sheet.setSelection(idx, 0, 1, 1);
|
|
sheet.setSelection(idx, 0, 1, 1);
|
|
-
|
|
|
|
sheet.resumeEvent();
|
|
sheet.resumeEvent();
|
|
sheet.resumePaint();
|
|
sheet.resumePaint();
|
|
},
|
|
},
|
|
|
|
+ assignData: function (block, source){
|
|
|
|
+ block.data.compilationID = source.compilationID;
|
|
|
|
+ block.data.copyTime = source.copyTime;
|
|
|
|
+ block.data.firstNodeType = source.firstNodeType;
|
|
|
|
+ block.data.isFBFX = source.isFBFX;
|
|
|
|
+
|
|
|
|
+ let bill = source.datas[0];
|
|
|
|
+ block.data.code = bill.code;
|
|
|
|
+ block.data.name = bill.name;
|
|
|
|
+ block.data.unit = bill.unit;
|
|
|
|
+ block.data.itemCharacterText = bill.itemCharacterText;
|
|
|
|
+ block.data.unitFee = (bill.feesIndex && bill.feesIndex.common) ? bill.feesIndex.common.unitFee : 0;
|
|
|
|
+ block.data.children = bill.children;
|
|
|
|
+
|
|
|
|
+ for (let r of bill.children){
|
|
|
|
+ r.unitFee = (r.feesIndex && r.feesIndex.common) ? r.feesIndex.common.unitFee : 0;
|
|
|
|
+ if (r.programID)
|
|
|
|
+ r.programName = projectObj.project.calcProgram.compiledTemplateMaps[r.programID];
|
|
|
|
+ // delete r.ID; // 这个不能删!
|
|
|
|
+ delete r.billsItemID;
|
|
|
|
+ delete r.fees;
|
|
|
|
+ delete r.feesIndex;
|
|
|
|
+ };
|
|
|
|
+ },
|
|
reName: function (node, newName){
|
|
reName: function (node, newName){
|
|
if (newName == '') return;
|
|
if (newName == '') return;
|
|
node.data.nodeName = newName;
|
|
node.data.nodeName = newName;
|
|
@@ -434,6 +433,18 @@ var blockLibObj = {
|
|
curIsCategory: function () {
|
|
curIsCategory: function () {
|
|
return this.mainTree.selected.data.type == 1;
|
|
return this.mainTree.selected.data.type == 1;
|
|
},
|
|
},
|
|
|
|
+ getSameNameNode: function(name){
|
|
|
|
+ let rst = null;
|
|
|
|
+ let nodes = blockLibObj.mainTree.items;
|
|
|
|
+ for (let i = 0; i < nodes.length; i++) {
|
|
|
|
+ let node = nodes[i];
|
|
|
|
+ if (node.data.nodeName == name){
|
|
|
|
+ rst = node;
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ return rst;
|
|
|
|
+ },
|
|
refreshSpread: function (){
|
|
refreshSpread: function (){
|
|
if (this.mainSpread)
|
|
if (this.mainSpread)
|
|
this.mainSpread.refresh();
|
|
this.mainSpread.refresh();
|
|
@@ -548,8 +559,8 @@ var blockLibObj = {
|
|
canClone = canClone && (projectNode.data.unit == block.data.unit);
|
|
canClone = canClone && (projectNode.data.unit == block.data.unit);
|
|
if (!canClone) return;
|
|
if (!canClone) return;
|
|
|
|
|
|
- /* 这里再次封装成伟城的块文件格式,可直接使用伟城的“粘贴块”接口。
|
|
|
|
- 这里结构作出调整:忽略叶子清单层,直接从定额开始(跟粘贴块有区别),始终强制在叶子清单下插入定额。
|
|
|
|
|
|
+ /* 这里封装成伟城的块文件格式,可直接使用伟城的“粘贴块”接口。
|
|
|
|
+ 但这里结构要作出调整:忽略叶子清单层,直接从定额开始(跟粘贴块有区别),始终强制在叶子清单下插入定额。
|
|
该操作前提:当前块文件的全部数据已从后台取到前台。 */
|
|
该操作前提:当前块文件的全部数据已从后台取到前台。 */
|
|
let vBlock_WC = {
|
|
let vBlock_WC = {
|
|
compilationID: block.data.compilationID,
|
|
compilationID: block.data.compilationID,
|