|
@@ -35,6 +35,13 @@ var zTreeOprObj = {
|
|
|
storageUtil.setSessionCache("RationGrp","repositoryID",result.data[0].rationRepId);
|
|
|
}
|
|
|
zTreeHelper.createTree(result.data, setting, "rationChapterTree", me);
|
|
|
+ //初始化,初始节点点击
|
|
|
+ let rootNode = me.treeObj.getNodes()[0];
|
|
|
+ if(rootNode && rootNode.isParent && rootNode.isFirstNode){
|
|
|
+ me.treeObj.selectNode(rootNode);
|
|
|
+ me.onClick(null, 'rationChapterTree', rootNode);
|
|
|
+ }
|
|
|
+ explanatoryOprObj.bindEvents($('#explanationShow'), $('#ruleTextShow'));
|
|
|
}
|
|
|
},
|
|
|
error:function(err){
|
|
@@ -185,7 +192,7 @@ var zTreeOprObj = {
|
|
|
}
|
|
|
//上移
|
|
|
else if(treeNode.level === targetNode.level && moveType === 'prev'){
|
|
|
- console.log(1);
|
|
|
+
|
|
|
if(targetNode.Previous_ID !== -1){
|
|
|
let targetPrev = me.treeObj.getNodeByParam('ID', targetNode.Previous_ID, null);
|
|
|
targetPrev.NextSiblingID = treeNode.ID;
|
|
@@ -260,7 +267,6 @@ var zTreeOprObj = {
|
|
|
else node.__v = 0;
|
|
|
reqData.push(node);
|
|
|
}
|
|
|
- console.log(reqData);
|
|
|
$.ajax({
|
|
|
type:"POST",
|
|
|
url:"api/updateNodes",
|
|
@@ -305,7 +311,6 @@ var zTreeOprObj = {
|
|
|
}
|
|
|
newNodes.push({ rationRepId: rst.data.rationRepId, ID: rst.data.ID, Previous_ID: lastNodeId, ParentID: rst.data.ParentID, NextSiblingID:-1, name:"新增子节点",isParent:false, items:[]});
|
|
|
treeNode.isParent = true;
|
|
|
- console.log(newNodes);
|
|
|
if (me.treeObj) {
|
|
|
me.treeObj.addNodes(treeNode, -1, newNodes, isSilent);
|
|
|
} else {
|
|
@@ -322,6 +327,9 @@ var zTreeOprObj = {
|
|
|
$("#addBtn_"+treeNode.tId).unbind().remove();
|
|
|
},
|
|
|
onClick: function(event,treeId,treeNode) {
|
|
|
+ explanatoryOprObj.setAttribute(explanatoryOprObj.currentTreeNode ? explanatoryOprObj.currentTreeNode : treeNode, treeNode, treeNode.explanation, treeNode.ruleText);
|
|
|
+ explanatoryOprObj.clickUpdate($('#explanationShow'), $('#ruleTextShow'));
|
|
|
+ explanatoryOprObj.showText($('#explanationShow'), $('#ruleTextShow'), treeNode.explanation, treeNode.ruleText);
|
|
|
var sectionID = treeNode.ID;
|
|
|
if (!(treeNode.items) || treeNode.items.length == 0) {
|
|
|
rationOprObj.getRationItems(sectionID);
|
|
@@ -332,5 +340,96 @@ var zTreeOprObj = {
|
|
|
sheetCommonObj.cleanSheet(rationGLJOprObj.sheet, rationGLJOprObj.setting, -1);
|
|
|
sheetCommonObj.shieldAllCells(rationGLJOprObj.sheet);
|
|
|
}
|
|
|
-
|
|
|
+};
|
|
|
+//定额章节节点说明、计算规则
|
|
|
+let explanatoryOprObj = {
|
|
|
+ preTreeNode: null,
|
|
|
+ currentTreeNode: null,//定额章节树节点
|
|
|
+ currentExplanation: null,
|
|
|
+ currentRuleText: null,
|
|
|
+ setAttribute: function (preNode, currentNode, explanation, ruleText) {
|
|
|
+ let me = explanatoryOprObj;
|
|
|
+ me.preTreeNode = preNode;
|
|
|
+ me.currentTreeNode = currentNode;
|
|
|
+ me.currentExplanation = explanation;
|
|
|
+ me.currentRuleText = ruleText;
|
|
|
+ },
|
|
|
+ clickUpdate: function (exarea, ruarea) {//解决编辑完后在未失去焦点的时候直接定额章节树
|
|
|
+ let me = explanatoryOprObj;
|
|
|
+ if(exarea.is(':focus')){
|
|
|
+ let explanation = exarea.val();
|
|
|
+ if(explanation !== me.currentExplanation){
|
|
|
+ me.preTreeNode.explanation = explanation;
|
|
|
+ me.unbindEvents(exarea, ruarea);
|
|
|
+ exarea.blur();
|
|
|
+ me.updateExplanation(me.preTreeNode.rationRepId, me.preTreeNode.ID, explanation, function () {
|
|
|
+ me.bindEvents(exarea, ruarea);
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(ruarea.is(':focus')){
|
|
|
+ let ruleText = ruarea.val();
|
|
|
+ if(ruleText !== me.currentRuleText){
|
|
|
+ me.preTreeNode.ruleText = ruleText;
|
|
|
+ me.unbindEvents(exarea, ruarea);
|
|
|
+ ruarea.blur();
|
|
|
+ me.updateRuleText(me.preTreeNode.rationRepId, me.preTreeNode.ID, ruleText, function () {
|
|
|
+ me.bindEvents(exarea, ruarea);
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ unbindEvents: function (exarea, ruarea) {
|
|
|
+ exarea.unbind();
|
|
|
+ ruarea.unbind();
|
|
|
+ },
|
|
|
+ bindEvents: function (exarea, ruarea) {
|
|
|
+ let me = explanatoryOprObj;
|
|
|
+ exarea.bind('change', function () {
|
|
|
+ let explanation = exarea.val();
|
|
|
+ let node = me.currentTreeNode;
|
|
|
+ exarea.attr('disabled', true);
|
|
|
+ me.updateExplanation(node.rationRepId, node.ID, explanation, function () {
|
|
|
+ node.explanation = explanation;
|
|
|
+ exarea.attr('disabled', false);
|
|
|
+ });
|
|
|
+ });
|
|
|
+ ruarea.bind('change', function () {
|
|
|
+ let ruleText = ruarea.val();
|
|
|
+ let node = me.currentTreeNode;
|
|
|
+ ruarea.attr('disabled', true);
|
|
|
+ me.updateRuleText(node.rationRepId, node.ID, ruleText, function () {
|
|
|
+ node.ruleText = ruleText;
|
|
|
+ ruarea.attr('disabled', false);
|
|
|
+ });
|
|
|
+ });
|
|
|
+ },
|
|
|
+ showText: function (exarea, ruarea, explanation, ruleText) {
|
|
|
+ exarea.val(explanation && explanation !== 'undefined' ? explanation : '');
|
|
|
+ ruarea.val(ruleText && ruleText !== 'undefined' ? ruleText : '');
|
|
|
+ },
|
|
|
+ //更新说明
|
|
|
+ updateExplanation: function (repId, nodeId, explanation, callback) {
|
|
|
+ $.ajax({
|
|
|
+ type: 'post',
|
|
|
+ url: 'api/updateExplanation',
|
|
|
+ data: {lastOpr: userAccount, repId: repId, nodeId: nodeId, explanation: explanation},
|
|
|
+ dataType: 'json',
|
|
|
+ success: function () {
|
|
|
+ callback();
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+ //更新计算规则
|
|
|
+ updateRuleText: function (repId, nodeId, explanation, callback) {
|
|
|
+ $.ajax({
|
|
|
+ type: 'post',
|
|
|
+ url: 'api/updateRuleText',
|
|
|
+ data: {lastOpr: userAccount, repId: repId, nodeId: nodeId, explanation: explanation},
|
|
|
+ dataType: 'json',
|
|
|
+ success: function () {
|
|
|
+ callback();
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
};
|