|
@@ -15,8 +15,23 @@ const
|
|
|
NODE_LEVEL_COMPILATION_NEW = 1,
|
|
|
NODE_LEVEL_USER = 0;
|
|
|
|
|
|
+
|
|
|
+// 工程类型枚举值
|
|
|
+const valuationSelectorMap = {
|
|
|
+ valuationSelector_NA: 'N/A',
|
|
|
+ valuationSelector_suggestion: '建议估算',
|
|
|
+ valuationSelector_feasibility: '可行性估算',
|
|
|
+ valuationSelector_rough: '概算',
|
|
|
+ valuationSelector_bill: '预算',
|
|
|
+ valuationSelector_three_bill_budget: '三级清单预算',
|
|
|
+ valuationSelector_ration: '清单预算',
|
|
|
+ valuationSelector_changeBudget: '变更预算',
|
|
|
+ valuationSelector_settlement: '结算'
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
let rptTplObj = {
|
|
|
- iniPage: function() {
|
|
|
+ iniPage: function () {
|
|
|
zTreeOprObj.getCompilationList();
|
|
|
rpt_tpl_cfg_helper.getReportTplCfg();
|
|
|
selectableFiledTreeOprObj.iniTree();
|
|
@@ -33,23 +48,23 @@ let zTreeOprObj = {
|
|
|
moveSrcTopNode: null,
|
|
|
dupTplIds: null,
|
|
|
hasRefreshedDupRefIds: false,
|
|
|
- getCompilationList: function(){
|
|
|
+ getCompilationList: function () {
|
|
|
let me = zTreeOprObj, params = {};
|
|
|
- CommonAjax.postEx("report_tpl_api/getCompilationList", params, 20000, true, function(result){
|
|
|
- //console.log(result);
|
|
|
- for (let item of result) {
|
|
|
- // if (item.is_release) {
|
|
|
- $("#compilations").append("<option value='" + item._id + "'>" + item.name + "</option>");
|
|
|
- // }
|
|
|
- }
|
|
|
- // me.getReportTemplateTree($("#compilations").get(0));
|
|
|
- me.getReportTemplateTreeEx($("#compilations").get(0));
|
|
|
- }, null, null
|
|
|
+ CommonAjax.postEx("report_tpl_api/getCompilationList", params, 20000, true, function (result) {
|
|
|
+ //console.log(result);
|
|
|
+ for (let item of result) {
|
|
|
+ // if (item.is_release) {
|
|
|
+ $("#compilations").append("<option value='" + item._id + "'>" + item.name + "</option>");
|
|
|
+ // }
|
|
|
+ }
|
|
|
+ // me.getReportTemplateTree($("#compilations").get(0));
|
|
|
+ me.getReportTemplateTreeEx($("#compilations").get(0));
|
|
|
+ }, null, null
|
|
|
);
|
|
|
},
|
|
|
- refreshNodes: function() {
|
|
|
+ refreshNodes: function () {
|
|
|
let me = this;
|
|
|
- let private_setupIsParent = function(node){
|
|
|
+ let private_setupIsParent = function (node) {
|
|
|
// if (node.nodeType === RT.NodeType.NODE || node.level === 0) {
|
|
|
if (node.nodeType === RT.NodeType.NODE || node.level <= NODE_LEVEL_COMPILATION_NEW) {
|
|
|
node.isParent = true;
|
|
@@ -68,7 +83,7 @@ let zTreeOprObj = {
|
|
|
}
|
|
|
me.treeObj.refresh();
|
|
|
},
|
|
|
- removeTreeRootNode: function(rawNode, isAsync, callback, failCallback) {
|
|
|
+ removeTreeRootNode: function (rawNode, isAsync, callback, failCallback) {
|
|
|
let params = {};
|
|
|
params.compilationId = rawNode.compilationId;
|
|
|
params.engineerId = rawNode.engineerId;
|
|
@@ -76,13 +91,13 @@ let zTreeOprObj = {
|
|
|
params.isPhysically = true;
|
|
|
CommonAjax.postEx("report_tpl_api/removeTreeRootNode", params, 5000, isAsync, callback, failCallback, null);
|
|
|
},
|
|
|
- copyReportTemplate: function(orgID, newID, isAsync, callback, failCallback) {
|
|
|
+ copyReportTemplate: function (orgID, newID, isAsync, callback, failCallback) {
|
|
|
let params = {};
|
|
|
params.orgRptTplId = orgID;
|
|
|
params.newRptTplId = newID;
|
|
|
CommonAjax.postEx("report_tpl_api/copyRptTpl", params, 5000, isAsync, callback, failCallback, null);
|
|
|
},
|
|
|
- updateTreeRootNode: function(rawNode, isAsync, callback, failCallback) {
|
|
|
+ updateTreeRootNode: function (rawNode, isAsync, callback, failCallback) {
|
|
|
let params = {};
|
|
|
params.doc = rawNode;
|
|
|
CommonAjax.postEx("report_tpl_api/updateTreeRootNode", params, 5000, isAsync, callback, failCallback, null);
|
|
@@ -103,7 +118,7 @@ let zTreeOprObj = {
|
|
|
params.subNode = subNode;
|
|
|
CommonAjax.postEx("report_tpl_api/updateSubLevelOneNode", params, 5000, isAsync, callback, failCallback, null);
|
|
|
},
|
|
|
- createIniNode: function() {
|
|
|
+ createIniNode: function () {
|
|
|
return {
|
|
|
nodeType: RT.NodeType.TEMPLATE,
|
|
|
refId: -1,
|
|
@@ -112,7 +127,7 @@ let zTreeOprObj = {
|
|
|
items: null
|
|
|
};
|
|
|
},
|
|
|
- buildRootNodeDoc: function(topNode, excludeNode) {
|
|
|
+ buildRootNodeDoc: function (topNode, excludeNode) {
|
|
|
let me = this, rst = null;
|
|
|
if (topNode) {
|
|
|
rst = {
|
|
@@ -128,7 +143,7 @@ let zTreeOprObj = {
|
|
|
}
|
|
|
return rst;
|
|
|
},
|
|
|
- buildSubRootNodeDoc: function(subNode) {
|
|
|
+ buildSubRootNodeDoc: function (subNode) {
|
|
|
let me = this, rst = null;
|
|
|
if (subNode) {
|
|
|
let isReleased = false;
|
|
@@ -177,18 +192,18 @@ let zTreeOprObj = {
|
|
|
return itemRst;
|
|
|
},
|
|
|
|
|
|
- addHoverDom: function(treeId, treeNode) {
|
|
|
+ addHoverDom: function (treeId, treeNode) {
|
|
|
let me = zTreeOprObj, sObj = $("#" + treeNode.tId + "_span");
|
|
|
- if (treeNode.editNameFlag || $("#addBtn_"+treeNode.tId).length > 0 || treeNode.nodeType === RT.NodeType.TEMPLATE) return;
|
|
|
+ if (treeNode.editNameFlag || $("#addBtn_" + treeNode.tId).length > 0 || treeNode.nodeType === RT.NodeType.TEMPLATE) return;
|
|
|
if (treeNode.level === 0) {
|
|
|
let addStr = "<span class='button star' id='addBtn_" + treeNode.tId + "' title='新增编办类型' onfocus='this.blur();'></span>";
|
|
|
sObj.after(addStr);
|
|
|
- let btn = $("#addBtn_"+treeNode.tId);
|
|
|
- if (btn) btn.bind("click", function(){
|
|
|
+ let btn = $("#addBtn_" + treeNode.tId);
|
|
|
+ if (btn) btn.bind("click", function () {
|
|
|
let rawNode = me.createIniComilationNode();
|
|
|
if (!me.chkIfDupCompilationNode(rawNode, treeNode)) {
|
|
|
rawNode.userId = treeNode.userId;
|
|
|
- me.addNewNodeEx(rawNode, function(rst){
|
|
|
+ me.addNewNodeEx(rawNode, function (rst) {
|
|
|
if (rst) {
|
|
|
let newNodes = [], isSilent = false;
|
|
|
rawNode.isParent = true;
|
|
@@ -218,8 +233,8 @@ let zTreeOprObj = {
|
|
|
} else {
|
|
|
let addStr = "<span class='button add' id='addBtn_" + treeNode.tId + "' title='新增子目录' onfocus='this.blur();'></span>";
|
|
|
sObj.after(addStr);
|
|
|
- let btn = $("#addBtn_"+treeNode.tId);
|
|
|
- if (btn) btn.bind("click", function(){
|
|
|
+ let btn = $("#addBtn_" + treeNode.tId);
|
|
|
+ if (btn) btn.bind("click", function () {
|
|
|
me.getNewNodeID(1, function (newNodeID) {
|
|
|
let rawNode = me.createIniNode();
|
|
|
rawNode.nodeType = RT.NodeType.NODE;
|
|
@@ -242,7 +257,7 @@ let zTreeOprObj = {
|
|
|
me.treeObj.addNodes(treeNode, insertIdx, newNodes, isSilent);
|
|
|
let tn = me.getParentNodeByNodeLevel(treeNode, NODE_LEVEL_COMPILATION_NEW);
|
|
|
let newTopNode = me.buildRootNodeDoc(tn);
|
|
|
- me.updateTreeRootNode(newTopNode, true, function(rst){
|
|
|
+ me.updateTreeRootNode(newTopNode, true, function (rst) {
|
|
|
if (!(rst)) {
|
|
|
alert("新增节点失败!");
|
|
|
}
|
|
@@ -253,8 +268,8 @@ let zTreeOprObj = {
|
|
|
});
|
|
|
addStr = "<span class='button blue_core' id='addBtn2_" + treeNode.tId + "' title='新增报表模板' onfocus='this.blur();'></span>";
|
|
|
sObj.after(addStr);
|
|
|
- btn = $("#addBtn2_"+treeNode.tId + "");
|
|
|
- if (btn) btn.bind("click", function(){
|
|
|
+ btn = $("#addBtn2_" + treeNode.tId + "");
|
|
|
+ if (btn) btn.bind("click", function () {
|
|
|
// let me = zTreeOprObj;
|
|
|
if (treeNode.nodeType === RT.NodeType.NODE || treeNode.level === NODE_LEVEL_COMPILATION_NEW) {
|
|
|
me.getNewNodeID(1, function (newNodeID) {
|
|
@@ -268,7 +283,7 @@ let zTreeOprObj = {
|
|
|
me.treeObj.addNodes(treeNode, -1, newNodes, isSilent);
|
|
|
let tn = me.getParentNodeByNodeLevel(treeNode, NODE_LEVEL_COMPILATION_NEW);
|
|
|
let topNode = me.buildRootNodeDoc(tn);
|
|
|
- me.updateTreeRootNode(topNode, true, function(rst){
|
|
|
+ me.updateTreeRootNode(topNode, true, function (rst) {
|
|
|
if (!(rst)) {
|
|
|
alert("新增空白模板失败!");
|
|
|
}
|
|
@@ -279,11 +294,11 @@ let zTreeOprObj = {
|
|
|
});
|
|
|
}
|
|
|
},
|
|
|
- removeHoverDom: function(treeId, treeNode) {
|
|
|
- $("#addBtn_"+treeNode.tId).unbind().remove();
|
|
|
- $("#addBtn2_"+treeNode.tId).unbind().remove();
|
|
|
+ removeHoverDom: function (treeId, treeNode) {
|
|
|
+ $("#addBtn_" + treeNode.tId).unbind().remove();
|
|
|
+ $("#addBtn2_" + treeNode.tId).unbind().remove();
|
|
|
},
|
|
|
- addNewNodeEx: function(rawNode, callback, failCallback) {
|
|
|
+ addNewNodeEx: function (rawNode, callback, failCallback) {
|
|
|
let params = {};
|
|
|
params.doc = rawNode;
|
|
|
CommonAjax.postEx("report_tpl_api/createTreeRootNode", params, 5000, true, callback, failCallback, null);
|
|
@@ -292,7 +307,7 @@ let zTreeOprObj = {
|
|
|
let me = zTreeOprObj;
|
|
|
let topPNode = me.getParentNodeByNodeLevel(treeNode, NODE_LEVEL_COMPILATION_NEW);
|
|
|
let newTopNode = me.buildRootNodeDoc(topPNode);
|
|
|
- me.updateTreeRootNode(newTopNode, true, function(rst){
|
|
|
+ me.updateTreeRootNode(newTopNode, true, function (rst) {
|
|
|
if (!(rst)) {
|
|
|
alert("修改发布状态失败!");
|
|
|
}
|
|
@@ -363,7 +378,7 @@ let zTreeOprObj = {
|
|
|
treeNodes[0].ID = newNodeID;
|
|
|
if (confirm("是否引用相同的报表模板?")) {
|
|
|
newTopNode = me.buildRootNodeDoc(targetTopNode);
|
|
|
- me.updateTreeRootNode(newTopNode, false, function(goodRst){
|
|
|
+ me.updateTreeRootNode(newTopNode, false, function (goodRst) {
|
|
|
canContinue = true;
|
|
|
if (treeNodes[0].rptTpl) {
|
|
|
treeNodes[0].rptTpl.ID = newNodeID;
|
|
@@ -372,7 +387,7 @@ let zTreeOprObj = {
|
|
|
me.chkAndSetDupRefTplIds(me.treeObj.getNodes(), null);
|
|
|
me.treeObj.refresh();
|
|
|
me.chkAndRreshRefTpl();
|
|
|
- }, function(badRst){
|
|
|
+ }, function (badRst) {
|
|
|
displayMessage("更新模板节点失败!", "red", 2000);
|
|
|
// console.log(badRst.toString());
|
|
|
console.log(badRst);
|
|
@@ -381,8 +396,8 @@ let zTreeOprObj = {
|
|
|
treeNodes[0].refId = newNodeID;
|
|
|
// targetNode.refId = newNodeID; //targetNode可以是父节点也可以是兄弟节点,没必要引用相同的tplID
|
|
|
newTopNode = me.buildRootNodeDoc(targetTopNode);
|
|
|
- me.copyReportTemplate(orgID, newNodeID, true, function(goodResult){
|
|
|
- me.updateTreeRootNode(newTopNode, true, function(goodRst){
|
|
|
+ me.copyReportTemplate(orgID, newNodeID, true, function (goodResult) {
|
|
|
+ me.updateTreeRootNode(newTopNode, true, function (goodRst) {
|
|
|
canContinue = true;
|
|
|
// treeObj.updateNode(nodes[0]);
|
|
|
zTreeOprObj.treeObj.updateNode(treeNodes[0]);
|
|
@@ -393,12 +408,12 @@ let zTreeOprObj = {
|
|
|
me.chkAndSetDupRefTplIds(me.treeObj.getNodes(), null);
|
|
|
me.treeObj.refresh();
|
|
|
me.chkAndRreshRefTpl();
|
|
|
- }, function(badRst){
|
|
|
+ }, function (badRst) {
|
|
|
displayMessage("更新模板节点失败!", "red", 2000);
|
|
|
// console.log(badRst.toString());
|
|
|
console.log(badRst);
|
|
|
});
|
|
|
- }, function(badResult){
|
|
|
+ }, function (badResult) {
|
|
|
displayMessage("Copy请求失败!", "red", 2000);
|
|
|
// console.log(badResult.toString());
|
|
|
console.log(badResult);
|
|
@@ -410,19 +425,19 @@ let zTreeOprObj = {
|
|
|
// }
|
|
|
} else {
|
|
|
newTopNode = me.buildRootNodeDoc(targetTopNode);
|
|
|
- me.updateTreeRootNode(newTopNode, false, function(rst){
|
|
|
+ me.updateTreeRootNode(newTopNode, false, function (rst) {
|
|
|
canContinue = true;
|
|
|
me.currentNode = treeNodes[0];
|
|
|
- }, function(badResult){
|
|
|
+ }, function (badResult) {
|
|
|
displayMessage("移动请求失败!", "red", 2000);
|
|
|
console.log(badResult.toString());
|
|
|
canContinue = false;
|
|
|
});
|
|
|
if (canContinue && !isCopy && me.moveSrcTopNode) {
|
|
|
let newSrcTopNode = me.buildRootNodeDoc(me.moveSrcTopNode);
|
|
|
- me.updateTreeRootNode(newSrcTopNode, true, function(rst){
|
|
|
+ me.updateTreeRootNode(newSrcTopNode, true, function (rst) {
|
|
|
// canContinue = true;
|
|
|
- }, function(badResult){
|
|
|
+ }, function (badResult) {
|
|
|
displayMessage("移动请求失败!", "red", 2000);
|
|
|
canContinue = true;
|
|
|
});
|
|
@@ -430,7 +445,7 @@ let zTreeOprObj = {
|
|
|
me.moveSrcTopNode = null;
|
|
|
}
|
|
|
},
|
|
|
- addReportTemplate: function(newUsers) {
|
|
|
+ addReportTemplate: function (newUsers) {
|
|
|
let me = zTreeOprObj, params = {};
|
|
|
params.compilationId = $("#compilations").get(0).value;
|
|
|
params.userId = [];
|
|
@@ -444,11 +459,11 @@ let zTreeOprObj = {
|
|
|
allEngIds.push(item.value);
|
|
|
}
|
|
|
params.engineerId = allEngIds;
|
|
|
- CommonAjax.postEx("report_tpl_api/getRptTplTree", params, 20000, true, function(result){
|
|
|
- result.sort(function(item1, item2){
|
|
|
+ CommonAjax.postEx("report_tpl_api/getRptTplTree", params, 20000, true, function (result) {
|
|
|
+ result.sort(function (item1, item2) {
|
|
|
let rst = 0;
|
|
|
if (item1.userId === item2.userId) {
|
|
|
- rst = (item1.engineerId > item2.engineerId)?1:((item1.engineerId < item2.engineerId)?-1:0);
|
|
|
+ rst = (item1.engineerId > item2.engineerId) ? 1 : ((item1.engineerId < item2.engineerId) ? -1 : 0);
|
|
|
} else {
|
|
|
if (item1.userId === "-100") {
|
|
|
rst = 1
|
|
@@ -462,7 +477,7 @@ let zTreeOprObj = {
|
|
|
if (idx1 >= 0 && idx2 >= 0) {
|
|
|
break;
|
|
|
}
|
|
|
- rst = (idx1 > idx2)?1:((idx1 < idx2)?-1:0);
|
|
|
+ rst = (idx1 > idx2) ? 1 : ((idx1 < idx2) ? -1 : 0);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -472,7 +487,7 @@ let zTreeOprObj = {
|
|
|
let allTopTplNodes = [];
|
|
|
for (let user of newUsers) {
|
|
|
allTopUserIdNodes.push(user.userId);
|
|
|
- allTopTplNodes.push({userId: user.userId, name: user.real_name, items: [], isParent: true});
|
|
|
+ allTopTplNodes.push({ userId: user.userId, name: user.real_name, items: [], isParent: true });
|
|
|
}
|
|
|
for (let item of result) {
|
|
|
let uidx = allTopUserIdNodes.indexOf(item.userId);
|
|
@@ -568,8 +583,8 @@ let zTreeOprObj = {
|
|
|
getReportTemplateTreeEx: function (compilationSelect) {
|
|
|
let me = zTreeOprObj, params = {};
|
|
|
params.compilationId = compilationSelect.value;
|
|
|
- CommonAjax.postEx("report_tpl_api/getTplTreeByCompilation", params, 20000, true, function(result){
|
|
|
- result.sort(function(item1, item2){
|
|
|
+ CommonAjax.postEx("report_tpl_api/getTplTreeByCompilation", params, 20000, true, function (result) {
|
|
|
+ result.sort(function (item1, item2) {
|
|
|
let rst = 0;
|
|
|
if (item1.userId === "-100") {
|
|
|
rst = -1;
|
|
@@ -580,7 +595,7 @@ let zTreeOprObj = {
|
|
|
});
|
|
|
// me.chkAndSetDupRefTplIds(result);
|
|
|
// console.log(dupRefIds);
|
|
|
- let allTopTplNodes = [{userId: "-100", name: "公共模板", items:[], isParent: true, refId: ""}];
|
|
|
+ let allTopTplNodes = [{ userId: "-100", name: "公共模板", items: [], isParent: true, refId: "" }];
|
|
|
if (result.length > 0) {
|
|
|
if (!result[0].hasOwnProperty("refId")) {
|
|
|
result[0].refId = "";
|
|
@@ -600,7 +615,7 @@ let zTreeOprObj = {
|
|
|
for (let itemIdx = 1; itemIdx < result.length; itemIdx++) {
|
|
|
let item = result[itemIdx];
|
|
|
if (item.userId === user._id) {
|
|
|
- allTopTplNodes.push({userId: user.userId, name: user.real_name, items: [], isParent: true, refId: ""});
|
|
|
+ allTopTplNodes.push({ userId: user.userId, name: user.real_name, items: [], isParent: true, refId: "" });
|
|
|
allTopTplNodes[allTopTplNodes.length - 1].items.push(result[itemIdx]);
|
|
|
break;
|
|
|
}
|
|
@@ -653,11 +668,11 @@ let zTreeOprObj = {
|
|
|
}
|
|
|
return rst;
|
|
|
},
|
|
|
- createIniComilationNode: function() {
|
|
|
+ createIniComilationNode: function () {
|
|
|
//在新的需求下,无需工程id
|
|
|
let rst = {
|
|
|
compilationId: $("#compilations").get(0).selectedOptions[0].value,
|
|
|
- userId: (userAccount === 'admin')?("-100"):userID,
|
|
|
+ userId: (userAccount === 'admin') ? ("-100") : userID,
|
|
|
properties: [],
|
|
|
released: true,
|
|
|
isDeleted: false,
|
|
@@ -666,7 +681,7 @@ let zTreeOprObj = {
|
|
|
};
|
|
|
return rst;
|
|
|
},
|
|
|
- onBeforeRemove: function(treeId, treeNode){
|
|
|
+ onBeforeRemove: function (treeId, treeNode) {
|
|
|
let canRemove = false;
|
|
|
if (treeNode.level > NODE_LEVEL_USER) {
|
|
|
if (!(treeNode.items) || treeNode.items.length < 1) {
|
|
@@ -679,19 +694,19 @@ let zTreeOprObj = {
|
|
|
}
|
|
|
return canRemove;
|
|
|
},
|
|
|
- onRemove: function(e, treeId, treeNode){
|
|
|
+ onRemove: function (e, treeId, treeNode) {
|
|
|
if (treeNode.level > NODE_LEVEL_USER) {
|
|
|
let me = zTreeOprObj,
|
|
|
topPNode = me.getParentNodeByNodeLevel(treeNode, NODE_LEVEL_COMPILATION_NEW);
|
|
|
let rawNode = me.buildRootNodeDoc(topPNode, treeNode);
|
|
|
if (treeNode.level === NODE_LEVEL_COMPILATION_NEW) {
|
|
|
- me.removeTreeRootNode(rawNode, true, function(rst){
|
|
|
+ me.removeTreeRootNode(rawNode, true, function (rst) {
|
|
|
if (!(rst)) {
|
|
|
alert("删除请求失败!");
|
|
|
}
|
|
|
});
|
|
|
} else {
|
|
|
- me.updateTreeRootNode(rawNode, true, function(rst){
|
|
|
+ me.updateTreeRootNode(rawNode, true, function (rst) {
|
|
|
if (!(rst)) {
|
|
|
alert("删除请求失败!");
|
|
|
}
|
|
@@ -702,12 +717,12 @@ let zTreeOprObj = {
|
|
|
},
|
|
|
beforeEditName: function (treeId, treeNode) {
|
|
|
if (treeNode.level > NODE_LEVEL_COMPILATION_NEW) {
|
|
|
- setTimeout(function(){
|
|
|
+ setTimeout(function () {
|
|
|
let ip = $("#" + treeNode.tId + IDMark_Input);
|
|
|
if (ip.length > 0) {
|
|
|
ip[0].className = "individualRename";
|
|
|
} else {
|
|
|
- setTimeout(function(){
|
|
|
+ setTimeout(function () {
|
|
|
let ip = $("#" + treeNode.tId + IDMark_Input);
|
|
|
if (ip.length > 0) {
|
|
|
ip[0].className = "individualRename";
|
|
@@ -722,13 +737,13 @@ let zTreeOprObj = {
|
|
|
return false;
|
|
|
}
|
|
|
},
|
|
|
- beforeRename: function(treeId, treeNode, newName, isCancel) {
|
|
|
+ beforeRename: function (treeId, treeNode, newName, isCancel) {
|
|
|
if (newName.length === 0) {
|
|
|
return false;
|
|
|
}
|
|
|
return true;
|
|
|
},
|
|
|
- onRename : function(e, treeId, treeNode, isCancel) {
|
|
|
+ onRename: function (e, treeId, treeNode, isCancel) {
|
|
|
if (!isCancel) {
|
|
|
let me = zTreeOprObj;
|
|
|
if (treeNode.level === 0) {
|
|
@@ -737,7 +752,7 @@ let zTreeOprObj = {
|
|
|
let subTopNode = me.getParentNodeByNodeLevel(treeNode, NODE_LEVEL_COMPILATION_NEW + 1);
|
|
|
let topPNode = subTopNode.getParentNode();
|
|
|
let rawNode = me.buildSubRootNodeDoc(subTopNode);
|
|
|
- me.updateSubNode(topPNode, rawNode, true, function(rst){
|
|
|
+ me.updateSubNode(topPNode, rawNode, true, function (rst) {
|
|
|
if (!(rst)) {
|
|
|
alert('修改名称请求失败!');
|
|
|
}
|
|
@@ -745,17 +760,17 @@ let zTreeOprObj = {
|
|
|
}
|
|
|
}
|
|
|
},
|
|
|
- onChangeFlag: function(flagProp, flagDom){
|
|
|
+ onChangeFlag: function (flagProp, flagDom) {
|
|
|
let me = zTreeOprObj;
|
|
|
if (me.currentNode && me.currentNode.nodeType === RT.NodeType.TEMPLATE) {
|
|
|
if (!me.currentNode.hasOwnProperty("flags")) {
|
|
|
me.currentNode.flags = {};
|
|
|
}
|
|
|
- me.currentNode.flags[flagProp] = (flagDom.selectedOptions[0].value === 'NA')?null:flagDom.selectedOptions[0].value;
|
|
|
+ me.currentNode.flags[flagProp] = (flagDom.selectedOptions[0].value === 'NA') ? null : flagDom.selectedOptions[0].value;
|
|
|
let subTopNode = me.getParentNodeByNodeLevel(me.currentNode, NODE_LEVEL_COMPILATION_NEW + 1);
|
|
|
let topPNode = subTopNode.getParentNode();
|
|
|
let rawNode = me.buildSubRootNodeDoc(subTopNode);
|
|
|
- me.updateSubNode(topPNode, rawNode, true, function(rst){
|
|
|
+ me.updateSubNode(topPNode, rawNode, true, function (rst) {
|
|
|
if (!(rst)) {
|
|
|
alert('修改标记:[' + flagProp + '] 失败!');
|
|
|
}
|
|
@@ -763,6 +778,23 @@ let zTreeOprObj = {
|
|
|
}
|
|
|
},
|
|
|
|
|
|
+ onMutiChangeFlag: function (flagProp, flagDom) {
|
|
|
+ let me = zTreeOprObj;
|
|
|
+ if (me.currentNode && me.currentNode.nodeType === RT.NodeType.TEMPLATE) {
|
|
|
+ if (!me.currentNode.hasOwnProperty("flags")) {
|
|
|
+ me.currentNode.flags = {};
|
|
|
+ }
|
|
|
+ me.currentNode.flags[flagProp] = flagDom[0].value.split(',');
|
|
|
+ let subTopNode = me.getParentNodeByNodeLevel(me.currentNode, NODE_LEVEL_COMPILATION_NEW + 1);
|
|
|
+ let topPNode = subTopNode.getParentNode();
|
|
|
+ let rawNode = me.buildSubRootNodeDoc(subTopNode);
|
|
|
+ me.updateSubNode(topPNode, rawNode, true, function (rst) {
|
|
|
+ if (!(rst)) {
|
|
|
+ alert('修改标记:[' + flagProp + '] 失败!');
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ },
|
|
|
createNewTpl: function () {
|
|
|
let me = zTreeOprObj, params = {};
|
|
|
if (me.currentNode && me.currentNode.nodeType === RT.NodeType.TEMPLATE) {
|
|
@@ -781,14 +813,14 @@ let zTreeOprObj = {
|
|
|
params.engineerId = topPNode.engineerId;
|
|
|
params.userId = topPNode.userId;
|
|
|
params.subNode = rawNode;
|
|
|
- CommonAjax.postEx("report_tpl_api/createDftRptTpl", params, 10000, true, function(result){
|
|
|
- if (result) {
|
|
|
- me.currentNode.rptTpl = result;
|
|
|
- me.chkAndRreshRefTpl();
|
|
|
- } else {
|
|
|
- alert('update error!');
|
|
|
- }
|
|
|
- }, null, null
|
|
|
+ CommonAjax.postEx("report_tpl_api/createDftRptTpl", params, 10000, true, function (result) {
|
|
|
+ if (result) {
|
|
|
+ me.currentNode.rptTpl = result;
|
|
|
+ me.chkAndRreshRefTpl();
|
|
|
+ } else {
|
|
|
+ alert('update error!');
|
|
|
+ }
|
|
|
+ }, null, null
|
|
|
);
|
|
|
}
|
|
|
},
|
|
@@ -805,7 +837,7 @@ let zTreeOprObj = {
|
|
|
}
|
|
|
return true;
|
|
|
},
|
|
|
- onClick: function(event,treeId,treeNode) {
|
|
|
+ onClick: function (event, treeId, treeNode) {
|
|
|
let me = zTreeOprObj;
|
|
|
me.currentNode = treeNode;
|
|
|
bandTreeOprObj.currentNode = null;
|
|
@@ -859,77 +891,107 @@ let zTreeOprObj = {
|
|
|
}
|
|
|
return rst;
|
|
|
},
|
|
|
- chkAndRreshRefTpl: function(forceRefresh) {
|
|
|
+ chkAndRreshRefTpl: function (forceRefresh) {
|
|
|
let me = zTreeOprObj, params = {};
|
|
|
const valuationTypes = ['suggestion', 'feasibility', 'rough', 'bill', 'three_bill_budget', 'ration', 'changeBudget', 'settlement'];
|
|
|
if (me.currentNode && me.currentNode.nodeType === RT.NodeType.TEMPLATE && me.currentNode.refId > 0) {
|
|
|
if (forceRefresh || !(me.currentNode.rptTpl)) {
|
|
|
params.rptTplId = me.currentNode.refId;
|
|
|
- CommonAjax.postEx("report_tpl_api/getRefRptTpl", params, 20000, true, function(result){
|
|
|
- me.currentNode.rptTpl = result;
|
|
|
- me.currentNode.rptTpl[JV.NODE_MAIN_INFO][JV.NODE_MAIN_INFO_RPT_NAME] = me.currentNode.name;
|
|
|
- if (me.currentNode.rptTpl["GROUP_KEY"]) {
|
|
|
- let grp_keys = me.currentNode.rptTpl["GROUP_KEY"].split('_');
|
|
|
- if (grp_keys.length > 0) {
|
|
|
- grp_keys[1] = me.currentNode.name;
|
|
|
- }
|
|
|
- me.currentNode.rptTpl["GROUP_KEY"] = grp_keys.join("_");
|
|
|
+ CommonAjax.postEx("report_tpl_api/getRefRptTpl", params, 20000, true, function (result) {
|
|
|
+ me.currentNode.rptTpl = result;
|
|
|
+ me.currentNode.rptTpl[JV.NODE_MAIN_INFO][JV.NODE_MAIN_INFO_RPT_NAME] = me.currentNode.name;
|
|
|
+ if (me.currentNode.rptTpl["GROUP_KEY"]) {
|
|
|
+ let grp_keys = me.currentNode.rptTpl["GROUP_KEY"].split('_');
|
|
|
+ if (grp_keys.length > 0) {
|
|
|
+ grp_keys[1] = me.currentNode.name;
|
|
|
}
|
|
|
- tplHelper.refreshTplView(me.currentNode.rptTpl);
|
|
|
- if (me.currentNode.hasOwnProperty('flags')) {
|
|
|
- if (me.currentNode.flags.hasOwnProperty('taxType')) {
|
|
|
- let val = parseInt(me.currentNode.flags['taxType']);
|
|
|
- $("#element_flags_select")[0].selectedIndex = val;
|
|
|
- } else {
|
|
|
- $("#element_flags_select")[0].selectedIndex = 0;
|
|
|
- }
|
|
|
- if (me.currentNode.flags.hasOwnProperty('valuationType')) {
|
|
|
- let vType = me.currentNode.flags['valuationType'];
|
|
|
- let vtIdx = valuationTypes.indexOf(vType);
|
|
|
- $("#element_prjFlags_select")[0].selectedIndex = vtIdx + 1;
|
|
|
- } else {
|
|
|
- $("#element_prjFlags_select")[0].selectedIndex = 0;
|
|
|
- }
|
|
|
- if (me.currentNode.flags.hasOwnProperty('reportType')) {
|
|
|
- let rType = me.currentNode.flags['reportType'];
|
|
|
- if (rType === 'billSummary') $("#element_rptFlags_select")[0].selectedIndex = 1
|
|
|
- else if (rType === 'gljSummary') $("#element_rptFlags_select")[0].selectedIndex = 2
|
|
|
- else $("#element_rptFlags_select")[0].selectedIndex = 0;
|
|
|
- } else {
|
|
|
- $("#element_rptFlags_select")[0].selectedIndex = 0;
|
|
|
- }
|
|
|
-
|
|
|
- if (me.currentNode.flags.hasOwnProperty('sumLevelType')) {
|
|
|
- let sumLvType = me.currentNode.flags['sumLevelType'];
|
|
|
- if (sumLvType === 'construct') $("#element_sumLv_flags")[0].selectedIndex = 1
|
|
|
- else if (sumLvType === 'Single') $("#element_sumLv_flags")[0].selectedIndex = 2
|
|
|
- else if (sumLvType === 'custom') $("#element_sumLv_flags")[0].selectedIndex = 3
|
|
|
- else $("#element_sumLv_flags")[0].selectedIndex = 0;
|
|
|
- } else {
|
|
|
- $("#element_sumLv_flags")[0].selectedIndex = 0;
|
|
|
+ me.currentNode.rptTpl["GROUP_KEY"] = grp_keys.join("_");
|
|
|
+ }
|
|
|
+ tplHelper.refreshTplView(me.currentNode.rptTpl);
|
|
|
+ if (me.currentNode.hasOwnProperty('flags')) {
|
|
|
+ if (me.currentNode.flags.hasOwnProperty('taxType')) {
|
|
|
+ let val = parseInt(me.currentNode.flags['taxType']);
|
|
|
+ $("#element_flags_select")[0].selectedIndex = val;
|
|
|
+ } else {
|
|
|
+ $("#element_flags_select")[0].selectedIndex = 0;
|
|
|
+ }
|
|
|
+ $("#valuationSelector").hide();
|
|
|
+ if (me.currentNode.flags.hasOwnProperty('valuationType')) {
|
|
|
+ $(".mutiSelector").find('li').removeClass('checked');
|
|
|
+ let valuationTypeStr = '';
|
|
|
+ let valuationTypeStrList = [];
|
|
|
+ let vType = me.currentNode.flags['valuationType'];
|
|
|
+ // let vtIdx = valuationTypes.indexOf(vType);
|
|
|
+ // $("#element_prjFlags_select")[0].selectedIndex = vtIdx + 1;
|
|
|
+ if (vType instanceof Array) {
|
|
|
+ for (let i = 0; i < vType.length; i++) {
|
|
|
+ $("#valuationSelector_" + vType[i]).addClass('checked');
|
|
|
+ valuationTypeStrList.push(valuationSelectorMap["valuationSelector_" + vType[i]]);
|
|
|
+ }
|
|
|
+ valuationTypeStr = valuationTypeStrList.join(',');
|
|
|
+ } else if (vType) {
|
|
|
+ $("#valuationSelector_" + vType).addClass('checked');
|
|
|
+ valuationTypeStr = valuationSelectorMap["valuationSelector_" + vType];
|
|
|
}
|
|
|
+ $("#element_prjFlags_select")[0].value = vType;
|
|
|
+ $("#element_prjFlags_selectStr")[0].value = valuationTypeStr;
|
|
|
+ } else {
|
|
|
+ $("#element_prjFlags_select")[0].value = '';
|
|
|
+ $("#element_prjFlags_selectStr")[0].value = '';
|
|
|
+ $('#valuationSelector .mutiSelector li').removeClass('checked');
|
|
|
+ }
|
|
|
+ if (me.currentNode.flags.hasOwnProperty('reportType')) {
|
|
|
+ let rType = me.currentNode.flags['reportType'];
|
|
|
+ if (rType === 'billSummary') $("#element_rptFlags_select")[0].selectedIndex = 1
|
|
|
+ else if (rType === 'gljSummary') $("#element_rptFlags_select")[0].selectedIndex = 2
|
|
|
+ else $("#element_rptFlags_select")[0].selectedIndex = 0;
|
|
|
+ } else {
|
|
|
+ $("#element_rptFlags_select")[0].selectedIndex = 0;
|
|
|
+ }
|
|
|
|
|
|
+ if (me.currentNode.flags.hasOwnProperty('sumLevelType')) {
|
|
|
+ let sumLvType = me.currentNode.flags['sumLevelType'];
|
|
|
+ if (sumLvType === 'construct') $("#element_sumLv_flags")[0].selectedIndex = 1
|
|
|
+ else if (sumLvType === 'Single') $("#element_sumLv_flags")[0].selectedIndex = 2
|
|
|
+ else if (sumLvType === 'custom') $("#element_sumLv_flags")[0].selectedIndex = 3
|
|
|
+ else $("#element_sumLv_flags")[0].selectedIndex = 0;
|
|
|
} else {
|
|
|
- $("#element_flags_select")[0].selectedIndex = 0;
|
|
|
- $("#element_prjFlags_select")[0].selectedIndex = 0;
|
|
|
$("#element_sumLv_flags")[0].selectedIndex = 0;
|
|
|
}
|
|
|
|
|
|
- if ($("#rpt_tpl_visual_tab")[0].className === "nav-link p-1 active") {
|
|
|
- setTimeout(function(){visualJumbo.iniSpreadJs(); visualJumbo.setupTpl()}, 50)
|
|
|
+ if (me.currentNode.flags.hasOwnProperty('contrastType')) {
|
|
|
+ let contrastType = me.currentNode.flags['contrastType'];
|
|
|
+ if (contrastType === 'chapter') $("#element_contrastType_select")[0].selectedIndex = 1
|
|
|
+ else if (contrastType === 'bill') $("#element_contrastType_select")[0].selectedIndex = 2
|
|
|
+ else if (contrastType === 'quantities') $("#element_contrastType_select")[0].selectedIndex = 3
|
|
|
+ else $("#element_sumLv_flags")[0].selectedIndex = 0;
|
|
|
}
|
|
|
- }, null, null
|
|
|
+ } else {
|
|
|
+ $("#element_flags_select")[0].selectedIndex = 0;
|
|
|
+ $("#element_prjFlags_select")[0].selectedIndex = 0;
|
|
|
+ $("#element_sumLv_flags")[0].selectedIndex = 0;
|
|
|
+ // 清空工程类型
|
|
|
+ $("#valuationSelector").hide();
|
|
|
+ $("#element_prjFlags_select")[0].value = '';
|
|
|
+ $("#element_prjFlags_selectStr")[0].value = '';
|
|
|
+ $('#valuationSelector .mutiSelector li').removeClass('checked');
|
|
|
+ }
|
|
|
+
|
|
|
+ if ($("#rpt_tpl_visual_tab")[0].className === "nav-link p-1 active") {
|
|
|
+ setTimeout(function () { visualJumbo.iniSpreadJs(); visualJumbo.setupTpl() }, 50)
|
|
|
+ }
|
|
|
+ }, null, null
|
|
|
);
|
|
|
} else {
|
|
|
me.currentNode.rptTpl[JV.NODE_MAIN_INFO][JV.NODE_MAIN_INFO_RPT_NAME] = me.currentNode.name;
|
|
|
tplHelper.refreshTplView(me.currentNode.rptTpl);
|
|
|
if ($("#rpt_tpl_visual_tab")[0].className === "nav-link p-1 active") {
|
|
|
- setTimeout(function(){visualJumbo.iniSpreadJs(); visualJumbo.setupTpl()}, 50)
|
|
|
+ setTimeout(function () { visualJumbo.iniSpreadJs(); visualJumbo.setupTpl() }, 50)
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
},
|
|
|
- getRefTpl: function() {
|
|
|
+ getRefTpl: function () {
|
|
|
let me = zTreeOprObj, rst = null;
|
|
|
if (me.currentNode && me.currentNode.nodeType === RT.NodeType.TEMPLATE && me.currentNode.refId > 0) {
|
|
|
rst = me.currentNode.rptTpl
|
|
@@ -978,11 +1040,11 @@ let zTreeOprObj = {
|
|
|
let userListObj = {
|
|
|
foundedUserList: [],
|
|
|
UserIdList: [],
|
|
|
- pushUser: function(user, newUsers) {
|
|
|
+ pushUser: function (user, newUsers) {
|
|
|
let me = userListObj;
|
|
|
if (me.UserIdList.indexOf(user._id) < 0) {
|
|
|
me.UserIdList.push(user._id);
|
|
|
- let newUser = {userId: user._id, real_name: user.real_name, username: user.username, mobile: user.mobile};
|
|
|
+ let newUser = { userId: user._id, real_name: user.real_name, username: user.username, mobile: user.mobile };
|
|
|
me.foundedUserList.push(newUser);
|
|
|
if (newUsers) {
|
|
|
newUsers.push(newUser);
|
|
@@ -993,11 +1055,11 @@ let userListObj = {
|
|
|
let key = $("#rpt_user_input1").get(0).value;
|
|
|
let newUsers = [];
|
|
|
$.ajax({
|
|
|
- type:"GET",
|
|
|
+ type: "GET",
|
|
|
url: "user/search?keyword=" + key,
|
|
|
cache: false,
|
|
|
timeout: 5000,
|
|
|
- success: function(result){
|
|
|
+ success: function (result) {
|
|
|
if (result.data && result.data.length > 0) {
|
|
|
for (let user of result.data) {
|
|
|
userListObj.pushUser(user, newUsers);
|
|
@@ -1007,21 +1069,21 @@ let userListObj = {
|
|
|
}
|
|
|
}
|
|
|
},
|
|
|
- error: function(jqXHR, textStatus, errorThrown){
|
|
|
+ error: function (jqXHR, textStatus, errorThrown) {
|
|
|
}
|
|
|
});
|
|
|
},
|
|
|
findUsersByIds: function (userIds, cb) {
|
|
|
let params = {};
|
|
|
params.userIds = userIds;
|
|
|
- CommonAjax.postEx("user/getUserList", params, 20000, true, function(result){
|
|
|
- for (let user of result) {
|
|
|
- userListObj.pushUser(user, null);
|
|
|
- }
|
|
|
- if (cb) {
|
|
|
- cb(result);
|
|
|
- }
|
|
|
- }, null, null
|
|
|
+ CommonAjax.postEx("user/getUserList", params, 20000, true, function (result) {
|
|
|
+ for (let user of result) {
|
|
|
+ userListObj.pushUser(user, null);
|
|
|
+ }
|
|
|
+ if (cb) {
|
|
|
+ cb(result);
|
|
|
+ }
|
|
|
+ }, null, null
|
|
|
);
|
|
|
}
|
|
|
};
|
|
@@ -1031,7 +1093,40 @@ function displayMessage(message, color, disappearTime, id) {
|
|
|
if (!domId) domId = "id_after_saved_lbl";
|
|
|
$("#" + domId)[0].style.color = color;
|
|
|
$("#" + domId)[0].innerHTML = message;
|
|
|
- setTimeout(function(){
|
|
|
+ setTimeout(function () {
|
|
|
$("#" + domId)[0].innerHTML = "";
|
|
|
}, disappearTime);
|
|
|
-}
|
|
|
+}
|
|
|
+
|
|
|
+$("#element_prjFlags_selectStr").on('click', function () {
|
|
|
+ if ($('#valuationSelector').visible) {
|
|
|
+ $('#valuationSelector').hide();
|
|
|
+ } else {
|
|
|
+ $('#valuationSelector').show();
|
|
|
+ }
|
|
|
+ return false;
|
|
|
+})
|
|
|
+
|
|
|
+$('#rpttplinfo').on('click', function () {
|
|
|
+ $('#valuationSelector').hide();
|
|
|
+})
|
|
|
+
|
|
|
+$('.mutiSelector').find('li').on('click', function (e) {
|
|
|
+ const hasChecked = $(this).hasClass('checked');
|
|
|
+ if (hasChecked) {
|
|
|
+ $(this).removeClass('checked');
|
|
|
+ } else {
|
|
|
+ $(this).addClass('checked');
|
|
|
+ }
|
|
|
+ const resultIDList = [];
|
|
|
+ const resultList = [];
|
|
|
+ $('.mutiSelector .checked').each(function (index, value) {
|
|
|
+ resultList.push(valuationSelectorMap[$(value).attr('id')]);
|
|
|
+ resultIDList.push($(value).attr('value'));
|
|
|
+ })
|
|
|
+ const result = resultList.join(',');
|
|
|
+ $('#element_prjFlags_selectStr').val(result);
|
|
|
+ $('#element_prjFlags_select').val(resultIDList);
|
|
|
+ zTreeOprObj.onMutiChangeFlag('valuationType', $('#element_prjFlags_select'));
|
|
|
+ return false;
|
|
|
+})
|