bi-element-ui 1.1.9 → 1.1.92

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/dist/css/about.734427a8.css +1 -0
  10. package/dist/css/chunk-vendors.8b3b4be2.css +22 -0
  11. package/dist/css/index.9e71d803.css +1 -0
  12. package/dist/js/about.4ff3d4f9.js +2 -0
  13. package/dist/js/chunk-vendors.d907e1f2.js +387 -0
  14. package/dist/js/index.66b4892a.js +11 -0
  15. package/lib/{bi-element-ui.common.js → Bi-element-ui.common.js} +136967 -136910
  16. package/lib/{bi-element-ui.umd.js → Bi-element-ui.umd.js} +136967 -136910
  17. package/lib/{bi-element-ui.umd.min.js → Bi-element-ui.umd.min.js} +46 -46
  18. package/package-lock2.json +17309 -17309
  19. package/package.json +1 -1
  20. package/src/components/BiDatePicker/datePickerOption.js +163 -163
  21. package/src/components/BiDatePicker/index.vue +59 -59
  22. package/src/components/BiTable/columu.vue +81 -81
  23. package/src/components/BiTable/forced.js +63 -63
  24. package/src/components/BiTable/index.js +6 -6
  25. package/src/components/BiTable/render.vue +13 -13
  26. package/src/components/BiTable/table.vue +179 -179
  27. package/src/components/BiTableColumn/Group.vue +275 -275
  28. package/src/components/BiTableColumn/api.js +16 -16
  29. package/src/components/BiTooltipIcon/index.vue +63 -63
  30. package/src/components/EditBtn.vue +15 -15
  31. package/src/components/FreeButton/index.vue +50 -50
  32. package/src/components/Pagination/index.vue +91 -91
  33. package/src/components/Pagination/scrollTo.js +65 -65
  34. package/src/router/index.js +44 -44
  35. package/src/store/index.js +11 -11
  36. package/src/views/Date.vue +96 -96
  37. package/src/views/Home.vue +11 -0
  38. package/src/views/Layout.vue +34 -34
  39. package/src/views/Scene.vue +111 -111
  40. package/src/views/showData.vue +2 -2
  41. package/tests/e2e/.eslintrc.js +10 -10
  42. package/tests/e2e/plugins/index.js +25 -25
  43. package/tests/e2e/specs/test.js +8 -8
  44. package/tests/e2e/support/commands.js +25 -25
  45. package/tests/e2e/support/index.js +20 -20
  46. package/tests/unit/example.spec.js +13 -13
  47. package//345/211/215/347/253/257ui/346/240/267/345/274/217/350/247/204/350/214/203.md +101 -101
  48. package/pnpm-lock.yaml +0 -13329
  49. /package/lib/{bi-element-ui.css → Bi-element-ui.css} +0 -0
