|
@@ -43,38 +43,81 @@ let dataInfoMapTreeOprObj = {
|
|
buildTreeData: function (rptTpl) {
|
|
buildTreeData: function (rptTpl) {
|
|
let me = this, rst = null;
|
|
let me = this, rst = null;
|
|
|
|
|
|
- $("#dispRowHeight")[0].style.display = "";
|
|
|
|
- $("#dispColWidth")[0].style.display = "";
|
|
|
|
|
|
+ $("#element_content_height_width")[0].style.display = "";
|
|
if (rptTpl[JV.NODE_FLOW_INFO]) {
|
|
if (rptTpl[JV.NODE_FLOW_INFO]) {
|
|
- //
|
|
|
|
|
|
+ rst = me.buildFlowData(rptTpl);
|
|
|
|
+ $("#element_content_height_width")[0].style.display = "";
|
|
|
|
+ if (rptTpl[JV.NODE_FLOW_INFO][JV.NODE_FLOW_CONTENT][JV.PROP_CMN_HEIGHT]) {
|
|
|
|
+ $("#element_content_height")[0].value = rptTpl[JV.NODE_FLOW_INFO][JV.NODE_FLOW_CONTENT][JV.PROP_CMN_HEIGHT];
|
|
|
|
+ } else {
|
|
|
|
+ $("#element_content_height")[0].value = 0.6;
|
|
|
|
+ }
|
|
|
|
+ $("#element_content_height").get(0).removeAttribute("disabled");
|
|
|
|
+ $("#element_content_width").get(0).disabled = "disabled" ;
|
|
} else if (rptTpl[JV.NODE_CROSS_INFO]) {
|
|
} else if (rptTpl[JV.NODE_CROSS_INFO]) {
|
|
//
|
|
//
|
|
} else if (rptTpl[JV.NODE_BILL_INFO]) {
|
|
} else if (rptTpl[JV.NODE_BILL_INFO]) {
|
|
rst = me.buildBillData(rptTpl);
|
|
rst = me.buildBillData(rptTpl);
|
|
- $("#dispRowHeight")[0].style.display = "none";
|
|
|
|
- $("#dispColWidth")[0].style.display = "none";
|
|
|
|
|
|
+ $("#element_content_height_width")[0].style.display = "none";
|
|
}
|
|
}
|
|
|
|
|
|
return rst;
|
|
return rst;
|
|
},
|
|
},
|
|
- buildBillData: function(rptTpl) {
|
|
|
|
|
|
+ buildFlowData: function(rptTpl) {
|
|
let me = this, rst = [];
|
|
let me = this, rst = [];
|
|
- let rootFieldNode = {Name: JV.NODE_BILL_CONTENT, type: "bill_data", isParent: true, Title: ""};
|
|
|
|
- let discreteNode = {Name: JV.NODE_DISCRETE_INFO, Title: ""};
|
|
|
|
|
|
+ let discreteNode = {Name: JV.NODE_DISCRETE_INFO, type: "discrete_data", isParent: true, Title: ""};
|
|
|
|
+ let rootFieldNode = {Name: JV.NODE_FLOW_CONTENT, type: "flow_field_data", isParent: true, Title: ""};
|
|
|
|
+ let rootColumnNode = {Name: JV.NODE_FLOW_COLUMN, type: "flow_column_data", isParent: true, Title: ""};
|
|
|
|
+ let rootPageSumNode = {Name: JV.NODE_FLOW_PAGE_SUM, type: "flow_page_sum_data", isParent: true, Title: ""};
|
|
|
|
+ let rootChapterSumNode = {Name: JV.NODE_FLOW_SEG_SUM, type: "flow_chapter_sum_data", isParent: true, Title: ""};
|
|
|
|
+ let rootGroupSumNode = {Name: JV.NODE_FLOW_GROUP, type: "flow_group_sum_data", isParent: true, Title: ""};
|
|
rst.push(rootFieldNode);
|
|
rst.push(rootFieldNode);
|
|
|
|
+ rst.push(rootColumnNode);
|
|
|
|
+ if (rptTpl[JV.NODE_FLOW_INFO][JV.NODE_FLOW_COLUMN].hasOwnProperty(JV.PROP_BAND_NAME)) {
|
|
|
|
+ rootColumnNode[JV.PROP_BAND_NAME] = rptTpl[JV.NODE_FLOW_INFO][JV.NODE_FLOW_COLUMN][JV.PROP_BAND_NAME];
|
|
|
|
+ }
|
|
|
|
+ rst.push(rootPageSumNode);
|
|
|
|
+ if (rptTpl[JV.NODE_FLOW_INFO][JV.NODE_FLOW_PAGE_SUM].hasOwnProperty(JV.PROP_BAND_NAME)) {
|
|
|
|
+ rootPageSumNode[JV.PROP_BAND_NAME] = rptTpl[JV.NODE_FLOW_INFO][JV.NODE_FLOW_PAGE_SUM][JV.PROP_BAND_NAME];
|
|
|
|
+ }
|
|
|
|
+ rst.push(rootChapterSumNode);
|
|
|
|
+ if (rptTpl[JV.NODE_FLOW_INFO][JV.NODE_FLOW_SEG_SUM].hasOwnProperty(JV.PROP_BAND_NAME)) {
|
|
|
|
+ rootChapterSumNode[JV.PROP_BAND_NAME] = rptTpl[JV.NODE_FLOW_INFO][JV.NODE_FLOW_SEG_SUM][JV.PROP_BAND_NAME];
|
|
|
|
+ }
|
|
|
|
+ rst.push(rootGroupSumNode);
|
|
rst.push(discreteNode);
|
|
rst.push(discreteNode);
|
|
- me.private_build_bill_data(rootFieldNode, rptTpl[JV.NODE_BILL_INFO][JV.NODE_BILL_CONTENT], rptTpl);
|
|
|
|
- me.private_build_bill_discrete_data(discreteNode, rptTpl[JV.NODE_BILL_INFO][JV.NODE_DISCRETE_INFO], rptTpl);
|
|
|
|
|
|
+ me.private_build_content_field_data(rootFieldNode, rptTpl[JV.NODE_FLOW_INFO][JV.NODE_FLOW_CONTENT], JV.PROP_FLOW_FIELDS, rptTpl);
|
|
|
|
+ me.private_build_discrete_data(discreteNode, rptTpl[JV.NODE_FLOW_INFO][JV.NODE_DISCRETE_INFO], rptTpl);
|
|
|
|
+ me.private_build_column_data(rootColumnNode, rptTpl[JV.NODE_FLOW_INFO][JV.NODE_FLOW_COLUMN], rptTpl);
|
|
|
|
|
|
return rst;
|
|
return rst;
|
|
},
|
|
},
|
|
|
|
+ buildBillData: function(rptTpl) {
|
|
|
|
+ let me = this, rst = [];
|
|
|
|
+ let rootFieldNode = {Name: JV.NODE_BILL_CONTENT, type: "bill_field_data", isParent: true, Title: ""};
|
|
|
|
+ let discreteNode = {Name: JV.NODE_DISCRETE_INFO, type: "discrete_data", isParent: true, Title: ""};
|
|
|
|
+ rst.push(rootFieldNode);
|
|
|
|
+ rst.push(discreteNode);
|
|
|
|
+ me.private_build_content_field_data(rootFieldNode, rptTpl[JV.NODE_BILL_INFO][JV.NODE_BILL_CONTENT], JV.PROP_BILL_FIELDS, rptTpl);
|
|
|
|
+ me.private_build_discrete_data(discreteNode, rptTpl[JV.NODE_BILL_INFO][JV.NODE_DISCRETE_INFO]);
|
|
|
|
|
|
- private_build_bill_data: function (rootFieldNode, billData, rptTpl) {
|
|
|
|
- let me = this, bandName = billData[JV.PROP_BAND_NAME];
|
|
|
|
|
|
+ return rst;
|
|
|
|
+ },
|
|
|
|
+ private_build_column_data: function(columnNode, columnData) {
|
|
|
|
+ let me = this;
|
|
|
|
+ if (columnData[JV.PROP_TEXTS] && columnData[JV.PROP_TEXTS].length > 0) {
|
|
|
|
+ columnNode.items = [];
|
|
|
|
+ for (let txt of columnData[JV.PROP_TEXTS]) {
|
|
|
|
+ columnNode.items.push(me.private_build_text_node(txt));
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ private_build_content_field_data: function(rootFieldNode, contentData, fieldsStr, rptTpl) {
|
|
|
|
+ let me = this, bandName = contentData[JV.PROP_BAND_NAME];
|
|
if (rootFieldNode) {
|
|
if (rootFieldNode) {
|
|
rootFieldNode[JV.PROP_BAND_NAME] = bandName;
|
|
rootFieldNode[JV.PROP_BAND_NAME] = bandName;
|
|
rootFieldNode.items = [];
|
|
rootFieldNode.items = [];
|
|
- for (let fieldItem of billData[JV.PROP_BILL_FIELDS]) {
|
|
|
|
|
|
+ for (let fieldItem of contentData[fieldsStr]) {
|
|
if (fieldItem[JV.PROP_FIELD_ID]) {
|
|
if (fieldItem[JV.PROP_FIELD_ID]) {
|
|
rootFieldNode.items.push(me.private_build_field_node(fieldItem, rptTpl))
|
|
rootFieldNode.items.push(me.private_build_field_node(fieldItem, rptTpl))
|
|
} else if (fieldItem[JV.PROP_PARAM_ID]) {
|
|
} else if (fieldItem[JV.PROP_PARAM_ID]) {
|
|
@@ -83,7 +126,7 @@ let dataInfoMapTreeOprObj = {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
},
|
|
- private_build_bill_discrete_data: function (discreteNode, discreteData, rptTpl) {
|
|
|
|
|
|
+ private_build_discrete_data: function (discreteNode, discreteData, rptTpl) {
|
|
let me = this;
|
|
let me = this;
|
|
discreteNode.isParent = true;
|
|
discreteNode.isParent = true;
|
|
discreteNode.items = [];
|
|
discreteNode.items = [];
|
|
@@ -264,6 +307,9 @@ let dataInfoMapTreeOprObj = {
|
|
node[JV.PROP_AREA][JV.PROP_V_CALCULATION] = JV.CAL_TYPE[0];
|
|
node[JV.PROP_AREA][JV.PROP_V_CALCULATION] = JV.CAL_TYPE[0];
|
|
},
|
|
},
|
|
|
|
|
|
|
|
+ checkIfShouldHaveBand: function(treeNode) {
|
|
|
|
+ return treeNode.hasOwnProperty(JV.PROP_BAND_NAME);
|
|
|
|
+ },
|
|
onTabDataClick: function (event,treeId,treeNode) {
|
|
onTabDataClick: function (event,treeId,treeNode) {
|
|
let me = dataInfoMapTreeOprObj, matchedBandNode = null;
|
|
let me = dataInfoMapTreeOprObj, matchedBandNode = null;
|
|
let bandChked = false;
|
|
let bandChked = false;
|
|
@@ -287,6 +333,14 @@ let dataInfoMapTreeOprObj = {
|
|
me.bandTreeObj.setChkDisabled(node, disabled, true, true);
|
|
me.bandTreeObj.setChkDisabled(node, disabled, true, true);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+ function cleanBandSelect(parentNode) {
|
|
|
|
+ me.bandTreeObj.checkNode(parentNode, false, false, false);
|
|
|
|
+ if (parentNode.items && parentNode.items.length > 0) {
|
|
|
|
+ for (let subNode of parentNode.items) {
|
|
|
|
+ cleanBandSelect(subNode);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
if (treeNode[JV.PROP_BAND_NAME]) {
|
|
if (treeNode[JV.PROP_BAND_NAME]) {
|
|
for (let node of nodes) {
|
|
for (let node of nodes) {
|
|
checkBandNode(node, treeNode[JV.PROP_BAND_NAME]);
|
|
checkBandNode(node, treeNode[JV.PROP_BAND_NAME]);
|
|
@@ -299,7 +353,14 @@ let dataInfoMapTreeOprObj = {
|
|
setDisabledBandSelect(false);
|
|
setDisabledBandSelect(false);
|
|
me.bandTreeObj.checkNode(matchedBandNode, true, true);
|
|
me.bandTreeObj.checkNode(matchedBandNode, true, true);
|
|
} else {
|
|
} else {
|
|
- setDisabledBandSelect(true);
|
|
|
|
|
|
+ if (me.checkIfShouldHaveBand(treeNode)) {
|
|
|
|
+ setDisabledBandSelect(false);
|
|
|
|
+ for (let node of nodes) {
|
|
|
|
+ cleanBandSelect(node);
|
|
|
|
+ }
|
|
|
|
+ } else {
|
|
|
|
+ setDisabledBandSelect(true);
|
|
|
|
+ }
|
|
}
|
|
}
|
|
//检测是否为field/param/text对象
|
|
//检测是否为field/param/text对象
|
|
rpt_tpl_cfg_helper.checkAndSetSelectedNodeCfg(treeNode);
|
|
rpt_tpl_cfg_helper.checkAndSetSelectedNodeCfg(treeNode);
|
|
@@ -327,9 +388,10 @@ let dataInfoMapTreeOprObj = {
|
|
return rst;
|
|
return rst;
|
|
},
|
|
},
|
|
beforeEditName: function(treeId, treeNode) {
|
|
beforeEditName: function(treeId, treeNode) {
|
|
- let rst = false;
|
|
|
|
|
|
+ let me = dataInfoMapTreeOprObj, rst = false;
|
|
let pn = treeNode.getParentNode();
|
|
let pn = treeNode.getParentNode();
|
|
- if (pn && pn[JV.PROP_NAME] === "离散文本集") {
|
|
|
|
|
|
+ //if (pn && me.checkIfCanAddTxt(pn) pn[JV.PROP_NAME] === "离散文本集") {
|
|
|
|
+ if (pn && me.checkIfCanAddTxt(pn)) {
|
|
rst = true;
|
|
rst = true;
|
|
}
|
|
}
|
|
return rst;
|
|
return rst;
|
|
@@ -367,17 +429,23 @@ let dataInfoMapTreeOprObj = {
|
|
treeNode[JV.PROP_LABEL] = treeNode[JV.PROP_NAME];
|
|
treeNode[JV.PROP_LABEL] = treeNode[JV.PROP_NAME];
|
|
}
|
|
}
|
|
},
|
|
},
|
|
|
|
+ checkIfCanAddTxt: function(treeNode) {
|
|
|
|
+ let rst = false;
|
|
|
|
+ if (treeNode[JV.PROP_NAME] === "离散文本集" || treeNode[JV.PROP_NAME] === JV.NODE_FLOW_COLUMN) {
|
|
|
|
+ rst = true;
|
|
|
|
+ }
|
|
|
|
+ return rst;
|
|
|
|
+ },
|
|
addHoverDom: function(treeId, treeNode) {
|
|
addHoverDom: function(treeId, treeNode) {
|
|
let me = dataInfoMapTreeOprObj, sObj = $("#" + treeNode.tId + "_span");
|
|
let me = dataInfoMapTreeOprObj, sObj = $("#" + treeNode.tId + "_span");
|
|
if (treeNode.editNameFlag || $("#addBtn_"+treeNode.tId).length > 0) {
|
|
if (treeNode.editNameFlag || $("#addBtn_"+treeNode.tId).length > 0) {
|
|
return;
|
|
return;
|
|
- } else if ((treeNode.level === 0 && treeNode[JV.PROP_NAME] === JV.NODE_DISCRETE_INFO) || (treeNode.level === 2 && treeNode[JV.PROP_NAME] === "离散文本集")) {
|
|
|
|
|
|
+ } else if (treeNode[JV.PROP_NAME] === JV.NODE_DISCRETE_INFO || me.checkIfCanAddTxt(treeNode)) {
|
|
let addStr = "<span class='button add' id='addBtn_" + treeNode.tId + "' title='新增' onfocus='this.blur();'></span>";
|
|
let addStr = "<span class='button add' id='addBtn_" + treeNode.tId + "' title='新增' onfocus='this.blur();'></span>";
|
|
sObj.after(addStr);
|
|
sObj.after(addStr);
|
|
let btn = $("#addBtn_"+treeNode.tId);
|
|
let btn = $("#addBtn_"+treeNode.tId);
|
|
if (treeNode[JV.PROP_NAME] === JV.NODE_DISCRETE_INFO) {
|
|
if (treeNode[JV.PROP_NAME] === JV.NODE_DISCRETE_INFO) {
|
|
btn.bind("click", function(){
|
|
btn.bind("click", function(){
|
|
- let amtIdx = treeNode.items.length + 1;
|
|
|
|
let node = {};
|
|
let node = {};
|
|
node[JV.PROP_NAME] = "子项(所在区域:" + me.bandTreeObj.getNodes()[0][JV.PROP_NAME] + ")";
|
|
node[JV.PROP_NAME] = "子项(所在区域:" + me.bandTreeObj.getNodes()[0][JV.PROP_NAME] + ")";
|
|
node[JV.PROP_BAND_NAME] = me.bandTreeObj.getNodes()[0][JV.PROP_NAME];
|
|
node[JV.PROP_BAND_NAME] = me.bandTreeObj.getNodes()[0][JV.PROP_NAME];
|
|
@@ -407,7 +475,41 @@ let dataInfoMapTreeOprObj = {
|
|
extractTabFields: function (rptTpl) {
|
|
extractTabFields: function (rptTpl) {
|
|
let me = dataInfoMapTreeOprObj;
|
|
let me = dataInfoMapTreeOprObj;
|
|
if (rptTpl[JV.NODE_FLOW_INFO]) {
|
|
if (rptTpl[JV.NODE_FLOW_INFO]) {
|
|
- //
|
|
|
|
|
|
+ let nodes = me.treeObj.getNodes();
|
|
|
|
+ for (let node of nodes) {
|
|
|
|
+ if (node[JV.PROP_NAME] === JV.NODE_DISCRETE_INFO) {
|
|
|
|
+ rptTpl[JV.NODE_FLOW_INFO][JV.NODE_DISCRETE_INFO] = me.private_extract_discrete_info(node);
|
|
|
|
+ } else if (node[JV.PROP_NAME] === JV.NODE_FLOW_CONTENT) {
|
|
|
|
+ let newContent = {};
|
|
|
|
+ newContent[JV.PROP_BAND_NAME] = node[JV.PROP_BAND_NAME];
|
|
|
|
+ newContent[JV.PROP_CMN_HEIGHT] = $("#element_content_height")[0].value;
|
|
|
|
+ newContent[JV.PROP_FLOW_FIELDS] = [];
|
|
|
|
+ for (let subNode of node.items) {
|
|
|
|
+ let f = {};
|
|
|
|
+ me.private_copy_field_properties(subNode, f);
|
|
|
|
+ newContent[JV.PROP_FLOW_FIELDS].push(f);
|
|
|
|
+ }
|
|
|
|
+ rptTpl[JV.NODE_FLOW_INFO][JV.NODE_FLOW_CONTENT] = newContent;
|
|
|
|
+ } else if (node[JV.PROP_NAME] === JV.NODE_FLOW_COLUMN) {
|
|
|
|
+ let newColumn = {};
|
|
|
|
+ newColumn[JV.PROP_BAND_NAME] = node[JV.PROP_BAND_NAME];
|
|
|
|
+ if (node.items.length > 0) {
|
|
|
|
+ newColumn[JV.PROP_TEXTS] = [];
|
|
|
|
+ for (let txt of node.items) {
|
|
|
|
+ let item = {};
|
|
|
|
+ newColumn[JV.PROP_TEXTS].push(item);
|
|
|
|
+ me.private_copy_text_properties(txt, item);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ rptTpl[JV.NODE_FLOW_INFO][JV.NODE_FLOW_COLUMN] = newColumn;
|
|
|
|
+ } else if (node[JV.PROP_NAME] === JV.NODE_FLOW_SEG_SUM) {
|
|
|
|
+ //
|
|
|
|
+ } else if (node[JV.PROP_NAME] === JV.NODE_FLOW_PAGE_SUM) {
|
|
|
|
+ //
|
|
|
|
+ } else if (node[JV.PROP_NAME] === JV.NODE_FLOW_GROUP) {
|
|
|
|
+ //
|
|
|
|
+ }
|
|
|
|
+ }
|
|
}
|
|
}
|
|
if (rptTpl[JV.NODE_CROSS_INFO]) {
|
|
if (rptTpl[JV.NODE_CROSS_INFO]) {
|
|
//
|
|
//
|