@kyfe/ks-query-table 0.0.2 → 0.0.3

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 (75) hide show
  1. package/index.js +35386 -7
  2. package/package.json +7 -5
  3. package/query-table.common.js.map +1 -0
  4. package/query-table.css +1 -0
  5. package/query-table.umd.js +35396 -0
  6. package/query-table.umd.js.map +1 -0
  7. package/query-table.umd.min.js +11 -0
  8. package/query-table.umd.min.js.map +1 -0
  9. package/README.md +0 -45
  10. package/api/index.js +0 -12
  11. package/assets/horizontal-back.svg +0 -1
  12. package/components/pe-table/cell.js +0 -184
  13. package/components/pe-table/collapse.js +0 -334
  14. package/components/pe-table/empty.vue +0 -48
  15. package/components/pe-table/header.js +0 -328
  16. package/components/pe-table/images/abnormal.png +0 -0
  17. package/components/pe-table/images/empty.png +0 -0
  18. package/components/pe-table/images/fold.svg +0 -1
  19. package/components/pe-table/images/sort.svg +0 -1
  20. package/components/pe-table/images/sorting.svg +0 -1
  21. package/components/pe-table/images/unfold.svg +0 -1
  22. package/components/pe-table/index.vue +0 -837
  23. package/components/pe-table/load-more.js +0 -46
  24. package/components/pe-table/props/index.js +0 -183
  25. package/components/pe-table/row.vue +0 -118
  26. package/components/pe-table/scrollbar.js +0 -424
  27. package/components/pe-table/stretch-damping.js +0 -112
  28. package/components/pe-table/style/cell.less +0 -89
  29. package/components/pe-table/style/empty.less +0 -48
  30. package/components/pe-table/style/header.less +0 -141
  31. package/components/pe-table/style/index.less +0 -88
  32. package/components/pe-table/style/load-more.less +0 -61
  33. package/components/pe-table/style/row.less +0 -6
  34. package/components/pe-table/table-loading.vue +0 -119
  35. package/components/pe-table/table-total.vue +0 -53
  36. package/components/pe-table/utils/animate.js +0 -80
  37. package/components/pe-table/utils/columns.js +0 -290
  38. package/components/pe-table/utils/data.js +0 -12
  39. package/components/pe-table/utils/fixed.js +0 -69
  40. package/components/pe-table/utils/formatter.js +0 -327
  41. package/components/pe-table/utils/render-cells.js +0 -424
  42. package/components/pe-table/utils/slot.js +0 -28
  43. package/components/pe-table/utils/tools.js +0 -84
  44. package/components/pe-table/utils/touch-scroll.js +0 -417
  45. package/components/query-table/index.vue +0 -492
  46. package/components/query-table/mixins/column-mixin.js +0 -102
  47. package/components/query-table/mixins/column-setting.js +0 -143
  48. package/components/query-table/mixins/data-mixin.js +0 -502
  49. package/components/query-table/mixins/pagination-mixin.js +0 -25
  50. package/components/query-table/mixins/table-fixed.js +0 -111
  51. package/components/query-table/mixins/table-horizontal.js +0 -119
  52. package/components/table-horizontal.vue +0 -99
  53. package/components/table-pagination.vue +0 -32
  54. package/components/table-settings/assets/arrpw-up.svg +0 -1
  55. package/components/table-settings/assets/disabled-down.svg +0 -1
  56. package/components/table-settings/assets/disabled-up.svg +0 -1
  57. package/components/table-settings/assets/down.svg +0 -1
  58. package/components/table-settings/assets/up.svg +0 -1
  59. package/components/table-settings/index.less +0 -294
  60. package/components/table-settings/index.vue +0 -260
  61. package/components/table-settings/settings.vue +0 -479
  62. package/components/table-settings/test.js +0 -626
  63. package/components/table-settings//344/270/252/346/200/247/350/256/276/347/275/256.md +0 -0
  64. package/components/tooltip.js +0 -124
  65. package/hooks/use-cache-promise.js +0 -27
  66. package/hooks/use-column-config.js +0 -186
  67. package/hooks/use-encryption.js +0 -0
  68. package/hooks/use-generic-search.js +0 -95
  69. package/store/column-store.js +0 -0
  70. package/styles/table.less +0 -24
  71. package/utils/column.js +0 -36
  72. package/utils/config.js +0 -12
  73. package/utils/encryption.js +0 -32
  74. package/utils/http.js +0 -1
  75. package/utils/localStorage.js +0 -35