@@ -1,275 +1,275 @@
1
- <template>
2
- <el-dialog custom-class="dialog-class dialog-width" title="自定义列" :visible.sync="dialogVisible" width="620px">
3
- <div class="dialog-body" style="min-height: 160px">
4
- <div class="checkbox-container" style="width: auto; margin: 0 auto">
5
- <div v-for="(item, index) in colList" :key="index" class="checkbox-item">
6
- <p>
7
- <el-checkbox
8
- v-model="item.status"
9
- @change="
10
- (val) => {
11
- return handleCheckAllChange(val, item)
12
- }
13
- "
14
- >{{ item.content }}</el-checkbox
15
- >
16
- </p>
17
- <p style="padding: 0 20px">
18
- <el-checkbox-group
19
- v-model="checkList"
20
- :true-label="1"
21
- :false-label="0"
22
- @change="
23
- (val) => {
24
- return handleCheckedColChange(val, item)
25
- }
26
- "
27
- >
28
- <el-checkbox
29
- v-for="(city, childrenIndex) in item.children"
30
- :key="childrenIndex"
31
- :label="city.name"
32
- style="width: 120px; margin: 0 15px 15px 0"
33
- @change="
34
- (val) => {
35
- return handleChange(val, city)
36
- }
37
- "
38
- >
39
- {{ city.content }}
40
- </el-checkbox>
41
- </el-checkbox-group>
42
- </p>
43
- </div>
44
- <!-- <span
45
- v-for="(item, index) in colList"
46
- :key="index"
47
- style="
48
- display: inline-block;
49
- width: 80px;
50
- margin: 0 25px;
51
- line-height: 35px;
52
- "
53
- >
54
- <el-checkbox @change="checkChange($event,item)"
55
- v-model="item.check" :label="item.name">
56
- {{item.content}}
57
- </el-checkbox>
58
- </span> -->
59
- </div>
60
- </div>
61
- <span slot="footer" class="dialog-footer" style="display: flex; justify-content: space-between">
62
- <span style="display: inline-block; line-height: 32px">
63
- <el-checkbox v-model="checkAllData" label="全选" @change="checkAll"> 全选 </el-checkbox>
64
- </span>
65
- <el-button @click="dialogVisible = false">关闭</el-button>
66
- </span>
67
- </el-dialog>
68
- </template>
69
-
70
- <script>
71
- import { saveOperate, getList } from './api'
72
- export default {
73
- props: {
74
- value: {
75
- type: Boolean,
76
- default: false
77
- },
78
- listType: {
79
- type: String,
80
- require: true,
81
- default: ''
82
- },
83
- granularity: {
84
- type: String,
85
- default: 'day'
86
- },
87
- checkData: {
88
- type: Array,
89
- require: true,
90
- default: () => {
91
- return []
92
- }
93
- },
94
- viewsColumn: {
95
- type: Array,
96
- default: () => {
97
- return []
98
- }
99
- }
100
- },
101
- data() {
102
- return {
103
- colList: [],
104
- checkList: [], // 存放勾选数据
105
- checkAllData: false
106
- }
107
- },
108
- computed: {
109
- dialogVisible: {
110
- get() {
111
- return this.value
112
- },
113
- set(val) {
114
- this.$emit('input', val)
115
- }
116
- },
117
- tableColumnList() {
118
- const obj = {}
119
- this.colList.map((group) => {
120
- if (group.children && group.children.length) {
121
- group.children.map((item) => {
122
- obj[item.name] = Boolean(item.status)
123
- })
124
- } else {
125
- obj[group.name] = Boolean(group.status)
126
- }
127
- })
128
- return obj
129
- }
130
- },
131
- watch: {
132
- viewsColumn() {
133
- if (this.viewsColumn.length > 0 && this.viewsColumn !== this.colList) {
134
- this.colList = this.viewsColumn
135
- this.defaultCheck()
136
- this.$emit('handleTableColumnList', this.tableColumnList)
137
- }
138
- },
139
- colList: {
140
- handler(now, old) {
141
- let i = true
142
- now.forEach((item, index) => {
143
- item.status = Boolean(item.status)
144
- if (item.status) {
145
- this.checkAllData = item.status
146
- } else {
147
- i = false
148
- }
149
- this.checkAllData = i
150
- })
151
- },
152
-
153
- deep: true
154
- },
155
- granularity() {
156
- this.granularityLabel()
157
- },
158
- checkList: {
159
- handler(now, old) {
160
- this.$emit('showTableColumn', { colList: now })
161
- this.saveOperate()
162
- },
163
- deep: true
164
- }
165
- },
166
-
167
- mounted() {
168
- this.getList(this.listType)
169
- },
170
- beforeDestroy() {
171
- this.visible = false
172
- this.checkList = []
173
- },
174
- methods: {
175
- granularityLabel() {
176
- this.colList[0].children.map((item) => {
177
- if (this.granularity === 'week') {
178
- item.name === 'today_roi' && (item.content = '当周回本')
179
- item.name === 'date_num' && (item.content = '回本周数')
180
- } else if (this.granularity === 'month') {
181
- item.name === 'today_roi' && (item.content = '当月回本')
182
- item.name === 'date_num' && (item.content = '回本月数')
183
- }
184
- })
185
- },
186
- // 获取列表
187
- async getList(params) {
188
- const res = await getList(params)
189
- if (res.status_code === 1) {
190
- this.colList = res.data
191
- this.defaultCheck()
192
- this.$emit('handleTableColumnList', this.tableColumnList)
193
- }
194
- },
195
- // 全选
196
- checkAll(val) {
197
- this.colList.forEach((item, index) => {
198
- this.handleCheckAllChange(val, item)
199
- item.status = val
200
- // item.children.forEach((em) => {
201
- // if (em.check) {
202
- // this.checkList.push(em.label);
203
- // }
204
- // });
205
- })
206
- if (!val) {
207
- this.checkList = []
208
- }
209
- },
210
- // 默认勾选
211
- defaultCheck() {
212
- this.checkList = []
213
- this.colList.forEach((item, index) => {
214
- item.children.forEach((em) => {
215
- if (em.status) {
216
- this.checkList.push(em.name)
217
- }
218
- })
219
- })
220
- },
221
- // 分类全选
222
- handleCheckAllChange(val, item) {
223
- item.children.forEach((em, inx) => {
224
- em.status = val ? 1 : 0
225
- if (em.status) {
226
- if (this.checkList.indexOf(em.name) === -1) {
227
- this.checkList.push(em.name)
228
- }
229
- } else {
230
- this.checkAllData = false
231
- const index = this.checkList.indexOf(em.name)
232
- this.checkList.splice(index, 1)
233
- }
234
- })
235
- // this.saveOperate()
236
- },
237
- // 勾选框组监听选中数组
238
- handleCheckedColChange(array, item) {
239
- let flag = true
240
- item.children.forEach((em) => {
241
- if (em.status) {
242
- item.status = true
243
- } else {
244
- flag = false
245
- }
246
- })
247
- item.status = flag
248
- // this.saveOperate()
249
- },
250
- // 勾选框单个变化
251
- handleChange(val, item) {
252
- item.status = val ? 1 : 0
253
- if (!val) {
254
- this.checkAllData = false
255
- }
256
- },
257
- // 发送数据
258
- async saveOperate() {
259
- // 数组变化调用接口保存全部数据
260
- const params = JSON.parse(JSON.stringify(this.colList))
261
- var arr = []
262
- params.forEach((item, index) => {
263
- item.status = item.status ? 1 : 0
264
- arr.push(...item.children)
265
- })
266
- const data = JSON.stringify(arr)
267
- await saveOperate(data)
268
- this.$emit('handleTableColumnList', this.tableColumnList)
269
- this.$emit('viewsColumn', this.colList)
270
- }
271
- }
272
- }
273
- </script>
274
-
275
- <style scoped lang="scss"></style>
1
+ <template>
2
+ <el-dialog custom-class="dialog-class dialog-width" title="自定义列" :visible.sync="dialogVisible" width="620px">
3
+ <div class="dialog-body" style="min-height: 160px">
4
+ <div class="checkbox-container" style="width: auto; margin: 0 auto">
5
+ <div v-for="(item, index) in colList" :key="index" class="checkbox-item">
6
+ <p>
7
+ <el-checkbox
8
+ v-model="item.status"
9
+ @change="
10
+ (val) => {
11
+ return handleCheckAllChange(val, item)
12
+ }
13
+ "
14
+ >{{ item.content }}</el-checkbox
15
+ >
16
+ </p>
17
+ <p style="padding: 0 20px">
18
+ <el-checkbox-group
19
+ v-model="checkList"
20
+ :true-label="1"
21
+ :false-label="0"
22
+ @change="
23
+ (val) => {
24
+ return handleCheckedColChange(val, item)
25
+ }
26
+ "
27
+ >
28
+ <el-checkbox
29
+ v-for="(city, childrenIndex) in item.children"
30
+ :key="childrenIndex"
31
+ :label="city.name"
32
+ style="width: 120px; margin: 0 15px 15px 0"
33
+ @change="
34
+ (val) => {
35
+ return handleChange(val, city)
36
+ }
37
+ "
38
+ >
39
+ {{ city.content }}
40
+ </el-checkbox>
41
+ </el-checkbox-group>
42
+ </p>
43
+ </div>
44
+ <!-- <span
45
+ v-for="(item, index) in colList"
46
+ :key="index"
47
+ style="
48
+ display: inline-block;
49
+ width: 80px;
50
+ margin: 0 25px;
51
+ line-height: 35px;
52
+ "
53
+ >
54
+ <el-checkbox @change="checkChange($event,item)"
55
+ v-model="item.check" :label="item.name">
56
+ {{item.content}}
57
+ </el-checkbox>
58
+ </span> -->
59
+ </div>
60
+ </div>
61
+ <span slot="footer" class="dialog-footer" style="display: flex; justify-content: space-between">
62
+ <span style="display: inline-block; line-height: 32px">
63
+ <el-checkbox v-model="checkAllData" label="全选" @change="checkAll"> 全选 </el-checkbox>
64
+ </span>
65
+ <el-button @click="dialogVisible = false">关闭</el-button>
66
+ </span>
67
+ </el-dialog>
68
+ </template>
69
+
70
+ <script>
71
+ import { saveOperate, getList } from './api'
72
+ export default {
73
+ props: {
74
+ value: {
75
+ type: Boolean,
76
+ default: false
77
+ },
78
+ listType: {
79
+ type: String,
80
+ require: true,
81
+ default: ''
82
+ },
83
+ granularity: {
84
+ type: String,
85
+ default: 'day'
86
+ },
87
+ checkData: {
88
+ type: Array,
89
+ require: true,
90
+ default: () => {
91
+ return []
92
+ }
93
+ },
94
+ viewsColumn: {
95
+ type: Array,
96
+ default: () => {
97
+ return []
98
+ }
99
+ }
100
+ },
101
+ data() {
102
+ return {
103
+ colList: [],
104
+ checkList: [], // 存放勾选数据
105
+ checkAllData: false
106
+ }
107
+ },
108
+ computed: {
109
+ dialogVisible: {
110
+ get() {
111
+ return this.value
112
+ },
113
+ set(val) {
114
+ this.$emit('input', val)
115
+ }
116
+ },
117
+ tableColumnList() {
118
+ const obj = {}
119
+ this.colList.map((group) => {
120
+ if (group.children && group.children.length) {
121
+ group.children.map((item) => {
122
+ obj[item.name] = Boolean(item.status)
123
+ })
124
+ } else {
125
+ obj[group.name] = Boolean(group.status)
126
+ }
127
+ })
128
+ return obj
129
+ }
130
+ },
131
+ watch: {
132
+ viewsColumn() {
133
+ if (this.viewsColumn.length > 0 && this.viewsColumn !== this.colList) {
134
+ this.colList = this.viewsColumn
135
+ this.defaultCheck()
136
+ this.$emit('handleTableColumnList', this.tableColumnList)
137
+ }
138
+ },
139
+ colList: {
140
+ handler(now, old) {
141
+ let i = true
142
+ now.forEach((item, index) => {
143
+ item.status = Boolean(item.status)
144
+ if (item.status) {
145
+ this.checkAllData = item.status
146
+ } else {
147
+ i = false
148
+ }
149
+ this.checkAllData = i
150
+ })
151
+ },
152
+
153
+ deep: true
154
+ },
155
+ granularity() {
156
+ this.granularityLabel()
157
+ },
158
+ checkList: {
159
+ handler(now, old) {
160
+ this.$emit('showTableColumn', { colList: now })
161
+ this.saveOperate()
162
+ },
163
+ deep: true
164
+ }
165
+ },
166
+
167
+ mounted() {
168
+ this.getList(this.listType)
169
+ },
170
+ beforeDestroy() {
171
+ this.visible = false
172
+ this.checkList = []
173
+ },
174
+ methods: {
175
+ granularityLabel() {
176
+ this.colList[0].children.map((item) => {
177
+ if (this.granularity === 'week') {
178
+ item.name === 'today_roi' && (item.content = '当周回本')
179
+ item.name === 'date_num' && (item.content = '回本周数')
180
+ } else if (this.granularity === 'month') {
181
+ item.name === 'today_roi' && (item.content = '当月回本')
182
+ item.name === 'date_num' && (item.content = '回本月数')
183
+ }
184
+ })
185
+ },
186
+ // 获取列表
187
+ async getList(params) {
188
+ const res = await getList(params)
189
+ if (res.status_code === 1) {
190
+ this.colList = res.data
191
+ this.defaultCheck()
192
+ this.$emit('handleTableColumnList', this.tableColumnList)
193
+ }
194
+ },
195
+ // 全选
196
+ checkAll(val) {
197
+ this.colList.forEach((item, index) => {
198
+ this.handleCheckAllChange(val, item)
199
+ item.status = val
200
+ // item.children.forEach((em) => {
201
+ // if (em.check) {
202
+ // this.checkList.push(em.label);
203
+ // }
204
+ // });
205
+ })
206
+ if (!val) {
207
+ this.checkList = []
208
+ }
209
+ },
210
+ // 默认勾选
211
+ defaultCheck() {
212
+ this.checkList = []
213
+ this.colList.forEach((item, index) => {
214
+ item.children.forEach((em) => {
215
+ if (em.status) {
216
+ this.checkList.push(em.name)
217
+ }
218
+ })
219
+ })
220
+ },
221
+ // 分类全选
222
+ handleCheckAllChange(val, item) {
223
+ item.children.forEach((em, inx) => {
224
+ em.status = val ? 1 : 0
225
+ if (em.status) {
226
+ if (this.checkList.indexOf(em.name) === -1) {
227
+ this.checkList.push(em.name)
228
+ }
229
+ } else {
230
+ this.checkAllData = false
231
+ const index = this.checkList.indexOf(em.name)
232
+ this.checkList.splice(index, 1)
233
+ }
234
+ })
235
+ // this.saveOperate()
236
+ },
237
+ // 勾选框组监听选中数组
238
+ handleCheckedColChange(array, item) {
239
+ let flag = true
240
+ item.children.forEach((em) => {
241
+ if (em.status) {
242
+ item.status = true
243
+ } else {
244
+ flag = false
245
+ }
246
+ })
247
+ item.status = flag
248
+ // this.saveOperate()
249
+ },
250
+ // 勾选框单个变化
251
+ handleChange(val, item) {
252
+ item.status = val ? 1 : 0
253
+ if (!val) {
254
+ this.checkAllData = false
255
+ }
256
+ },
257
+ // 发送数据
258
+ async saveOperate() {
259
+ // 数组变化调用接口保存全部数据
260
+ const params = JSON.parse(JSON.stringify(this.colList))
261
+ var arr = []
262
+ params.forEach((item, index) => {
263
+ item.status = item.status ? 1 : 0
264
+ arr.push(...item.children)
265
+ })
266
+ const data = JSON.stringify(arr)
267
+ await saveOperate(data)
268
+ this.$emit('handleTableColumnList', this.tableColumnList)
269
+ this.$emit('viewsColumn', this.colList)
270
+ }
271
+ }
272
+ }
273
+ </script>
274
+
275
+ <style scoped lang="scss"></style>
@@ -1,16 +1,16 @@
1
- import request from '@/utils/request'
2
-
3
- export function getList(type) {
4
- return request({
5
- url: '/admin/tablehead/list',
6
- method: 'get',
7
- params: { type }
8
- })
9
- }
10
- export function saveOperate(head_info) {
11
- return request({
12
- url: '/admin/tablehead/operate',
13
- method: 'post',
14
- data: { head_info }
15
- })
16
- }
1
+ import request from '@/utils/request'
2
+
3
+ export function getList(type) {
4
+ return request({
5
+ url: '/admin/tablehead/list',
6
+ method: 'get',
7
+ params: { type }
8
+ })
9
+ }
10
+ export function saveOperate(head_info) {
11
+ return request({
12
+ url: '/admin/tablehead/operate',
13
+ method: 'post',
14
+ data: { head_info }
15
+ })
16
+ }