@bsgoal/common 2.16.6 → 2.17.0

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 (76) hide show
  1. package/package.json +2 -3
  2. package/src/App.vue +0 -9
  3. package/src/combines/useComs.js +0 -41
  4. package/src/combines/useFetchs.js +0 -55
  5. package/src/components/bsgoal-baes-popover/demo.vue +0 -35
  6. package/src/components/bsgoal-baes-popover/index.vue +0 -66
  7. package/src/components/bsgoal-base-alert/demo.vue +0 -39
  8. package/src/components/bsgoal-base-alert/index.vue +0 -49
  9. package/src/components/bsgoal-base-button/demo.vue +0 -54
  10. package/src/components/bsgoal-base-button/index.vue +0 -166
  11. package/src/components/bsgoal-base-cascader/demo.vue +0 -128
  12. package/src/components/bsgoal-base-cascader/index.vue +0 -95
  13. package/src/components/bsgoal-base-dialog/demo.vue +0 -350
  14. package/src/components/bsgoal-base-dialog/index.vue +0 -260
  15. package/src/components/bsgoal-base-form/demo.vue +0 -290
  16. package/src/components/bsgoal-base-form/index.vue +0 -732
  17. package/src/components/bsgoal-base-frame/demo.vue +0 -35
  18. package/src/components/bsgoal-base-frame/index.vue +0 -28
  19. package/src/components/bsgoal-base-input/demo.vue +0 -48
  20. package/src/components/bsgoal-base-input/index.vue +0 -174
  21. package/src/components/bsgoal-base-item/demo.vue +0 -46
  22. package/src/components/bsgoal-base-item/index.vue +0 -66
  23. package/src/components/bsgoal-base-layout/demo.vue +0 -48
  24. package/src/components/bsgoal-base-layout/index.vue +0 -57
  25. package/src/components/bsgoal-base-line/demo.vue +0 -41
  26. package/src/components/bsgoal-base-line/index.vue +0 -70
  27. package/src/components/bsgoal-base-link/demo.vue +0 -38
  28. package/src/components/bsgoal-base-link/index.vue +0 -73
  29. package/src/components/bsgoal-base-search/demo.vue +0 -215
  30. package/src/components/bsgoal-base-search/index.vue +0 -534
  31. package/src/components/bsgoal-base-search-operation/index.vue +0 -77
  32. package/src/components/bsgoal-base-search-table/demo.vue +0 -784
  33. package/src/components/bsgoal-base-search-table/index.vue +0 -291
  34. package/src/components/bsgoal-base-select/demo.vue +0 -71
  35. package/src/components/bsgoal-base-select/index.vue +0 -111
  36. package/src/components/bsgoal-base-sizes/demo.vue +0 -34
  37. package/src/components/bsgoal-base-sizes/index.vue +0 -178
  38. package/src/components/bsgoal-base-switch/demo.vue +0 -39
  39. package/src/components/bsgoal-base-switch/index.vue +0 -76
  40. package/src/components/bsgoal-base-table/demo.vue +0 -302
  41. package/src/components/bsgoal-base-table/index.vue +0 -461
  42. package/src/components/bsgoal-base-table-content/index.vue +0 -64
  43. package/src/components/bsgoal-base-table-empty/demo.vue +0 -37
  44. package/src/components/bsgoal-base-table-empty/index.vue +0 -48
  45. package/src/components/bsgoal-base-table-pagination/demo.vue +0 -35
  46. package/src/components/bsgoal-base-table-pagination/index.vue +0 -110
  47. package/src/components/bsgoal-base-tabs/debug.log +0 -1
  48. package/src/components/bsgoal-base-tabs/demo.vue +0 -65
  49. package/src/components/bsgoal-base-tabs/index.vue +0 -122
  50. package/src/components/bsgoal-base-time/demo.vue +0 -69
  51. package/src/components/bsgoal-base-time/index.vue +0 -177
  52. package/src/components/bsgoal-base-time-range/demo.vue +0 -62
  53. package/src/components/bsgoal-base-time-range/index.vue +0 -170
  54. package/src/components/bsgoal-base-tooltip/demo.vue +0 -38
  55. package/src/components/bsgoal-base-tooltip/index.vue +0 -103
  56. package/src/components/bsgoal-base-tree/demo.vue +0 -141
  57. package/src/components/bsgoal-base-tree/index.vue +0 -286
  58. package/src/components/bsgoal-base-tree-fold/index.vue +0 -64
  59. package/src/components/bsgoal-base-tree-table/debug.log +0 -1
  60. package/src/components/bsgoal-base-tree-table/demo.vue +0 -859
  61. package/src/components/bsgoal-base-tree-table/index.vue +0 -351
  62. package/src/components/bsgoal-base-viewer/assets/upload_default.svg +0 -13
  63. package/src/components/bsgoal-base-viewer/demo.vue +0 -35
  64. package/src/components/bsgoal-base-viewer/index.vue +0 -66
  65. package/src/components/layout/layout-home.vue +0 -60
  66. package/src/components/layout/layout-left-menu.vue +0 -54
  67. package/src/components/layout/layout-right-container.vue +0 -39
  68. package/src/components/layout/layout-top-header.vue +0 -38
  69. package/src/debug.log +0 -1
  70. package/src/directives/directiveBase.js +0 -96
  71. package/src/entry.js +0 -77
  72. package/src/enums/componentTypeEnums.js +0 -35
  73. package/src/main.js +0 -11
  74. package/src/router/index.js +0 -161
  75. package/src/styles/index.css +0 -14
  76. package/src/utils/common.js +0 -56
