/** * Created by Mai on 2017/4/17. */ $(document).ready(function () { var PostData = function (url, data, successCallback, errorCallback) { $.ajax({ type:"POST", url: url, data: {'data': JSON.stringify(data)}, dataType: 'json', cache: false, timeout: 50000, success: function(result){ if (result.error === 0) { successCallback(result.data); } else { alert('error: ' + result.message); if (errorCallback) { errorCallback(); } } }, error: function(jqXHR, textStatus, errorThrown){ alert('error ' + textStatus + " " + errorThrown); if (errorCallback) { errorCallback(); } } }); }; var FormatUpdateData = function (data) { var updateData = {}; updateData['user_id'] = userID; updateData['tempType'] = 1; updateData['updateData'] = data; return updateData; }; var RefreshBaseActn = function (tree) { var showButton = function (show, btn) { if (show) { btn.show(); } else { btn.hide(); } }; showButton(tree.selected && tree.selected.canUpLevel(), $('#upLevel')); showButton(tree.selected && tree.selected.canDownLevel(), $('#downLevel')); showButton(tree.selected && tree.selected.canUpMove(), $('#upMove')); showButton(tree.selected && tree.selected.canDownMove(), $('#downMove')); showButton(tree.selected ? true : false, $('#delete')); } var bills; var tree = idTree.createNew({id: 'ID', pid: 'ParentID', nid: 'NextSiblingID', rootId: -1}); var billsSpread = new GC.Spread.Sheets.Workbook($('#billsSpread')[0], { sheetCount: 1 }); var controller = TREE_SHEET_CONTROLLER.createNew(tree, billsSpread.getActiveSheet(), TEMPLATE_BILLS_SETTING); GC.Spread.Common.CultureManager.culture("zh-cn"); billsSpread.options.tabStripVisible = false; billsSpread.options.scrollbarMaxAlign = true; controller.bind('refreshBaseActn', RefreshBaseActn); /*billsSpread.bind(GC.Spread.Sheets.Events.ValueChanged, function (e, info) { var node = controller.tree.findNode(info.sheet.getTag(info.row, info.col)); var fieldName = controller.setting.cols[info.col].data.field; var data = {type: 'update', data: node.data}; data.data[fieldName] = info.newValue; var updateData = FormatUpdateData([data]); PostData('/template/bills/updateBillsTemplate', updateData, function (data) { node.data[fieldName] = info.newValue; }, function () { TREE_SHEET_HELPER.refreshTreeNodeData(setting, sheet, [node], false); }); });*/ billsSpread.bind(GC.Spread.Sheets.Events.EditEnded, function (sender, info) { var node = controller.tree.findNode(info.sheet.getTag(info.row, info.col)); var fieldName = controller.setting.cols[info.col].data.field; var data = {type: 'update', data: node.data}; data.data[fieldName] = info.editingText; var updateData = FormatUpdateData([data]); PostData('/template/bills/updateBillsTemplate', updateData, function (data) { node.data[fieldName] = info.editingText; controller.refreshTreeNode([node], false); }, function () { controller.refreshTreeNode([node], false); }); }); PostData('/template/bills/getBillsTemplate', {tempType: 1}, function (data) { bills = data; tree.loadDatas(bills); controller.showTreeData(); RefreshBaseActn(tree); }, function () { controller.showTreeData(); RefreshBaseActn(tree); }); $('#insert').click(function () { var selected = controller.tree.selected, updateData; if (selected) { updateData = FormatUpdateData(controller.tree.getInsertData(selected.getParentID(), selected.getNextSiblingID())); } else { updateData = FormatUpdateData(controller.tree.getInsertData()); } PostData('/template/bills/updateBillsTemplate', updateData, function (data) { controller.insert(); }); }); $('#delete').click(function () { var selected = controller.tree.selected, updateData; if (selected) { updateData = FormatUpdateData(controller.tree.getDeleteData(selected)); PostData('/template/bills/updateBillsTemplate', updateData, function (data) { controller.delete(); }); } }); $('#upLevel').click(function () { var selected = controller.tree.selected, updateData; if (selected) { updateData = FormatUpdateData(selected.getUpLevelData()); PostData('/template/bills/updateBillsTemplate', updateData, function (data) { controller.upLevel(); }); } }); $('#downLevel').click(function () { var selected = controller.tree.selected, updateData; if (selected) { updateData = FormatUpdateData(selected.getDownLevelData()); PostData('/template/bills/updateBillsTemplate', updateData, function (data) { controller.downLevel(); }); } }); $('#upMove').click(function () { var selected = controller.tree.selected, updateData; if (selected) { updateData = FormatUpdateData(selected.getUpMoveData()); PostData('/template/bills/updateBillsTemplate', updateData, function (data) { controller.upMove(); }); } }); $('#downMove').click(function () { var selected = controller.tree.selected, updateData; if (selected) { updateData = FormatUpdateData(selected.getDownMoveData()); PostData('/template/bills/updateBillsTemplate', updateData, function (data) { controller.downMove() }); } }); });