vue2-client 1.4.63 → 1.4.64

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (99) hide show
  1. package/CHANGELOG.md +487 -484
  2. package/index.js +30 -30
  3. package/package.json +78 -78
  4. package/src/base-client/components/common/AddressSearchCombobox/AddressSearchCombobox.vue +225 -225
  5. package/src/base-client/components/common/FormGroupEdit/FormGroupEdit.vue +151 -151
  6. package/src/base-client/components/common/FormGroupQuery/FormGroupQuery.vue +165 -165
  7. package/src/base-client/components/common/JSONToTree/jsontotree.vue +275 -275
  8. package/src/base-client/components/common/XAddNativeForm/XAddNativeForm.vue +327 -327
  9. package/src/base-client/components/common/XCard/XCard.vue +64 -64
  10. package/src/base-client/components/common/XForm/XForm.vue +274 -274
  11. package/src/base-client/components/common/XFormTable/XFormTable.vue +565 -570
  12. package/src/base-client/components/common/XFormTable/index.md +96 -96
  13. package/src/base-client/components/common/XTreeOne/XTreeOne.vue +109 -109
  14. package/src/base-client/components/system/QueryParamsDetailsView/QueryParamsDetailsView.vue +281 -281
  15. package/src/base-client/components/ticket/TicketDetailsView/TicketDetailsView.vue +807 -807
  16. package/src/base-client/components/ticket/TicketDetailsView/index.md +29 -29
  17. package/src/base-client/components/ticket/TicketDetailsView/part/TicketDetailsFlow.vue +260 -260
  18. package/src/base-client/components/ticket/TicketSubmitSuccessView/TicketSubmitSuccessView.vue +532 -532
  19. package/src/base-client/components/ticket/TicketSubmitSuccessView/index.md +29 -29
  20. package/src/base-client/plugins/AppData.js +73 -73
  21. package/src/base-client/plugins/GetLoginInfoService.js +179 -179
  22. package/src/base-client/plugins/PagedList.js +177 -177
  23. package/src/base-client/plugins/compatible/LoginServiceOA.js +20 -20
  24. package/src/base-client/plugins/i18n-extend.js +32 -32
  25. package/src/components/Ellipsis/index.md +38 -38
  26. package/src/components/NumberInfo/index.md +43 -43
  27. package/src/components/STable/README.md +341 -341
  28. package/src/components/STable/index.js +318 -318
  29. package/src/components/Trend/index.md +45 -45
  30. package/src/components/checkbox/ColorCheckbox.vue +157 -157
  31. package/src/components/checkbox/ImgCheckbox.vue +163 -163
  32. package/src/components/exception/ExceptionPage.vue +70 -70
  33. package/src/components/form/FormRow.vue +52 -52
  34. package/src/components/index.js +36 -36
  35. package/src/components/menu/SideMenu.vue +62 -62
  36. package/src/components/menu/menu.js +273 -273
  37. package/src/components/page/header/index.less +40 -40
  38. package/src/components/setting/Setting.vue +235 -235
  39. package/src/components/table/StandardTable.vue +141 -141
  40. package/src/components/table/advance/ActionColumns.vue +158 -158
  41. package/src/components/table/advance/SearchArea.vue +355 -355
  42. package/src/components/tool/AStepItem.vue +60 -60
  43. package/src/components/tool/AvatarList.vue +68 -68
  44. package/src/components/tool/Drawer.vue +142 -142
  45. package/src/components/tool/TagSelect.vue +83 -83
  46. package/src/components/transition/PageToggleTransition.vue +97 -97
  47. package/src/config/default/admin.config.js +18 -18
  48. package/src/config/default/setting.config.js +44 -44
  49. package/src/config/replacer/resolve.config.js +67 -67
  50. package/src/layouts/AdminLayout.vue +174 -174
  51. package/src/layouts/CommonLayout.vue +42 -42
  52. package/src/layouts/ComponentLayoutOne.vue +47 -47
  53. package/src/layouts/PageLayout.vue +151 -151
  54. package/src/layouts/SinglePageView.vue +111 -111
  55. package/src/layouts/footer/PageFooter.vue +49 -49
  56. package/src/layouts/header/AdminHeader.vue +104 -104
  57. package/src/layouts/header/HeaderNotice.vue +167 -167
  58. package/src/layouts/header/HeaderSearch.vue +67 -67
  59. package/src/layouts/header/InstitutionDetail.vue +181 -181
  60. package/src/layouts/header/index.less +92 -92
  61. package/src/layouts/tabs/TabsHead.vue +190 -190
  62. package/src/layouts/tabs/TabsView.vue +379 -379
  63. package/src/mock/goods/index.js +108 -108
  64. package/src/pages/exception/404.vue +25 -25
  65. package/src/pages/login/Login.vue +348 -348
  66. package/src/pages/report/ReportTable.js +124 -124
  67. package/src/pages/report/ReportTableHome.vue +28 -28
  68. package/src/pages/resourceManage/orgListManage.vue +98 -98
  69. package/src/pages/system/dictionary/index.vue +43 -43
  70. package/src/pages/system/file/index.vue +317 -317
  71. package/src/pages/system/monitor/loginInfor/index.vue +36 -36
  72. package/src/pages/system/monitor/operLog/index.vue +36 -36
  73. package/src/pages/system/queryParams/index.vue +43 -43
  74. package/src/router/async/config.async.js +27 -27
  75. package/src/router/async/router.map.js +68 -68
  76. package/src/router/guards.js +104 -104
  77. package/src/router/index.js +27 -27
  78. package/src/services/api/DictionaryDetailsViewApi.js +6 -6
  79. package/src/services/api/LogDetailsViewApi.js +10 -10
  80. package/src/services/api/QueryParamsDetailsViewApi.js +6 -6
  81. package/src/services/api/TicketDetailsViewApi.js +34 -34
  82. package/src/services/api/cas.js +79 -79
  83. package/src/services/api/commonTempTable.js +10 -10
  84. package/src/services/api/index.js +17 -17
  85. package/src/services/api/logininfor/index.js +6 -6
  86. package/src/services/api/manage.js +8 -8
  87. package/src/services/apiService.js +13 -13
  88. package/src/services/user.js +53 -53
  89. package/src/store/modules/index.js +4 -4
  90. package/src/theme/default/nprogress.less +76 -76
  91. package/src/theme/default/style.less +47 -47
  92. package/src/utils/colors.js +107 -107
  93. package/src/utils/excel/Blob.js +180 -180
  94. package/src/utils/excel/Export2Excel.js +141 -141
  95. package/src/utils/formatter.js +68 -68
  96. package/src/utils/i18n.js +80 -80
  97. package/src/utils/theme-color-replacer-extend.js +91 -91
  98. package/src/utils/themeUtil.js +100 -100
  99. package/src/utils/util.js +230 -230