@@ -1,294 +0,0 @@
1
- .pe-table-setting-popup {
2
- -webkit-user-select: none;
3
- user-select: none;
4
- background-color: #ffffff;
5
- &.fixed-head {
6
- height: 100%;
7
- }
8
- width: 100%;
9
- border-radius: 20px 0 0 20px;
10
-
11
- .pe-table-setting__wrapper {
12
- height: 100%;
13
-
14
- display: flex;
15
- flex-direction: column;
16
- }
17
-
18
- .pe-table-setting__header {
19
- // 吸顶
20
- position: sticky;
21
- top: -1px;
22
- z-index: 3;
23
- background-color: #fff;
24
- padding-top: 8px;
25
- .pe-table-setting__header__title-wrap {
26
- display: flex;
27
- margin: 0 0 8px 16px;
28
- align-items: center;
29
- height: 20px;
30
- font-size: 14PX;
31
- font-weight: 500;
32
- line-height: 20px;
33
- letter-spacing: 0px;
34
- .van-icon {
35
- font-size: 20px;
36
- margin-right: 4px;
37
- }
38
- .pe-table-setting__header__title {
39
- color: @C9-gray-09;
40
- }
41
-
42
- .pe-table-setting__header__title-desc {
43
- font-size: 12px;
44
- color: #888B92;
45
- font-weight: 400;
46
- margin-left: 6px;
47
- }
48
- }
49
-
50
- &__table-title {
51
- display: flex;
52
- // justify-content: space-between;
53
- margin: 0 16px;
54
- // height: 28px;
55
- background-color: #f7f8fa;
56
- span {
57
- display: inline-block;
58
- position: relative;
59
- color: #555961;
60
- font-size: 11px;
61
- height: 28px;
62
- line-height: 28px;
63
- border-bottom: 1px solid @C9-gray-01;
64
- &::after {
65
- content: '';
66
- position: absolute;
67
- top: 0;
68
- right: 0;
69
- width: 1px;
70
- height: 100%;
71
- background-color: #c7cbce;
72
- transform-origin: right;
73
- transform: scaleX(0.5);
74
- }
75
- &:last-child::after {
76
- display: none;
77
- }
78
- }
79
-
80
- // .pe-table-setting {
81
- // &__field-sort {
82
- // width: 52px;
83
- // }
84
- // &__field-title {
85
- // flex: 1;
86
- // }
87
- // &__switch {
88
- // width: 64px;
89
- // }
90
- // &__up {
91
- // width: 64px;
92
- // }
93
- // &__down {
94
- // width: 64px;
95
- // }
96
- // }
97
- }
98
- }
99
-
100
- .pe-table-setting__list-wrapper {
101
- -webkit-overflow-scrolling: touch;
102
- &.fixed-head {
103
- flex: 1;
104
- overflow-y: scroll;
105
- }
106
- // padding: 0 16px;
107
- }
108
-
109
- .pe-table-setting__list {
110
- // width: 208px;
111
- // padding-right: 40px;
112
- .sortable-drag {
113
- opacity: 1 !important;
114
- background: #FFFFFF !important;;
115
- box-shadow: 0px 1px 8px 0px rgba(58, 68, 85, 0.24) !important;
116
- height: 36px !important;
117
- overflow: hidden;
118
- }
119
- li {
120
- .parent-col,
121
- .expand-col,
122
- .child-expand-col {
123
- height: 36px;
124
- position: relative;
125
- display: flex;
126
- // justify-content: space-between;
127
- // width: 208px;
128
- overflow: hidden;
129
- color: @C9-gray-09;
130
- font-size: 12px;
131
- line-height: 36px;
132
- background-color: #fff;
133
- border-bottom: 0.5px solid #e6e9ea;
134
- // padding-right: 16px;
135
- margin: 0 16px;
136
- .list_item__switch {
137
- padding: 10px;
138
- box-sizing: border-box;
139
- }
140
- &.active {
141
- background-color: #f3faff;
142
- .van-cell__value {
143
- background-color: #f3faff;
144
- .van-field__body {
145
- background-color: #ffffff;
146
- }
147
- }
148
- }
149
- .van-checkbox {
150
- margin-top: 4px;
151
- }
152
-
153
- .svg-icon {
154
- margin-left: 32px;
155
- margin-top: 6px;
156
- }
157
- }
158
- .expand-col .list_item__field-title {
159
- padding-left: 16px;
160
- }
161
- .child-expand-col .list_item__field-title {
162
- padding-left: 24px;
163
- }
164
-
165
- &-title {
166
- display: inline-block;
167
- width: 140px;
168
- }
169
- }
170
-
171
- .footer-btn {
172
- height: 80px;
173
-
174
- .van-button {
175
- border-radius: 8PX !important;
176
- height: 42px;
177
- line-height: 40px;
178
- }
179
- }
180
- }
181
- .pe-table-setting__header__table-title .pe-table-setting__field-sort {
182
- padding-left: 8px;
183
- box-sizing: border-box;
184
- }
185
- .pe-table-setting,
186
- .list_item {
187
- &__field-sort {
188
- padding: 0;
189
- // width: 82px;
190
- width: 52px;
191
- display: flex;
192
- align-items: center;
193
- .van-cell {
194
- background-color: transparent;
195
- padding-left: 8px;
196
- .van-cell__value {
197
- }
198
- .van-field__body {
199
- width: 24px;
200
- height: 20px;
201
- border: 1px solid #e6e9ea;
202
- border-radius: 4px;
203
- input {
204
- text-align: center;
205
- font-size: 13px;
206
- }
207
- }
208
- }
209
- }
210
-
211
- &__field-title {
212
- flex: 1;
213
- padding: 0 8px;
214
- white-space: nowrap;
215
- /* 不换行 */
216
- overflow: hidden;
217
- /* 隐藏超出的内容 */
218
- text-overflow: ellipsis;
219
-
220
- /* 用省略号表示被隐藏的部分 */
221
- .arrow {
222
- display: inline-block;
223
- width: 8px;
224
- height: 8px;
225
- margin-left: 4px;
226
- background-image: url(./assets/arrpw-up.svg);
227
- background-repeat: no-repeat;
228
- background-size: cover;
229
- &.down {
230
- transform: rotate(180deg);
231
- }
232
- }
233
-
234
- &.expand {
235
- background-color: #f8fafd;
236
- }
237
- }
238
-
239
- &__switch {
240
- width: 68px;
241
- text-align: center;
242
- display: flex;
243
- justify-content: center;
244
- align-items: center;
245
- .van-switch {
246
- background-color:@C9-gray-01;
247
- border:1px solid @C9-gray-01;
248
- }
249
- .van-switch--on {
250
- background-color: @C1-brand-06;
251
- background-image: linear-gradient(90deg, #F2412F 0%, #FF7053 97%);
252
- border:1px solid #F2412F;
253
- }
254
- }
255
-
256
- &__up {
257
- width: 58px;
258
- text-align: center;
259
- }
260
-
261
- &__down {
262
- width: 58px;
263
- text-align: center;
264
- }
265
- }
266
-
267
- .list_item {
268
- &__up,
269
- &__down {
270
- display: flex;
271
- justify-content: center;
272
- align-items: center;
273
-
274
- span {
275
- display: inline-block;
276
- width: 16px;
277
- height: 16px;
278
- background-repeat: no-repeat;
279
- background-size: cover;
280
- background-image: url(./assets/up.svg);
281
- &.disabled {
282
- background-image: url(./assets/disabled-up.svg);
283
- }
284
- }
285
- }
286
-
287
- &__down span {
288
- background-image: url(./assets/down.svg);
289
- &.disabled {
290
- background-image: url(./assets/disabled-down.svg);
291
- }
292
- }
293
- }
294
- }
@@ -1,260 +0,0 @@
1
- <template>
2
- <van-popup
3
- :value="value"
4
- position="right"
5
- get-container="body"
6
- class="pe-table-settings pe-common-popup-container"
7
- duration="0.2"
8
- :style="{ width: '100%', height: '100%' }"
9
- :closeable="false"
10
- :close-on-click-overlay="true"
11
- @click-overlay="back"
12
- @input="handleClosePopup"
13
- @open="handleOpenPopup"
14
- >
15
- <div class="popup-box">
16
- <div class="popup-header">
17
- <div class="back-btn" @click="back">
18
- <van-icon size="18" style="display: inline-block; vertical-align: middle; font-weight: bold; padding-right: 2px" name="arrow-left" />{{ title }}
19
- </div>
20
- </div>
21
- <div class="popup-content">
22
- <slot name="top"></slot>
23
- <Settings ref="settingsRef" @change="change" v-bind="$attrs" :fixedHead="!($scopedSlots && $scopedSlots.top)" :tableColumns="columns">
24
- <template slot="label" slot-scope="{ item }">
25
- <slot :item="item" name="label"></slot>
26
- </template>
27
- </Settings>
28
- </div>
29
- <div class="footer-btn">
30
- <van-button @click="reset" class="btn left-btn">重置</van-button>
31
- <van-button type="primary" @click="confirm" class="btn">确定</van-button>
32
- </div>
33
- </div>
34
- </van-popup>
35
- </template>
36
-
37
- <script>
38
- import cloneDeep from 'lodash/cloneDeep'
39
- // import Mixins from './mixin.js'
40
- import Settings from './settings.vue'
41
- // import { cols2 } from './test'
42
- export default {
43
- name: 'table-settings',
44
- // mixins: [Mixins],
45
- components: { Settings },
46
- props: {
47
- value: {
48
- type: Boolean,
49
- default: false,
50
- },
51
- title: {
52
- type: String,
53
- default: '个性设置',
54
- },
55
- tableColumns: {
56
- type: Array,
57
- default: () => [],
58
- },
59
- // 组件内部控制tab显示
60
- innerTabVisible: {
61
- type: Boolean,
62
- default: true,
63
- },
64
- disabledAutoHideClose: {
65
- type: Boolean,
66
- default: false,
67
- },
68
- isShowHorizontal: {
69
- type: Boolean,
70
- default: false,
71
- },
72
- },
73
- watch: {
74
- // tableColumns: {
75
- // deep: true,
76
- // handler() {
77
- // },
78
- // },
79
- },
80
- data() {
81
- return {
82
- columns: [],
83
- }
84
- },
85
- computed: {},
86
- methods: {
87
- change(val) {
88
- this.$emit('change', val)
89
- },
90
- back() {
91
- this.handleClosePopup(false)
92
- this.$emit('back')
93
- },
94
- async reset() {
95
- this.handleClosePopup(false)
96
- this.$emit('reset')
97
- },
98
- cancel() {
99
- this.handleClosePopup(false)
100
- this.$emit('cancel')
101
- },
102
- confirmCheck(clos) {
103
- if (!clos.filter(v => v.show && !v.isHide).length) {
104
- window.vant.Toast('请至少保留一列')
105
- return false
106
- }
107
- return true
108
- },
109
- confirm() {
110
- let clos = [...this.$refs.settingsRef.getData()]
111
- if (!this.confirmCheck(clos)) return
112
- this.handleClosePopup(false)
113
- this.columns = clos
114
- this.$emit('confirm', clos)
115
- },
116
- handleClosePopup(e) {
117
- this.$emit('input', e)
118
- document.body.style['user-select'] = 'auto'
119
- this.innerTabVisible &&
120
- window.ks.callFunc({
121
- method: 'setStockTabVisible',
122
- params: {
123
- isShow: true, // 是否显示tab
124
- },
125
- })
126
- if (!this.disabledAutoHideClose && !this.isShowHorizontal) {
127
- window.ks.callFunc({
128
- method: 'setCloseButton',
129
- params: { isShow: true },
130
- })
131
- }
132
- },
133
- handleOpenPopup() {
134
- this.init()
135
- this.$emit('open')
136
- this.innerTabVisible &&
137
- window.ks.callFunc({
138
- method: 'setStockTabVisible',
139
- params: {
140
- isShow: false, // 是否显示tab
141
- },
142
- })
143
- window.ks.callFunc({
144
- method: 'setCloseButton',
145
- params: {
146
- isShow: false,
147
- },
148
- })
149
- },
150
- init() {
151
- try {
152
- this.$nextTick(() => {
153
- this.$refs.settingsRef.activeIndex = -1
154
- this.$refs.settingsRef && this.$refs.settingsRef.formatColumns(cloneDeep(this.tableColumns))
155
- })
156
- document.body.style['user-select'] = 'none'
157
- } catch (error) {
158
- // console.log('error', error)
159
- }
160
- },
161
- },
162
- }
163
- </script>
164
- <style lang="less" scoped>
165
- .pe-table-settings {
166
- // 防止拖拽时出现横向滚动条
167
- overflow-x: hidden;
168
- -webkit-overflow-scrolling: touch;
169
- user-select: none;
170
- // 适配ios的吸顶
171
- // top: 0;
172
- // left: 0;
173
- // right: 0;
174
- // transform: unset;
175
- .popup-box {
176
- height: 100%;
177
- width: 100%;
178
- display: flex;
179
- flex-direction: column;
180
- background: #fff;
181
- .popup-header {
182
- width: 100%;
183
- height: 44px;
184
- font-weight: 500;
185
- display: flex;
186
- flex-shrink: 0;
187
- font-size: 18px;
188
- justify-content: space-between;
189
- align-items: center;
190
- .back-btn {
191
- display: flex;
192
- align-items: center;
193
- padding-left: 7px;
194
- // prettier-ignore
195
- font-size: 16PX;
196
- // prettier-ignore
197
- line-height: 16PX;
198
- }
199
- }
200
- .popup-content {
201
- // flex-grow 不能使用,ios无法滚动
202
- flex: 1;
203
- font-size: 14px;
204
- color: #333333;
205
- overflow-y: auto;
206
- }
207
- .footer-btn {
208
- width: 100%;
209
- padding: 8px 16px;
210
- flex-shrink: 0;
211
- display: flex;
212
- justify-content: space-between;
213
- align-items: center;
214
- box-sizing: border-box;
215
- .btn {
216
- height: 40px;
217
- width: 48%;
218
- border-radius: 8px !important;
219
- &.van-button--primary {
220
- border: none;
221
- background: linear-gradient(90deg, #f2412f 0%, #ff7053 97%);
222
- }
223
- }
224
- .left-btn {
225
- box-sizing: inherit;
226
- // color: @C1-brand-05;
227
- position: relative;
228
- border: none;
229
- &::after {
230
- content: ' ';
231
- position: absolute;
232
- left: 0;
233
- top: 0;
234
- width: 200%;
235
- height: 200%;
236
- border: 1px solid @C1-brand-03;
237
- border-radius: 16px;
238
- -webkit-transform-origin: 0 0;
239
- transform-origin: 0 0;
240
- -webkit-transform: scale(0.5);
241
- transform: scale(0.5);
242
- }
243
- }
244
- }
245
- }
246
- }
247
- .ipx .pe-table-settings {
248
- .popup-header {
249
- padding-top: 44px !important;
250
- }
251
- .footer-btn {
252
- padding-bottom: 24px;
253
- -webkit-user-select: none;
254
- user-select: none;
255
- }
256
- }
257
- .ios .pe-table-settings .popup-header {
258
- padding-top: 20px;
259
- }
260
- </style>