|
@@ -21,6 +21,20 @@ var projectObj = {
|
|
},
|
|
},
|
|
treeSelectedChanged: function (node) {
|
|
treeSelectedChanged: function (node) {
|
|
let project = projectObj.project;
|
|
let project = projectObj.project;
|
|
|
|
+ //设置选中行底色和恢复前选中行底色
|
|
|
|
+ let refreshNodes = [node];
|
|
|
|
+ if(!project.mainTree.preSelected){
|
|
|
|
+ refreshNodes.push(project.mainTree.items[0]);
|
|
|
|
+ }
|
|
|
|
+ else {
|
|
|
|
+ refreshNodes.push(project.mainTree.preSelected);
|
|
|
|
+ }
|
|
|
|
+ project.mainTree.preSelected = node;
|
|
|
|
+ projectObj.setNodesStyle(projectObj.mainController.sheet, refreshNodes);
|
|
|
|
+ /* TREE_SHEET_HELPER.massOperationSheet(projectObj.mainController.sheet, function () {
|
|
|
|
+ TREE_SHEET_HELPER.refreshTreeNodeData(projectObj.mainController.setting, projectObj.mainController.sheet, refreshNodes, false);
|
|
|
|
+ });*/
|
|
|
|
+
|
|
subViewObj.loadComments(node);
|
|
subViewObj.loadComments(node);
|
|
gljOprObj.showDataIfRationSelect(node);
|
|
gljOprObj.showDataIfRationSelect(node);
|
|
if (activeSubSheetIs(subSheetIndex.ssiCalcProgram)) {
|
|
if (activeSubSheetIs(subSheetIndex.ssiCalcProgram)) {
|
|
@@ -36,7 +50,6 @@ var projectObj = {
|
|
pageCCOprObj.clearData();
|
|
pageCCOprObj.clearData();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
-
|
|
|
|
// for test interface. CSLAAAAA
|
|
// for test interface. CSLAAAAA
|
|
// projectObj.testDisplay('前四项累计值排除当前选中项' + projectObj.project.calcProgram.getBeforeTaxTotalFee([node]));
|
|
// projectObj.testDisplay('前四项累计值排除当前选中项' + projectObj.project.calcProgram.getBeforeTaxTotalFee([node]));
|
|
|
|
|
|
@@ -60,6 +73,9 @@ var projectObj = {
|
|
if(!node){
|
|
if(!node){
|
|
return false;
|
|
return false;
|
|
}
|
|
}
|
|
|
|
+ if(projectObj.project.isBillsLocked()== true){
|
|
|
|
+ return false;
|
|
|
|
+ }
|
|
if(node.depth()<=1){//焦点行是树结构的第一/二层节点,灰显。
|
|
if(node.depth()<=1){//焦点行是树结构的第一/二层节点,灰显。
|
|
return false;
|
|
return false;
|
|
}
|
|
}
|
|
@@ -89,6 +105,9 @@ var projectObj = {
|
|
if(!node){
|
|
if(!node){
|
|
return false;
|
|
return false;
|
|
}
|
|
}
|
|
|
|
+ if(projectObj.project.isBillsLocked()== true){
|
|
|
|
+ return false;
|
|
|
|
+ }
|
|
if(node.depth()==0){//焦点行是树结构的第一层节点,灰显。
|
|
if(node.depth()==0){//焦点行是树结构的第一层节点,灰显。
|
|
return false;
|
|
return false;
|
|
}
|
|
}
|
|
@@ -116,8 +135,13 @@ var projectObj = {
|
|
};
|
|
};
|
|
let canUpMove = function (node) {
|
|
let canUpMove = function (node) {
|
|
if(node&&node.preSibling){//有前兄弟
|
|
if(node&&node.preSibling){//有前兄弟
|
|
- if(node.sourceType==that.project.Bills.getSourceType()&&node.data.type == billType.DXFY&&node.data.isAdd!==1){
|
|
|
|
- return false;
|
|
|
|
|
|
+ if(node.sourceType==that.project.Bills.getSourceType()){
|
|
|
|
+ if(projectObj.project.isBillsLocked()== true){
|
|
|
|
+ return false;
|
|
|
|
+ }
|
|
|
|
+ if(node.data.type == billType.DXFY&&node.data.isAdd!==1){
|
|
|
|
+ return false;
|
|
|
|
+ }
|
|
}
|
|
}
|
|
return true
|
|
return true
|
|
}
|
|
}
|
|
@@ -125,8 +149,13 @@ var projectObj = {
|
|
};
|
|
};
|
|
let canDownMove = function (node) {
|
|
let canDownMove = function (node) {
|
|
if(node&&node.nextSibling){
|
|
if(node&&node.nextSibling){
|
|
- if(node.sourceType==that.project.Bills.getSourceType()&&node.data.type == billType.DXFY&&node.data.isAdd!==1){
|
|
|
|
- return false;
|
|
|
|
|
|
+ if(node.sourceType==that.project.Bills.getSourceType()){
|
|
|
|
+ if(projectObj.project.isBillsLocked()== true){
|
|
|
|
+ return false;
|
|
|
|
+ }
|
|
|
|
+ if(node.data.type == billType.DXFY&&node.data.isAdd!==1){
|
|
|
|
+ return false;
|
|
|
|
+ }
|
|
}
|
|
}
|
|
return true;
|
|
return true;
|
|
}
|
|
}
|
|
@@ -235,19 +264,21 @@ var projectObj = {
|
|
return rst;
|
|
return rst;
|
|
},
|
|
},
|
|
updateBillsCode: function (node, value) {
|
|
updateBillsCode: function (node, value) {
|
|
- let project = projectObj.project;
|
|
|
|
|
|
+ let project = projectObj.project,me = this;
|
|
let stdMatchCode, formatCode, matchs;
|
|
let stdMatchCode, formatCode, matchs;
|
|
let searchStdBillsAndUpdate = function (stdCode, formatCode) {
|
|
let searchStdBillsAndUpdate = function (stdCode, formatCode) {
|
|
let orgCode = node.data.code?node.data.code.substr(0, 9):"";
|
|
let orgCode = node.data.code?node.data.code.substr(0, 9):"";
|
|
if (stdCode === orgCode || projectInfoObj.projectInfo.engineeringInfo.bill_lib.length === 0) {
|
|
if (stdCode === orgCode || projectInfoObj.projectInfo.engineeringInfo.bill_lib.length === 0) {
|
|
- project.Bills.updateField(node.source, 'code', formatCode, true);
|
|
|
|
- projectObj.mainController.refreshTreeNode([node], false);
|
|
|
|
|
|
+ normalUpdate(node,value);
|
|
} else if (projectInfoObj.projectInfo.engineeringInfo.bill_lib.length > 0) {
|
|
} else if (projectInfoObj.projectInfo.engineeringInfo.bill_lib.length > 0) {
|
|
let libId = projectInfoObj.projectInfo.engineeringInfo.bill_lib[0].id;
|
|
let libId = projectInfoObj.projectInfo.engineeringInfo.bill_lib[0].id;
|
|
CommonAjax.post('/stdBillsEditor/getStdBillsByCode', {userId: userID, billsLibId: libId, code: stdCode}, function (data) {
|
|
CommonAjax.post('/stdBillsEditor/getStdBillsByCode', {userId: userID, billsLibId: libId, code: stdCode}, function (data) {
|
|
if (data) {
|
|
if (data) {
|
|
//data.itemCharacter = pageCCOprObj.safeItemCharater(data.itemCharacter);
|
|
//data.itemCharacter = pageCCOprObj.safeItemCharater(data.itemCharacter);
|
|
node.data.name = data.name;
|
|
node.data.name = data.name;
|
|
|
|
+ if(node.data.type == billType.BX){//从清单库中找到标准清单的话,要把补项改成分项
|
|
|
|
+ node.data.type = billType.FX;
|
|
|
|
+ }
|
|
pageCCOprObj.setItemContentNode(node, data.jobContent, data.itemCharacter, node.data.name);
|
|
pageCCOprObj.setItemContentNode(node, data.jobContent, data.itemCharacter, node.data.name);
|
|
if (/\//.test(data.unit)) {
|
|
if (/\//.test(data.unit)) {
|
|
let existB = projectObj.project.Bills.sameStdCodeBillsData(data.code);
|
|
let existB = projectObj.project.Bills.sameStdCodeBillsData(data.code);
|
|
@@ -269,13 +300,12 @@ var projectObj = {
|
|
projectObj.mainController.refreshTreeNode([node], false);
|
|
projectObj.mainController.refreshTreeNode([node], false);
|
|
}
|
|
}
|
|
} else {
|
|
} else {
|
|
- project.Bills.updateField(node.source, 'code', formatCode, true);
|
|
|
|
- projectObj.mainController.refreshTreeNode([node], false);
|
|
|
|
|
|
+ normalUpdate(node,value);
|
|
}
|
|
}
|
|
});
|
|
});
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- if(node.data.type==billType.FX||(node.data.type==billType.BILL&&node.source.children.length==0)){//是分项或者叶子清单的情况下才需要查找替换
|
|
|
|
|
|
+ if(node.data.type==billType.FX||node.data.type==billType.BX||(node.data.type==billType.BILL&&node.source.children.length==0)){//是分项、补项或者叶子清单的情况下才需要查找替换
|
|
if (value&&value.length === 9 && /^[\d]+$/.test(value)) {
|
|
if (value&&value.length === 9 && /^[\d]+$/.test(value)) {
|
|
stdMatchCode = value;
|
|
stdMatchCode = value;
|
|
formatCode = project.Bills.newFormatCode(stdMatchCode);
|
|
formatCode = project.Bills.newFormatCode(stdMatchCode);
|
|
@@ -286,16 +316,31 @@ var projectObj = {
|
|
matchs = project.Bills.sameStdCode(stdMatchCode, node.data.code);
|
|
matchs = project.Bills.sameStdCode(stdMatchCode, node.data.code);
|
|
if (matchs.indexOf(value) === -1) {
|
|
if (matchs.indexOf(value) === -1) {
|
|
searchStdBillsAndUpdate(stdMatchCode, value);
|
|
searchStdBillsAndUpdate(stdMatchCode, value);
|
|
- } else if (confirm('已存在该编码的清单,是否继续?')) {
|
|
|
|
- formatCode = project.Bills.newFormatCode(stdMatchCode, node.data.code);
|
|
|
|
- searchStdBillsAndUpdate(stdMatchCode, formatCode);
|
|
|
|
return;
|
|
return;
|
|
|
|
+ } else {
|
|
|
|
+ if (confirm('已存在该编码的清单,是否继续?')) {
|
|
|
|
+ // formatCode = project.Bills.newFormatCode(stdMatchCode, node.data.code);
|
|
|
|
+ searchStdBillsAndUpdate(stdMatchCode, value);
|
|
|
|
+ return;
|
|
|
|
+ }else {
|
|
|
|
+ this.mainController.refreshTreeNode([node], false);
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- project.Bills.updateField(node.source, 'code', value, true);
|
|
|
|
- this.mainController.refreshTreeNode([node], false);
|
|
|
|
|
|
+ normalUpdate(node,value);
|
|
|
|
|
|
|
|
+
|
|
|
|
+ function normalUpdate(billnode,codeValue) {//在标准库中没有找到清单时改分项为补项再更新
|
|
|
|
+ let toBX = false;
|
|
|
|
+ if(billnode.data.type == billType.FX){
|
|
|
|
+ billnode.data.type = billType.BX;
|
|
|
|
+ toBX = true;
|
|
|
|
+ }
|
|
|
|
+ project.Bills.updateField(billnode.source, 'code', codeValue, toBX);
|
|
|
|
+ me.mainController.refreshTreeNode([billnode], false);
|
|
|
|
+ }
|
|
},
|
|
},
|
|
updateRationCode: function (node, value) {
|
|
updateRationCode: function (node, value) {
|
|
if(!isDef(node.data.code) && (!isDef(value) || value.toString().trim() == '')){
|
|
if(!isDef(node.data.code) && (!isDef(value) || value.toString().trim() == '')){
|
|
@@ -410,6 +455,35 @@ var projectObj = {
|
|
projectObj.mainController.refreshTreeNode([node], false);
|
|
projectObj.mainController.refreshTreeNode([node], false);
|
|
}
|
|
}
|
|
},
|
|
},
|
|
|
|
+ mainSpreadSlectionChanging: function (sender, info) {
|
|
|
|
+ console.log('bbbb');
|
|
|
|
+ let oldSel = info.oldSelections[0], newSel = info.newSelections[0];
|
|
|
|
+ let project = projectObj.project;
|
|
|
|
+ //设置选中行底色和恢复前选中行底色
|
|
|
|
+ let refreshNodes = [];
|
|
|
|
+ if(oldSel){
|
|
|
|
+ oldSel.row === -1 ? 0 : oldSel.row;
|
|
|
|
+ for(let i = 0; i < oldSel.rowCount; i++){
|
|
|
|
+ if(project.mainTree.items[i + oldSel.row]){
|
|
|
|
+ refreshNodes.push(project.mainTree.items[i + oldSel.row]);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ if(newSel){
|
|
|
|
+ newSel.row === -1 ? 0 : newSel.row;
|
|
|
|
+ for(let i = 0; i < newSel.rowCount; i++){
|
|
|
|
+ if(project.mainTree.items[i + newSel.row]){
|
|
|
|
+ refreshNodes.push(project.mainTree.items[i + newSel.row]);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ if(refreshNodes.length > 0){
|
|
|
|
+ projectObj.setNodesStyle(projectObj.mainController.sheet, refreshNodes, newSel);
|
|
|
|
+ /* TREE_SHEET_HELPER.massOperationSheet(projectObj.mainController.sheet, function () {
|
|
|
|
+ TREE_SHEET_HELPER.refreshTreeNodeData(projectObj.mainController.setting, projectObj.mainController.sheet, refreshNodes, false, true);
|
|
|
|
+ });*/
|
|
|
|
+ }
|
|
|
|
+ },
|
|
mainSpreadLeaveCell: function (sender, info) {
|
|
mainSpreadLeaveCell: function (sender, info) {
|
|
let colSetting = projectObj.mainController.setting.cols[info.col];
|
|
let colSetting = projectObj.mainController.setting.cols[info.col];
|
|
projectObj.lastCol = colSetting;
|
|
projectObj.lastCol = colSetting;
|
|
@@ -524,6 +598,7 @@ var projectObj = {
|
|
that.project.projSetting.mainGridSetting = JSON.parse(str);
|
|
that.project.projSetting.mainGridSetting = JSON.parse(str);
|
|
that.project.projSetting.mainGridSetting.frozenCols = 4;
|
|
that.project.projSetting.mainGridSetting.frozenCols = 4;
|
|
TREE_SHEET_HELPER.initSetting($('#billsSpread')[0], that.project.projSetting.mainGridSetting);
|
|
TREE_SHEET_HELPER.initSetting($('#billsSpread')[0], that.project.projSetting.mainGridSetting);
|
|
|
|
+ that.project.projSetting.mainGridSetting.setAutoFitRow = MainTreeCol.getEvent("setAutoFitRow");
|
|
that.project.projSetting.mainGridSetting.cols.forEach(function (col) {
|
|
that.project.projSetting.mainGridSetting.cols.forEach(function (col) {
|
|
col.data.splitFields = col.data.field.split('.');
|
|
col.data.splitFields = col.data.field.split('.');
|
|
if (col.data.getText && Object.prototype.toString.apply(col.data.getText) === "[object String]") {
|
|
if (col.data.getText && Object.prototype.toString.apply(col.data.getText) === "[object String]") {
|
|
@@ -544,6 +619,7 @@ var projectObj = {
|
|
col.data.formatter = '@';
|
|
col.data.formatter = '@';
|
|
}
|
|
}
|
|
col.setAutoHeight = MainTreeCol.getEvent("setAutoHeight");
|
|
col.setAutoHeight = MainTreeCol.getEvent("setAutoHeight");
|
|
|
|
+ col.editChecking = MainTreeCol.getEvent("editChecking");
|
|
// 根据配置设置自动行高,在这里先做个标记,然后对每个单元格单独配置
|
|
// 根据配置设置自动行高,在这里先做个标记,然后对每个单元格单独配置
|
|
if (col.data.field === 'name' || col.data.field === 'itemCharacterText' ||
|
|
if (col.data.field === 'name' || col.data.field === 'itemCharacterText' ||
|
|
col.data.field === 'jobContentText' || col.data.field === 'adjustState') {
|
|
col.data.field === 'jobContentText' || col.data.field === 'adjustState') {
|
|
@@ -565,6 +641,7 @@ var projectObj = {
|
|
});
|
|
});
|
|
let startShowTime = +new Date();
|
|
let startShowTime = +new Date();
|
|
that.mainController = TREE_SHEET_CONTROLLER.createNew(that.project.mainTree, that.mainSpread.getActiveSheet(), that.project.projSetting.mainGridSetting);
|
|
that.mainController = TREE_SHEET_CONTROLLER.createNew(that.project.mainTree, that.mainSpread.getActiveSheet(), that.project.projSetting.mainGridSetting);
|
|
|
|
+
|
|
that.mainController.showTreeData();
|
|
that.mainController.showTreeData();
|
|
let endShowTime = +new Date();
|
|
let endShowTime = +new Date();
|
|
console.log(`show data时间——${endShowTime - startShowTime}`);
|
|
console.log(`show data时间——${endShowTime - startShowTime}`);
|
|
@@ -574,7 +651,6 @@ var projectObj = {
|
|
|
|
|
|
that.mainSpread.getActiveSheet().startEdit();
|
|
that.mainSpread.getActiveSheet().startEdit();
|
|
that.mainSpread.getActiveSheet().endEdit();
|
|
that.mainSpread.getActiveSheet().endEdit();
|
|
-
|
|
|
|
that.mainSpread.bind(GC.Spread.Sheets.Events.LeaveCell, that.mainSpreadLeaveCell);
|
|
that.mainSpread.bind(GC.Spread.Sheets.Events.LeaveCell, that.mainSpreadLeaveCell);
|
|
that.mainSpread.bind(GC.Spread.Sheets.Events.EnterCell, that.mainSpreadEnterCell);
|
|
that.mainSpread.bind(GC.Spread.Sheets.Events.EnterCell, that.mainSpreadEnterCell);
|
|
that.mainSpread.bind(GC.Spread.Sheets.Events.EditStarting, that.mainSpreadEditStarting);
|
|
that.mainSpread.bind(GC.Spread.Sheets.Events.EditStarting, that.mainSpreadEditStarting);
|
|
@@ -586,7 +662,6 @@ var projectObj = {
|
|
//let loadOtherStartTime = +new Date();
|
|
//let loadOtherStartTime = +new Date();
|
|
that.loadMainSpreadContextMenu();
|
|
that.loadMainSpreadContextMenu();
|
|
that.loadFocusLocation();
|
|
that.loadFocusLocation();
|
|
-
|
|
|
|
socketObject.connect();//连接socket服务器
|
|
socketObject.connect();//连接socket服务器
|
|
let endTime = +new Date();
|
|
let endTime = +new Date();
|
|
console.log(`其它时间——${endTime - endShowTime}`);
|
|
console.log(`其它时间——${endTime - endShowTime}`);
|
|
@@ -618,6 +693,7 @@ var projectObj = {
|
|
name: "插入大项费用",
|
|
name: "插入大项费用",
|
|
icon: 'fa-sign-in',
|
|
icon: 'fa-sign-in',
|
|
disabled: function () {
|
|
disabled: function () {
|
|
|
|
+ return projectObj.project.isBillsLocked();
|
|
//return project.mainTree.selected ? project.mainTree.selected.sourceType !== project.Bills.getSourceType() : false;
|
|
//return project.mainTree.selected ? project.mainTree.selected.sourceType !== project.Bills.getSourceType() : false;
|
|
},
|
|
},
|
|
callback: function (key, opt) {
|
|
callback: function (key, opt) {
|
|
@@ -632,7 +708,7 @@ var projectObj = {
|
|
icon: 'fa-sign-in',
|
|
icon: 'fa-sign-in',
|
|
disabled: function () {
|
|
disabled: function () {
|
|
let selected = project.mainTree.selected;
|
|
let selected = project.mainTree.selected;
|
|
- if(selected&&selected.sourceType==project.Bills.getSourceType()){
|
|
|
|
|
|
+ if(projectObj.project.isBillsLocked()== false&&selected&&selected.sourceType==project.Bills.getSourceType()){
|
|
if(selected.data.type==billType.FB){
|
|
if(selected.data.type==billType.FB){
|
|
return false;
|
|
return false;
|
|
}
|
|
}
|
|
@@ -662,7 +738,7 @@ var projectObj = {
|
|
icon: 'fa-sign-in',
|
|
icon: 'fa-sign-in',
|
|
disabled: function () {
|
|
disabled: function () {
|
|
let selected = project.mainTree.selected;
|
|
let selected = project.mainTree.selected;
|
|
- if(selected&&selected.sourceType==project.Bills.getSourceType()){
|
|
|
|
|
|
+ if(projectObj.project.isBillsLocked()== false&& selected&&selected.sourceType==project.Bills.getSourceType()){
|
|
if(selected.data.type==billType.FX){//焦点行是分项,有效显示
|
|
if(selected.data.type==billType.FX){//焦点行是分项,有效显示
|
|
return false
|
|
return false
|
|
}
|
|
}
|
|
@@ -698,7 +774,11 @@ var projectObj = {
|
|
name: "插入清单",
|
|
name: "插入清单",
|
|
icon: 'fa-sign-in',
|
|
icon: 'fa-sign-in',
|
|
disabled: function () {
|
|
disabled: function () {
|
|
- return project.mainTree.selected ? project.mainTree.selected.sourceType !== project.Bills.getSourceType() : false;
|
|
|
|
|
|
+ let selected = project.mainTree.selected;
|
|
|
|
+ if(projectObj.project.isBillsLocked()== false && selected && selected.sourceType === project.Bills.getSourceType()){
|
|
|
|
+ return false
|
|
|
|
+ }
|
|
|
|
+ return true;
|
|
},
|
|
},
|
|
callback: function (key, opt) {
|
|
callback: function (key, opt) {
|
|
if(project.mainTree.selected.data.type == billType.DXFY){
|
|
if(project.mainTree.selected.data.type == billType.DXFY){
|
|
@@ -798,7 +878,7 @@ var projectObj = {
|
|
name: "整理分部",
|
|
name: "整理分部",
|
|
icon: 'fa-sign-in',
|
|
icon: 'fa-sign-in',
|
|
disabled: function () {
|
|
disabled: function () {
|
|
- return false;
|
|
|
|
|
|
+ return projectObj.project.isBillsLocked();
|
|
},
|
|
},
|
|
callback: function (key, opt) {
|
|
callback: function (key, opt) {
|
|
zlfb_object.getSectionInfo();
|
|
zlfb_object.getSectionInfo();
|
|
@@ -876,13 +956,18 @@ var projectObj = {
|
|
const projectId = scUrlUtil.GetQueryString('project');
|
|
const projectId = scUrlUtil.GetQueryString('project');
|
|
let row = getLocalCache('lastRow:' + projectId);
|
|
let row = getLocalCache('lastRow:' + projectId);
|
|
let col = getLocalCache('lastCol:' + projectId);
|
|
let col = getLocalCache('lastCol:' + projectId);
|
|
- if (row !== null && col !== null) {
|
|
|
|
- row = parseInt(row);
|
|
|
|
- col = parseInt(col);
|
|
|
|
- const sheet = this.mainSpread.getActiveSheet();
|
|
|
|
- sheet.setSelection(row, col, 1, 1);
|
|
|
|
- this.mainController.setTreeSelected(this.mainController.tree.items[row]);//触发树节点选中事件
|
|
|
|
- }
|
|
|
|
|
|
+ if(row == null || col == null){
|
|
|
|
+ row = 0;
|
|
|
|
+ col = 0;
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+ row = parseInt(row);
|
|
|
|
+ col = parseInt(col);
|
|
|
|
+ const sheet = this.mainSpread.getActiveSheet();
|
|
|
|
+ sheet.setSelection(row, col, 1, 1);
|
|
|
|
+ this.mainController.setTreeSelected(this.mainController.tree.items[row]);//触发树节点选中事件
|
|
},
|
|
},
|
|
// 选中区域合计数字
|
|
// 选中区域合计数字
|
|
amountAreaNumber: function(e, info) {
|
|
amountAreaNumber: function(e, info) {
|
|
@@ -970,9 +1055,9 @@ var projectObj = {
|
|
},
|
|
},
|
|
|
|
|
|
//根据节点获取行style(颜色、字体加粗)
|
|
//根据节点获取行style(颜色、字体加粗)
|
|
- getNodeColorStyle: function (node, colSetting) {
|
|
|
|
|
|
+ getNodeColorStyle: function (sheet, node, colSetting) {
|
|
let colorSetting = optionsOprObj.getOption(optionsOprObj.optionsTypes.COLOROPTS);
|
|
let colorSetting = optionsOprObj.getOption(optionsOprObj.optionsTypes.COLOROPTS);
|
|
- let mapping = {DEFAULT: 'DEFAULT', DXFY: 'DXFY', FB: 'FB', UNLEAFBILL: 'UNLEAFBILL',
|
|
|
|
|
|
+ let mapping = {DEFAULT: 'DEFAULT', SELECTED: 'SELECTED', DXFY: 'DXFY', FB: 'FB', UNLEAFBILL: 'UNLEAFBILL',
|
|
FX: 'FX', BX: 'BX', UNCBBILL: 'UNCBBILL', CBBILL: 'CBBILL', ZCSB: 'ZCSB'};
|
|
FX: 'FX', BX: 'BX', UNCBBILL: 'UNCBBILL', CBBILL: 'CBBILL', ZCSB: 'ZCSB'};
|
|
let styleMap = null;
|
|
let styleMap = null;
|
|
//中文字段名,由于同一节点中,中文字体大小和数字字体大小不同
|
|
//中文字段名,由于同一节点中,中文字体大小和数字字体大小不同
|
|
@@ -994,47 +1079,53 @@ var projectObj = {
|
|
if(!isDef(node)){
|
|
if(!isDef(node)){
|
|
return null;
|
|
return null;
|
|
}
|
|
}
|
|
- //清单大类
|
|
|
|
- if(node.sourceType === this.project.Bills.getSourceType()){
|
|
|
|
- //大项费用
|
|
|
|
- //大项费用
|
|
|
|
- if(node.data.type === billType.DXFY){
|
|
|
|
- styleMap = mapping.DXFY;
|
|
|
|
- }
|
|
|
|
- //分部
|
|
|
|
- if(node.data.type === billType.FB){
|
|
|
|
- styleMap = mapping.FB;
|
|
|
|
- }
|
|
|
|
- //分项
|
|
|
|
- else if(node.data.type === billType.FX){
|
|
|
|
- styleMap = mapping.FX;
|
|
|
|
- }
|
|
|
|
- //补项
|
|
|
|
- else if(node.data.type === billType.BX){
|
|
|
|
- styleMap = mapping.BX;
|
|
|
|
- }
|
|
|
|
- //清单
|
|
|
|
- else if(node.data.type === billType.BILL){
|
|
|
|
- //非叶子节点的清单
|
|
|
|
- if(node.source.children.length > 0){
|
|
|
|
- styleMap = mapping.UNLEAFBILL;
|
|
|
|
|
|
+ //选中行
|
|
|
|
+ if(node === this.project.mainTree.selected){
|
|
|
|
+ styleMap = mapping.SELECTED;
|
|
|
|
+ }
|
|
|
|
+ //非选中行
|
|
|
|
+ else {
|
|
|
|
+ //清单大类
|
|
|
|
+ if(node.sourceType === this.project.Bills.getSourceType()){
|
|
|
|
+ //大项费用
|
|
|
|
+ if(node.data.type === billType.DXFY){
|
|
|
|
+ styleMap = mapping.DXFY;
|
|
|
|
+ }
|
|
|
|
+ //分部
|
|
|
|
+ if(node.data.type === billType.FB){
|
|
|
|
+ styleMap = mapping.FB;
|
|
|
|
+ }
|
|
|
|
+ //分项
|
|
|
|
+ else if(node.data.type === billType.FX){
|
|
|
|
+ styleMap = mapping.FX;
|
|
}
|
|
}
|
|
- //未使用基数计算的叶子节点的清单
|
|
|
|
- else if(node.source.children.length === 0 && (!isDef(node.data.calcBase) || node.data.calcBase === '')){
|
|
|
|
- styleMap = mapping.UNCBBILL;
|
|
|
|
|
|
+ //补项
|
|
|
|
+ else if(node.data.type === billType.BX){
|
|
|
|
+ styleMap = mapping.BX;
|
|
}
|
|
}
|
|
- //使用基数计算的叶子节点的清单
|
|
|
|
- else if(node.source.children.length === 0 && isDef(node.data.calcBase && node.data.calcBaseValue !== '')){
|
|
|
|
- styleMap = mapping.CBBILL;
|
|
|
|
|
|
+ //清单
|
|
|
|
+ else if(node.data.type === billType.BILL){
|
|
|
|
+ //非叶子节点的清单
|
|
|
|
+ if(node.source.children.length > 0){
|
|
|
|
+ styleMap = mapping.UNLEAFBILL;
|
|
|
|
+ }
|
|
|
|
+ //未使用基数计算的叶子节点的清单
|
|
|
|
+ else if(node.source.children.length === 0 && (!isDef(node.data.calcBase) || node.data.calcBase === '')){
|
|
|
|
+ styleMap = mapping.UNCBBILL;
|
|
|
|
+ }
|
|
|
|
+ //使用基数计算的叶子节点的清单
|
|
|
|
+ else if(node.source.children.length === 0 && isDef(node.data.calcBase && node.data.calcBaseValue !== '')){
|
|
|
|
+ styleMap = mapping.CBBILL;
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- }
|
|
|
|
- //定额下的主材、设备
|
|
|
|
- else if(node.sourceType === this.project.ration_glj.getSourceType()){
|
|
|
|
- styleMap = mapping.ZCSB;
|
|
|
|
- }
|
|
|
|
- else {
|
|
|
|
- styleMap = mapping.DEFAULT;
|
|
|
|
|
|
+ //定额下的主材、设备
|
|
|
|
+ else if(node.sourceType === this.project.ration_glj.getSourceType()){
|
|
|
|
+ styleMap = mapping.ZCSB;
|
|
|
|
+ }
|
|
|
|
+ else {
|
|
|
|
+ styleMap = mapping.DEFAULT;
|
|
|
|
+ }
|
|
}
|
|
}
|
|
let styleSetting = colorSetting[styleMap];
|
|
let styleSetting = colorSetting[styleMap];
|
|
let defaultSetting = colorSetting[mapping.DEFAULT];
|
|
let defaultSetting = colorSetting[mapping.DEFAULT];
|
|
@@ -1090,8 +1181,27 @@ var projectObj = {
|
|
style.font = 'bold 13px Arial';
|
|
style.font = 'bold 13px Arial';
|
|
}
|
|
}
|
|
return style;
|
|
return style;
|
|
|
|
+ },
|
|
|
|
+ //设置节点style
|
|
|
|
+ setNodesStyle: function (sheet, nodes) {
|
|
|
|
+ let me = this;
|
|
|
|
+ TREE_SHEET_HELPER.massOperationSheet(sheet, function () {
|
|
|
|
+ for(let node of nodes){
|
|
|
|
+ sheet.setStyle(node.serialNo(), -1, me.getNodeColorStyle(sheet, node));
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+
|
|
|
|
+},
|
|
|
|
+ loadLockBillsButton:function () {
|
|
|
|
+ if(projectInfoObj.projectInfo.property.lockBills == true){
|
|
|
|
+ $("a[name='lockBills']").prop("title","解锁清单");
|
|
|
|
+ $("a[name='lockBills']").html('<i class="fa fa-unlock-alt" aria-hidden="true"></i> 解锁清单');
|
|
|
|
+ }else {
|
|
|
|
+ $("a[name='lockBills']").prop("title","锁定清单");
|
|
|
|
+ $("a[name='lockBills']").html('<i class="fa fa-lock" aria-hidden="true"></i> 锁定清单');
|
|
|
|
+ }
|
|
}
|
|
}
|
|
-
|
|
|
|
|
|
+
|
|
};
|
|
};
|
|
// 点击合计框中的复制
|
|
// 点击合计框中的复制
|
|
$("body").on("click", "#total-tips a", function() {
|
|
$("body").on("click", "#total-tips a", function() {
|
|
@@ -1177,6 +1287,18 @@ $('#downMove').click(function () {
|
|
};
|
|
};
|
|
}
|
|
}
|
|
});
|
|
});
|
|
|
|
+$("a[name='lockBills']").click(function () {
|
|
|
|
+ let lockBills = projectInfoObj.projectInfo.property.lockBills;
|
|
|
|
+ lockBills = !lockBills;
|
|
|
|
+ projectObj.project.updateLockBills(lockBills,function () {
|
|
|
|
+ var controller = projectObj.mainController, project = projectObj.project;
|
|
|
|
+ var selected = controller.tree.selected;
|
|
|
|
+ let nodes = _.filter(project.mainTree.items,{'sourceType':ModuleNames.bills});
|
|
|
|
+ controller.refreshTreeNode(nodes);
|
|
|
|
+ projectObj.mainController.setTreeSelected(selected);//触发树节点选中事件
|
|
|
|
+ projectObj.loadLockBillsButton();
|
|
|
|
+ });
|
|
|
|
+});
|
|
//显示至..
|
|
//显示至..
|
|
let displayLevel = function(nodes, depth, type){
|
|
let displayLevel = function(nodes, depth, type){
|
|
let refreshNodes = [];
|
|
let refreshNodes = [];
|
|
@@ -1495,6 +1617,9 @@ function ifCanDelete() {
|
|
if(node.data.type == billType.DXFY&&node.data.isAdd!=1){
|
|
if(node.data.type == billType.DXFY&&node.data.isAdd!=1){
|
|
return false;
|
|
return false;
|
|
}
|
|
}
|
|
|
|
+ if(projectObj.project.isBillsLocked()== true){
|
|
|
|
+ return false;
|
|
|
|
+ }
|
|
}
|
|
}
|
|
if(m_selection!=true&&node.sourceType === projectObj.project.ration_glj.getSourceType()){//多选的时候不做这一项判断
|
|
if(m_selection!=true&&node.sourceType === projectObj.project.ration_glj.getSourceType()){//多选的时候不做这一项判断
|
|
return false;
|
|
return false;
|