Browse Source

Merge pull request #3 in FUI/fineui from ~GUY/fineui:2.0 to 2.0

* commit '1bc0a53d1251a41cdf7f777f18ffa73b3963bf34':
  add
  add
  add
  无JIRA任务 替换case
  update
  add
  add
  demo
  无JIRA任务 FINEUI DEMO
  add
  调整数据结构
es6
guy 8 years ago
parent
commit
92cceefcdf
  1. 2
      .gitignore
  2. 17
      Gruntfile.js
  3. 4
      demo.html
  4. 1
      demo/config.js
  5. 3
      demo/css/index.css
  6. 41
      demo/css/main.css
  7. 10
      demo/css/north.css
  8. 5
      demo/css/west.css
  9. 5
      demo/formula.js
  10. 11
      demo/js/base/demo.button.js
  11. 64
      demo/js/center.js
  12. 8
      demo/js/config/base.js
  13. 8
      demo/js/config/case.js
  14. 112
      demo/js/config/layout.js
  15. 8
      demo/js/config/widget.js
  16. 52
      demo/js/face.js
  17. 19
      demo/js/layout/demo.absolute.js
  18. 81
      demo/js/layout/demo.center_adapt.js
  19. 20
      demo/js/main.js
  20. 25
      demo/js/north.js
  21. 16
      demo/js/west.js
  22. 1
      demo/less/index.less
  23. 52
      demo/less/main.less
  24. 9
      demo/less/north.less
  25. 4
      demo/less/west.less
  26. 3690
      dist/base.css
  27. 35151
      dist/base.js
  28. 9337
      dist/case.js
  29. 9924
      dist/core.css
  30. 28326
      dist/core.js
  31. BIN
      dist/cursor/cursor_drag_hand.cur
  32. BIN
      dist/cursor/cursor_hand.cur
  33. BIN
      dist/cursor/cursor_left_right.cur
  34. BIN
      dist/font/iconfont.eot
  35. 674
      dist/font/iconfont.svg
  36. BIN
      dist/font/iconfont.ttf
  37. BIN
      dist/font/iconfont.woff
  38. 0
      dist/icon/line_conn.gif
  39. 0
      dist/icon/loading.gif
  40. BIN
      dist/icon/tree-collapse-1.png
  41. BIN
      dist/icon/tree-collapse-2.png
  42. BIN
      dist/icon/tree-collapse-3.png
  43. BIN
      dist/icon/tree-collapse-4.png
  44. BIN
      dist/icon/tree-expand-1.png
  45. BIN
      dist/icon/tree-expand-2.png
  46. BIN
      dist/icon/tree-expand-3.png
  47. BIN
      dist/icon/tree-expand-4.png
  48. BIN
      dist/icon/tree-vertical-line-1.png
  49. BIN
      dist/icon/tree-vertical-line-2.png
  50. BIN
      dist/icon/tree-vertical-line-3.png
  51. BIN
      dist/icon/tree-vertical-line-4.png
  52. BIN
      dist/icon/tree-vertical-line-5.png
  53. 0
      dist/icon/zTreeStandard.gif
  54. 0
      dist/icon/zTreeStandard.png
  55. BIN
      dist/resources/ZeroClipboard.swf
  56. 1584
      dist/widget.css
  57. 30146
      dist/widget.js
  58. 7
      src/case/button/item.multiselect.js
  59. 5
      src/case/button/item.singleselect.js
  60. 6
      src/case/button/node/node.multilayer.icon.arrow.js
  61. 3
      src/case/button/treeitem/item.multilayer.icon.treeleaf.js
  62. 24
      src/case/calendar/calendar.js
  63. 44
      src/case/colorpicker/editor.colorpicker.js
  64. 210
      src/case/combo/combo.bubble.js
  65. 44
      src/case/combo/popup.bubble.bar.js
  66. 73
      src/case/combo/popup.bubble.js
  67. 6
      src/case/editor/editor.record.js
  68. 4
      src/case/editor/editor.shelter.js
  69. 2
      src/case/editor/editor.sign.js
  70. 29
      src/case/editor/editor.state.js
  71. 11
      src/case/editor/editor.state.simple.js
  72. 11
      src/case/floatbox/floatboxsection.bar.js
  73. 2
      src/case/layer/layer.multiselect.js
  74. 242
      src/case/logintimeout/login.timeout.js
  75. 80
      src/case/pager/pager.all.count.js
  76. 163
      src/case/pager/pager.all.count.js~67b55d486e769f445942f15883303ca839ffd092
  77. 101
      src/case/pager/pager.direction.js
  78. 288
      src/case/pager/pager.js
  79. 116
      src/case/pager/pager.number.js
  80. 112
      src/case/pager/pager.skip.js
  81. 235
      src/case/table/table.adaptive.js
  82. 250
      src/case/table/table.dynamicsummarylayertree.js
  83. 219
      src/case/table/table.dynamicsummarytree.js
  84. 32
      src/case/table/table.layertree.cell.js
  85. 221
      src/case/table/table.layertree.js
  86. 46
      src/case/table/table.style.cell.js
  87. 330
      src/case/table/table.tree.js
  88. 92
      src/case/table/tabler.js
  89. 30
      src/case/tip/tip.tooltip.js
  90. 2
      src/case/trigger/trigger.text.js
  91. 2
      src/case/trigger/trigger.text.select.js
  92. 2
      src/case/trigger/trigger.text.select.small.js
  93. 31
      src/case/zclip/zclip.js
  94. 11
      src/core/ob.js
  95. 2
      src/core/proto/date.js
  96. 24
      src/core/widget.js
  97. 3
      src/core/wrapper/layout/layout.card.js
  98. 2
      src/css/base/single/text.css
  99. 2
      src/css/base/third/jquery.mCustomScrollbar.css
  100. 40
      src/css/base/third/ztree/zTreeStyle.css
  101. Some files were not shown because too many files have changed in this diff Show More

2
.gitignore vendored

@ -1,5 +1,5 @@
node_modules/
/.idea/
dist
demo.js
demo.css
.DS_Store

17
Gruntfile.js

