bi-element-ui 1.1.97 → 1.1.99

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 (49) hide show
  1. package/.browserslistrc +3 -3
  2. package/.eslintignore +1 -1
  3. package/.prettierrc +8 -8
  4. package/.prettierrc.json +8 -8
  5. package/.vscode/extensions.json +3 -3
  6. package/.vscode/settings.json +2 -2
  7. package/README.md +148 -148
  8. package/cypress.json +3 -3
  9. package/lib/bi-element-ui.common.js +114885 -114885
  10. package/lib/bi-element-ui.css +2 -2
  11. package/lib/bi-element-ui.umd.js +114885 -114885
  12. package/lib/bi-element-ui.umd.min.js +47 -47
  13. package/package-lock2.json +17309 -17309
  14. package/package.json +1 -1
  15. package/pnpm-lock.yaml +13329 -0
  16. package/src/App.vue +2 -0
  17. package/src/components/BiDatePicker/datePickerOption.js +163 -163
  18. package/src/components/BiDatePicker/index.vue +59 -59
  19. package/src/components/BiTable/columu.vue +81 -81
  20. package/src/components/BiTable/forced.js +63 -63
  21. package/src/components/BiTable/index.js +6 -6
  22. package/src/components/BiTable/render.vue +13 -13
  23. package/src/components/BiTable/table.vue +179 -179
  24. package/src/components/BiTableColumn/Group.vue +275 -275
  25. package/src/components/BiTableColumn/api.js +16 -16
  26. package/src/components/BiTooltipIcon/index.vue +63 -63
  27. package/src/components/EditBtn.vue +15 -15
  28. package/src/components/FreeButton/index.vue +50 -50
  29. package/src/components/Pagination/index.vue +91 -91
  30. package/src/components/Pagination/scrollTo.js +65 -65
  31. package/src/main.js +3 -1
  32. package/src/router/index.js +49 -44
  33. package/src/store/index.js +11 -11
  34. package/src/utils/auth.js +66 -0
  35. package/src/utils/index.js +296 -0
  36. package/src/utils/request.js +81 -0
  37. package/src/views/Date.vue +96 -96
  38. package/src/views/Home.vue +11 -8
  39. package/src/views/Layout.vue +34 -34
  40. package/src/views/Log.vue +18 -0
  41. package/src/views/Scene.vue +111 -111
  42. package/src/views/showData.vue +2 -2
  43. package/tests/e2e/.eslintrc.js +10 -10
  44. package/tests/e2e/plugins/index.js +25 -25
  45. package/tests/e2e/specs/test.js +8 -8
  46. package/tests/e2e/support/commands.js +25 -25
  47. package/tests/e2e/support/index.js +20 -20
  48. package/tests/unit/example.spec.js +13 -13
  49. package//345/211/215/347/253/257ui/346/240/267/345/274/217/350/247/204/350/214/203.md +101 -101
