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.
- package/components/ConstantStatus/src/ConstantStatus.vue +3 -3
- package/components/CurdForm/src/components/index.ts +2 -0
- package/components/CurdForm/src/components/schema-form-time-picker.vue +30 -0
- package/components/CurdTable/src/CurdTable.vue +3 -1
- package/components/CurdTable/src/STableItem.vue +2 -1
- package/components/CurdTable/src/STableItemHeader.vue +48 -0
- package/components/CurdTable/src/STableItemHeaderTooltip.vue +35 -0
- package/components/CurdTable/src/STableMenu.vue +3 -1
- package/components/CurdTable/src/types.ts +6 -0
- package/components/DetailInfo/src/DetailInfo.vue +11 -6
- package/components/DetailInfo/src/DetailInfoTooltip.vue +36 -0
- package/components/DetailInfo/src/types.ts +1 -0
- package/components/TableFilter/src/TableFilter.vue +4 -4
- package/components/TableFilter/src/components/containers/BaseCascader.vue +196 -0
- package/components/TableFilter/src/components/containers/BaseSelect.vue +1 -59
- package/components/TableFilter/src/components/containers/TagsSelect.vue +3 -3
- package/components/TableFilter/src/components/containers/index.ts +2 -0
- package/index.ts +2 -0
- package/package.json +2 -2
- package/theme-chalk/detail-info.css +1 -1
- package/theme-chalk/index.css +1 -1
- package/theme-chalk/table-filter.css +1 -1
- package/utils/hooks/useGlobalConfig.ts +10 -4
|
@@ -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
|
|
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
|
-
<
|
|
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
|
-
<
|
|
17
|
-
<
|
|
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) }">
|
|
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
|
-
</
|
|
34
|
-
</
|
|
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
|
-
|
|
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>
|
|
@@ -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"
|
|
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
|
|
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.
|
|
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": "
|
|
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 .
|
|
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)}
|
package/theme-chalk/index.css
CHANGED
|
@@ -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
|
-
|
|
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
|
+
}
|