@ -47,10 +47,19 @@ module.exports = function (grunt) {
//实现好的一些基础实例
caseJs: {
src: [
'src/case/combo/popup.bubble.js',
'src/case/**/*.js'
],
dest: 'dist/case.js'
},
widgetJs: {
src: [
'src/widget/paramsettingcombo/popup.param.js',
'src/widget/sequencetable/treenumber.sequencetable.js',
'src/widget/**/*.js'
],
dest: "dist/widget.js"
},
coreCss: {
src: ['src/css/core/**/*.css', 'src/css/utils/**/*.css'],
dest: 'dist/core.css'
@ -59,9 +68,13 @@ module.exports = function (grunt) {
src: ['src/css/base/**/*.css'],
dest: 'dist/base.css'
},
widgetCss: {
src: ['src/css/widget/**/*.css'],
dest: 'dist/widget.css'
},
demoJs: {
src: ['demo/version.js', 'demo/app.js', 'demo/js/**/*.js'],
src: ['demo/version.js', 'demo/app.js', 'demo/js/**/*.js', 'demo/config.js'],
dest: 'demo/dist/demo.js'
},
demoCss: {
@ -131,7 +144,7 @@ module.exports = function (grunt) {
},
watch: {
scripts: {
files: ['src/**/*.js', 'demo/**/*.js', 'demo/**/*.less'],
files: ['src/**/*.js', 'demo/js/**/*.js', 'demo/config.js', 'demo/less/**/*.less'],
tasks: ['less', 'concat'],
options: {
spanw: true,

4
demo.html

@ -14,10 +14,14 @@
<script src="./dist/core.js"></script>
<script src="./dist/base.js"></script>
<script src="./dist/case.js"></script>
<script src="./dist/widget.js"></script>
<script src="demo/dist/demo.js"></script>
</head>
<body>
<div id="wrapper"></div>
<div id="container"></div>
<link href='https://fonts.googleapis.com/css?family=Roboto:400,100,100italic,300,300italic,400italic,500,500italic,700,700italic,900italic,900&subset=latin,greek,greek-ext,vietnamese,cyrillic-ext,latin-ext,cyrillic'
rel='stylesheet' type='text/css'>
</body>
</html>

1
demo/config.js

@ -0,0 +1 @@
Demo.CONFIG = Demo.LAYOUT_CONFIG.concat(Demo.BASE_CONFIG).concat(Demo.CASE_CONFIG).concat(Demo.WIDGET_CONFIG);

3
demo/css/index.css

@ -0,0 +1,3 @@
/****添加计算宽度的--运算符直接需要space****/
/****** common color(常用颜色,可用于普遍场景) *****/
/**** custom color(自定义颜色,用于特定场景) ****/

41
demo/css/main.css

@ -1,3 +1,44 @@
* {
font-family: 'Source Sans Pro', 'Helvetica Neue', Helvetica, Arial, sans-serif;
}
.layout-bg-white {
background-color: #ffffff;
}
.layout-bg-gray {
background-color: #eeeeee;
}
.layout-bg1 {
color: #ffffff;
background-color: #0088cc;
}
.layout-bg2 {
color: #ffffff;
background-color: #008B8B;
}
.layout-bg3 {
color: #ffffff;
background-color: #6495ED;
}
.layout-bg4 {
color: #ffffff;
background-color: #ff69b4;
}
.layout-bg5 {
color: #ffffff;
background-color: #B8860B;
}
.layout-bg6 {
color: #ffffff;
background-color: #d9534f;
}
.layout-bg7 {
color: #ffffff;
background-color: #ea4738;
}
.layout-bg8 {
color: #ffffff;
background-color: #6495ed;
}
.demo-main .bg1 {
background-color: #178cdf;
}

10
demo/css/north.css

@ -1,3 +1,13 @@
/****添加计算宽度的--运算符直接需要space****/
/****** common color(常用颜色,可用于普遍场景) *****/
/**** custom color(自定义颜色,用于特定场景) ****/
.demo-north {
background-color: #3c8dbc;
}
.demo-north .logo {
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
color: #ffffff;
background-color: #367fa9;
font-size: 20px;
font-weight: 300;
}

5
demo/css/west.css

@ -1,3 +1,6 @@
/****添加计算宽度的--运算符直接需要space****/
/****** common color(常用颜色,可用于普遍场景) *****/
/**** custom color(自定义颜色,用于特定场景) ****/
.demo-west {
background-color: #222d32;
border-right: 1px solid #eaeaea;
}

5
demo/formula.js

File diff suppressed because one or more lines are too long

11
demo/js/base/demo.button.js

@ -0,0 +1,11 @@
Demo.Button = BI.inherit(BI.Widget, {
props: {
baseCls: "demo-face"
},
render: function () {
return {
type: "bi.vertical",
}
}
});
$.shortcut("demo.button", Demo.Button);

64
demo/js/center.js

@ -2,60 +2,24 @@ Demo.Center = BI.inherit(BI.Widget, {
props: {
baseCls: "demo-center"
},
beforeCreate: function () {
console.log("beforeCreate");
},
render: function () {
var self = this;
return {
type: "bi.vertical",
hgap: 50,
vgap: 20,
items: [{
type: "bi.label",
text: "栅格布局",
height: 50
}, {
type: "bi.lattice",
columnSize: [0.1, 0.1, 0.3, 0.4, 0.1],
items: [{
type: "bi.label",
height: 30,
text: "Left-1",
cls: "layout-bg1 lattice-item",
hgap: 20
}, {
type: "bi.label",
height: 30,
text: "Left-2",
cls: "layout-bg2 lattice-item",
hgap: 20
}, {
type: "bi.label",
height: 30,
text: "Left-3",
cls: "layout-bg3 lattice-item",
hgap: 20
}, {
type: "bi.label",
height: 30,
text: "Left-4",
cls: "layout-bg4 lattice-item",
hgap: 20
}, {
type: "bi.label",
height: 30,
text: "Left-5",
cls: "layout-bg5 lattice-item",
hgap: 20
}]
}]
}
type: "bi.tab",
ref: function () {
self.tab = this;
},
created: function () {
console.log("created");
defaultShowIndex: "demo.face",
cardCreator: function (v) {
return BI.createWidget({
type: v
});
}
}
},
mounted: function () {
console.log("mounted");
setValue: function (v) {
this.tab.setSelect(v);
}
});
$.shortcut("demo.center", Demo.Center);

8
demo/js/config/base.js

@ -0,0 +1,8 @@
Demo.BASE_CONFIG = [{
id: 2,
text: "基础控件"
}, {
pId: 2,
text: "bi.center_adapt",
value: "demo.center_adapt"
}];

8
demo/js/config/case.js

@ -0,0 +1,8 @@
Demo.CASE_CONFIG = [{
id: 3,
text: "基础控件"
}, {
pId: 3,
text: "bi.center_adapt",
value: "demo.center_adapt"
}];

112
demo/js/config/layout.js

@ -0,0 +1,112 @@
Demo.LAYOUT_CONFIG = [{
id: 1,
text: "布局"
}, {
pId: 1,
text: "bi.center_adapt",
value: "demo.center_adapt"
}, {
pId: 1,
text: "bi.float_center_adapt",
value: "float_center_adapt"
}, {
pId: 1,
text: "bi.absolute_center_adapt",
value: "absolute_center_adapt"
}, {
pId: 1,
text: "bi.flex_center",
value: "flex_center"
}, {
pId: 1,
text: "bi.inline_center_adapt",
value: "inline_center_adapt"
}, {
pId: 1,
text: "bi.vertical_adapt",
value: "vertical_adapt"
}, {
pId: 1,
text: "bi.inline_vertical_adapt",
value: "inline_vertical_adapt"
}, {
pId: 1,
text: "bi.horizontal_adapt",
value: "horizontal_adapt"
}, {
pId: 1,
text: "bi.horizontal_auto",
value: "horizontal_auto"
}, {
pId: 1,
text: "bi.horizontal_float",
value: "horizontal_float"
}, {
pId: 1,
text: "bi.left_right_vertical_adapt",
value: "left_right_vertical_adapt"
}, {
pId: 1,
text: "bi.center",
value: "center"
}, {
pId: 1,
text: "bi.float_center",
value: "float_center"
}, {
pId: 1,
text: "bi.vertical",
value: "vertical"
}, {
pId: 1,
text: "bi.horizontal",
value: "horizontal"
}, {
pId: 1,
text: "bi.border",
value: "border"
}, {
pId: 1,
text: "bi.card",
value: "card"
}, {
pId: 1,
text: "bi.left, bi.right",
value: "flow"
}, {
pId: 1,
text: "bi.lattice",
value: "lattice"
}, {
pId: 1,
text: "bi.inline",
value: "inline"
}, {
pId: 1,
text: "bi.htape",
value: "htape"
}, {
pId: 1,
text: "bi.vtape",
value: "vtape"
}, {
pId: 1,
text: "bi.grid",
value: "grid"
}, {
pId: 1,
text: "bi.table",
value: "table"
}, {
pId: 1,
text: "bi.division",
value: "division"
}, {
pId: 1,
text: "bi.window",
value: "window"
}, {
pId: 1,
text: "bi.td",
value: "td"
}];

8
demo/js/config/widget.js

@ -0,0 +1,8 @@
Demo.WIDGET_CONFIG = [{
id: 4,
text: "基础控件"
}, {
pId: 4,
text: "bi.center_adapt",
value: "demo.center_adapt"
}];

52
demo/js/face.js

@ -0,0 +1,52 @@
Demo.Face = BI.inherit(BI.Widget, {
props: {
baseCls: "demo-face"
},
render: function () {
return {
type: "bi.vertical",
hgap: 50,
vgap: 20,
items: [{
type: "bi.label",
text: "栅格布局",
height: 50
}, {
type: "bi.lattice",
columnSize: [0.1, 0.1, 0.3, 0.4, 0.1],
items: [{
type: "bi.label",
height: 30,
text: "Left-1",
cls: "layout-bg1 lattice-item",
hgap: 20
}, {
type: "bi.label",
height: 30,
text: "Left-2",
cls: "layout-bg2 lattice-item",
hgap: 20
}, {
type: "bi.label",
height: 30,
text: "Left-3",
cls: "layout-bg3 lattice-item",
hgap: 20
}, {
type: "bi.label",
height: 30,
text: "Left-4",
cls: "layout-bg4 lattice-item",
hgap: 20
}, {
type: "bi.label",
height: 30,
text: "Left-5",
cls: "layout-bg5 lattice-item",
hgap: 20
}]
}]
}
}
});
$.shortcut("demo.face", Demo.Face);

19
demo/js/layout/demo.absolute.js

@ -0,0 +1,19 @@
Demo.AbsoluteLayout = BI.inherit(BI.Widget, {
props: {
baseCls: "demo-absolute"
},
render: function () {
return {
type: "bi.absolute",
items: [{
el: {
type: "bi.button",
text: "absolute"
},
left: 100,
top: 100
}]
}
}
});
$.shortcut("demo.absolute", Demo.AbsoluteLayout);

81
demo/js/layout/demo.center_adapt.js

@ -0,0 +1,81 @@
Demo.CenterAdapt = BI.inherit(BI.Widget, {
props: {
baseCls: "demo-absolute"
},
render: function () {
return {
type: "bi.grid",
columns: 1,
rows: 2,
items: [{
column: 0,
row: 0,
el: this._createNoWidth()
}, {
column: 0,
row: 1,
el: this._createBottom()
}]
}
},
_createNoWidth: function () {
return BI.createWidget({
type: "bi.center_adapt",
hgap: 10,
items: [{
type: "bi.label",
text: "Center Adapt 1,center adapt布局只会影响容器内部的位置(水平和垂直居中)而不会影响到内部控件本身属性",
cls: "layout-bg1",
height: 30
}, {
type: "bi.label",
text: "Center Adapt 2,根据内部控件的宽度的比例来计算",
cls: "layout-bg2",
height: 30
}, {
type: "bi.label",
text: "Center Adapt 3,这些label都是没有宽度的",
cls: "layout-bg3",
height: 30
}, {
type: "bi.label",
text: "Center Adapt 4",
cls: "layout-bg5",
height: 30
}]
})
},
_createBottom: function () {
return BI.createWidget({
type: "bi.center_adapt",
items: [{
type: "bi.text_button",
text: "这个是有宽度和高度的按钮-1",
height: "100%",
width: 160,
cls: "layout-bg1"
}, {
type: "bi.text_button",
text: "这个是有宽度和高度的按钮-2",
height: 30,
width: 160,
cls: "layout-bg2"
}, {
type: "bi.text_button",
text: "这个是有宽度和高度的按钮-3",
height: 30,
width: 160,
cls: "layout-bg3"
}, {
type: "bi.text_button",
text: "这个是有宽度和高度的按钮-4",
height: 30,
width: 160,
cls: "layout-bg5"
}]
})
},
});
$.shortcut("demo.center_adapt", Demo.CenterAdapt);

20
demo/js/main.js

@ -3,24 +3,40 @@ Demo.Main = BI.inherit(BI.Widget, {
baseCls: "demo-main"
},
render: function () {
var center;
return {
type: "bi.border",
items: {
north: {
height: 50,
el: {
type: "demo.north"
type: "demo.north",
listeners: [{
eventName: Demo.North.EVENT_VALUE_CHANGE,
action: function (v) {
center.setValue(v);
}
}]
}
},
west: {
width: 230,
el: {
type: "demo.west"
type: "demo.west",
listeners: [{
eventName: Demo.West.EVENT_VALUE_CHANGE,
action: function (v) {
center.setValue(v);
}
}]
}
},
center: {
el: {
type: "demo.center",
ref: function (_ref) {
center = _ref;
}
}
}
}

25
demo/js/north.js

@ -3,7 +3,30 @@ Demo.North = BI.inherit(BI.Widget, {
baseCls: "demo-north"
},
render: function () {
var self = this;
return {
type: "bi.htape",
items: [{
width: 230,
el: {
type: "bi.text_button",
listeners: [{
eventName: BI.Button.EVENT_CHANGE,
action: function () {
self.fireEvent(Demo.North.EVENT_VALUE_CHANGE, "demo.face")
}
}],
cls: "logo",
height: 50,
text: "FineUI2.0"
}
}, {
el: {
type: "bi.layout"
}
}]
}
}
});
Demo.North.EVENT_VALUE_CHANGE = "EVENT_VALUE_CHANGE";
$.shortcut("demo.north", Demo.North);

16
demo/js/west.js

@ -3,7 +3,21 @@ Demo.West = BI.inherit(BI.Widget, {
baseCls: "demo-west"
},
render: function () {
var self = this;
return {
type: "bi.vertical",
items: [{
type: "bi.multilayer_single_level_tree",
listeners: [{
eventName: BI.MultiLayerSingleLevelTree.EVENT_CHANGE,
action: function (v) {
self.fireEvent(Demo.West.EVENT_VALUE_CHANGE, v);
}
}],
items: Demo.CONFIG
}]
}
}
});
Demo.West.EVENT_VALUE_CHANGE = "EVENT_VALUE_CHANGE";
$.shortcut("demo.west", Demo.West);

1
demo/less/index.less

@ -0,0 +1 @@
@import "../../src/less/bibase";

52
demo/less/main.less

@ -1,3 +1,55 @@
* {
font-family: 'Source Sans Pro', 'Helvetica Neue', Helvetica, Arial, sans-serif;
}
.layout-bg-white {
background-color: #ffffff;
}
.layout-bg-gray {
background-color: #eeeeee;
}
.layout-bg1 {
color: #ffffff;
background-color: #0088cc;
}
.layout-bg2 {
color: #ffffff;
background-color: #008B8B;
}
.layout-bg3 {
color: #ffffff;
background-color: #6495ED;
}
.layout-bg4 {
color: #ffffff;
background-color: #ff69b4;
}
.layout-bg5 {
color: #ffffff;
background-color: #B8860B;
}
.layout-bg6 {
color: #ffffff;
background-color: #d9534f;
}
.layout-bg7 {
color: #ffffff;
background-color: #ea4738;
}
.layout-bg8 {
color: #ffffff;
background-color: #6495ed;
}
.demo-main {
& .bg1 {
background-color: #178cdf;

9
demo/less/north.less

@ -1,3 +1,12 @@
@import "index";
.demo-north {
background-color: #3c8dbc;
& .logo {
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
color: @color-bi-text;
background-color: #367fa9;
font-size: 20px;
font-weight: 300;
}
}

4
demo/less/west.less

@ -1,3 +1,5 @@
@import "index";
.demo-west {
background-color: #222d32;
border-right: 1px solid @color-bi-border-line;
}

3690
dist/base.css vendored

File diff suppressed because it is too large Load Diff

35151
dist/base.js vendored

File diff suppressed because it is too large Load Diff

9337
dist/case.js vendored

File diff suppressed because it is too large Load Diff

9924
dist/core.css vendored

File diff suppressed because it is too large Load Diff

28326
dist/core.js vendored

File diff suppressed because it is too large Load Diff

BIN
dist/cursor/cursor_drag_hand.cur vendored

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

BIN
dist/cursor/cursor_hand.cur vendored

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

BIN
dist/cursor/cursor_left_right.cur vendored

Binary file not shown.

After

Width:  |  Height:  |  Size: 894 B

BIN
dist/font/iconfont.eot vendored

Binary file not shown.

674
dist/font/iconfont.svg vendored

@ -0,0 +1,674 @@
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
<svg xmlns="http://www.w3.org/2000/svg">
<metadata>
Created by FontForge 20120731 at Mon Feb 6 14:42:36 2017
By admin
</metadata>
<defs>
<font id="bi" horiz-adv-x="1024" >
<font-face
font-family="bi"
font-weight="500"
font-stretch="normal"
units-per-em="1024"
panose-1="2 0 6 3 0 0 0 0 0 0"
ascent="896"
descent="-128"
x-height="792"
bbox="0 -218 1308 896"
underline-thickness="0"
underline-position="0"
unicode-range="U+0078-E6EC"
/>
<missing-glyph
/>
<glyph glyph-name=".notdef"
/>
<glyph glyph-name=".notdef"
/>
<glyph glyph-name=".null" horiz-adv-x="0"
/>
<glyph glyph-name="nonmarkingreturn" horiz-adv-x="341"
/>
<glyph glyph-name="x" unicode="x" horiz-adv-x="1001"
d="M281 543q-27 -1 -53 -1h-83q-18 0 -36.5 -6t-32.5 -18.5t-23 -32t-9 -45.5v-76h912v41q0 16 -0.5 30t-0.5 18q0 13 -5 29t-17 29.5t-31.5 22.5t-49.5 9h-133v-97h-438v97zM955 310v-52q0 -23 0.5 -52t0.5 -58t-10.5 -47.5t-26 -30t-33 -16t-31.5 -4.5q-14 -1 -29.5 -0.5
t-29.5 0.5h-32l-45 128h-439l-44 -128h-29h-34q-20 0 -45 1q-25 0 -41 9.5t-25.5 23t-13.5 29.5t-4 30v167h911zM163 247q-12 0 -21 -8.5t-9 -21.5t9 -21.5t21 -8.5q13 0 22 8.5t9 21.5t-9 21.5t-22 8.5zM316 123q-8 -26 -14 -48q-5 -19 -10.5 -37t-7.5 -25t-3 -15t1 -14.5
t9.5 -10.5t21.5 -4h37h67h81h80h64h36q23 0 34 12t2 38q-5 13 -9.5 30.5t-9.5 34.5q-5 19 -11 39h-368zM336 498v228q0 11 2.5 23t10 21.5t20.5 15.5t34 6h188q31 0 51.5 -14.5t20.5 -52.5v-227h-327z" />
<glyph glyph-name="sousuo" unicode="&#xe604;"
d="M894 -7l-239 242q73 77 73 205t-86.5 217t-212.5 89t-215 -90t-89 -216q0 -127 88 -213.5t214 -86.5q115 0 188 57l241 -244q7 -6 16 -6t20 11q7 7 8 17.5t-6 17.5zM173 443.5q0 105.5 74 180t178.5 74.5t178.5 -74.5t74 -180t-74 -180t-178.5 -74.5t-178.5 74.5t-74 180
z" />
<glyph glyph-name="dian" unicode="&#xe606;"
d="M352 287.5q0 -66.5 47 -113t113.5 -46.5t113 46.5t46.5 113t-46.5 113.5t-113 47t-113.5 -47t-47 -113.5z" />
<glyph glyph-name="jinzhi" unicode="&#xe6dc;"
d="M512 709q-111 0 -205.5 -54.5t-149 -149t-54.5 -205.5t54.5 -205.5t149 -149t205.5 -54.5t205.5 54.5t149 149t54.5 205.5t-54.5 205.5t-149 149t-205.5 54.5zM819 300q0 -98 -57 -178l-428 428q80 57 178 57q127 0 217 -90t90 -217zM205 300q0 99 58 179l428 -428
q-80 -58 -179 -58q-127 0 -217 90t-90 217z" />
<glyph glyph-name="ordinaryset" unicode="&#xe697;"
d="M955 374h-44q-15 0 -29.5 10.5t-18.5 24.5l-26 62q-7 13 -4.5 30.5t13.5 28.5l32 31q10 11 10 26.5t-10 25.5l-53 52q-11 11 -26 11t-26 -11l-31 -31q-11 -11 -28.5 -13.5t-30.5 4.5l-62 26q-14 4 -24.5 18.5t-10.5 29.5v44q0 15 -11 26t-26 11h-74q-15 0 -26 -11
t-11 -26v-44q0 -16 -10.5 -30t-24.5 -18l-62 -26q-13 -7 -30.5 -4.5t-28.5 13.5l-31 32q-11 10 -26 10t-26 -10l-52 -53q-11 -10 -11 -25.5t11 -26.5l31 -31q11 -11 13.5 -28.5t-4.5 -30.5l-26 -62q-4 -14 -18.5 -24.5t-29.5 -10.5h-44q-15 0 -26 -11t-11 -26v-74
q0 -15 11 -26t26 -11h44q16 0 30 -10.5t18 -24.5l26 -62q7 -13 4.5 -30.5t-13.5 -28.5l-32 -31q-10 -11 -10 -26.5t10 -25.5l53 -53q11 -10 26 -10t26 10l31 32q11 11 28.5 13.5t30.5 -5.5l62 -25q14 -4 24.5 -18.5t10.5 -29.5v-44q0 -15 11 -26t26 -11h74q15 0 26 11t11 26
v44q0 15 10.5 29.5t24.5 18.5l62 25q13 8 30.5 5.5t28.5 -13.5l31 -32q11 -10 26 -10t26 10l53 53q10 11 10 26t-10 26l-32 31q-11 11 -13.5 28.5t4.5 30.5l26 62q4 14 18 24.5t30 10.5h44q15 0 26 11t11 26v74q0 15 -11 26t-26 11zM697 300q0 -76 -54 -130.5t-130.5 -54.5
t-131 54.5t-54.5 131t54.5 130.5t131 54t130.5 -54t54 -131v0z" />
<glyph glyph-name="zuojiantou" unicode="&#xe601;"
d="M287 301l435 434q6 7 15.5 7t16.5 -7t7 -16.5t-7 -15.5l-418 -418l414 -414q7 -7 7 -16.5t-6.5 -16.5t-16 -7t-16.5 7l-431 430q-6 7 -6 16.5t6 16.5z" />
<glyph glyph-name="youjiantou" unicode="&#xe602;"
d="M754 301l-434 434q-7 7 -16.5 7t-16 -7t-6.5 -16.5t6 -15.5l418 -418l-414 -414q-7 -7 -7 -16.5t7 -16.5t16.5 -7t16.5 7l430 430q7 7 7 16.5t-7 16.5z" />
<glyph glyph-name="guanbi" unicode="&#xe600;"
d="M552 299l231 232q8 8 8 19.5t-8 19.5t-19 8t-19 -8l-232 -232l-232 232q-8 8 -19 8t-19 -8t-8 -19.5t8 -19.5l231 -232l-231 -232q-8 -8 -8 -19t8 -19t19 -8t19 8l232 231l232 -231q8 -8 19 -8t19 8t8 19t-8 19z" />
<glyph glyph-name="xiala" unicode="&#xe608;"
d="M762 446l-219 -322q-12 -17 -32.5 -17t-31.5 17l-219 322q-10 16 0.5 31.5t31.5 15.5h438q21 0 31.5 -15.5t0.5 -31.5z" />
<glyph glyph-name="wenhao" unicode="&#xe69a;"
d="M512 813q-104 0 -199 -40.5t-163.5 -109t-109 -163.5t-40.5 -199t40.5 -199t109 -163.5t163.5 -109t199 -40.5t199 40.5t163.5 109t109 163.5t40.5 199t-40.5 199t-109 163.5t-163.5 109t-199 40.5zM512 -147q-91 0 -174 35.5t-143 95.5t-95.5 143t-35.5 174t35.5 174
t95.5 143t143 95.5t174 35.5t174 -35.5t143 -95.5t95.5 -143t35.5 -174t-35.5 -174t-95.5 -143t-143 -95.5t-174 -35.5zM412 410q1 4 2.5 10.5t10 23t19.5 28.5t33.5 20t49.5 5q35 -4 53.5 -18t21 -31t0 -30t-7.5 -21q-4 -11 -56 -55.5t-60 -64.5q-14 -32 -14 -102h89
q1 1 0 7.5t1.5 19t6 25.5t13.5 26.5t24 21.5q20 12 40.5 32t39.5 47.5t23.5 57.5t-7.5 62q-41 66 -84.5 85.5t-108.5 16.5q-64 -2 -113 -38t-67 -116zM463 142h93v-102h-93v102z" />
<glyph glyph-name="iconfontcolor91" unicode="&#xe692;"
d="M512 812q-139 0 -257 -68.5t-186.5 -186.5t-68.5 -257t68.5 -257t186.5 -186.5t257 -68.5t257 68.5t186.5 186.5t68.5 257t-68.5 257t-186.5 186.5t-257 68.5zM800 268h-256v-256q0 -14 -9.5 -23t-22.5 -9t-22.5 9t-9.5 23v256h-256q-14 0 -23 9.5t-9 22.5t9.5 22.5
t22.5 9.5h256v256q0 14 9.5 23t22.5 9t22.5 -9t9.5 -23v-256h256q14 0 23 -9.5t9 -22.5t-9 -22.5t-23 -9.5z" />
<glyph glyph-name="xiala1" unicode="&#xe603;"
d="M512 40l-279 279l46 45l233 -233l233 233l46 -45z" />
<glyph glyph-name="shujuku" unicode="&#xe693;"
d="M802 682q-119 51 -292 51t-292 -51q-59 -26 -90.5 -59.5t-31.5 -71.5v-505q0 -38 31.5 -72t90.5 -59q119 -51 292 -51t292 51q59 25 90.5 59t31.5 72v505q0 38 -31.5 71.5t-90.5 59.5zM756 460q-110 -38 -246 -38t-246 38q-55 18 -84.5 42t-29.5 49t29.5 49t84.5 42
q110 38 246 38t246 -38q55 -18 84 -42t29 -49t-29 -49t-84 -42zM756 304q-110 -37 -246 -37t-246 37q-55 19 -84.5 42.5t-29.5 49.5v62q54 -40 147 -64q97 -25 213 -25t213 25q93 24 146 64v-62q0 -26 -29 -49.5t-84 -42.5zM756 129q-110 -37 -246 -37t-246 37
q-55 19 -84.5 42.5t-29.5 49.5v82q54 -41 147 -65q97 -25 213 -25t213 25q93 24 146 65v-82q0 -26 -29 -49.5t-84 -42.5zM510 -83q-136 0 -246 37q-55 19 -84.5 42.5t-29.5 49.5v82q54 -41 147 -65q97 -25 213 -25t213 25q93 24 146 65v-82q0 -26 -29 -49.5t-84 -42.5
q-110 -37 -246 -37z" />
<glyph glyph-name="shanchu" unicode="&#xe605;"
d="M576 672v64h-192v-64h-256v-128h704v128h-256zM192 -32q0 -53 37.5 -90.5t90.5 -37.5h320q53 0 90.5 37.5t37.5 90.5v512h-576v-512zM576 416h64v-448h-64v448zM448 416h64v-448h-64v448zM320 416h64v-448h-64v448z" />
<glyph glyph-name="yangshishezhihuihua" unicode="&#xe60c;"
d="M784 748l-54 -118l-122 -19l88 -92l-21 -131l109 62l109 -62l-21 131l88 92l-122 19l-54 118v0zM192 280l-40 -86l-88 -14l64 -67l-15 -95l79 45l79 -45l-15 95l64 67l-88 14l-40 86v0zM391 19l-25 -54l-56 -9l41 -43l-10 -60l50 28l51 -28l-10 60l41 43l-56 9l-26 54v0z
M176 546l84 90l84 -90l-84 -90l-84 90v0zM260 701l-149 -159l149 -159l494 -531l149 159l-643 690v0z" />
<glyph glyph-name="guolvhuihua" unicode="&#xe60f;"
d="M448 254l-384 494h896l-384 -494v-274l-128 -128v402v0z" />
<glyph glyph-name="fuzhihuihua" unicode="&#xe610;"
d="M128 -84h640v-64h-640v64v0zM64 620h64v-768h-64v768v0zM704 748h-448q-18 0 -31 -7t-19 -16.5t-9.5 -19t-4.5 -16.5v-7v-638q0 -28 16 -44t32 -18l16 -2h576q28 0 44 16t18 32l2 16v512l-192 192v0zM320 300h448v-64h-448v64v0zM320 428h448v-64h-448v64v0zM320 172h448
v-64h-448v64v0zM704 556v128l128 -128h-128v0z" />
<glyph glyph-name="tongjigeshuyilaihuihua" unicode="&#xe611;"
d="M960 556l-64 64l-512 -384l-256 192l-64 -64l320 -384l576 576v0z" />
<glyph glyph-name="zhibiaolaizizhengchang" unicode="&#xe612;"
d="M384 428h256v-64h-256v64v0zM448 556h128v-64h-128v64v0zM960 -84h-896v391l192 441h512l192 -441v-391v0zM832 300l-126 320h-379l-135 -320h198l63 -128h126l63 128h190v0z" />
<glyph glyph-name="tubiaoleixingzhengchang" unicode="&#xe613;"
d="M64 364h256v-512h-256v512v0zM704 556h256v-704h-256v704v0zM384 748h256v-896h-256v896v0z" />
<glyph glyph-name="iocnduijitiaoxingtu" unicode="&#xe60a;"
d="M128 727h43v-854h-43v854zM43 1h938v-42h-938v42zM171 641h170v-128h-170v128zM427 641h213v-128h-213v128zM171 428h384v-128h-384v128zM640 428h299v-128h-299v128zM171 215h213v-128h-213v128zM469 215h256v-128h-256v128z" />
<glyph glyph-name="iocnfuyong" unicode="&#xe60b;"
d="M299 513v-597h682v597h-682zM939 -41h-598v426h598v-426zM43 727v-598h213v43h-171v427h598v-43h42v171h-682z" />
<glyph glyph-name="iocngengduo" unicode="&#xe60d;"
d="M43 556h469v-43h-469v43zM85 471h43v-256h-43v256zM128 300h341v-43h-341v43zM427 471h42v-214h-42v214zM128 471h299v-43h-299v43zM128 385h299v-42h-299v42zM256 513h43v-341h-43v341zM128 215h43v-43h-43v43zM171 172h85v-43h-85v43zM43 129h128v-42h-128v42zM256 129
h256v-42h-256v42zM555 129h170v-42h-170v42zM725 599h43v-86h-43v86zM768 556h171v-43h-171v43zM853 513h43v-42h-43v42zM811 471h42v-43h-42v43zM768 428h43v-43h-43v43zM725 385h43v-42h-43v42zM683 428h42v-43h-42v43zM640 471h43v-43h-43v43zM683 513h42v-42h-42v42z
M555 428h85v-43h-85v43zM640 343h85v-43h-85v43zM555 300h85v-43h-85v43zM683 257h85v-42h-85v42zM768 300h43v-43h-43v43zM811 343h170v-43h-170v43zM853 385h43v-42h-43v42zM896 428h43v-43h-43v43zM939 300h42v-43h-42v43zM896 257h43v-42h-43v42zM811 257h42v-85h-42v85
zM853 215h43v-43h-43v43zM725 172h86v-43h-86v43z" />
<glyph glyph-name="iocnhuizongbiao" unicode="&#xe60e;"
d="M43 684v-768h938v768h-938zM939 -41h-854v682h854v-682zM128 599h341v-598h-341v598zM512 599h384v-171h-384v171zM512 385h384v-170h-384v170zM512 172h384v-171h-384v171z" />
<glyph glyph-name="iocnleidatu" unicode="&#xe614;"
d="M512 674l419 -285l-160 -473h-518l-160 472zM512 727l-469 -322l179 -532h580l179 532l-469 322v0zM512 520l257 -180l-98 -296h-318l-98 295zM512 573l-307 -217l117 -355h380l117 355l-307 217v0zM512 623l-213 -341l426 -341z" />
<glyph glyph-name="iocnmingxibiao" unicode="&#xe615;"
d="M43 684v-768h938v768h-938zM939 -41h-854v682h854v-682zM512 599h384v-171h-384v171zM512 385h384v-170h-384v170zM512 172h384v-171h-384v171zM128 599h341v-171h-341v171zM128 385h341v-170h-341v170zM128 172h341v-171h-341v171z" />
<glyph glyph-name="iocnnianfenkongjian" unicode="&#xe616;"
d="M171 343h128v-214h-128v214zM683 343h128v-214h-128v214zM811 727v-43h-128v43h-384v-43h-128v43h-128v-854h896v854h-128zM896 -84h-811v640h811v-640zM341 257h43v-42h-43v42zM384 300h85v-43h-85v43zM469 257h43v-42h-43v42zM512 215h85v-43h-85v43zM597 257h43v-42
h-43v42z" />
<glyph glyph-name="iocnbaocun" unicode="&#xe617;"
d="M848 748h-784v-896h896v784zM512 620h128v-192h-128v192zM832 -20h-640v640h64v-256h448v256h98l30 -30v-610z" />
<glyph glyph-name="iocnbingtu" unicode="&#xe618;"
d="M512 242v410q-79 0 -155 -32.5t-134 -87t-93.5 -131.5t-35.5 -159q0 -112 53.5 -206.5t147.5 -149.5t205.5 -55t205.5 55t148.5 149.5t54.5 206.5q0 111 -36 183zM922 543q-52 104 -147.5 165.5t-219.5 61.5v-411z" />
<glyph glyph-name="iocnchaxun" unicode="&#xe609;"
d="M0 684h43v-768h-43v768zM0 684h1024v-43h-1024v43zM981 641h43v-725h-43v725zM0 -41h1024v-43h-1024v43zM85 513h384v-42h-384v42zM256 556h43v-213h-43v213zM171 471h42v-43h-42v43zM128 428h43v-43h-43v43zM85 385h43v-42h-43v42zM341 471h43v-43h-43v43zM384 428h43
v-43h-43v43zM427 385h42v-42h-42v42zM128 343h43v-214h-43v214zM171 257h213v-42h-213v42zM384 343h43v-214h-43v214zM171 343h213v-43h-213v43zM171 172h213v-43h-213v43zM85 87h384v-43h-384v43zM512 556h43v-43h-43v43zM555 513h42v-42h-42v42zM597 471h43v-43h-43v43z
M640 556h43v-85h-43v85zM683 513h256v-42h-256v42zM896 513h43v-426h-43v426zM811 87h85v-43h-85v43zM512 428h85v-43h-85v43zM555 428h42v-384h-42v384zM640 428h43v-341h-43v341zM640 172h213v-43h-213v43zM683 428h170v-43h-170v43zM811 428h42v-299h-42v299zM683 300
h128v-43h-128v43z" />
<glyph glyph-name="iocnchexiao" unicode="&#xe619;"
d="M762 -212q25 46 42 94t23.5 99t0 97.5t-32.5 88t-69 71t-114 46t-164 14.5v-254l-384 384l384 384v-248q105 2 190 -17.5t141.5 -55.5t94.5 -86.5t52.5 -109.5t11 -124.5t-25 -131t-60 -130.5t-90.5 -121z" />
<glyph glyph-name="iocnchongzhi" unicode="&#xe61a;"
d="M0 684h43v-768h-43v768zM0 684h1024v-43h-1024v43zM981 641h43v-725h-43v725zM0 -41h1024v-43h-1024v43zM128 513h171v-42h-171v42zM299 556h128v-43h-128v43zM256 471h43v-384h-43v384zM85 428h384v-43h-384v43zM128 385h43v-170h-43v170zM171 343h256v-43h-256v43z
M384 385h43v-170h-43v170zM171 257h256v-42h-256v42zM128 172h299v-43h-299v43zM85 87h384v-43h-384v43zM563 556h43v-85h-43v85zM597 556h342v-43h-342v43zM904 513h43v-85h-43v85zM776 513h43v-85h-43v85zM691 513h43v-85h-43v85zM555 471h384v-43h-384v43zM725 428h43
v-171h-43v171zM555 385h384v-42h-384v42zM597 300h43v-213h-43v213zM597 300h299v-43h-299v43zM853 300v0v-213v0v213zM853 300h43v-213h-43v213zM725 172h43v-128h-43v128zM555 87h384v-43h-384v43z" />
<glyph glyph-name="iocnriqikongjian" unicode="&#xe61b;"
d="M427 471h128v-128h-128v128zM597 471h128v-128h-128v128zM768 471h128v-128h-128v128zM256 129h128v-128h-128v128zM427 129h128v-128h-128v128zM597 129h128v-128h-128v128zM427 300h128v-128h-128v128zM597 300h128v-128h-128v128zM768 300h128v-128h-128v128zM256 300
h128v-128h-128v128zM896 727v-43h-128v43h-384v-43h-128v43h-128v-854h896v854h-128zM981 -84h-810v640h810v-640z" />
<glyph glyph-name="iocnriqiqujiankongjian" unicode="&#xe61c;"
d="M811 727v-43h-128v43h-384v-43h-128v43h-128v-854h896v854h-128zM896 -84h-811v640h811v-640zM171 471h128v-43h-128v43zM256 428h43v-85h-43v85zM171 385h85v-42h-85v42zM171 343h42v-86h-42v86zM213 300h86v-43h-86v43zM341 428h43v-128h-43v128zM427 428h42v-128h-42
v128zM384 471h43v-43h-43v43zM384 300h43v-43h-43v43zM341 471h43v-43h-43v43zM341 300h43v-43h-43v43zM427 300h42v-43h-42v43zM427 471h42v-43h-42v43zM512 471h85v-43h-85v43zM555 428h42v-171h-42v171zM512 300h128v-43h-128v43zM683 471h42v-86h-42v86zM683 385h128
v-42h-128v42zM768 343h43v-86h-43v86zM683 300h85v-43h-85v43zM725 471h86v-43h-86v43zM171 172h42v-128h-42v128zM256 172h43v-128h-43v128zM213 215h43v-43h-43v43zM213 44h43v-43h-43v43zM171 215h42v-43h-42v43zM171 44h42v-43h-42v43zM256 44h43v-43h-43v43zM256 215
h43v-43h-43v43zM341 215h86v-43h-86v43zM384 172h43v-171h-43v171zM341 44h128v-43h-128v43zM512 172h43v-128h-43v128zM597 172h43v-128h-43v128zM555 215h42v-43h-42v43zM555 44h42v-43h-42v43zM512 215h43v-43h-43v43zM512 44h43v-43h-43v43zM597 44h43v-43h-43v43z
M597 215h43v-43h-43v43zM683 215h85v-43h-85v43zM725 172h43v-171h-43v171zM683 44h128v-43h-128v43z" />
<glyph glyph-name="iocnsandiantu" unicode="&#xe61d;"
d="M952 769l29 -29l-909 -909l-29 29zM341 44h128v-128h-128v128zM43 -41h128v-128h-128v128zM43 215h128v-128h-128v128zM256 343h128v-128h-128v128zM213 599h128v-128h-128v128zM555 641h128v-128h-128v128zM640 428h128v-128h-128v128zM811 44h128v-128h-128v128z
M853 641h128v-128h-128v128z" />
<glyph glyph-name="iocnshukongjian" unicode="&#xe61e;"
d="M341 599l-170 -299l-171 299h341zM427 599h597v-86h-597v86zM427 343h597v-86h-597v86zM427 87h597v-86h-597v86z" />
<glyph glyph-name="iocnshuzhileixing" unicode="&#xe61f;"
d="M43 428h42v-85h-42v85zM85 471h43v-86h-43v86zM128 513h85v-384h-85v384zM341 471h86v-43h-86v43zM384 513h213v-42h-213v42zM555 471h85v-128h-85v128zM512 385h85v-85h-85v85zM469 343h43v-86h-43v86zM512 300h43v-43h-43v43zM427 300h85v-85h-85v85zM384 257h85v-85
h-85v85zM341 215h43v-86h-43v86zM384 172h256v-43h-256v43zM683 471h85v-43h-85v43zM725 513h214v-42h-214v42zM896 471h85v-86h-85v86zM811 385h128v-42h-128v42zM896 343h85v-128h-85v128zM896 215h43v-43h-43v43zM683 215h85v-43h-85v43zM725 172h171v-43h-171v43z" />
<glyph glyph-name="iocntiaoxingtu" unicode="&#xe620;"
d="M128 727h43v-854h-43v854zM43 1h938v-42h-938v42zM171 641h384v-128h-384v128zM171 428h682v-128h-682v128zM171 215h512v-128h-512v128z" />
<glyph glyph-name="iocnwenben" unicode="&#xe621;"
d="M85 599h128v-299h-42v-43h42h86h42v43h-42v299h128v-43h42v128h-42h-342h-42v-128h42v43zM555 513h426v-85h-426v85zM555 343h426v-86h-426v86zM43 172h938v-85h-938v85zM43 1h938v-85h-938v85zM555 684h426v-85h-426v85z" />
<glyph glyph-name="iocnwenbenkongjian" unicode="&#xe622;"
d="M43 215h85v-128h-85v128zM85 385h86v-170h-86v170zM128 471h128v-86h-128v86zM128 215h213v-43h-213v43zM256 172h85v-85h-85v85zM213 385h86v-170h-86v170zM384 471h85v-384h-85v384zM597 428h86v-128h-86v128zM597 257h86v-128h-86v128zM469 471h171v-43h-171v43z
M469 300h171v-43h-171v43zM469 129h171v-42h-171v42zM725 385h86v-213h-86v213zM768 428h85v-43h-85v43zM811 471h170v-43h-170v43zM939 428h85v-43h-85v43zM768 172h85v-43h-85v43zM811 129h170v-42h-170v42zM939 172h85v-43h-85v43z" />
<glyph glyph-name="iocnyibiaopan" unicode="&#xe623;"
d="M243 -127h84q-113 68 -177.5 165t-64.5 219q0 116 57.5 214.5t155.5 155.5t214 57t214 -57t155.5 -155.5t57.5 -214.5q0 -122 -64.5 -219t-177.5 -165h84q93 66 146.5 166.5t53.5 217.5q0 96 -37 183t-100 149.5t-150 100t-182 37.5t-182 -37.5t-150 -100t-100 -149.5
t-37 -183q0 -117 53.5 -217.5t146.5 -166.5zM213 -41h598v-86h-598v86zM469 727h86v-128h-86v128zM85 343h86v-85h-86v85zM853 343h86v-85h-86v85zM469 428h86v-469h-86v469zM512 428zM469 428.5q0 17.5 12.5 30t30.5 12.5t30.5 -12.5t12.5 -30t-12.5 -30t-30.5 -12.5
t-30.5 12.5t-12.5 30z" />
<glyph glyph-name="iocnyuanhuantu" unicode="&#xe624;"
d="M555 597q124 -16 191 -97.5t67 -199.5q0 -61 -20 -111l149 -86q40 88 40 197q0 122 -53 225t-151 168.5t-223 75.5v-172zM469 3q-100 17 -177.5 102.5t-77.5 194.5t77.5 194.5t177.5 102.5v172q-79 -8 -156 -48t-136.5 -101.5t-96 -146t-36.5 -173.5t36.5 -173.5t96 -146
t136.5 -101.5t156 -48v172zM749 115q-75 -96 -194 -112v-172q97 9 190 62.5t150 134.5z" />
<glyph glyph-name="iocnzhongzuo" unicode="&#xe625;"
d="M576 564v248l384 -384l-384 -384v254q-93 2 -164 -14.5t-114 -46t-69 -71t-32.5 -88t0 -97.5t23.5 -99t42 -94q-52 56 -90.5 121t-60 130.5t-25 131t11 124.5t52.5 109.5t94.5 86.5t141.5 55.5t190 17.5z" />
<glyph glyph-name="iocnzuobiaozhoutu" unicode="&#xe626;"
d="M128 727h43v-854h-43v854zM43 1h938v-42h-938v42zM256 385h128v-384h-128v384zM469 684h128v-683h-128v683zM683 513h128v-512h-128v512z" />
<glyph glyph-name="iocnnianjidukongjian" unicode="&#xe627;"
d="M811 727v-43h-128v43h-384v-43h-128v43h-128v-854h896v854h-128zM896 -84h-811v640h811v-640zM171 471h128v-43h-128v43zM256 428h43v-85h-43v85zM171 385h85v-42h-85v42zM171 343h42v-86h-42v86zM213 300h86v-43h-86v43zM341 428h43v-128h-43v128zM427 428h42v-128h-42
v128zM384 471h43v-43h-43v43zM384 300h43v-43h-43v43zM341 471h43v-43h-43v43zM341 300h43v-43h-43v43zM427 300h42v-43h-42v43zM427 471h42v-43h-42v43zM512 471h85v-43h-85v43zM555 428h42v-171h-42v171zM512 300h128v-43h-128v43zM683 471h42v-86h-42v86zM683 385h128
v-42h-128v42zM768 343h43v-86h-43v86zM683 300h85v-43h-85v43zM725 471h86v-43h-86v43zM341 172h43v-128h-43v128zM427 172h42v-128h-42v128zM384 215h43v-43h-43v43zM384 44h43v-43h-43v43zM341 215h43v-43h-43v43zM341 44h43v-43h-43v43zM427 44h42v-43h-42v43zM427 215
h42v-43h-42v43zM512 215h85v-43h-85v43zM555 172h42v-171h-42v171zM512 44h128v-43h-128v43z" />
<glyph glyph-name="iocnnianyuekongjian" unicode="&#xe628;"
d="M811 727v-43h-128v43h-384v-43h-128v43h-128v-854h896v854h-128zM896 -84h-811v640h811v-640zM171 385h128v-42h-128v42zM256 343h43v-128h-43v128zM171 257h85v-42h-85v42zM171 215h42v-128h-42v128zM213 129h86v-42h-86v42zM341 343h43v-214h-43v214zM427 343h42v-214
h-42v214zM384 385h43v-42h-43v42zM384 129h43v-42h-43v42zM341 385h43v-42h-43v42zM341 129h43v-42h-43v42zM427 129h42v-42h-42v42zM427 385h42v-42h-42v42zM512 385h85v-42h-85v42zM555 343h42v-256h-42v256zM512 129h128v-42h-128v42zM683 385h42v-128h-42v128zM683 257
h128v-42h-128v42zM768 215h43v-128h-43v128zM683 129h85v-42h-85v42zM725 385h86v-42h-86v42z" />
<glyph glyph-name="iocnnianyuerikongjian" unicode="&#xe629;"
d="M811 727v-43h-128v43h-384v-43h-128v43h-128v-854h896v854h-128zM896 -84h-811v640h811v-640zM171 471h128v-43h-128v43zM256 428h43v-85h-43v85zM171 385h85v-42h-85v42zM171 343h42v-86h-42v86zM213 300h86v-43h-86v43zM341 428h43v-128h-43v128zM427 428h42v-128h-42
v128zM384 471h43v-43h-43v43zM384 300h43v-43h-43v43zM341 471h43v-43h-43v43zM341 300h43v-43h-43v43zM427 300h42v-43h-42v43zM427 471h42v-43h-42v43zM512 471h85v-43h-85v43zM555 428h42v-171h-42v171zM512 300h128v-43h-128v43zM683 471h42v-86h-42v86zM683 385h128
v-42h-128v42zM768 343h43v-86h-43v86zM683 300h85v-43h-85v43zM725 471h86v-43h-86v43zM384 172h213v-43h-213v43zM341 44h299v-43h-299v43z" />
<glyph glyph-name="iocnqipaotu" unicode="&#xe62a;"
d="M619 492zM341 492q0 115 81.5 196t196 81t196 -81t81.5 -196t-81.5 -196t-196 -81t-196 81t-81.5 196zM235 108zM43 108q0 79 56 135.5t135.5 56.5t136 -56.5t56.5 -135.5t-56.5 -135.5t-136 -56.5t-135.5 56.5t-56 135.5zM725 44zM597 44q0 53 37.5 90.5t90.5 37.5
t90.5 -37.5t37.5 -90.5t-37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5z" />
<glyph glyph-name="iocnqiehuo" unicode="&#xe62b;"
d="M0 684h43v-768h-43v768zM0 684h1024v-43h-1024v43zM981 641h43v-725h-43v725zM0 -41h1024v-43h-1024v43zM128 513h43v-469h-43v469zM128 513h299v-42h-299v42zM384 513h43v-469h-43v469zM171 385h213v-42h-213v42zM171 257h213v-42h-213v42zM85 87h384v-43h-384v43z
M512 471h427v-43h-427v43zM725 556h43v-341h-43v341zM768 215h43v-43h-43v43zM811 172h42v-43h-42v43zM853 129h43v-42h-43v42zM896 215h43v-171h-43v171zM853 385h43v-85h-43v85zM811 300h42v-85h-42v85zM725 172h43v-43h-43v43zM683 129h42v-42h-42v42zM640 87h43v-43h-43
v43zM512 129h85v-42h-85v42zM597 215h86v-43h-86v43zM512 385h43v-170h-43v170zM512 385h171v-42h-171v42zM640 385h43v-170h-43v170zM555 257h128v-42h-128v42zM811 556h42v-43h-42v43zM853 513h43v-42h-43v42z" />
<glyph glyph-name="iocnditu" unicode="&#xe62c;" horiz-adv-x="1025"
d="M894 432v0l6 5q5 0 7 1l1.5 1t4 3t3.5 3q9 7 10 8t8 -5q3 8 5 8l2.5 2t5 5t3.5 5q0 3 0.5 12.5t1 17t1.5 7.5l20 3q7 4 14 12l3 3q3 6 8.5 19t5.5 14q4 4 4 18q0 4 6 8l1.5 0.5l1.5 0.5q2 1 4 4.5t2.5 7l0.5 3.5q-23 -10 -26 -12q-17 -10 -26 -13q-16 -5 -19 5
q-2 3 -2.5 12t-1 11t-2.5 3.5t-4.5 3t-3.5 2.5l-3 2.5t-5 2.5q-24 3 -27 15q-1 4 -3 22.5t-5.5 34t-6.5 18.5q-12 8 -15 8q-7 0 -12 4l-4 3t-7.5 5t-7.5 2q-16 0 -25 -6l-8 -5q-12 -11 -10 -13q8 -5 8 -9q0 -2 -8 -12t-9 -12q-16 -32 -21 -36q-1 0 -3 -1.5t-5.5 -4
t-5.5 -4.5q-1 0 -4 1.5l-9 4.5t-12 5l-3 -6t-6.5 -14t-4.5 -10q-7 -17 0 -19q2 -1 5 1.5t6 1.5q3 0 10.5 -1.5t10.5 -0.5q1 0 3 2q8 4 10 0q19 -26 11 -32q-3 -2 -12.5 0.5t-21.5 -2.5q-22 -11 -30 -20q-6 -7 -22 -11q-2 0 -8 -3.5t-11 -5.5t-8 -1q-2 1 -5 4t-6 4t-7 0
q-4 -2 -6 -18t-5 -19q-4 -5 -17.5 -13t-18.5 -9q-2 0 -6.5 1t-6.5 0q-3 -2 -15 -4q-2 0 -10.5 -0.5t-13.5 -2.5q-2 -1 -9.5 -4.5t-11.5 -4.5t-8 0q-3 2 -12.5 5t-13.5 5q-32 18 -40 19q-4 1 -21 2t-22 2.5t-9.5 0.5t-9.5 1.5t-7 9.5t-2.5 16t-1 13.5t-2.5 4.5q-7 0 -14 7
q-16 17 -28 17q-21 0 -16 16q1 4 3.5 11t4 12t0.5 9q-1 6 -7 16t-10 12t-9.5 8.5t-6.5 9.5q0 2 -0.5 5t-1 4.5l-0.5 1.5q-11 0 -14 -4l-19 -15q-9 -11 -9.5 -14.5t-4 -11.5t-5.5 -8q-1 0 -9.5 4t-15 6t-10.5 -2q-2 -3 -7 -14t-9.5 -19.5t-6.5 -9.5l-9.5 1t-16.5 0t-9 -7
t0 -15t1 -12q-5 -22 -7 -22t-6.5 -4t-4.5 -6q0 -14 -8 -16q-4 0 -10.5 -2.5t-8 -3t-6 -1t-9 -1.5t-5.5 -2q-2 -2 -7 -2.5t-7 -3.5q-6 -14 -13 -15q-3 0 -5.5 3.5t-7.5 3.5q-4 0 -9.5 -3.5t-9.5 -6.5l-3 -4q-17 -16 -17 -19t4 -15q0 -1 4 -5t3 -6q0 -1 1.5 -9.5t-0.5 -10.5
q-9 -10 -6 -13q1 -1 3 -1t3 -0.5t2 -2.5q0 -17 4 -22q2 -2 15 -8t14 -8q10 -27 10 -28t-1 -5t-1 -10v-18q-1 -1 -2.5 -5.5t-3 -7.5t-3 -3t-4 1.5t-2.5 -0.5v-30l6 -4.5t11 -10t6 -9.5q1 -12 7 -11q1 0 4 1t4.5 1h5.5q10 -4 13 -11q5 -8 13 -10l19 -21q2 -2 4.5 -6t4 -5.5
t4.5 -4t7 -2.5q5 -1 16 0t13 0q8 -6 7 -8q-1 -3 -0.5 -7t2.5 -4q1 0 4 6l3 6l2 2t4 3t3 0q2 0 7 -3.5t8 -3.5q12 0 13 -2q1 0 4 -10.5t4 -11.5q2 -2 11.5 0t14.5 5q1 1 14.5 11t16.5 11q4 2 12 -1l4.5 -2l9 -4l4.5 -2q1 0 3.5 3t5.5 5.5t5 2.5q4 -1 8 -12t3 -21
q-4 -30 -19 -47q-2 -3 -4 -4.5t-3 -2t-2 -1.5t-1.5 -2.5l-1.5 -4.5q-3 -13 0 -13q1 0 8.5 0.5t13 0.5t6.5 -1l-3.5 -5.5t-1.5 -7.5q0 -1 1.5 -3t2 -4.5t0.5 -5.5q-4 -22 -3 -23h3.5h3.5t3 -2l1.5 -3.5t3 -5.5t2.5 -2l16 6q0 -2 -1 -4q-4 -5 -3 -6l10 -4l2 6q-2 13 4 15
l6 5.5t14 5.5q18 -1 24 2q4 2 8.5 5.5t8 6l3.5 2.5q1 0 5.5 -3t5.5 -3q16 0 17 -5q0 -4 -3 -8.5t-3 -5.5q1 -4 21 -18l4 -2l4 -1q1 0 1.5 0.5t1.5 0.5q4 3 7 1q4 -6 7 -6h5l4 -1q0 -1 -3.5 -4t-4.5 -5t0 -3q6 -4 6 -7v-4t0.5 -4.5t3.5 -0.5q3 0 4 2.5t1 4.5v2q-3 7 2 12
q10 11 24 13q5 0 8 -0.5t6 0.5t7 3t4.5 4t3.5 3q4 1 5 -2t4 -3t5 2t3 2q3 -1 5.5 0t2.5 4q0 12 6 11q3 0 8 -2t9 -2q5 2 12 6.5t7 6.5l-1.5 2t-1.5 3t2 4l2.5 2.5t2 0.5h3.5l8 3q5 -3 11 7q1 3 2.5 6t1.5 4.5t0.5 3t1 1.5h1.5q3 -2 6 -1.5t3 3.5q0 1 -1 4.5t-1 5.5t2 2
q1 1 3.5 -1t3.5 0v2v3t2 0q7 -2 7 -2.5t-1 7t0 8.5q8 14 4 17t-4.5 4.5t1.5 2.5q2 0 4.5 -2t3.5 0q1 0 3 2t3 4q0 2 4 5.5t4 7.5q0 7 2 12t5 3q1 0 3 -2q4 -4 7 2q2 3 -2 7t-2 6l5 6l-2 3l7 15l-6 4q-1 6 -5 6q-7 0 -7 8q0 2 2.5 1t4.5 -2t4 1q1 1 4 3.5t4.5 4.5t0.5 4
t-4.5 6.5t-6.5 8.5t-2 6t6.5 -1.5t7.5 -0.5q2 2 -5 10t-7 10q0 19 -6 29q-3 6 -11.5 11.5t-7.5 10.5q1 7 6.5 16t10.5 11q18 6 18 9l1 9q2 3 5 3l6 -1t9 -1t4 2l-2 8l8 8q-1 5 -11 4q-2 0 -6.5 1.5t-9.5 1.5q-5 1 -14.5 -5t-13.5 -6t-6 3t-3 5v3q2 10 -4 10q-14 2 -15 11
q0 4 0.5 7.5t1 6.5t1.5 3l12 -3l12 8q6 -9 12 -11q2 0 4 2.5t3 4.5l1 3q-1 0 -2.5 1t-4 3t-1.5 5q2 8 8 8q3 0 5 1.5t2 2.5l1 2q5 8 12 11q13 6 13 0l-1 -11l3 -6l-6 -5.5t-4 -8.5q5 -9 1 -11l-4 -1q-1 0 -2.5 -1t-4 -3.5t-0.5 -5.5q2 -2 5 0t6 6l3 4q10 11 19 13q2 0 8.5 2
t8 2t6.5 -2l3 10q10 8 14 11q1 1 2 1.5t2 0.5q1 1 4 2t4 2q1 0 4.5 5t7.5 9t5 4q4 -2 7 -6q4 -3 7 -3q3 1 4 4t1 5v3v0v0zM520 -91q-8 0 -8.5 -0.5t-1.5 -3t-2 -4t-1 -2.5q-5 -3 -6 -5q-2 -9 0 -12q1 0 2.5 -3t3.5 -4.5t4 -1.5q1 1 6 2.5t8 1.5t6 1t5 2.5t1.5 2.5t-2.5 3
t-1.5 3.5t3.5 4t3 3.5q3 3 6 5q2 1 2.5 3.5t-0.5 3.5q-1 4 -13 3q-2 -1 -5 -1.5l-6 -1t-4 -0.5v0v0zM753 30q0 1 -1 1.5t-4 1.5t-7 -1q-11 -3 -15 -17q-11 -28 -11 -29q3 -5 3 -8q-3 -12 0 -16q6 -8 8 -8q0 1 3.5 10t4.5 10q11 15 11 21v6v5t2 5q2 4 4 6.5t3 4t1 2.5l-2 6v0
v0z" />
<glyph glyph-name="icontabdown" unicode="&#xe62d;"
d="M512 139q-18 0 -30 13l-192 191q-12 13 -12 30.5t12.5 30t30 12.5t30.5 -13l161 -161l161 161q13 13 30.5 13t30 -12.5t12.5 -30t-12 -30.5l-192 -191q-12 -13 -30 -13z" />
<glyph glyph-name="icontableft" unicode="&#xe62e;"
d="M374 277.5q0 17.5 12 30.5l191 191q13 13 30.5 13t30 -12.5t12.5 -30.5t-12 -30l-161 -161l161 -162q12 -12 12 -29.5t-12.5 -30t-30 -12.5t-30.5 12l-191 191q-12 13 -12 30.5z" />
<glyph glyph-name="icontabright" unicode="&#xe62f;"
d="M650 277.5q0 -17.5 -12 -30.5l-191 -191q-13 -12 -30.5 -12t-30 12.5t-12.5 30t12 29.5l161 162l-161 161q-12 12 -12 30t12.5 30.5t30 12.5t29.5 -13l192 -191q12 -13 12 -30.5z" />
<glyph glyph-name="icontabup" unicode="&#xe630;"
d="M512 416q18 0 30 -13l192 -191q12 -12 12 -30t-12.5 -30.5t-30 -12.5t-30.5 13l-161 161l-161 -161q-13 -13 -30.5 -13t-30 12.5t-12.5 30.5t12 30l192 191q12 13 30 13z" />
<glyph glyph-name="iconcardedit" unicode="&#xe631;"
d="M940 719q-26 27 -53 44.5t-46 24.5t-34.5 10t-23.5 2l-8 -1l-706 -706l-66 -311l311 66l706 706q4 4 -1 33q-12 65 -79 132zM295 -115l-106 -23q-18 34 -45 61t-61 45l23 106l31 31q6 0 17.5 -2t44 -18.5t61.5 -45.5t45.5 -60t18.5 -47l2 -16z" />
<glyph glyph-name="iconcardshare" unicode="&#xe632;"
d="M449 245h126v315h189l-252 252l-252 -252h189v-315zM638 371v-97l289 -108l-415 -155l-415 155l289 108v97l-378 -142v-252l504 -189l504 189v252z" />
<glyph glyph-name="iconxiaoyuhao" unicode="&#xe633;"
d="M725 51v-50l-426 258v43l426 254v-53l-389 -223z" />
<glyph glyph-name="iconxiaoyudengyuhao" unicode="&#xe636;"
d="M725 241v-53l-426 158v52l426 158v-49l-372 -135zM725 87v-43l-426 154v49z" />
<glyph glyph-name="iconxiaoyuhaodaijiantou1" unicode="&#xe637;"
d="M469 167v-50l-426 258v43l426 254v-53l-389 -223zM982 75l-171 -171l-172 171h343z" />
<glyph glyph-name="iconxiaoyudengyudaijiantou1" unicode="&#xe638;"
d="M469 314v-52l-426 157v53l426 157v-49l-372 -134zM469 160v-43l-426 155v49zM983 75l-172 -171l-171 171h343z" />
<glyph glyph-name="bi40qietubianjixiangqing" unicode="&#xe634;"
d="M860 748q41 0 70.5 -29.5t29.5 -70.5q0 -33 -20 -60l-40 -40l-140 140l40 40q27 20 60 20zM360 288l-40 -180l180 40l370 370l-140 140zM767 521l-280 -280l-34 34l280 280zM832 172v-192h-640v640h192l128 128h-320q-53 0 -90.5 -37.5t-37.5 -90.5v-640
q0 -53 37.5 -90.5t90.5 -37.5h640q53 0 90.5 37.5t37.5 90.5v320z" />
<glyph glyph-name="bi40qietudaochuexcel" unicode="&#xe635;"
d="M974 176q21 -16 21 -39.5t-21 -40.5l-220 -176q-21 -16 -35.5 -9t-14.5 33v100h-257q-26 0 -44.5 18.5t-18.5 45.5q0 26 18.5 45t44.5 19h257v157q0 26 14.5 33t35.5 -10zM192 -20v640h384v-192h64h128h128v64l-256 256h-512q-18 0 -31 -7t-19 -16.5t-9.5 -19t-4.5 -16.5
v-7v-766q0 -28 16 -44t32 -18l16 -2h512v128h-448zM640 684l192 -192h-192v192z" />
<glyph glyph-name="bi40qietufuzhi" unicode="&#xe639;"
d="M64 620h64v-768h-64v768zM64 -84h704v-64h-704v64zM704 748h-448q-18 0 -31 -7t-19 -16.5t-9.5 -19t-4.5 -16.5v-7v-638q0 -28 16 -44t32 -18l16 -2h576q28 0 44 16t18 32l2 16v512zM768 108h-448v64h448v-64zM768 236h-448v64h448v-64zM768 364h-448v64h448v-64z
M704 556v128l128 -128h-128z" />
<glyph glyph-name="bi40qietujiangxu" unicode="&#xe63a;"
d="M64 44h384v-128h-384v128zM64 364h640v-128h-640v128zM64 684h896v-128h-896v128z" />
<glyph glyph-name="bi40qietuketuozhuai" unicode="&#xe63b;"
d="M64 620h896v-128h-896v128zM64 364h896v-128h-896v128zM64 108h896v-128h-896v128z" />
<glyph glyph-name="bi40qietuliandong" unicode="&#xe63c;"
d="M704 492h-297l110 -112l-197 -203l68 -69l202 202l114 -112v294zM896 748h-768q-26 0 -45 -19t-19 -45v-768q0 -26 19 -45t45 -19h768q26 0 45 19t19 45v768q0 26 -19 45t-45 19zM832 -20h-640v640h640v-640z" />
<glyph glyph-name="bi40qietuqingkong" unicode="&#xe63d;" horiz-adv-x="1029"
d="M1029 321l-390 390l-634 -634l161 -161h26h72h262h98h16v16zM200 -20l-98 97l293 293l292 -293l-97 -97h-390z" />
<glyph glyph-name="bi40qietushanchu" unicode="&#xe63e;"
d="M576 684v64h-192v-64h-256v-128h704v128h-256zM192 -20q0 -53 37.5 -90.5t90.5 -37.5h320q53 0 90.5 37.5t37.5 90.5v512h-576v-512zM576 428h64v-448h-64v448zM448 428h64v-448h-64v448zM320 428h64v-448h-64v448z" />
<glyph glyph-name="bi40qietushengxu" unicode="&#xe63f;"
d="M64 684h384v-128h-384v128zM64 364h640v-128h-640v128zM64 44h896v-128h-896v128z" />
<glyph glyph-name="bi40qietushijian" unicode="&#xe640;"
d="M480 684q-172 0 -294 -122t-122 -294t122 -294t294 -122t294 122t122 294t-122 294t-294 122zM480 -84q-146 0 -249 103t-103 249t103 249t249 103t249 -103t103 -249t-103 -249t-249 -103zM448 492h64v-256h-64v256zM448 300h384v-64h-384v64z" />
<glyph glyph-name="bi40qietushuzi" unicode="&#xe641;"
d="M128 556q-3 0 -7 -0.5t-15 -4t-19.5 -9.5t-15.5 -19t-7 -31v-64h64v-448h64v0v576v0h-64zM448 44h-64l192 256h-64l-192 -256q0 -3 0.5 -7t4 -15t9.5 -19.5t19 -15.5t31 -7h192v64h-128zM512 556h-128q-3 0 -7 -0.5t-15 -4t-19.5 -9.5t-15.5 -19t-7 -31v-128h64v128h64
h64v-192h64v192q0 3 -0.5 7t-4 15t-9.5 19.5t-19 15.5t-31 7zM832 556h-64q-3 0 -7 -0.5t-15 -4t-19.5 -9.5t-15.5 -19t-7 -31v-128h64v128h64h64v-192h-128v-64h128v-192h-64h-64v128h-64v-128q0 -28 16 -44t32 -18l16 -2h64h128v576h-128z" />
<glyph glyph-name="bi40qietuwenzi" unicode="&#xe642;"
d="M256 620h-128q-26 0 -45 -19t-19 -45v-512h64v256h128v-256h64v512q0 26 -19 45t-45 19zM256 364h-128v192h128v-192zM960 556v64h-192q-26 0 -45 -19t-19 -45v-448q0 -26 19 -45t45 -19h192v64h-192v448h192zM640 396v160q0 26 -19 45t-45 19h-192v-576h192q26 0 45 19
t19 45v160q0 64 -44 64q44 0 44 64zM576 108h-128v192h128v-192zM576 364h-128v192h128v-192z" />
<glyph glyph-name="bi40qietuzhongmingming" unicode="&#xe687;"
d="M512 684q159 0 271.5 -112.5t112.5 -271.5t-112.5 -271.5t-271.5 -112.5t-271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5zM512 748q-122 0 -225 -60t-163 -163t-60 -225t60 -225t163 -163t225 -60t225 60t163 163t60 225t-60 225t-163 163t-225 60v0zM384 556h256
v-64h-256v64zM384 108h256v-64h-256v64zM448 492h128v-384h-128v384z" />
<glyph glyph-name="iconriqikongjian" unicode="&#xe646;"
d="M64 556h832v-704h-832v704zM832 812v-64h-128v64h-448v-64h-128v64h-128v-1024h960v1024h-128zM128 236h128v-128h-128v128zM704 236h128v-128h-128v128zM512 236h128v-128h-128v128zM320 236h128v-128h-128v128zM512 44h128v-128h-128v128zM320 44h128v-128h-128v128z
M128 44h128v-128h-128v128zM704 428h128v-128h-128v128zM512 428h128v-128h-128v128zM320 428h128v-128h-128v128z" />
<glyph glyph-name="icontianjia" unicode="&#xe649;"
d="M960 364h-384v384h-128v-384h-384v-128h384v-384h128v384h384v128z" />
<glyph glyph-name="iconwenjianjia" unicode="&#xe64a;"
d="M0 492h1024l-64 -640h-896zM928 620l32 -64h-896l64 128h352l32 -64h416z" />
<glyph glyph-name="iconxuanzhong" unicode="&#xe64c;"
d="M896 556l-64 64l-448 -320l-192 128l-64 -64l256 -320z" />
<glyph glyph-name="iconjiacu" unicode="&#xe64d;"
d="M632 355q40 46 40 105q0 66 -47 113t-113 47h-256v-64h64v-512h-64v-64h320q80 0 136 56t56 136q0 64 -38 114.5t-98 68.5zM512 556q40 0 68 -28t28 -68t-28 -68t-68 -28h-64v192h64zM576 44h-128v256h128q53 0 90.5 -37.5t37.5 -90.5t-37.5 -90.5t-90.5 -37.5z" />
<glyph glyph-name="iconjingshi" unicode="&#xe64e;"
d="M948 -53l-383 762q-22 39 -53 39t-53 -39l-383 -762q-22 -39 -5.5 -67t61.5 -28h760q45 0 61.5 28t-5.5 67zM576 -20h-128v128h128v-128zM576 172h-128v256h128v-256z" />
<glyph glyph-name="iconjuzhongduiqi" unicode="&#xe64f;"
d="M384 620h320v-64h-320v64zM192 428h704v-64h-704v64zM384 236h320v-64h-320v64zM192 44h704v-64h-704v64z" />
<glyph glyph-name="iconxiahuaxian" unicode="&#xe650;"
d="M576 620v-384q0 -26 -28 -45t-68 -19t-68 19t-28 45v384h-128v-384q0 -62 65.5 -105.5t158.5 -43.5t158.5 43.5t65.5 105.5v384h-128zM192 44h576v-64h-576v64z" />
<glyph glyph-name="iconyouduiqi" unicode="&#xe651;"
d="M576 620h320v-64h-320v64zM192 428h704v-64h-704v64zM576 236h320v-64h-320v64zM192 44h704v-64h-704v64z" />
<glyph glyph-name="iconzitibeijing" unicode="&#xe652;"
d="M371 44l44 147l33 33v12v64v64h-64v64h-256v-64h192v-64h-128h-64v-64h-64v-128h64v-64h64h128h51zM192 236h128v-128h-128v128zM652 428h-12v192h-128v-332zM768 152v-44h-44l-64 -64h172v64h64v172zM887 381l-303 -302l-136 -35l45 125l303 303zM64 -20h896v-128h-896
v128z" />
<glyph glyph-name="iconzitiyanse" unicode="&#xe653;"
d="M867 44h-174l-45 128h-241l-46 -128h-169l241 640h193zM607 300l-80 233l-80 -233h160zM64 -20h896v-128h-896v128z" />
<glyph glyph-name="iconzuoduiqi" unicode="&#xe654;"
d="M192 620h320v-64h-320v64zM192 428h704v-64h-704v64zM192 236h320v-64h-320v64zM192 44h704v-64h-704v64z" />
<glyph glyph-name="iconurl" unicode="&#xe655;"
d="M384 748h154q114 0 169.5 -62.5t55.5 -190.5q0 -169 -110 -230l137 -413h-135l-118 384h-25v-384h-128v896zM512 364h21q63 0 82.5 28.5t19.5 99.5q0 72 -20.5 100t-87.5 28h-15v-256zM832 748h128v-768h64v-128h-192v896zM192 748v-768h-64v768h-128v-704q0 -84 42 -138
t118 -54t118 54t42 138v704h-128z" />
<glyph glyph-name="iconxieti" unicode="&#xe656;"
d="M384 620v-64h128l-128 -512h-128v-64h384v64h-128l128 512h128v64h-384z" />
<glyph glyph-name="iconwenzi" unicode="&#xe657;"
d="M832 -148h128l-398 896h-98l-400 -896h128q49 115 108 256h424zM354 236q152 361 158 384q10 -31 158 -384h-316z" />
<glyph glyph-name="iconanshijianpaixu" unicode="&#xe658;"
d="M512 748q-122 0 -225 -60t-163 -163t-60 -225t60 -225t163 -163t225 -60t225 60t163 163t60 225t-60 225t-163 163t-225 60zM512 -36q-139 0 -237.5 98.5t-98.5 237.5t98.5 237.5t237.5 98.5t237.5 -98.5t98.5 -237.5t-98.5 -237.5t-237.5 -98.5zM576 492h-128v-215
l188 -185l86 80l-146 151v169z" />
<glyph glyph-name="iconanzimupaixu" unicode="&#xe659;"
d="M64 172h320l-320 -192v-128h448v128h-320l320 192v128h-448v-128zM192 748h-64h-64v-384h128v64h192v-64h128v256v128h-128h-192zM384 556h-192v64h192v-64zM832 108v640h-128v-640h-128l192 -256l192 256h-128z" />
<glyph glyph-name="iconfenxianggei" unicode="&#xe65a;"
d="M768 236q-52 0 -96 -26.5t-70 -70.5l-166 96q12 34 12 65q0 25 -9 55l168 97q26 -41 68.5 -64.5t92.5 -23.5q80 0 136 56t56 136t-56 136t-136 56t-136 -56t-56 -136q0 -20 6 -45l-171 -98q-27 36 -67.5 57.5t-87.5 21.5q-80 0 -136 -56t-56 -136t56 -136t136 -56
q44 0 82.5 19t65.5 53l175 -101q-3 -20 -3 -35q0 -80 56 -136t136 -56t136 56t56 136t-56 136t-136 56zM768 652q40 0 68 -28t28 -68t-28 -68t-68 -28t-68 28t-28 68t28 68t68 28zM256 204q-40 0 -68 28t-28 68t28 68t68 28t68 -28t28 -68t-28 -68t-68 -28zM768 -52
q-40 0 -68 28t-28 68t28 68t68 28t68 -28t28 -68t-28 -68t-68 -28z" />
<glyph glyph-name="iconwenjian" unicode="&#xe65b;"
d="M640 748h-512q-18 0 -31 -7t-19 -16.5t-9.5 -19t-4.5 -16.5v-7v-766q0 -28 16 -44t32 -18l16 -2h704q28 0 44 16t18 32l2 16v576zM768 44h-576v64h576v-64zM768 172h-576v64h576v-64zM768 300h-576v64h576v-64zM640 492v192l192 -192h-192z" />
<glyph glyph-name="iconwenjianjia1" unicode="&#xe65c;"
d="M928 684h-416l-32 64h-352l-64 -128h896zM0 556l64 -640h896l64 640h-1024z" />
<glyph glyph-name="iconxinjianwenjianjia" unicode="&#xe65d;"
d="M640 620l-128 128h-448v-128v-768h896v768h-320zM832 -20h-640v512h640v-512zM448 44h128v128h128v128h-128v128h-128v-128h-128v-128h128v-128z" />
<glyph glyph-name="iconyidongdao" unicode="&#xe65e;"
d="M672 620l-128 128h-480v-128v-768h896v768h-288zM832 -20h-640v512h640v-512zM576 76l192 192l-192 192v-160h-320v-128h320v-96z" />
<glyph glyph-name="iconyulan" unicode="&#xe65f;"
d="M512 620q-165 0 -302 -87.5t-210 -232.5q73 -145 210 -232.5t302 -87.5t302 87.5t210 232.5q-73 145 -210 232.5t-302 87.5zM416 498q40 0 68 -28t28 -68t-28 -68t-68 -28t-68 28t-28 68t28 68t68 28zM764 150q-115 -74 -252 -74t-252 74q-92 58 -150 150q58 92 150 150
q5 4 11 8q-15 -43 -15 -88q0 -106 75 -181t181 -75t181 75t75 181q0 45 -15 88q8 -5 11 -8q92 -58 150 -150q-58 -92 -150 -150z" />
<glyph glyph-name="iconbianliang" unicode="&#xe660;"
d="M384 364h64v128h128v-128h64v128h192v64h-256v64h-128v-64h-256v-64h192v-128zM256 428h64v-64h-64v64zM192 364h64v-64h-64v64zM704 428h64v-64h-64v64zM768 364h64v-64h-64v64zM576 236v-64h128v64h64v64h-512v-64h64v-64h128v64h128zM576 108v64h-64h-64v-64h64h64z
M320 108h128v-64h-128v64zM576 108h128v-64h-128v64zM192 44h128v-64h-128v64zM704 44h128v-64h-128v64zM64 748v-896h896v896h-896zM896 -84h-768v768h768v-768z" />
<glyph glyph-name="icontuozhuaishangxia" unicode="&#xe661;"
d="M512 236h-64v-192h-192l224 -192l224 192h-192v192zM448 428h64v192h192l-224 192l-224 -192h192v-192zM192 364h576v-64h-576v64z" />
<glyph glyph-name="icontuozhuaiyouxie" unicode="&#xe662;"
d="M471 386l-226 226l136 136h-317v-317l136 136l226 -226zM366 190l256 256l45 -45l-256 -256zM823 35l-216 215l-45 -45l215 -216l-137 -137h320v320z" />
<glyph glyph-name="icontuozhuaizuoxie" unicode="&#xe663;"
d="M353 314l-216 -215l-137 137v-320h320l-137 137l215 216zM548 209l-256 256l46 45l256 -256zM579 812l136 -136l-226 -226l45 -45l226 226l136 -136v317h-317z" />
<glyph glyph-name="icontuozhuaizuoyou" unicode="&#xe664;"
d="M960 257l-192 224v-181h-192v-64h192v-203zM192 481l-192 -224l192 -224v203h192v64h-192v181zM448 556h64v-576h-64v576z" />
<glyph glyph-name="icontuozhuai" unicode="&#xe665;"
d="M960 332l-192 224v-192h-128h-64h-64v256h-64v-256h-256v192l-192 -224l192 -224v192h256v-64v0v-192h-192l224 -192l224 192h-192v192v0v64h64h64h128v-192zM480 812l-224 -192h448z" />
<glyph glyph-name="iconjiangxuwuguolv" unicode="&#xe666;"
d="M728 236h-152v404q0 15 -10 29.5t-23 14.5h-62q-13 0 -23 -14.5t-10 -29.5v-404h-152q-12 0 -17.5 -14t2.5 -23l216 -273q6 -7 15 -7.5t15 6.5l216 275q8 9 2.5 22.5t-17.5 13.5z" />
<glyph glyph-name="iconjiangxuyouguolv" unicode="&#xe667;"
d="M448 684l192 -320v-448l128 128v320l192 320h-512zM491 172h-107v404q0 15 -10 29.5t-23 14.5h-62q-13 0 -23 -14.5t-10 -29.5v-404h-107q-10 0 -14 -11t2 -19l171 -219q5 -5 12 -4.5t12 6.5l171 217q6 7 2 18.5t-14 11.5z" />
<glyph glyph-name="iconshengxuwuguolv" unicode="&#xe668;"
d="M281 395l216 270q6 7 15 7t15 -7l216 -270q8 -9 2.5 -20t-17.5 -11h-432q-12 0 -17.5 11t2.5 20zM543 -84h-62q-14 0 -23.5 9.5t-9.5 23.5v415h128v-415q0 -14 -9.5 -23.5t-23.5 -9.5z" />
<glyph glyph-name="iconshengxuyouguolv" unicode="&#xe669;"
d="M448 684l192 -320v-448l128 128v320l192 320h-512zM332 603q-5 5 -12 5t-12 -5l-171 -214q-6 -8 -2 -16.5t14 -8.5h107v-415q0 -14 9.5 -23.5t23.5 -9.5h62q14 0 23.5 9.5t9.5 23.5v415h107q10 0 14 8.5t-2 16.5z" />
<glyph glyph-name="iconwupaixuwuguolv" unicode="&#xe66a;"
d="M256 428l256 -320l256 320h-512z" />
<glyph glyph-name="iconwupaixuyouguolv" unicode="&#xe66b;"
d="M128 684l320 -384v-384l128 128v256l320 384h-768z" />
<glyph glyph-name="iconbupaixu" unicode="&#xe66c;"
d="M384 236v11l-128 128v-139h-152q-12 0 -17.5 -13.5t2.5 -22.5l216 -275q6 -7 15 -6.5t15 7.5l163 207l-103 103h-11zM935 395l-216 270q-6 7 -15 7t-15 -7l-161 -200l101 -101h11v-11l128 -128v139h152q12 0 17.5 11t-2.5 20zM263 639q-19 19 -45.5 19t-45 -18.5
t-18.5 -45t19 -45.5l588 -588q19 -19 45.5 -19t45 18.5t18.5 45t-19 45.5z" />
<glyph glyph-name="iconzidingyipaixu" unicode="&#xe66f;"
d="M935 395l-216 270q-6 7 -15 7t-15 -7l-216 -270q-8 -9 -2.5 -20t17.5 -11h432q12 0 17.5 11t-2.5 20zM673 -84h62q14 0 23.5 9.5t9.5 23.5v415h-128v-415q0 -14 9.5 -23.5t23.5 -9.5zM551 199l-216 -273q-6 -7 -15 -7.5t-15 6.5l-216 275q-8 9 -2.5 22.5t17.5 13.5h432
q12 0 17.5 -14t-2.5 -23zM300 684h51q14 0 23.5 -9.5t9.5 -23.5v-415h-128v404q0 18 13 31t31 13z" />
<glyph glyph-name="iconyewubao" unicode="&#xe644;"
d="M928 684h-416l-32 64h-352l-64 -128h896zM0 556l64 -640h896l64 640h-1024z" />
<glyph glyph-name="iconmobanshaixuandianjishouqi" unicode="&#xe645;"
d="M480 492l-256 -256l64 -64l192 213l192 -213l64 64zM480 812q-98 0 -186.5 -38t-153 -102.5t-102.5 -153t-38 -186.5t38 -186.5t102.5 -153t153 -102.5t186.5 -38t186.5 38t153 102.5t102.5 153t38 186.5t-38 186.5t-102.5 153t-153 102.5t-186.5 38zM480 -88
q-114 0 -210.5 56.5t-153 153t-56.5 210.5t56.5 210.5t153 153t210.5 56.5t210.5 -56.5t153 -153t56.5 -210.5t-56.5 -210.5t-153 -153t-210.5 -56.5z" />
<glyph glyph-name="iconmobanshaixuandianjizhankai" unicode="&#xe648;"
d="M480 172l-256 256l64 64l192 -213l192 213l64 -64zM960 332q0 98 -38 186.5t-102.5 153t-153 102.5t-186.5 38t-186.5 -38t-153 -102.5t-102.5 -153t-38 -186.5t38 -186.5t102.5 -153t153 -102.5t186.5 -38t186.5 38t153 102.5t102.5 153t38 186.5zM900 332
q0 -114 -56.5 -210.5t-153 -153t-210.5 -56.5t-210.5 56.5t-153 153t-56.5 210.5t56.5 210.5t153 153t210.5 56.5t210.5 -56.5t153 -153t56.5 -210.5z" />
<glyph glyph-name="iconquxiaoguachushenqing" unicode="&#xe64b;"
d="M819 748h-614q-13 0 -13 -7v-876q0 -7 5 -7q2 0 5 2l310 185l310 -185q3 -2 5 -2q5 0 5 7v876q0 7 -13 7v0z" />
<glyph glyph-name="iconshenqingguachu" unicode="&#xe66d;"
d="M819 748h-614q-13 0 -13 -7v-876q0 -7 5 -7q2 0 5 2l310 185l310 -185q3 -2 5 -2q5 0 5 7v876q0 7 -13 7zM768 -33l-223 133l-33 20l-33 -20l-223 -133v717h512v-717zM435 364q5 0 9 -4t4 -9v-166q0 -5 4 -9t9 -4h102q5 0 9 4t4 9v166q0 5 4 9t9 4h102q5 0 6.5 3t-1.5 7
l-181 236q-8 10 -15 0l-172 -236q-4 -4 -2 -7t7 -3h102z" />
<glyph glyph-name="iconxiangqing" unicode="&#xe66e;"
d="M512 684q159 0 271.5 -112.5t112.5 -271.5t-112.5 -271.5t-271.5 -112.5t-271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5zM512 748q-122 0 -225 -60t-163 -163t-60 -225t60 -225t163 -163t225 -60t225 60t163 163t60 225t-60 225t-163 163t-225 60v0zM448 364h128
v-320h-128v320zM448 556h128v-128h-128v128z" />
<glyph glyph-name="iconzhongmingming" unicode="&#xe670;"
d="M722 748q46 0 78 -32t32 -78q0 -37 -22 -66l-44 -44l-154 154l44 44q29 22 66 22zM172 242l-44 -198l198 44l407 407l-154 154zM620 498l-308 -308l-38 38l308 308zM64 -20h896v-128h-896v128z" />
<glyph glyph-name="iconbaiduditu" unicode="&#xe643;"
d="M606 118q47 10 39 77q-2 17 -18 34t-36 15q-17 -1 -27.5 -15.5t-13.5 -28.5l-2 -13q-5 -24 11 -50t47 -19zM656 21q-5 -13 -2 -22q5 -19 22 -20h24v59h-26q-14 -4 -18 -17zM692.5 211q19.5 0 33 19t13.5 46.5t-13.5 47t-33 19.5t-33 -19.5t-13.5 -47t13.5 -46.5t33 -19z
M803 206q23 -3 40 16.5t20 43.5q4 21 -9.5 41t-31.5 25q-18 4 -37 -17.5t-21 -41.5q-6 -61 39 -67zM887 44q-53 41 -84 85q-20 30 -45.5 37t-45.5 -3t-31 -29q-8 -14 -21 -27.5t-23 -22t-11 -9.5q0 -1 -8 -7t-15.5 -13t-16 -19t-11 -25.5t-0.5 -32.5q6 -26 21 -40t27 -16.5
t12 -0.5q34 -4 74 5q20 4 36.5 3.5t27.5 -2.5l10 -3q4 -1 10 -3t23.5 -4t32 -0.5t30 10.5t22.5 26q23 54 -12 88zM728 -45h-60q-12 2 -21 8t-12.5 10.5t-4.5 7.5q-8 19 -5 41q5 16 16 26t19 12l9 1h32v40l27 -1v-145zM840 -45h-69q-12 3 -19 10t-8 10.5t-1 5.5v77h28v-69
q2 -7 11 -8v0h28v77h30v-103zM938 160q0 16 -12.5 34.5t-38.5 18.5q-47 0 -47 -64q0 -13 1.5 -21t6 -18.5t16 -15.5t29.5 -5q8 0 15 2t11.5 6t8 8t5.5 10t3.5 10t1.5 11t0.5 10t0 8.5zM465 74q6 -14 19 -22t28 -8t28 8t20 22l3 7q-20 8 -34 25q-15 19 -21 43t-2 44
q3 32 23 61t58 33h7q5 0 10 -1q3 43 28 71t60 28q4 0 14 -1l6 12q13 29 13 75q0 88 -62.5 150.5t-150.5 62.5t-150.5 -62.5t-62.5 -150.5q0 -46 13 -75zM436.5 546q31.5 31 75.5 31t75.5 -31t31.5 -75t-31.5 -75.5t-75.5 -31.5t-75.5 31.5t-31.5 75.5t31.5 75zM559 -84h-474
l171 256h115l20 -43h-112l-114 -170h372q8 -26 22 -43z" />
<glyph glyph-name="iconbiaogeleixinghengxiangzhankai" unicode="&#xe671;"
d="M43 684v-768h938v768h-938zM939 -41h-854v682h854v-682zM341 1h-213v598h213v-598zM597 215h-213v384h213v-384zM597 1h-213v171h213v-171zM896 428h-256v171h256v-171zM896 215h-256v170h256v-170zM896 1h-256v171h256v-171z" />
<glyph glyph-name="iconbiaogeleixingzongxiangzhankai" unicode="&#xe672;"
d="M43 684v-768h938v768h-938zM939 -41h-854v682h854v-682zM128 599v-171h768v171h-768zM277 471l-64 85h128zM128 385v-170h768v170h-768zM491 257l-64 86h128zM128 172v-171h768v171h-768zM704 44l-64 85h128z" />
<glyph glyph-name="icongugeditu" unicode="&#xe673;"
d="M692 267q0 -60 40 -86q24 -16 59 -16q4 0 7 1q-4 -27 16 -54h-1q-14 0 -28.5 -1t-37 -7t-39.5 -16t-29 -29.5t-12 -45.5t11 -46t26 -29.5t34.5 -15t30.5 -6.5t21 -1h3v0h4q44 0 79 17q63 30 63 103q0 22 -10.5 42t-19.5 29.5t-26 24.5q-26 23 -26 33.5t20 28.5
q36 32 36 84q0 33 -7 51.5t-29 30.5q2 1 20 3q42 6 42 19v3h-123q-3 0 -13.5 -1.5t-30.5 -8t-37 -17.5t-30 -35t-13 -55zM890 26q2 -28 -20 -47t-58 -21q-37 -3 -63.5 12.5t-27.5 43.5q-2 28 22 49q24 22 61 25h8q33 0 54.5 -17.5t23.5 -44.5zM858 292q9 -31 -2 -59.5
t-33 -34.5q-5 -2 -10 -2q-20 0 -38 18t-25 46q-8 31 1 56q10 27 31 33q5 2 11 2q25 0 40.5 -13t24.5 -46zM465 74q6 -14 19 -22t28 -8t28 8t20 22l81 173q-1 12 -1 20q0 91 74 137q11 29 11 67q0 88 -62.5 150.5t-150.5 62.5t-150.5 -62.5t-62.5 -150.5q0 -46 13 -75z
M436.5 546q31.5 31 75.5 31t75.5 -31t31.5 -75t-31.5 -75.5t-75.5 -31.5t-75.5 31.5t-31.5 75.5t31.5 75zM633 129l20 43h15q13 -18 31 -31q-10 -5 -21 -12h-45zM652 -84h-567l171 256h115l20 -43h-112l-114 -170h460q10 -25 27 -43z" />
<glyph glyph-name="iconloudoutu" unicode="&#xe674;"
d="M853 343h-682l-86 256h854zM768 129h-512l-85 171h682zM768 87h-512l85 -128h342z" />
<glyph glyph-name="iconxuansejiantoubai" unicode="&#xe675;" horiz-adv-x="1280"
d="M128 684l512 -768l512 768h-1024z" />
<glyph glyph-name="iconxuansejiantouhei" unicode="&#xe676;"
d="M884 719l-744 -419l744 -419v838z" />
<glyph glyph-name="icongisditu" unicode="&#xe677;"
d="M725 513q0 -45 -13 -74l-152 -323q-7 -13 -20 -21t-28 -8t-28 7.5t-19 21.5l-153 323q-13 29 -13 74q0 89 62.5 151.5t150.5 62.5t150.5 -62.5t62.5 -151.5zM587.5 438q31.5 31 31.5 75t-31.5 75.5t-75.5 31.5t-75.5 -31.5t-31.5 -75.5t31.5 -75t75.5 -31t75.5 31z
M768 215h-115l-20 -43h112l114 -171h-694l114 171h112l-20 43h-115l-171 -256h854z" />
<glyph glyph-name="iconshezhi" unicode="&#xe678;"
d="M504 494q-81 0 -138.5 -57.5t-57.5 -139t57.5 -139t138.5 -57.5t138.5 57.5t57.5 139t-57.5 139t-138.5 57.5v0v0v0zM504 154q-60 0 -102 42t-42 101.5t42 101.5t101.5 42t102 -42t42.5 -101.5t-42.5 -101.5t-101.5 -42v0v0v0zM936 390q-22 2 -51 13.5t-39 32.5
q-15 34 29 96l12 17l-122 129l-19 -14q-20 -15 -51 -27.5t-52 -2.5q-30 14 -33 89l-1 25h-97h-97l-1 -25q-3 -75 -33 -89q-21 -10 -52 2.5t-51 27.5l-19 14l-123 -129l13 -17q44 -62 28 -96q-9 -21 -37.5 -32.5t-51.5 -13.5l-24 -2v-79v0v-96l24 -2q23 -3 51.5 -14t38.5 -32
q15 -34 -29 -96l-12 -18l122 -129l19 14q20 15 51 27.5t52 3.5q30 -15 33 -89l1 -26h97h97l1 26q3 74 33 89q21 9 52 -3.5t51 -27.5l19 -14l122 129l-12 18q-44 62 -29 96q10 21 39 32.5t51 13.5l24 2v95v0v80l-24 2v0v0v0zM908 309v0v-50q-84 -18 -109 -73t21 -130l-62 -65
q-81 49 -137 23q-52 -25 -61 -109h-48h-48q-9 84 -61 109q-56 26 -137 -23l-62 65q46 75 21 130t-109 73v49v0v33q84 18 109 73t-21 130l62 65q81 -49 137 -22q52 24 61 109h48h48q9 -85 61 -109q56 -27 137 22l62 -65q-46 -75 -21 -130t109 -73v-32v0v0v0v0zM908 309z" />
<glyph glyph-name="iconziduanguanlianshezhi" unicode="&#xe647;"
d="M914 506l-455 -451q-57 -55 -137 -55t-137 55.5t-57 135t57 135.5l410 405q38 37 91.5 37t91.5 -37t38 -90t-38 -90l-411 -405q-18 -19 -45 -19t-46 18.5t-19 45t19 45.5l365 360l-46 45l-364 -360q-38 -38 -38 -90.5t37.5 -90t91 -37.5t91.5 37l410 406q57 56 57 135
t-56.5 135t-137 56t-136.5 -56l-433 -428l1 -1q-59 -75 -53.5 -171.5t75 -165t167 -74t173.5 53.5l1 -2l479 473l-46 45v0v0zM914 506z" />
<glyph glyph-name="suoding" unicode="&#xe679;"
d="M805 457v293q0 30 -21.5 51.5t-52.5 21.5h-438q-31 0 -52.5 -21.5t-21.5 -51.5v-293h-73v-512h732v512h-73zM366 457v220h292v-220h-292z" />
<glyph glyph-name="guolv" unicode="&#xe67a;"
d="M128 768l320 -384v-384l128 128v256l320 384h-768z" />
<glyph glyph-name="iconbiaoge" unicode="&#xe67b;"
d="M896 832h-768q-26 0 -45 -19t-19 -45v-768q0 -26 19 -45t45 -19h768q26 0 45 19t19 45v768q0 26 -19 45t-45 19zM384 384v128h256v-128h-256zM640 320v-128h-256v128h256zM128 512h192v-128h-192v128zM128 320h192v-128h-192v128zM128 0v128h192v-128h-192zM384 0v128
h256v-128h-256zM896 0h-192v128h192v-128zM896 192h-192v128h192v-128zM896 384h-192v128h192v-128z" />
<glyph glyph-name="iconloudoutu1" unicode="&#xe67c;"
d="M85 768l43 -213h768l43 213h-854zM213 256h598l85 256h-768zM341 0h342l128 213h-598z" />
<glyph glyph-name="iconyaochi" unicode="&#xe67d;"
d="M672 832q-119 0 -203.5 -84.5t-84.5 -203.5q0 -42 15 -89l-335 -391v-72q0 -23 16.5 -39.5t39.5 -16.5h72v64h128v128h128v128h64l31 31q63 -31 129 -31q119 0 203.5 84.5t84.5 203.5t-84.5 203.5t-203.5 84.5zM672 384q-66 0 -113 47t-47 113t47 113t113 47t113 -47
t47 -113t-47 -113t-113 -47v0z" />
<glyph glyph-name="icongis" unicode="&#xe67e;"
d="M341 555h43v-43h-43v43zM128 256h43v-43h128h42h43v128v43h-128v-43h43v-85h-86v43h-42v213h42v43h128v42h-170v-42h-43v-43h-43v-213h43v-43zM597 256h-42v299h42v42h-170v-42h42v-299h-42v-43h170v43zM853 555h43v-43h-43v43zM853 213v43h43v85v43h-43v43h-85v42h-43
v86h128v42h-170v-42h-43v-128h43v-43h85v-43h43v-85h-128v-43h170zM640 299h43v-43h-43v43zM0 768v-725h981v725h-981zM939 85h-896v640h896v-640z" />
<glyph glyph-name="iconlingcunwei" unicode="&#xe67f;"
d="M448 320h128v-128h-128v128zM640 320h128v-128h-128v128zM832 320h128v-128h-128v128zM832 832h-768v-896h896v128h-768v640h64v-256h448v256h128v-256h128v256zM640 512h-128v192h128v-192z" />
<glyph glyph-name="iconetl" unicode="&#xe680;"
d="M480 306h-283q0 -35 10.5 -61.5t29.5 -43.5q18 -16 42.5 -24.5t54.5 -8.5q39 0 78.5 16t56.5 31h3v-71q-32 -13 -66 -23q-34 -9 -72 -9q-95 0 -149 52t-54 147q0 94 51.5 149.5t135.5 55.5q78 0 120 -45.5t42 -129.5v-35zM417 356q0 51 -25.5 78.5t-76.5 27.5
q-52 0 -83 -30.5t-35 -75.5h220zM763 124q-18 -4 -39 -7q-21 -4 -39 -4q-59 0 -89.5 32t-30.5 101v205h-43v54h43v110h65v-110h133v-54h-133v-175q0 -31 1.5 -48t9.5 -31q7 -14 20.5 -20.5t40.5 -6.5q16 0 33 5q18 5 25 8h3v-59zM893 121h-65v535h65v-535z" />
<glyph glyph-name="iconsql" unicode="&#xe681;"
d="M392 298q0 -53 -43.5 -86.5t-118.5 -33.5q-43 0 -78 10q-36 10 -60 22v73h3q31 -23 68.5 -36.5t71.5 -13.5q43 0 67 13.5t24 43.5q0 23 -13 34.5t-50 19.5q-15 3 -36 7q-23 5 -41 9q-50 14 -71 40t-21 63q0 24 9 45q10 21 30 38q19 16 49 25.5t67 9.5q34 0 69 -9
q35 -8 59 -20v-69h-3q-25 18 -60.5 30.5t-69.5 12.5q-35 0 -59.5 -13.5t-24.5 -40.5q0 -24 14 -36q15 -12 47 -19q18 -5 40 -9q21 -4 37 -7q45 -10 70 -36q24 -25 24 -67zM768 46h-65v185q-30 -26 -59 -39q-30 -12 -64 -12q-69 0 -109.5 52.5t-40.5 145.5q0 50 14 87.5
t38 63.5q23 26 53.5 39.5t64.5 13.5q30 0 54 -7t49 -20l4 16h61v-525v0zM703 285v217q-27 12 -47 17q-21 5 -45 5q-56 0 -85 -38t-29 -105t23.5 -103.5t73.5 -36.5q28 0 56.5 12.5t52.5 31.5zM932 187h-65v535h65v-535z" />
<glyph glyph-name="iconxls" unicode="&#xe682;"
d="M452 121h-82l-108 148l-110 -148h-75l149 192l-148 192h81l109 -145l108 145h76l-151 -189zM573 121h-64v535h64v-535zM947 232q0 -53 -43.5 -86.5t-118.5 -33.5q-42 0 -78 10q-35 10 -60 22v73h4q30 -23 67.5 -36.5t72.5 -13.5q42 0 66 13.5t24 43.5q0 22 -13 34t-50 20
q-14 3 -36 7q-23 5 -40 9q-51 14 -72 40t-21 63q0 24 10 45t30 37q19 17 48.5 26t66.5 9q34 0 70 -8q35 -8 58 -20v-69h-3q-25 18 -60.5 30.5t-69.5 12.5q-35 0 -59.5 -13.5t-24.5 -40.5q0 -24 15 -36q14 -12 47 -20q18 -4 40 -8q20 -4 37 -7q44 -11 69 -36q24 -25 24 -67z
" />
<glyph glyph-name="iconshuaxin" unicode="&#xe683;"
d="M829 701q-62 62 -144 96.5t-173 34.5q-122 0 -225 -60t-163 -163t-60 -225h112q0 139 98.5 237.5t237.5 98.5q68 0 129.5 -26t108.5 -72l-126 -126h336v336zM512 48q-68 0 -129.5 26t-108.5 72l126 126h-336v-336l131 131q62 -62 144 -96.5t173 -34.5q122 0 225 60
t163 163t60 225h-112q0 -139 -98.5 -237.5t-237.5 -98.5z" />
<glyph glyph-name="iconguanlianshitu" unicode="&#xe684;"
d="M640 832v-251l-256 -256v251h-320v-640h320v299l256 256v-299h320v640h-320zM320 0h-192v512h192v-512zM896 256h-192v512h192v-512z" />
<glyph glyph-name="iconpingpushitu" unicode="&#xe685;"
d="M128 768h192v-192h-192v192zM448 768h192v-192h-192v192zM768 768h192v-192h-192v192zM128 448h192v-192h-192v192zM448 448h192v-192h-192v192zM768 448h192v-192h-192v192zM128 128h192v-192h-192v192zM448 128h192v-192h-192v192zM768 128h192v-192h-192v192z" />
<glyph glyph-name="icon26ceshilianjie" unicode="&#xe686;"
d="M384 144h-256q-20 0 -34 14t-14 34v384q0 20 14 34t34 14h256q20 0 34 -14t14 -34t-14 -34t-34 -14h-208v-288h208q20 0 34 -14t14 -34t-14 -34t-34 -14zM896 144h-256q-20 0 -34 14t-14 34t14 34t34 14h208v288h-208q-20 0 -34 14t-14 34t14 34t34 14h256q20 0 34 -14
t14 -34v-384q0 -20 -14 -34t-34 -14zM704 336h-384q-20 0 -34 14t-14 34t14 34t34 14h384q20 0 34 -14t14 -34t-14 -34t-34 -14z" />
<glyph glyph-name="iconchaolianjie" unicode="&#xe688;"
d="M616 492q-10 10 -22 18l-69 -69q13 -8 23 -18l3 -4q34 -33 34 -80.5t-34 -81.5l-191 -191q-33 -33 -80.5 -33t-81.5 33l-4 4q-33 33 -33 81t33 81l87 86q-23 56 -22 116l-133 -133q-62 -62 -62 -150t62 -150l3 -3q62 -62 150 -62t150 62l191 191q61 61 61 149t-61 150z
M898 767l-3 3q-62 62 -150 62t-150 -62l-191 -191q-61 -61 -61 -149t61 -150l4 -4q9 -9 22 -19l69 70q-13 8 -23 18l-3 3q-34 34 -34 81.5t34 81.5l191 191q33 33 80.5 33t81.5 -33l4 -4q33 -34 33 -81.5t-33 -80.5l-87 -87q23 -55 22 -115l133 133q62 62 62 150t-62 150z
" />
<glyph glyph-name="iconguanbi" unicode="&#xe689;"
d="M580 384l363 363q14 14 14 34t-14 34t-34 14t-34 -14l-363 -363l-363 363q-14 14 -34 14t-34 -14t-14 -34t14 -34l363 -363l-363 -363q-14 -14 -14 -34t14 -34t34 -14t34 14l363 363l363 -363q14 -14 34 -14t34 14t14 34t-14 34z" />
<glyph glyph-name="iconshangchuan" unicode="&#xe68a;"
d="M768 640q-2 0 -4.5 -0.5t-4.5 -0.5q-21 84 -89.5 138.5t-157.5 54.5t-157.5 -54.5t-89.5 -138.5q-2 0 -4.5 0.5t-4.5 0.5q-106 0 -181 -75t-75 -181t75 -181t181 -75h128v-128v-64h64h192v64v128h128q106 0 181 75t75 181t-75 181t-181 75zM576 320v-192v-128h-128v128
v192h-192l256 256l256 -256h-192z" />
<glyph glyph-name="icontupianchicun" unicode="&#xe68b;"
d="M896 128v512v128h-128h-512v128h-128v-128h-128v-128h128v-512v-128h128h512v-128h128v128h128v128h-128zM768 128h-512v512h512v-512zM320 576h384v-384h-384v384z" />
<glyph glyph-name="iconchaolianjiekongjian" unicode="&#xe68c;"
d="M43 768v-768h938v768h-938zM490.5 725q26.5 0 45.5 -18.5t19 -45t-19 -45.5t-45.5 -19t-45 19t-18.5 45.5t18.5 45t45 18.5zM320 725q26 0 45 -18.5t19 -45t-19 -45.5t-45 -19t-45 19t-19 45.5t19 45t45 18.5zM149.5 725q26.5 0 45 -18.5t18.5 -45t-18.5 -45.5t-45 -19
t-45.5 19t-19 45.5t19 45t45.5 18.5zM939 43h-854v512h854v-512zM213 469h598v-85h-598v85zM213 341h598v-85h-598v85zM213 213h598v-85h-598v85z" />
<glyph glyph-name="icontupiankongjian" unicode="&#xe68d;"
d="M43 768v-768h938v768h-938zM939 43h-854v682h854v-682zM768 555zM683 554.5q0 35.5 25 60.5t60 25t60 -25t25 -60.5t-25 -60.5t-60 -25t-60 25t-25 60.5zM683 341l-128 -128l-256 342l-171 -470h768z" />
<glyph glyph-name="iconfuzhidaofenzu" unicode="&#xe68e;"
d="M576 320l192 160l-192 160v-128h-384v-64h384v-128zM64 704h64v-640h-64v640zM64 64h768v-64h-768v64zM192 832v-256h64v192h640v-576h-640v192h-64v-256h768v704h-768z" />
<glyph glyph-name="icontianjiafenzu" unicode="&#xe68f;"
d="M448 768h64v-704h-64v704zM128 448h704v-64h-704v64z" />
<glyph glyph-name="iconyichufenzu" unicode="&#xe690;"
d="M768 256l192 160l-192 160v-128h-512v-64h512v-128zM704 640v192h-640v-832h640v192h-64v-128h-512v704h512v-128h64z" />
<glyph glyph-name="iconyidaofenzu" unicode="&#xe691;"
d="M576 256l192 160l-192 160v-128h-512v-64h512v-128zM320 640v192h640v-832h-640v192h64v-128h512v704h-512v-128h-64z" />
<glyph glyph-name="iconfenlei" unicode="&#xe694;"
d="M320 768h640v-128h-640v128zM320 448h640v-128h-640v128zM320 128h640v-128h-640v128zM64 768h128v-128h-128v128zM64 448h128v-128h-128v128zM64 128h128v-128h-128v128z" />
<glyph glyph-name="iconxilie" unicode="&#xe695;"
d="M448 64v256h192v128h-192v256h192v128h-192q-26 0 -47 -7t-34 -18.5t-23 -25t-14 -27t-6.5 -25t-3.5 -18.5v-7v-256h-128v-128h128v-256h-128v-128h640v128h-384z" />
<glyph glyph-name="bi40qietuzitibeijing" unicode="&#xe69b;"
d="M371 128l44 147l33 33v12v64v64h-64v64h-256v-64h192v-64h-128h-64v-64h-64v-128h64v-64h64h128h51zM192 320h128v-128h-128v128zM652 512h-12v192h-128v-332zM768 236v-44h-44l-64 -64h172v64h64v172zM887 465l-303 -302l-136 -35l45 125l303 303z" />
<glyph glyph-name="bi40qietuzitiyanse" unicode="&#xe69c;"
d="M867 128h-174l-45 128h-241l-46 -128h-169l241 640h193zM607 384l-80 233l-80 -233h160z" />
<glyph glyph-name="iconzitibeijingbg" unicode="&#xe69d;"
d="M64 448h896v-128h-896v128z" />
<glyph glyph-name="iconshuoming25" unicode="&#xe69e;"
d="M512 896q-139 0 -257 -68.5t-186.5 -186.5t-68.5 -257t68.5 -257t186.5 -186.5t257 -68.5t257 68.5t186.5 186.5t68.5 257t-68.5 257t-186.5 186.5t-257 68.5zM576 64h-128v128h128v-128zM702 426q-17 -23 -63 -59l-30 -24q-27 -21 -33 -41q-2 -4 -3 -16t-2 -21l-1 -9
h-116q2 66 14 96q10 24 57 61l31 24q16 12 25 24q17 24 17 52q0 32 -19 59t-69 27q-28 0 -44.5 -5t-26.5 -21q-3 -4 -5.5 -10t-4.5 -11.5t-3.5 -11.5t-3 -11t-2.5 -9t-1 -6v-2h-124q2 51 24.5 96t60.5 70q45 29 124 29q95 0 161 -48q64 -47 64 -138q0 -57 -27 -95z" />
<glyph glyph-name="icontubiaobiaojidenghao" unicode="&#xe69f;"
d="M128 640h768v-128h-768v128zM128 256h768v-128h-768v128z" />
<glyph glyph-name="icontubiaobiaojishangjiantou" unicode="&#xe6a0;"
d="M0 134q46 -26 94 -42.5t99 -23t97.5 0t88 32.5t71 69t46 114t14.5 164h-254l384 384l384 -384h-248q2 -98 -17.5 -178.5t-55.5 -136t-86.5 -94t-109.5 -55t-124.5 -15.5t-131 20t-130.5 56t-121 89z" />
<glyph glyph-name="icontubiaobiaojixiajiantou" unicode="&#xe6a1;"
d="M1024 634q-46 25 -94 42t-99 23.5t-97.5 -0.5t-88 -32.5t-71 -68.5t-46 -114t-14.5 -164h254l-384 -384l-384 384h248q-2 98 17.5 178.5t55.5 136t86.5 94t109.5 55t124.5 15.5t131 -20t130.5 -56t121 -89z" />
<glyph glyph-name="icontubiaobiaojiyuan" unicode="&#xe6a2;"
d="M512 384zM64 384q0 185 131.5 316.5t316.5 131.5t316.5 -131.5t131.5 -316.5t-131.5 -316.5t-316.5 -131.5t-316.5 131.5t-131.5 316.5z" />
<glyph glyph-name="xiala-copy" unicode="&#xe607;"
d="M366 634l322 -219q17 -12 17 -32.5t-17 -31.5l-322 -219q-16 -10 -31.5 0.5t-15.5 31.5v438q0 21 15.5 31.5t31.5 0.5z" />
<glyph glyph-name="iconjisuanzhibiao" unicode="&#xe6a3;"
d="M960 541v4v5t-0.5 4.5t-1.5 3.5t-2 1h-90q-8 0 -18 -12l-93 -107q-7 -9 -12 1l-51 105q-7 13 -16 13h-146q-4 0 -11 -6.5t-7 -11.5v7q0 4 -3.5 7.5t-7.5 3.5h-92l23 94q3 12 17 27.5t28 25.5q23 16 54 21.5t49.5 4t55.5 -8.5t44 -8v91q-1 0 -23.5 5t-30 6.5t-32 5
t-38 2.5t-37.5 -3t-42 -8.5t-40 -17.5t-42 -27q-52 -42 -68 -114l-25 -96h-171q-4 0 -7.5 -3.5t-3.5 -7.5v-90q0 -4 3.5 -7.5t7.5 -3.5h142l-88 -343q-5 -18 -12.5 -30t-15 -15.5t-14.5 -4.5t-12 0l-4 1h-63v-112h63q27 0 44 1.5t37.5 7.5t32.5 18q32 30 54 131l86 346h120
q4 0 7.5 3.5t3.5 7.5v-7q0 -4 18 -4h90q9 0 16 -13l36 -74q5 -10 -3 -19l-101 -113q-4 -5 -18 -5h-76q-4 0 -11 -6.5t-7 -11.5v-90q0 -4 18 -4h90q14 0 18 5l128 144q7 9 12 -2l72 -140q3 -7 16 -7h90h3q1 0 1 1v3v90v4v5t-0.5 4.5t-1.5 3.5t-2 1h-34q-13 0 -16 7l-56 110
q-5 11 2 20l66 75q10 12 18 12h76h3q1 0 1 1v3v90z" />
<glyph glyph-name="iconjuzhong" unicode="&#xe6a4;"
d="M384 704h320v-64h-320v64zM192 512h704v-64h-704v64zM384 320h320v-64h-320v64zM192 128h704v-64h-704v64z" />
<glyph glyph-name="iconjuzuo" unicode="&#xe6a5;"
d="M192 704h320v-64h-320v64zM192 512h704v-64h-704v64zM192 320h320v-64h-320v64zM192 128h704v-64h-704v64z" />
<glyph glyph-name="iconbudengyu" unicode="&#xe6a6;"
d="M256 469h512v-42h-512v42zM256 341h512v-42h-512v42zM345 581l364 -364l-30 -30l-364 364z" />
<glyph glyph-name="icondayu" unicode="&#xe6a7;"
d="M299 135v-50l426 258v43l-426 254v-53l389 -223z" />
<glyph glyph-name="icondayudaijiantou" unicode="&#xe6a8;"
d="M640 171l171 -171l170 171h-341zM43 263v-50l426 258v43l-426 254v-53l389 -223z" />
<glyph glyph-name="icondayudengyu" unicode="&#xe6a9;"
d="M671 456l-372 135v49l426 -158v-52l-426 -158v53zM725 331v-49l-426 -154v43z" />
<glyph glyph-name="icondayudengyudaijiantou" unicode="&#xe6aa;"
d="M415 542l-372 134v49l426 -157v-53l-426 -157v52zM469 417v-49l-426 -155v43zM640 171l171 -171l170 171h-341z" />
<glyph glyph-name="iconxiala" unicode="&#xe6ab;"
d="M960 896h-896q-26 0 -45 -19t-19 -45v-896q0 -26 19 -45t45 -19h896q26 0 45 19t19 45v896q0 26 -19 45t-45 19zM896 0h-768v768h768v-768zM704 512h-384l192 -256z" />
<glyph glyph-name="icondanchumingxibiao" unicode="&#xe6ac;"
d="M960 896h-896q-26 0 -45 -19t-19 -45v-896q0 -26 19 -45t45 -19h896q26 0 45 19t19 45v896q0 26 -19 45t-45 19zM960 -64h-896v896h896v-896zM256 384zM192 384q0 26 19 45t45 19t45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45zM512 384zM448 384q0 26 19 45t45 19
t45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45zM768 384zM704 384q0 26 19 45t45 19t45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45z" />
<glyph glyph-name="xiala-copy1" unicode="&#xe6ad;"
d="M262 238l219 322q12 17 32.5 17t31.5 -17l219 -322q10 -16 -0.5 -31.5t-31.5 -15.5h-438q-21 0 -31.5 15.5t-0.5 31.5z" />
<glyph glyph-name="xiala-copy-copy" unicode="&#xe6ae;"
d="M658 134l-322 219q-17 12 -17 32.5t17 31.5l322 219q16 10 31.5 -0.5t15.5 -31.5v-438q0 -21 -15.5 -31.5t-31.5 -0.5z" />
<glyph glyph-name="iconshishibaobiaoxiaotu" unicode="&#xe6af;"
d="M640 832h-512q-18 0 -31 -7t-19 -16.5t-9.5 -19t-4.5 -16.5v-7v-766q0 -28 16 -44t32 -18l16 -2h704q28 0 44 16t18 32l2 16v576zM659 576q51 -41 80 -99t29 -125q0 -119 -84.5 -203.5t-203.5 -84.5t-203.5 84.5t-84.5 203.5t84.5 203.5t203.5 84.5q87 0 160 -49v177
l192 -192h-173zM448 384h-128v-64h128h64v256h-64v-192z" />
<glyph glyph-name="icondanxuanweixuanze" unicode="&#xe6b0;"
d="M512 704q132 0 226 -94t94 -226t-94 -226t-226 -94t-226 94t-94 226t94 226t226 94zM512 768q-159 0 -271.5 -112.5t-112.5 -271.5t112.5 -271.5t271.5 -112.5t271.5 112.5t112.5 271.5t-112.5 271.5t-271.5 112.5v0z" />
<glyph glyph-name="icondanxuanxuanze" unicode="&#xe6b1;"
d="M512 768q-159 0 -271.5 -112.5t-112.5 -271.5t112.5 -271.5t271.5 -112.5t271.5 112.5t112.5 271.5t-112.5 271.5t-271.5 112.5zM512 256q-53 0 -90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5t-37.5 -90.5t-90.5 -37.5z" />
<glyph glyph-name="iconduoxuanweixuanze" unicode="&#xe6b2;"
d="M832 704v-640h-640v640h640zM832 768h-640q-26 0 -45 -19t-19 -45v-640q0 -26 19 -45t45 -19h640q26 0 45 19t19 45v640q0 26 -19 45t-45 19v0z" />
<glyph glyph-name="iconduoxuanxuanze" unicode="&#xe6b3;"
d="M832 768h-640q-26 0 -45 -19t-19 -45v-640q0 -26 19 -45t45 -19h640q26 0 45 19t19 45v640q0 26 -19 45t-45 19zM774 521l-342 -342q-14 -14 -34 -14h-5q-22 2 -35 21l-114 171q-11 17 -7 36.5t20.5 30.5t36 7t30.5 -20l81 -123l301 301q14 14 34 14t34 -14t14 -34
t-14 -34z" />
<glyph glyph-name="iconhuifu" unicode="&#xe6b4;"
d="M545 795q-85 0 -159 -28.5t-129 -80.5t-87.5 -130t-32.5 -172h-93l142 -196l142 196h-93q0 141 89 227t221 86q128 0 218.5 -90t90.5 -217.5t-90.5 -218t-218.5 -90.5q-21 0 -35 -14t-14 -34.5t14 -34.5t35 -14q110 0 204 54t148.5 147.5t54.5 204t-54.5 204
t-148.5 147.5t-204 54z" />
<glyph glyph-name="iconquxiaofenxiang" unicode="&#xe6b5;"
d="M908 372q-14 14 -34 14t-34 -14l-120 -120l-121 120q-14 14 -33.5 14t-34 -14t-14.5 -34t14 -34l121 -120l-121 -121q-14 -14 -14 -33.5t14.5 -33.5t34 -14t33.5 14l121 120l120 -120q14 -14 34 -14t34 14t14 33.5t-14 33.5l-121 121l121 120q14 14 14 34t-14 34z
M401 258q48 55 48 126q0 28 -11 59l169 92q27 -40 69 -63.5t92 -23.5q80 0 136 56t56 136t-56 136t-136 56t-136 -56t-56 -136q0 -21 6 -46l-173 -94q-27 35 -67 55.5t-85 20.5q-80 0 -136 -56t-56 -136t56 -136t136 -56q48 0 94 25l75 -75q9 -9 22.5 -9t23 9t9.5 22.5
t-10 22.5zM768 736q40 0 68 -28t28 -68t-28 -68t-68 -28t-68 28t-28 68t28 68t68 28zM161 384q0 40 28 68t67.5 28t68 -28t28.5 -68t-28.5 -68t-68 -28t-67.5 28t-28 68z" />
<glyph glyph-name="iconshangchuan1" unicode="&#xe6ba;"
d="M384 192h256v320h168q22 0 29.5 21t-9.5 36l-296 246q-8 7 -20 7t-20 -7l-296 -246q-17 -15 -9.5 -36t29.5 -21h168v-320zM704 256v-128h-384v128h-256v-320h896v320h-256zM768 0h-64v64h64v-64zM896 0h-64v64h64v-64z" />
<glyph glyph-name="iconshangjiantou" unicode="&#xe6bb;"
d="M556 115l259 302q24 28 8.5 61.5t-52.5 33.5h-518q-37 0 -52.5 -33.5t8.5 -61.5l259 -302q18 -20 44 -20t44 20z" />
<glyph glyph-name="iconxiajiantou" unicode="&#xe6bc;"
d="M556 589l259 -302q24 -28 8.5 -61.5t-52.5 -33.5h-518q-37 0 -52.5 33.5t8.5 61.5l259 302q18 20 44 20t44 -20z" />
<glyph glyph-name="iconyoujiantou" unicode="&#xe6bd;"
d="M717 431l-302 259q-28 24 -61.5 8.5t-33.5 -52.5v-517q0 -37 33.5 -52.5t61.5 8.5l302 259q20 17 20 43.5t-20 43.5z" />
<glyph glyph-name="iconzuojiantou" unicode="&#xe6be;"
d="M307 431l302 259q28 24 61.5 8.5t33.5 -52.5v-517q0 -37 -33.5 -52.5t-61.5 8.5l-302 259q-20 17 -20 43.5t20 43.5z" />
<glyph glyph-name="iconzitibeijing1" unicode="&#xe696;"
d="M663 534l-151 151v104h-256v-276l-193 -194l362 -362l332 333q28 -111 19 -214q-1 -15 11.5 -22t23.5 3q25 22 48 48t47.5 63t39 82.5t14.5 92.5q0 38 -16.5 69t-45 51t-59.5 34t-67.5 21.5t-61 10.5t-47.5 5zM320 725h128v-20l-128 -128v148zM425 48l-272 271l295 295
v-209h64v189l216 -216q2 -4 8 -19z" />
<glyph glyph-name="gougou-copy" unicode="&#xe6dd;"
d="M720 565q-13 10 -29 7.5t-25 -15.5l-211 -286l-98 122q-10 12 -25.5 14t-28 -8t-14.5 -26t8 -28l130 -161q12 -14 30 -14h1q19 0 30 15l240 326q9 13 6.5 29t-14.5 25v0zM720 565zM512 834q-186 0 -318 -132t-132 -318t132 -318t318 -132t318 132t132 318t-132 318
t-318 132v0zM512 22q-98 0 -181.5 48.5t-132 132t-48.5 181.5t48.5 181.5t132 132t181.5 48.5t181.5 -48.5t132 -132t48.5 -181.5t-48.5 -181.5t-132 -132t-181.5 -48.5v0zM512 22z" />
<glyph glyph-name="iconbiaogefanyejiantoushang" unicode="&#xe698;"
d="M876.5 128q-30.5 0 -51.5 22l-313 312l-313 -312q-21 -22 -51.5 -22t-52 21.5t-21.5 52t21 52.5l365 364q22 22 52.5 22t51.5 -22l365 -364q21 -22 21 -52.5t-21.5 -52t-52 -21.5z" />
<glyph glyph-name="iconbiaogefanyejiantouxia" unicode="&#xe699;"
d="M147.5 640q30.5 0 51.5 -22l313 -312l313 312q21 22 51.5 22t52 -21.5t21.5 -52t-21 -52.5l-365 -364q-22 -22 -52.5 -22t-51.5 22l-365 364q-21 22 -21 52.5t21.5 52t52 21.5z" />
<glyph glyph-name="iconbiaogefanyejiantouyou" unicode="&#xe6b6;"
d="M256 19.5q0 30.5 22 51.5l312 313l-312 313q-22 21 -22 51.5t21.5 52t52 21.5t52.5 -21l364 -365q22 -22 22 -52.5t-22 -51.5l-364 -365q-22 -21 -52.5 -21t-52 21.5t-21.5 52z" />
<glyph glyph-name="iconbiaogefanyejiantouzuo" unicode="&#xe6b7;"
d="M768 748.5q0 -30.5 -22 -51.5l-312 -313l312 -313q22 -21 22 -51.5t-21.5 -52t-52 -21.5t-52.5 21l-364 365q-22 22 -22 52.5t22 51.5l364 365q22 21 52.5 21t52 -21.5t21.5 -52z" />
<glyph glyph-name="iconbiaogegundongtiaojiantoushang" unicode="&#xe6b8;"
d="M0 128h1024l-512 512z" />
<glyph glyph-name="iconbiaogegundongtiaojiantouxia" unicode="&#xe6b9;"
d="M1024 640h-1024l512 -512z" />
<glyph glyph-name="iconbiaogegundongtiaojiantouyou" unicode="&#xe6bf;"
d="M256 896v-1024l512 512z" />
<glyph glyph-name="iconbiaogegundongtiaojiantouzuo" unicode="&#xe6c0;"
d="M768 896v-1024l-512 512z" />
<glyph glyph-name="iconliandongfenzu" unicode="&#xe6c1;" horiz-adv-x="1639"
d="M1098 458h-296l109 -112l-197 -203l68 -69l202 202l114 -112v294zM1244 664h-640q-26 0 -45 -19t-19 -45v-640q0 -26 19 -45t45 -19h640q27 0 45.5 19t18.5 45v640q0 26 -18.5 45t-45.5 19zM1212 -8h-576v576h576v-576zM1026 776v96h-632q-26 0 -45 -19t-19 -45v-670h96
v638h600z" />
<glyph glyph-name="qidonghuamianbangzhu" unicode="&#xe6c7;"
d="M512 766q77 0 146.5 -29t123.5 -83t83 -124t29 -146.5t-29 -146t-83 -123.5t-124 -83t-146.5 -29t-146 29t-123.5 83t-83 124t-29 146.5t29 146t83 123.5t124 83t146 29v0zM512 811q-85 0 -163 -32.5t-138.5 -93t-93 -138.5t-32.5 -163t32.5 -163t93 -138.5t138.5 -93
t163 -32.5t163 32.5t138.5 93t93 138.5t32.5 163t-32.5 163t-93 138.5t-138.5 93t-163 32.5v0zM512 208zM629.5 593q-42.5 38 -110.5 38q-77 0 -122 -45.5t-45 -124.5v0q1 -12 10 -20.5t21 -8.5t21 8.5t10 20.5v0v2v0v0q1 117 102 117q39 0 64.5 -23t25.5 -58q0 -42 -47 -84
l-23 -21q-35 -31 -44.5 -54t-9.5 -73v0v-3q0 -12 8.5 -20.5t20.5 -8.5q11 0 19 8t9 19v0l1 11q0 52 49 92q83 68 83 130q0 60 -42.5 98zM512 164zM473 164zM544 132q0 -14 -9.5 -23.5t-22.5 -9.5t-22.5 9.5t-9.5 23t9.5 23t22.5 9.5t22.5 -9.5t9.5 -22.5v0z" />
<glyph glyph-name="qidonghuamiangengxin" unicode="&#xe6c8;"
d="M138 440q7 0 13 4l116 76q8 6 10 15.5t-3 17.5t-15 10t-18 -3l-65 -43q40 98 128.5 158t195.5 60q117 0 211.5 -71.5t126.5 -183.5q5 -17 23 -17h6q9 3 14 11.5t2 18.5q-36 128 -143 208.5t-240 80.5q-124 0 -227 -71.5t-146 -187.5l-46 70q-6 8 -15.5 10t-17.5 -3.5
t-10 -15t3 -17.5l77 -116q7 -11 20 -11v0zM982 267l-82 112q-9 12 -24 9q-5 -1 -9 -4l-113 -82q-8 -6 -9.5 -15.5t4.5 -17.5q7 -10 19 -10q8 0 14 5l61 44q-27 -119 -123 -197t-220 -78q-131 0 -230 86.5t-117 216.5q-2 9 -9.5 15t-17.5 5t-16 -9t-4 -18q20 -147 133 -245
t261 -98q143 0 254 92t138 232l52 -71q7 -10 19 -10q8 0 14 4q8 6 9.5 16t-4.5 18v0z" />
<glyph glyph-name="qidonghuamianzaicijinru" unicode="&#xe6c9;"
d="M804 -14h-531q-44 0 -75 31t-31 75v44h53v-44q0 -22 15.5 -37.5t37.5 -15.5h531q22 0 37.5 15.5t15.5 37.5v584q0 22 -15.5 37.5t-37.5 15.5h-531q-22 0 -37.5 -15.5t-15.5 -37.5v-49h-53v49q0 44 31 75t75 31h531q44 0 75 -31t31 -75v-584q0 -44 -31 -75t-75 -31v0z
M531 550q-8 7 -8 18t8 19t19 8t19 -8l183 -183q8 -8 7 -20q1 -12 -7 -20l-183 -183q-8 -8 -19 -8t-19 7.5t-8 18.5t8 19l139 139h-530q-11 0 -18.5 8t-7.5 19t7.5 19t18.5 8h530l-139 139v0zM193 160v0q11 0 19 -8t8 -19v-17q0 -11 -8 -18.5t-19 -7.5v0q-11 0 -18.5 7.5
t-7.5 18.5v17q0 11 7.5 19t18.5 8zM193 705v0q11 0 19 -8t8 -19v-52q0 -11 -8 -19t-19 -8v0q-11 0 -18.5 8t-7.5 19v52q0 11 7.5 19t18.5 8z" />
<glyph glyph-name="quanjuyangshi" unicode="&#xe6ca;" horiz-adv-x="1639"
d="M706 738v-244h-245v244h245zM731 828h-296q-26 0 -45 -19t-19 -45v-296q0 -26 19 -45t45 -19h296q27 0 45.5 19t18.5 45v296q0 26 -18.5 45t-45.5 19v0zM1178 738v-244h-245v244h245zM1203 828h-296q-26 0 -45 -19t-19 -45v-296q0 -26 19 -45t45 -19h296q27 0 45.5 19
t18.5 45v296q0 26 -18.5 45t-45.5 19v0zM706 270v-244h-245v244h245zM731 360h-296q-26 0 -45 -19t-19 -45v-296q0 -26 19 -45t45 -19h296q27 0 45.5 19t18.5 45v296q0 26 -18.5 45t-45.5 19v0zM1178 270v-244h-245v244h245zM1203 360h-296q-26 0 -45 -19t-19 -45v-296
q0 -26 19 -45t45 -19h296q27 0 45.5 19t18.5 45v296q0 26 -18.5 45t-45.5 19v0z" />
<glyph glyph-name="shangchuantupian" unicode="&#xe6cb;"
d="M247 618zM143 618q0 43 30.5 73.5t73.5 30.5t73.5 -30.5t30.5 -73.5t-30.5 -73.5t-73.5 -30.5t-73.5 30.5t-30.5 73.5zM548 -77h-548v959h959v-582h-68v514h-822v-823h479v-68zM851 26h171l-231 314l-231 -314h154v-137h137v137zM730 396l-56 169l-236 -333l-118 119
l-196 -257h390z" />
<glyph glyph-name="jiantouzuo" unicode="&#xe6cc;"
d="M778 896l-542 -511l542 -513l33 36l-505 477l505 476z" />
<glyph glyph-name="jiantouyou" unicode="&#xe6cd;"
d="M269 -128l542 511l-542 513l-33 -35l504 -478l-504 -475z" />
<glyph glyph-name="biaoqianxianshiweizhineice" unicode="&#xe6ce;"
d="M0 896v-1024h1024v1024h-1024zM981 -85h-938v938h938v-938v0zM169 734h683v-426h-683v426z" />
<glyph glyph-name="biaoqianxianshiweizhiwaice" unicode="&#xe6cf;" horiz-adv-x="1025"
d="M0 384v-512h1024v512h-1024zM981 -85h-938v426h938v-426v0zM168 896h682v-427h-682v427z" />
<glyph glyph-name="biaoqianxianshiweizhijuzhong" unicode="&#xe6d0;"
d="M2 715v-843h1020v843h-172v181h-680l-1 -181h-167zM979 -85h-934v758h125v-176h680v176h129v-758z" />
<glyph glyph-name="kongjiandanzhihuakuai" unicode="&#xe6d1;" horiz-adv-x="1026"
d="M1 676h46v-92h-46v92zM47 722h46v-92h-46v92zM93 767h92v-412h-92v412zM322 722h92v-46h-92v46zM368 767h229v-45h-229v45zM551 722h92v-138h-92v138zM506 630h91v-92h-91v92zM460 584h46v-92h-46v92zM506 538h45v-46h-45v46zM414 538h92v-92h-92v92zM368 492h92v-91h-92
v91zM322 446h46v-91h-46v91zM368 401h275v-46h-275v46zM689 722h92v-46h-92v46zM735 767h229v-45h-229v45zM918 722h92v-92h-92v92zM827 630h137v-46h-137v46zM918 584h92v-138h-92v138zM918 446h46v-45h-46v45zM689 446h92v-45h-92v45zM735 401h183v-46h-183v46zM17 136
h1008v-92h-1008v92zM460 205h138v-229h-138v229z" />
<glyph glyph-name="kongjianliebiaoshu" unicode="&#xe6d2;"
d="M0 881h420v-250h-420v250zM1024 385v127h-604v-45h-241v164h-37v-700h37v0h241v-44h604v126h-604v-44h-241v214h241v-45h604v127h-604v-45h-241v210h241v-45h604z" />
<glyph glyph-name="kongjianqujianhuakuai" unicode="&#xe6d3;"
d="M0 660h46v-93h-46v93zM46 706h47v-93h-47v93zM93 753h93v-419h-93v419zM325 706h93v-46h-93v46zM372 753h232v-47h-232v47zM558 706h93v-139h-93v139zM511 613h93v-93h-93v93zM465 567h46v-93h-46v93zM511 520h47v-46h-47v46zM418 520h93v-93h-93v93zM372 474h93v-93h-93
v93zM325 427h47v-93h-47v93zM372 381h279v-47h-279v47zM697 706h93v-46h-93v46zM744 753h232v-47h-232v47zM929 706h93v-93h-93v93zM837 613h139v-46h-139v46zM929 567h93v-140h-93v140zM929 427h47v-46h-47v46zM697 427h93v-46h-93v46zM744 381h185v-47h-185v47zM630 205
v-70h-418v70h-139v-232h139v69h418v-69h140v232h-140z" />
<glyph glyph-name="kongjianshubiaoqian" unicode="&#xe6d4;"
d="M0 884h423v-251h-423v251zM591 386v127h-168v-45h-243v165h-37v-704h37v0h243v-45h168v127h-168v-44h-243v215h243v-45h168v127h-168v-44h-243v211h243v-45h168zM639 513h169v-127h-169v127zM639 264h169v-126h-169v126zM856 513h168v-127h-168v127zM856 264h168v-126
h-168v126zM639 10h169v-126h-169v126zM856 10h168v-126h-168v126z" />
<glyph glyph-name="kongjianshuzhiqujian" unicode="&#xe6d5;" horiz-adv-x="1025"
d="M0 674h47v-93h-47v93zM47 721h46v-93h-46v93zM93 767h93v-418h-93v418zM326 721h93v-47h-93v47zM372 767h233v-46h-233v46zM559 721h93v-140h-93v140zM512 628h93v-93h-93v93zM465 581h47v-93h-47v93zM512 535h47v-47h-47v47zM419 535h93v-93h-93v93zM372 488h93v-93h-93
v93zM326 442h46v-94h-46v94zM372 395h280v-46h-280v46zM698 721h93v-47h-93v47zM745 767h232v-46h-232v46zM931 721h93v-93h-93v93zM838 628h139v-47h-139v47zM931 581h93v-139h-93v139zM931 442h46v-47h-46v47zM698 442h93v-47h-93v47zM745 395h186v-46h-186v46zM90 223
h140v-233h-140v233zM835 223h140v-233h-140v233zM370 130h46v-47h-46v47zM416 177h93v-47h-93v47zM509 130h47v-47h-47v47zM556 83h93v-46h-93v46zM649 130h47v-47h-47v47z" />
<glyph glyph-name="kongjianwenbenbiaoqian" unicode="&#xe6d6;" horiz-adv-x="1026"
d="M117 558h492v-85h-492v85zM117 294h114v-85h-114v85zM338 294h113v-85h-113v85zM562 294h114v-85h-114v85zM784 294h114v-85h-114v85zM1026 -64h-1024v896h1024v-896zM44 -21h939v810h-939v-810z" />
<glyph glyph-name="kongjianwenbenliebiao" unicode="&#xe6d7;"
d="M290 504h615v-85h-615v85zM120 683h483v-86h-483v86zM290 333h615v-85h-615v85zM290 163h615v-86h-615v86zM120 504h85v-85h-85v85zM120 333h85v-85h-85v85zM120 163h85v-86h-85v86zM1024 -64h-1024v896h1024v-896zM43 -21h938v810h-938v-810z" />
<glyph glyph-name="kongjianwenbenxiala" unicode="&#xe6d8;" horiz-adv-x="1026"
d="M1026 -69h-1024v896h614v-43h-572v-811h939v686h43v-728zM292 505h614v-85h-614v85zM122 684h482v-85h-482v85zM292 335h614v-86h-614v86zM292 164h614v-85h-614v85zM122 505h85v-85h-85v85zM122 335h85v-86h-85v86zM122 164h85v-85h-85v85zM989 828l-164 -247l-165 247
h329z" />
<glyph glyph-name="kongjianxialashu" unicode="&#xe6d9;"
d="M0 881h420v-250h-420v250zM1024 385v127h-604v-45h-241v164h-37v-700h37v0h241v-44h604v126h-604v-44h-241v214h241v-45h604v127h-604v-45h-241v210h241v-45h604zM1024 877l-161 -241l-160 241h321z" />
<glyph glyph-name="quanjudaochu" unicode="&#xe6da;"
d="M634 896v-186h160zM211 288h263v-70h-263v70zM211 122h263v-71h-263v71zM211 454h263v-70h-263v70zM1024 243l-198 205v-109h-282v-179h282v-109zM659 -26h-525v602h525v-109h135v186h-212v243h-582v-1024h659h135v0v154h-135v-52z" />
<glyph glyph-name="iconshangxiazuan" unicode="&#xe6c2;"
d="M189 639v-704h415v704h-415zM521 18h-249v538h249v-538zM50 833v-806h144v77h-74v659h268v-125h72v195h-410zM846 608h128l-160 192l-160 -192h128v-448h-128l160 -192l160 192h-128v448z" />
<glyph glyph-name="iconxiazuanyixuanze" unicode="&#xe6c3;"
d="M285 555h251v-537h-251v537zM410 640v128h-282v-664h76v536h206zM0 896v-1024h1024v1024h-1024zM618 -64h-414v91h-140v805h410v-192h144v-704zM818 -32l-160 192h128v640h64v-640h128z" />
<glyph glyph-name="iconshangxiazuanyixuanze" unicode="&#xe6c4;"
d="M280 552h249v-527h-249v527zM396 768h-268v-663h69v535h199v128zM0 896v-1024h1024v1024h-1024zM612 -64h-415v91h-139v805h410v-192h144v-704v0zM986 128l-160 -192l-160 192h124v448h-124l160 192l160 -192h-132v-448h132z" />
<glyph glyph-name="iconxiazuan" unicode="&#xe6c5;"
d="M204 639v-704h414v704h-414zM536 18h-250v538h250v-538zM64 833v-806h144v77h-73v659h267v-125h72v195h-410zM658 160l160 -192l160 192h-128v640h-64v-640h-128z" />
<glyph glyph-name="fuwuqishujuji" unicode="&#xe6db;"
d="M73 676.5q0 59.5 59 110t160 80t220 29.5t220 -29.5t160 -80t59 -110t-59 -110t-160 -80t-220 -29.5t-220 29.5t-160 80t-59 110zM512 384q-119 0 -220 29.5t-160 80t-59 109.5v-219q0 -60 59 -110.5t160 -79.5t220 -29t220 29t160 79.5t59 110.5v219q0 -59 -59 -109.5
t-160 -80t-220 -29.5zM512 91q-119 0 -220 29.5t-160 80t-59 110.5v-220q0 -59 59 -109.5t160 -80t220 -29.5t220 29.5t160 80t59 109.5v220q0 -60 -59 -110.5t-160 -80t-220 -29.5z" />
<glyph glyph-name="iconfuzhilianjie" unicode="&#xe6de;"
d="M702 -25v-96h-631q-26 0 -45 19t-19 45v670h96v-638h599zM770 642q-8 8 -17 15l-9 6l-69 -69l14 -8q7 -5 14 -11l2 -2q20 -21 20 -49.5t-20 -48.5l-136 -136q-20 -20 -49 -20t-49 20l-3 2q-20 20 -20 49t20 49l68 67l-3 8q-15 37 -14 78v32l-118 -118q-48 -48 -48 -116
t48 -116l3 -3q48 -48 116 -48t116 48l136 137q48 48 48 116t-48 116zM971 839l-2 2q-48 48 -116.5 48t-115.5 -48l-137 -136q-48 -48 -48 -116t48 -116l3 -3q7 -7 17 -14l8 -7l70 70l-14 8q-8 4 -14 11l-2 2q-21 20 -21 48.5t20 49.5l137 136q19 20 48.5 20t49.5 -20l2 -2
q20 -21 20 -49.5t-20 -48.5l-68 -68l4 -8q15 -37 14 -77l-1 -32l118 118q48 48 48 116t-48 116zM853 138h-576v576h192v96h-224q-27 0 -45.5 -18.5t-18.5 -45.5v-640q0 -26 18.5 -45t45.5 -19h640q26 0 45 19t19 45v301h-96v-269z" />
<glyph glyph-name="more-43" unicode="&#xe6e0;"
d="M512 -128q48 0 82 34t34 82.5t-34 82.5t-82 34t-82 -34t-34 -82.5t34 -82.5t82 -34zM512 268q48 0 82 34t34 82t-34 82t-82 34t-82 -34t-34 -82t34 -82t82 -34zM512 663v0q48 0 82 34t34 82.5t-34 82.5t-82 34v0v0q-48 0 -82 -34t-34 -82.5t34 -82.5t82 -34v0z" />
<glyph glyph-name="icon_zuidahua" unicode="&#xe6c6;"
d="M109 473q-19 0 -32 13t-13 32v263q0 24 13.5 37.5t37.5 13.5h262q18 -1 31 -14t13 -31t-13 -31.5t-31 -14.5h-161l193 -193q13 -13 13 -31t-13 -31t-31 -13t-31 13l-193 193v-161q0 -19 -13 -32t-32 -13zM870 518v161l-193 -193q-13 -13 -31 -13t-31 13t-13 31t13 31
l193 193h-161q-19 0 -32 13.5t-13 32t13 32t32 13.5h262q24 0 37.5 -13.5t13.5 -37.5v-263v-3q0 -19 -13 -32t-32 -13t-32 13t-13 32v3zM154 246v-161l193 193q13 13 31 13t31 -13t13 -31t-13 -31l-193 -193h161q19 0 32 -13.5t13 -32t-13 -32t-32 -13.5h-262
q-24 0 -37.5 13.5t-13.5 37.5v263v2q0 18 13 31.5t32 13.5t32 -13.5t13 -31.5v-2zM915 291q19 0 32 -13t13 -32v-263q0 -24 -13.5 -37.5t-37.5 -13.5h-262q-19 0 -32 13.5t-13 32t13 32t32 13.5h161l-193 193q-13 13 -13 31t13 31t31 13t31 -13l193 -193v161v0q0 19 13 32
t32 13v0z" />
<glyph glyph-name="icon_zuixiaohua" unicode="&#xe6df;"
d="M377 834q19 0 32 -13.5t13 -31.5v-263q0 -24 -13.5 -37.5t-37.5 -13.5h-262q-19 0 -32 13t-13 32t13 32t32 13h161l-193 194q-13 13 -13 31t13 31q13 12 31 12t31 -12l193 -194v162q0 18 13 31.5t32 13.5zM692 789v-162l193 194q13 12 31 12t31 -12q13 -13 13 -31
t-13 -31l-193 -194h161q18 0 30.5 -13.5t12.5 -31.5t-12.5 -31.5t-30.5 -13.5h-262q-24 0 -37.5 13.5t-13.5 37.5v263q0 18 13 31.5t32 13.5t32 -13.5t13 -31.5zM332 -21v162l-193 -194q-13 -12 -31 -12t-31 12q-13 13 -13 31t13 31l193 194h-161q-18 0 -30.5 13.5
t-12.5 31.5t12.5 31.5t30.5 13.5h262q24 0 37.5 -13.5t13.5 -37.5v-263q0 -18 -13 -31.5t-32 -13.5t-32 13.5t-13 31.5zM647 -66q-19 0 -32 13.5t-13 31.5v263q0 24 13.5 37.5t37.5 13.5h262q18 0 31.5 -13t13.5 -32t-13.5 -32t-31.5 -13h-161l193 -194q13 -13 13 -31
t-13 -31q-13 -12 -31 -12t-31 12l-193 194v-162v0q0 -18 -13 -31.5t-32 -13.5z" />
<glyph glyph-name="iconzhongmingming-06" unicode="&#xe6e1;"
d="M128 448h384v-128h-384v128zM816 542h142v-316h-142v316zM66 542h558v-316h-558v316zM66 226v316h558v66h-624v-448h624v66h-558zM1024 608h-208v-66h142v-316h-142v-66h208v448zM848 704v64h-256v-64h96v-640h-96v-64h256v64h-96v640h96z" />
<glyph glyph-name="-" unicode="&#xe6e2;"
d="M995 454q-12 12 -32.5 20.5t-37.5 8.5v0q-24 0 -50 -15l-87 86q9 18 9 37q0 33 -23 56t-55 23h-1q-32 0 -55.5 -23.5t-23.5 -56.5q0 -13 7 -29.5t16 -26.5q24 -23 56 -23q17 0 36 10l87 -87q-14 -23 -14 -50q0 -26 13 -48l-88 -87q-16 8 -34 8q-16 0 -33 -8l-88 87
q16 28 12.5 61.5t-27.5 56.5q-12 12 -32.5 20.5t-37.5 8.5t-37.5 -8.5t-32.5 -20.5q-23 -23 -27.5 -55t10.5 -60l-89 -89q-14 7 -30 7t-31 -7l-89 89q11 21 11 45t-11 45l89 89q21 -10 45 -5.5t41.5 22t22 41.5t-5.5 45l89 89q28 -15 60 -10.5t55 27.5q11 12 19 31.5t8 36.5
q0 41 -29 70t-70 29q-16 0 -36 -8t-32 -19q-23 -23 -27.5 -55t10.5 -60l-89 -89q-14 7 -31 7q-13 0 -29.5 -7t-26 -16.5t-16.5 -26t-7 -29.5q0 -17 7 -31l-89 -89q-28 15 -60 10.5t-55 -27.5q-12 -12 -20.5 -32.5t-8.5 -37.5t8.5 -37.5t20.5 -32.5q23 -23 55 -27.5t60 10.5
l89 -89q-10 -21 -5.5 -45t22 -41.5t41.5 -22t45 5.5l89 -89q-15 -28 -10.5 -60t27.5 -55q12 -11 32 -19t36 -8q41 0 70 29t29 70q0 17 -8 36.5t-19 31.5q-23 23 -55 27.5t-60 -10.5l-89 89q7 15 7 31t-7 30l89 89q46 -24 93 2l87 -88q-7 -16 -7 -34q0 -33 23 -56t55 -23v0v0
q33 0 56 23t23 56q0 18 -8 34l88 88q25 -14 48 -14v0q41 0 70 29t29 70q0 17 -8.5 37.5t-20.5 32.5zM699.5 571.5q-7.5 7.5 -7.5 18.5t7.5 19t18.5 8t19 -8t8 -19t-8 -18.5t-19 -7.5t-18.5 7.5zM737 159q-8 -8 -19 -8t-18.5 8t-7.5 19t7.5 18.5t18.5 7.5t19 -7.5t8 -18.5
t-8 -19zM957.5 351.5q-13.5 -13.5 -32.5 -13.5v0v0q-19 0 -32.5 13.5t-13.5 32.5t13.5 32.5t32.5 13.5t32.5 -13.5t13.5 -32.5t-13.5 -32.5z" />
<glyph glyph-name="icon_danbiaogengxin_quan-" unicode="&#xe6e3;"
d="M672 448h-512v-64h320v-128h-192v-64h192v-128h-320v-64h704v64h-320v128h192v64h-192v128h320v64h-192zM32 832v-896q0 -26 19 -45t45 -19h832q26 0 45 19t19 45v896q0 26 -19 45t-45 19h-832q-26 0 -45 -19t-19 -45zM928 -64h-832v896h832v-896zM480 768
q-3 -9 -9 -23.5t-28.5 -56.5t-49 -80t-72 -83.5t-97.5 -76.5h128q7 6 18 16.5t40.5 45t54 69.5t48 87t31.5 102h-64zM544 768q3 -9 9 -23.5t28.5 -56.5t49 -80t72 -83.5t97.5 -76.5h-128q-7 5 -18 15t-40.5 42.5t-54 67t-48 88t-31.5 107.5h64z" />
<glyph glyph-name="icon_danbiaogengxin_zeng-" unicode="&#xe6e4;"
d="M352 192v256h64v-64h64v-384h64v64h192v-64h64v320h-64v-64h-192v64h256v64h64v256h-448v-128h-64v256h-64v-256h-128v-64h128v-256h64zM736 192v-64h-192v64h192zM800 576v-128h-64v64h-64v64h128zM480 576h128v-64h-64v-64h-64v128zM32 832v-896q0 -26 19 -45t45 -19
h832q26 0 45 19t19 45v896q0 26 -19 45t-45 19h-832q-26 0 -45 -19t-19 -45zM928 -64h-832v896h832v-896zM608 640h-64l-64 128h64zM672 640h64l64 128h-64zM416 192l-256 -128v64l256 128v-64z" />
<glyph glyph-name="gengxinchenggong-" unicode="&#xe6e5;"
d="M512 808q115 0 213 -56.5t154.5 -154.5t56.5 -213t-56.5 -213t-154.5 -154.5t-213 -56.5t-213 56.5t-154.5 154.5t-56.5 213t56.5 213t154.5 154.5t213 56.5zM512 896q-139 0 -257 -68.5t-186.5 -186.5t-68.5 -257t68.5 -257t186.5 -186.5t257 -68.5t257 68.5
t186.5 186.5t68.5 257t-68.5 257t-186.5 186.5t-257 68.5zM444 166v0q-18 0 -31 13l-175 175q-12 12 -12 30.5t12.5 31t31 12.5t30.5 -12l144 -144l280 280q12 13 30.5 13t31.5 -13t13 -31t-13 -31l-311 -311q-13 -13 -31 -13v0z" />
<glyph glyph-name="gengxinshibai-" unicode="&#xe6e6;"
d="M512 896q-104 0 -199 -40.5t-163.5 -109t-109 -163.5t-40.5 -199t40.5 -199t109 -163.5t163.5 -109t199 -40.5t199 40.5t163.5 109t109 163.5t40.5 199t-40.5 199t-109 163.5t-163.5 109t-199 40.5zM512 -28q-112 0 -207 55t-150 150t-55 207t55 207t150 150t207 55
t207 -55t150 -150t55 -207t-55 -207t-150 -150t-207 -55zM512 -28zM478 715h68q29 0 28 -31l-16 -403q0 -8 -6 -14t-15 -6h-50q-9 0 -15 6t-6 14l-16 403q-1 31 28 31zM512 53q-29 0 -49 20.5t-20 49t20 49t49 20.5t49 -20.5t20 -49t-20 -49t-49 -20.5z" />
<glyph glyph-name="icon_xuanxiangqia-" unicode="&#xe6e7;"
d="M186 477h652v-93h-652v93zM186 337h652v-93h-652v93zM186 198h652v-93h-652v93zM745 710v-93h-47v93h-279v-93h-47v186h-372v-838h1024v745h-279zM977 12h-930v558h930v-558v0z" />
<glyph glyph-name="icon_xuanxiangqiayangshi-" unicode="&#xe6e8;"
d="M464 689l-126 -313h59l31 80h138l27 -80h58l-125 313h-62zM441 496l54 139l54 -139h-108zM57 644h107v-268h54v268h112v45h-273v-45zM884 541q27 7 40.5 27t13.5 45q0 37 -27 58q-30 22 -76 22h-152v-313h152q56 0 80 18q36 22 36 72q0 37 -18 49q-16 15 -49 22zM736 648
h85q32 0 49 -9q14 -6 14 -31q0 -22 -14 -36q-9 -9 -49 -9h-85v85zM875 425q-27 -9 -49 -9h-90v98h90q33 0 53 -13q18 -18 18 -40q0 -21 -22 -36zM1024 131.5q0 -23.5 -19 -40t-45 -16.5h-896q-26 0 -45 16.5t-19 40t19 40.5t45 17h896q26 0 45 -17t19 -40.5z" />
<glyph glyph-name="icon_xuanxiangqiayangshi-1" unicode="&#xe6e9;"
d="M479 517l-102 -256h47l26 66h113l22 -66h48l-103 256h-51zM461 360l44 113l44 -113h-88zM146 480h88v-219h44v219h91v37h-223v-37zM823 396q21 5 33 22q11 16 11 35v2q0 31 -22 47q-25 19 -62 19h-125v-256h125q46 0 65 14q30 18 30 59q0 30 -15 40q-13 13 -40 18z
M702 484h70q25 0 40 -7q11 -6 11 -26q0 -18 -11 -29q-7 -7 -40 -7h-70v69zM816 301q-20 -7 -40 -7h-1h-73v80h73q28 0 44 -11q14 -13 15 -33q0 -17 -18 -29zM951 753h-878q-30 0 -51.5 -21.5t-21.5 -51.5v-592q0 -30 21.5 -51.5t51.5 -21.5h878q30 0 51.5 21.5t21.5 51.5
v592q0 30 -21.5 51.5t-51.5 21.5zM951 125q0 -15 -11 -26t-26 -11h-804q-15 0 -26 11t-11 26v518q0 15 10.5 26t26.5 11h804q16 0 26.5 -11t10.5 -26v-518v0z" />
<glyph glyph-name="icon_daxiao-" unicode="&#xe6ea;"
d="M747 594v89h-171v-89h-424v-85h424v-82h171v82h125v85h-125zM704 469h-85v171h85v-171zM448 341h-171v-88h-125v-86h125v-82h171v82h424v86h-424v88zM405 128h-85v171h85v-171z" />
<glyph glyph-name="icon_qiehuanweidu-" unicode="&#xe6eb;"
d="M966 258h-917h-1q-13 0 -26 -9t-18 -21q-4 -9 -4 -19q0 -19 14 -33l289 -290q15 -14 35 -14t33 14q15 15 15 34.5t-15 33.5l-207 207h801q20 1 34 15t14 34v1q0 19 -13.5 33t-33.5 14v0zM49 558h917q33 0 45 29q3 9 3 18v1v0q0 20 -14 34l-241 242q-14 14 -34 14t-34 -14
q-14 -15 -14 -35t14 -33l159 -159h-801q-20 0 -34 -14.5t-14.5 -34t14 -34t34.5 -14.5z" />
<glyph glyph-name="icon_luoxuanfenxibiao-" unicode="&#xe6ec;" horiz-adv-x="1025"
d="M951 859h-878q-30 0 -51.5 -21.5t-21.5 -51.5v-804q0 -30 21.5 -51.5t51.5 -21.5h878q30 0 51.5 21.5t21.5 51.5v804q0 30 -21.5 51.5t-51.5 21.5zM858 475q-15 1 -30 5l-141 -251q42 -33 42 -86q0 -45 -31.5 -77t-76.5 -32t-77 32t-32 77q0 25 12 48l-194 167
q-26 -19 -59 -19q-13 0 -28 4l-66 -118q23 -24 23 -55q0 -33 -24 -57t-58 -24t-57.5 24t-23.5 57.5t23.5 57.5t57.5 24q2 0 18 -4l66 118q-14 13 -23.5 34.5t-9.5 40.5q0 42 30 71.5t72 29.5t72 -29.5t30 -71.5q0 -24 -12 -47l193 -166q12 10 31.5 17t35.5 7q11 0 23 -3
l140 250q-23 16 -39 47t-16 58q0 54 38 91.5t91.5 37.5t91 -37.5t37.5 -91t-37.5 -91.5t-91.5 -38z" />
</font>
</defs></svg>

After

Width:  |  Height:  |  Size: 84 KiB

BIN
dist/font/iconfont.ttf vendored

Binary file not shown.

BIN
dist/font/iconfont.woff vendored

Binary file not shown.

0
src/less/base/third/ztree/img/line_conn.gif → dist/icon/line_conn.gif vendored

Before

Width:  |  Height:  |  Size: 45 B

After

Width:  |  Height:  |  Size: 45 B

0
src/less/base/third/ztree/img/loading.gif → dist/icon/loading.gif vendored

Before

Width:  |  Height:  |  Size: 381 B

After

Width:  |  Height:  |  Size: 381 B

BIN
dist/icon/tree-collapse-1.png vendored

Binary file not shown.

After

Width:  |  Height:  |  Size: 205 B

BIN
dist/icon/tree-collapse-2.png vendored

Binary file not shown.

After

Width:  |  Height:  |  Size: 236 B

BIN
dist/icon/tree-collapse-3.png vendored

Binary file not shown.

After

Width:  |  Height:  |  Size: 236 B

BIN
dist/icon/tree-collapse-4.png vendored

Binary file not shown.

After

Width:  |  Height:  |  Size: 225 B

BIN
dist/icon/tree-expand-1.png vendored

Binary file not shown.

After

Width:  |  Height:  |  Size: 191 B

BIN
dist/icon/tree-expand-2.png vendored

Binary file not shown.

After

Width:  |  Height:  |  Size: 221 B

BIN
dist/icon/tree-expand-3.png vendored

Binary file not shown.

After

Width:  |  Height:  |  Size: 222 B

BIN
dist/icon/tree-expand-4.png vendored

Binary file not shown.

After

Width:  |  Height:  |  Size: 209 B

BIN
dist/icon/tree-vertical-line-1.png vendored

Binary file not shown.

After

Width:  |  Height:  |  Size: 152 B

BIN
dist/icon/tree-vertical-line-2.png vendored

Binary file not shown.

After

Width:  |  Height:  |  Size: 192 B

BIN
dist/icon/tree-vertical-line-3.png vendored

Binary file not shown.

After

Width:  |  Height:  |  Size: 197 B

BIN
dist/icon/tree-vertical-line-4.png vendored

Binary file not shown.

After

Width:  |  Height:  |  Size: 187 B

BIN
dist/icon/tree-vertical-line-5.png vendored

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

0
src/less/base/third/ztree/img/zTreeStandard.gif → dist/icon/zTreeStandard.gif vendored

Before

Width:  |  Height:  |  Size: 5.4 KiB

After

Width:  |  Height:  |  Size: 5.4 KiB

0
src/less/base/third/ztree/img/zTreeStandard.png → dist/icon/zTreeStandard.png vendored

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 11 KiB

BIN
dist/resources/ZeroClipboard.swf vendored

Binary file not shown.

1584
dist/widget.css vendored

File diff suppressed because it is too large Load Diff

30146
dist/widget.js vendored

File diff suppressed because it is too large Load Diff

7
src/case/button/item.multiselect.js

@ -50,6 +50,11 @@ BI.MultiSelectItem = BI.inherit(BI.BasicButton, {
}))));
},
setEnable: function (v) {
BI.MultiSelectItem.superclass.setEnable.apply(this, arguments);
this.checkbox.setEnable(v);
},
doRedMark: function(){
this.text.doRedMark.apply(this.text, arguments);
},
@ -68,5 +73,5 @@ BI.MultiSelectItem = BI.inherit(BI.BasicButton, {
this.checkbox.setSelected(v);
}
});
BI.MultiSelectItem.EVENT_CHANGE = "EVENT_CHANGE";
$.shortcut("bi.multi_select_item", BI.MultiSelectItem);

5
src/case/button/item.singleselect.js

@ -8,7 +8,8 @@ BI.SingleSelectItem = BI.inherit(BI.BasicButton, {
return BI.extend(BI.SingleSelectItem.superclass._defaultConfig.apply(this, arguments), {
extraCls: "bi-single-select-item bi-list-item-active",
hgap: 10,
height: 25
height: 25,
textAlign: "left",
})
},
_init: function () {
@ -17,7 +18,7 @@ BI.SingleSelectItem = BI.inherit(BI.BasicButton, {
this.text = BI.createWidget({
type: "bi.label",
element: this,
textAlign: "left",
textAlign: o.textAlign,
whiteSpace: "nowrap",
textHeight: o.height,
height: o.height,

6
src/case/button/node/node.multilayer.icon.arrow.js

@ -19,9 +19,9 @@ BI.MultiLayerIconArrowNode = BI.inherit(BI.NodeButton, {
this.node = BI.createWidget({
type: "bi.icon_arrow_node",
iconCls: o.iconCls,
logic: {
dynamic: true
},
//logic: {
// dynamic: true
//},
id: o.id,
pId: o.pId,
open: o.open,

3
src/case/button/treeitem/item.multilayer.icon.treeleaf.js

@ -19,9 +19,6 @@ BI.MultiLayerIconTreeLeafItem = BI.inherit(BI.BasicButton, {
this.item = BI.createWidget({
type: "bi.icon_tree_leaf_item",
iconCls: o.iconCls,
logic: {
dynamic: true
},
id: o.id,
pId: o.pId,
isFront: true,

24
src/case/calendar/calendar.js

@ -29,12 +29,13 @@ BI.Calendar = BI.inherit(BI.Widget, {
De.setFullYear(Y, M, D);
log.ymd = [De.getFullYear(), De.getMonth(), De.getDate()];
Date._MD[1] = Date.isLeap(log.ymd[0]) ? 29 : 28;
var MD = Date._MD.slice(0);
MD[1] = Date.isLeap(log.ymd[0]) ? 29 : 28;
De.setFullYear(log.ymd[0], log.ymd[1], 1);
log.FDay = De.getDay();
log.PDay = Date._MD[M === 0 ? 11 : M - 1] - log.FDay + 1;
log.PDay = MD[M === 0 ? 11 : M - 1] - log.FDay + 1;
log.NDay = 1;
var items = [];
@ -45,7 +46,7 @@ BI.Calendar = BI.inherit(BI.Widget, {
DD = i + log.PDay;
MM === 1 && (YY -= 1);
MM = MM === 1 ? 12 : MM - 1;
} else if (i >= log.FDay && i < log.FDay + Date._MD[log.ymd[1]]) {
} else if (i >= log.FDay && i < log.FDay + MD[log.ymd[1]]) {
DD = i - log.FDay + 1;
if (i - log.FDay + 1 === log.ymd[2]) {
td.currentDay = true;
@ -166,6 +167,23 @@ BI.extend(BI.Calendar, {
var page = (json.year - year) * 12;
page += json.month - month;
return page;
},
getDateJSONByPage: function(v){
var months = new Date().getMonth();
var page = v;
//对当前page做偏移,使到当前年初
page = page + months;
var year = BI.parseInt(page / 12);
if(page < 0 && page % 12 !== 0){
year--;
}
var month = page >= 0 ? (page % 12) : ((12 + page % 12) % 12);
return {
year: new Date().getFullYear() + year,
month: month
}
}
});

44
src/case/colorpicker/editor.colorpicker.js

@ -10,7 +10,7 @@ BI.ColorPickerEditor = BI.inherit(BI.Widget, {
_defaultConfig: function () {
return BI.extend(BI.ColorPickerEditor.superclass._defaultConfig.apply(this, arguments), {
baseCls: "bi-color-picker-editor",
width: 190,
width: 200,
height: 20
})
},
@ -38,6 +38,7 @@ BI.ColorPickerEditor = BI.inherit(BI.Widget, {
cls: "color-picker-editor-input",
validationChecker: checker,
errorText: BI.i18nText("BI-Color_Picker_Error_Text"),
allowBlank: true,
value: 255,
width: 35,
height: 20
@ -54,6 +55,22 @@ BI.ColorPickerEditor = BI.inherit(BI.Widget, {
this.G = Ws[1];
this.B = Ws[2];
this.none = BI.createWidget({
type: "bi.checkbox"
});
this.none.on(BI.Checkbox.EVENT_CHANGE, function () {
if (this.isSelected()) {
self.lastColor = self.getValue();
self.setValue("");
} else {
self.setValue(self.lastColor || "#000000");
}
if (self.R.isValid() && self.G.isValid() && self.B.isValid()) {
self.colorShow.element.css("background-color", self.getValue());
self.fireEvent(BI.ColorPickerEditor.EVENT_CHANGE);
}
});
BI.createWidget({
type: "bi.htape",
element: this,
@ -66,32 +83,43 @@ BI.ColorPickerEditor = BI.inherit(BI.Widget, {
width: 20
}, {
el: this.R,
width: 35
width: 32
}, {
el: RGB[1],
lgap: 10,
width: 20
}, {
el: this.G,
width: 35
width: 32
}, {
el: RGB[2],
lgap: 10,
width: 20
}, {
el: this.B,
width: 35
width: 32
}, {
el: {
type: "bi.center_adapt",
items: [this.none]
},
width: 20
}]
})
},
setValue: function (color) {
color || (color = "#000000");
if (!color) {
color = "";
this.none.setSelected(true);
} else {
this.none.setSelected(false);
}
this.colorShow.element.css("background-color", color);
var json = BI.DOM.rgb2json(BI.DOM.hex2rgb(color));
this.R.setValue(json.r);
this.G.setValue(json.g);
this.B.setValue(json.b);
this.R.setValue(BI.isNull(json.r) ? "" : json.r);
this.G.setValue(BI.isNull(json.g) ? "" : json.g);
this.B.setValue(BI.isNull(json.b) ? "" : json.b);
},
getValue: function () {

210
src/case/combo/combo.bubble.js

@ -0,0 +1,210 @@
/**
* Created by GUY on 2017/2/8.
*
* @class BI.BubbleCombo
* @extends BI.Widget
*/
BI.BubbleCombo = BI.inherit(BI.Widget, {
_const: {
TRIANGLE_LENGTH: 6
},
_defaultConfig: function () {
return BI.extend(BI.BubbleCombo.superclass._defaultConfig.apply(this, arguments), {
baseCls: "bi-bubble-combo",
trigger: "click",
toggle: true,
direction: "bottom", //top||bottom||left||right||top,left||top,right||bottom,left||bottom,right
isDefaultInit: false,
isNeedAdjustHeight: true,//是否需要高度调整
isNeedAdjustWidth: true,
stopPropagation: false,
adjustLength: 0,//调整的距离
// adjustXOffset: 0,
// adjustYOffset: 10,
hideChecker: BI.emptyFn,
offsetStyle: "left", //left,right,center
el: {},
popup: {},
})
},
_init: function () {
BI.BubbleCombo.superclass._init.apply(this, arguments);
var self = this, o = this.options;
this.combo = BI.createWidget({
type: "bi.combo",
element: this,
trigger: o.trigger,
toggle: o.toggle,
direction: o.direction,
isDefaultInit: o.isDefaultInit,
isNeedAdjustHeight: o.isNeedAdjustHeight,
isNeedAdjustWidth: o.isNeedAdjustWidth,
adjustLength: this._getAdjustLength(),
stopPropagation: o.stopPropagation,
adjustXOffset: 0,
adjustYOffset: 0,
hideChecker: o.hideChecker,
offsetStyle: o.offsetStyle,
el: o.el,
popup: BI.extend({
type: "bi.bubble_popup_view"
}, o.popup),
});
this.combo.on(BI.Combo.EVENT_TRIGGER_CHANGE, function () {
self.fireEvent(BI.BubbleCombo.EVENT_TRIGGER_CHANGE, arguments);
});
this.combo.on(BI.Combo.EVENT_CHANGE, function () {
self.fireEvent(BI.BubbleCombo.EVENT_CHANGE, arguments);
});
this.combo.on(BI.Combo.EVENT_EXPAND, function () {
self.fireEvent(BI.BubbleCombo.EVENT_EXPAND, arguments);
});
this.combo.on(BI.Combo.EVENT_COLLAPSE, function () {
self.fireEvent(BI.BubbleCombo.EVENT_COLLAPSE, arguments);
});
this.combo.on(BI.Combo.EVENT_AFTER_INIT, function () {
self.fireEvent(BI.BubbleCombo.EVENT_AFTER_INIT, arguments);
});
this.combo.on(BI.Combo.EVENT_BEFORE_POPUPVIEW, function () {
self.fireEvent(BI.BubbleCombo.EVENT_BEFORE_POPUPVIEW, arguments);
});
this.combo.on(BI.Combo.EVENT_AFTER_POPUPVIEW, function () {
self._showTriangle();
self.fireEvent(BI.BubbleCombo.EVENT_AFTER_POPUPVIEW, arguments);
});
this.combo.on(BI.Combo.EVENT_BEFORE_HIDEVIEW, function () {
self._hideTriangle();
self.fireEvent(BI.BubbleCombo.EVENT_BEFORE_HIDEVIEW, arguments);
});
this.combo.on(BI.Combo.EVENT_AFTER_HIDEVIEW, function () {
self.fireEvent(BI.BubbleCombo.EVENT_AFTER_HIDEVIEW, arguments);
});
},
_getAdjustLength: function () {
return this._const.TRIANGLE_LENGTH + this.options.adjustLength;
},
_createTriangle: function (direction) {
var pos = {}, op = {};
var adjustLength = this._getAdjustLength();
switch (direction) {
case "left":
pos = {
top: 0,
bottom: 0,
left: -adjustLength
};
op = {width: this._const.TRIANGLE_LENGTH};
break;
case "right":
pos = {
top: 0,
bottom: 0,
right: -adjustLength
};
op = {width: this._const.TRIANGLE_LENGTH};
break;
case "top":
pos = {
left: 0,
right: 0,
top: -adjustLength
};
op = {height: this._const.TRIANGLE_LENGTH};
break;
case "bottom":
pos = {
left: 0,
right: 0,
bottom: -adjustLength
};
op = {height: this._const.TRIANGLE_LENGTH};
break;
default:
break;
}
this.triangle = BI.createWidget(op, {
type: "bi.center_adapt",
items: [{
type: "bi.layout",
cls: "bubble-combo-triangle-" + direction
}]
});
pos.el = this.triangle;
BI.createWidget({
type: "bi.absolute",
element: this,
items: [pos]
})
},
_createLeftTriangle: function () {
this._createTriangle("left");
},
_createRightTriangle: function () {
this._createTriangle("right");
},
_createTopTriangle: function () {
this._createTriangle("top");
},
_createBottomTriangle: function () {
this._createTriangle("bottom");
},
_showTriangle: function () {
var pos = this.combo.getPopupPosition();
switch (pos.dir) {
case "left,top":
case "left,bottom":
this._createLeftTriangle();
this.combo.getView().showLine("right");
break;
case "right,top":
case "right,bottom":
this._createRightTriangle();
this.combo.getView().showLine("left");
break;
case "top,left":
case "top,right":
this._createTopTriangle();
this.combo.getView().showLine("bottom");
break;
case "bottom,left":
case "bottom,right":
this._createBottomTriangle();
this.combo.getView().showLine("top");
break;
}
},
_hideTriangle: function () {
this.triangle && this.triangle.destroy();
this.combo.getView().hideLine();
},
hideView: function () {
this._hideTriangle();
this.combo && this.combo.hideView();
},
showView: function () {
this.combo && this.combo.showView();
}
});
BI.BubbleCombo.EVENT_TRIGGER_CHANGE = "EVENT_TRIGGER_CHANGE";
BI.BubbleCombo.EVENT_CHANGE = "EVENT_CHANGE";
BI.BubbleCombo.EVENT_EXPAND = "EVENT_EXPAND";
BI.BubbleCombo.EVENT_COLLAPSE = "EVENT_COLLAPSE";
BI.BubbleCombo.EVENT_AFTER_INIT = "EVENT_AFTER_INIT";
BI.BubbleCombo.EVENT_BEFORE_POPUPVIEW = "EVENT_BEFORE_POPUPVIEW";
BI.BubbleCombo.EVENT_AFTER_POPUPVIEW = "EVENT_AFTER_POPUPVIEW";
BI.BubbleCombo.EVENT_BEFORE_HIDEVIEW = "EVENT_BEFORE_HIDEVIEW";
BI.BubbleCombo.EVENT_AFTER_HIDEVIEW = "EVENT_AFTER_HIDEVIEW";
$.shortcut("bi.bubble_combo", BI.BubbleCombo);

44
src/case/combo/popup.bubble.bar.js

@ -0,0 +1,44 @@
/**
* Created by GUY on 2017/2/8.
*
* @class BI.BubblePopupBarView
* @extends BI.BubblePopupView
*/
BI.BubblePopupBarView = BI.inherit(BI.BubblePopupView, {
_defaultConfig: function () {
return BI.extend(BI.BubblePopupBarView.superclass._defaultConfig.apply(this, arguments), {
extraCls: "bi-bubble-bar-popup-view",
buttons: [{value: BI.i18nText(BI.i18nText("BI-Basic_Sure"))}, {value: BI.i18nText("BI-Basic_Cancel"), level: "ignore"}]
})
},
_init: function () {
BI.BubblePopupBarView.superclass._init.apply(this, arguments);
},
_createToolBar: function () {
var o = this.options, self = this;
var items = [];
BI.each(o.buttons.reverse(), function (i, buttonOpt) {
if(BI.isWidget(buttonOpt)){
items.push(buttonOpt);
}else{
items.push(BI.extend({
type: 'bi.button',
height: 30,
handler: function (v) {
self.fireEvent(BI.BubblePopupBarView.EVENT_CLICK_TOOLBAR_BUTTON, v);
}
}, buttonOpt))
}
});
return BI.createWidget({
type: 'bi.right_vertical_adapt',
height: 40,
hgap: 10,
bgap: 10,
items: items
});
}
});
BI.BubblePopupBarView.EVENT_CLICK_TOOLBAR_BUTTON = "EVENT_CLICK_TOOLBAR_BUTTON";
$.shortcut("bi.bubble_bar_popup_view", BI.BubblePopupBarView);

73
src/case/combo/popup.bubble.js

@ -0,0 +1,73 @@
/**
* Created by GUY on 2017/2/8.
*
* @class BI.BubblePopupView
* @extends BI.PopupView
*/
BI.BubblePopupView = BI.inherit(BI.PopupView, {
_defaultConfig: function () {
var config = BI.BubblePopupView.superclass._defaultConfig.apply(this, arguments);
return BI.extend(config, {
baseCls: config.baseCls + " bi-bubble-popup-view"
})
},
_init: function () {
BI.BubblePopupView.superclass._init.apply(this, arguments);
},
showLine: function (direction) {
var pos = {}, op = {};
switch (direction) {
case "left":
pos = {
top: 0,
bottom: 0,
left: -1
};
op = {width: 3};
break;
case "right":
pos = {
top: 0,
bottom: 0,
right: -1
};
op = {width: 3};
break;
case "top":
pos = {
left: 0,
right: 0,
top: -1
};
op = {height: 3};
break;
case "bottom":
pos = {
left: 0,
right: 0,
bottom: -1
};
op = {height: 3};
break;
default:
break;
}
this.line = BI.createWidget(op, {
type: "bi.layout",
cls: "bubble-popup-line"
});
pos.el = this.line;
BI.createWidget({
type: "bi.absolute",
element: this,
items: [pos]
})
},
hideLine: function () {
this.line && this.line.destroy();
}
});
$.shortcut("bi.bubble_popup_view", BI.BubblePopupView);

6
src/case/editor/editor.record.js

@ -79,7 +79,7 @@ BI.RecordEditor = BI.inherit(BI.Single, {
self.fireEvent(BI.RecordEditor.EVENT_SPACE, arguments);
});
this.editor.on(BI.Editor.EVENT_CONFIRM, function () {
self.setValue(self.getValue());
self.setState(self.getValue());
self.editor.isValid() && self.editor.setValue("");
self.fireEvent(BI.RecordEditor.EVENT_CONFIRM, arguments);
});
@ -119,7 +119,7 @@ BI.RecordEditor = BI.inherit(BI.Single, {
element: this,
items: [this.textContainer, this.editor]
});
BI.Resizers.add(this.getName(), BI.bind(this._adjustInputWidth, this));
BI.ResizeDetector.addResizeListener(this, BI.bind(this._adjustInputWidth, this));
this._adjustInputWidth();
},
@ -184,7 +184,7 @@ BI.RecordEditor = BI.inherit(BI.Single, {
},
setState: function (v) {
BI.StateEditor.superclass.setValue.apply(this, arguments);
BI.RecordEditor.superclass.setValue.apply(this, arguments);
v = BI.isArray(v) ? v : (v == "" ? [] : [v]);
var contents = this.contents = [];
BI.each(v, function (i, lb) {

4
src/case/editor/editor.shelter.js

@ -207,6 +207,10 @@ BI.ShelterEditor = BI.inherit(BI.Single, {
return this.editor.getLastValidValue();
},
setTextStyle: function (style) {
this.text.setStyle(style);
},
setValue: function (k) {
this.editor.setValue(k);
this._checkText();

2
src/case/editor/editor.sign.js

@ -137,6 +137,7 @@ BI.SignEditor = BI.inherit(BI.Single, {
_checkText: function () {
var o = this.options;
BI.nextTick(BI.bind(function () {
if (this.editor.getValue() === "") {
this.text.setValue(o.watermark || "");
this.text.element.addClass("bi-water-mark");
@ -144,6 +145,7 @@ BI.SignEditor = BI.inherit(BI.Single, {
this.text.setValue(this.editor.getValue());
this.text.element.removeClass("bi-water-mark");
}
}, this));
},
_showInput: function () {

29
src/case/editor/editor.state.js

@ -156,8 +156,10 @@ BI.StateEditor = BI.inherit(BI.Single, {
},
focus: function () {
if (this.options.disabled === false) {
this._showInput();
this.editor.focus();
}
},
blur: function () {
@ -199,6 +201,11 @@ BI.StateEditor = BI.inherit(BI.Single, {
this.editor.setValue(k);
},
setEnable: function (v) {
this.text.setEnable(v);
this.editor.setEnable(v);
},
getValue: function () {
return this.editor.getValue();
},
@ -212,28 +219,46 @@ BI.StateEditor = BI.inherit(BI.Single, {
if (BI.isNumber(v)) {
if (v === BI.Selection.All) {
this.text.setText(BI.i18nText("BI-Select_All"));
this.text.setTitle("");
this.text.element.removeClass("state-editor-infinite-text");
} else if (v === BI.Selection.Multi) {
this.text.setText(BI.i18nText("BI-Select_Part"));
this.text.setTitle("");
this.text.element.removeClass("state-editor-infinite-text");
} else {
this.text.setText(BI.i18nText("BI-Unrestricted"));
this.text.setTitle("");
this.text.element.addClass("state-editor-infinite-text");
}
return;
}
if (!BI.isArray(v) || v.length === 1) {
if (BI.isString(v)) {
if (BI.isEmpty(v)) {
this.text.setText(BI.i18nText("BI-Unrestricted"));
this.text.setTitle("");
this.text.element.addClass("state-editor-infinite-text");
} else {
this.text.setText(v);
this.text.setTitle(v);
this.text.element.removeClass("state-editor-infinite-text");
} else if (BI.isEmpty(v)) {
}
return;
}
if (BI.isArray(v)) {
if (BI.isEmpty(v)) {
this.text.setText(BI.i18nText("BI-Unrestricted"));
this.text.element.addClass("state-editor-infinite-text");
} else if (v.length === 1) {
this.text.setText(v[0]);
this.text.setTitle(v[0]);
this.text.element.removeClass("state-editor-infinite-text");
} else {
this.text.setText(BI.i18nText("BI-Select_Part"));
this.text.setTitle("");
this.text.element.removeClass("state-editor-infinite-text");
}
}
}
});
BI.StateEditor.EVENT_CHANGE = "EVENT_CHANGE";
BI.StateEditor.EVENT_FOCUS = "EVENT_FOCUS";

11
src/case/editor/editor.state.simple.js

@ -199,6 +199,11 @@ BI.SimpleStateEditor = BI.inherit(BI.Single, {
this.editor.setValue(k);
},
setEnable: function(v){
this.text.setEnable(v);
this.editor.setEnable(v);
},
getValue: function () {
return this.editor.getValue();
},
@ -211,10 +216,10 @@ BI.SimpleStateEditor = BI.inherit(BI.Single, {
BI.SimpleStateEditor.superclass.setValue.apply(this, arguments);
if (BI.isNumber(v)) {
if (v === BI.Selection.All) {
this.text.setText(BI.i18nText("BI-Aleady_Selected"));
this.text.setText(BI.i18nText("BI-Already_Selected"));
this.text.element.removeClass("state-editor-infinite-text");
} else if (v === BI.Selection.Multi) {
this.text.setText(BI.i18nText("BI-Aleady_Selected"));
this.text.setText(BI.i18nText("BI-Already_Selected"));
this.text.element.removeClass("state-editor-infinite-text");
} else {
this.text.setText(BI.i18nText("BI-Unrestricted"));
@ -230,7 +235,7 @@ BI.SimpleStateEditor = BI.inherit(BI.Single, {
this.text.setText(BI.i18nText("BI-Unrestricted"));
this.text.element.addClass("state-editor-infinite-text");
} else {
this.text.setText(BI.i18nText("BI-Aleady_Selected"));
this.text.setText(BI.i18nText("BI-Already_Selected"));
this.text.element.removeClass("state-editor-infinite-text");
}
}

11
src/case/floatbox/floatboxsection.bar.js

@ -7,7 +7,7 @@
BI.BarFloatSection = BI.inherit(BI.FloatSection, {
_defaultConfig: function () {
return BI.extend(BI.BarFloatSection.superclass._defaultConfig.apply(this, arguments), {
btns: [BI.i18nText(BI.i18nText("BI-Sure")), BI.i18nText("BI-Cancel")]
btns: [BI.i18nText(BI.i18nText("BI-Basic_Sure")), BI.i18nText("BI-Basic_Cancel")]
})
},
@ -73,7 +73,7 @@ BI.BarFloatSection = BI.inherit(BI.FloatSection, {
BI.BarPopoverSection = BI.inherit(BI.PopoverSection, {
_defaultConfig: function () {
return BI.extend(BI.BarPopoverSection.superclass._defaultConfig.apply(this, arguments), {
btns: [BI.i18nText(BI.i18nText("BI-Sure")), BI.i18nText(BI.i18nText("BI-Cancel"))]
btns: [BI.i18nText(BI.i18nText("BI-Basic_Sure")), BI.i18nText(BI.i18nText("BI-Basic_Cancel"))]
})
},
@ -82,10 +82,11 @@ BI.BarPopoverSection = BI.inherit(BI.PopoverSection, {
},
rebuildSouth: function (south) {
var self = this;
var self = this, o = this.options;
this.sure = BI.createWidget({
type: 'bi.button',
text: this.options.btns[0],
warningTitle: o.warningTitle,
height: 30,
value: 0,
handler: function (v) {
@ -109,5 +110,9 @@ BI.BarPopoverSection = BI.inherit(BI.PopoverSection, {
hgap: 5,
items: [this.cancel, this.sure]
});
},
setConfirmButtonEnable: function(v){
this.sure.setEnable(!!v);
}
});

2
src/case/layer/layer.multiselect.js

@ -10,7 +10,7 @@ BI.MultiPopupView = BI.inherit(BI.PopupView, {
var conf = BI.MultiPopupView.superclass._defaultConfig.apply(this, arguments);
return BI.extend(conf, {
baseCls: (conf.baseCls || "") + " bi-multi-list-view",
buttons: [BI.i18nText("BI-Sure")]
buttons: [BI.i18nText("BI-Basic_Sure")]
})
},

242
src/case/logintimeout/login.timeout.js

@ -0,0 +1,242 @@
/**
* Created by Young's on 2016/8/30.
*/
BI.LoginTimeOut = BI.inherit(BI.BarPopoverSection, {
_defaultConfig: function () {
return BI.extend(BI.LoginTimeOut.superclass._defaultConfig.apply(this, arguments), {})
},
_init: function () {
BI.LoginTimeOut.superclass._init.apply(this, arguments);
},
rebuildNorth: function (north) {
BI.createWidget({
type: "bi.label",
element: north,
text: BI.i18nText("BI-Login_Timeout"),
height: 50,
textAlign: "left"
})
},
rebuildCenter: function (center) {
var self = this, o = this.options;
var userNameInput = BI.createWidget({
type: "bi.editor",
watermark: BI.i18nText("BI-Username"),
cls: "login-input",
allowBlank: true,
width: 300,
height: 30
});
var userNameMask = BI.createWidget({
type: "bi.text_button",
width: 330,
height: 56,
cls: "error-mask"
});
userNameMask.setVisible(false);
userNameMask.on(BI.TextButton.EVENT_CHANGE, function () {
userNameInput.focus();
this.element.fadeOut();
});
var userNameWrapper = BI.createWidget({
type: "bi.absolute",
cls: "input-wrapper login-username-icon",
items: [{
el: {
type: "bi.icon",
width: 26,
height: 26
},
top: 10,
left: 0
}, {
el: userNameInput,
top: 8,
left: 30
}, {
el: userNameMask,
top: 0,
left: 0
}],
width: 330,
height: 56
});
var passwordInput = BI.createWidget({
type: "bi.editor",
inputType: "password",
cls: "login-input",
allowBlank: true,
watermark: BI.i18nText("BI-Basic_Password"),
width: 300,
height: 30
});
var passwordMask = BI.createWidget({
type: "bi.text_button",
width: 330,
height: 56,
cls: "error-mask"
});
passwordMask.setVisible(false);
passwordMask.on(BI.TextButton.EVENT_CHANGE, function () {
passwordInput.focus();
this.element.fadeOut();
});
var passwordWrapper = BI.createWidget({
type: "bi.absolute",
cls: "input-wrapper login-password-icon",
items: [{
el: {
type: "bi.icon",
width: 26,
height: 26
},
top: 10,
left: 0
}, {
el: passwordInput,
top: 8,
left: 30
}, {
el: passwordMask,
top: 0,
left: 0
}],
width: 330,
height: 56
});
var loginButton = BI.createWidget({
type: "bi.text_button",
text: BI.i18nText("BI-Basic_Login"),
cls: "login-button",
width: 330,
height: 50
});
loginButton.on(BI.TextButton.EVENT_CHANGE, function () {
if (BI.isEmptyString(userNameInput.getValue())) {
self._showMes(userNameMask, BI.i18nText("BI-Username_Not_Null"));
return;
}
if (BI.isEmptyString(passwordInput.getValue())) {
self._showMes(passwordMask, BI.i18nText("BI-Password_Not_Null"));
return;
}
//反正是登录直接用FR的登录了
FR.ajax({
url: FR.servletURL + '?op=fs_load&cmd=login',
data: FR.cjkEncodeDO({
fr_username: encodeURIComponent(userNameInput.getValue()),
fr_password: encodeURIComponent(passwordInput.getValue()),
fr_remember: self.keepLoginState.isSelected()
}),
type: 'POST',
async: false,
error: function () {
BI.Msg.toast("Error!");
},
complete: function (res, status) {
if (BI.isEmptyString(res.responseText)) {
self._showMes(userNameMask, BI.i18nText("BI-Authentication_Failed"));
return;
}
var signResult = FR.jsonDecode(res.responseText);
if (signResult.fail) {
//用户名和密码不匹配
self._showMes(userNameMask, BI.i18nText("BI-Username_Password_Not_Correct"));
} else if (signResult.url) {
self.fireEvent(BI.LoginTimeOut.EVENT_LOGIN);
}
}
});
});
var logo;
if (BI.isNotNull(window.top.FS)) {
logo = window.top.FS.config.logoImageID4FS;
}
BI.createWidget({
type: "bi.absolute",
element: center,
cls: "bi-login-timeout-center",
items: [{
el: {
type: "bi.center_adapt",
items: [{
type: "bi.img",
src: FR.servletURL + (logo ?
'?op=fr_attach&cmd=ah_image&id=' + logo + '&isAdjust=false' :
'?op=resource&resource=/com/fr/bi/web/images/login/bi_logo.png'),
width: 120,
height: 120
}],
width: 200,
height: 300
},
left: 0,
top: 0
}, {
el: userNameWrapper,
top: 30,
left: 230
}, {
el: passwordWrapper,
top: 100,
left: 230
}, {
el: loginButton,
top: 200,
left: 230
}]
});
},
_showMes: function (widget, mes) {
widget.setText(mes);
widget.element.fadeIn();
setTimeout(function () {
if (widget.element.isVisible()) {
widget.element.fadeOut();
}
}, 5000);
},
rebuildSouth: function (south) {
this.keepLoginState = BI.createWidget({
type: "bi.checkbox",
width: 16,
height: 16
});
BI.createWidget({
type: "bi.absolute",
element: south,
cls: "bi-login-timeout-south",
items: [{
el: this.keepLoginState,
top: 0,
left: 230
}, {
el: {
type: "bi.label",
text: BI.i18nText("BI-Keep_Login_State"),
cls: "keep-state",
height: 30
},
top: -7,
left: 260
}]
})
}
});
BI.extend(BI.LoginTimeOut, {
POPOVER_ID: "___popover__id___"
});
BI.LoginTimeOut.EVENT_LOGIN = "EVENT_LOGIN";
$.shortcut("bi.login_timeout", BI.LoginTimeOut);

80
src/case/pager/pager.all.js → src/case/pager/pager.all.count.js

@ -1,36 +1,33 @@
/**
* 有总页数的分页控件
*
* Created by GUY on 2015/9/8.
* @class BI.AllPagger
* @extends BI.Widget
* 有总页数和总行数的分页控件
* Created by Young's on 2016/10/13.
*/
BI.AllPagger = BI.inherit(BI.Widget, {
BI.AllCountPager = BI.inherit(BI.Widget, {
_defaultConfig: function () {
return BI.extend(BI.AllPagger.superclass._defaultConfig.apply(this, arguments), {
extraCls: "bi-all-pager",
width: 96,
height: 25,
return BI.extend(BI.AllCountPager.superclass._defaultConfig.apply(this, arguments), {
extraCls: "bi-all-count-pager",
height: 30,
pages: 1, //必选项
curr: 1 //初始化当前页, pages为数字时可用
curr: 1, //初始化当前页, pages为数字时可用,
count: 1 //总行数
})
},
_init: function () {
BI.AllPagger.superclass._init.apply(this, arguments);
BI.AllCountPager.superclass._init.apply(this, arguments);
var self = this, o = this.options;
this.editor = BI.createWidget({
type: "bi.small_text_editor",
cls: "pager-editor",
validationChecker: function (v) {
return BI.isPositiveInteger(v);
return (self.rowCount.getValue() === 0 && v === "0") || BI.isPositiveInteger(v);
},
hgap: 4,
vgap: 0,
value: o.curr,
errorText: BI.i18nText("BI-Please_Input_Integer"),
width: 30,
height: o.height - 2
height: 20
});
this.pager = BI.createWidget({
type: "bi.pager",
@ -53,7 +50,7 @@ BI.AllPagger = BI.inherit(BI.Widget, {
value: "prev",
title: BI.i18nText("BI-Previous_Page"),
warningTitle: BI.i18nText("BI-Current_Is_First_Page"),
height: o.height - 2,
height: 20,
cls: "all-pager-prev column-pre-page-h-font"
},
next: {
@ -61,7 +58,7 @@ BI.AllPagger = BI.inherit(BI.Widget, {
value: "next",
title: BI.i18nText("BI-Next_Page"),
warningTitle: BI.i18nText("BI-Current_Is_Last_Page"),
height: o.height - 2,
height: 20,
cls: "all-pager-next column-next-page-h-font"
},
@ -73,10 +70,10 @@ BI.AllPagger = BI.inherit(BI.Widget, {
this.editor.on(BI.TextEditor.EVENT_CONFIRM, function () {
self.pager.setValue(BI.parseInt(self.editor.getValue()));
self.fireEvent(BI.AllPagger.EVENT_CHANGE);
self.fireEvent(BI.AllCountPager.EVENT_CHANGE);
});
this.pager.on(BI.Pager.EVENT_CHANGE, function () {
self.fireEvent(BI.AllPagger.EVENT_CHANGE);
self.fireEvent(BI.AllCountPager.EVENT_CHANGE);
});
this.pager.on(BI.Pager.EVENT_AFTER_POPULATE, function () {
self.editor.setValue(self.pager.getCurrentPage());
@ -89,11 +86,34 @@ BI.AllPagger = BI.inherit(BI.Widget, {
text: "/" + o.pages
});
this.rowCount = BI.createWidget({
type: "bi.label",
height: o.height,
hgap: 5,
text: o.count,
title: o.count
});
var count = BI.createWidget({
type: "bi.left",
items: [{
type: "bi.label",
height: o.height,
text: BI.i18nText("BI-Basic_Total"),
width: 15
}, this.rowCount, {
type: "bi.label",
height: o.height,
text: BI.i18nText("BI-Tiao_Data"),
width: 50,
textAlign: "left"
}]
});
BI.createWidget({
type: "bi.center_adapt",
element: this,
columnSize: [30, "", 36],
items: [this.editor, this.allPages, this.pager]
columnSize: ["", 30, 40, 36],
items: [count, this.editor, this.allPages, this.pager]
})
},
@ -101,12 +121,18 @@ BI.AllPagger = BI.inherit(BI.Widget, {
this.allPages.setText("/" + v);
this.allPages.setTitle(v);
this.pager.setAllPages(v);
this.editor.setEnable(v >= 1);
},
setValue: function (v) {
this.pager.setValue(v);
},
setCount: function (count) {
this.rowCount.setText(count);
this.rowCount.setTitle(count);
},
getCurrentPage: function () {
return this.pager.getCurrentPage();
},
@ -119,9 +145,19 @@ BI.AllPagger = BI.inherit(BI.Widget, {
return this.pager.hasNext();
},
setPagerVisible: function (b) {
this.editor.setVisible(b);
this.allPages.setVisible(b);
this.pager.setVisible(b);
},
getAliasWidth: function () {
return this.options.width - 100;
},
populate: function () {
this.pager.populate();
}
});
BI.AllPagger.EVENT_CHANGE = "EVENT_CHANGE";
$.shortcut("bi.all_pager", BI.AllPagger);
BI.AllCountPager.EVENT_CHANGE = "EVENT_CHANGE";
$.shortcut("bi.all_count_pager", BI.AllCountPager);

163
src/case/pager/pager.all.count.js~67b55d486e769f445942f15883303ca839ffd092

@ -0,0 +1,163 @@
/**
* 有总页数和总行数的分页控件
* Created by Young's on 2016/10/13.
*/
BI.AllCountPager = BI.inherit(BI.Widget, {
_defaultConfig: function () {
return BI.extend(BI.AllCountPager.superclass._defaultConfig.apply(this, arguments), {
extraCls: "bi-all-count-pager",
height: 30,
pages: 1, //必选项
curr: 1, //初始化当前页, pages为数字时可用,
count: 1 //总行数
})
},
_init: function () {
BI.AllCountPager.superclass._init.apply(this, arguments);
var self = this, o = this.options;
this.editor = BI.createWidget({
type: "bi.small_text_editor",
cls: "pager-editor",
validationChecker: function (v) {
return (self.rowCount.getValue() == 0 && v === "0") || BI.isPositiveInteger(v);
},
hgap: 4,
vgap: 0,
value: o.curr,
errorText: BI.i18nText("BI-Please_Input_Integer"),
width: 30,
height: 20
});
this.pager = BI.createWidget({
type: "bi.detail_pager",
width: 36,
layouts: [{
type: "bi.horizontal",
hgap: 1,
vgap: 1
}],
dynamicShow: false,
pages: o.pages,
curr: o.curr,
groups: 0,
first: false,
last: false,
prev: {
type: "bi.icon_button",
value: "prev",
title: BI.i18nText("BI-Previous_Page"),
warningTitle: BI.i18nText("BI-Current_Is_First_Page"),
height: 20,
cls: "all-pager-prev column-pre-page-h-font"
},
next: {
type: "bi.icon_button",
value: "next",
title: BI.i18nText("BI-Next_Page"),
warningTitle: BI.i18nText("BI-Current_Is_Last_Page"),
height: 20,
cls: "all-pager-next column-next-page-h-font"
},
hasPrev: o.hasPrev,
hasNext: o.hasNext,
firstPage: o.firstPage,
lastPage: o.lastPage
});
this.editor.on(BI.TextEditor.EVENT_CONFIRM, function () {
self.pager.setValue(BI.parseInt(self.editor.getValue()));
self.fireEvent(BI.AllCountPager.EVENT_CHANGE);
});
this.pager.on(BI.Pager.EVENT_CHANGE, function () {
self.fireEvent(BI.AllCountPager.EVENT_CHANGE);
});
this.pager.on(BI.Pager.EVENT_AFTER_POPULATE, function () {
self.editor.setValue(self.pager.getCurrentPage());
});
this.allPages = BI.createWidget({
type: "bi.label",
width: 30,
title: o.pages,
text: "/" + o.pages
});
this.rowCount = BI.createWidget({
type: "bi.label",
height: o.height,
hgap: 5,
text: o.count,
title: o.count
});
var count = BI.createWidget({
type: "bi.left",
items: [{
type: "bi.label",
height: o.height,
text: BI.i18nText("BI-Basic_Total"),
width: 15
}, this.rowCount, {
type: "bi.label",
height: o.height,
text: BI.i18nText("BI-Basic_Tiao") + BI.i18nText("BI-Basic_Data"),
width: 50,
textAlign: "left"
}]
});
BI.createWidget({
type: "bi.center_adapt",
element: this,
columnSize: ["", 30, 40, 36],
items: [count, this.editor, this.allPages, this.pager]
})
},
setAllPages: function (v) {
this.allPages.setText("/" + v);
this.allPages.setTitle(v);
this.pager.setAllPages(v);
this.editor.setEnable(v >= 1);
},
setValue: function (v) {
this.pager.setValue(v);
},
setCount: function (count) {
this.rowCount.setValue(count);
this.rowCount.setTitle(count);
},
getCurrentPage: function () {
return this.pager.getCurrentPage();
},
hasPrev: function () {
return this.pager.hasPrev();
},
hasNext: function () {
return this.pager.hasNext();
},
setPagerVisible: function (b) {
this.editor.setVisible(b);
this.allPages.setVisible(b);
this.pager.setVisible(b);
},
getAliasWidth: function () {
return this.options.width - 100;
},
populate: function () {
this.pager.populate();
}
});
BI.AllCountPager.EVENT_CHANGE = "EVENT_CHANGE";
$.shortcut("bi.all_count_pager", BI.AllCountPager);

101
src/case/pager/pager.direction.js

@ -10,8 +10,7 @@ BI.DirectionPager = BI.inherit(BI.Widget, {
_defaultConfig: function () {
return BI.extend(BI.DirectionPager.superclass._defaultConfig.apply(this, arguments), {
baseCls: "bi-direction-pager",
width: 108,
height: 25,
height: 30,
horizontal: {
pages: false, //总页数
curr: 1, //初始化当前页, pages为数字时可用
@ -38,26 +37,26 @@ BI.DirectionPager = BI.inherit(BI.Widget, {
var v = o.vertical, h = o.horizontal;
this._createVPager();
this._createHPager();
BI.createWidget({
this.layout = BI.createWidget({
type: "bi.absolute",
scrollable: false,
element: this,
items: [{
el: this.vpager,
top: 0,
left: -19
top: 5,
right: 74
}, {
el: this.vlabel,
top: 0,
left: 16
top: 5,
right: 111
}, {
el: this.hpager,
top: 0,
right: -19
top: 5,
right: -9
}, {
el: this.hlabel,
top: 0,
right: 16
top: 5,
right: 28
}]
});
},
@ -67,17 +66,18 @@ BI.DirectionPager = BI.inherit(BI.Widget, {
var v = o.vertical;
this.vlabel = BI.createWidget({
type: "bi.label",
width: 20,
height: o.height,
width: 24,
height: 20,
value: v.curr,
title: v.curr
});
this.vpager = BI.createWidget({
type: "bi.pager",
width: 72,
width: 76,
layouts: [{
type: "bi.horizontal",
lgap: 20,
scrollx: false,
rgap: 24,
vgap: 1
}],
@ -93,9 +93,9 @@ BI.DirectionPager = BI.inherit(BI.Widget, {
value: "prev",
title: BI.i18nText("BI-Up_Page"),
warningTitle: BI.i18nText("BI-Current_Is_First_Page"),
height: o.height - 2,
iconWidth: o.height - 2,
iconHeight: o.height - 2,
height: 20,
iconWidth: 16,
iconHeight: 16,
cls: "direction-pager-prev column-pre-page-h-font"
},
next: {
@ -103,9 +103,9 @@ BI.DirectionPager = BI.inherit(BI.Widget, {
value: "next",
title: BI.i18nText("BI-Down_Page"),
warningTitle: BI.i18nText("BI-Current_Is_Last_Page"),
height: o.height - 2,
iconWidth: o.height - 2,
iconHeight: o.height - 2,
height: 20,
iconWidth: 16,
iconHeight: 16,
cls: "direction-pager-next column-next-page-h-font"
},
@ -120,6 +120,7 @@ BI.DirectionPager = BI.inherit(BI.Widget, {
});
this.vpager.on(BI.Pager.EVENT_AFTER_POPULATE, function () {
self.vlabel.setValue(this.getCurrentPage());
self.vlabel.setTitle(this.getCurrentPage());
});
},
@ -128,17 +129,18 @@ BI.DirectionPager = BI.inherit(BI.Widget, {
var h = o.horizontal;
this.hlabel = BI.createWidget({
type: "bi.label",
width: 20,
height: o.height,
width: 24,
height: 20,
value: h.curr,
title: h.curr
});
this.hpager = BI.createWidget({
type: "bi.pager",
width: 72,
width: 76,
layouts: [{
type: "bi.horizontal",
rgap: 20,
scrollx: false,
rgap: 24,
vgap: 1
}],
@ -154,9 +156,9 @@ BI.DirectionPager = BI.inherit(BI.Widget, {
value: "prev",
title: BI.i18nText("BI-Left_Page"),
warningTitle: BI.i18nText("BI-Current_Is_First_Page"),
height: o.height - 2,
iconWidth: o.height - 2,
iconHeight: o.height - 2,
height: 20,
iconWidth: 16,
iconHeight: 16,
cls: "direction-pager-prev row-pre-page-h-font"
},
next: {
@ -164,9 +166,9 @@ BI.DirectionPager = BI.inherit(BI.Widget, {
value: "next",
title: BI.i18nText("BI-Right_Page"),
warningTitle: BI.i18nText("BI-Current_Is_Last_Page"),
height: o.height - 2,
iconWidth: o.height - 2,
iconHeight: o.height - 2,
height: 20,
iconWidth: 16,
iconHeight: 16,
cls: "direction-pager-next row-next-page-h-font"
},
@ -181,6 +183,7 @@ BI.DirectionPager = BI.inherit(BI.Widget, {
});
this.hpager.on(BI.Pager.EVENT_AFTER_POPULATE, function () {
self.hlabel.setValue(this.getCurrentPage());
self.hlabel.setTitle(this.getCurrentPage());
});
},
@ -233,11 +236,41 @@ BI.DirectionPager = BI.inherit(BI.Widget, {
populate: function () {
this.vpager.populate();
this.hpager.populate();
var vShow = false, hShow = false;
if (!this.hasHNext() && !this.hasHPrev()) {
this.setHPagerVisible(false);
} else {
this.setHPagerVisible(true);
hShow = true;
}
if (!this.hasVNext() && !this.hasVPrev()) {
this.setVPagerVisible(false);
} else {
this.setVPagerVisible(true);
vShow = true;
}
var num = [74, 111, -9, 28];
var items = this.layout.attr("items");
if (vShow === true && hShow === true) {
items[0].right = num[0];
items[1].right = num[1];
items[2].right = num[2];
items[3].right = num[3];
} else if (vShow === true) {
items[0].right = num[2];
items[1].right = num[3];
} else if (hShow === true) {
items[2].right = num[2];
items[3].right = num[3];
}
this.layout.attr("items", items);
this.layout.resize();
},
refresh: function () {
this.vpager.refresh();
this.hpager.refresh();
clear: function () {
this.vpager.attr("curr", 1);
this.hpager.attr("curr", 1);
}
});
BI.DirectionPager.EVENT_CHANGE = "EVENT_CHANGE";

288
src/case/pager/pager.js

@ -0,0 +1,288 @@
/**
* 分页控件
*
* Created by GUY on 2015/8/31.
* @class BI.DetailPager
* @extends BI.Widget
*/
BI.DetailPager = BI.inherit(BI.Widget, {
_defaultConfig: function () {
return BI.extend(BI.DetailPager.superclass._defaultConfig.apply(this, arguments), {
baseCls: "bi-detail-pager",
behaviors: {},
layouts: [{
type: "bi.horizontal",
hgap: 10,
vgap: 0
}],
dynamicShow: true, //是否动态显示上一页、下一页、首页、尾页, 若为false,则指对其设置使能状态
//dynamicShow为false时以下两个有用
dynamicShowFirstLast: false,//是否动态显示首页、尾页
dynamicShowPrevNext: false,//是否动态显示上一页、下一页
pages: false, //总页数
curr: function () {
return 1;
}, //初始化当前页
groups: 0, //连续显示分页数
jump: BI.emptyFn, //分页的回调函数
first: false, //是否显示首页
last: false, //是否显示尾页
prev: "上一页",
next: "下一页",
firstPage: 1,
lastPage: function () { //在万不得已时才会调用这个函数获取最后一页的页码, 主要作用于setValue方法
return 1;
},
hasPrev: BI.emptyFn, //pages不可用时有效
hasNext: BI.emptyFn //pages不可用时有效
})
},
_init: function () {
BI.DetailPager.superclass._init.apply(this, arguments);
var self = this;
this.currPage = BI.result(this.options, "curr");
//翻页太灵敏
this._lock = false;
this._debouce = BI.debounce(function () {
self._lock = false;
}, 300);
this._populate();
},
_populate: function () {
var self = this, o = this.options, view = [], dict = {};
this.empty();
var pages = BI.result(o, "pages");
var curr = BI.result(this, "currPage");
var groups = BI.result(o, "groups");
var first = BI.result(o, "first");
var last = BI.result(o, "last");
var prev = BI.result(o, "prev");
var next = BI.result(o, "next");
if (pages === false) {
groups = 0;
first = false;
last = false;
} else {
groups > pages && (groups = pages);
}
//计算当前组
dict.index = Math.ceil((curr + ((groups > 1 && groups !== pages) ? 1 : 0)) / (groups === 0 ? 1 : groups));
//当前页非首页,则输出上一页
if (((!o.dynamicShow && !o.dynamicShowPrevNext) || curr > 1) && prev !== false) {
if (BI.isKey(prev)) {
view.push({
text: prev,
value: "prev",
disabled: pages === false ? o.hasPrev(curr) === false : !(curr > 1 && prev !== false)
})
} else {
view.push(BI.extend({
disabled: pages === false ? o.hasPrev(curr) === false : !(curr > 1 && prev !== false)
}, prev));
}
}
//当前组非首组,则输出首页
if (((!o.dynamicShow && !o.dynamicShowFirstLast) || (dict.index > 1 && groups !== 0)) && first) {
view.push({
text: first,
value: "first",
disabled: !(dict.index > 1 && groups !== 0)
});
if (dict.index > 1 && groups !== 0) {
view.push({
type: "bi.label",
cls: "page-ellipsis",
text: "\u2026"
});
}
}
//输出当前页组
dict.poor = Math.floor((groups - 1) / 2);
dict.start = dict.index > 1 ? curr - dict.poor : 1;
dict.end = dict.index > 1 ? (function () {
var max = curr + (groups - dict.poor - 1);
return max > pages ? pages : max;
}()) : groups;
if (dict.end - dict.start < groups - 1) { //最后一组状态
dict.start = dict.end - groups + 1;
}
var s = dict.start, e = dict.end;
if (first && last && (dict.index > 1 && groups !== 0) && (pages > groups && dict.end < pages && groups !== 0)) {
s++;
e--;
}
for (; s <= e; s++) {
if (s === curr) {
view.push({
text: s,
value: s,
selected: true
})
} else {
view.push({
text: s,
value: s
})
}
}
//总页数大于连续分页数,且当前组最大页小于总页,输出尾页
if (((!o.dynamicShow && !o.dynamicShowFirstLast) || (pages > groups && dict.end < pages && groups !== 0)) && last) {
if (pages > groups && dict.end < pages && groups !== 0) {
view.push({
type: "bi.label",
cls: "page-ellipsis",
text: "\u2026"
});
}
view.push({
text: last,
value: "last",
disabled: !(pages > groups && dict.end < pages && groups !== 0)
})
}
//当前页不为尾页时,输出下一页
dict.flow = !prev && groups === 0;
if (((!o.dynamicShow && !o.dynamicShowPrevNext) && next) || (curr !== pages && next || dict.flow)) {
view.push((function () {
if (BI.isKey(next)) {
if (pages === false) {
return {text: next, value: "next", disabled: o.hasNext(curr) === false}
}
return (dict.flow && curr === pages)
?
{text: next, value: "next", disabled: true}
:
{text: next, value: "next", disabled: !(curr !== pages && next || dict.flow)};
} else {
return BI.extend({
disabled: pages === false ? o.hasNext(curr) === false : !(curr !== pages && next || dict.flow)
}, next);
}
}()));
}
this.button_group = BI.createWidget({
type: "bi.button_group",
element: this,
items: BI.createItems(view, {
cls: "page-item",
height: 23,
hgap: 10
}),
behaviors: o.behaviors,
layouts: o.layouts
});
this.button_group.on(BI.Controller.EVENT_CHANGE, function (type, value, obj) {
if (self._lock === true) {
return;
}
self._lock = true;
self._debouce();
if (type === BI.Events.CLICK) {
var v = self.button_group.getValue()[0];
switch (v) {
case "first":
self.currPage = 1;
break;
case "last":
self.currPage = pages;
break;
case "prev":
self.currPage--;
break;
case "next":
self.currPage++;
break;
default:
self.currPage = v;
break;
}
o.jump.apply(self, [{
pages: pages,
curr: self.currPage
}]);
self._populate();
self.fireEvent(BI.DetailPager.EVENT_CHANGE, obj);
}
self.fireEvent(BI.Controller.EVENT_CHANGE, arguments);
});
this.fireEvent(BI.DetailPager.EVENT_AFTER_POPULATE);
},
getCurrentPage: function () {
return this.currPage;
},
setAllPages: function (pages) {
this.options.pages = pages;
},
hasPrev: function (v) {
v || (v = 1);
var o = this.options;
var pages = this.options.pages;
return pages === false ? o.hasPrev(v) : v > 1;
},
hasNext: function (v) {
v || (v = 1);
var o = this.options;
var pages = this.options.pages;
return pages === false ? o.hasNext(v) : v < pages;
},
setValue: function (v) {
var o = this.options;
v = v | 0;
v = v < 1 ? 1 : v;
if (o.pages === false) {
var lastPage = BI.result(o, "lastPage"), firstPage = 1;
this.currPage = v > lastPage ? lastPage : ((firstPage = BI.result(o, "firstPage")), (v < firstPage ? firstPage : v));
} else {
v = v > o.pages ? o.pages : v;
this.currPage = v;
}
this._populate();
},
getValue: function () {
var val = this.button_group.getValue()[0];
switch (val) {
case "prev":
return -1;
case "next":
return 1;
case "first":
return BI.MIN;
case "last":
return BI.MAX;
default :
return val;
}
},
attr: function (key, value) {
BI.DetailPager.superclass.attr.apply(this, arguments);
if (key === "curr") {
this.currPage = BI.result(this.options, "curr");
}
},
populate: function () {
this._populate();
}
});
BI.DetailPager.EVENT_CHANGE = "EVENT_CHANGE";
BI.DetailPager.EVENT_AFTER_POPULATE = "EVENT_AFTER_POPULATE";
$.shortcut("bi.detail_pager", BI.DetailPager);

116
src/case/pager/pager.number.js

@ -1,116 +0,0 @@
/**
* 显示页码的分页控件
*
* Created by GUY on 2016/2/17.
* @class BI.NumberPager
* @extends BI.Widget
*/
BI.NumberPager = BI.inherit(BI.Widget, {
_defaultConfig: function () {
return BI.extend(BI.NumberPager.superclass._defaultConfig.apply(this, arguments), {
baseCls: "bi-number-pager",
width: 95,
height: 25,
pages: false, //总页数
curr: 1, //初始化当前页, pages为数字时可用
hasPrev: BI.emptyFn,
hasNext: BI.emptyFn,
firstPage: 1,
lastPage: BI.emptyFn
})
},
_init: function () {
BI.NumberPager.superclass._init.apply(this, arguments);
var self = this, o = this.options;
this.currentPage = o.curr;
this.label = BI.createWidget({
type: "bi.label",
height: o.height - 2,
value: this.currentPage
});
this.pager = BI.createWidget({
type: "bi.pager",
width: 36,
layouts: [{
type: "bi.horizontal",
hgap: 1,
vgap: 1
}],
dynamicShow: false,
pages: o.pages,
curr: o.curr,
groups: 0,
first: false,
last: false,
prev: {
type: "bi.icon_button",
value: "prev",
title: BI.i18nText("BI-Previous_Page"),
warningTitle: BI.i18nText("BI-Current_Is_First_Page"),
height: o.height - 2,
iconWidth: o.height - 2,
iconHeight: o.height - 2,
cls: "number-pager-prev column-pre-page-h-font"
},
next: {
type: "bi.icon_button",
value: "next",
title: BI.i18nText("BI-Next_Page"),
warningTitle: BI.i18nText("BI-Current_Is_Last_Page"),
height: o.height - 2,
iconWidth: o.height - 2,
iconHeight: o.height - 2,
cls: "number-pager-next column-next-page-h-font"
},
hasPrev: o.hasPrev,
hasNext: o.hasNext,
firstPage: o.firstPage,
lastPage: o.lastPage
});
this.pager.on(BI.Pager.EVENT_CHANGE, function () {
if (self.getCurrentPage() !== self.pager.getCurrentPage()) {
self.currentPage = self.pager.getCurrentPage();
self.fireEvent(BI.NumberPager.EVENT_CHANGE);
}
});
this.pager.on(BI.Pager.EVENT_AFTER_POPULATE, function () {
self.label.setValue(self.pager.getCurrentPage());
});
BI.createWidget({
type: "bi.center_adapt",
element: this,
columnSize: [20, "", 20, 36],
items: [{type: "bi.label", text: "第"}, this.label, {type: "bi.label", text: "页"}, this.pager]
})
},
getCurrentPage: function () {
return this.currentPage;
},
hasPrev: function () {
return this.pager.hasPrev();
},
hasNext: function () {
return this.pager.hasNext();
},
setValue: function (v) {
this.currentPage = v;
this.pager.setValue(v);
},
populate: function () {
this.pager.populate();
}
});
BI.NumberPager.EVENT_CHANGE = "EVENT_CHANGE";
$.shortcut("bi.number_pager", BI.NumberPager);

112
src/case/pager/pager.skip.js

@ -1,112 +0,0 @@
/**
* 可以跳转的分页控件
*
* Created by GUY on 2015/9/8.
* @class BI.SkipPager
* @extends BI.Widget
*/
BI.SkipPager = BI.inherit(BI.Widget, {
_defaultConfig: function () {
return BI.extend(BI.SkipPager.superclass._defaultConfig.apply(this, arguments), {
extraCls: "bi-skip-pager",
width: 110,
height: 25,
pages: false, //总页数
curr: 1, //初始化当前页, pages为数字时可用
hasPrev: BI.emptyFn,
hasNext: BI.emptyFn,
firstPage: 1,
lastPage: BI.emptyFn
})
},
_init: function () {
BI.SkipPager.superclass._init.apply(this, arguments);
var self = this, o = this.options;
this.currentPage = o.curr;
this.editor = BI.createWidget({
type: "bi.small_text_editor",
validationChecker: function (v) {
return BI.isPositiveInteger(v);
},
hgap: 4,
vgap: 0,
value: o.curr,
errorText: BI.i18nText("BI-Please_Input_Integer"),
width: 30,
height: o.height - 2
});
this.pager = BI.createWidget({
type: "bi.pager",
layouts: [{
type: "bi.horizontal",
hgap: 1,
vgap: 1
}],
dynamicShow: false,
pages: o.pages,
curr: o.curr,
groups: 0,
first: false,
last: false,
prev: {
type: "bi.icon_button",
value: "prev",
title: BI.i18nText("BI-Previous_Page"),
warningTitle: BI.i18nText("BI-Current_Is_First_Page"),
height: o.height - 2,
cls: "number-pager-prev column-pre-page-h-font"
},
next: {
type: "bi.icon_button",
value: "next",
title: BI.i18nText("BI-Next_Page"),
warningTitle: BI.i18nText("BI-Current_Is_Last_Page"),
height: o.height - 2,
cls: "number-pager-next column-next-page-h-font"
},
hasPrev: o.hasPrev,
hasNext: o.hasNext,
firstPage: o.firstPage,
lastPage: o.lastPage
});
this.editor.on(BI.TextEditor.EVENT_CONFIRM, function () {
self.pager.setValue(self.editor.getValue());
});
this.pager.on(BI.Pager.EVENT_CHANGE, function () {
if (self.getCurrentPage() !== self.pager.getCurrentPage()) {
self.currentPage = self.pager.getCurrentPage();
self.fireEvent(BI.SkipPager.EVENT_CHANGE);
}
});
this.pager.on(BI.Pager.EVENT_AFTER_POPULATE, function () {
self.editor.setValue(self.pager.getCurrentPage());
});
BI.createWidget({
type: "bi.center_adapt",
element: this,
items: [{type: "bi.label", text: "第"}, this.editor, {type: "bi.label", text: "页"}, this.pager]
})
},
getCurrentPage: function () {
return this.currentPage;
},
setValue: function(v){
this.currentPage = v;
this.pager.setValue(v);
},
populate: function () {
this.pager.populate();
}
});
BI.SkipPager.EVENT_CHANGE = "EVENT_CHANGE";
$.shortcut("bi.skip_pager", BI.SkipPager);

235
src/case/table/table.adaptive.js

@ -0,0 +1,235 @@
/**
* 自适应宽度的表格
*
* Created by GUY on 2016/2/3.
* @class BI.AdaptiveTable
* @extends BI.Widget
*/
BI.AdaptiveTable = BI.inherit(BI.Widget, {
_const: {
perColumnSize: 100
},
_defaultConfig: function () {
return BI.extend(BI.AdaptiveTable.superclass._defaultConfig.apply(this, arguments), {
baseCls: "bi-adaptive-table",
el: {
type: "bi.resizable_table"
},
isNeedResize: true,
isNeedFreeze: false,//是否需要冻结单元格
freezeCols: [], //冻结的列号,从0开始,isNeedFreeze为true时生效
isNeedMerge: false,//是否需要合并单元格
mergeCols: [], //合并的单元格列号
mergeRule: BI.emptyFn,
columnSize: [],
minColumnSize: [],
maxColumnSize: [],
headerRowSize: 25,
rowSize: 25,
regionColumnSize: [],
headerCellStyleGetter: BI.emptyFn,
summaryCellStyleGetter: BI.emptyFn,
sequenceCellStyleGetter: BI.emptyFn,
header: [],
items: [], //二维数组
//交叉表头
crossHeader: [],
crossItems: []
});
},
_init: function () {
BI.AdaptiveTable.superclass._init.apply(this, arguments);
var self = this, o = this.options;
var data = this._digest();
this.table = BI.createWidget(o.el, {
type: "bi.resizable_table",
element: this,
width: o.width,
height: o.height,
isNeedResize: o.isNeedResize,
isResizeAdapt: false,
isNeedFreeze: o.isNeedFreeze,
freezeCols: data.freezeCols,
isNeedMerge: o.isNeedMerge,
mergeCols: o.mergeCols,
mergeRule: o.mergeRule,
columnSize: data.columnSize,
headerRowSize: o.headerRowSize,
rowSize: o.rowSize,
regionColumnSize: data.regionColumnSize,
headerCellStyleGetter: o.headerCellStyleGetter,
summaryCellStyleGetter: o.summaryCellStyleGetter,
sequenceCellStyleGetter: o.sequenceCellStyleGetter,
header: o.header,
items: o.items,
//交叉表头
crossHeader: o.crossHeader,
crossItems: o.crossItems
});
this.table.on(BI.Table.EVENT_TABLE_SCROLL, function () {
self.fireEvent(BI.Table.EVENT_TABLE_SCROLL, arguments);
});
this.table.on(BI.Table.EVENT_TABLE_AFTER_REGION_RESIZE, function () {
o.regionColumnSize = this.getRegionColumnSize();
self._populate();
self.table.populate();
self.fireEvent(BI.Table.EVENT_TABLE_AFTER_REGION_RESIZE, arguments);
});
this.table.on(BI.Table.EVENT_TABLE_AFTER_COLUMN_RESIZE, function () {
o.columnSize = this.getColumnSize();
self._populate();
self.table.populate();
self.fireEvent(BI.Table.EVENT_TABLE_AFTER_COLUMN_RESIZE, arguments);
});
},
_getFreezeColLength: function () {
return this.options.isNeedFreeze === true ? this.options.freezeCols.length : 0;
},
_digest: function () {
var o = this.options;
var columnSize = o.columnSize.slice();
var regionColumnSize = o.regionColumnSize.slice();
var freezeCols = o.freezeCols.slice();
var regionSize = o.regionColumnSize[0];
var freezeColLength = this._getFreezeColLength();
if (!regionSize || regionSize > o.width - 10 || regionSize < 10) {
regionSize = (freezeColLength > o.columnSize.length / 2 ? 2 / 3 : 1 / 3) * o.width;
}
if (freezeColLength === 0) {
regionSize = 0;
}
if (freezeCols.length >= columnSize.length) {
freezeCols = [];
}
if (!BI.isNumber(columnSize[0])) {
columnSize = o.minColumnSize;
}
var summaryFreezeColumnSize = 0, summaryColumnSize = 0;
BI.each(columnSize, function (i, size) {
if (i < freezeColLength) {
summaryFreezeColumnSize += size;
}
summaryColumnSize += size;
});
if (freezeColLength > 0) {
columnSize[freezeColLength - 1] = BI.clamp(regionSize - (summaryFreezeColumnSize - columnSize[freezeColLength - 1]),
o.minColumnSize[freezeColLength - 1] || 10, o.maxColumnSize[freezeColLength - 1] || Number.MAX_VALUE);
}
if (columnSize.length > 0) {
columnSize[columnSize.length - 1] = BI.clamp(o.width - BI.GridTableScrollbar.SIZE - regionSize - (summaryColumnSize - summaryFreezeColumnSize - columnSize[columnSize.length - 1]),
o.minColumnSize[columnSize.length - 1] || 10, o.maxColumnSize[columnSize.length - 1] || Number.MAX_VALUE);
}
regionColumnSize[0] = regionSize;
return {
freezeCols: freezeCols,
columnSize: columnSize,
regionColumnSize: regionColumnSize
}
},
_populate: function () {
var o = this.options;
var data = this._digest();
o.regionColumnSize = data.regionColumnSize;
o.columnSize = data.columnSize;
this.table.setColumnSize(data.columnSize);
this.table.setRegionColumnSize(data.regionColumnSize);
this.table.attr("freezeCols", data.freezeCols);
},
setWidth: function (width) {
BI.AdaptiveTable.superclass.setWidth.apply(this, arguments);
this.table.setWidth(width);
},
setHeight: function (height) {
BI.AdaptiveTable.superclass.setHeight.apply(this, arguments);
this.table.setHeight(height);
},
setColumnSize: function (columnSize) {
this.options.columnSize = columnSize;
},
getColumnSize: function () {
return this.table.getColumnSize();
},
setRegionColumnSize: function (regionColumnSize) {
this.options.regionColumnSize = regionColumnSize;
},
getRegionColumnSize: function () {
return this.table.getRegionColumnSize();
},
setVerticalScroll: function (scrollTop) {
this.table.setVerticalScroll(scrollTop);
},
setLeftHorizontalScroll: function (scrollLeft) {
this.table.setLeftHorizontalScroll(scrollLeft);
},
setRightHorizontalScroll: function (scrollLeft) {
this.table.setRightHorizontalScroll(scrollLeft);
},
getVerticalScroll: function () {
return this.table.getVerticalScroll();
},
getLeftHorizontalScroll: function () {
return this.table.getLeftHorizontalScroll();
},
getRightHorizontalScroll: function () {
return this.table.getRightHorizontalScroll();
},
attr: function (key, value) {
var v = BI.AdaptiveTable.superclass.attr.apply(this, arguments);
if (key === "freezeCols") {
return v;
}
return this.table.attr.apply(this.table, arguments);
},
restore: function () {
this.table.restore();
},
populate: function (items) {
var self = this, o = this.options;
this._populate();
this.table.populate.apply(this.table, arguments);
},
destroy: function () {
this.table.destroy();
BI.AdaptiveTable.superclass.destroy.apply(this, arguments);
}
});
$.shortcut('bi.adaptive_table', BI.AdaptiveTable);

250
src/case/table/table.dynamicsummarylayertree.js

@ -10,11 +10,11 @@ BI.DynamicSummaryLayerTreeTable = BI.inherit(BI.Widget, {
_defaultConfig: function () {
return BI.extend(BI.DynamicSummaryLayerTreeTable.superclass._defaultConfig.apply(this, arguments), {
baseCls: "bi-dynamic-summary-layer-tree-table",
logic: { //冻结的页面布局逻辑
dynamic: false
},
isNeedResize: false,//是否需要调整列宽
el: {
type: "bi.resizable_table"
},
isNeedResize: true,//是否需要调整列宽
isResizeAdapt: true,//是否需要在调整列宽或区域宽度的时候它们自适应变化
isNeedFreeze: false,//是否需要冻结单元格
@ -22,16 +22,18 @@ BI.DynamicSummaryLayerTreeTable = BI.inherit(BI.Widget, {
isNeedMerge: true,//是否需要合并单元格
mergeCols: [],
mergeRule: function (row1, row2) { //合并规则, 默认相等时合并
return BI.isEqual(row1, row2);
},
mergeRule: BI.emptyFn,
columnSize: [],
headerRowSize: 25,
footerRowSize: 25,
rowSize: 25,
regionColumnSize: false,
regionColumnSize: [],
headerCellStyleGetter: BI.emptyFn,
summaryCellStyleGetter: BI.emptyFn,
sequenceCellStyleGetter: BI.emptyFn,
header: [],
footer: false,
@ -55,30 +57,34 @@ BI.DynamicSummaryLayerTreeTable = BI.inherit(BI.Widget, {
_createHeader: function (vDeep) {
var self = this, o = this.options;
var header = o.header || [], crossHeader = o.crossHeader || [];
var items = BI.DynamicSummaryTreeTable.formatCrossItems(o.crossItems, vDeep);
var items = BI.TableTree.formatCrossItems(o.crossItems, vDeep, o.headerCellStyleGetter);
var result = [];
BI.each(items, function (row, node) {
var c = [crossHeader[row]];
result.push(c.concat(node || []));
});
if (header && header.length > 0) {
var newHeader = this._formatColumns(header);
var deep = this._getHDeep();
if (deep <= 0) {
newHeader.unshift({
cls: "layer-tree-table-title",
text: BI.i18nText("BI-Row_Header")
type: "bi.table_style_cell",
text: BI.i18nText("BI-Row_Header"),
styleGetter: o.headerCellStyleGetter
});
} else {
newHeader[0] = {
cls: "layer-tree-table-title",
text: BI.i18nText("BI-Row_Header")
type: "bi.table_style_cell",
text: BI.i18nText("BI-Row_Header"),
styleGetter: o.headerCellStyleGetter
};
}
result.push(newHeader);
}
return result;
},
_formatItems: function (nodes, deep) {
_formatItems: function (nodes, header, deep) {
var self = this, o = this.options;
var result = [];
@ -102,19 +108,17 @@ BI.DynamicSummaryLayerTreeTable = BI.inherit(BI.Widget, {
track(c, 0);
});
if (BI.isArray(node.values)) {
var next = [{cls: "summary-cell last", text: BI.i18nText("BI-Summary_Values")}].concat(node.values);
var next = [{
type: "bi.table_style_cell",
text: BI.i18nText("BI-Summary_Values"),
styleGetter: function () {
return o.summaryCellStyleGetter(true);
}
}].concat(node.values);
result.push(next)
}
});
return BI.DynamicSummaryTreeTable.formatSummaryItems(result, o.crossItems, deep);
},
_formatCols: function (cols, deep) {
deep = deep || this._getHDeep();
cols = this._formatColumns(cols);
return BI.map(cols, function (i, c) {
return c - (deep - 1);
})
return BI.DynamicSummaryTreeTable.formatSummaryItems(result, header, o.crossItems, 1);
},
_formatColumns: function (columns, deep) {
@ -125,97 +129,124 @@ BI.DynamicSummaryLayerTreeTable = BI.inherit(BI.Widget, {
return columns;
},
_init: function () {
BI.DynamicSummaryLayerTreeTable.superclass._init.apply(this, arguments);
var self = this, o = this.options;
_formatFreezeCols: function () {
if (this.options.freezeCols.length > 0) {
return [0];
}
return [];
},
_formatColumnSize: function (columnSize, deep) {
if (columnSize.length <= 0) {
return [];
}
var result = [0];
deep = deep || this._getHDeep();
BI.each(columnSize, function (i, size) {
if (i < deep) {
result[0] += size;
return;
}
result.push(size);
});
return result;
},
_recomputeColumnSize: function () {
var o = this.options;
o.regionColumnSize = this.table.getRegionColumnSize();
var columnSize = this.table.getColumnSize();
if (o.freezeCols.length > 1) {
for (var i = 0; i < o.freezeCols.length - 1; i++) {
columnSize.splice(1, 0, 0);
}
}
o.columnSize = columnSize;
},
_digest: function () {
var o = this.options;
var deep = this._getHDeep();
var vDeep = this._getVDeep();
var header = this._createHeader(vDeep);
var items = this._formatItems(o.items, deep);
this.table = BI.createWidget({
type: "bi.table_view",
var data = this._formatItems(o.items, header, deep);
// var columnSize = o.columnSize.slice();
// var minColumnSize = o.minColumnSize.slice();
// var maxColumnSize = o.maxColumnSize.slice();
// BI.removeAt(columnSize, data.deletedCols);
// BI.removeAt(minColumnSize, data.deletedCols);
// BI.removeAt(maxColumnSize, data.deletedCols);
return {
header: data.header,
items: data.items,
columnSize: this._formatColumnSize(o.columnSize, deep),
minColumnSize: this._formatColumns(o.minColumnSize, deep),
maxColumnSize: this._formatColumns(o.maxColumnSize, deep),
freezeCols: this._formatFreezeCols()
}
},
_init: function () {
BI.DynamicSummaryLayerTreeTable.superclass._init.apply(this, arguments);
var self = this, o = this.options;
var data = this._digest();
this.table = BI.createWidget(o.el, {
type: "bi.resizable_table",
element: this,
logic: o.logic,
width: o.width,
height: o.height,
isNeedResize: o.isNeedResize,
isResizeAdapt: o.isResizeAdapt,
isNeedFreeze: o.isNeedFreeze,
freezeCols: this._formatCols(o.freezeCols, deep),
freezeCols: data.freezeCols,
isNeedMerge: o.isNeedMerge,
mergeCols: [],
mergeRule: o.mergeRule,
columnSize: this._formatColumns(o.columnSize, deep),
columnSize: data.columnSize,
minColumnSize: data.minColumnSize,
maxColumnSize: data.maxColumnSize,
headerRowSize: o.headerRowSize,
footerRowSize: o.footerRowSize,
rowSize: o.rowSize,
regionColumnSize: o.regionColumnSize,
header: header,
footer: this._formatColumns(o.footer, deep),
items: items
});
this.table.on(BI.Table.EVENT_TABLE_AFTER_INIT, function () {
self.fireEvent(BI.Table.EVENT_TABLE_AFTER_INIT, arguments);
});
this.table.on(BI.Table.EVENT_TABLE_RESIZE, function () {
self.fireEvent(BI.Table.EVENT_TABLE_RESIZE, arguments);
headerCellStyleGetter: o.headerCellStyleGetter,
summaryCellStyleGetter: o.summaryCellStyleGetter,
sequenceCellStyleGetter: o.sequenceCellStyleGetter,
header: data.header,
items: data.items
});
this.table.on(BI.Table.EVENT_TABLE_SCROLL, function () {
self.fireEvent(BI.Table.EVENT_TABLE_SCROLL, arguments);
});
this.table.on(BI.Table.EVENT_TABLE_BEFORE_REGION_RESIZE, function () {
self.fireEvent(BI.Table.EVENT_TABLE_BEFORE_REGION_RESIZE, arguments);
});
this.table.on(BI.Table.EVENT_TABLE_REGION_RESIZE, function () {
self.fireEvent(BI.Table.EVENT_TABLE_REGION_RESIZE, arguments);
});
this.table.on(BI.Table.EVENT_TABLE_AFTER_REGION_RESIZE, function () {
self._recomputeColumnSize();
self.fireEvent(BI.Table.EVENT_TABLE_AFTER_REGION_RESIZE, arguments);
});
this.table.on(BI.Table.EVENT_TABLE_BEFORE_COLUMN_RESIZE, function () {
self.fireEvent(BI.Table.EVENT_TABLE_BEFORE_COLUMN_RESIZE, arguments);
});
this.table.on(BI.Table.EVENT_TABLE_COLUMN_RESIZE, function () {
self.fireEvent(BI.Table.EVENT_TABLE_COLUMN_RESIZE, arguments);
});
this.table.on(BI.Table.EVENT_TABLE_AFTER_COLUMN_RESIZE, function () {
self._recomputeColumnSize();
self.fireEvent(BI.Table.EVENT_TABLE_AFTER_COLUMN_RESIZE, arguments);
});
},
resize: function () {
this.table.resize();
setWidth: function (width) {
BI.DynamicSummaryLayerTreeTable.superclass.setWidth.apply(this, arguments);
this.table.setWidth(width);
},
setColumnSize: function (columnSize) {
columnSize = this._formatColumns(columnSize);
this.table.setColumnSize(columnSize);
setHeight: function (height) {
BI.DynamicSummaryLayerTreeTable.superclass.setHeight.apply(this, arguments);
this.table.setHeight(height);
},
getColumnSize: function () {
var columnSize = this.table.getColumnSize();
var deep = this._getHDeep();
var pre = [];
if (deep > 0) {
pre = BI.makeArray(deep - 1, 0);
}
return pre.concat(columnSize);
},
getCalculateColumnSize: function () {
var columnSize = this.table.getCalculateColumnSize();
var deep = this._getHDeep();
var pre = [];
if (deep > 0) {
pre = BI.makeArray(deep - 1, "");
}
return pre.concat(columnSize);
setColumnSize: function (columnSize) {
this.options.columnSize = columnSize;
},
setHeaderColumnSize: function (columnSize) {
columnSize = this._formatColumns(columnSize);
this.table.setHeaderColumnSize(columnSize);
getColumnSize: function () {
return this.options.columnSize;
},
setRegionColumnSize: function (columnSize) {
this.options.regionColumnSize = columnSize;
this.table.setRegionColumnSize(columnSize);
},
@ -223,30 +254,6 @@ BI.DynamicSummaryLayerTreeTable = BI.inherit(BI.Widget, {
return this.table.getRegionColumnSize();
},
getCalculateRegionColumnSize: function () {
return this.table.getCalculateRegionColumnSize();
},
getCalculateRegionRowSize: function () {
return this.table.getCalculateRegionRowSize();
},
getClientRegionColumnSize: function () {
return this.table.getClientRegionColumnSize();
},
getScrollRegionColumnSize: function () {
return this.table.getScrollRegionColumnSize();
},
getScrollRegionRowSize: function () {
return this.table.getScrollRegionRowSize();
},
hasVerticalScroll: function () {
return this.table.hasVerticalScroll();
},
setVerticalScroll: function (scrollTop) {
this.table.setVerticalScroll(scrollTop);
},
@ -271,10 +278,6 @@ BI.DynamicSummaryLayerTreeTable = BI.inherit(BI.Widget, {
return this.table.getRightHorizontalScroll();
},
getColumns: function () {
return this.table.getColumns();
},
attr: function (key, value) {
var self = this;
if (BI.isObject(key)) {
@ -286,22 +289,24 @@ BI.DynamicSummaryLayerTreeTable = BI.inherit(BI.Widget, {
BI.DynamicSummaryLayerTreeTable.superclass.attr.apply(this, arguments);
switch (key) {
case "columnSize":
case "footer":
value = this._formatColumns(value);
break;
case "minColumnSize":
case "maxColumnSize":
case "freezeCols":
value = value.length > 0 ? [0] : [];
break;
case "mergeCols":
value = value.length > 0 ? [0] : [];
break;
return;
}
this.table.attr.apply(this.table, [key, value]);
},
restore: function () {
this.table.restore();
},
populate: function (items, header, crossItems, crossHeader) {
var o = this.options;
o.items = items || [];
if (items) {
o.items = items;
}
if (header) {
o.header = header;
}
@ -311,11 +316,12 @@ BI.DynamicSummaryLayerTreeTable = BI.inherit(BI.Widget, {
if (crossHeader) {
o.crossHeader = crossHeader;
}
var deep = this._getHDeep();
var vDeep = this._getVDeep();
var header = this._createHeader(vDeep);
items = this._formatItems(o.items, deep);
this.table.populate(items, header);
var data = this._digest();
this.table.setColumnSize(data.columnSize);
this.table.attr("minColumnSize", data.minColumnSize);
this.table.attr("maxColumnSize", data.maxColumnSize);
this.table.attr("freezeCols", data.freezeCols);
this.table.populate(data.items, data.header);
},
destroy: function () {

219
src/case/table/table.dynamicsummarytree.js

@ -10,11 +10,11 @@ BI.DynamicSummaryTreeTable = BI.inherit(BI.Widget, {
_defaultConfig: function () {
return BI.extend(BI.DynamicSummaryTreeTable.superclass._defaultConfig.apply(this, arguments), {
baseCls: "bi-dynamic-summary-tree-table",
logic: { //冻结的页面布局逻辑
dynamic: false
el: {
type: "bi.resizable_table"
},
isNeedResize: false,//是否需要调整列宽
isNeedResize: true,//是否需要调整列宽
isResizeAdapt: true,//是否需要在调整列宽或区域宽度的时候它们自适应变化
isNeedFreeze: false,//是否需要冻结单元格
@ -22,16 +22,18 @@ BI.DynamicSummaryTreeTable = BI.inherit(BI.Widget, {
isNeedMerge: true,//是否需要合并单元格
mergeCols: [],
mergeRule: function (row1, row2) { //合并规则, 默认相等时合并
return BI.isEqual(row1, row2);
},
mergeRule: BI.emptyFn,
columnSize: [],
headerRowSize: 25,
footerRowSize: 25,
rowSize: 25,
regionColumnSize: false,
regionColumnSize: [],
headerCellStyleGetter: BI.emptyFn,
summaryCellStyleGetter: BI.emptyFn,
sequenceCellStyleGetter: BI.emptyFn,
header: [],
footer: false,
@ -43,22 +45,6 @@ BI.DynamicSummaryTreeTable = BI.inherit(BI.Widget, {
})
},
_createHeader: function (deep, vDeep) {
var self = this, o = this.options;
var header = o.header || [], crossHeader = o.crossHeader || [];
var items = BI.DynamicSummaryTreeTable.formatCrossItems(o.crossItems, vDeep);
var result = [];
BI.each(items, function (row, node) {
var c = [];
for (var i = 0; i < deep; i++) {
c.push(crossHeader[row]);
}
result.push(c.concat(node || []));
});
result.push(header);
return result;
},
_getVDeep: function () {
return this.options.crossHeader.length;//纵向深度
},
@ -71,15 +57,12 @@ BI.DynamicSummaryTreeTable = BI.inherit(BI.Widget, {
_init: function () {
BI.DynamicSummaryTreeTable.superclass._init.apply(this, arguments);
var self = this, o = this.options;
var deep = this._getHDeep();
var vDeep = this._getVDeep();
var header = this._createHeader(deep, vDeep);
var items = BI.DynamicSummaryTreeTable.formatItems(o.items, deep);
items = BI.DynamicSummaryTreeTable.formatSummaryItems(items, o.crossItems, deep);
this.table = BI.createWidget({
type: "bi.table_view",
var data = this._digest();
this.table = BI.createWidget(o.el, {
type: "bi.resizable_table",
element: this,
logic: o.logic,
width: o.width,
height: o.height,
isNeedResize: o.isNeedResize,
isResizeAdapt: o.isResizeAdapt,
@ -92,65 +75,74 @@ BI.DynamicSummaryTreeTable = BI.inherit(BI.Widget, {
columnSize: o.columnSize,
headerRowSize: o.headerRowSize,
footerRowSize: o.footerRowSize,
rowSize: o.rowSize,
regionColumnSize: o.regionColumnSize,
header: header,
footer: o.footer,
items: items
});
this.table.on(BI.Table.EVENT_TABLE_AFTER_INIT, function () {
self.fireEvent(BI.Table.EVENT_TABLE_AFTER_INIT, arguments);
});
this.table.on(BI.Table.EVENT_TABLE_RESIZE, function () {
self.fireEvent(BI.Table.EVENT_TABLE_RESIZE, arguments);
headerCellStyleGetter: o.headerCellStyleGetter,
summaryCellStyleGetter: o.summaryCellStyleGetter,
sequenceCellStyleGetter: o.sequenceCellStyleGetter,
header: data.header,
items: data.items
});
this.table.on(BI.Table.EVENT_TABLE_SCROLL, function () {
self.fireEvent(BI.Table.EVENT_TABLE_SCROLL, arguments);
});
this.table.on(BI.Table.EVENT_TABLE_BEFORE_REGION_RESIZE, function () {
self.fireEvent(BI.Table.EVENT_TABLE_BEFORE_REGION_RESIZE, arguments);
});
this.table.on(BI.Table.EVENT_TABLE_REGION_RESIZE, function () {
self.fireEvent(BI.Table.EVENT_TABLE_REGION_RESIZE, arguments);
});
this.table.on(BI.Table.EVENT_TABLE_AFTER_REGION_RESIZE, function () {
o.regionColumnSize = this.getRegionColumnSize();
o.columnSize = this.getColumnSize();
self.fireEvent(BI.Table.EVENT_TABLE_AFTER_REGION_RESIZE, arguments);
});
this.table.on(BI.Table.EVENT_TABLE_BEFORE_COLUMN_RESIZE, function () {
self.fireEvent(BI.Table.EVENT_TABLE_BEFORE_COLUMN_RESIZE, arguments);
});
this.table.on(BI.Table.EVENT_TABLE_COLUMN_RESIZE, function () {
self.fireEvent(BI.Table.EVENT_TABLE_COLUMN_RESIZE, arguments);
});
this.table.on(BI.Table.EVENT_TABLE_AFTER_COLUMN_RESIZE, function () {
o.regionColumnSize = this.getRegionColumnSize();
o.columnSize = this.getColumnSize();
self.fireEvent(BI.Table.EVENT_TABLE_AFTER_COLUMN_RESIZE, arguments);
});
},
resize: function () {
this.table.resize();
_digest: function () {
var o = this.options;
var deep = this._getHDeep();
var vDeep = this._getVDeep();
var header = BI.TableTree.formatHeader(o.header, o.crossHeader, o.crossItems, deep, vDeep, o.headerCellStyleGetter);
var items = BI.DynamicSummaryTreeTable.formatHorizontalItems(o.items, deep, false, o.summaryCellStyleGetter);
var data = BI.DynamicSummaryTreeTable.formatSummaryItems(items, header, o.crossItems, deep);
var columnSize = o.columnSize.slice();
var minColumnSize = o.minColumnSize.slice();
var maxColumnSize = o.maxColumnSize.slice();
BI.removeAt(columnSize, data.deletedCols);
BI.removeAt(minColumnSize, data.deletedCols);
BI.removeAt(maxColumnSize, data.deletedCols);
return {
header: data.header,
items: data.items,
columnSize: columnSize,
minColumnSize: minColumnSize,
maxColumnSize: maxColumnSize
};
},
setColumnSize: function (columnSize) {
this.table.setColumnSize(columnSize);
setWidth: function (width) {
BI.DynamicSummaryTreeTable.superclass.setWidth.apply(this, arguments);
this.table.setWidth(width);
},
getColumnSize: function () {
return this.table.getColumnSize();
setHeight: function (height) {
BI.DynamicSummaryTreeTable.superclass.setHeight.apply(this, arguments);
this.table.setHeight(height);
},
getCalculateColumnSize: function () {
return this.table.getCalculateColumnSize();
setColumnSize: function (columnSize) {
this.options.columnSize = columnSize;
},
setHeaderColumnSize: function (columnSize) {
this.table.setHeaderColumnSize(columnSize);
getColumnSize: function () {
return this.table.getColumnSize();
},
setRegionColumnSize: function (columnSize) {
this.options.regionColumnSize = columnSize;
this.table.setRegionColumnSize(columnSize);
},
@ -158,30 +150,6 @@ BI.DynamicSummaryTreeTable = BI.inherit(BI.Widget, {
return this.table.getRegionColumnSize();
},
getCalculateRegionColumnSize: function () {
return this.table.getCalculateRegionColumnSize();
},
getCalculateRegionRowSize: function () {
return this.table.getCalculateRegionRowSize();
},
getClientRegionColumnSize: function () {
return this.table.getClientRegionColumnSize();
},
getScrollRegionColumnSize: function () {
return this.table.getScrollRegionColumnSize();
},
getScrollRegionRowSize: function () {
return this.table.getScrollRegionRowSize();
},
hasVerticalScroll: function () {
return this.table.hasVerticalScroll();
},
setVerticalScroll: function (scrollTop) {
this.table.setVerticalScroll(scrollTop);
},
@ -206,18 +174,25 @@ BI.DynamicSummaryTreeTable = BI.inherit(BI.Widget, {
return this.table.getRightHorizontalScroll();
},
getColumns: function () {
return this.table.getColumns();
},
attr: function () {
attr: function (key) {
BI.DynamicSummaryTreeTable.superclass.attr.apply(this, arguments);
switch (key) {
case "minColumnSize":
case "maxColumnSize":
return;
}
this.table.attr.apply(this.table, arguments);
},
restore: function () {
this.table.restore();
},
populate: function (items, header, crossItems, crossHeader) {
var o = this.options;
o.items = items || [];
if (items) {
o.items = items;
}
if (header) {
o.header = header;
}
@ -227,12 +202,11 @@ BI.DynamicSummaryTreeTable = BI.inherit(BI.Widget, {
if (crossHeader) {
o.crossHeader = crossHeader;
}
var deep = this._getHDeep();
var vDeep = this._getVDeep();
var header = this._createHeader(deep, vDeep);
items = BI.DynamicSummaryTreeTable.formatItems(o.items, deep);
items = BI.DynamicSummaryTreeTable.formatSummaryItems(items, o.crossItems, deep);
this.table.populate(items, header);
var data = this._digest();
this.table.setColumnSize(data.columnSize);
this.table.attr("minColumnSize", data.minColumnSize);
this.table.attr("maxColumnSize", data.maxColumnSize);
this.table.populate(data.items, data.header);
},
destroy: function () {
@ -242,8 +216,8 @@ BI.DynamicSummaryTreeTable = BI.inherit(BI.Widget, {
});
BI.extend(BI.DynamicSummaryTreeTable, {
formatItems: function (nodes, deep, isCross) {
var self = this;
formatHorizontalItems: function (nodes, deep, isCross, styleGetter) {
var result = [];
function track(store, node) {
@ -252,7 +226,7 @@ BI.extend(BI.DynamicSummaryTreeTable, {
BI.each(node.children, function (index, child) {
var next;
if (store != -1) {
next = BI.clone(store);
next = store.slice();
next.push(node);
} else {
next = [];
@ -260,16 +234,21 @@ BI.extend(BI.DynamicSummaryTreeTable, {
track(next, child);
});
if (store != -1) {
next = BI.clone(store);
next = store.slice();
next.push(node);
} else {
next = [];
}
if ((store == -1 || node.children.length > 1) && BI.isNotEmptyArray(node.values)) {
var cls = store === -1 ? " last" : "";
var id = BI.UUID();
var summary = {
text: BI.i18nText("BI-Summary_Values"),
type: "bi.table_style_cell",
styleGetter: function () {
return styleGetter(store === -1)
}
};
for (var i = next.length; i < deep; i++) {
next.push({text: BI.i18nText("BI-Summary_Values"), tag: id, cls: "summary-cell" + cls});
next.push(summary);
}
if (!isCross) {
next = next.concat(node.values);
@ -287,7 +266,7 @@ BI.extend(BI.DynamicSummaryTreeTable, {
return;
}
if (store != -1) {
next = BI.clone(store);
next = store.slice();
for (var i = next.length; i < deep; i++) {
next.push(node);
}
@ -315,19 +294,14 @@ BI.extend(BI.DynamicSummaryTreeTable, {
//填充空位
BI.each(result, function (i, line) {
var last = BI.last(line);
for (var i = line.length; i < deep; i++) {
for (var j = line.length; j < deep; j++) {
line.push(last);
}
});
return result;
},
formatCrossItems: function (nodes, deep) {
var items = BI.DynamicSummaryTreeTable.formatItems(nodes, deep, true);
return BI.unzip(items);
},
formatSummaryItems: function (items, crossItems, deep) {
formatSummaryItems: function (items, header, crossItems, deep) {
//求纵向需要去除的列
var cols = [];
var leaf = 0;
@ -338,26 +312,35 @@ BI.extend(BI.DynamicSummaryTreeTable, {
track(child);
});
if (BI.isNotEmptyArray(node.values)) {
leaf++;
if (node.children.length === 1) {
cols.push(leaf - 1 + deep);
for (var i = 0; i < node.values.length; i++) {
cols.push(leaf + i + deep);
}
}
leaf += node.values.length;
}
return;
}
if (node.values && node.values.length > 1) {
leaf += node.values.length;
} else {
leaf++;
}
}
BI.each(crossItems, function (i, node) {
track(node);
});
if (cols.length > 0) {
BI.each(header, function (i, node) {
BI.removeAt(node, cols);
});
BI.each(items, function (i, node) {
BI.removeAt(node, cols);
})
});
}
return items;
return {items: items, header: header, deletedCols: cols};
}
});

32
src/case/table/table.layertree.cell.js

@ -1,32 +0,0 @@
/**
* Created by GUY on 2016/5/7.
* @class BI.LayerTreeTableCell
* @extends BI.Single
*/
BI.LayerTreeTableCell = BI.inherit(BI.Widget, {
_defaultConfig: function () {
return BI.extend(BI.LayerTreeTableCell.superclass._defaultConfig.apply(this, arguments), {
baseCls: "bi-layer-tree-table-cell",
layer: 0,
text: ""
})
},
_init: function () {
BI.LayerTreeTableCell.superclass._init.apply(this, arguments);
var o = this.options;
BI.createWidget({
type: "bi.label",
element: this,
textAlign: "left",
whiteSpace: "nowrap",
height: o.height,
text: o.text,
value: o.value,
lgap: 5 + 30 * o.layer,
rgap: 5
})
}
});
$.shortcut("bi.layer_tree_table_cell", BI.LayerTreeTableCell);

221
src/case/table/table.layertree.js

@ -10,8 +10,8 @@ BI.LayerTreeTable = BI.inherit(BI.Widget, {
_defaultConfig: function () {
return BI.extend(BI.LayerTreeTable.superclass._defaultConfig.apply(this, arguments), {
baseCls: "bi-layer-tree-table",
logic: { //冻结的页面布局逻辑
dynamic: false
el: {
type: "bi.resizable_table"
},
isNeedResize: false,//是否需要调整列宽
@ -22,19 +22,22 @@ BI.LayerTreeTable = BI.inherit(BI.Widget, {
isNeedMerge: true,//是否需要合并单元格
mergeCols: [],
mergeRule: function (row1, row2) { //合并规则, 默认相等时合并
return BI.isEqual(row1, row2);
},
mergeRule: BI.emptyFn,
columnSize: [],
minColumnSize: [],
maxColumnSize: [],
headerRowSize: 25,
footerRowSize: 25,
rowSize: 25,
regionColumnSize: false,
regionColumnSize: [],
headerCellStyleGetter: BI.emptyFn,
summaryCellStyleGetter: BI.emptyFn,
sequenceCellStyleGetter: BI.emptyFn,
header: [],
footer: false,
items: [],
//交叉表头
@ -55,31 +58,35 @@ BI.LayerTreeTable = BI.inherit(BI.Widget, {
_createHeader: function (vDeep) {
var self = this, o = this.options;
var header = o.header || [], crossHeader = o.crossHeader || [];
var items = BI.TableTree.formatCrossItems(o.crossItems, vDeep);
var items = BI.TableTree.formatCrossItems(o.crossItems, vDeep, o.headerCellStyleGetter);
var result = [];
BI.each(items, function (row, node) {
var c = [crossHeader[row]];
result.push(c.concat(node || []));
});
if (header && header.length > 0) {
var newHeader = this._formatColumns(header);
var deep = this._getHDeep();
if (deep <= 0) {
newHeader.unshift({
cls: "layer-tree-table-title",
text: BI.i18nText("BI-Row_Header")
type: "bi.table_style_cell",
text: BI.i18nText("BI-Row_Header"),
styleGetter: o.headerCellStyleGetter
});
} else {
newHeader[0] = {
cls: "layer-tree-table-title",
text: BI.i18nText("BI-Row_Header")
type: "bi.table_style_cell",
text: BI.i18nText("BI-Row_Header"),
styleGetter: o.headerCellStyleGetter
};
}
result.push(newHeader);
}
return result;
},
_formatItems: function (nodes) {
var self = this;
var self = this, o = this.options;
var result = [];
function track(node, layer) {
@ -102,21 +109,17 @@ BI.LayerTreeTable = BI.inherit(BI.Widget, {
track(c, 0);
});
if (BI.isArray(node.values)) {
var next = [{cls: "summary-cell last", text: BI.i18nText("BI-Summary_Values")}].concat(node.values);
var next = [{
type: "bi.table_style_cell", text: BI.i18nText("BI-Summary_Values"), styleGetter: function () {
return o.summaryCellStyleGetter(true);
}
}].concat(node.values);
result.push(next)
}
});
return result;
},
_formatCols: function (cols, deep) {
deep = deep || this._getHDeep();
cols = this._formatColumns(cols);
return BI.map(cols, function (i, c) {
return c - (deep - 1);
})
},
_formatColumns: function (columns, deep) {
if (BI.isNotEmptyArray(columns)) {
deep = deep || this._getHDeep();
@ -125,69 +128,99 @@ BI.LayerTreeTable = BI.inherit(BI.Widget, {
return columns;
},
_formatFreezeCols: function () {
if (this.options.freezeCols.length > 0) {
return [0];
}
return [];
},
_formatColumnSize: function (columnSize, deep) {
if (columnSize.length <= 0) {
return [];
}
var result = [0];
deep = deep || this._getHDeep();
BI.each(columnSize, function (i, size) {
if (i < deep) {
result[0] += size;
return;
}
result.push(size);
});
return result;
},
_digest: function () {
var o = this.options;
var deep = this._getHDeep();
var vDeep = this._getVDeep();
return {
header: this._createHeader(vDeep),
items: this._formatItems(o.items),
columnSize: this._formatColumnSize(o.columnSize, deep),
minColumnSize: this._formatColumns(o.minColumnSize, deep),
maxColumnSize: this._formatColumns(o.maxColumnSize, deep),
freezeCols: this._formatFreezeCols()
}
},
_init: function () {
BI.LayerTreeTable.superclass._init.apply(this, arguments);
var self = this, o = this.options;
var deep = this._getHDeep();
var vDeep = this._getVDeep();
var header = this._createHeader(vDeep);
var items = this._formatItems(o.items);
this.table = BI.createWidget({
type: "bi.table_view",
var data = this._digest();
this.table = BI.createWidget(o.el, {
type: "bi.resizable_table",
element: this,
logic: o.logic,
width: o.width,
height: o.height,
isNeedResize: o.isNeedResize,
isResizeAdapt: o.isResizeAdapt,
isNeedFreeze: o.isNeedFreeze,
freezeCols: this._formatCols(o.freezeCols, deep),
freezeCols: data.freezeCols,
isNeedMerge: o.isNeedMerge,
mergeCols: [],
mergeRule: o.mergeRule,
columnSize: this._formatColumns(o.columnSize, deep),
columnSize: data.columnSize,
minColumnSize: data.minColumnSize,
maxColumnSize: data.maxColumnSize,
headerRowSize: o.headerRowSize,
footerRowSize: o.footerRowSize,
rowSize: o.rowSize,
regionColumnSize: o.regionColumnSize,
header: header,
footer: this._formatColumns(o.footer, deep),
items: items
});
this.table.on(BI.Table.EVENT_TABLE_AFTER_INIT, function () {
self.fireEvent(BI.Table.EVENT_TABLE_AFTER_INIT, arguments);
});
this.table.on(BI.Table.EVENT_TABLE_RESIZE, function () {
self.fireEvent(BI.Table.EVENT_TABLE_RESIZE, arguments);
headerCellStyleGetter: o.headerCellStyleGetter,
summaryCellStyleGetter: o.summaryCellStyleGetter,
sequenceCellStyleGetter: o.sequenceCellStyleGetter,
header: data.header,
items: data.items
});
this.table.on(BI.Table.EVENT_TABLE_SCROLL, function () {
self.fireEvent(BI.Table.EVENT_TABLE_SCROLL, arguments);
});
this.table.on(BI.Table.EVENT_TABLE_BEFORE_REGION_RESIZE, function () {
self.fireEvent(BI.Table.EVENT_TABLE_BEFORE_REGION_RESIZE, arguments);
});
this.table.on(BI.Table.EVENT_TABLE_REGION_RESIZE, function () {
self.fireEvent(BI.Table.EVENT_TABLE_REGION_RESIZE, arguments);
});
this.table.on(BI.Table.EVENT_TABLE_AFTER_REGION_RESIZE, function () {
o.regionColumnSize = this.getRegionColumnSize();
o.columnSize = this.getColumnSize();
self.fireEvent(BI.Table.EVENT_TABLE_AFTER_REGION_RESIZE, arguments);
});
this.table.on(BI.Table.EVENT_TABLE_BEFORE_COLUMN_RESIZE, function () {
self.fireEvent(BI.Table.EVENT_TABLE_BEFORE_COLUMN_RESIZE, arguments);
});
this.table.on(BI.Table.EVENT_TABLE_COLUMN_RESIZE, function () {
self.fireEvent(BI.Table.EVENT_TABLE_COLUMN_RESIZE, arguments);
});
this.table.on(BI.Table.EVENT_TABLE_AFTER_COLUMN_RESIZE, function () {
o.regionColumnSize = this.getRegionColumnSize();
o.columnSize = this.getColumnSize();
self.fireEvent(BI.Table.EVENT_TABLE_AFTER_COLUMN_RESIZE, arguments);
});
},
resize: function () {
this.table.resize();
setWidth: function (width) {
BI.LayerTreeTable.superclass.setWidth.apply(this, arguments);
this.table.setWidth(width);
},
setHeight: function (height) {
BI.LayerTreeTable.superclass.setHeight.apply(this, arguments);
this.table.setHeight(height);
},
setColumnSize: function (columnSize) {
columnSize = this._formatColumns(columnSize);
this.table.setColumnSize(columnSize);
this.options.columnSize = columnSize;
},
getColumnSize: function () {
@ -195,27 +228,13 @@ BI.LayerTreeTable = BI.inherit(BI.Widget, {
var deep = this._getHDeep();
var pre = [];
if (deep > 0) {
pre = BI.makeArray(deep - 1, 0);
}
return pre.concat(columnSize);
},
getCalculateColumnSize: function () {
var columnSize = this.table.getCalculateColumnSize();
var deep = this._getHDeep();
var pre = [];
if (deep > 0) {
pre = BI.makeArray(deep - 1, "");
pre = BI.makeArray(deep, columnSize[0] / deep);
}
return pre.concat(columnSize);
},
setHeaderColumnSize: function (columnSize) {
columnSize = this._formatColumns(columnSize);
this.table.setHeaderColumnSize(columnSize);
return pre.concat(columnSize.slice(1));
},
setRegionColumnSize: function (columnSize) {
this.options.regionColumnSize = columnSize;
this.table.setRegionColumnSize(columnSize);
},
@ -223,30 +242,6 @@ BI.LayerTreeTable = BI.inherit(BI.Widget, {
return this.table.getRegionColumnSize();
},
getCalculateRegionColumnSize: function () {
return this.table.getCalculateRegionColumnSize();
},
getCalculateRegionRowSize: function () {
return this.table.getCalculateRegionRowSize();
},
getClientRegionColumnSize: function () {
return this.table.getClientRegionColumnSize();
},
getScrollRegionColumnSize: function () {
return this.table.getScrollRegionColumnSize();
},
getScrollRegionRowSize: function () {
return this.table.getScrollRegionRowSize();
},
hasVerticalScroll: function () {
return this.table.hasVerticalScroll();
},
setVerticalScroll: function (scrollTop) {
this.table.setVerticalScroll(scrollTop);
},
@ -271,10 +266,6 @@ BI.LayerTreeTable = BI.inherit(BI.Widget, {
return this.table.getRightHorizontalScroll();
},
getColumns: function () {
return this.table.getColumns();
},
attr: function (key, value) {
var self = this;
if (BI.isObject(key)) {
@ -286,19 +277,19 @@ BI.LayerTreeTable = BI.inherit(BI.Widget, {
BI.LayerTreeTable.superclass.attr.apply(this, arguments);
switch (key) {
case "columnSize":
case "footer":
value = this._formatColumns(value);
break;
case "minColumnSize":
case "maxColumnSize":
case "freezeCols":
value = value.length > 0 ? [0] : [];
break;
case "mergeCols":
value = value.length > 0 ? [0] : [];
break;
return;
}
this.table.attr.apply(this.table, [key, value]);
},
restore: function () {
this.table.restore();
},
populate: function (items, header, crossItems, crossHeader) {
var o = this.options;
o.items = items || [];
@ -311,10 +302,12 @@ BI.LayerTreeTable = BI.inherit(BI.Widget, {
if (crossHeader) {
o.crossHeader = crossHeader;
}
var vDeep = this._getVDeep();
var header = this._createHeader(vDeep);
items = this._formatItems(o.items);
this.table.populate(items, header);
var data = this._digest();
this.table.setColumnSize(data.columnSize);
this.table.attr("freezeCols", data.freezeCols);
this.table.attr("minColumnSize", data.minColumnSize);
this.table.attr("maxColumnSize", data.maxColumnSize);
this.table.populate(data.items, data.header);
},
destroy: function () {

46
src/case/table/table.style.cell.js

@ -0,0 +1,46 @@
/**
*
* Created by GUY on 2016/5/26.
* @class BI.TableStyleCell
* @extends BI.Single
*/
BI.TableStyleCell = BI.inherit(BI.Single, {
_defaultConfig: function () {
return BI.extend(BI.TableStyleCell.superclass._defaultConfig.apply(this, arguments), {
baseCls: "bi-table-style-cell",
styleGetter: BI.emptyFn
});
},
_init: function () {
BI.TableStyleCell.superclass._init.apply(this, arguments);
var o = this.options;
this.text = BI.createWidget({
type: "bi.label",
element: this,
textAlign: "left",
forceCenter: true,
hgap: 5,
text: o.text
});
this._digestStyle();
},
_digestStyle: function () {
var o = this.options;
var style = o.styleGetter();
if (style) {
this.text.element.css(style);
}
},
setText: function (text) {
this.text.setText(text);
},
populate: function () {
this._digestStyle();
}
});
$.shortcut('bi.table_style_cell', BI.TableStyleCell);

330
src/case/table/table.tree.js

@ -0,0 +1,330 @@
/**
*
* 树状结构的表格
*
* Created by GUY on 2015/9/22.
* @class BI.TableTree
* @extends BI.Widget
*/
BI.TableTree = BI.inherit(BI.Widget, {
_defaultConfig: function () {
return BI.extend(BI.TableTree.superclass._defaultConfig.apply(this, arguments), {
baseCls: "bi-table-tree",
el: {
type: "bi.resizable_table"
},
isNeedResize: true,//是否需要调整列宽
isResizeAdapt: true,//是否需要在调整列宽或区域宽度的时候它们自适应变化
freezeCols: [], //冻结的列号,从0开始,isNeedFreeze为tree时生效
isNeedMerge: true,//是否需要合并单元格
mergeCols: [],
mergeRule: BI.emptyFn,
columnSize: [],
minColumnSize: [],
maxColumnSize: [],
headerRowSize: 25,
rowSize: 25,
regionColumnSize: [],
headerCellStyleGetter: BI.emptyFn,
summaryCellStyleGetter: BI.emptyFn,
sequenceCellStyleGetter: BI.emptyFn,
header: [],
items: [],
//交叉表头
crossHeader: [],
crossItems: []
})
},
_getVDeep: function () {
return this.options.crossHeader.length;//纵向深度
},
_getHDeep: function () {
var o = this.options;
return Math.max(o.mergeCols.length, o.freezeCols.length, BI.TableTree.maxDeep(o.items) - 1);
},
_init: function () {
BI.TableTree.superclass._init.apply(this, arguments);
var self = this, o = this.options;
var data = this._digest();
this.table = BI.createWidget(o.el, {
type: "bi.resizable_table",
element: this,
width: o.width,
height: o.height,
isNeedResize: o.isNeedResize,
isResizeAdapt: o.isResizeAdapt,
isNeedFreeze: o.isNeedFreeze,
freezeCols: o.freezeCols,
isNeedMerge: o.isNeedMerge,
mergeCols: o.mergeCols,
mergeRule: o.mergeRule,
columnSize: o.columnSize,
minColumnSize: o.minColumnSize,
maxColumnSize: o.maxColumnSize,
headerRowSize: o.headerRowSize,
rowSize: o.rowSize,
regionColumnSize: o.regionColumnSize,
headerCellStyleGetter: o.headerCellStyleGetter,
summaryCellStyleGetter: o.summaryCellStyleGetter,
sequenceCellStyleGetter: o.sequenceCellStyleGetter,
header: data.header,
items: data.items
});
this.table.on(BI.Table.EVENT_TABLE_SCROLL, function () {
self.fireEvent(BI.Table.EVENT_TABLE_SCROLL, arguments);
});
this.table.on(BI.Table.EVENT_TABLE_AFTER_REGION_RESIZE, function () {
o.regionColumnSize = this.getRegionColumnSize();
o.columnSize = this.getColumnSize();
self.fireEvent(BI.Table.EVENT_TABLE_AFTER_REGION_RESIZE, arguments);
});
this.table.on(BI.Table.EVENT_TABLE_AFTER_COLUMN_RESIZE, function () {
o.regionColumnSize = this.getRegionColumnSize();
o.columnSize = this.getColumnSize();
self.fireEvent(BI.Table.EVENT_TABLE_AFTER_COLUMN_RESIZE, arguments);
});
},
_digest: function () {
var self = this, o = this.options;
var deep = this._getHDeep();
var vDeep = this._getVDeep();
var header = BI.TableTree.formatHeader(o.header, o.crossHeader, o.crossItems, deep, vDeep, o.headerCellStyleGetter);
var items = BI.TableTree.formatItems(o.items, deep, false, o.summaryCellStyleGetter);
return {
header: header,
items: items
}
},
setWidth: function (width) {
BI.TableTree.superclass.setWidth.apply(this, arguments);
this.table.setWidth(width);
},
setHeight: function (height) {
BI.TableTree.superclass.setHeight.apply(this, arguments);
this.table.setHeight(height);
},
setColumnSize: function (columnSize) {
this.options.columnSize = columnSize;
this.table.setColumnSize(columnSize);
},
getColumnSize: function () {
return this.table.getColumnSize();
},
setRegionColumnSize: function (columnSize) {
this.options.regionColumnSize = columnSize;
this.table.setRegionColumnSize(columnSize);
},
getRegionColumnSize: function () {
return this.table.getRegionColumnSize();
},
setVerticalScroll: function (scrollTop) {
this.table.setVerticalScroll(scrollTop);
},
setLeftHorizontalScroll: function (scrollLeft) {
this.table.setLeftHorizontalScroll(scrollLeft);
},
setRightHorizontalScroll: function (scrollLeft) {
this.table.setRightHorizontalScroll(scrollLeft);
},
getVerticalScroll: function () {
return this.table.getVerticalScroll();
},
getLeftHorizontalScroll: function () {
return this.table.getLeftHorizontalScroll();
},
getRightHorizontalScroll: function () {
return this.table.getRightHorizontalScroll();
},
attr: function () {
BI.TableTree.superclass.attr.apply(this, arguments);
this.table.attr.apply(this.table, arguments);
},
restore: function () {
this.table.restore();
},
populate: function (items, header, crossItems, crossHeader) {
var o = this.options;
if (items) {
o.items = items || [];
}
if (header) {
o.header = header;
}
if (crossItems) {
o.crossItems = crossItems;
}
if (crossHeader) {
o.crossHeader = crossHeader;
}
var data = this._digest();
this.table.populate(data.items, data.header);
},
destroy: function () {
this.table.destroy();
BI.TableTree.superclass.destroy.apply(this, arguments);
}
});
BI.extend(BI.TableTree, {
formatHeader: function (header, crossHeader, crossItems, hDeep, vDeep, styleGetter) {
var items = BI.TableTree.formatCrossItems(crossItems, vDeep, styleGetter);
var result = [];
for (var i = 0; i < vDeep; i++) {
var c = [];
for (var j = 0; j < hDeep; j++) {
c.push(crossHeader[i]);
}
result.push(c.concat(items[i] || []));
}
if (header && header.length > 0) {
result.push(header);
}
return result;
},
formatItems: function (nodes, deep, isCross, styleGetter) {
var self = this;
var result = [];
function track(store, node) {
var next;
if (BI.isArray(node.children)) {
BI.each(node.children, function (index, child) {
var next;
if (store != -1) {
next = store.slice();
next.push(node);
} else {
next = [];
}
track(next, child);
});
if (store != -1) {
next = store.slice();
next.push(node);
} else {
next = [];
}
if (/**(store == -1 || node.children.length > 1) &&**/ BI.isNotEmptyArray(node.values)) {
var summary = {
text: BI.i18nText("BI-Summary_Values"),
type: "bi.table_style_cell",
styleGetter: function () {
return styleGetter(store === -1)
}
};
for (var i = next.length; i < deep; i++) {
next.push(summary);
}
if (!isCross) {
next = next.concat(node.values);
}
if (next.length > 0) {
if (!isCross) {
result.push(next);
} else {
for (var k = 0, l = node.values.length; k < l; k++) {
result.push(next);
}
}
}
}
return;
}
if (store != -1) {
next = store.slice();
for (var i = next.length; i < deep; i++) {
next.push(node);
}
} else {
next = [];
}
if (!isCross && BI.isArray(node.values)) {
next = next.concat(node.values);
}
if (isCross && BI.isArray(node.values)) {
for (var i = 0, len = node.values.length; i < len - 1; i++) {
if (next.length > 0) {
result.push(next);
}
}
}
if (next.length > 0) {
result.push(next);
}
}
BI.each(nodes, function (i, node) {
track(-1, node);
});
//填充空位
BI.each(result, function (i, line) {
var last = BI.last(line);
for (var j = line.length; j < deep; j++) {
line.push(last);
}
});
return result;
},
formatCrossItems: function (nodes, deep, styleGetter) {
var items = BI.TableTree.formatItems(nodes, deep, true, styleGetter);
return BI.unzip(items);
},
maxDeep: function (nodes) {
function track(deep, node) {
var d = deep;
if (BI.isNotEmptyArray(node.children)) {
BI.each(node.children, function (index, child) {
d = Math.max(d, track(deep + 1, child));
});
}
return d;
}
var deep = 1;
if (BI.isObject(nodes)) {
BI.each(nodes, function (i, node) {
deep = Math.max(deep, track(1, node));
});
}
return deep;
}
});
$.shortcut("bi.table_tree", BI.TableTree);

92
src/case/table/tabler.js

@ -1,92 +0,0 @@
/**
* 分页table
*
* Created by GUY on 2015/9/8.
* @class BI.Tabler
* @extends BI.Widget
*/
BI.Tabler = BI.inherit(BI.Widget, {
_defaultConfig: function () {
return BI.extend(BI.Tabler.superclass._defaultConfig.apply(this, arguments), {
extraCls: "bi-tabler",
pager: {},
layouts: [{
type: "bi.float_center_adapt"
}],
tabler: {
isNeedFreeze: false,//是否需要冻结单元格
freezeCols: [], //冻结的列号,从0开始,isNeedFreeze为tree时生效
isNeedMerge: true,//是否需要合并单元格
mergeRule: function (row1, row2) { //合并规则, 默认相等时合并
return BI.isEqual(row1, row2);
},
columnSize: [],
rowSize: 37,
header: [],
items: [],
//交叉表头
crossHeader: [],
crossItems: []
}
})
},
_init: function () {
BI.Tabler.superclass._init.apply(this, arguments);
var self = this, o = this.options;
this.pager = BI.createWidget(o.pager, {
type: "bi.pager"
});
var creater = BI.createWidget({
type: "bi.button_tree",
items: [{
el: this.pager
}],
layouts: o.layouts
})
this.pager.on(BI.Controller.EVENT_CHANGE, function (type) {
if (type === BI.Events.CLICK) {
self.fireEvent(BI.Tabler.EVENT_CHANGE);
}
});
this.container = BI.createWidget({
type: "bi.layout"
})
BI.createWidget({
type: "bi.vtape",
element: this,
items: [{
el: this.container
}, {
el: creater,
height: 40
}]
});
this.populate();
},
getCurrentPage: function () {
return this.pager.getValue();
},
populate: function (opt) {
var o = this.options;
this.container.empty();
BI.extend(o.tabler, opt);
this.table = BI.createWidget(this.options.tabler, {
type: "bi.table_tree",
element: this.container
});
}
});
BI.Tabler.EVENT_CHANGE = "EVENT_CHANGE";
$.shortcut("bi.tabler", BI.Tabler);

30
src/case/tip/tip.tooltip.js

@ -27,8 +27,33 @@ BI.Tooltip = BI.inherit(BI.Tip, {
e.stopEvent();
return false;
};
this.element.bind({"click": fn, "mousedown": fn, "mouseup": fn, "mouseover": fn, "mouseenter": fn, "mouseleave": fn, "mousemove": fn});
this.element.bind({
"click": fn,
"mousedown": fn,
"mouseup": fn,
"mouseover": fn,
"mouseenter": fn,
"mouseleave": fn,
"mousemove": fn
});
var texts = (o.text + "").split("\n");
if (texts.length > 1) {
BI.createWidget({
type: "bi.vertical",
element: this,
hgap: this._const.hgap,
items: BI.map(texts, function (i, text) {
return {
type: "bi.label",
textAlign: "left",
whiteSpace: "normal",
text: text,
textHeight: 16
}
})
})
} else {
this.text = BI.createWidget({
type: "bi.label",
element: this,
@ -38,6 +63,7 @@ BI.Tooltip = BI.inherit(BI.Tip, {
textHeight: 20,
hgap: this._const.hgap
});
}
},
setWidth: function (width) {
@ -45,7 +71,7 @@ BI.Tooltip = BI.inherit(BI.Tip, {
},
setText: function (text) {
this.text.setText(text);
this.text && this.text.setText(text);
},
setLevel: function (level) {

2
src/case/trigger/trigger.text.js

@ -56,10 +56,12 @@ BI.TextTrigger = BI.inherit(BI.Trigger, {
setValue: function (value) {
this.text.setValue(value);
this.text.setTitle(value);
},
setText: function (text) {
this.text.setText(text);
this.text.setTitle(text);
}
});
$.shortcut("bi.text_trigger", BI.TextTrigger);

2
src/case/trigger/trigger.text.select.js

@ -34,7 +34,7 @@ BI.SelectTextTrigger = BI.inherit(BI.Trigger, {
var result = [];
var items = BI.Tree.transformToArrayFormat(this.options.items);
BI.each(items, function (i, item) {
if (BI.deepContains(vals, item.value)) {
if (BI.deepContains(vals, item.value) && !result.contains(item.text || item.value)) {
result.push(item.text || item.value);
}
});

2
src/case/trigger/trigger.text.select.small.js

@ -33,7 +33,7 @@ BI.SmallSelectTextTrigger = BI.inherit(BI.Trigger, {
var result = [];
var items = BI.Tree.transformToArrayFormat(this.options.items);
BI.each(items, function (i, item) {
if (BI.deepContains(vals, item.value)) {
if (BI.deepContains(vals, item.value) && !result.contains(item.text || item.value)) {
result.push(item.text || item.value);
}
});

31
src/case/zclip/zclip.js

@ -0,0 +1,31 @@
/**
* 复制
* Created by GUY on 2016/2/16.
* @class BI.ZeroClip
* @extends BI.BasicButton
*/
BI.ZeroClip = BI.inherit(BI.BasicButton, {
_defaultConfig: function () {
return BI.extend(BI.ZeroClip.superclass._defaultConfig.apply(this, arguments), {
baseCls: "bi-zero-clip",
copy: BI.emptyFn,
beforeCopy: BI.emptyFn,
afterCopy: BI.emptyFn
})
},
_init: function () {
BI.ZeroClip.superclass._init.apply(this, arguments);
var self = this, o = this.options;
FR.$defaultImport('/com/fr/bi/web/js/third/jquery.zclip.js', 'js');
BI.nextTick(function () {
self.element.zclip({
path: FR.servletURL + "?op=resource&resource=/com/fr/bi/web/resources/ZeroClipboard.swf",
copy: o.copy,
beforeCopy: o.beforeCopy,
afterCopy: o.afterCopy
});
});
}
});
$.shortcut("bi.zero_clip", BI.ZeroClip);

11
src/core/ob.js

@ -4,7 +4,11 @@
* @abstract
*/
BI.OB = function (config) {
this.options = $.extend(this._defaultConfig(config), config);
var props = this.props;
if (BI.isFunction(this.props)) {
props = this.props(config);
}
this.options = $.extend(this._defaultConfig(config), props, config);
this._init();
this._initRef();
};
@ -14,10 +18,7 @@ $.extend(BI.OB.prototype, {
},
_defaultConfig: function (config) {
if (BI.isFunction(this.props)) {
return this.props(config);
}
return this.props;
return {};
},
_init: function () {

2
src/core/proto/date.js

@ -9,7 +9,7 @@ Date._DN = [BI.i18nText("BI-Sunday"),
BI.i18nText("BI-Sunday")];
// short day names
Date._SDN = ['',
Date._SDN = ['',
'',
'',
'',

24
src/core/widget.js

@ -7,7 +7,7 @@
*/
BI.Widget = BI.inherit(BI.OB, {
_defaultConfig: function () {
return BI.extend({
return BI.extend(BI.Widget.superclass._defaultConfig.apply(this), {
tagName: "div",
attributes: null,
data: null,
@ -17,8 +17,9 @@ BI.Widget = BI.inherit(BI.OB, {
invisible: false,
invalid: false,
baseCls: "",
extraCls: "",
cls: ""
}, BI.Widget.superclass._defaultConfig.call(this))
})
},
//生命周期函数
@ -74,11 +75,8 @@ BI.Widget = BI.inherit(BI.OB, {
} else {
this.element = $(document.createElement(o.tagName));
}
if (o.baseCls) {
this.element.addClass(o.baseCls);
}
if (o.cls) {
this.element.addClass(o.cls);
if (o.baseCls || o.extraCls || o.cls) {
this.element.addClass((o.baseCls || "") + " " + (o.extraCls || "") + " " + (o.cls || ""));
}
if (o.attributes) {
this.element.attr(o.attributes);
@ -108,11 +106,15 @@ BI.Widget = BI.inherit(BI.OB, {
if (o.invisible) {
this.element.hide();
}
if (o.disabled) {
this.element.addClass("base-disabled disabled");
if (o.disabled || o.invalid) {
BI.nextTick(BI.bind(function () {
if (this.options.disabled) {
this.setEnable(false);
}
if (o.invalid) {
this.element.addClass("base-invalid invalid");
if (this.options.invalid) {
this.setValid(false);
}
}, this));
}
},

3
src/core/wrapper/layout/layout.card.js

@ -83,6 +83,7 @@ BI.CardLayout = BI.inherit(BI.Layout, {
.appendTo(this.element);
widget.invisible();
this.addWidget(this._getCardName(cardName), widget);
widget._mount();
return widget;
},
@ -161,6 +162,6 @@ BI.CardLayout = BI.inherit(BI.Layout, {
}
});
return flag;
},
}
});
$.shortcut('bi.card', BI.CardLayout);

2
src/css/base/single/text.css

@ -5,5 +5,5 @@
text-overflow: ellipsis;
overflow-x: hidden;
white-space: nowrap;
word-break: break-all;
word-break: break-word;
}

2
src/css/base/third/jquery.mCustomScrollbar.css

@ -384,7 +384,7 @@ yx-axis
.mCSB_scrollTools .mCSB_buttonDown,
.mCSB_scrollTools .mCSB_buttonLeft,
.mCSB_scrollTools .mCSB_buttonRight {
background-image: url('${servletURL}?op=resource&resource=/com/fr/bi/web/images/background/mCSB_buttons.png');
background-image: url('background/mCSB_buttons.png');
/* css sprites */
background-repeat: no-repeat;
opacity: 0.4;

40
src/css/base/third/ztree/zTreeStyle.css

@ -32,7 +32,7 @@ website: http://code.google.com/p/jquerytree/
padding: 0 0 0 18px;
}
.ztree li ul.line {
background: url(${servletURL}?op=resource&resource=/com/fr/bi/web/images/icon/tree-vertical-line-1.png) 0 0 repeat-y;
background: url(icon/tree-vertical-line-1.png) 0 0 repeat-y;
}
.ztree li a {
padding: 1px 3px 0 0;
@ -98,31 +98,31 @@ website: http://code.google.com/p/jquerytree/
cursor: auto;
}
.ztree li span.button.chk.checkbox_false_full {
background-image: url("${servletURL}?op=resource&resource=/com/fr/bi/web/images/icon/check-box-normal.png");
background-image: url("icon/check-box-normal.png");
}
.ztree li span.button.chk.checkbox_false_full_focus {
background-image: url("${servletURL}?op=resource&resource=/com/fr/bi/web/images/icon/check-box-normal.png");
background-image: url("icon/check-box-normal.png");
}
.ztree li span.button.chk.checkbox_false_part {
background-image: url("${servletURL}?op=resource&resource=/com/fr/bi/web/images/icon/half_selected.png");
background-image: url("icon/half_selected.png");
}
.ztree li span.button.chk.checkbox_false_part_focus {
background-image: url("${servletURL}?op=resource&resource=/com/fr/bi/web/images/icon/half_selected.png");
background-image: url("icon/half_selected.png");
}
.ztree li span.button.chk.checkbox_false_disable {
background-position: 0 -56px;
}
.ztree li span.button.chk.checkbox_true_full {
background-image: url("${servletURL}?op=resource&resource=/com/fr/bi/web/images/icon/check-box-active.png");
background-image: url("icon/check-box-active.png");
}
.ztree li span.button.chk.checkbox_true_full_focus {
background-image: url("${servletURL}?op=resource&resource=/com/fr/bi/web/images/icon/check-box-active.png");
background-image: url("icon/check-box-active.png");
}
.ztree li span.button.chk.checkbox_true_part {
background-image: url("${servletURL}?op=resource&resource=/com/fr/bi/web/images/icon/half_selected.png");
background-image: url("icon/half_selected.png");
}
.ztree li span.button.chk.checkbox_true_part_focus {
background-image: url("${servletURL}?op=resource&resource=/com/fr/bi/web/images/icon/half_selected.png");
background-image: url("icon/half_selected.png");
}
.ztree li span.button.chk.checkbox_true_disable {
background-position: -14px -56px;
@ -162,28 +162,28 @@ website: http://code.google.com/p/jquerytree/
height: 25px;
}
.ztree li span.button.root_open {
background-image: url("${servletURL}?op=resource&resource=/com/fr/bi/web/images/icon/tree-expand-1.png");
background-image: url("icon/tree-expand-1.png");
}
.ztree li span.button.root_close {
background-image: url("${servletURL}?op=resource&resource=/com/fr/bi/web/images/icon/tree-collapse-1.png");
background-image: url("icon/tree-collapse-1.png");
}
.ztree li span.button.roots_open {
background-image: url("${servletURL}?op=resource&resource=/com/fr/bi/web/images/icon/tree-expand-2.png");
background-image: url("icon/tree-expand-2.png");
}
.ztree li span.button.roots_close {
background-image: url("${servletURL}?op=resource&resource=/com/fr/bi/web/images/icon/tree-collapse-2.png");
background-image: url("icon/tree-collapse-2.png");
}
.ztree li span.button.center_open {
background-image: url("${servletURL}?op=resource&resource=/com/fr/bi/web/images/icon/tree-expand-3.png");
background-image: url("icon/tree-expand-3.png");
}
.ztree li span.button.center_close {
background-image: url("${servletURL}?op=resource&resource=/com/fr/bi/web/images/icon/tree-collapse-3.png");
background-image: url("icon/tree-collapse-3.png");
}
.ztree li span.button.bottom_open {
background-image: url("${servletURL}?op=resource&resource=/com/fr/bi/web/images/icon/tree-expand-4.png");
background-image: url("icon/tree-expand-4.png");
}
.ztree li span.button.bottom_close {
background-image: url("${servletURL}?op=resource&resource=/com/fr/bi/web/images/icon/tree-collapse-4.png");
background-image: url("icon/tree-collapse-4.png");
}
.ztree li span.button.noline_open {
background-position: -92px -72px;
@ -195,13 +195,13 @@ website: http://code.google.com/p/jquerytree/
background: none;
}
.ztree li span.button.roots_docu {
background-image: url("${servletURL}?op=resource&resource=/com/fr/bi/web/images/icon/tree-vertical-line-2.png");
background-image: url("icon/tree-vertical-line-2.png");
}
.ztree li span.button.center_docu {
background-image: url("${servletURL}?op=resource&resource=/com/fr/bi/web/images/icon/tree-vertical-line-3.png");
background-image: url("icon/tree-vertical-line-3.png");
}
.ztree li span.button.bottom_docu {
background-image: url("${servletURL}?op=resource&resource=/com/fr/bi/web/images/icon/tree-vertical-line-4.png");
background-image: url("icon/tree-vertical-line-4.png");
}
.ztree li span.button.noline_docu {
background: none;

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save