|
@@ -1,5 +1,6 @@
|
|
|
/**
|
|
|
* Created by Tony on 2017/10/5.
|
|
|
+ * 各种类型(flow/bill/cross)数据类型 + 离散
|
|
|
*/
|
|
|
'use strict'
|
|
|
|
|
@@ -82,7 +83,7 @@ let dataInfoMapTreeOprObj = {
|
|
|
discreteNode.items = [];
|
|
|
for (let i = 0; i < discreteData.length; i++) {
|
|
|
let dtl = discreteData[i];
|
|
|
- let item = {"Name": "离散" + (i + 1), "items":[]};
|
|
|
+ let item = {"Name": "子项(所在区域:" + dtl[JV.PROP_BAND_NAME] + ")", "items":[]};
|
|
|
item[JV.PROP_BAND_NAME] = dtl[JV.PROP_BAND_NAME];
|
|
|
let discreteFieldsNode = {"Name": "离散字段集", "items": [], "isParent": true};
|
|
|
let discreteTextsNode = {"Name": "离散文本集", "items": [], "isParent": true};
|
|
@@ -236,18 +237,34 @@ let dataInfoMapTreeOprObj = {
|
|
|
return rst;
|
|
|
},
|
|
|
|
|
|
+ private_setup_dummy_field_node: function(node) {
|
|
|
+ if (!node[JV.PROP_PARAM_ID]) {
|
|
|
+ node[JV.PROP_FIELD_ID] = node[JV.PROP_ID];
|
|
|
+ }
|
|
|
+ node[JV.PROP_FONT] = "Content";
|
|
|
+ node[JV.PROP_CONTROL] = "Default";
|
|
|
+ node[JV.PROP_STYLE] = "Default_None";
|
|
|
+ node[JV.PROP_AREA] = {};
|
|
|
+ node[JV.PROP_AREA][JV.PROP_LEFT] = 0;
|
|
|
+ node[JV.PROP_AREA][JV.PROP_RIGHT] = 100;
|
|
|
+ node[JV.PROP_AREA][JV.PROP_TOP] = 0;
|
|
|
+ node[JV.PROP_AREA][JV.PROP_BOTTOM] = 100;
|
|
|
+ node[JV.PROP_AREA][JV.PROP_H_CALCULATION] = JV.CAL_TYPE[0];
|
|
|
+ node[JV.PROP_AREA][JV.PROP_V_CALCULATION] = JV.CAL_TYPE[0];
|
|
|
+ },
|
|
|
+
|
|
|
onTabDataClick: function (event,treeId,treeNode) {
|
|
|
let me = dataInfoMapTreeOprObj, matchedBandNode = null;
|
|
|
- let chked = false;
|
|
|
+ let bandChked = false;
|
|
|
me.currentNode = treeNode;
|
|
|
function checkBandNode(bNode, bandName) {
|
|
|
if (bNode[JV.PROP_NAME] === bandName) {
|
|
|
- chked = true;
|
|
|
+ bandChked = true;
|
|
|
matchedBandNode = bNode;
|
|
|
} else if (bNode.items){
|
|
|
for (let subNode of bNode.items) {
|
|
|
checkBandNode(subNode, bandName);
|
|
|
- if (chked) {
|
|
|
+ if (bandChked) {
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
@@ -262,23 +279,27 @@ let dataInfoMapTreeOprObj = {
|
|
|
if (treeNode[JV.PROP_BAND_NAME]) {
|
|
|
for (let node of nodes) {
|
|
|
checkBandNode(node, treeNode[JV.PROP_BAND_NAME]);
|
|
|
- if (chked) {
|
|
|
+ if (bandChked) {
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- if (chked) {
|
|
|
+ if (bandChked) {
|
|
|
setDisabledBandSelect(false);
|
|
|
me.bandTreeObj.checkNode(matchedBandNode, true, true);
|
|
|
} else {
|
|
|
setDisabledBandSelect(true);
|
|
|
}
|
|
|
+ //检测是否为field/param/text对象
|
|
|
+ rpt_tpl_cfg_helper.checkAndSetSelectedNodeCfg(treeNode);
|
|
|
},
|
|
|
onCheck: function (event,treeId,treeNode) {
|
|
|
let me = dataInfoMapTreeOprObj;
|
|
|
if (me.currentNode[JV.PROP_BAND_NAME] && me.currentNode[JV.PROP_BAND_NAME] !== treeNode[JV.PROP_NAME]) {
|
|
|
- alert("change band from: " + me.currentNode[JV.PROP_BAND_NAME] + " to : " + treeNode[JV.PROP_NAME]);
|
|
|
+ // alert("change band from: " + me.currentNode[JV.PROP_BAND_NAME] + " to : " + treeNode[JV.PROP_NAME]);
|
|
|
me.currentNode[JV.PROP_BAND_NAME] = treeNode[JV.PROP_NAME];
|
|
|
+ me.currentNode[JV.PROP_NAME] = "子项(所在区域:" + treeNode[JV.PROP_NAME] + ")";
|
|
|
+ me.treeObj.updateNode(me.currentNode);
|
|
|
}
|
|
|
},
|
|
|
onBeforeRemove: function(treeId, treeNode){
|
|
@@ -314,28 +335,27 @@ let dataInfoMapTreeOprObj = {
|
|
|
},
|
|
|
onBeforeDrop: function(treeId, treeNodes, targetNode, moveType){
|
|
|
let rst = false;
|
|
|
- if (targetNode.tId && targetNode.tId.indexOf("tpl_data_info_reversed") >= 0 && (!(targetNode.isParent && moveType !== 'inner')) ) {
|
|
|
- if (targetNode.level === 0) {
|
|
|
- if (targetNode.Name !== JV.NODE_DISCRETE_INFO && moveType === 'inner') {
|
|
|
- rst = true;
|
|
|
- }
|
|
|
- } else {
|
|
|
- let parentNode = targetNode.getParentNode();
|
|
|
- if (parentNode.Name === "离散信息") {
|
|
|
- // if (targetNode.Name === "Fields") {
|
|
|
- // rst = true;
|
|
|
- // }
|
|
|
- }
|
|
|
- }
|
|
|
+ if (targetNode.Name === JV.NODE_FLOW_CONTENT || targetNode.Name === JV.NODE_BILL_CONTENT || targetNode.Name === JV.NODE_CROSS_CONTENT
|
|
|
+ || targetNode.Name === JV.NODE_CROSS_ROW || targetNode.Name === JV.NODE_CROSS_COL
|
|
|
+ || targetNode.Name === "离散字段集" ) {
|
|
|
+ rst = true;
|
|
|
}
|
|
|
return rst;
|
|
|
},
|
|
|
- onRemove: function () {
|
|
|
- //
|
|
|
+ onDrop: function(event, treeId, treeNodes, targetNode, moveType) {
|
|
|
+ let me = dataInfoMapTreeOprObj;
|
|
|
+ for (let node of treeNodes) {
|
|
|
+ me.private_setup_dummy_field_node(node);
|
|
|
+ }
|
|
|
},
|
|
|
- onRename: function () {
|
|
|
+ onRemove: function (e, treeId, treeNode) {
|
|
|
//
|
|
|
},
|
|
|
+ onRename: function (e, treeId, treeNode, isCancel) {
|
|
|
+ if (!isCancel) {
|
|
|
+ treeNode[JV.PROP_LABEL] = treeNode[JV.PROP_NAME];
|
|
|
+ }
|
|
|
+ },
|
|
|
addHoverDom: function(treeId, treeNode) {
|
|
|
let me = dataInfoMapTreeOprObj, sObj = $("#" + treeNode.tId + "_span");
|
|
|
if (treeNode.editNameFlag || $("#addBtn_"+treeNode.tId).length > 0) {
|
|
@@ -348,7 +368,7 @@ let dataInfoMapTreeOprObj = {
|
|
|
btn.bind("click", function(){
|
|
|
let amtIdx = treeNode.items.length + 1;
|
|
|
let node = {};
|
|
|
- node[JV.PROP_NAME] = "离散" + amtIdx;
|
|
|
+ node[JV.PROP_NAME] = "子项(所在区域:" + me.bandTreeObj.getNodes()[0][JV.PROP_NAME] + ")";
|
|
|
node[JV.PROP_BAND_NAME] = me.bandTreeObj.getNodes()[0][JV.PROP_NAME];
|
|
|
node.items = [];
|
|
|
let fields = {"Name": "离散字段集", "items": [], "isParent": true};
|
|
@@ -408,28 +428,32 @@ let dataInfoMapTreeOprObj = {
|
|
|
},
|
|
|
private_extract_discrete_info: function(discreteNode) {
|
|
|
let me = this, rst = [];
|
|
|
- for (let node of discreteNode) {
|
|
|
+ for (let dtlItemNode of discreteNode.items) {
|
|
|
let newContent = {};
|
|
|
rst.push(newContent);
|
|
|
- newContent[JV.PROP_BAND_NAME] = node[JV.PROP_BAND_NAME];
|
|
|
- if (node[JV.PROP_DISCRETE_FIELDS] && node[JV.PROP_DISCRETE_FIELDS].length > 0) {
|
|
|
- newContent[JV.PROP_DISCRETE_FIELDS] = [];
|
|
|
- for (let field of node[JV.PROP_DISCRETE_FIELDS]) {
|
|
|
- let item = {};
|
|
|
- newContent[JV.PROP_DISCRETE_FIELDS].push(item);
|
|
|
- if (field[JV.PROP_FIELD_ID]) {
|
|
|
- me.private_copy_field_properties(field, item);
|
|
|
- } else if (field[JV.PROP_PARAM_ID]) {
|
|
|
- me.private_copy_param_properties(field, item);
|
|
|
+ newContent[JV.PROP_BAND_NAME] = dtlItemNode[JV.PROP_BAND_NAME];
|
|
|
+ for (let node of dtlItemNode.items) {
|
|
|
+ // if (node[JV.PROP_DISCRETE_FIELDS] && node[JV.PROP_DISCRETE_FIELDS].length > 0) {
|
|
|
+ if (node[JV.PROP_NAME] === "离散字段集" && node.items.length > 0) {
|
|
|
+ newContent[JV.PROP_DISCRETE_FIELDS] = [];
|
|
|
+ for (let field of node.items) {
|
|
|
+ let item = {};
|
|
|
+ newContent[JV.PROP_DISCRETE_FIELDS].push(item);
|
|
|
+ if (field[JV.PROP_FIELD_ID]) {
|
|
|
+ me.private_copy_field_properties(field, item);
|
|
|
+ } else if (field[JV.PROP_PARAM_ID]) {
|
|
|
+ me.private_copy_param_properties(field, item);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
- }
|
|
|
- if (node[JV.PROP_TEXTS] && node[JV.PROP_TEXTS].length > 0) {
|
|
|
- newContent[JV.PROP_TEXTS] = [];
|
|
|
- for (let txt of node[JV.PROP_TEXTS]) {
|
|
|
- let item = {};
|
|
|
- newContent[JV.PROP_TEXTS].push(item);
|
|
|
- me.private_copy_text_properties(txt, item);
|
|
|
+ // if (node[JV.PROP_TEXTS] && node[JV.PROP_TEXTS].length > 0) {
|
|
|
+ if (node[JV.PROP_NAME] === "离散文本集" && node.items.length > 0) {
|
|
|
+ newContent[JV.PROP_TEXTS] = [];
|
|
|
+ for (let txt of node.items) {
|
|
|
+ let item = {};
|
|
|
+ newContent[JV.PROP_TEXTS].push(item);
|
|
|
+ me.private_copy_text_properties(txt, item);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|