@@ -1,63 +1,63 @@
1
- // 这些选项不应该被覆盖
2
- export default {
3
- selection: {
4
- renderHeader: function (h, { store }) {
5
- return <el-checkbox disabled={store.states.data && store.states.data.length === 0} indeterminate={store.states.selection.length > 0 && !this.isAllSelected} nativeOn-click={this.toggleAllSelection} value={this.isAllSelected} />
6
- },
7
- renderCell: function (h, { row, column, store, $index }) {
8
- return (
9
- <el-checkbox
10
- nativeOn-click={(event) => event.stopPropagation()}
11
- value={store.isSelected(row)}
12
- disabled={column.selectable ? !column.selectable.call(null, row, $index) : false}
13
- on-input={() => {
14
- store.commit('rowSelectedChanged', row)
15
- }}
16
- />
17
- )
18
- },
19
- sortable: false,
20
- resizable: false
21
- },
22
- index: {
23
- renderHeader: function (h, { column }) {
24
- return column.label || '#'
25
- },
26
- renderCell: function (h, { $index, column }) {
27
- let i = $index + 1
28
- const index = column.index
29
-
30
- if (typeof index === 'number') {
31
- i = $index + index
32
- } else if (typeof index === 'function') {
33
- i = index($index)
34
- }
35
-
36
- return <div>{i}</div>
37
- },
38
- sortable: false
39
- },
40
- expand: {
41
- renderHeader: function (h, { column }) {
42
- return column.label || ''
43
- },
44
- renderCell: function (h, { row, store }) {
45
- const classes = ['el-table__expand-icon']
46
- if (store.states.expandRows.indexOf(row) > -1) {
47
- classes.push('el-table__expand-icon--expanded')
48
- }
49
- const callback = function (e) {
50
- e.stopPropagation()
51
- store.toggleRowExpansion(row)
52
- }
53
- return (
54
- <div class={classes} on-click={callback}>
55
- <i class="el-icon el-icon-arrow-right"></i>
56
- </div>
57
- )
58
- },
59
- sortable: false,
60
- resizable: false,
61
- className: 'el-table__expand-column'
62
- }
63
- }
1
+ // 这些选项不应该被覆盖
2
+ export default {
3
+ selection: {
4
+ renderHeader: function (h, { store }) {
5
+ return <el-checkbox disabled={store.states.data && store.states.data.length === 0} indeterminate={store.states.selection.length > 0 && !this.isAllSelected} nativeOn-click={this.toggleAllSelection} value={this.isAllSelected} />
6
+ },
7
+ renderCell: function (h, { row, column, store, $index }) {
8
+ return (
9
+ <el-checkbox
10
+ nativeOn-click={(event) => event.stopPropagation()}
11
+ value={store.isSelected(row)}
12
+ disabled={column.selectable ? !column.selectable.call(null, row, $index) : false}
13
+ on-input={() => {
14
+ store.commit('rowSelectedChanged', row)
15
+ }}
16
+ />
17
+ )
18
+ },
19
+ sortable: false,
20
+ resizable: false
21
+ },
22
+ index: {
23
+ renderHeader: function (h, { column }) {
24
+ return column.label || '#'
25
+ },
26
+ renderCell: function (h, { $index, column }) {
27
+ let i = $index + 1
28
+ const index = column.index
29
+
30
+ if (typeof index === 'number') {
31
+ i = $index + index
32
+ } else if (typeof index === 'function') {
33
+ i = index($index)
34
+ }
35
+
36
+ return <div>{i}</div>
37
+ },
38
+ sortable: false
39
+ },
40
+ expand: {
41
+ renderHeader: function (h, { column }) {
42
+ return column.label || ''
43
+ },
44
+ renderCell: function (h, { row, store }) {
45
+ const classes = ['el-table__expand-icon']
46
+ if (store.states.expandRows.indexOf(row) > -1) {
47
+ classes.push('el-table__expand-icon--expanded')
48
+ }
49
+ const callback = function (e) {
50
+ e.stopPropagation()
51
+ store.toggleRowExpansion(row)
52
+ }
53
+ return (
54
+ <div class={classes} on-click={callback}>
55
+ <i class="el-icon el-icon-arrow-right"></i>
56
+ </div>
57
+ )
58
+ },
59
+ sortable: false,
60
+ resizable: false,
61
+ className: 'el-table__expand-column'
62
+ }
63
+ }
@@ -1,6 +1,6 @@
1
- import BiTable from './table.vue'
2
-
3
- BiTable.install = function (Vue) {
4
- Vue.component(BiTable.name, BiTable)
5
- }
6
- export default BiTable
1
+ import BiTable from './table.vue'
2
+
3
+ BiTable.install = function (Vue) {
4
+ Vue.component(BiTable.name, BiTable)
5
+ }
6
+ export default BiTable
@@ -1,13 +1,13 @@
1
- <script>
2
- export default {
3
- name: 'BiRender',
4
- functional: true,
5
- props: {
6
- scope: Object,
7
- render: Function
8
- },
9
- render: (h, ctx) => {
10
- return ctx.props.render ? ctx.props.render(h, ctx.props.scope) : ''
11
- }
12
- }
13
- </script>
1
+ <script>
2
+ export default {
3
+ name: 'BiRender',
4
+ functional: true,
5
+ props: {
6
+ scope: Object,
7
+ render: Function
8
+ },
9
+ render: (h, ctx) => {
10
+ return ctx.props.render ? ctx.props.render(h, ctx.props.scope) : ''
11
+ }
12
+ }
13
+ </script>
@@ -1,179 +1,179 @@
1
- <template>
2
- <div class="bi-table">
3
- <div class="bi-table-wrapper">
4
- <el-table ref="elTable" :data="data" :max-height="maxHeight" v-bind="$attrs" v-on="$listeners">
5
- <template v-for="item in tbColumns">
6
- <el-table-column v-if="item.slotScope" :key="item.prop + item.label" v-bind="item" v-on="$listeners">
7
- <template slot-scope="scope">
8
- <slot :name="item.prop" v-bind="scope"></slot>
9
- </template>
10
- </el-table-column>
11
-
12
- <bi-column v-else :key="item.prop + item.label" v-bind="$attrs" :column="item" />
13
- </template>
14
- </el-table>
15
- </div>
16
- <template v-if="pagination">
17
- <pagination v-if="data.length > 0" v-bind="$attrs" v-on="$listeners" />
18
- </template>
19
- </div>
20
- </template>
21
-
22
- <script>
23
- import BiColumn from './columu'
24
- import Pagination from '../Pagination'
25
-
26
- export default {
27
- name: 'BiTable',
28
- components: {
29
- Pagination,
30
- BiColumn
31
- },
32
- props: {
33
- data: {
34
- type: Array,
35
- default: () => {
36
- return []
37
- }
38
- },
39
- column: {
40
- type: Array,
41
- default: () => {
42
- return []
43
- }
44
- },
45
- columnsProps: {
46
- type: Object,
47
- default: () => {
48
- return {}
49
- }
50
- },
51
- pagination: {
52
- type: Boolean,
53
- default: false
54
- },
55
- fixed: {
56
- type: String,
57
- default: ''
58
- },
59
- fixedOffset: {
60
- type: String,
61
- default: ''
62
- }
63
- },
64
- data() {
65
- return {
66
- maxHeight: null
67
- }
68
- },
69
- computed: {
70
- tbColumns() {
71
- const { column, columnsProps: props } = this
72
- return column.map((col) => {
73
- const it = Object.assign({}, props, col)
74
- return it
75
- })
76
- },
77
- fixedHeader() {
78
- return this.fixed
79
- }
80
- },
81
- mounted() {
82
- if (this.fixedHeader === 'sticky') {
83
- window.addEventListener('scroll', this.handleStickyHeader, true)
84
- } else if (this.fixedHeader === 'fullscreen') {
85
- window.addEventListener('scroll', this.handleFixedHeader, true)
86
- // this.maxHeight = 300
87
- }
88
- },
89
- destroyed() {
90
- if (this.fixedHeader === 'sticky') {
91
- window.removeEventListener('scroll', this.handleStickyHeader, true)
92
- } else if (this.fixedHeader === 'fullscreen') {
93
- window.removeEventListener('scroll', this.handleFixedHeader, true)
94
- // this.maxHeight = 300
95
- }
96
- },
97
- methods: {
98
- handleStickyHeader() {
99
- // 获取滚动条滚动的高度
100
- const scrollTop = document.documentElement.scrollTop
101
- // 先获取父盒子的距离顶部的高度,从而算出子盒子的高度。
102
-
103
- const offsetTop = this.getElementTop(this.$el)
104
- // 当子盒子距离顶部的距离 小于滚动的高度,使子盒子吸顶。
105
-
106
- if (scrollTop > offsetTop + 30) {
107
- // 判断当前是否已经固定。headerStatus优化值 可有可无。
108
- if (!this.headerStatus) {
109
- this.headerStatus = true
110
- // 当前子盒子要在父盒子中横向滚动 所以使用absolute 绝对定位。
111
- this.$el.getElementsByClassName('el-table__header-wrapper')[0].style.position = 'absolute'
112
- this.$el.getElementsByClassName('el-table__header-wrapper')[0].style.zIndex = '2'
113
- }
114
- // 绝对定位 top值需要一直改变 所以动态添加top值
115
- const top = scrollTop - (offsetTop + 1) + Number(this.fixedOffset)
116
- // 中间header
117
- this.$el.getElementsByClassName('el-table__header-wrapper')[0].style.transform = `translate3d(0px, ${top}px, 0px)`
118
- this.$el.getElementsByClassName('el-table__header-wrapper')[0].style.position = 'relative'
119
-
120
- // 左边header
121
- if (this.$el.querySelector('.el-table__fixed')) {
122
- this.$el.querySelector('.el-table__fixed').style.zIndex = '3'
123
- }
124
- if (this.$el.querySelector('.el-table__fixed .el-table__fixed-header-wrapper')) {
125
- this.$el.querySelector('.el-table__fixed .el-table__fixed-header-wrapper').style.transform = `translate3d(0px, ${top}px, 0px)`
126
- this.$el.querySelector('.el-table__fixed .el-table__fixed-header-wrapper').style.zIndex = '4'
127
- }
128
-
129
- // 右边header
130
- if (this.$el.querySelector('.el-table__fixed-right')) {
131
- this.$el.querySelector('.el-table__fixed-right').style.zIndex = '4'
132
- }
133
- if (this.$el.querySelector('.el-table__fixed-right .el-table__fixed-header-wrapper')) {
134
- this.$el.querySelector('.el-table__fixed-right .el-table__fixed-header-wrapper').style.transform = `translate3d(0px, ${top}px, 0px)`
135
- this.$el.querySelector('.el-table__fixed-right .el-table__fixed-header-wrapper').style.zIndex = '4'
136
- }
137
- } else {
138
- this.headerStatus = false
139
- this.$el.getElementsByClassName('el-table__header-wrapper')[0].style.position = 'relative'
140
- this.$el.getElementsByClassName('el-table__header-wrapper')[0].style.transform = `translate3d(0px, 0px, 0px)`
141
-
142
- if (this.$el.querySelector('.el-table__fixed .el-table__fixed-header-wrapper')) {
143
- this.$el.querySelector('.el-table__fixed .el-table__fixed-header-wrapper').style.zIndex = `3`
144
- this.$el.querySelector('.el-table__fixed .el-table__fixed-header-wrapper').style.transform = `translate3d(0px, 0px, 0px)`
145
- }
146
- if (this.$el.querySelector('.el-table__fixed-right .el-table__fixed-header-wrapper')) {
147
- this.$el.querySelector('.el-table__fixed-right .el-table__fixed-header-wrapper').style.zIndex = `3`
148
- this.$el.querySelector('.el-table__fixed-right .el-table__fixed-header-wrapper').style.transform = `translate3d(0px, 0px, 0px)`
149
- }
150
- this.$el.getElementsByClassName('el-table__header-wrapper')[0].style.zIndex = '3'
151
- this.$el.getElementsByClassName('el-table__body-wrapper')[0].style.paddingTop = '0'
152
- }
153
- },
154
- handleFixedHeader() {
155
- // const scrollTop = document.documentElement.scrollTop
156
- const offsetTop = this.$el.getBoundingClientRect().top // el-table 父级div
157
- const tableHeight = window.innerHeight - Number(this.fixedOffset) - (this.pagination ? 72 : 0)
158
- if (Math.abs(tableHeight - this.maxHeight) > 3) {
159
- this.maxHeight = tableHeight
160
- }
161
- if (offsetTop <= Number(this.fixedOffset) + 20 && offsetTop >= 0) {
162
- this.$el.querySelector('.bi-table-wrapper>.el-table>.el-table__body-wrapper').style.overflowY = 'auto' // el-table class
163
- } else {
164
- this.$el.querySelector('.bi-table-wrapper>.el-table>.el-table__body-wrapper').style.overflowY = 'hidden' // el-table class
165
- }
166
- },
167
- getElementTop(element) {
168
- let actualTop = element.offsetTop
169
- let current = element.offsetParent
170
-
171
- while (current !== null) {
172
- actualTop += current.offsetTop
173
- current = current.offsetParent
174
- }
175
- return actualTop
176
- }
177
- }
178
- }
179
- </script>
1
+ <template>
2
+ <div class="bi-table">
3
+ <div class="bi-table-wrapper">
4
+ <el-table ref="elTable" :data="data" :max-height="maxHeight" v-bind="$attrs" v-on="$listeners">
5
+ <template v-for="item in tbColumns">
6
+ <el-table-column v-if="item.slotScope" :key="item.prop + item.label" v-bind="item" v-on="$listeners">
7
+ <template slot-scope="scope">
8
+ <slot :name="item.prop" v-bind="scope"></slot>
9
+ </template>
10
+ </el-table-column>
11
+
12
+ <bi-column v-else :key="item.prop + item.label" v-bind="$attrs" :column="item" />
13
+ </template>
14
+ </el-table>
15
+ </div>
16
+ <template v-if="pagination">
17
+ <pagination v-if="data.length > 0" v-bind="$attrs" v-on="$listeners" />
18
+ </template>
19
+ </div>
20
+ </template>
21
+
22
+ <script>
23
+ import BiColumn from './columu'
24
+ import Pagination from '../Pagination'
25
+
26
+ export default {
27
+ name: 'BiTable',
28
+ components: {
29
+ Pagination,
30
+ BiColumn
31
+ },
32
+ props: {
33
+ data: {
34
+ type: Array,
35
+ default: () => {
36
+ return []
37
+ }
38
+ },
39
+ column: {
40
+ type: Array,
41
+ default: () => {
42
+ return []
43
+ }
44
+ },
45
+ columnsProps: {
46
+ type: Object,
47
+ default: () => {
48
+ return {}
49
+ }
50
+ },
51
+ pagination: {
52
+ type: Boolean,
53
+ default: false
54
+ },
55
+ fixed: {
56
+ type: String,
57
+ default: ''
58
+ },
59
+ fixedOffset: {
60
+ type: String,
61
+ default: ''
62
+ }
63
+ },
64
+ data() {
65
+ return {
66
+ maxHeight: null
67
+ }
68
+ },
69
+ computed: {
70
+ tbColumns() {
71
+ const { column, columnsProps: props } = this
72
+ return column.map((col) => {
73
+ const it = Object.assign({}, props, col)
74
+ return it
75
+ })
76
+ },
77
+ fixedHeader() {
78
+ return this.fixed
79
+ }
80
+ },
81
+ mounted() {
82
+ if (this.fixedHeader === 'sticky') {
83
+ window.addEventListener('scroll', this.handleStickyHeader, true)
84
+ } else if (this.fixedHeader === 'fullscreen') {
85
+ window.addEventListener('scroll', this.handleFixedHeader, true)
86
+ // this.maxHeight = 300
87
+ }
88
+ },
89
+ destroyed() {
90
+ if (this.fixedHeader === 'sticky') {
91
+ window.removeEventListener('scroll', this.handleStickyHeader, true)
92
+ } else if (this.fixedHeader === 'fullscreen') {
93
+ window.removeEventListener('scroll', this.handleFixedHeader, true)
94
+ // this.maxHeight = 300
95
+ }
96
+ },
97
+ methods: {
98
+ handleStickyHeader() {
99
+ // 获取滚动条滚动的高度
100
+ const scrollTop = document.documentElement.scrollTop
101
+ // 先获取父盒子的距离顶部的高度,从而算出子盒子的高度。
102
+
103
+ const offsetTop = this.getElementTop(this.$el)
104
+ // 当子盒子距离顶部的距离 小于滚动的高度,使子盒子吸顶。
105
+
106
+ if (scrollTop > offsetTop + 30) {
107
+ // 判断当前是否已经固定。headerStatus优化值 可有可无。
108
+ if (!this.headerStatus) {
109
+ this.headerStatus = true
110
+ // 当前子盒子要在父盒子中横向滚动 所以使用absolute 绝对定位。
111
+ this.$el.getElementsByClassName('el-table__header-wrapper')[0].style.position = 'absolute'
112
+ this.$el.getElementsByClassName('el-table__header-wrapper')[0].style.zIndex = '2'
113
+ }
114
+ // 绝对定位 top值需要一直改变 所以动态添加top值
115
+ const top = scrollTop - (offsetTop + 1) + Number(this.fixedOffset)
116
+ // 中间header
117
+ this.$el.getElementsByClassName('el-table__header-wrapper')[0].style.transform = `translate3d(0px, ${top}px, 0px)`
118
+ this.$el.getElementsByClassName('el-table__header-wrapper')[0].style.position = 'relative'
119
+
120
+ // 左边header
121
+ if (this.$el.querySelector('.el-table__fixed')) {
122
+ this.$el.querySelector('.el-table__fixed').style.zIndex = '3'
123
+ }
124
+ if (this.$el.querySelector('.el-table__fixed .el-table__fixed-header-wrapper')) {
125
+ this.$el.querySelector('.el-table__fixed .el-table__fixed-header-wrapper').style.transform = `translate3d(0px, ${top}px, 0px)`
126
+ this.$el.querySelector('.el-table__fixed .el-table__fixed-header-wrapper').style.zIndex = '4'
127
+ }
128
+
129
+ // 右边header
130
+ if (this.$el.querySelector('.el-table__fixed-right')) {
131
+ this.$el.querySelector('.el-table__fixed-right').style.zIndex = '4'
132
+ }
133
+ if (this.$el.querySelector('.el-table__fixed-right .el-table__fixed-header-wrapper')) {
134
+ this.$el.querySelector('.el-table__fixed-right .el-table__fixed-header-wrapper').style.transform = `translate3d(0px, ${top}px, 0px)`
135
+ this.$el.querySelector('.el-table__fixed-right .el-table__fixed-header-wrapper').style.zIndex = '4'
136
+ }
137
+ } else {
138
+ this.headerStatus = false
139
+ this.$el.getElementsByClassName('el-table__header-wrapper')[0].style.position = 'relative'
140
+ this.$el.getElementsByClassName('el-table__header-wrapper')[0].style.transform = `translate3d(0px, 0px, 0px)`
141
+
142
+ if (this.$el.querySelector('.el-table__fixed .el-table__fixed-header-wrapper')) {
143
+ this.$el.querySelector('.el-table__fixed .el-table__fixed-header-wrapper').style.zIndex = `3`
144
+ this.$el.querySelector('.el-table__fixed .el-table__fixed-header-wrapper').style.transform = `translate3d(0px, 0px, 0px)`
145
+ }
146
+ if (this.$el.querySelector('.el-table__fixed-right .el-table__fixed-header-wrapper')) {
147
+ this.$el.querySelector('.el-table__fixed-right .el-table__fixed-header-wrapper').style.zIndex = `3`
148
+ this.$el.querySelector('.el-table__fixed-right .el-table__fixed-header-wrapper').style.transform = `translate3d(0px, 0px, 0px)`
149
+ }
150
+ this.$el.getElementsByClassName('el-table__header-wrapper')[0].style.zIndex = '3'
151
+ this.$el.getElementsByClassName('el-table__body-wrapper')[0].style.paddingTop = '0'
152
+ }
153
+ },
154
+ handleFixedHeader() {
155
+ // const scrollTop = document.documentElement.scrollTop
156
+ const offsetTop = this.$el.getBoundingClientRect().top // el-table 父级div
157
+ const tableHeight = window.innerHeight - Number(this.fixedOffset) - (this.pagination ? 72 : 0)
158
+ if (Math.abs(tableHeight - this.maxHeight) > 3) {
159
+ this.maxHeight = tableHeight
160
+ }
161
+ if (offsetTop <= Number(this.fixedOffset) + 20 && offsetTop >= 0) {
162
+ this.$el.querySelector('.bi-table-wrapper>.el-table>.el-table__body-wrapper').style.overflowY = 'auto' // el-table class
163
+ } else {
164
+ this.$el.querySelector('.bi-table-wrapper>.el-table>.el-table__body-wrapper').style.overflowY = 'hidden' // el-table class
165
+ }
166
+ },
167
+ getElementTop(element) {
168
+ let actualTop = element.offsetTop
169
+ let current = element.offsetParent
170
+
171
+ while (current !== null) {
172
+ actualTop += current.offsetTop
173
+ current = current.offsetParent
174
+ }
175
+ return actualTop
176
+ }
177
+ }
178
+ }
179
+ </script>