|
@@ -0,0 +1,157 @@
|
|
|
+/**
|
|
|
+ * 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()
|
|
|
+ });
|
|
|
+ }
|
|
|
+ });
|
|
|
+});
|