easybill-ui 0.0.4 → 0.0.6

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.
@@ -1,7 +1,7 @@
1
1
  <template>
2
2
  <el-tag v-if="current" class="constant-status" :class="{ 'dot-status': current.dot }" v-bind="currentProps">
3
- <el-icon v-if="current.icon && !current.dot" :class="current.iconClass" style="margin-right: 5px">
4
- <component :is="current.icon" class="icon" :size="14" style="width: 12px; height: 12px" />
3
+ <el-icon v-if="(current.icon || current.iconClass) && !current.dot" :class="current.iconClass" style="margin-right: 5px">
4
+ <component v-if="current.icon" :is="current.icon" class="icon" :size="14" style="width: 12px; height: 12px" />
5
5
  </el-icon>
6
6
  <span v-if="current.dot" class="dot"></span>
7
7
  <span class="name">{{ current.label }}</span>
@@ -59,4 +59,4 @@ const currentProps = computed(() => {
59
59
  }
60
60
  return { ...defaults, ...args }
61
61
  })
62
- </script>
62
+ </script>
@@ -6,6 +6,7 @@ import SchemaFormSelect from "./schema-form-select.vue"
6
6
  import SchemaFormSwitch from "./schema-form-switch.vue"
7
7
  import SchemaFormFile from "./schema-form-file.vue"
8
8
  import SchemaFormDatePicker from "./schema-form-date-picker.vue"
9
+ import SchemaFormTimePicker from "./schema-form-time-picker.vue"
9
10
  import SchemaFormColorPicker from "./schema-form-color-picker.vue"
10
11
  import SchemaFormValue from "./schema-form-value.vue"
11
12
  import SchemaFormCascader from "./schema-form-cascader.vue"
