|
@@ -12,6 +12,18 @@ var feeRateObject={
|
|
|
needCascadeSet:false,
|
|
|
selectionLoad:false,
|
|
|
changeInfo:null,
|
|
|
+ feeRateSpreads:null,
|
|
|
+ sheetSetting: {
|
|
|
+ header: [
|
|
|
+ {headerName: "专业名称", headerWidth: 200, dataCode: "name", dataType: "String"},
|
|
|
+ {headerName: "值%", headerWidth: 150, dataCode: "rate", dataType: "String"},
|
|
|
+ {headerName: "备注", dataCode: "memo", dataType: "String"}
|
|
|
+ ],
|
|
|
+ view: {
|
|
|
+ comboBox: [],
|
|
|
+ lockColumns: [0, 1, 2]
|
|
|
+ }
|
|
|
+ },
|
|
|
columns: [
|
|
|
{
|
|
|
id: 'name',
|
|
@@ -101,6 +113,117 @@ var feeRateObject={
|
|
|
|
|
|
}
|
|
|
},
|
|
|
+ createSheet:function(){
|
|
|
+ feeRateObject.feeRateSpreads=sheetCommonObj.buildSheet($('#fee_rate_sheet')[0], feeRateObject.sheetSetting,30);
|
|
|
+ //gljOprObj.gljLibSpresd.bind(GC.Spread.Sheets.Events.ButtonClicked,gljOprObj.onButtonClick);
|
|
|
+ feeRateObject.feeRateSheet = feeRateObject.feeRateSpreads.getSheet(0);
|
|
|
+ feeRateObject.feeRateSheet.selectionUnit(1)//0 cell,1 row,2 col;
|
|
|
+ feeRateObject.feeRateSheet.options.isProtected = true;
|
|
|
+ feeRateObject.feeRateSheet.name('fee_rate');
|
|
|
+ },
|
|
|
+ showSelectTree:function () {
|
|
|
+ var sheet= feeRateObject.feeRateSheet;
|
|
|
+ sheet.suspendPaint();
|
|
|
+ sheet.suspendEvent();
|
|
|
+ sheet.rowOutlines.direction(GC.Spread.Sheets.Outlines.OutlineDirection.backward);
|
|
|
+ sheet.getRange(-1, 0, -1, 1).cellType(feeRateObject.getTreeNodeCellType());
|
|
|
+
|
|
|
+ sheet.setValue(0, 0, "Permanent Differences");
|
|
|
+ sheet.setValue(1, 0, "Permanent Differences");
|
|
|
+ sheet.setValue(2, 0, "4P01 - Club Dues");
|
|
|
+ sheet.setValue(3, 0, "4P02 - Business Gifts");
|
|
|
+ sheet.setValue(4, 0, "4P03 - Int Inc-Muni Borads");
|
|
|
+ sheet.setValue(5, 0, "4P04 - Lobbying Expense");
|
|
|
+ sheet.setValue(6, 0, "4P05 - Skybox");
|
|
|
+ sheet.setValue(7, 0, "4P06 - Stock Options-Perm");
|
|
|
+ sheet.setValue(8, 0, "4P07 - M&E");
|
|
|
+ sheet.setValue(9, 0, "Total Permanent Differences");
|
|
|
+ sheet.setValue(10, 0, "Capital Loss Limitation");
|
|
|
+ sheet.setValue(11, 0, "Capital Gain/Loss, Sum included in Book income");
|
|
|
+ sheet.setValue(12, 0, "Capital Loss Disallowed");
|
|
|
+ sheet.setValue(13, 0, "Charitable Contribution Limitation");
|
|
|
+ sheet.setValue(14, 0, "Charitable Contributions included in Book income");
|
|
|
+ sheet.setValue(15, 0, "Demestic production activities deduction included in Book income");
|
|
|
+ sheet.setValue(16, 0, "Fedeeral Taxable Income Limitation");
|
|
|
+ sheet.setValue(17, 0, "Limitation percentage");
|
|
|
+ sheet.setValue(18, 0, "Charitable Contribution limitation");
|
|
|
+ sheet.setValue(19, 0, "Charitable Contributions disallowed");
|
|
|
+ sheet.setValue(20, 0, "Federal Taxable Income before Net Operating Loss Deduction");
|
|
|
+ sheet.rowOutlines.group(1, 10);
|
|
|
+ sheet.rowOutlines.group(3, 7);
|
|
|
+ sheet.rowOutlines.group(12, 2);
|
|
|
+ sheet.rowOutlines.group(15, 6);
|
|
|
+ // sheet.getRange(-1, 0, -1, 1).width(300);
|
|
|
+ sheet.showRowOutline(false);
|
|
|
+ sheet.resumeEvent();
|
|
|
+ sheet.resumePaint(false);
|
|
|
+ },
|
|
|
+ getTreeNodeCellType:function () {
|
|
|
+ var ns = GC.Spread.Sheets;
|
|
|
+ function TreeNodeCellType() {
|
|
|
+ }
|
|
|
+ TreeNodeCellType.prototype = new ns.CellTypes.Text();
|
|
|
+ TreeNodeCellType.prototype.paint = function (ctx, value, x, y, w, h, style, options) {
|
|
|
+ var level = options.sheet.rowOutlines.getLevel(options.row);
|
|
|
+ var nlevel = -1;
|
|
|
+ if (options.row < options.sheet.getRowCount() - 1) {
|
|
|
+ nlevel = options.sheet.rowOutlines.getLevel(options.row + 1);
|
|
|
+ }
|
|
|
+ var hoffset = (level + 2) * 12;
|
|
|
+ x += hoffset;
|
|
|
+ w -= hoffset;
|
|
|
+ GC.Spread.Sheets.CellTypes.Base.prototype.paint.apply(this, arguments);
|
|
|
+ if (options.row == options.sheet.getRowCount() - 1) return; //last row
|
|
|
+ if (nlevel > level) {
|
|
|
+ var collapsed = options.sheet.rowOutlines.isCollapsed(options.row + 1);
|
|
|
+ x--;
|
|
|
+ y += h / 2 - 3;
|
|
|
+ ctx.save();
|
|
|
+ ctx.fillStyle = "black";
|
|
|
+ ctx.beginPath();
|
|
|
+ if (collapsed) {
|
|
|
+ ctx.moveTo(x - 5, y);
|
|
|
+ ctx.lineTo(x, y + 3);
|
|
|
+ ctx.lineTo(x - 5, y + 6);
|
|
|
+ } else {
|
|
|
+ ctx.moveTo(x, y);
|
|
|
+ ctx.lineTo(x, y + 5);
|
|
|
+ ctx.lineTo(x - 5, y + 5);
|
|
|
+ }
|
|
|
+ ctx.fill();
|
|
|
+ ctx.restore();
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ x--;
|
|
|
+ y += h / 2 - 3;
|
|
|
+ ctx.save();
|
|
|
+ ctx.restore();
|
|
|
+ }
|
|
|
+ };
|
|
|
+ // override getHitInfo to allow cell type get mouse messages
|
|
|
+ TreeNodeCellType.prototype.getHitInfo = function (x, y, cellStyle, cellRect, context) {
|
|
|
+ return {
|
|
|
+ x: x,
|
|
|
+ y: y,
|
|
|
+ row: context.row,
|
|
|
+ col: context.col,
|
|
|
+ cellStyle: cellStyle,
|
|
|
+ cellRect: cellRect,
|
|
|
+ sheetArea: context.sheetArea
|
|
|
+ };
|
|
|
+ }
|
|
|
+ TreeNodeCellType.prototype.processMouseDown = function (hitinfo) {
|
|
|
+ var level = hitinfo.sheet.rowOutlines.getLevel(hitinfo.row);
|
|
|
+ var hoffset = (level + 2) * 12 + hitinfo.cellRect.x;
|
|
|
+ if (hitinfo.x < hoffset && hitinfo.x > hoffset - 10) {
|
|
|
+ var collapsed = hitinfo.sheet.rowOutlines.isCollapsed(hitinfo.row + 1);
|
|
|
+ hitinfo.sheet.rowOutlines.setCollapsed(hitinfo.row, !collapsed);
|
|
|
+ hitinfo.sheet.invalidateLayout();
|
|
|
+ hitinfo.sheet.repaint();
|
|
|
+ }
|
|
|
+ };
|
|
|
+ return new TreeNodeCellType()
|
|
|
+ },
|
|
|
createSpreadView:function () {
|
|
|
if (this.mainViews) {
|
|
|
this.mainViews.destroy();
|
|
@@ -527,3 +650,16 @@ $('#inlineFormCustomSelect').change(function(){
|
|
|
socket.emit('changeActivateFeeRate',{oldRoom:oldValue,newRoom:selectID});
|
|
|
})
|
|
|
|
|
|
+$('#fee_rate_tree').on('shown.bs.modal', function (e) {
|
|
|
+ if(feeRateObject.feeRateSpreads==null){
|
|
|
+ feeRateObject.createSheet();
|
|
|
+ }
|
|
|
+ feeRateObject.showSelectTree();
|
|
|
+});
|
|
|
+
|
|
|
+$('#fee_rate_tree').on('hidden.bs.modal', function (e) {
|
|
|
+ if(feeRateObject.feeRateSpreads){
|
|
|
+ feeRateObject.feeRateSpreads.destroy();
|
|
|
+ feeRateObject.feeRateSpreads=null;
|
|
|
+ }
|
|
|
+});
|