forked from fanruan/fineui
215 lines
7.0 KiB
215 lines
7.0 KiB
Demo.Func = BI.inherit(BI.Widget, { |
|
props: { |
|
baseCls: "demo-func" |
|
}, |
|
|
|
render: function () { |
|
var items = [{ |
|
children: [{ |
|
type: "bi.page_table_cell", |
|
text: "node1", |
|
children: [{ |
|
type: "bi.page_table_cell", |
|
text: "childnode1", |
|
values: [{type: "bi.page_table_cell", text: 101}, { |
|
type: "bi.page_table_cell", |
|
text: 102 |
|
}, {type: "bi.page_table_cell", text: 101}, { |
|
type: "bi.page_table_cell", |
|
text: 102 |
|
}, {type: "bi.page_table_cell", text: 101}] |
|
}, { |
|
type: "bi.page_table_cell", |
|
text: "childnode2", |
|
values: [{type: "bi.page_table_cell", text: 201}, { |
|
type: "bi.page_table_cell", |
|
text: 202 |
|
}, {type: "bi.page_table_cell", text: 201}, { |
|
type: "bi.page_table_cell", |
|
text: 202 |
|
}, {type: "bi.page_table_cell", text: 201}] |
|
}], |
|
values: [{type: "bi.page_table_cell", text: 1001}, { |
|
type: "bi.page_table_cell", |
|
text: 1002 |
|
}, {type: "bi.page_table_cell", text: 1001}, { |
|
type: "bi.page_table_cell", |
|
text: 1002 |
|
}, {type: "bi.page_table_cell", text: 1001}] |
|
}], values: [{type: "bi.page_table_cell", text: 12001}, { |
|
type: "bi.page_table_cell", |
|
text: 12002 |
|
}, {type: "bi.page_table_cell", text: 12001}, { |
|
type: "bi.page_table_cell", |
|
text: 12002 |
|
}, {type: "bi.page_table_cell", text: 12001}] |
|
}]; |
|
|
|
var header = [{ |
|
type: "bi.page_table_cell", |
|
text: "header1" |
|
}, { |
|
type: "bi.page_table_cell", |
|
text: "header2" |
|
}, { |
|
type: "bi.page_table_cell", |
|
text: "jine", |
|
tag: 1 |
|
}, { |
|
type: "bi.page_table_cell", |
|
text: "jine", |
|
tag: 2 |
|
}, { |
|
type: "bi.page_table_cell", |
|
text: "jine", |
|
tag: 3 |
|
}, { |
|
type: "bi.page_table_cell", |
|
text: "金额汇总", |
|
tag: 4 |
|
}, { |
|
type: "bi.page_table_cell", |
|
text: "金额汇总2", |
|
tag: 5 |
|
}]; |
|
|
|
var crossHeader = [{ |
|
type: "bi.page_table_cell", |
|
text: "cross1" |
|
}, { |
|
type: "bi.page_table_cell", |
|
text: "cross2" |
|
}]; |
|
|
|
var crossItems = [{ |
|
children: [{ |
|
type: "bi.page_table_cell", |
|
text: "node1", |
|
values: [1, 2, 3] |
|
}, { |
|
type: "bi.page_table_cell", |
|
text: "node3", |
|
values: [1, 2] |
|
}] |
|
// values: [1, 2] |
|
}]; |
|
|
|
var table1 = BI.createWidget({ |
|
type: "bi.page_table", |
|
el: { |
|
type: "bi.sequence_table", |
|
showSequence: true, |
|
el: { |
|
type: "bi.dynamic_summary_tree_table", |
|
el: { |
|
type: "bi.adaptive_table", |
|
el: { |
|
type: "bi.resizable_table", |
|
el: { |
|
type: "bi.collection_table" |
|
} |
|
} |
|
} |
|
}, |
|
sequence: { |
|
type: "bi.sequence_table_dynamic_number" |
|
} |
|
}, |
|
summaryCellStyleGetter: function (isLast) { |
|
return isLast ? { |
|
backgroundColor: "#6495ED", |
|
color: "#ffffff" |
|
} : { |
|
backgroundColor: "#B0C4DE", |
|
color: "#ffffff" |
|
}; |
|
}, |
|
sequenceCellStyleGetter: function (index) { |
|
return { |
|
backgroundColor: "#87CEEB", |
|
color: "#ffffff" |
|
}; |
|
}, |
|
headerCellStyleGetter: function () { |
|
return { |
|
backgroundColor: "#6495ED", |
|
color: "#ffffff" |
|
}; |
|
}, |
|
pager: { |
|
horizontal: { |
|
pages: false, // 总页数 |
|
curr: 1, // 初始化当前页, pages为数字时可用 |
|
|
|
hasPrev: function (page) { |
|
return page > 1; |
|
}, |
|
hasNext: function (page) { |
|
return page < 3; |
|
} |
|
}, |
|
vertical: { |
|
pages: false, // 总页数 |
|
curr: 1, // 初始化当前页, pages为数字时可用 |
|
|
|
hasPrev: function (page) { |
|
return page > 1; |
|
}, |
|
hasNext: function (page) { |
|
return page < 3; |
|
} |
|
} |
|
}, |
|
itemsCreator: function (op, populate) { |
|
var vpage = op.vpage || ""; |
|
var hpage = op.hpage || ""; |
|
BI.each(header, function (i, h) { |
|
h.text = h.text + "V" + vpage + "H" + hpage; |
|
}); |
|
populate(items, header, crossItems, crossHeader); |
|
}, |
|
width: 600, |
|
height: 400, |
|
columnSize: [100, 100, 100, 100, 100, 100, 100], |
|
minColumnSize: [100, 100, 100, 100, 100, 100, 100], |
|
isNeedMerge: true, |
|
isNeedFreeze: true, |
|
mergeCols: [0, 1], |
|
mergeRule: function (col1, col2) { |
|
if (col1 === col2) { |
|
return true; |
|
} |
|
if (col1.tag && col2.tag) { |
|
return col1.tag === col2.tag; |
|
} |
|
return col1 === col2; |
|
}, |
|
freezeCols: [0, 1], |
|
header: header, |
|
items: items, |
|
crossHeader: crossHeader, |
|
crossItems: crossItems |
|
}); |
|
table1.populate(); |
|
// table1.populate(items, header, crossItems, crossHeader); |
|
BI.createWidget({ |
|
type: "bi.absolute", |
|
element: this, |
|
items: [{ |
|
el: { |
|
type: "bi.grid", |
|
columns: 1, |
|
rows: 1, |
|
items: [[{ |
|
el: table1 |
|
}]] |
|
}, |
|
left: 10, |
|
right: 10, |
|
top: 10, |
|
bottom: 10 |
|
}] |
|
}); |
|
} |
|
}); |
|
BI.shortcut("demo.page_table", Demo.Func); |