@@ -22,6 +23,7 @@ const presetMap: PresetMap = {
22
23
  "schema-switch": SchemaFormSwitch,
23
24
  "schema-file": SchemaFormFile,
24
25
  "schema-date-picker": SchemaFormDatePicker,
26
+ "schema-time-picker": SchemaFormTimePicker,
25
27
  "schema-color-picker": SchemaFormColorPicker,
26
28
  "schema-value": SchemaFormValue,
27
29
  "schema-cascader": SchemaFormCascader,
@@ -0,0 +1,30 @@
1
+ <template>
2
+ <el-time-picker v-model="model" v-bind="props" :placeholder="(formItem.props && props.placeholder && String(props.placeholder)) || '请选择' + formItem.label" v-on="eventObject"> </el-time-picker>
3
+ </template>
4
+ <script lang="ts">
5
+ import { defineComponent, computed, PropType } from "vue"
6
+ import { ElDatePicker, ModelValueType } from "element-plus"
7
+ import { FormItemProps } from "../types"
8
+ export default defineComponent({
9
+ name: "SchemaFormDatePicker",
10
+ components: { ElDatePicker },
11
+ props: {
12
+ ...FormItemProps,
13
+ modelValue: {
14
+ type: [Array, String] as PropType<ModelValueType>,
15
+ default: "",
16
+ }, // 表单项值
17
+ },
18
+ emits: ["update:modelValue"],
19
+ setup(props, { emit }) {
20
+ const model = computed({
21
+ get: () => props.modelValue,
22
+ set: (val) => emit("update:modelValue", val),
23
+ })
24
+
25
+ return {
26
+ model,
27
+ }
28
+ },
29
+ })
30
+ </script>
@@ -118,6 +118,7 @@ import FormDialog from "../../FormDialog"
118
118
  import { ElMessageBox, ElMessage, ElLoading, ElNotification, ElTable, dayjs } from "element-plus"
119
119
  import { FormItem, FormSchema, Fields } from "../../CurdForm"
120
120
  import { useColumnHook } from "./hooks/useColumnHook"
121
+ import { useGlobalConfig } from "../../../utils/hooks/useGlobalConfig"
121
122
 
122
123
  const props = defineProps({
123
124
  // 表格的数据
@@ -197,7 +198,8 @@ watch(
197
198
  },
198
199
  { deep: true }
199
200
  )
200
- const tableAttrs: Ref<TableAttr> = ref({ size: "default" })
201
+ const globalConfig = useGlobalConfig()
202
+ const tableAttrs: Ref<TableAttr> = ref({ size: globalConfig.value.size || "default" })
201
203
  const listQuery = reactive({
202
204
  pageIndex: 1,
203
205
  pageSize: props.pageOptions?.pageSize || 10,
@@ -3,7 +3,7 @@
3
3
  <template #header>
4
4
  <div class="header-td" :class="[props.schema.align]">
5
5
  <slot name="header"></slot>
6
- <span v-if="!props.isSlotHeader" class="tit">{{ props.schema.header ? props.schema.header : props.schema.label }}</span>
6
+ <STableItemHeader v-if="!props.isSlotHeader" :schema-item="props.schema" />
7
7
  <STableItemFilter v-if="props.schema.filter && props.schema.filter.inner" ref="tableItemFilterRef" :filter="filterSchema" @change="onChange" />
8
8
  </div>
9
9
  </template>
@@ -31,6 +31,7 @@
31
31
  import { computed, inject, PropType, ref, Ref } from "vue"
32
32
  import ConstantStatus from "../../ConstantStatus"
33
33
  import STableItemFilter from "./STableItemFilter.vue"
34
+ import STableItemHeader from "./STableItemHeader.vue"
34
35
  import { ParamsItem } from "../../TableFilter"
35
36
  import { ColumnItem } from "./types"
36
37
  import { CopyDocument } from "@element-plus/icons-vue"
@@ -0,0 +1,48 @@
1
+ <template>
2
+ <span class="tit">{{ title }}</span>
3
+ <STableItemHeaderTooltip :tooltip="tooltip" />
4
+ </template>
5
+ <script lang="ts" setup>
6
+ import { PropType, ref, computed } from "vue"
7
+ import { ColumnItem } from "./types"
8
+ import STableItemHeaderTooltip from "./STableItemHeaderTooltip.vue"
9
+ const props = defineProps({
10
+ schemaItem: {
11
+ type: Object as PropType<ColumnItem>,
12
+ default: "",
13
+ },
14
+ })
15
+ const tooltip = computed(() => {
16
+ if (is(props.schemaItem.header, "Object")) {
17
+ return props.schemaItem.header.tooltip
18
+ }
19
+ return ""
20
+ })
21
+ const title = computed(() => {
22
+ if (!props.schemaItem.header) {
23
+ return props.schemaItem.label
24
+ }
25
+ if (is(props.schemaItem.header, "String")) {
26
+ return props.schemaItem.header
27
+ }
28
+ if (is(props.schemaItem.header, "Object")) {
29
+ return props.schemaItem.header.title || props.schemaItem.label
30
+ }
31
+ })
32
+ const getTooltipContent = () => {
33
+ const tooltip: any = props.tooltip
34
+ if (!tooltip) {
35
+ return ""
36
+ }
37
+ if (is(tooltip, "Object")) {
38
+ return tooltip.content
39
+ }
40
+ if (is(tooltip, "String")) {
41
+ return tooltip
42
+ }
43
+ return ""
44
+ }
45
+ const is = (val: any, type: string) => {
46
+ return Object.prototype.toString.call(val) === `[object ${type}]`
47
+ }
48
+ </script>
@@ -0,0 +1,35 @@
1
+ <template>
2
+ <el-tooltip v-if="props.tooltip" v-bind="typeof props.tooltip == 'object' ? props.tooltip : {}">
3
+ <el-button class="tooltip" type="info" link>
4
+ <el-icon><Warning /></el-icon>
5
+ </el-button>
6
+ <template #content>
7
+ <div v-html="getTooltipContent()"></div>
8
+ </template>
9
+ </el-tooltip>
10
+ </template>
11
+ <script lang="ts" setup>
12
+ import { Warning } from "@element-plus/icons-vue"
13
+ const props = defineProps({
14
+ tooltip: {
15
+ type: [String, Object],
16
+ default: "",
17
+ },
18
+ })
19
+ const getTooltipContent = () => {
20
+ const tooltip: any = props.tooltip
21
+ if (!tooltip) {
22
+ return ""
23
+ }
24
+ if (is(tooltip, "Object")) {
25
+ return tooltip.content
26
+ }
27
+ if (is(tooltip, "String")) {
28
+ return tooltip
29
+ }
30
+ return ""
31
+ }
32
+ const is = (val: any, type: string) => {
33
+ return Object.prototype.toString.call(val) === `[object ${type}]`
34
+ }
35
+ </script>
@@ -24,6 +24,7 @@
24
24
  import { computed, ref } from "vue"
25
25
  import STableColumnControl from "./STableColumnControl.vue"
26
26
  import { Refresh, Search, ScaleToOriginal, Download, Operation } from "@element-plus/icons-vue"
27
+ import { useGlobalConfig } from "../../../utils/hooks/useGlobalConfig"
27
28
  const emits = defineEmits(["operation"])
28
29
  const props = defineProps({
29
30
  filterVisible: {
@@ -31,6 +32,7 @@ const props = defineProps({
31
32
  default: true,
32
33
  },
33
34
  })
35
+ const globalConfig = useGlobalConfig()
34
36
  // 控制按钮逻辑
35
37
  const controlButtons = computed(() => [
36
38
  { label: "刷新", value: "refresh", icon: Refresh },
@@ -56,7 +58,7 @@ const onClick = (item: any) => {
56
58
  visible.value = true
57
59
  }
58
60
  }
59
- const currentSize = ref("default")
61
+ const currentSize = ref(globalConfig.value.size || "default")
60
62
  const handleSizeCommand = (val: any) => {
61
63
  currentSize.value = val
62
64
  emits("operation", "size", val)
@@ -38,10 +38,16 @@ export interface ColumnItemCtx<T> {
38
38
  className?: string
39
39
  copy?: boolean // 对某一列的单元格的值进行复制
40
40
  vHtml?: boolean //当前列是否v-html渲染
41
+ header?: string | TableColumnHeader
41
42
  }
42
43
 
43
44
  export type ColumnItem<T = any> = Partial<TableColumnCtx<T>> & ColumnItemCtx<T>
44
45
 
46
+ export interface TableColumnHeader {
47
+ title: string
48
+ tooltip: string | import("element-plus/es/components/tooltip").ElTooltipProps
49
+ }
50
+
45
51
  export interface PropOption {
46
52
  operationWidth?: number
47
53
  operationBtnTitle?: string
@@ -13,10 +13,13 @@
13
13
  <div class="table-detail">
14
14
  <slot></slot>
15
15
  </div>
16
- <el-row v-if="!$slots.default" class="table-detail" :class="[props.showType]">
17
- <el-col v-for="(item, i) in props.data" :key="i" :span="item.span">
16
+ <div v-if="!$slots.default" class="table-detail" :class="[props.showType]">
17
+ <div class="table-detail-col" v-for="(item, i) in props.data" :key="i" :span="item.span" :style="{ flex: '0 0 ' + (100 * (item.span || 24)) / 24 + '%' }">
18
18
  <div class="item-col">
19
- <div v-if="item.label" class="label" :style="{ width: getLabelWidth(item) }">{{ item.label }}:</div>
19
+ <div v-if="item.label" class="label" :style="{ width: getLabelWidth(item) }">
20
+ <span>{{ item.label }}</span>
21
+ <DetailInfoTooltip :tooltip="item.tooltip" />{{ props.showType == "table" ? "" : ":" }}
22
+ </div>
20
23
  <div class="det">
21
24
  <template v-if="item.slot">
22
25
  <slot :name="item.slot" :row="item" :data="props.data" :index="i"></slot>
@@ -30,8 +33,8 @@
30
33
  </template>
31
34
  </div>
32
35
  </div>
33
- </el-col>
34
- </el-row>
36
+ </div>
37
+ </div>
35
38
  </div>
36
39
  </template>
37
40
  <script lang="ts">
@@ -43,6 +46,7 @@ export default {
43
46
  import { PropType } from "vue"
44
47
  import { ConstantStatus } from "../../ConstantStatus/src"
45
48
  import { DetailDataItem } from "./types"
49
+ import DetailInfoTooltip from "./DetailInfoTooltip.vue"
46
50
 
47
51
  const props = defineProps({
48
52
  data: {
@@ -65,6 +69,7 @@ const props = defineProps({
65
69
  })
66
70
  const getLabelWidth = (dataItem: DetailDataItem): string => {
67
71
  const labelWidth = typeof dataItem.labelWidth !== "undefined" ? dataItem.labelWidth : props.labelWidth
68
- return typeof labelWidth == "string" ? labelWidth + "" : labelWidth + "px"
72
+ const isNum = typeof labelWidth == "number" || (typeof labelWidth == "string" && /^\d+$/.test(labelWidth))
73
+ return !isNum ? labelWidth + "" : labelWidth + "px"
69
74
  }
70
75
  </script>
@@ -0,0 +1,36 @@
1
+ <template>
2
+ <el-tooltip v-if="props.tooltip" v-bind="typeof props.tooltip == 'object' ? props.tooltip : {}">
3
+ <el-button class="tooltip" type="primary" link>
4
+ <el-icon><Warning /></el-icon>
5
+ </el-button>
6
+ <template #content>
7
+ <div v-html="getTooltipContent()"></div>
8
+ </template>
9
+ </el-tooltip>
10
+ </template>
11
+ <script lang="ts" setup>
12
+ import { PropType } from "vue"
13
+ import { Warning } from "@element-plus/icons-vue"
14
+ const props = defineProps({
15
+ tooltip: {
16
+ type: [String, Object] as PropType<string | import("element-plus/es/components/tooltip").ElTooltipProps>,
17
+ default: "",
18
+ },
19
+ })
20
+ const getTooltipContent = () => {
21
+ const tooltip: any = props.tooltip
22
+ if (!tooltip) {
23
+ return ""
24
+ }
25
+ if (is(tooltip, "Object")) {
26
+ return tooltip.content
27
+ }
28
+ if (is(tooltip, "String")) {
29
+ return tooltip
30
+ }
31
+ return ""
32
+ }
33
+ const is = (val: any, type: string) => {
34
+ return Object.prototype.toString.call(val) === `[object ${type}]`
35
+ }
36
+ </script>
@@ -17,4 +17,5 @@ export interface DetailDataItem {
17
17
  [key: string]: string
18
18
  }
19
19
  slot?: string
20
+ tooltip: string | import("element-plus/es/components/tooltip").ElTooltipProps
20
21
  }
@@ -62,7 +62,7 @@ const onChange = (d: any) => {
62
62
  }
63
63
  // console.log("selectList1", selectList)
64
64
  // console.log("listQuery.value1", listQuery.value)
65
- emit("search", selectList.value)
65
+ emit("search", listQuery.value, selectList.value)
66
66
  return
67
67
  }
68
68
  // selectParams.value.forEach((a) => {
@@ -79,10 +79,10 @@ const onChange = (d: any) => {
79
79
  // })
80
80
  // console.log("selectList", selectList)
81
81
  // console.log("listQuery.value", listQuery.value)
82
- emit("search", selectList.value)
82
+ emit("search", listQuery.value, selectList.value)
83
83
  }
84
84
  const onRemove = () => {
85
- emit("search", selectList.value)
85
+ emit("search", listQuery.value, selectList.value)
86
86
  }
87
87
  const getTags = () => {
88
88
  selectParams.value.forEach((a) => {
@@ -173,7 +173,7 @@ const clear = () => {
173
173
  selectList.value.splice(i, 1)
174
174
  i--
175
175
  }
176
- emit("search", selectList.value)
176
+ emit("search", listQuery.value, selectList.value)
177
177
  }
178
178
  // 重新调用selectParams
179
179
  const refreshSelectParams = () => {
@@ -0,0 +1,196 @@
1
+ <template>
2
+ <el-cascader v-if="visible" v-model="model" class="base-select" popper-class="filter-select-popper" v-bind="paramsItem.props" :options="paramsItem.options" @focus="onFocus" @blur="onBlur" @change="onChange"> </el-cascader>
3
+ </template>
4
+ <script lang="ts" setup>
5
+ import { PropType, ref, Ref, watch, inject } from "vue"
6
+ import * as I from "../../../types"
7
+ import { deepClone } from "../../../../../utils/common"
8
+
9
+ const emit = defineEmits(["update:modelValue", "change", "search"])
10
+ const props = defineProps({
11
+ paramsItem: {
12
+ type: Object as PropType<I.ParamsItem>,
13
+ default: () => {
14
+ return {}
15
+ },
16
+ },
17
+ modelValue: {
18
+ type: [String, Number, Boolean, Array],
19
+ default: "",
20
+ },
21
+ listQuery: {
22
+ type: Object as PropType<I.ListQuery>,
23
+ default: () => {
24
+ return {}
25
+ },
26
+ },
27
+ })
28
+ const model: Ref<string | number | boolean | Array<any>> = ref(props.modelValue)
29
+
30
+ watch(
31
+ () => props.modelValue,
32
+ (val) => {
33
+ model.value = val
34
+ }
35
+ )
36
+ const paramsItem = ref(deepClone(props.paramsItem))
37
+ const visible = ref(false)
38
+
39
+ const textModel: Ref<string> = ref("")
40
+ const loading: Ref<boolean> = ref(false)
41
+ const getList = () => {
42
+ if (paramsItem.value.options?.length && !paramsItem.value?.props?.filterable) return
43
+ if (paramsItem.value.asyncOptions) {
44
+ loading.value = true
45
+ paramsItem.value
46
+ .asyncOptions({
47
+ textModel: textModel.value,
48
+ listQuery: props.listQuery,
49
+ options: paramsItem.value.options,
50
+ paramsItem: paramsItem.value,
51
+ })
52
+ .then((res) => {
53
+ // remoteOptions.value = res
54
+ paramsItem.value.options = res
55
+ const paramIem = props.paramsItem
56
+ paramIem.options = res
57
+ // getModel()
58
+ })
59
+ .finally(() => {
60
+ loading.value = false
61
+ })
62
+ }
63
+ }
64
+ const onChange = () => {
65
+ const labelArray: string[] = []
66
+ const find = (list, level) => {
67
+ for (let i in list) {
68
+ if (list[i].value == model.value[level]) {
69
+ labelArray[level] = list[i].label
70
+ // 找到了,就不需要循环下一个了 ,只需要继续找children
71
+ if (list[i].children && list[i].children.length) {
72
+ find(list[i].children, level + 1)
73
+ }
74
+ return
75
+ }
76
+ }
77
+ }
78
+
79
+ find(paramsItem.value.options, 0)
80
+ // console.log("labelArray", labelArray)
81
+ const separator = props.paramsItem.props?.separator || "/"
82
+ // const row = paramsItem.value.options?.find((a) => a.value == model.value) || { label: "全部", value: "" }
83
+ paramsItem.value.tagNames = labelArray.join(separator)
84
+ const p = props.paramsItem
85
+ p.tagNames = labelArray.join(separator)
86
+ textModel.value = ""
87
+ emit("update:modelValue", model.value)
88
+ emit("change", { prop: paramsItem.value.prop, value: model.value })
89
+ }
90
+
91
+ const state = inject<Ref<any>>("state") || ref({})
92
+ const onFocus = () => {
93
+ state.value.isFocus = true
94
+ }
95
+ const onBlur = () => {
96
+ state.value.isFocus = false
97
+ }
98
+ watch(
99
+ () => props.paramsItem?.label,
100
+ () => {
101
+ visible.value = false
102
+ setTimeout(() => {
103
+ paramsItem.value = deepClone(props.paramsItem)
104
+ visible.value = true
105
+ // getModel()
106
+ getList()
107
+ })
108
+ },
109
+ {
110
+ immediate: true,
111
+ }
112
+ )
113
+ // 用于解决分配云商账号后继续追加账号后,selectListOpt不及时更新的问题
114
+ watch(
115
+ () => props.paramsItem?.options,
116
+ (newVal, oldValue) => {
117
+ setTimeout(() => {
118
+ if (newVal) {
119
+ paramsItem.value.options = deepClone(newVal)
120
+ }
121
+ })
122
+ },
123
+ {
124
+ deep: true,
125
+ }
126
+ )
127
+ </script>
128
+ <style lang="scss" scoped>
129
+ .base-select {
130
+ --el-font-size-base: 12px;
131
+ height: 100%;
132
+ max-height: 300px;
133
+ display: flex;
134
+ flex-direction: column;
135
+
136
+ :deep(.el-input) {
137
+ .el-input__wrapper {
138
+ box-shadow: none !important;
139
+ }
140
+ }
141
+
142
+ .remote-input {
143
+ width: 100%;
144
+
145
+ :deep(.el-input) {
146
+ --el-input-border-radius: 0;
147
+ --el-input-bg-color: var(--el-bg-color-page);
148
+ --el-input-border: none;
149
+ --el-input-hover-border-color: transparent;
150
+ --el-input-focus-border-color: var(--el-border-color);
151
+ }
152
+ }
153
+
154
+ :deep(.el-empty__image svg) {
155
+ height: 50px;
156
+ }
157
+
158
+ .select-spinner {
159
+ flex: 1;
160
+ position: relative;
161
+ overflow-y: auto;
162
+
163
+ ul {
164
+ li {
165
+ list-style: none;
166
+ padding: 6px 10px;
167
+ cursor: pointer;
168
+ width: 100%;
169
+ overflow: hidden;
170
+ text-overflow: ellipsis;
171
+ white-space: nowrap;
172
+ font-size: var(--el-font-size-base);
173
+
174
+ &.active {
175
+ color: var(--el-color-primary);
176
+ }
177
+
178
+ &:hover {
179
+ background: var(--el-color-primary-light-9);
180
+ color: var(--el-color-primary);
181
+ }
182
+ }
183
+ }
184
+ }
185
+ }
186
+ </style>
187
+ <style lang="scss">
188
+ .filter-select-popper {
189
+ .el-select-dropdown__item {
190
+ font-size: 12px;
191
+ height: auto;
192
+ line-height: 18px;
193
+ padding: 5px 10px;
194
+ }
195
+ }
196
+ </style>
@@ -114,65 +114,7 @@ watch(
114
114
  }
115
115
  )
116
116
  </script>
117
- <style lang="scss" scoped>
118
- .base-select {
119
- --el-font-size-base: 12px;
120
- height: 100%;
121
- max-height: 300px;
122
- display: flex;
123
- flex-direction: column;
124
-
125
- :deep(.el-input) {
126
- .el-input__wrapper {
127
- box-shadow: none !important;
128
- }
129
- }
130
-
131
- .remote-input {
132
- width: 100%;
133
-
134
- :deep(.el-input) {
135
- --el-input-border-radius: 0;
136
- --el-input-bg-color: var(--el-bg-color-page);
137
- --el-input-border: none;
138
- --el-input-hover-border-color: transparent;
139
- --el-input-focus-border-color: var(--el-border-color);
140
- }
141
- }
142
-
143
- :deep(.el-empty__image svg) {
144
- height: 50px;
145
- }
146
-
147
- .select-spinner {
148
- flex: 1;
149
- position: relative;
150
- overflow-y: auto;
151
-
152
- ul {
153
- li {
154
- list-style: none;
155
- padding: 6px 10px;
156
- cursor: pointer;
157
- width: 100%;
158
- overflow: hidden;
159
- text-overflow: ellipsis;
160
- white-space: nowrap;
161
- font-size: var(--el-font-size-base);
162
-
163
- &.active {
164
- color: var(--el-color-primary);
165
- }
166
-
167
- &:hover {
168
- background: var(--el-color-primary-light-9);
169
- color: var(--el-color-primary);
170
- }
171
- }
172
- }
173
- }
174
- }
175
- </style>
117
+ <style lang="scss" scoped></style>
176
118
  <style lang="scss">
177
119
  .filter-select-popper {
178
120
  .el-select-dropdown__item {
@@ -1,7 +1,7 @@
1
1
  <template>
2
2
  <div class="base-select" @click.stop>
3
3
  <div v-if="paramsItem.props?.filterable" class="remote-input" @click.stop>
4
- <el-input ref="selectInputRef" v-model="textModel" v-trim placeholder="输入搜索名称" clearable @input="onInput">
4
+ <el-input ref="selectInputRef" v-model="textModel" placeholder="输入搜索名称" clearable @input="onInput">
5
5
  <template #prefix>
6
6
  <el-icon class="el-input__icon"><Search /></el-icon>
7
7
  </template>
@@ -32,7 +32,7 @@ const props = defineProps({
32
32
  },
33
33
  },
34
34
  modelValue: {
35
- type: [String, Number, Boolean],
35
+ type: [String, Number, Boolean, Array],
36
36
  default: "",
37
37
  },
38
38
  listQuery: {
@@ -42,7 +42,7 @@ const props = defineProps({
42
42
  },
43
43
  },
44
44
  })
45
- const model: Ref<string | number | boolean> = ref(props.modelValue)
45
+ const model: Ref<string | number | boolean | Array<any>> = ref(props.modelValue)
46
46
 
47
47
  watch(
48
48
  () => props.modelValue,
@@ -2,10 +2,12 @@ import BaseSelect from "./BaseSelect.vue"
2
2
  import BaseCheckbox from "./BaseCheckbox.vue"
3
3
  import BaseTime from "./BaseTime.vue"
4
4
  import BaseInput from "./BaseInput.vue"
5
+ import BaseCascader from "./BaseCascader.vue"
5
6
 
6
7
  export default {
7
8
  select: BaseSelect,
8
9
  checkbox: BaseCheckbox,
9
10
  time: BaseTime,
10
11
  input: BaseInput,
12
+ cascader: BaseCascader,
11
13
  }
package/index.ts CHANGED
@@ -14,4 +14,6 @@ export * from "./components/FormDialog/src/types"
14
14
  export * from "./components/CurdForm/src/types"
15
15
  export * from "./components/CurdTable/src/types"
16
16
  export * from "./components/TableFilter/types"
17
+ export * from "./utils/hooks/useGlobalConfig"
18
+
17
19
  export default makeInstaller([...Components])
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "easybill-ui",
3
- "version": "0.0.4",
3
+ "version": "0.0.6",
4
4
  "description": "A component library for easybill",
5
5
  "author": "tuchongyang <779311998@qq.com>",
6
6
  "private": false,
@@ -14,5 +14,5 @@
14
14
  "publishConfig": {
15
15
  "access": "public"
16
16
  },
17
- "gitHead": "d9989f5e47b4e985cfe57ea2be59cb110791dd8e"
17
+ "gitHead": "739f3f9104b4c5b0fab93c04f903a78edef3d3c0"
18
18
  }
@@ -1 +1 @@
1
- .detail-info{flex:1}.detail-info .detail-info-header{display:flex;justify-content:space-between;align-items:center}.detail-info .title{margin-bottom:10px;border-left:3px solid var(--el-color-primary);padding-left:10px;line-height:1.2}.detail-info+.detail-info{margin-top:30px}.table-detail{margin-left:13px}.table-detail .item-col{line-height:20px;height:100%;box-sizing:border-box;display:flex}.table-detail .item-col .label{padding:4px 0;color:var(--el-text-color-secondary);box-sizing:border-box;vertical-align:middle;float:left}.table-detail .item-col .det{flex:1;padding:4px 10px;box-sizing:border-box;min-height:20px;height:100%;word-break:break-all}.table-detail.table{border-top:1px solid var(--el-border-color);border-left:1px solid var(--el-border-color)}.table-detail.table .el-col{padding:0!important;border-bottom:1px solid var(--el-border-color);border-right:1px solid var(--el-border-color)}.table-detail.table .item-col{background:var(--el-bg-color-page);border:1px solid var(--el-bg-color)}.table-detail.table .item-col .label{padding-left:10px;padding-right:10px;width:100px}.table-detail.table .item-col .det{border-left:1px solid var(--el-border-color);background-color:var(--el-bg-color)}
1
+ .detail-info{flex:1}.detail-info .detail-info-header{display:flex;justify-content:space-between;align-items:center}.detail-info .title{margin-bottom:10px;border-left:3px solid var(--el-color-primary);padding-left:10px;line-height:1.2}.detail-info+.detail-info{margin-top:30px}.table-detail{display:flex;flex-wrap:wrap;position:relative;box-sizing:border-box;margin-left:13px}.table-detail .table-detail-col{box-sizing:border-box}.table-detail .item-col{line-height:20px;height:100%;box-sizing:border-box;display:flex}.table-detail .item-col .label{padding:4px 0;color:var(--el-text-color-secondary);box-sizing:border-box;vertical-align:middle;float:left;display:flex;align-items:center}.table-detail .item-col .det{flex:1;padding:4px 10px;box-sizing:border-box;min-height:20px;height:100%;word-break:break-all}.table-detail.table{border-top:1px solid var(--el-border-color);border-left:1px solid var(--el-border-color)}.table-detail.table .table-detail-col{padding:0!important;border-bottom:1px solid var(--el-border-color);border-right:1px solid var(--el-border-color)}.table-detail.table .item-col{background:var(--el-bg-color-page);border:1px solid var(--el-bg-color)}.table-detail.table .item-col .label{padding-left:10px;padding-right:10px;width:100px}.table-detail.table .item-col .det{border-left:1px solid var(--el-border-color);background-color:var(--el-bg-color)}
@@ -1 +1 @@
1
- @charset "UTF-8";.constant-status{--el-tag-border-opacity:1;--el-tag-bg-opacity:1}.constant-status .el-icon,.constant-status .name{vertical-align:middle;line-height:1}.constant-status .dot{width:5px;height:5px;display:inline-block;vertical-align:middle;border-radius:50%;background:var(--el-tag-text-color);margin-right:5px}.constant-status.dot-status{padding:0}.constant-status.dot-status .name{color:var(--el-text-color-primary)}.constant-status.el-tag--default{padding:0;--el-tag-bg-color:transparent;--el-tag-border-color:transparent;--el-tag-hover-color:var(--el-text-color-primary);--el-tag-text-color:var(--el-text-color-primary)}.constant-status.el-tag--blue{--el-tag-bg-color:rgba(236, 245, 255, var(--el-tag-bg-color));--el-tag-border-color:rgba(217, 236, 255, var(--el-tag-border-color));--el-tag-hover-color:rgba(111, 122, 175, 1);--el-tag-text-color:rgba(111, 122, 175, 1)}.constant-status.el-tag--blue.el-tag--dark{--el-tag-bg-color:rgba(111, 122, 175, 1);--el-tag-border-color:rgba(111, 122, 175, 1);--el-tag-hover-color:rgba(111, 122, 175, 0.8);--el-tag-text-color:#fff}.constant-status.el-tag--blue.el-tag--plain{--el-tag-bg-color:var(--el-fill-color-blank)}.constant-status.el-tag--yellow{--el-tag-bg-color:rgba(255, 251, 230, var(--el-tag-bg-opacity));--el-tag-border-color:rgba(255, 229, 143, var(--el-tag-borer-opacity));--el-tag-hover-color:rgba(212, 136, 6, 1);--el-tag-text-color:rgba(212, 136, 6, 1)}.constant-status.el-tag--yellow.el-tag--dark{--el-tag-bg-color:rgba(212, 136, 6, var(--el-tag-bg-opacity));--el-tag-border-color:rgba(212, 136, 6, var(--el-tag-border-opacity));--el-tag-hover-color:rgba(212, 136, 6, 1);--el-tag-text-color:#fff}.constant-status.el-tag--yellow.el-tag--plain{--el-tag-bg-color:var(--el-fill-color-blank)}.constant-status.el-tag--blue-dark{--el-tag-bg-color:rgba(240, 245, 255, var(--el-tag-bg-opacity));--el-tag-border-color:rgba(173, 198, 255, var(--el-tag-border-opacity));--el-tag-hover-color:rgba(29, 57, 196, 1);--el-tag-text-color:rgba(29, 57, 196, 1)}.constant-status.el-tag--blue-dark.el-tag--dark{--el-tag-bg-color:rgba(29, 57, 196, var(--el-tag-bg-opacity));--el-tag-border-color:rgba(29, 57, 196, var(--el-tag-border-opacity));--el-tag-hover-color:rgba(29, 57, 196, 1);--el-tag-text-color:#fff}.constant-status.el-tag--blue-dark.el-tag--plain{--el-tag-bg-color:var(--el-fill-color-blank)}.constant-status.el-tag--red-purple{--el-tag-bg-color:rgba(251, 243, 248, var(--el-tag-bg-opacity));--el-tag-border-color:rgba(227, 206, 219, var(--el-tag-border-opacity));--el-tag-hover-color:rgba(191, 117, 163, 1);--el-tag-text-color:rgba(191, 117, 163, 1)}.constant-status.el-tag--red-purple.el-tag--dark{--el-tag-bg-color:rgba(191, 117, 163, var(--el-tag-bg-opacity));--el-tag-border-color:rgba(191, 117, 163, var(--el-tag-border-opacity));--el-tag-hover-color:rgba(191, 117, 163, 1);--el-tag-text-color:#fff}.constant-status.el-tag--red-purple.el-tag--plain{--el-tag-bg-color:var(--el-fill-color-blank)}.constant-status.el-tag--blueness{--el-tag-bg-color:rgba(243, 250, 251, var(--el-tag-bg-opacity));--el-tag-border-color:rgba(194, 213, 221, var(--el-tag-border-opacity));--el-tag-hover-color:rgba(99, 150, 177, 1);--el-tag-text-color:rgba(99, 150, 177, 1)}.constant-status.el-tag--blueness.el-tag--dark{--el-tag-bg-color:rgba(99, 150, 177, var(--el-tag-bg-opacity));--el-tag-border-color:rgba(99, 150, 177, var(--el-tag-border-opacity));--el-tag-hover-color:rgba(99, 150, 177, 1);--el-tag-text-color:#fff}.constant-status.el-tag--blueness.el-tag--plain{--el-tag-bg-color:var(--el-fill-color-blank)}.constant-status.no-border{border:0!important;background:0 0}.curd-form{display:flex;flex-wrap:wrap;position:relative;box-sizing:border-box}.curd-form:not(.el-form--inline) .el-form-item{flex:0 0 100%}.curd-form .form-item{width:100%;display:flex}.curd-form .form-item .tooltip{color:var(--el-button-text-color);margin-left:10px;vertical-align:middle;color:#999}.curd-form .form-item .tooltip:hover{color:var(--color-primary)}.curd-form .el-checkbox-group.single .el-checkbox-button+.el-checkbox-button{margin-left:10px}.curd-form .el-checkbox-group.single .el-checkbox-button .el-checkbox-button__inner{border:var(--el-border);border-radius:var(--el-border-radius-base);padding-left:20px;padding-right:20px}.curd-form .el-checkbox-group.single .el-checkbox-button.is-checked .el-checkbox-button__inner{border-color:var(--el-checkbox-button-checked-border-color)}.curd-form .tooltip{color:var(--el-button-text-color);margin-left:10px;vertical-align:middle}.curd-form .file-uploader-single .single-img{max-width:100%;max-height:100%;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}.curd-form .file-uploader-single .el-upload--picture-card{position:relative;text-align:center;overflow:hidden}.curd-form .file-uploader-single .el-upload--picture-card .el-upload_input{display:block;position:absolute;width:100%;height:100%;top:0;left:0;cursor:pointer;opacity:0}.curd-form .file-uploader-single .el-upload--picture-card .file-main{text-align:center;line-height:1}.curd-form .file-uploader-single .el-upload--picture-card .file-main>i{margin:42px 0 10px}.curd-form .file-uploader-single .el-upload--picture-card .file-main .title{width:110px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;margin:0 auto;text-align:center;padding:10px 0}.curd-form .file-uploader-single .el-upload--picture-card .el-upload-list__item-actions{opacity:0;position:absolute;line-height:normal;top:4px;right:6px;background-color:transparent;z-index:1}.curd-form .file-uploader-single .el-upload--picture-card .el-upload-list__item-actions .el-button{margin:0;padding:0;font-size:14px;color:#ff6500;height:26px;width:26px;text-align:center}.curd-form .file-uploader-single .el-upload--picture-card .el-upload-list__item-actions .el-button .el-icon{font-size:14px}.curd-form .file-uploader-single .el-upload--picture-card .el-upload-list__item-actions .el-button:hover{background:#eee}.curd-form .file-uploader-single .el-upload--picture-card .el-upload-list__item-actions .el-icon-download{margin-right:10px}.curd-form .file-uploader-single .el-upload--picture-card .el-progress{position:absolute;top:0;left:0;bottom:0;right:0;transform:none;width:100%;background-color:rgba(0,0,0,.5);opacity:1;z-index:100}.curd-form .file-uploader-single .el-upload--picture-card .el-progress .el-progress-circle{margin:0 auto;padding-top:10px}.curd-form .file-uploader-single .el-upload--picture-card .el-progress .el-progress__text{color:#fff}.curd-form .file-uploader-single:hover .el-upload--picture-card .el-upload-list__item-actions{opacity:1}.curd-form [class*=icon-document-]{width:36px;height:36px;display:inline-block;vertical-align:top;background-size:100% 100%}.curd-form .icon-document-pdf{background-image:url(../icons/document/pdf.svg)}.curd-form .icon-document-csv{background-image:url(../icons/document/csv.svg)}.curd-form .icon-document-xls,.curd-form .icon-document-xlsx{background-image:url(../icons/document/xls.svg)}.curd-form .icon-document-doc,.curd-form .icon-document-docx{background-image:url(../icons/document/doc.svg)}.curd-form .icon-document-txt{background-image:url(../icons/document/txt.svg)}.curd-form .icon-document-zip{background-image:url(../icons/document/zip.svg)}.curd-form .icon-document-rar{background-image:url(../icons/document/rar.svg)}.curd-form .icon-document-image{background-image:url(../icons/document/image.svg)}.curd-form .schema-form-radio.single .el-radio-button+.el-radio-button{margin-left:10px}.curd-form .schema-form-radio.single .el-radio-button .el-radio-button__inner{border:var(--el-border);border-radius:var(--el-border-radius-base);padding-left:20px;padding-right:20px}.curd-form .schema-form-radio.single .el-radio-button.is-active .el-radio-button__inner{border-color:var(--el-radio-button-checked-border-color)}.curd-form .schema-form-radio .el-radio__label>span{vertical-align:middle}.curd-form .empty{color:#999}.curd-form .empty .el-icon,.curd-form .empty span{vertical-align:middle}.schema-form-select-check{height:25px;margin-left:20px;margin-top:10px;display:block}.schema-form-select-check :deep(.el-checkbox__input){vertical-align:middle}.table-container .el-table{--el-table-header-bg-color:#dfe2e7;--el-table-header-text-color:#575d6c;--el-table-text-color:#252b3a;--el-table-border-color:#e3e9f1;--el-table-row-hover-bg-color:#edf0f5}.table-container .el-table tbody .el-table__cell{padding:9px 0}.table-container .el-table.el-table--medium tbody .el-table__cell{padding:12px 0}.table-container .el-table.el-table--small tbody .el-table__cell{padding:4px 0}.table-container .el-table.el-table--small .el-button{font-size:12px}.table-container .el-table .el-button{vertical-align:top}.table-container .pagination{margin:15px 0;justify-content:end;font-weight:400}.table-container .table-control{display:flex;justify-content:space-between;padding-bottom:10px;align-items:flex-end}.table-container .table-control .min-control>.el-button{margin-right:10px}.table-container .s-table-filter{margin-bottom:10px;margin-left:-20px;margin-right:-20px;padding:0 20px 5px;border-bottom:10px solid var(--el-bg-color-page)}.table-container .s-table-filter .el-form--inline .el-form-item{margin-right:15px}.table-container .el-button+.dropdown-item{margin-left:10px}.table-container .copy{cursor:pointer;margin-right:3px}.table-container .header-td{display:flex;align-items:center;word-break:break-word}.table-container .header-td.center{justify-content:center}.table-container .header-td.right{justify-content:flex-end}.table-container .filter-dropdown-toggle{display:inline-block;line-height:1;cursor:pointer;position:relative;margin-left:3px}.table-container .filter-dropdown-toggle.active{color:var(--el-color-primary)}.table-container .table-menu{display:inline-block;vertical-align:middle;position:relative}.table-container .table-menu .table-menu-item{color:var(--el-button-text-color);font-size:14px;border-radius:4px;border:1px solid var(--el-button-border-color);padding:0;height:28px;width:28px}.table-container .table-menu .table-menu-item:not(.is-disabled):active,.table-container .table-menu .table-menu-item:not(.is-disabled):focus{border-color:var(--el-button-border-color)}.table-container .table-menu .table-menu-item+.table-menu-item{margin-left:3px}.table-container .table-menu .table-menu-item:hover{background-color:var(--el-fill-color-light);border-color:var(--el-button-border-color)}.table-container .table-menu .current-size{color:var(--el-color-primary)}.table-container .simple-page{padding:20px 0;text-align:right}.table-container .simple-page>span{margin:0 10px}.curd-table-dropdown-menu .el-dropdown-menu__item{padding:0}.curd-table-dropdown-menu .el-dropdown-menu__item:hover{background-color:var(--el-fill-color-light)}.curd-table-dropdown-menu .el-dropdown-menu__item .el-button{display:block;padding:5px 16px;flex:1;text-align:left;font-size:12px}.table-main-filter-dropdown{padding:0}.table-main-filter-dropdown .search{position:relative;margin-bottom:5px}.table-main-filter-dropdown .search input{outline:0;border:0;width:100%;padding:5px 10px;background:#f4f4f4}.table-main-filter-dropdown .search .icon-suffix{position:absolute;right:10px;top:50%;transform:translateY(-50%)}.table-main-filter-dropdown .search .icon-close1{position:absolute;right:30px;top:50%;transform:translateY(-50%);cursor:pointer;opacity:.7}.table-main-filter-dropdown .search .icon-close1:hover{opacity:1;color:#444}.table-main-filter-dropdown .select li{line-height:30px;padding:0 20px;list-style:none;cursor:pointer}.table-main-filter-dropdown .select li:hover{background:#f4f4f4}.table-main-filter-dropdown .select li.active{color:var(--el-color-primary)}.filter-type-popper{width:auto!important;min-width:0!important;padding:0!important;box-shadow:none!important}.table-filter{background:var(--el-bg-color);display:flex;flex-direction:column;position:relative}.table-filter .filter-search-box{min-height:32px;border-width:1px;border-style:solid;border-color:var(--el-border-color);display:flex;min-width:460px;align-items:center;justify-items:center;justify-content:space-between;overflow:hidden;border-radius:18px;transition:all .3s}.table-filter .filter-search-box.is-focus{border-color:var(--el-color-primary)}.table-filter .filter-search-box .filter-action{height:32px;line-height:32px;align-self:flex-end;display:flex;align-items:center;justify-items:center;justify-content:space-between}.table-filter .filter-search-box .filter-action div{cursor:pointer}.table-filter .filter-search-box .filter-action .empty{color:var(--el-color-info);margin-right:15px;padding-left:10px}.table-filter .filter-search-box .filter-action .empty:hover{color:var(--el-color-primary)}.table-filter .filter-search-box .filter-action .search{padding:0 20px;text-align:center;border-radius:18px;position:relative;display:flex}.table-filter .filter-search-box .filter-action .search:before{content:"";display:block;width:1px;height:20px;background:#ddd;position:absolute;left:0;top:50%;transform:translateY(-50%)}.table-filter .filter-search-box .filter-action .search:hover{color:var(--el-color-primary)}.table-filter .filter-external .el-form-item{margin-bottom:10px}.table-filter .filter-tags{height:100%;flex-wrap:wrap;display:flex;flex:1;align-items:center;justify-items:center;margin-bottom:10px}.table-filter .filter-tags .tag-title{margin-right:20px;font-size:12px;color:#aeb2bb;margin-bottom:2px}.table-filter .filter-tags .dropdown-toggle{white-space:nowrap;display:flex;align-items:center;justify-items:center;font-size:12px}.table-filter .filter-tags .tag-list{height:24px;line-height:24px;white-space:nowrap;display:flex;align-items:center;justify-items:center;padding:0 10px;color:var(--el-color-info-dark-2);background:var(--el-color-info-light-9);font-size:12px;border-radius:12px;margin-right:5px;margin-bottom:2px;cursor:pointer}.table-filter .filter-tags .tag-list .action{color:var(--el-color-info-light-5);text-align:center;width:14px;height:14px;line-height:14px;border-radius:50%;margin-left:10px;font-size:14px;cursor:pointer}.table-filter .filter-tags .tag-list .action:hover{color:var(--el-color-primary)}.table-filter .tag-clear{margin-bottom:2px;margin-left:10px}.table-filter-type{box-shadow:var(--el-box-shadow-light);background:var(--el-bg-color);z-index:3060;min-width:150px;max-height:300px;overflow:hidden;--el-font-size-base:12px}.table-filter-type .base-select{--el-font-size-base:12px;height:100%;max-height:300px;display:flex;flex-direction:column}.table-filter-type .base-select .remote-input{width:100%}.table-filter-type .base-select .remote-input .el-input{--el-input-border-radius:0;--el-input-bg-color:var(--el-bg-color-page);--el-input-border:none;--el-input-hover-border-color:transparent;--el-input-focus-border-color:var(--el-border-color)}.table-filter-type .base-select .el-empty__image svg{height:50px}.table-filter-type .base-select .select-spinner{flex:1;position:relative;overflow-y:auto}.table-filter-type .base-select .select-spinner ul{margin:0;padding:0}.table-filter-type .base-select .select-spinner ul li{list-style:none;padding:6px 10px;cursor:pointer;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;box-sizing:border-box;font-size:var(--el-font-size-base)}.table-filter-type .base-select .select-spinner ul li.active{color:var(--el-color-primary)}.table-filter-type .base-select .select-spinner ul li:hover{background:var(--el-color-primary-light-9);color:var(--el-color-primary)}.table-filter-toggle{padding:0 10px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;min-width:120px;font-size:12px}.table-filter-toggle .current-filter-label{margin-right:20px}.table-filter-List{box-shadow:0 2px 8px 0 rgba(0,0,0,.2);background:var(--el-bg-color);z-index:3060;border-radius:2px;max-height:300px;overflow-y:auto;font-size:12px}.table-filter-List ul{width:100%;margin:0;padding:0}.table-filter-List ul li{width:100%;list-style:none;padding:6px 10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;box-sizing:border-box;cursor:pointer}.table-filter-List ul li:hover{background:var(--el-color-primary-light-9);color:var(--el-color-primary)}.table-filter-List ul li.active{color:var(--el-color-primary);font-weight:600}.table-filter-tag-popper{max-height:400px;overflow:auto;padding:0!important;width:250px!important}.table-filter-tag-popper .select-list .item{line-height:18px;cursor:pointer;padding:6px 10px;font-size:12px}.table-filter-tag-popper .select-list .item:hover{background-color:var(--el-fill-color-light)}.table-filter-tag-popper .select-list .item.active{color:var(--el-color-primary);font-weight:700}.detail-info{flex:1}.detail-info .detail-info-header{display:flex;justify-content:space-between;align-items:center}.detail-info .title{margin-bottom:10px;border-left:3px solid var(--el-color-primary);padding-left:10px;line-height:1.2}.detail-info+.detail-info{margin-top:30px}.table-detail{margin-left:13px}.table-detail .item-col{line-height:20px;height:100%;box-sizing:border-box;display:flex}.table-detail .item-col .label{padding:4px 0;color:var(--el-text-color-secondary);box-sizing:border-box;vertical-align:middle;float:left}.table-detail .item-col .det{flex:1;padding:4px 10px;box-sizing:border-box;min-height:20px;height:100%;word-break:break-all}.table-detail.table{border-top:1px solid var(--el-border-color);border-left:1px solid var(--el-border-color)}.table-detail.table .el-col{padding:0!important;border-bottom:1px solid var(--el-border-color);border-right:1px solid var(--el-border-color)}.table-detail.table .item-col{background:var(--el-bg-color-page);border:1px solid var(--el-bg-color)}.table-detail.table .item-col .label{padding-left:10px;padding-right:10px;width:100px}.table-detail.table .item-col .det{border-left:1px solid var(--el-border-color);background-color:var(--el-bg-color)}
1
+ @charset "UTF-8";.constant-status{--el-tag-border-opacity:1;--el-tag-bg-opacity:1}.constant-status .el-icon,.constant-status .name{vertical-align:middle;line-height:1}.constant-status .dot{width:5px;height:5px;display:inline-block;vertical-align:middle;border-radius:50%;background:var(--el-tag-text-color);margin-right:5px}.constant-status.dot-status{padding:0}.constant-status.dot-status .name{color:var(--el-text-color-primary)}.constant-status.el-tag--default{padding:0;--el-tag-bg-color:transparent;--el-tag-border-color:transparent;--el-tag-hover-color:var(--el-text-color-primary);--el-tag-text-color:var(--el-text-color-primary)}.constant-status.el-tag--blue{--el-tag-bg-color:rgba(236, 245, 255, var(--el-tag-bg-color));--el-tag-border-color:rgba(217, 236, 255, var(--el-tag-border-color));--el-tag-hover-color:rgba(111, 122, 175, 1);--el-tag-text-color:rgba(111, 122, 175, 1)}.constant-status.el-tag--blue.el-tag--dark{--el-tag-bg-color:rgba(111, 122, 175, 1);--el-tag-border-color:rgba(111, 122, 175, 1);--el-tag-hover-color:rgba(111, 122, 175, 0.8);--el-tag-text-color:#fff}.constant-status.el-tag--blue.el-tag--plain{--el-tag-bg-color:var(--el-fill-color-blank)}.constant-status.el-tag--yellow{--el-tag-bg-color:rgba(255, 251, 230, var(--el-tag-bg-opacity));--el-tag-border-color:rgba(255, 229, 143, var(--el-tag-borer-opacity));--el-tag-hover-color:rgba(212, 136, 6, 1);--el-tag-text-color:rgba(212, 136, 6, 1)}.constant-status.el-tag--yellow.el-tag--dark{--el-tag-bg-color:rgba(212, 136, 6, var(--el-tag-bg-opacity));--el-tag-border-color:rgba(212, 136, 6, var(--el-tag-border-opacity));--el-tag-hover-color:rgba(212, 136, 6, 1);--el-tag-text-color:#fff}.constant-status.el-tag--yellow.el-tag--plain{--el-tag-bg-color:var(--el-fill-color-blank)}.constant-status.el-tag--blue-dark{--el-tag-bg-color:rgba(240, 245, 255, var(--el-tag-bg-opacity));--el-tag-border-color:rgba(173, 198, 255, var(--el-tag-border-opacity));--el-tag-hover-color:rgba(29, 57, 196, 1);--el-tag-text-color:rgba(29, 57, 196, 1)}.constant-status.el-tag--blue-dark.el-tag--dark{--el-tag-bg-color:rgba(29, 57, 196, var(--el-tag-bg-opacity));--el-tag-border-color:rgba(29, 57, 196, var(--el-tag-border-opacity));--el-tag-hover-color:rgba(29, 57, 196, 1);--el-tag-text-color:#fff}.constant-status.el-tag--blue-dark.el-tag--plain{--el-tag-bg-color:var(--el-fill-color-blank)}.constant-status.el-tag--red-purple{--el-tag-bg-color:rgba(251, 243, 248, var(--el-tag-bg-opacity));--el-tag-border-color:rgba(227, 206, 219, var(--el-tag-border-opacity));--el-tag-hover-color:rgba(191, 117, 163, 1);--el-tag-text-color:rgba(191, 117, 163, 1)}.constant-status.el-tag--red-purple.el-tag--dark{--el-tag-bg-color:rgba(191, 117, 163, var(--el-tag-bg-opacity));--el-tag-border-color:rgba(191, 117, 163, var(--el-tag-border-opacity));--el-tag-hover-color:rgba(191, 117, 163, 1);--el-tag-text-color:#fff}.constant-status.el-tag--red-purple.el-tag--plain{--el-tag-bg-color:var(--el-fill-color-blank)}.constant-status.el-tag--blueness{--el-tag-bg-color:rgba(243, 250, 251, var(--el-tag-bg-opacity));--el-tag-border-color:rgba(194, 213, 221, var(--el-tag-border-opacity));--el-tag-hover-color:rgba(99, 150, 177, 1);--el-tag-text-color:rgba(99, 150, 177, 1)}.constant-status.el-tag--blueness.el-tag--dark{--el-tag-bg-color:rgba(99, 150, 177, var(--el-tag-bg-opacity));--el-tag-border-color:rgba(99, 150, 177, var(--el-tag-border-opacity));--el-tag-hover-color:rgba(99, 150, 177, 1);--el-tag-text-color:#fff}.constant-status.el-tag--blueness.el-tag--plain{--el-tag-bg-color:var(--el-fill-color-blank)}.constant-status.no-border{border:0!important;background:0 0}.curd-form{display:flex;flex-wrap:wrap;position:relative;box-sizing:border-box}.curd-form:not(.el-form--inline) .el-form-item{flex:0 0 100%}.curd-form .form-item{width:100%;display:flex}.curd-form .form-item .tooltip{color:var(--el-button-text-color);margin-left:10px;vertical-align:middle;color:#999}.curd-form .form-item .tooltip:hover{color:var(--color-primary)}.curd-form .el-checkbox-group.single .el-checkbox-button+.el-checkbox-button{margin-left:10px}.curd-form .el-checkbox-group.single .el-checkbox-button .el-checkbox-button__inner{border:var(--el-border);border-radius:var(--el-border-radius-base);padding-left:20px;padding-right:20px}.curd-form .el-checkbox-group.single .el-checkbox-button.is-checked .el-checkbox-button__inner{border-color:var(--el-checkbox-button-checked-border-color)}.curd-form .tooltip{color:var(--el-button-text-color);margin-left:10px;vertical-align:middle}.curd-form .file-uploader-single .single-img{max-width:100%;max-height:100%;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}.curd-form .file-uploader-single .el-upload--picture-card{position:relative;text-align:center;overflow:hidden}.curd-form .file-uploader-single .el-upload--picture-card .el-upload_input{display:block;position:absolute;width:100%;height:100%;top:0;left:0;cursor:pointer;opacity:0}.curd-form .file-uploader-single .el-upload--picture-card .file-main{text-align:center;line-height:1}.curd-form .file-uploader-single .el-upload--picture-card .file-main>i{margin:42px 0 10px}.curd-form .file-uploader-single .el-upload--picture-card .file-main .title{width:110px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;margin:0 auto;text-align:center;padding:10px 0}.curd-form .file-uploader-single .el-upload--picture-card .el-upload-list__item-actions{opacity:0;position:absolute;line-height:normal;top:4px;right:6px;background-color:transparent;z-index:1}.curd-form .file-uploader-single .el-upload--picture-card .el-upload-list__item-actions .el-button{margin:0;padding:0;font-size:14px;color:#ff6500;height:26px;width:26px;text-align:center}.curd-form .file-uploader-single .el-upload--picture-card .el-upload-list__item-actions .el-button .el-icon{font-size:14px}.curd-form .file-uploader-single .el-upload--picture-card .el-upload-list__item-actions .el-button:hover{background:#eee}.curd-form .file-uploader-single .el-upload--picture-card .el-upload-list__item-actions .el-icon-download{margin-right:10px}.curd-form .file-uploader-single .el-upload--picture-card .el-progress{position:absolute;top:0;left:0;bottom:0;right:0;transform:none;width:100%;background-color:rgba(0,0,0,.5);opacity:1;z-index:100}.curd-form .file-uploader-single .el-upload--picture-card .el-progress .el-progress-circle{margin:0 auto;padding-top:10px}.curd-form .file-uploader-single .el-upload--picture-card .el-progress .el-progress__text{color:#fff}.curd-form .file-uploader-single:hover .el-upload--picture-card .el-upload-list__item-actions{opacity:1}.curd-form [class*=icon-document-]{width:36px;height:36px;display:inline-block;vertical-align:top;background-size:100% 100%}.curd-form .icon-document-pdf{background-image:url(../icons/document/pdf.svg)}.curd-form .icon-document-csv{background-image:url(../icons/document/csv.svg)}.curd-form .icon-document-xls,.curd-form .icon-document-xlsx{background-image:url(../icons/document/xls.svg)}.curd-form .icon-document-doc,.curd-form .icon-document-docx{background-image:url(../icons/document/doc.svg)}.curd-form .icon-document-txt{background-image:url(../icons/document/txt.svg)}.curd-form .icon-document-zip{background-image:url(../icons/document/zip.svg)}.curd-form .icon-document-rar{background-image:url(../icons/document/rar.svg)}.curd-form .icon-document-image{background-image:url(../icons/document/image.svg)}.curd-form .schema-form-radio.single .el-radio-button+.el-radio-button{margin-left:10px}.curd-form .schema-form-radio.single .el-radio-button .el-radio-button__inner{border:var(--el-border);border-radius:var(--el-border-radius-base);padding-left:20px;padding-right:20px}.curd-form .schema-form-radio.single .el-radio-button.is-active .el-radio-button__inner{border-color:var(--el-radio-button-checked-border-color)}.curd-form .schema-form-radio .el-radio__label>span{vertical-align:middle}.curd-form .empty{color:#999}.curd-form .empty .el-icon,.curd-form .empty span{vertical-align:middle}.schema-form-select-check{height:25px;margin-left:20px;margin-top:10px;display:block}.schema-form-select-check :deep(.el-checkbox__input){vertical-align:middle}.table-container .el-table{--el-table-header-bg-color:#dfe2e7;--el-table-header-text-color:#575d6c;--el-table-text-color:#252b3a;--el-table-border-color:#e3e9f1;--el-table-row-hover-bg-color:#edf0f5}.table-container .el-table tbody .el-table__cell{padding:9px 0}.table-container .el-table.el-table--medium tbody .el-table__cell{padding:12px 0}.table-container .el-table.el-table--small tbody .el-table__cell{padding:4px 0}.table-container .el-table.el-table--small .el-button{font-size:12px}.table-container .el-table .el-button{vertical-align:top}.table-container .pagination{margin:15px 0;justify-content:end;font-weight:400}.table-container .table-control{display:flex;justify-content:space-between;padding-bottom:10px;align-items:flex-end}.table-container .table-control .min-control>.el-button{margin-right:10px}.table-container .s-table-filter{margin-bottom:10px;margin-left:-20px;margin-right:-20px;padding:0 20px 5px;border-bottom:10px solid var(--el-bg-color-page)}.table-container .s-table-filter .el-form--inline .el-form-item{margin-right:15px}.table-container .el-button+.dropdown-item{margin-left:10px}.table-container .copy{cursor:pointer;margin-right:3px}.table-container .header-td{display:flex;align-items:center;word-break:break-word}.table-container .header-td.center{justify-content:center}.table-container .header-td.right{justify-content:flex-end}.table-container .filter-dropdown-toggle{display:inline-block;line-height:1;cursor:pointer;position:relative;margin-left:3px}.table-container .filter-dropdown-toggle.active{color:var(--el-color-primary)}.table-container .table-menu{display:inline-block;vertical-align:middle;position:relative}.table-container .table-menu .table-menu-item{color:var(--el-button-text-color);font-size:14px;border-radius:4px;border:1px solid var(--el-button-border-color);padding:0;height:28px;width:28px}.table-container .table-menu .table-menu-item:not(.is-disabled):active,.table-container .table-menu .table-menu-item:not(.is-disabled):focus{border-color:var(--el-button-border-color)}.table-container .table-menu .table-menu-item+.table-menu-item{margin-left:3px}.table-container .table-menu .table-menu-item:hover{background-color:var(--el-fill-color-light);border-color:var(--el-button-border-color)}.table-container .table-menu .current-size{color:var(--el-color-primary)}.table-container .simple-page{padding:20px 0;text-align:right}.table-container .simple-page>span{margin:0 10px}.curd-table-dropdown-menu .el-dropdown-menu__item{padding:0}.curd-table-dropdown-menu .el-dropdown-menu__item:hover{background-color:var(--el-fill-color-light)}.curd-table-dropdown-menu .el-dropdown-menu__item .el-button{display:block;padding:5px 16px;flex:1;text-align:left;font-size:12px}.table-main-filter-dropdown{padding:0}.table-main-filter-dropdown .search{position:relative;margin-bottom:5px}.table-main-filter-dropdown .search input{outline:0;border:0;width:100%;padding:5px 10px;background:#f4f4f4}.table-main-filter-dropdown .search .icon-suffix{position:absolute;right:10px;top:50%;transform:translateY(-50%)}.table-main-filter-dropdown .search .icon-close1{position:absolute;right:30px;top:50%;transform:translateY(-50%);cursor:pointer;opacity:.7}.table-main-filter-dropdown .search .icon-close1:hover{opacity:1;color:#444}.table-main-filter-dropdown .select li{line-height:30px;padding:0 20px;list-style:none;cursor:pointer}.table-main-filter-dropdown .select li:hover{background:#f4f4f4}.table-main-filter-dropdown .select li.active{color:var(--el-color-primary)}.filter-type-popper{width:auto!important;min-width:0!important;padding:0!important;box-shadow:none!important}.table-filter{background:var(--el-bg-color);display:flex;flex-direction:column;position:relative}.table-filter .filter-search-box{min-height:32px;border-width:1px;border-style:solid;border-color:var(--el-border-color);display:flex;min-width:460px;align-items:center;justify-items:center;justify-content:space-between;overflow:hidden;border-radius:18px;transition:all .3s}.table-filter .filter-search-box.is-focus{border-color:var(--el-color-primary)}.table-filter .filter-search-box .filter-action{height:32px;line-height:32px;align-self:flex-end;display:flex;align-items:center;justify-items:center;justify-content:space-between}.table-filter .filter-search-box .filter-action div{cursor:pointer}.table-filter .filter-search-box .filter-action .empty{color:var(--el-color-info);margin-right:15px;padding-left:10px}.table-filter .filter-search-box .filter-action .empty:hover{color:var(--el-color-primary)}.table-filter .filter-search-box .filter-action .search{padding:0 20px;text-align:center;border-radius:18px;position:relative;display:flex}.table-filter .filter-search-box .filter-action .search:before{content:"";display:block;width:1px;height:20px;background:#ddd;position:absolute;left:0;top:50%;transform:translateY(-50%)}.table-filter .filter-search-box .filter-action .search:hover{color:var(--el-color-primary)}.table-filter .filter-external .el-form-item{margin-bottom:10px}.table-filter .filter-tags{height:100%;flex-wrap:wrap;display:flex;flex:1;align-items:center;justify-items:center;margin-bottom:10px}.table-filter .filter-tags .tag-title{margin-right:20px;font-size:12px;color:#aeb2bb;margin-bottom:2px}.table-filter .filter-tags .dropdown-toggle{white-space:nowrap;display:flex;align-items:center;justify-items:center;font-size:12px}.table-filter .filter-tags .tag-list{height:24px;line-height:24px;white-space:nowrap;display:flex;align-items:center;justify-items:center;padding:0 10px;color:var(--el-color-info-dark-2);background:var(--el-color-info-light-9);font-size:12px;border-radius:12px;margin-right:5px;margin-bottom:2px;cursor:pointer}.table-filter .filter-tags .tag-list .action{color:var(--el-color-info-light-5);text-align:center;width:14px;height:14px;line-height:14px;border-radius:50%;margin-left:10px;font-size:14px;cursor:pointer}.table-filter .filter-tags .tag-list .action:hover{color:var(--el-color-primary)}.table-filter .tag-clear{margin-bottom:2px;margin-left:10px}.table-filter .filter-item .base-select{--el-font-size-base:12px;height:100%;max-height:300px;display:flex;flex-direction:column}.table-filter .filter-item .base-select .el-input .el-input__wrapper{box-shadow:none!important}.table-filter .filter-item .base-select .remote-input{width:100%}.table-filter .filter-item .base-select .remote-input .el-input{--el-input-border-radius:0;--el-input-bg-color:var(--el-bg-color-page);--el-input-border:none;--el-input-hover-border-color:transparent;--el-input-focus-border-color:var(--el-border-color)}.table-filter .filter-item .base-select .el-empty__image svg{height:50px}.table-filter .filter-item .base-select .select-spinner{flex:1;position:relative;overflow-y:auto}.table-filter .filter-item .base-select .select-spinner ul li{list-style:none;padding:6px 10px;cursor:pointer;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--el-font-size-base)}.table-filter .filter-item .base-select .select-spinner ul li.active{color:var(--el-color-primary)}.table-filter .filter-item .base-select .select-spinner ul li:hover{background:var(--el-color-primary-light-9);color:var(--el-color-primary)}.table-filter-type{box-shadow:var(--el-box-shadow-light);background:var(--el-bg-color);z-index:3060;min-width:150px;max-height:300px;overflow:hidden;--el-font-size-base:12px}.table-filter-type .base-select{--el-font-size-base:12px;height:100%;max-height:300px;display:flex;flex-direction:column}.table-filter-type .base-select .remote-input{width:100%}.table-filter-type .base-select .remote-input .el-input{--el-input-border-radius:0;--el-input-bg-color:var(--el-bg-color-page);--el-input-border:none;--el-input-hover-border-color:transparent;--el-input-focus-border-color:var(--el-border-color)}.table-filter-type .base-select .el-empty__image svg{height:50px}.table-filter-type .base-select .select-spinner{flex:1;position:relative;overflow-y:auto}.table-filter-type .base-select .select-spinner ul{margin:0;padding:0}.table-filter-type .base-select .select-spinner ul li{list-style:none;padding:6px 10px;cursor:pointer;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;box-sizing:border-box;font-size:var(--el-font-size-base)}.table-filter-type .base-select .select-spinner ul li.active{color:var(--el-color-primary)}.table-filter-type .base-select .select-spinner ul li:hover{background:var(--el-color-primary-light-9);color:var(--el-color-primary)}.table-filter-toggle{padding:0 10px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;min-width:120px;font-size:12px}.table-filter-toggle .current-filter-label{margin-right:20px}.table-filter-List{box-shadow:0 2px 8px 0 rgba(0,0,0,.2);background:var(--el-bg-color);z-index:3060;border-radius:2px;max-height:300px;overflow-y:auto;font-size:12px}.table-filter-List ul{width:100%;margin:0;padding:0}.table-filter-List ul li{width:100%;list-style:none;padding:6px 10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;box-sizing:border-box;cursor:pointer}.table-filter-List ul li:hover{background:var(--el-color-primary-light-9);color:var(--el-color-primary)}.table-filter-List ul li.active{color:var(--el-color-primary);font-weight:600}.table-filter-tag-popper{max-height:400px;overflow:auto;padding:0!important;width:250px!important}.table-filter-tag-popper .select-list .item{line-height:18px;cursor:pointer;padding:6px 10px;font-size:12px}.table-filter-tag-popper .select-list .item:hover{background-color:var(--el-fill-color-light)}.table-filter-tag-popper .select-list .item.active{color:var(--el-color-primary);font-weight:700}.detail-info{flex:1}.detail-info .detail-info-header{display:flex;justify-content:space-between;align-items:center}.detail-info .title{margin-bottom:10px;border-left:3px solid var(--el-color-primary);padding-left:10px;line-height:1.2}.detail-info+.detail-info{margin-top:30px}.table-detail{display:flex;flex-wrap:wrap;position:relative;box-sizing:border-box;margin-left:13px}.table-detail .table-detail-col{box-sizing:border-box}.table-detail .item-col{line-height:20px;height:100%;box-sizing:border-box;display:flex}.table-detail .item-col .label{padding:4px 0;color:var(--el-text-color-secondary);box-sizing:border-box;vertical-align:middle;float:left;display:flex;align-items:center}.table-detail .item-col .det{flex:1;padding:4px 10px;box-sizing:border-box;min-height:20px;height:100%;word-break:break-all}.table-detail.table{border-top:1px solid var(--el-border-color);border-left:1px solid var(--el-border-color)}.table-detail.table .table-detail-col{padding:0!important;border-bottom:1px solid var(--el-border-color);border-right:1px solid var(--el-border-color)}.table-detail.table .item-col{background:var(--el-bg-color-page);border:1px solid var(--el-bg-color)}.table-detail.table .item-col .label{padding-left:10px;padding-right:10px;width:100px}.table-detail.table .item-col .det{border-left:1px solid var(--el-border-color);background-color:var(--el-bg-color)}
@@ -1 +1 @@
1
- .table-filter{background:var(--el-bg-color);display:flex;flex-direction:column;position:relative}.table-filter .filter-search-box{min-height:32px;border-width:1px;border-style:solid;border-color:var(--el-border-color);display:flex;min-width:460px;align-items:center;justify-items:center;justify-content:space-between;overflow:hidden;border-radius:18px;transition:all .3s}.table-filter .filter-search-box.is-focus{border-color:var(--el-color-primary)}.table-filter .filter-search-box .filter-action{height:32px;line-height:32px;align-self:flex-end;display:flex;align-items:center;justify-items:center;justify-content:space-between}.table-filter .filter-search-box .filter-action div{cursor:pointer}.table-filter .filter-search-box .filter-action .empty{color:var(--el-color-info);margin-right:15px;padding-left:10px}.table-filter .filter-search-box .filter-action .empty:hover{color:var(--el-color-primary)}.table-filter .filter-search-box .filter-action .search{padding:0 20px;text-align:center;border-radius:18px;position:relative;display:flex}.table-filter .filter-search-box .filter-action .search:before{content:"";display:block;width:1px;height:20px;background:#ddd;position:absolute;left:0;top:50%;transform:translateY(-50%)}.table-filter .filter-search-box .filter-action .search:hover{color:var(--el-color-primary)}.table-filter .filter-external .el-form-item{margin-bottom:10px}.table-filter .filter-tags{height:100%;flex-wrap:wrap;display:flex;flex:1;align-items:center;justify-items:center;margin-bottom:10px}.table-filter .filter-tags .tag-title{margin-right:20px;font-size:12px;color:#aeb2bb;margin-bottom:2px}.table-filter .filter-tags .dropdown-toggle{white-space:nowrap;display:flex;align-items:center;justify-items:center;font-size:12px}.table-filter .filter-tags .tag-list{height:24px;line-height:24px;white-space:nowrap;display:flex;align-items:center;justify-items:center;padding:0 10px;color:var(--el-color-info-dark-2);background:var(--el-color-info-light-9);font-size:12px;border-radius:12px;margin-right:5px;margin-bottom:2px;cursor:pointer}.table-filter .filter-tags .tag-list .action{color:var(--el-color-info-light-5);text-align:center;width:14px;height:14px;line-height:14px;border-radius:50%;margin-left:10px;font-size:14px;cursor:pointer}.table-filter .filter-tags .tag-list .action:hover{color:var(--el-color-primary)}.table-filter .tag-clear{margin-bottom:2px;margin-left:10px}.table-filter-type{box-shadow:var(--el-box-shadow-light);background:var(--el-bg-color);z-index:3060;min-width:150px;max-height:300px;overflow:hidden;--el-font-size-base:12px}.table-filter-type .base-select{--el-font-size-base:12px;height:100%;max-height:300px;display:flex;flex-direction:column}.table-filter-type .base-select .remote-input{width:100%}.table-filter-type .base-select .remote-input .el-input{--el-input-border-radius:0;--el-input-bg-color:var(--el-bg-color-page);--el-input-border:none;--el-input-hover-border-color:transparent;--el-input-focus-border-color:var(--el-border-color)}.table-filter-type .base-select .el-empty__image svg{height:50px}.table-filter-type .base-select .select-spinner{flex:1;position:relative;overflow-y:auto}.table-filter-type .base-select .select-spinner ul{margin:0;padding:0}.table-filter-type .base-select .select-spinner ul li{list-style:none;padding:6px 10px;cursor:pointer;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;box-sizing:border-box;font-size:var(--el-font-size-base)}.table-filter-type .base-select .select-spinner ul li.active{color:var(--el-color-primary)}.table-filter-type .base-select .select-spinner ul li:hover{background:var(--el-color-primary-light-9);color:var(--el-color-primary)}.table-filter-toggle{padding:0 10px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;min-width:120px;font-size:12px}.table-filter-toggle .current-filter-label{margin-right:20px}.table-filter-List{box-shadow:0 2px 8px 0 rgba(0,0,0,.2);background:var(--el-bg-color);z-index:3060;border-radius:2px;max-height:300px;overflow-y:auto;font-size:12px}.table-filter-List ul{width:100%;margin:0;padding:0}.table-filter-List ul li{width:100%;list-style:none;padding:6px 10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;box-sizing:border-box;cursor:pointer}.table-filter-List ul li:hover{background:var(--el-color-primary-light-9);color:var(--el-color-primary)}.table-filter-List ul li.active{color:var(--el-color-primary);font-weight:600}.table-filter-tag-popper{max-height:400px;overflow:auto;padding:0!important;width:250px!important}.table-filter-tag-popper .select-list .item{line-height:18px;cursor:pointer;padding:6px 10px;font-size:12px}.table-filter-tag-popper .select-list .item:hover{background-color:var(--el-fill-color-light)}.table-filter-tag-popper .select-list .item.active{color:var(--el-color-primary);font-weight:700}
1
+ .table-filter{background:var(--el-bg-color);display:flex;flex-direction:column;position:relative}.table-filter .filter-search-box{min-height:32px;border-width:1px;border-style:solid;border-color:var(--el-border-color);display:flex;min-width:460px;align-items:center;justify-items:center;justify-content:space-between;overflow:hidden;border-radius:18px;transition:all .3s}.table-filter .filter-search-box.is-focus{border-color:var(--el-color-primary)}.table-filter .filter-search-box .filter-action{height:32px;line-height:32px;align-self:flex-end;display:flex;align-items:center;justify-items:center;justify-content:space-between}.table-filter .filter-search-box .filter-action div{cursor:pointer}.table-filter .filter-search-box .filter-action .empty{color:var(--el-color-info);margin-right:15px;padding-left:10px}.table-filter .filter-search-box .filter-action .empty:hover{color:var(--el-color-primary)}.table-filter .filter-search-box .filter-action .search{padding:0 20px;text-align:center;border-radius:18px;position:relative;display:flex}.table-filter .filter-search-box .filter-action .search:before{content:"";display:block;width:1px;height:20px;background:#ddd;position:absolute;left:0;top:50%;transform:translateY(-50%)}.table-filter .filter-search-box .filter-action .search:hover{color:var(--el-color-primary)}.table-filter .filter-external .el-form-item{margin-bottom:10px}.table-filter .filter-tags{height:100%;flex-wrap:wrap;display:flex;flex:1;align-items:center;justify-items:center;margin-bottom:10px}.table-filter .filter-tags .tag-title{margin-right:20px;font-size:12px;color:#aeb2bb;margin-bottom:2px}.table-filter .filter-tags .dropdown-toggle{white-space:nowrap;display:flex;align-items:center;justify-items:center;font-size:12px}.table-filter .filter-tags .tag-list{height:24px;line-height:24px;white-space:nowrap;display:flex;align-items:center;justify-items:center;padding:0 10px;color:var(--el-color-info-dark-2);background:var(--el-color-info-light-9);font-size:12px;border-radius:12px;margin-right:5px;margin-bottom:2px;cursor:pointer}.table-filter .filter-tags .tag-list .action{color:var(--el-color-info-light-5);text-align:center;width:14px;height:14px;line-height:14px;border-radius:50%;margin-left:10px;font-size:14px;cursor:pointer}.table-filter .filter-tags .tag-list .action:hover{color:var(--el-color-primary)}.table-filter .tag-clear{margin-bottom:2px;margin-left:10px}.table-filter .filter-item .base-select{--el-font-size-base:12px;height:100%;max-height:300px;display:flex;flex-direction:column}.table-filter .filter-item .base-select .el-input .el-input__wrapper{box-shadow:none!important}.table-filter .filter-item .base-select .remote-input{width:100%}.table-filter .filter-item .base-select .remote-input .el-input{--el-input-border-radius:0;--el-input-bg-color:var(--el-bg-color-page);--el-input-border:none;--el-input-hover-border-color:transparent;--el-input-focus-border-color:var(--el-border-color)}.table-filter .filter-item .base-select .el-empty__image svg{height:50px}.table-filter .filter-item .base-select .select-spinner{flex:1;position:relative;overflow-y:auto}.table-filter .filter-item .base-select .select-spinner ul li{list-style:none;padding:6px 10px;cursor:pointer;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--el-font-size-base)}.table-filter .filter-item .base-select .select-spinner ul li.active{color:var(--el-color-primary)}.table-filter .filter-item .base-select .select-spinner ul li:hover{background:var(--el-color-primary-light-9);color:var(--el-color-primary)}.table-filter-type{box-shadow:var(--el-box-shadow-light);background:var(--el-bg-color);z-index:3060;min-width:150px;max-height:300px;overflow:hidden;--el-font-size-base:12px}.table-filter-type .base-select{--el-font-size-base:12px;height:100%;max-height:300px;display:flex;flex-direction:column}.table-filter-type .base-select .remote-input{width:100%}.table-filter-type .base-select .remote-input .el-input{--el-input-border-radius:0;--el-input-bg-color:var(--el-bg-color-page);--el-input-border:none;--el-input-hover-border-color:transparent;--el-input-focus-border-color:var(--el-border-color)}.table-filter-type .base-select .el-empty__image svg{height:50px}.table-filter-type .base-select .select-spinner{flex:1;position:relative;overflow-y:auto}.table-filter-type .base-select .select-spinner ul{margin:0;padding:0}.table-filter-type .base-select .select-spinner ul li{list-style:none;padding:6px 10px;cursor:pointer;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;box-sizing:border-box;font-size:var(--el-font-size-base)}.table-filter-type .base-select .select-spinner ul li.active{color:var(--el-color-primary)}.table-filter-type .base-select .select-spinner ul li:hover{background:var(--el-color-primary-light-9);color:var(--el-color-primary)}.table-filter-toggle{padding:0 10px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;min-width:120px;font-size:12px}.table-filter-toggle .current-filter-label{margin-right:20px}.table-filter-List{box-shadow:0 2px 8px 0 rgba(0,0,0,.2);background:var(--el-bg-color);z-index:3060;border-radius:2px;max-height:300px;overflow-y:auto;font-size:12px}.table-filter-List ul{width:100%;margin:0;padding:0}.table-filter-List ul li{width:100%;list-style:none;padding:6px 10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;box-sizing:border-box;cursor:pointer}.table-filter-List ul li:hover{background:var(--el-color-primary-light-9);color:var(--el-color-primary)}.table-filter-List ul li.active{color:var(--el-color-primary);font-weight:600}.table-filter-tag-popper{max-height:400px;overflow:auto;padding:0!important;width:250px!important}.table-filter-tag-popper .select-list .item{line-height:18px;cursor:pointer;padding:6px 10px;font-size:12px}.table-filter-tag-popper .select-list .item:hover{background-color:var(--el-fill-color-light)}.table-filter-tag-popper .select-list .item.active{color:var(--el-color-primary);font-weight:700}
@@ -1,14 +1,16 @@
1
- import { ref, App, unref } from "vue"
2
- const globalConfig = ref()
1
+ import { ref, App, unref, Ref } from "vue"
2
+ const globalConfig: Ref<GlobalConfig> = ref({} as GlobalConfig)
3
3
  export function useGlobalConfig() {
4
4
  return globalConfig
5
5
  }
6
6
  export const provideGlobalConfig = (config: any, app?: App, global = false) => {
7
7
  const oldConfig = useGlobalConfig()
8
- const cfg = unref(config)
8
+ const cfg = (config && unref(config)) || {}
9
9
  if (!oldConfig?.value) return cfg
10
10
 
11
- return mergeConfig(oldConfig.value, cfg)
11
+ const a = mergeConfig(oldConfig.value, cfg)
12
+ globalConfig.value = a
13
+ return
12
14
  }
13
15
  const mergeConfig = (a: any, b: any): any => {
14
16
  const keys = [...new Set([...Object.keys(a), ...Object.keys(b)])]
@@ -18,3 +20,7 @@ const mergeConfig = (a: any, b: any): any => {
18
20
  }
19
21
  return obj
20
22
  }
23
+
24
+ export interface GlobalConfig {
25
+ size: "default" | "small" | "medium"
26
+ }