@@ -1,163 +1,163 @@
1
- <template>
2
- <a-tooltip :title="title" :overlayStyle="{zIndex: 2001}">
3
- <div class="img-check-box" @click="toggle">
4
- <img :src="img" alt=""/>
5
- <div v-if="sChecked" class="check-item">
6
- <a-icon type="check" />
7
- </div>
8
- </div>
9
- </a-tooltip>
10
- </template>
11
-
12
- <script>
13
- const Group = {
14
- name: 'ImgCheckboxGroup',
15
- props: {
16
- multiple: {
17
- type: Boolean,
18
- required: false,
19
- default: false
20
- },
21
- defaultValues: {
22
- type: Array,
23
- required: false,
24
- default: () => []
25
- }
26
- },
27
- data () {
28
- return {
29
- values: [],
30
- options: []
31
- }
32
- },
33
- provide () {
34
- return {
35
- groupContext: this
36
- }
37
- },
38
- watch: {
39
- 'values': function (value) {
40
- this.$emit('change', value)
41
- // // 此条件是为解决单选时,触发两次chang事件问题
42
- // if (!(newVal.length === 1 && oldVal.length === 1 && newVal[0] === oldVal[0])) {
43
- // this.$emit('change', this.values)
44
- // }
45
- }
46
- },
47
- methods: {
48
- handleChange (option) {
49
- if (!option.checked) {
50
- if (this.values.indexOf(option.value) > -1) {
51
- this.values = this.values.filter(item => item !== option.value)
52
- }
53
- } else {
54
- if (!this.multiple) {
55
- this.values = [option.value]
56
- this.options.forEach(item => {
57
- if (item.value !== option.value) {
58
- item.sChecked = false
59
- }
60
- })
61
- } else {
62
- this.values.push(option.value)
63
- }
64
- }
65
- }
66
- },
67
- render (h) {
68
- return h(
69
- 'div',
70
- {
71
- attrs: { style: 'display: flex' }
72
- },
73
- [this.$slots.default]
74
- )
75
- }
76
- }
77
-
78
- export default {
79
- name: 'ImgCheckbox',
80
- Group,
81
- props: {
82
- checked: {
83
- type: Boolean,
84
- required: false,
85
- default: false
86
- },
87
- img: {
88
- type: String,
89
- required: true
90
- },
91
- // eslint-disable-next-line vue/require-prop-types
92
- value: {
93
- required: true
94
- },
95
- // eslint-disable-next-line vue/require-default-prop
96
- title: String
97
- },
98
- data () {
99
- return {
100
- sChecked: this.initChecked()
101
- }
102
- },
103
- inject: ['groupContext'],
104
- watch: {
105
- 'sChecked': function () {
106
- const option = {
107
- value: this.value,
108
- checked: this.sChecked
109
- }
110
- this.$emit('change', option)
111
- const groupContext = this.groupContext
112
- if (groupContext) {
113
- groupContext.handleChange(option)
114
- }
115
- }
116
- },
117
- created () {
118
- const groupContext = this.groupContext
119
- if (groupContext) {
120
- this.sChecked = groupContext.defaultValues.length > 0 ? groupContext.defaultValues.indexOf(this.value) >= 0 : this.sChecked
121
- groupContext.options.push(this)
122
- }
123
- },
124
- methods: {
125
- toggle () {
126
- if (this.groupContext.multiple || !this.sChecked) {
127
- this.sChecked = !this.sChecked
128
- }
129
- },
130
- initChecked () {
131
- const groupContext = this.groupContext
132
- if (!groupContext) {
133
- return this.checked
134
- } else if (groupContext.multiple) {
135
- return groupContext.defaultValues.indexOf(this.value) > -1
136
- } else {
137
- return groupContext.defaultValues[0] === this.value
138
- }
139
- }
140
- }
141
- }
142
- </script>
143
-
144
- <style lang="less" scoped>
145
- .img-check-box{
146
- margin-right: 16px;
147
- position: relative;
148
- border-radius: 4px;
149
- cursor: pointer;
150
- .check-item{
151
- position: absolute;
152
- top: 0;
153
- right: 0;
154
- width: 100%;
155
- padding-top: 15px;
156
- padding-left: 24px;
157
- height: 100%;
158
- color: @primary-color;
159
- font-size: 14px;
160
- font-weight: bold;
161
- }
162
- }
163
- </style>
1
+ <template>
2
+ <a-tooltip :title="title" :overlayStyle="{zIndex: 2001}">
3
+ <div class="img-check-box" @click="toggle">
4
+ <img :src="img" alt=""/>
5
+ <div v-if="sChecked" class="check-item">
6
+ <a-icon type="check" />
7
+ </div>
8
+ </div>
9
+ </a-tooltip>
10
+ </template>
11
+
12
+ <script>
13
+ const Group = {
14
+ name: 'ImgCheckboxGroup',
15
+ props: {
16
+ multiple: {
17
+ type: Boolean,
18
+ required: false,
19
+ default: false
20
+ },
21
+ defaultValues: {
22
+ type: Array,
23
+ required: false,
24
+ default: () => []
25
+ }
26
+ },
27
+ data () {
28
+ return {
29
+ values: [],
30
+ options: []
31
+ }
32
+ },
33
+ provide () {
34
+ return {
35
+ groupContext: this
36
+ }
37
+ },
38
+ watch: {
39
+ 'values': function (value) {
40
+ this.$emit('change', value)
41
+ // // 此条件是为解决单选时,触发两次chang事件问题
42
+ // if (!(newVal.length === 1 && oldVal.length === 1 && newVal[0] === oldVal[0])) {
43
+ // this.$emit('change', this.values)
44
+ // }
45
+ }
46
+ },
47
+ methods: {
48
+ handleChange (option) {
49
+ if (!option.checked) {
50
+ if (this.values.indexOf(option.value) > -1) {
51
+ this.values = this.values.filter(item => item !== option.value)
52
+ }
53
+ } else {
54
+ if (!this.multiple) {
55
+ this.values = [option.value]
56
+ this.options.forEach(item => {
57
+ if (item.value !== option.value) {
58
+ item.sChecked = false
59
+ }
60
+ })
61
+ } else {
62
+ this.values.push(option.value)
63
+ }
64
+ }
65
+ }
66
+ },
67
+ render (h) {
68
+ return h(
69
+ 'div',
70
+ {
71
+ attrs: { style: 'display: flex' }
72
+ },
73
+ [this.$slots.default]
74
+ )
75
+ }
76
+ }
77
+
78
+ export default {
79
+ name: 'ImgCheckbox',
80
+ Group,
81
+ props: {
82
+ checked: {
83
+ type: Boolean,
84
+ required: false,
85
+ default: false
86
+ },
87
+ img: {
88
+ type: String,
89
+ required: true
90
+ },
91
+ // eslint-disable-next-line vue/require-prop-types
92
+ value: {
93
+ required: true
94
+ },
95
+ // eslint-disable-next-line vue/require-default-prop
96
+ title: String
97
+ },
98
+ data () {
99
+ return {
100
+ sChecked: this.initChecked()
101
+ }
102
+ },
103
+ inject: ['groupContext'],
104
+ watch: {
105
+ 'sChecked': function () {
106
+ const option = {
107
+ value: this.value,
108
+ checked: this.sChecked
109
+ }
110
+ this.$emit('change', option)
111
+ const groupContext = this.groupContext
112
+ if (groupContext) {
113
+ groupContext.handleChange(option)
114
+ }
115
+ }
116
+ },
117
+ created () {
118
+ const groupContext = this.groupContext
119
+ if (groupContext) {
120
+ this.sChecked = groupContext.defaultValues.length > 0 ? groupContext.defaultValues.indexOf(this.value) >= 0 : this.sChecked
121
+ groupContext.options.push(this)
122
+ }
123
+ },
124
+ methods: {
125
+ toggle () {
126
+ if (this.groupContext.multiple || !this.sChecked) {
127
+ this.sChecked = !this.sChecked
128
+ }
129
+ },
130
+ initChecked () {
131
+ const groupContext = this.groupContext
132
+ if (!groupContext) {
133
+ return this.checked
134
+ } else if (groupContext.multiple) {
135
+ return groupContext.defaultValues.indexOf(this.value) > -1
136
+ } else {
137
+ return groupContext.defaultValues[0] === this.value
138
+ }
139
+ }
140
+ }
141
+ }
142
+ </script>
143
+
144
+ <style lang="less" scoped>
145
+ .img-check-box{
146
+ margin-right: 16px;
147
+ position: relative;
148
+ border-radius: 4px;
149
+ cursor: pointer;
150
+ .check-item{
151
+ position: absolute;
152
+ top: 0;
153
+ right: 0;
154
+ width: 100%;
155
+ padding-top: 15px;
156
+ padding-left: 24px;
157
+ height: 100%;
158
+ color: @primary-color;
159
+ font-size: 14px;
160
+ font-weight: bold;
161
+ }
162
+ }
163
+ </style>
@@ -1,70 +1,70 @@
1
- <template>
2
- <div class="exception-page">
3
- <div class="img">
4
- <img :src="config[type].img" alt=""/>
5
- </div>
6
- <div class="content">
7
- <h1>{{ config[type].title }}</h1>
8
- <div class="desc">{{ config[type].desc }}</div>
9
- <div class="action">
10
- <a-button type="primary" @click="backHome">返回首页</a-button>
11
- </div>
12
- </div>
13
- </div>
14
- </template>
15
-
16
- <script>
17
- import Config from './typeConfig'
18
-
19
- export default {
20
- name: 'ExceptionPage',
21
- // eslint-disable-next-line vue/require-prop-types
22
- props: ['type', 'homeRoute'],
23
- data () {
24
- return {
25
- config: Config
26
- }
27
- },
28
- methods: {
29
- backHome () {
30
- if (this.homeRoute) {
31
- this.$router.push(this.homeRoute)
32
- }
33
- this.$emit('backHome', this.type)
34
- }
35
- }
36
- }
37
- </script>
38
-
39
- <style lang="less" scoped>
40
- .exception-page{
41
- border-radius: 4px;
42
- display: flex;
43
- justify-content: center;
44
- align-items: center;
45
- background-color: @base-bg-color;
46
- .img{
47
- padding-right: 52px;
48
- zoom: 1;
49
- img{
50
- max-width: 430px;
51
- }
52
- }
53
- .content{
54
- h1{
55
- color: #434e59;
56
- font-size: 72px;
57
- font-weight: 600;
58
- line-height: 72px;
59
- margin-bottom: 24px;
60
- }
61
- .desc{
62
- color: @text-color-second;
63
- font-size: 20px;
64
- line-height: 28px;
65
- margin-bottom: 16px;
66
- }
67
- }
68
- }
69
-
70
- </style>
1
+ <template>
2
+ <div class="exception-page">
3
+ <div class="img">
4
+ <img :src="config[type].img" alt=""/>
5
+ </div>
6
+ <div class="content">
7
+ <h1>{{ config[type].title }}</h1>
8
+ <div class="desc">{{ config[type].desc }}</div>
9
+ <div class="action">
10
+ <a-button type="primary" @click="backHome">返回首页</a-button>
11
+ </div>
12
+ </div>
13
+ </div>
14
+ </template>
15
+
16
+ <script>
17
+ import Config from './typeConfig'
18
+
19
+ export default {
20
+ name: 'ExceptionPage',
21
+ // eslint-disable-next-line vue/require-prop-types
22
+ props: ['type', 'homeRoute'],
23
+ data () {
24
+ return {
25
+ config: Config
26
+ }
27
+ },
28
+ methods: {
29
+ backHome () {
30
+ if (this.homeRoute) {
31
+ this.$router.push(this.homeRoute)
32
+ }
33
+ this.$emit('backHome', this.type)
34
+ }
35
+ }
36
+ }
37
+ </script>
38
+
39
+ <style lang="less" scoped>
40
+ .exception-page{
41
+ border-radius: 4px;
42
+ display: flex;
43
+ justify-content: center;
44
+ align-items: center;
45
+ background-color: @base-bg-color;
46
+ .img{
47
+ padding-right: 52px;
48
+ zoom: 1;
49
+ img{
50
+ max-width: 430px;
51
+ }
52
+ }
53
+ .content{
54
+ h1{
55
+ color: #434e59;
56
+ font-size: 72px;
57
+ font-weight: 600;
58
+ line-height: 72px;
59
+ margin-bottom: 24px;
60
+ }
61
+ .desc{
62
+ color: @text-color-second;
63
+ font-size: 20px;
64
+ line-height: 28px;
65
+ margin-bottom: 16px;
66
+ }
67
+ }
68
+ }
69
+
70
+ </style>
@@ -1,52 +1,52 @@
1
- <template>
2
- <div class="form-row">
3
- <div class="label">
4
- <span>{{ label }}</span>
5
- </div>
6
- <div class="content">
7
- <slot></slot>
8
- </div>
9
- </div>
10
- </template>
11
-
12
- <script>
13
- export default {
14
- name: 'FormRow',
15
- // eslint-disable-next-line vue/require-prop-types
16
- props: ['label']
17
- }
18
- </script>
19
-
20
- <style lang="less" scoped>
21
- .form-row{
22
- display: flex;
23
- border-bottom: 1px dashed @border-color-base;
24
- margin-bottom: 16px;
25
- .label {
26
- color: @title-color;
27
- font-size: 14px;
28
- margin-right: 24px;
29
- flex: 0 0 auto;
30
- text-align: right;
31
- & > span {
32
- display: inline-block;
33
- height: 39px;
34
- line-height: 39px;
35
- &:after {
36
- content: ':';
37
- }
38
- }
39
- }
40
- .content {
41
- flex: 1 1 0;
42
- :global {
43
- .ant-form-item:last-child {
44
- margin-right: 0;
45
- }
46
- .ant-form-item {
47
- margin-bottom: 0;
48
- }
49
- }
50
- }
51
- }
52
- </style>
1
+ <template>
2
+ <div class="form-row">
3
+ <div class="label">
4
+ <span>{{ label }}</span>
5
+ </div>
6
+ <div class="content">
7
+ <slot></slot>
8
+ </div>
9
+ </div>
10
+ </template>
11
+
12
+ <script>
13
+ export default {
14
+ name: 'FormRow',
15
+ // eslint-disable-next-line vue/require-prop-types
16
+ props: ['label']
17
+ }
18
+ </script>
19
+
20
+ <style lang="less" scoped>
21
+ .form-row{
22
+ display: flex;
23
+ border-bottom: 1px dashed @border-color-base;
24
+ margin-bottom: 16px;
25
+ .label {
26
+ color: @title-color;
27
+ font-size: 14px;
28
+ margin-right: 24px;
29
+ flex: 0 0 auto;
30
+ text-align: right;
31
+ & > span {
32
+ display: inline-block;
33
+ height: 39px;
34
+ line-height: 39px;
35
+ &:after {
36
+ content: ':';
37
+ }
38
+ }
39
+ }
40
+ .content {
41
+ flex: 1 1 0;
42
+ :global {
43
+ .ant-form-item:last-child {
44
+ margin-right: 0;
45
+ }
46
+ .ant-form-item {
47
+ margin-bottom: 0;
48
+ }
49
+ }
50
+ }
51
+ }
52
+ </style>
@@ -1,36 +1,36 @@
1
- // chart
2
- import Bar from '@vue2-client/components/Charts/Bar'
3
- import ChartCard from '@vue2-client/components/Charts/ChartCard'
4
- import Liquid from '@vue2-client/components/Charts/Liquid'
5
- import MiniArea from '@vue2-client/components/Charts/MiniArea'
6
- import MiniSmoothArea from '@vue2-client/components/Charts/MiniSmoothArea'
7
- import MiniBar from '@vue2-client/components/Charts/MiniBar'
8
- import MiniProgress from '@vue2-client/components/Charts/MiniProgress'
9
- import Radar from '@vue2-client/components/Charts/Radar'
10
- import RankList from '@vue2-client/components/Charts/RankList'
11
- import TagCloud from '@vue2-client/components/Charts/TagCloud'
12
- import TransferBar from '@vue2-client/components/Charts/TransferBar'
13
- import Trend from '@vue2-client/components/Trend'
14
-
15
- // pro components
16
- import Ellipsis from '@vue2-client/components/Ellipsis'
17
- import NumberInfo from '@vue2-client/components/NumberInfo'
18
- import STable from '@vue2-client/components/STable'
19
-
20
- export {
21
- Bar,
22
- ChartCard,
23
- Liquid,
24
- MiniArea,
25
- MiniSmoothArea,
26
- MiniBar,
27
- MiniProgress,
28
- Radar,
29
- TagCloud,
30
- RankList,
31
- TransferBar,
32
- Ellipsis,
33
- NumberInfo,
34
- STable,
35
- Trend
36
- }
1
+ // chart
2
+ import Bar from '@vue2-client/components/Charts/Bar'
3
+ import ChartCard from '@vue2-client/components/Charts/ChartCard'
4
+ import Liquid from '@vue2-client/components/Charts/Liquid'
5
+ import MiniArea from '@vue2-client/components/Charts/MiniArea'
6
+ import MiniSmoothArea from '@vue2-client/components/Charts/MiniSmoothArea'
7
+ import MiniBar from '@vue2-client/components/Charts/MiniBar'
8
+ import MiniProgress from '@vue2-client/components/Charts/MiniProgress'
9
+ import Radar from '@vue2-client/components/Charts/Radar'
10
+ import RankList from '@vue2-client/components/Charts/RankList'
11
+ import TagCloud from '@vue2-client/components/Charts/TagCloud'
12
+ import TransferBar from '@vue2-client/components/Charts/TransferBar'
13
+ import Trend from '@vue2-client/components/Trend'
14
+
15
+ // pro components
16
+ import Ellipsis from '@vue2-client/components/Ellipsis'
17
+ import NumberInfo from '@vue2-client/components/NumberInfo'
18
+ import STable from '@vue2-client/components/STable'
19
+
20
+ export {
21
+ Bar,
22
+ ChartCard,
23
+ Liquid,
24
+ MiniArea,
25
+ MiniSmoothArea,
26
+ MiniBar,
27
+ MiniProgress,
28
+ Radar,
29
+ TagCloud,
30
+ RankList,
31
+ TransferBar,
32
+ Ellipsis,
33
+ NumberInfo,
34
+ STable,
35
+ Trend
36
+ }