|
@@ -9,6 +9,7 @@
|
|
*/
|
|
*/
|
|
const tenderTree = [];
|
|
const tenderTree = [];
|
|
let parentId = 0;
|
|
let parentId = 0;
|
|
|
|
+let selects;
|
|
// 查询方法
|
|
// 查询方法
|
|
function findNode (key, value, arr) {
|
|
function findNode (key, value, arr) {
|
|
for (const a of arr) {
|
|
for (const a of arr) {
|
|
@@ -603,19 +604,20 @@ $(document).ready(function () {
|
|
getValue: {
|
|
getValue: {
|
|
pwd: function (data) {
|
|
pwd: function (data) {
|
|
let txt = '';
|
|
let txt = '';
|
|
- if (data.is_leaf) {
|
|
|
|
- if (data.pwd && data.pwd !== '' && data.pwd !== null) {
|
|
|
|
- txt = data.pwd;
|
|
|
|
- } else {
|
|
|
|
- txt = '请输入密码';
|
|
|
|
- }
|
|
|
|
|
|
+ // console.log(data);
|
|
|
|
+ // if (data.is_leaf) {
|
|
|
|
+ if (data.pwd && data.pwd !== '' && data.pwd !== null) {
|
|
|
|
+ txt = data.pwd;
|
|
|
|
+ } else if(data.can_edit) {
|
|
|
|
+ txt = '请输入密码';
|
|
}
|
|
}
|
|
|
|
+ // }
|
|
return txt;
|
|
return txt;
|
|
}
|
|
}
|
|
},
|
|
},
|
|
readOnly: {
|
|
readOnly: {
|
|
pwd: function (data) {
|
|
pwd: function (data) {
|
|
- return !data.is_leaf;
|
|
|
|
|
|
+ return !data.can_edit;
|
|
},
|
|
},
|
|
},
|
|
},
|
|
};
|
|
};
|
|
@@ -642,18 +644,24 @@ $(document).ready(function () {
|
|
}
|
|
}
|
|
},
|
|
},
|
|
setAllRightPwd: function(uid) {
|
|
setAllRightPwd: function(uid) {
|
|
- const selects = [];
|
|
|
|
|
|
+ selects = [];
|
|
for (const l of ledgerTree.datas) {
|
|
for (const l of ledgerTree.datas) {
|
|
const coo = _.find(ledger_cooperation_list, { 'ledger_id': l.ledger_id, 'user_id': parseInt(uid) });
|
|
const coo = _.find(ledger_cooperation_list, { 'ledger_id': l.ledger_id, 'user_id': parseInt(uid) });
|
|
if (l.pwd && !coo) {
|
|
if (l.pwd && !coo) {
|
|
delete l.pwd;
|
|
delete l.pwd;
|
|
|
|
+ l.can_edit = true;
|
|
selects.push(l);
|
|
selects.push(l);
|
|
} else if(coo) {
|
|
} else if(coo) {
|
|
l.pwd = coo.pwd;
|
|
l.pwd = coo.pwd;
|
|
|
|
+ l.can_edit = true;
|
|
|
|
+ selects.push(l);
|
|
|
|
+ } else if (l.can_edit === false) {
|
|
|
|
+ l.can_edit = true;
|
|
selects.push(l);
|
|
selects.push(l);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if(selects.length > 0) {
|
|
if(selects.length > 0) {
|
|
|
|
+ updateByCanEdit(ledgerTree.nodes, _.filter(ledger_cooperation_list, { user_id: parseInt(uid) }), false);
|
|
const refreshNode = ledgerTree.loadPostData({update: selects});
|
|
const refreshNode = ledgerTree.loadPostData({update: selects});
|
|
ledgerSpreadObj.refreshTree(ledgerSpread.getActiveSheet(), refreshNode);
|
|
ledgerSpreadObj.refreshTree(ledgerSpread.getActiveSheet(), refreshNode);
|
|
ledgerSpreadObj.setFontColor();
|
|
ledgerSpreadObj.setFontColor();
|
|
@@ -762,14 +770,22 @@ $(document).ready(function () {
|
|
};
|
|
};
|
|
postData('/tender/' + cur_tenderid + '/shenpi/audit/save', data, function (result) {
|
|
postData('/tender/' + cur_tenderid + '/shenpi/audit/save', data, function (result) {
|
|
const lcindex = _.findIndex(ledger_cooperation_list, { ledger_id: select.ledger_id, user_id });
|
|
const lcindex = _.findIndex(ledger_cooperation_list, { ledger_id: select.ledger_id, user_id });
|
|
|
|
+ let flag = false;
|
|
if(lcindex !== -1) {
|
|
if(lcindex !== -1) {
|
|
validText === '' ? ledger_cooperation_list.splice(lcindex, 1) : ledger_cooperation_list.splice(lcindex, 1, result);
|
|
validText === '' ? ledger_cooperation_list.splice(lcindex, 1) : ledger_cooperation_list.splice(lcindex, 1, result);
|
|
|
|
+ flag = validText === '';
|
|
} else {
|
|
} else {
|
|
ledger_cooperation_list.push(result);
|
|
ledger_cooperation_list.push(result);
|
|
|
|
+ flag = false;
|
|
}
|
|
}
|
|
$('#cooperation-num').text(ledger_cooperation_list.length);
|
|
$('#cooperation-num').text(ledger_cooperation_list.length);
|
|
setLeftTable(ledgerTree.datas, ledger_cooperation_list, user_id, $('#stage_audits option:selected').text());
|
|
setLeftTable(ledgerTree.datas, ledger_cooperation_list, user_id, $('#stage_audits option:selected').text());
|
|
- const refreshNode = ledgerTree.loadPostData({update: select});
|
|
|
|
|
|
+ selects = [select];
|
|
|
|
+ if(select) {
|
|
|
|
+ setAllChildrenCanEdit(select, flag);
|
|
|
|
+ setParentCanEdit(ledgerTree.nodes, select.ledger_pid, flag);
|
|
|
|
+ }
|
|
|
|
+ const refreshNode = ledgerTree.loadPostData({update: selects});
|
|
ledgerSpreadObj.refreshTree(info.sheet, refreshNode);
|
|
ledgerSpreadObj.refreshTree(info.sheet, refreshNode);
|
|
ledgerSpreadObj.setFontColor();
|
|
ledgerSpreadObj.setFontColor();
|
|
});
|
|
});
|
|
@@ -836,6 +852,9 @@ $(document).ready(function () {
|
|
const yb = _.find(accountList, { 'id': cur_uid });
|
|
const yb = _.find(accountList, { 'id': cur_uid });
|
|
setLeftTable(ledgerList, ledger_cooperation_list, cur_uid, yb.name + '(原报)');
|
|
setLeftTable(ledgerList, ledger_cooperation_list, cur_uid, yb.name + '(原报)');
|
|
// treeCalc.calculateAll(ledgerTree);
|
|
// treeCalc.calculateAll(ledgerTree);
|
|
|
|
+ selects = [];
|
|
|
|
+ updateByCanEdit(ledgerTree.nodes, _.filter(ledger_cooperation_list, { user_id: cur_uid }), false);
|
|
|
|
+ ledgerTree.loadPostData({update: selects});
|
|
console.log(ledgerTree);
|
|
console.log(ledgerTree);
|
|
SpreadJsObj.loadSheetData(ledgerSpread.getActiveSheet(), SpreadJsObj.DataType.Tree, ledgerTree);
|
|
SpreadJsObj.loadSheetData(ledgerSpread.getActiveSheet(), SpreadJsObj.DataType.Tree, ledgerTree);
|
|
ledgerSpreadObj.setFontColor();
|
|
ledgerSpreadObj.setFontColor();
|
|
@@ -866,7 +885,13 @@ $(document).ready(function () {
|
|
setLeftTable(ledgerTree.datas, ledger_cooperation_list, user_id, $('#stage_audits option:selected').text());
|
|
setLeftTable(ledgerTree.datas, ledger_cooperation_list, user_id, $('#stage_audits option:selected').text());
|
|
const select = _.find(ledgerTree.datas, { ledger_id });
|
|
const select = _.find(ledgerTree.datas, { ledger_id });
|
|
delete select.pwd;
|
|
delete select.pwd;
|
|
- const refreshNode = ledgerTree.loadPostData({update: select});
|
|
|
|
|
|
+ // const refreshNode = ledgerTree.loadPostData({update: select});
|
|
|
|
+ selects = [select];
|
|
|
|
+ if(select) {
|
|
|
|
+ setAllChildrenCanEdit(select, true);
|
|
|
|
+ setParentCanEdit(ledgerTree.nodes, select.ledger_pid, true);
|
|
|
|
+ }
|
|
|
|
+ const refreshNode = ledgerTree.loadPostData({update: selects});
|
|
ledgerSpreadObj.refreshTree(ledgerSpread.getActiveSheet(), refreshNode);
|
|
ledgerSpreadObj.refreshTree(ledgerSpread.getActiveSheet(), refreshNode);
|
|
ledgerSpreadObj.setFontColor();
|
|
ledgerSpreadObj.setFontColor();
|
|
$('#cooperation-num').text(ledger_cooperation_list.length);
|
|
$('#cooperation-num').text(ledger_cooperation_list.length);
|
|
@@ -985,6 +1010,11 @@ function setRightData(datas, coolist) {
|
|
if(l.level === 4 && l.is_leaf === false) {
|
|
if(l.level === 4 && l.is_leaf === false) {
|
|
l.is_leaf = true;
|
|
l.is_leaf = true;
|
|
}
|
|
}
|
|
|
|
+ const coo = _.find(coolist, { 'ledger_id': l.ledger_id, 'user_id': cur_uid });
|
|
|
|
+ if(coo) {
|
|
|
|
+ l.pwd = coo.pwd;
|
|
|
|
+ }
|
|
|
|
+ l.can_edit = true;
|
|
newdatas.push(l);
|
|
newdatas.push(l);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -993,15 +1023,43 @@ function setRightData(datas, coolist) {
|
|
if (!child && !nd.is_leaf) {
|
|
if (!child && !nd.is_leaf) {
|
|
nd.is_leaf = true;
|
|
nd.is_leaf = true;
|
|
}
|
|
}
|
|
- if(nd.is_leaf) {
|
|
|
|
- const coo = _.find(coolist, { 'ledger_id': nd.ledger_id, 'user_id': cur_uid });
|
|
|
|
- if(coo) {
|
|
|
|
- nd.pwd = coo.pwd;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
}
|
|
}
|
|
return newdatas;
|
|
return newdatas;
|
|
}
|
|
}
|
|
|
|
+function updateByCanEdit(datas, coolist, flag) {
|
|
|
|
+ for (const coo of coolist) {
|
|
|
|
+ const ledgerInfo = _.find(datas, { 'ledger_id': coo.ledger_id });
|
|
|
|
+ if(ledgerInfo) {
|
|
|
|
+ setAllChildrenCanEdit(ledgerInfo, flag);
|
|
|
|
+ setParentCanEdit(datas, ledgerInfo.ledger_pid, flag);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+}
|
|
|
|
+function setParentCanEdit(datas, id, flag) {
|
|
|
|
+ if(id !== -1) {
|
|
|
|
+ const pl = _.find(datas, { 'ledger_id': id });
|
|
|
|
+ // 判断父节点下所有子节点有无pwd,有则为false
|
|
|
|
+ if (pl) {
|
|
|
|
+ console.log(pl.children);
|
|
|
|
+ const existfalse = _.find(pl.children, function (item) {
|
|
|
|
+ return item.can_edit === false || (item.pwd && item.pwd !== '' && item.pwd !== null);
|
|
|
|
+ });
|
|
|
|
+ console.log(existfalse, flag);
|
|
|
|
+ pl.can_edit = existfalse ? false : flag;
|
|
|
|
+ selects.push(pl);
|
|
|
|
+ setParentCanEdit(datas, pl.ledger_pid, flag);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+}
|
|
|
|
+function setAllChildrenCanEdit(ledgerInfo, flag) {
|
|
|
|
+ if (ledgerInfo.children && ledgerInfo.children.length > 0) {
|
|
|
|
+ for(const li of ledgerInfo.children) {
|
|
|
|
+ li.can_edit = flag;
|
|
|
|
+ selects.push(li);
|
|
|
|
+ setAllChildrenCanEdit(li, flag);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+}
|
|
|
|
|
|
function setLeftTable(ledgerList, coolist, uid, title) {
|
|
function setLeftTable(ledgerList, coolist, uid, title) {
|
|
$('#stage_audit').text(title);
|
|
$('#stage_audit').text(title);
|