|
@@ -60,6 +60,9 @@ var projectObj = {
|
|
|
if(!node){
|
|
|
return false;
|
|
|
}
|
|
|
+ if(projectObj.project.isBillsLocked()== true){
|
|
|
+ return false;
|
|
|
+ }
|
|
|
if(node.depth()<=1){//焦点行是树结构的第一/二层节点,灰显。
|
|
|
return false;
|
|
|
}
|
|
@@ -89,6 +92,9 @@ var projectObj = {
|
|
|
if(!node){
|
|
|
return false;
|
|
|
}
|
|
|
+ if(projectObj.project.isBillsLocked()== true){
|
|
|
+ return false;
|
|
|
+ }
|
|
|
if(node.depth()==0){//焦点行是树结构的第一层节点,灰显。
|
|
|
return false;
|
|
|
}
|
|
@@ -116,8 +122,13 @@ var projectObj = {
|
|
|
};
|
|
|
let canUpMove = function (node) {
|
|
|
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
|
|
|
}
|
|
@@ -125,8 +136,13 @@ var projectObj = {
|
|
|
};
|
|
|
let canDownMove = function (node) {
|
|
|
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;
|
|
|
}
|
|
@@ -540,6 +556,7 @@ var projectObj = {
|
|
|
that.project.projSetting.mainGridSetting = JSON.parse(str);
|
|
|
that.project.projSetting.mainGridSetting.frozenCols = 4;
|
|
|
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) {
|
|
|
col.data.splitFields = col.data.field.split('.');
|
|
|
if (col.data.getText && Object.prototype.toString.apply(col.data.getText) === "[object String]") {
|
|
@@ -582,6 +599,7 @@ var projectObj = {
|
|
|
});
|
|
|
let startShowTime = +new Date();
|
|
|
that.mainController = TREE_SHEET_CONTROLLER.createNew(that.project.mainTree, that.mainSpread.getActiveSheet(), that.project.projSetting.mainGridSetting);
|
|
|
+
|
|
|
that.mainController.showTreeData();
|
|
|
let endShowTime = +new Date();
|
|
|
console.log(`show data时间——${endShowTime - startShowTime}`);
|
|
@@ -591,7 +609,6 @@ var projectObj = {
|
|
|
|
|
|
that.mainSpread.getActiveSheet().startEdit();
|
|
|
that.mainSpread.getActiveSheet().endEdit();
|
|
|
-
|
|
|
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.EditStarting, that.mainSpreadEditStarting);
|
|
@@ -603,7 +620,6 @@ var projectObj = {
|
|
|
//let loadOtherStartTime = +new Date();
|
|
|
that.loadMainSpreadContextMenu();
|
|
|
that.loadFocusLocation();
|
|
|
-
|
|
|
socketObject.connect();//连接socket服务器
|
|
|
let endTime = +new Date();
|
|
|
console.log(`其它时间——${endTime - endShowTime}`);
|
|
@@ -635,6 +651,7 @@ var projectObj = {
|
|
|
name: "插入大项费用",
|
|
|
icon: 'fa-sign-in',
|
|
|
disabled: function () {
|
|
|
+ return projectObj.project.isBillsLocked();
|
|
|
//return project.mainTree.selected ? project.mainTree.selected.sourceType !== project.Bills.getSourceType() : false;
|
|
|
},
|
|
|
callback: function (key, opt) {
|
|
@@ -649,7 +666,7 @@ var projectObj = {
|
|
|
icon: 'fa-sign-in',
|
|
|
disabled: function () {
|
|
|
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){
|
|
|
return false;
|
|
|
}
|
|
@@ -679,7 +696,7 @@ var projectObj = {
|
|
|
icon: 'fa-sign-in',
|
|
|
disabled: function () {
|
|
|
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){//焦点行是分项,有效显示
|
|
|
return false
|
|
|
}
|
|
@@ -715,7 +732,11 @@ var projectObj = {
|
|
|
name: "插入清单",
|
|
|
icon: 'fa-sign-in',
|
|
|
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) {
|
|
|
if(project.mainTree.selected.data.type == billType.DXFY){
|
|
@@ -815,7 +836,7 @@ var projectObj = {
|
|
|
name: "整理分部",
|
|
|
icon: 'fa-sign-in',
|
|
|
disabled: function () {
|
|
|
- return false;
|
|
|
+ return projectObj.project.isBillsLocked();
|
|
|
},
|
|
|
callback: function (key, opt) {
|
|
|
zlfb_object.getSectionInfo();
|
|
@@ -893,13 +914,15 @@ var projectObj = {
|
|
|
const projectId = scUrlUtil.GetQueryString('project');
|
|
|
let row = getLocalCache('lastRow:' + 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) {
|
|
@@ -1107,8 +1130,18 @@ var projectObj = {
|
|
|
style.font = 'bold 13px Arial';
|
|
|
}
|
|
|
return style;
|
|
|
+ },
|
|
|
+ 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() {
|
|
@@ -1194,6 +1227,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 refreshNodes = [];
|
|
@@ -1512,6 +1557,9 @@ function ifCanDelete() {
|
|
|
if(node.data.type == billType.DXFY&&node.data.isAdd!=1){
|
|
|
return false;
|
|
|
}
|
|
|
+ if(projectObj.project.isBillsLocked()== true){
|
|
|
+ return false;
|
|
|
+ }
|
|
|
}
|
|
|
if(m_selection!=true&&node.sourceType === projectObj.project.ration_glj.getSourceType()){//多选的时候不做这一项判断
|
|
|
return false;
|