|
@@ -223,6 +223,7 @@ $(document).ready(function () {
|
|
|
setButtonValid(tree.selected && tree.selected.canUpMove(), $('#upMove'));
|
|
|
setButtonValid(tree.selected && tree.selected.canDownMove(), $('#downMove'));
|
|
|
setButtonValid(tree.selected ? true : false, $('#delete'));
|
|
|
+
|
|
|
};
|
|
|
let RefreshBillsData = function (datas) {
|
|
|
datas.forEach(function (data) {
|
|
@@ -326,8 +327,6 @@ $(document).ready(function () {
|
|
|
let controller = TREE_SHEET_CONTROLLER.createNew(tree, billsSpread.getActiveSheet(), TEMPLATE_BILLS_SETTING);
|
|
|
let fixedFlagMap = getNameToValueMap(billsFixedFlagList);
|
|
|
let typeMap = getNameToValueMap(billsTypeFlagList);
|
|
|
- console.log(fixedFlagMap);
|
|
|
- console.log(typeMap);
|
|
|
//format code
|
|
|
//billsSpread.getSheet(0).setFormatter(-1, 1, '@');
|
|
|
controller.bind('refreshBaseActn', RefreshBaseActn);
|
|
@@ -433,44 +432,15 @@ $(document).ready(function () {
|
|
|
$('#delete').click(function () {
|
|
|
let me = this;
|
|
|
$(me).addClass('disabled');
|
|
|
- let selection = controller.sheet.getSelections()[0], updateData,deleteMap={},deleteNodes=[];
|
|
|
- for(let i=0;i < selection.rowCount;i++){
|
|
|
- let tem_node = controller.tree.items[selection.row+i];
|
|
|
- if(i == 0){//第一个直接添加;
|
|
|
- deleteMap[tem_node.getID()] = tem_node;
|
|
|
- deleteNodes.push(tem_node);
|
|
|
- }else {
|
|
|
- setNodeToMapAndArray(tem_node,deleteMap,deleteNodes);
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
+ let [deleteMap,deleteNodes] = getNodesAndMapFromSheet(controller);
|
|
|
if (deleteNodes.length > 0) {
|
|
|
- updateData = controller.tree.getDeleteDatas(deleteMap,deleteNodes);
|
|
|
+ let updateData = controller.tree.getDeleteDatas(deleteMap,deleteNodes);
|
|
|
CommonAjax.post(updateUrl, updateData, function (data) {
|
|
|
controller.m_delete(deleteNodes);
|
|
|
controller.showTreeData();
|
|
|
$(me).removeClass('disabled');
|
|
|
});
|
|
|
}
|
|
|
- function setNodeToMapAndArray(node,map,array) {
|
|
|
- let nodeID = node.getID();
|
|
|
- if(map[nodeID]==undefined||map[nodeID]==null){
|
|
|
- newMap(node,node.parent,map,array)
|
|
|
- }
|
|
|
- function newMap(node,parent,map,array) {
|
|
|
- let nodeID =node.getID();
|
|
|
- if(parent==null){//说明已经是最顶层了
|
|
|
- map[nodeID]=node;
|
|
|
- array.push(node);
|
|
|
- }else {
|
|
|
- let parentID = parent.getID();
|
|
|
- if(map[parentID]==undefined||map[parentID]==null){
|
|
|
- newMap(node,parent.parent,map,array);
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
});
|
|
|
$('#upLevel').click(function () {
|
|
|
let me = this;
|
|
@@ -488,11 +458,21 @@ $(document).ready(function () {
|
|
|
$('#downLevel').click(function () {
|
|
|
let me = this;
|
|
|
$(me).addClass('disabled');
|
|
|
- var selected = controller.tree.selected, updateData;
|
|
|
- if (selected) {
|
|
|
- updateData = selected.getDownLevelData();
|
|
|
- CommonAjax.post(updateUrl, updateData, function (data) {
|
|
|
- controller.downLevel();
|
|
|
+ let [dMap,dNodes] = getNodesAndMapFromSheet(controller);
|
|
|
+ let newNodes = [dNodes[0]];
|
|
|
+ if(dNodes.length > 1){//如果是多选,则去掉与第一个节点不同级的节点
|
|
|
+ for(let i = 1;i<dNodes.length;i++){
|
|
|
+ if(dNodes[i].parent == dNodes[0].parent) newNodes.push(dNodes[i])
|
|
|
+ }
|
|
|
+ }
|
|
|
+ let updateDatas = controller.tree.getDownLevelDatas(newNodes);
|
|
|
+ if(updateDatas.length > 0){
|
|
|
+ CommonAjax.post(updateUrl, updateDatas, function (data) {
|
|
|
+ controller.m_downLevel(newNodes);
|
|
|
+ for(let u of updateDatas){
|
|
|
+ let node = controller.tree.findNode(u.data.ID);
|
|
|
+ refreshNodeData(node,u.data);
|
|
|
+ }
|
|
|
controller.showTreeData();
|
|
|
$(me).removeClass('disabled');
|
|
|
});
|
|
@@ -524,4 +504,41 @@ $(document).ready(function () {
|
|
|
});
|
|
|
}
|
|
|
});
|
|
|
+ function getNodesAndMapFromSheet(controller) {//表格中选中的节点整理,只留下父节点
|
|
|
+ let selection = controller.sheet.getSelections()[0],map={},nodes=[];
|
|
|
+ for(let i=0;i < selection.rowCount;i++){
|
|
|
+ let tem_node = controller.tree.items[selection.row+i];
|
|
|
+ if(i == 0){//第一个直接添加;
|
|
|
+ map[tem_node.getID()] = tem_node;
|
|
|
+ nodes.push(tem_node);
|
|
|
+ }else {
|
|
|
+ setNodeToMapAndArray(tem_node,map,nodes);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return [map,nodes];
|
|
|
+ }
|
|
|
+ function setNodeToMapAndArray(node,map,array) {
|
|
|
+ let nodeID = node.getID();
|
|
|
+ if(map[nodeID]==undefined||map[nodeID]==null){
|
|
|
+ newMap(node,node.parent,map,array)
|
|
|
+ }
|
|
|
+ function newMap(node,parent,map,array) {
|
|
|
+ let nodeID =node.getID();
|
|
|
+ if(parent==null){//说明已经是最顶层了
|
|
|
+ map[nodeID]=node;
|
|
|
+ array.push(node);
|
|
|
+ }else {
|
|
|
+ let parentID = parent.getID();
|
|
|
+ if(map[parentID]==undefined||map[parentID]==null){
|
|
|
+ newMap(node,parent.parent,map,array);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ function refreshNodeData(node,data) {
|
|
|
+ for(let key in data){
|
|
|
+ if(key == 'ID') continue;
|
|
|
+ node.data[key] = data[key];
|
|
|
+ }
|
|
|
+ }
|
|
|
});
|