@@ -1,534 +0,0 @@
1
- <!--
2
- * @Author: canlong.shen
3
- * @Date: 2023-04-13 09:38:11
4
- * @LastEditors: canlong.shen
5
- * @LastEditTime: 2023-06-26 18:00:13
6
- * @FilePath: \common\src\components\bsgoal-base-search\index.vue
7
- * @Description: 表格查询 公共组件
8
- *
9
- -->
10
-
11
- <script setup>
12
- /* setup模板
13
- ---------------------------------------------------------------- */
14
- import { ref, computed, unref, watchEffect, inject, nextTick, toRaw, isProxy } from 'vue'
15
- import ComponentTypeEnums from '../../enums/componentTypeEnums.js'
16
- import baseDirective from '../../directives/directiveBase.js'
17
- import BsgoalBaseLine from '../bsgoal-base-line/index.vue'
18
- import BsgoalBaseSearchOperation from '../bsgoal-base-search-operation/index.vue'
19
- import BsgoalBaseCascader from '../bsgoal-base-cascader/index.vue'
20
-
21
- defineOptions({
22
- name: 'BsgoalBaseSearch'
23
- })
24
-
25
- const props = defineProps({
26
- /**
27
- * >----------props----------<
28
- * {
29
- * label:'' // 名称
30
- * value:'' // 值
31
- * prop:'' // 绑定字段
32
- * type:'text' // 内容组件的类型 : 参照 componentTypeEnums
33
- * placeholder:'' // placeholder 提示文本
34
- * readonly: false // 是否为只读文本
35
- * clearable: true //是否为可清空
36
- * }
37
- *
38
- * >----------events----------<
39
- *
40
- * on-search // 触发查询
41
- * on-clear // 触发清空
42
- * on-change // 触发查询变动
43
- * on-fold // 触发折叠
44
- */
45
- configOptions: {
46
- type: [Array],
47
- default: () => []
48
- },
49
- /**
50
- * 中屏设备宽度的比例
51
- */
52
- medium: {
53
- type: [Number, String],
54
- default: 6
55
- },
56
- /**
57
- * 绑定的值
58
- */
59
- modelValue: {
60
- type: [Object],
61
- default: () => ({})
62
- }
63
- })
64
-
65
- // emits
66
- const emits = defineEmits(['on-search', 'on-clear', 'on-change', 'on-fold'])
67
-
68
- // el-from 的引用
69
- const EL_FORM_REF = ref(null)
70
-
71
- // 自定义指令
72
- const vAlign = baseDirective.align
73
-
74
- const model = ref({})
75
- // const watchPropList = []
76
-
77
- /**
78
- * @Author: canlong.shen
79
- * @description: 绑定的对象
80
- * @param {*} computed
81
- * @default:
82
- * @return {*} model
83
- */
84
- watchEffect(() => {
85
- const { configOptions } = props
86
- const options = unref(configOptions)
87
- options.forEach((fei) => {
88
- const { value, prop = '' } = fei
89
- model.value[prop] = value || [0, false].includes(value) ? value : ''
90
- })
91
- })
92
-
93
- /**
94
- * @Author: canlong.shen
95
- * @description: 配置项
96
- * @param {*} computed
97
- * @default:
98
- * @return {*}
99
- */
100
- const configOptionsGet = computed(() => {
101
- const { configOptions } = props
102
- const options = unref(configOptions)
103
- const operationItemOption = {
104
- type: ComponentTypeEnums.OPERATION
105
- }
106
- return [...options, operationItemOption]
107
- })
108
-
109
- /**
110
- * @Author: canlong.shen
111
- * @description: 设置 placeholder
112
- * @param {*} type
113
- * @param {*} placeholder
114
- * @default:
115
- * @return {*}
116
- */
117
- const placeholderSet = (type = '', label = '', placeholder = '') => {
118
- if (!placeholder) {
119
- switch (type) {
120
- case ComponentTypeEnums.INPUT:
121
- case ComponentTypeEnums.INPUT_TEXT_AREA:
122
- return `请输入${label}`
123
- case ComponentTypeEnums.SELECT:
124
- case ComponentTypeEnums.DATE:
125
- case ComponentTypeEnums.WEEK:
126
- case ComponentTypeEnums.MONTH:
127
- case ComponentTypeEnums.YEAR:
128
- case ComponentTypeEnums.DATE_TIME:
129
- case ComponentTypeEnums.TIME:
130
- case ComponentTypeEnums.CASCADER:
131
- return `请选择${label}`
132
- case ComponentTypeEnums.DATE_RANGE:
133
- case ComponentTypeEnums.DATE_TIME_RANGE:
134
- return ['开始日期', '结束日期']
135
- case ComponentTypeEnums.TIME_RANGE:
136
- return ['开始时间', '结束时间']
137
- case ComponentTypeEnums.MONTH_RANGE:
138
- return ['开始月份', '结束月份']
139
- default:
140
- break
141
- }
142
- }
143
-
144
- return placeholder
145
- }
146
-
147
- /**
148
- * @Author: canlong.shen
149
- * @description: 时间格式
150
- * @param {*} type
151
- * @param {*} format
152
- * @default:
153
- * @return {*}
154
- */
155
- const formatSet = (type = '', format = '') => {
156
- if (!format) {
157
- switch (type) {
158
- case ComponentTypeEnums.WEEK:
159
- return 'ww'
160
- case ComponentTypeEnums.DATE:
161
- case ComponentTypeEnums.DATE_RANGE:
162
- return 'YYYY-MM-DD'
163
- case ComponentTypeEnums.MONTH:
164
- return 'MM'
165
- case ComponentTypeEnums.YEAR:
166
- return 'YYYY'
167
- case ComponentTypeEnums.MONTH_RANGE:
168
- return 'YYYY-MM'
169
- case ComponentTypeEnums.TIME:
170
- case ComponentTypeEnums.TIME_RANGE:
171
- return 'HH:mm:ss'
172
- case ComponentTypeEnums.DATE_TIME:
173
- case ComponentTypeEnums.DATE_TIME_RANGE:
174
- return 'YYYY-MM-DD HH:mm:ss'
175
- default:
176
- break
177
- }
178
- }
179
-
180
- return format
181
- }
182
-
183
- /**
184
- * @Author: canlong.shen
185
- * @description: 触发查询
186
- * @default:
187
- * @return {*}
188
- */
189
- const triggerOperationSearch = () => {
190
- const { configOptions } = props
191
- const modelValue = unref(model)
192
- const options = unref(configOptions)
193
- const shadowModel = {}
194
- for (const option of options) {
195
- const { type = '', range = [], prop = '', single = false } = option
196
- const value = modelValue[prop]
197
- if ([ComponentTypeEnums.CASCADER].includes(type) && Array.isArray(value) && single) {
198
- const rangeLength = value.length
199
- if (rangeLength) {
200
- shadowModel[prop] = value[rangeLength - 1]
201
- } else {
202
- shadowModel[prop] = value
203
- }
204
- } else if (isProxy(value)) {
205
- shadowModel[prop] = toRaw(value)
206
- } else {
207
- shadowModel[prop] = value
208
- }
209
-
210
- if (
211
- Array.isArray(value) &&
212
- Array.isArray(range) &&
213
- type.endsWith('range') &&
214
- range.length === 2
215
- ) {
216
- const { 0: startValue = '', 1: endValue = '' } = value
217
- const { 0: startProp = '', 1: endProp = '' } = range
218
- shadowModel[startProp] = startValue
219
- shadowModel[endProp] = endValue
220
- }
221
- }
222
- emits('on-search', shadowModel)
223
- emits('update:modelValue', shadowModel)
224
- }
225
- // 默认查询一次
226
- nextTick(() => {
227
- triggerOperationSearch()
228
- })
229
- /**
230
- * @Author: canlong.shen
231
- * @description: 触发清空
232
- * @default:
233
- * @return {*}
234
- */
235
- const triggerOperationClear = () => {
236
- EL_FORM_REF.value.resetFields()
237
- emits('on-clear', model.value)
238
- }
239
-
240
- // 折叠值
241
- const transferFoldStatus = inject('transferFoldStatus')
242
- const foldStatus = ref(false)
243
- /**
244
- * @Author: canlong.shen
245
- * @description: 触发折叠
246
- * @default:
247
- * @return {*}
248
- */
249
- const triggerOperationFold = (status = false) => {
250
- foldStatus.value = status
251
- if (transferFoldStatus) {
252
- transferFoldStatus.value = status
253
- }
254
- emits('on-fold', foldStatus)
255
- }
256
-
257
- /**
258
- * @Author: canlong.shen
259
- * @description: 触发 值 变化
260
- * @param {*} type
261
- * @param {*} prop
262
- * @default:
263
- * @return {*}
264
- */
265
- const triggerValueChange = (type, prop) => {
266
- // 触发查询
267
- triggerOperationSearch()
268
- const emitValue = {
269
- type,
270
- prop,
271
- value: model.value[prop] || ''
272
- }
273
- emits('on-change', emitValue)
274
- }
275
-
276
- // ---> S 暴露 <---
277
- defineExpose({
278
- triggerOperationSearch
279
- })
280
- // ---> E 暴露 <---
281
- </script>
282
- <template>
283
- <div class="bsgoal-base-search">
284
- <div class="base_search">
285
- <!-- / 表单内容 -->
286
- <el-form ref="EL_FORM_REF" label-suffix=":" :show-message="false" :model="model" v-align>
287
- <el-row>
288
- <template
289
- v-for="(
290
- {
291
- label = '',
292
- prop = '',
293
- type = 'text',
294
- placeholder = '',
295
- readonly = false,
296
- clearable = true,
297
- rows = 2,
298
- min = 1,
299
- max = 10,
300
- range = [],
301
- format = ''
302
- } = {},
303
- index
304
- ) of configOptionsGet"
305
- :key="index"
306
- >
307
- <el-col
308
- v-show="
309
- index < 7 || type === ComponentTypeEnums.OPERATION || (index >= 7 && foldStatus)
310
- "
311
- :xs="24"
312
- :sm="12"
313
- :md="medium"
314
- >
315
- <el-form-item :label="label" :prop="prop">
316
- <!-- S 内容组件 -->
317
-
318
- <template v-if="!readonly">
319
- <!-- / input 输入框组件 -->
320
- <template v-if="type === ComponentTypeEnums.INPUT">
321
- <el-input
322
- v-model="model[prop]"
323
- :placeholder="placeholderSet(type, label, placeholder)"
324
- :clearable="clearable"
325
- />
326
- </template>
327
- <!-- / input 输入框组件 -->
328
- <!-- / textarea 输入框组件 -->
329
- <template v-if="type === ComponentTypeEnums.INPUT_TEXT_AREA">
330
- <el-input
331
- v-model="model[prop]"
332
- type="textarea"
333
- :rows="rows"
334
- :clearable="clearable"
335
- :placeholder="placeholderSet(type, label, placeholder)"
336
- @change="triggerValueChange(type, prop)"
337
- />
338
- </template>
339
- <!-- / textarea 输入框组件 -->
340
- <template v-if="type === ComponentTypeEnums.INPUT_NUMBER">
341
- <el-input-number
342
- v-model="num"
343
- :min="min"
344
- :max="max"
345
- @change="triggerValueChange"
346
- />
347
- </template>
348
- <!-- / 数字输入框 -->
349
-
350
- <!-- / 单选框 -->
351
- <template v-if="type === ComponentTypeEnums.RADIO">
352
- <el-radio-group v-model="model[prop]" @change="triggerValueChange(type, prop)">
353
- <template v-for="(item, itemIndex) of range" :key="itemIndex">
354
- <el-radio :label="item.value">{{ item.label }}</el-radio>
355
- </template>
356
- </el-radio-group>
357
- </template>
358
- <!-- / 单选框 -->
359
- <!-- / select 选择器 -->
360
- <template v-if="type === ComponentTypeEnums.SELECT">
361
- <el-select
362
- v-model="model[prop]"
363
- :placeholder="placeholderSet(type, label, placeholder)"
364
- @change="triggerValueChange(type, prop)"
365
- >
366
- <template v-for="(item, itemIndex) of range" :key="itemIndex">
367
- <el-option :label="item.label" :value="item.value" />
368
- </template>
369
- </el-select>
370
- </template>
371
- <!-- / select 选择器 -->
372
- <!-- / 滑块 -->
373
- <template v-if="type === ComponentTypeEnums.SLIDER">
374
- <el-slider
375
- v-model="model[prop]"
376
- :min="min"
377
- :max="max"
378
- @change="triggerValueChange(type, prop)"
379
- />
380
- </template>
381
- <!-- / 滑块 -->
382
- <!-- / Switch 开关 -->
383
- <template v-if="type === ComponentTypeEnums.SWITCH">
384
- <el-switch
385
- v-model="model[prop]"
386
- :active-value="range[0] || true"
387
- :inactive-value="range[1] || false"
388
- @change="triggerValueChange(type, prop)"
389
- />
390
- </template>
391
- <!-- / Switch 开关 -->
392
- <!-- / 日期选择器 -->
393
- <template
394
- v-if="
395
- [
396
- ComponentTypeEnums.DATE,
397
- ComponentTypeEnums.MONTH,
398
- ComponentTypeEnums.YEAR,
399
- ComponentTypeEnums.DATE_TIME
400
- ].includes(type)
401
- "
402
- >
403
- <el-date-picker
404
- v-model="model[prop]"
405
- :format="formatSet(type, format)"
406
- :value-format="formatSet(type, format)"
407
- :type="type"
408
- :placeholder="placeholderSet(type, label, placeholder)"
409
- @change="triggerValueChange(type, prop)"
410
- />
411
- </template>
412
- <!-- / 日期选择器 -->
413
- <!-- / 日期时间区域选择器 -->
414
- <template
415
- v-if="
416
- [
417
- ComponentTypeEnums.DATE_RANGE,
418
- ComponentTypeEnums.MONTH_RANGE,
419
- ComponentTypeEnums.DATE_TIME_RANGE
420
- ].includes(type)
421
- "
422
- >
423
- <el-date-picker
424
- v-model="model[prop]"
425
- :type="type"
426
- :value-format="formatSet(type, format)"
427
- :start-placeholder="placeholderSet(type, label, placeholder)[0]"
428
- :end-placeholder="placeholderSet(type, label, placeholder)[1]"
429
- @change="triggerValueChange(type, prop)"
430
- />
431
- </template>
432
- <!-- / 日期时间区域选择器 -->
433
- <!-- / 时间选择器 -->
434
- <template v-if="[ComponentTypeEnums.TIME].includes(type)">
435
- <el-time-picker
436
- v-model="model[prop]"
437
- arrow-control
438
- :value-format="formatSet(type, format)"
439
- :placeholder="placeholderSet(type, label, placeholder)"
440
- @change="triggerValueChange(type, prop)"
441
- />
442
- </template>
443
- <!-- / 时间选择器 -->
444
- <!-- / 时间区域选择器 -->
445
- <template v-if="[ComponentTypeEnums.TIME_RANGE].includes(type)">
446
- <el-time-picker
447
- v-model="model[prop]"
448
- is-range
449
- :value-format="formatSet(type, format)"
450
- :start-placeholder="placeholderSet(type, label, placeholder)[0]"
451
- :end-placeholder="placeholderSet(type, label, placeholder)[1]"
452
- @change="triggerValueChange(type, prop)"
453
- />
454
- </template>
455
- <!-- / 时间区域选择器 -->
456
- <!-- / 复选框 -->
457
- <template v-if="[ComponentTypeEnums.CHECKBOX].includes(type)">
458
- <el-checkbox-group
459
- v-model="model[prop]"
460
- @change="triggerValueChange(type, prop)"
461
- >
462
- <template v-for="(item, itemIndex) of range" :key="itemIndex">
463
- <el-checkbox :label="item.value">{{ item.label }}</el-checkbox>
464
- </template>
465
- </el-checkbox-group>
466
- </template>
467
- <!-- / 复选框 -->
468
- <!-- / 级联选择器 -->
469
- <template v-if="[ComponentTypeEnums.CASCADER].includes(type)">
470
- <BsgoalBaseCascader
471
- v-model="model[prop]"
472
- :data-options="range"
473
- :placeholder="placeholderSet(type, label, placeholder)"
474
- @on-change="triggerValueChange(type, prop)"
475
- />
476
- </template>
477
- <!-- / 级联选择器 -->
478
- <!-- / 模板 -->
479
- <template v-if="[].includes(type)"> </template>
480
- <!-- / 模板 -->
481
- <!-- / 操作组件 -->
482
- <template v-if="[ComponentTypeEnums.OPERATION].includes(type)">
483
- <BsgoalBaseSearchOperation
484
- :fold="index >= 7"
485
- @on-search="triggerOperationSearch"
486
- @on-clear="triggerOperationClear"
487
- @on-fold="triggerOperationFold"
488
- />
489
- </template>
490
- <!-- / 操作组件 -->
491
- </template>
492
- <!-- E 内容组件 -->
493
-
494
- <!-- S 文本内容 -->
495
- <template v-else>
496
- <div>
497
- {{ model[prop] }}
498
- </div>
499
- </template>
500
- <!-- E 文本内容 -->
501
- </el-form-item>
502
- </el-col>
503
- </template>
504
- </el-row>
505
- </el-form>
506
- <!-- / 表单内容 -->
507
- </div>
508
- <!-- / 分割线 -->
509
- <BsgoalBaseLine />
510
- <!-- / 分割线 -->
511
- </div>
512
- </template>
513
- <style lang="scss">
514
- /* 覆盖样式
515
- ---------------------------------------------------------------- */
516
- .bsgoal-base-search {
517
- .base_search {
518
- padding: 16px 6px 8px 16px;
519
-
520
- .el-form-item {
521
- margin-bottom: 8px;
522
- margin-right: 10px;
523
- }
524
-
525
- div.el-input,
526
- div.el-select {
527
- width: 100%;
528
- }
529
- }
530
- .el-col {
531
- margin-bottom: 0px !important;
532
- }
533
- }
534
- </style>
@@ -1,77 +0,0 @@
1
- <!--
2
- * @Author: canlong.shen
3
- * @Date: 2023-04-13 18:09:43
4
- * @LastEditors: canlong.shen
5
- * @LastEditTime: 2023-06-26 18:20:37
6
- * @FilePath: \common\src\components\bsgoal-base-search-operation\index.vue
7
- * @Description: 表格查询操作项 组件
8
- *
9
- -->
10
- <script setup>
11
- /* setup模板
12
- ---------------------------------------------------------------- */
13
- import { Delete, Search, ArrowDown, ArrowUp } from '@element-plus/icons-vue'
14
- import { ref, unref } from 'vue'
15
-
16
- defineOptions({
17
- name: 'BsgoalBaseSearchOperation'
18
- })
19
-
20
- defineProps({
21
- /**
22
- * 是否显示折叠按钮
23
- */
24
- fold: {
25
- type: [Boolean],
26
- default: false
27
- }
28
- })
29
-
30
- const emit = defineEmits(['on-fold'])
31
-
32
- const foldStatus = ref(false) // 折叠的状态
33
-
34
- /**
35
- * @Author: canlong.shen
36
- * @description: 折叠事件
37
- * @default:
38
- * @return {}
39
- */
40
- const handleFold = () => {
41
- foldStatus.value = !unref(foldStatus)
42
- emit('on-fold', foldStatus.value)
43
- }
44
- </script>
45
- <template>
46
- <div class="bsgoal-base-search-operation">
47
- <el-button type="primary" :icon="Search" @click="$emit('on-search')">搜索</el-button>
48
- <el-button :icon="Delete" @click="$emit('on-clear')">清空</el-button>
49
- <div
50
- v-if="fold"
51
- class="operation_fold"
52
- style="color: var(--el-color-primary)"
53
- @click="handleFold"
54
- >
55
- {{ foldStatus ? '收起' : '展开' }}
56
- <el-icon color="var(--el-color-primary)">
57
- <ArrowUp v-show="foldStatus" />
58
- <ArrowDown v-show="!foldStatus" />
59
- </el-icon>
60
- </div>
61
- </div>
62
- </template>
63
- <style lang="scss">
64
- /* 覆盖样式
65
- ---------------------------------------------------------------- */
66
- .bsgoal-base-search-operation {
67
- display: flex;
68
- align-items: center;
69
- height: 33.5px;
70
-
71
- .operation_fold {
72
- margin-left: 12px;
73
- cursor: pointer;
74
- min-width: 3em;
75
- }
76
- }
77
- </style>