vue-super-crud 1.7.1
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/.browserslistrc +3 -0
- package/.versionrc.json +36 -0
- package/CHANGELOG.md +232 -0
- package/LICENSE +201 -0
- package/README.md +46 -0
- package/babel.config.js +12 -0
- package/build/alias.js +10 -0
- package/build/build.js +52 -0
- package/build/config.js +70 -0
- package/deploy.bat +14 -0
- package/docs/.vuepress/components/button/base.vue +88 -0
- package/docs/.vuepress/components/common/code-format.vue +331 -0
- package/docs/.vuepress/components/commonConfig/presetCodeTemplate/base.vue +68 -0
- package/docs/.vuepress/components/commonConfig/presetCodeTemplate/customParams.vue +73 -0
- package/docs/.vuepress/components/commonConfig/renderType/component.vue +160 -0
- package/docs/.vuepress/components/commonConfig/renderType/formatter.vue +49 -0
- package/docs/.vuepress/components/commonConfig/renderType/render.vue +91 -0
- package/docs/.vuepress/components/commonConfig/renderType/slot.vue +63 -0
- package/docs/.vuepress/components/crud/baseUse/baseUse.vue +98 -0
- package/docs/.vuepress/components/crud/baseUse/columnAction.vue +72 -0
- package/docs/.vuepress/components/crud/baseUse/columnWidth.vue +107 -0
- package/docs/.vuepress/components/crud/baseUse/handleRow.vue +65 -0
- package/docs/.vuepress/components/crud/baseUse/height.vue +82 -0
- package/docs/.vuepress/components/crud/baseUse/index.vue +54 -0
- package/docs/.vuepress/components/crud/baseUse/loading.vue +70 -0
- package/docs/.vuepress/components/crud/baseUse/pagination.vue +108 -0
- package/docs/.vuepress/components/crud/baseUse/selection.vue +114 -0
- package/docs/.vuepress/components/crud/baseUse/summaryMethod.vue +118 -0
- package/docs/.vuepress/components/crud/baseUse/title.vue +54 -0
- package/docs/.vuepress/components/crud/baseUse/toolbar.vue +69 -0
- package/docs/.vuepress/components/crud/buttons/common.vue +115 -0
- package/docs/.vuepress/components/crud/buttons/fast.vue +82 -0
- package/docs/.vuepress/components/crud/contextMenu/base.vue +72 -0
- package/docs/.vuepress/components/crud/copy.vue +52 -0
- package/docs/.vuepress/components/crud/crudEvents/api.vue +157 -0
- package/docs/.vuepress/components/crud/crudEvents/deleteTip.vue +93 -0
- package/docs/.vuepress/components/crud/crudEvents/events.vue +188 -0
- package/docs/.vuepress/components/crud/dataSort/base.vue +142 -0
- package/docs/.vuepress/components/crud/genDynamicColumns/base.vue +53 -0
- package/docs/.vuepress/components/crud/genDynamicColumns/dynamicAndFixed.vue +111 -0
- package/docs/.vuepress/components/crud/genDynamicColumns/treeDynamic.vue +68 -0
- package/docs/.vuepress/components/crud/handleBar/handleRow.vue +65 -0
- package/docs/.vuepress/components/crud/handleBar/toolbar.vue +69 -0
- package/docs/.vuepress/components/crud/renderType/1.vue +57 -0
- package/docs/.vuepress/components/crud/renderType/2.vue +63 -0
- package/docs/.vuepress/components/crud/renderType/3.vue +105 -0
- package/docs/.vuepress/components/crud/renderType/5.vue +91 -0
- package/docs/.vuepress/components/crud/search/1.vue +90 -0
- package/docs/.vuepress/components/crud/search/2.vue +78 -0
- package/docs/.vuepress/components/crud/search/3.vue +107 -0
- package/docs/.vuepress/components/crud/search/base.vue +123 -0
- package/docs/.vuepress/components/crud/search/localSearch.vue +124 -0
- package/docs/.vuepress/components/crud/search/special.vue +148 -0
- package/docs/.vuepress/components/crud/selection/events.vue +47 -0
- package/docs/.vuepress/components/crud/selection/pagination.vue +94 -0
- package/docs/.vuepress/components/crud/selection/singleSelection.vue +64 -0
- package/docs/.vuepress/components/crud/span/base.vue +69 -0
- package/docs/.vuepress/components/crud/span/special.vue +75 -0
- package/docs/.vuepress/components/crud/summary/base.vue +99 -0
- package/docs/.vuepress/components/crud/tableEdit/addDeleteBtn.vue +174 -0
- package/docs/.vuepress/components/crud/tableEdit/cellEdit.vue +194 -0
- package/docs/.vuepress/components/crud/tableEdit/controlEdit.vue +219 -0
- package/docs/.vuepress/components/crud/tableEdit/dialog.vue +172 -0
- package/docs/.vuepress/components/crud/tableEdit/free.vue +88 -0
- package/docs/.vuepress/components/crud/tableEdit/freeColumn.vue +82 -0
- package/docs/.vuepress/components/crud/tableEdit/methods.vue +154 -0
- package/docs/.vuepress/components/crud/tableEdit/rowAction.vue +107 -0
- package/docs/.vuepress/components/crud/tableEdit/rowBatch.vue +116 -0
- package/docs/.vuepress/components/crud/tableEdit/rowClick.vue +98 -0
- package/docs/.vuepress/components/crud/validate/base.vue +122 -0
- package/docs/.vuepress/components/crud/validate/custom.vue +82 -0
- package/docs/.vuepress/components/crud/validate/regulars.vue +88 -0
- package/docs/.vuepress/components/crud/validate/relation.vue +91 -0
- package/docs/.vuepress/components/crud/validate/tree.vue +82 -0
- package/docs/.vuepress/components/dialog/baseUse/base.vue +92 -0
- package/docs/.vuepress/components/dialog/baseUse/beforeConfirm.vue +78 -0
- package/docs/.vuepress/components/dialog/baseUse/control.vue +79 -0
- package/docs/.vuepress/components/dialog/baseUse/drawer.vue +59 -0
- package/docs/.vuepress/components/dialog/baseUse/footer.vue +87 -0
- package/docs/.vuepress/components/dialog/baseUse/insertSlot.vue +79 -0
- package/docs/.vuepress/components/dict/DictLinkage.vue +91 -0
- package/docs/.vuepress/components/dict/baseUse.vue +72 -0
- package/docs/.vuepress/components/dict/component.vue +82 -0
- package/docs/.vuepress/components/dict/localDict.vue +68 -0
- package/docs/.vuepress/components/form/baseUse/base.vue +48 -0
- package/docs/.vuepress/components/form/baseUse/dataFormat.vue +92 -0
- package/docs/.vuepress/components/form/baseUse/deep.vue +57 -0
- package/docs/.vuepress/components/form/baseUse/gridLayout.vue +47 -0
- package/docs/.vuepress/components/form/baseUse/group.vue +66 -0
- package/docs/.vuepress/components/form/baseUse/hidden.vue +40 -0
- package/docs/.vuepress/components/form/baseUse/inlineLayout.vue +48 -0
- package/docs/.vuepress/components/form/baseUse/label.vue +51 -0
- package/docs/.vuepress/components/form/baseUse/tooltip.vue +40 -0
- package/docs/.vuepress/components/form/baseUse/validate.vue +52 -0
- package/docs/.vuepress/components/form/detail/base.vue +78 -0
- package/docs/.vuepress/components/form/detail/border.vue +90 -0
- package/docs/.vuepress/components/form/detail/singleDetail.vue +72 -0
- package/docs/.vuepress/components/formatData/baseUse.vue +131 -0
- package/docs/.vuepress/components/mock/index.js +347 -0
- package/docs/.vuepress/components/mockData/custom.vue +69 -0
- package/docs/.vuepress/components/mockData/example.vue +290 -0
- package/docs/.vuepress/components/positionSlot/base.vue +24 -0
- package/docs/.vuepress/components/positionSlot/form.vue +71 -0
- package/docs/.vuepress/components/positionSlot/table.vue +85 -0
- package/docs/.vuepress/components/tabs/base.vue +57 -0
- package/docs/.vuepress/components/temp.js +195 -0
- package/docs/.vuepress/config.js +146 -0
- package/docs/.vuepress/enhanceApp.js +142 -0
- package/docs/.vuepress/public/favicon.ico +0 -0
- package/docs/.vuepress/public/super.png +0 -0
- package/docs/.vuepress/styles/index.styl +25 -0
- package/docs/.vuepress/styles/palette.styl +6 -0
- package/docs/README.md +14 -0
- package/docs/guide/button/base.md +31 -0
- package/docs/guide/commonConfig/jsx.md +166 -0
- package/docs/guide/commonConfig/presetCodeTemplate.md +68 -0
- package/docs/guide/commonConfig/renderType.md +181 -0
- package/docs/guide/crud/baseUse.md +120 -0
- package/docs/guide/crud/buttons.md +18 -0
- package/docs/guide/crud/config.md +217 -0
- package/docs/guide/crud/contextMenu.md +18 -0
- package/docs/guide/crud/dataSort.md +66 -0
- package/docs/guide/crud/genDynamicColumns.md +145 -0
- package/docs/guide/crud/handleBar.md +26 -0
- package/docs/guide/crud/renderType.md +4 -0
- package/docs/guide/crud/search.md +150 -0
- package/docs/guide/crud/selection.md +73 -0
- package/docs/guide/crud/span.md +98 -0
- package/docs/guide/crud/summary.md +167 -0
- package/docs/guide/crud/tableEdit.md +377 -0
- package/docs/guide/crud/validate.md +158 -0
- package/docs/guide/dialog/baseUse.md +81 -0
- package/docs/guide/dict/baseUse.md +174 -0
- package/docs/guide/dict/component.md +88 -0
- package/docs/guide/dict/config.md +44 -0
- package/docs/guide/form/baseUse.md +142 -0
- package/docs/guide/form/detail.md +38 -0
- package/docs/guide/formatData/baseUse.md +98 -0
- package/docs/guide/formatData/config.md +142 -0
- package/docs/guide/mockData/base.md +26 -0
- package/docs/guide/positionSlot/base.md +41 -0
- package/docs/guide/question/base.md +44 -0
- package/docs/guide/start/base.md +30 -0
- package/docs/guide/tabs/base.md +63 -0
- package/examples/App.vue +52 -0
- package/examples/Layout/components/AppMain.vue +40 -0
- package/examples/Layout/components/Item.vue +29 -0
- package/examples/Layout/components/Link.vue +44 -0
- package/examples/Layout/components/SidebarItem.vue +93 -0
- package/examples/Layout/index.vue +69 -0
- package/examples/assets/logo.png +0 -0
- package/examples/favicon.ico +0 -0
- package/examples/index.html +18 -0
- package/examples/main.js +54 -0
- package/examples/router/index.js +140 -0
- package/examples/store/index.js +0 -0
- package/examples/styles/index.scss +63 -0
- package/examples/styles/sidebar.scss +226 -0
- package/examples/styles/transition.scss +48 -0
- package/examples/styles/variables.scss +25 -0
- package/examples/views/crud/base.vue +68 -0
- package/examples/views/crud/handleRow.vue +84 -0
- package/examples/views/crud/search.vue +116 -0
- package/examples/views/dashboard/index.vue +244 -0
- package/examples/views/dashboard/index1.vue +234 -0
- package/examples/views/dashboard/test.vue +9 -0
- package/examples/views/formTest/index.vue +168 -0
- package/examples/views/nested/menu1/index.vue +7 -0
- package/examples/views/nested/menu1/menu1-1/index.vue +7 -0
- package/examples/views/nested/menu1/menu1-2/index.vue +7 -0
- package/examples/views/nested/menu1/menu1-2/menu1-2-1/index.vue +5 -0
- package/examples/views/nested/menu1/menu1-2/menu1-2-2/index.vue +5 -0
- package/examples/views/nested/menu1/menu1-3/index.vue +5 -0
- package/examples/views/nested/menu2/index.vue +5 -0
- package/gulpfile.js +84 -0
- package/lib/index.css +1 -0
- package/lib/super-crud.min.js +15 -0
- package/package.json +66 -0
- package/packages/button/index.vue +189 -0
- package/packages/core/components/comp.vue +223 -0
- package/packages/core/components/position.vue +135 -0
- package/packages/core/components/render.vue +460 -0
- package/packages/core/configManager.js +302 -0
- package/packages/core/create.js +8 -0
- package/packages/core/defaultRender.js +64 -0
- package/packages/core/dict/global.js +10 -0
- package/packages/core/dict/index.js +432 -0
- package/packages/core/dict/mixin.js +94 -0
- package/packages/core/event.js +60 -0
- package/packages/core/index.js +6 -0
- package/packages/core/init.js +122 -0
- package/packages/core/mock/genConfig.js +228 -0
- package/packages/core/mock/genData.js +422 -0
- package/packages/core/mock/index.js +4 -0
- package/packages/core/rules.js +111 -0
- package/packages/crud/column.vue +205 -0
- package/packages/crud/columnAction.vue +207 -0
- package/packages/crud/columnCell.vue +146 -0
- package/packages/crud/defaultColumn.vue +130 -0
- package/packages/crud/drawerColumn.vue +225 -0
- package/packages/crud/form.vue +69 -0
- package/packages/crud/index.vue +564 -0
- package/packages/crud/menuBar.vue +298 -0
- package/packages/crud/mixins/cacheHandler.js +36 -0
- package/packages/crud/mixins/calcColumnWidth.js +79 -0
- package/packages/crud/mixins/calcHeight.js +105 -0
- package/packages/crud/mixins/columnHandler.js +128 -0
- package/packages/crud/mixins/contextMenu.js +98 -0
- package/packages/crud/mixins/dataProcessor.js +202 -0
- package/packages/crud/mixins/dialog.js +109 -0
- package/packages/crud/mixins/excelHandler.js +150 -0
- package/packages/crud/mixins/exposeMethods.js +107 -0
- package/packages/crud/mixins/generateDynamicColumns.js +250 -0
- package/packages/crud/mixins/props.js +38 -0
- package/packages/crud/mixins/searchHandler.js +151 -0
- package/packages/crud/mixins/select.js +359 -0
- package/packages/crud/mixins/spanMethod.js +288 -0
- package/packages/crud/mixins/summary.js +177 -0
- package/packages/crud/mixins/tableEdit.js +547 -0
- package/packages/crud/mixins/validate.js +219 -0
- package/packages/crud/pagination.vue +110 -0
- package/packages/crud/search.vue +119 -0
- package/packages/crud/searchHeader.vue +231 -0
- package/packages/crud/selectBanner.vue +138 -0
- package/packages/crud/utils/EditState.js +319 -0
- package/packages/crud/utils/excelExport.js +112 -0
- package/packages/crud/utils/excelImport.js +112 -0
- package/packages/crud/utils/index.js +98 -0
- package/packages/dialog/dialog.js +233 -0
- package/packages/dialog/dialog.vue +15 -0
- package/packages/dialog/index.js +22 -0
- package/packages/dict/cascadeFormat.vue +179 -0
- package/packages/dict/dateFormat.vue +40 -0
- package/packages/dict/form/cascade.vue +61 -0
- package/packages/dict/form/checkbox.vue +90 -0
- package/packages/dict/form/extendMethod.js +22 -0
- package/packages/dict/form/input-base.js +31 -0
- package/packages/dict/form/input.js +20 -0
- package/packages/dict/form/radio.vue +69 -0
- package/packages/dict/form/select.vue +118 -0
- package/packages/dict/form/switch.vue +75 -0
- package/packages/dict/valueFormat.vue +188 -0
- package/packages/directive/dialog/drag.js +86 -0
- package/packages/directive/dialog/dragSize.js +42 -0
- package/packages/directive/index.js +9 -0
- package/packages/directive/insertSlot.js +10 -0
- package/packages/form/contextMenu.js +192 -0
- package/packages/form/draftDrawer.vue +391 -0
- package/packages/form/formAction.vue +97 -0
- package/packages/form/formItem.vue +259 -0
- package/packages/form/index.vue +451 -0
- package/packages/form/props.js +15 -0
- package/packages/grid/cell.vue +65 -0
- package/packages/grid/index.vue +130 -0
- package/packages/group/index.vue +96 -0
- package/packages/tabs/index.vue +290 -0
- package/packages/tooltip/index.js +9 -0
- package/packages/tooltip/tooltip.vue +32 -0
- package/packages/tooltip/tooltipComponent.js +38 -0
- package/packages/verifyInput/index.vue +131 -0
- package/src/config/common.js +88 -0
- package/src/config/crud.js +567 -0
- package/src/config/dialog.js +87 -0
- package/src/config/form.js +215 -0
- package/src/config/index.js +9 -0
- package/src/constants/index.js +72 -0
- package/src/index.js +67 -0
- package/src/template/btn/crud.js +6 -0
- package/src/template/btn/dialog.js +1 -0
- package/src/template/btn/form.js +3 -0
- package/src/template/btn/index.js +9 -0
- package/src/template/dicts.js +1 -0
- package/src/template/formatData.js +507 -0
- package/src/template/index.js +19 -0
- package/src/template/render.js +124 -0
- package/src/template/rules.js +53 -0
- package/src/utils/bem.js +49 -0
- package/src/utils/cache.js +77 -0
- package/src/utils/getType.js +34 -0
- package/src/utils/index.js +212 -0
- package/src/utils/mergeTemp.js +124 -0
- package/styles/button.scss +3 -0
- package/styles/crud.scss +425 -0
- package/styles/dialog.scss +95 -0
- package/styles/form.scss +532 -0
- package/styles/group.scss +78 -0
- package/styles/index.scss +94 -0
- package/styles/tabs.scss +139 -0
- package/styles/verifyInput.scss +56 -0
- package/vue-jsx-sync.js +90 -0
- package/vue.config.js +54 -0
@@ -0,0 +1,168 @@
|
|
1
|
+
<template>
|
2
|
+
<div>
|
3
|
+
<sc-form v-model="formData" ref="form" :options="options"> </sc-form>
|
4
|
+
<el-button type="primary" size="default" @click="openDialog(false)"
|
5
|
+
>Dialog</el-button
|
6
|
+
>
|
7
|
+
<el-button type="primary" size="default" @click="openDialog(true)"
|
8
|
+
>Drawer</el-button
|
9
|
+
>
|
10
|
+
<div>字典数据:{{ $sc_dicts.data["sys_notice_status"] }}</div>
|
11
|
+
</div>
|
12
|
+
</template>
|
13
|
+
|
14
|
+
<script>
|
15
|
+
export default {
|
16
|
+
data() {
|
17
|
+
return {
|
18
|
+
checkList: [],
|
19
|
+
formData: {
|
20
|
+
checkList1: ["张三", "李四"],
|
21
|
+
dateStart: "2022-01-03",
|
22
|
+
dateEnd: "2022-01-25",
|
23
|
+
},
|
24
|
+
dictData: [
|
25
|
+
{
|
26
|
+
value: "张三",
|
27
|
+
label: "1111",
|
28
|
+
},
|
29
|
+
{
|
30
|
+
value: "李四",
|
31
|
+
label: "2222",
|
32
|
+
},
|
33
|
+
],
|
34
|
+
a: {
|
35
|
+
value: "张三",
|
36
|
+
label: "1111",
|
37
|
+
},
|
38
|
+
};
|
39
|
+
},
|
40
|
+
mounted() {
|
41
|
+
this.$sc_dicts.get(["sys_status", "sys_notice_status", "listAll"]);
|
42
|
+
|
43
|
+
setTimeout(() => {
|
44
|
+
console.log(this.$sc_dicts.getMap("listAll"));
|
45
|
+
}, 1000);
|
46
|
+
},
|
47
|
+
computed: {
|
48
|
+
options() {
|
49
|
+
return {
|
50
|
+
// detail: true,
|
51
|
+
action: {
|
52
|
+
search: {},
|
53
|
+
reset: {},
|
54
|
+
},
|
55
|
+
renderColumns: [
|
56
|
+
{
|
57
|
+
label: "11111",
|
58
|
+
icon: "el-icon-user",
|
59
|
+
collapse: false,
|
60
|
+
children: [
|
61
|
+
{
|
62
|
+
label: "年龄",
|
63
|
+
prop: "name",
|
64
|
+
labelPosition: "top",
|
65
|
+
comp: (scope) => {
|
66
|
+
return {
|
67
|
+
name: "el-select",
|
68
|
+
clearable: true,
|
69
|
+
on: {
|
70
|
+
change(v, a, vm) {
|
71
|
+
console.log(v, a, vm, scope);
|
72
|
+
},
|
73
|
+
},
|
74
|
+
children: (this.$sc_dicts.data["sys_notice_status"] || []).map(
|
75
|
+
(i) => ({
|
76
|
+
name: "el-option",
|
77
|
+
label: i.label,
|
78
|
+
value: i.value,
|
79
|
+
})
|
80
|
+
),
|
81
|
+
};
|
82
|
+
},
|
83
|
+
rules: {
|
84
|
+
required: {},
|
85
|
+
},
|
86
|
+
},
|
87
|
+
{
|
88
|
+
label: "日期",
|
89
|
+
prop: "dateStart-dateEnd",
|
90
|
+
formatTemp: {
|
91
|
+
inner: (value, key, inner, outer) => {
|
92
|
+
return value;
|
93
|
+
},
|
94
|
+
outer: (value, key, outer, inner) => {
|
95
|
+
return value;
|
96
|
+
},
|
97
|
+
},
|
98
|
+
render: (h, { form }) => {
|
99
|
+
return (
|
100
|
+
<el-date-picker
|
101
|
+
v-model={form["dateStart-dateEnd"]}
|
102
|
+
value-format="yyyy-MM-dd"
|
103
|
+
type="daterange"
|
104
|
+
range-separator="至"
|
105
|
+
start-placeholder="开始日期"
|
106
|
+
end-placeholder="结束日期"
|
107
|
+
></el-date-picker>
|
108
|
+
);
|
109
|
+
},
|
110
|
+
},
|
111
|
+
],
|
112
|
+
},
|
113
|
+
{
|
114
|
+
label: "11111",
|
115
|
+
children: [
|
116
|
+
{
|
117
|
+
label: "年龄",
|
118
|
+
prop: "checkList",
|
119
|
+
rules: {
|
120
|
+
required: {},
|
121
|
+
},
|
122
|
+
formatTemp: "str2array",
|
123
|
+
comp: (scope) => {
|
124
|
+
return {
|
125
|
+
name: "el-checkbox-group",
|
126
|
+
children: this.dictData.map((i) => ({
|
127
|
+
name: "el-checkbox",
|
128
|
+
label: i.value,
|
129
|
+
children: i.label,
|
130
|
+
})),
|
131
|
+
};
|
132
|
+
},
|
133
|
+
},
|
134
|
+
],
|
135
|
+
},
|
136
|
+
],
|
137
|
+
};
|
138
|
+
},
|
139
|
+
},
|
140
|
+
methods: {
|
141
|
+
openDialog(drawer) {
|
142
|
+
const dialog = this.$dialog({
|
143
|
+
drawer,
|
144
|
+
presetType: "success-msg",
|
145
|
+
// class: "1231231",
|
146
|
+
// title: "测试",
|
147
|
+
// width: "1000px",
|
148
|
+
// cache: true,
|
149
|
+
// comp: {
|
150
|
+
// name: "div",
|
151
|
+
// children: "12321312",
|
152
|
+
// },
|
153
|
+
// render: () => {
|
154
|
+
// return <div ref="test">23423432</div>;
|
155
|
+
// },
|
156
|
+
beforeClose: (done, val) => {
|
157
|
+
if (val === "cancel") {
|
158
|
+
done();
|
159
|
+
}
|
160
|
+
},
|
161
|
+
});
|
162
|
+
dialog.show().then((res) => {});
|
163
|
+
},
|
164
|
+
},
|
165
|
+
};
|
166
|
+
</script>
|
167
|
+
|
168
|
+
<style lang="scss" scoped></style>
|
package/gulpfile.js
ADDED
@@ -0,0 +1,84 @@
|
|
1
|
+
const gulp = require("gulp");
|
2
|
+
const sass = require("gulp-sass")(require("sass"));
|
3
|
+
var autoprefixer = require("gulp-autoprefixer");
|
4
|
+
var cssmin = require("gulp-cssmin");
|
5
|
+
const webpack = require("webpack");
|
6
|
+
const webpackConf = require("./build/build.js");
|
7
|
+
|
8
|
+
// 构建webpack配置
|
9
|
+
gulp.task("webpack", async function () {
|
10
|
+
try {
|
11
|
+
const stats = await new Promise((resolve, reject) => {
|
12
|
+
webpack(webpackConf, (err, stats) => {
|
13
|
+
if (err) {
|
14
|
+
reject(err);
|
15
|
+
return;
|
16
|
+
}
|
17
|
+
resolve(stats);
|
18
|
+
});
|
19
|
+
});
|
20
|
+
|
21
|
+
// 处理编译过程中的错误和警告
|
22
|
+
const info = stats.toJson();
|
23
|
+
|
24
|
+
if (stats.hasErrors()) {
|
25
|
+
console.error("\x1b[31m%s\x1b[0m", "打包失败!"); // 红色文字
|
26
|
+
console.error(info.errors);
|
27
|
+
throw new Error("Webpack 编译失败");
|
28
|
+
}
|
29
|
+
|
30
|
+
if (stats.hasWarnings()) {
|
31
|
+
console.warn("\x1b[33m%s\x1b[0m", "打包警告:"); // 黄色文字
|
32
|
+
console.warn(info.warnings);
|
33
|
+
}
|
34
|
+
|
35
|
+
console.log("\x1b[32m%s\x1b[0m", "打包成功!"); // 绿色文字
|
36
|
+
} catch (error) {
|
37
|
+
console.error("\x1b[31m%s\x1b[0m", "打包过程发生错误:"); // 红色文字
|
38
|
+
console.error(error);
|
39
|
+
throw error; // 抛出错误以中断 gulp 任务
|
40
|
+
}
|
41
|
+
});
|
42
|
+
|
43
|
+
// 处理样式的配置
|
44
|
+
gulp.task("compile", function () {
|
45
|
+
return gulp
|
46
|
+
.src("./styles/index.scss")
|
47
|
+
.pipe(sass())
|
48
|
+
.pipe(
|
49
|
+
autoprefixer({
|
50
|
+
browsers: ["ie > 9", "last 2 versions"],
|
51
|
+
cascade: false,
|
52
|
+
})
|
53
|
+
)
|
54
|
+
.pipe(cssmin())
|
55
|
+
.pipe(gulp.dest("./lib/"));
|
56
|
+
});
|
57
|
+
|
58
|
+
// 打包文件
|
59
|
+
gulp.task("build", gulp.series(["compile", "webpack"]));
|
60
|
+
|
61
|
+
function debounce(func, wait) {
|
62
|
+
let timeout;
|
63
|
+
|
64
|
+
return function () {
|
65
|
+
let context = this;
|
66
|
+
let args = arguments;
|
67
|
+
|
68
|
+
clearTimeout(timeout);
|
69
|
+
timeout = setTimeout(function () {
|
70
|
+
func.apply(context, args);
|
71
|
+
}, wait);
|
72
|
+
};
|
73
|
+
}
|
74
|
+
|
75
|
+
// 监听文件变化
|
76
|
+
gulp.task("listen", async function () {
|
77
|
+
gulp.watch(["./styles/**"], debounce(gulp.series(["compile"]), 2000));
|
78
|
+
gulp.watch(
|
79
|
+
["./src/**", "./packages/**"],
|
80
|
+
debounce(gulp.series(["webpack"]), 2000)
|
81
|
+
);
|
82
|
+
});
|
83
|
+
|
84
|
+
gulp.task("watch", gulp.series(["compile", "webpack", "listen"]));
|
package/lib/index.css
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
.sc-crud .sc-crud-cell .el-form-item__content>.el-input-number .el-input .el-input__inner,.sc-crud .sc-crud-cell>.el-input-number .el-input .el-input__inner,.sc-crud td .cell>.el-input-number .el-input .el-input__inner,.sc-crud-search-header>.el-input-number .el-input .el-input__inner,.sc-form .el-form-item .el-input-number .el-input .el-input__inner{text-align:left}.sc-crud .el-table thead th,.sc-crud .el-table thead.is-group th{background-color:var(--background-color-base)}.sc-crud .el-table th.el-table__cell.is-sortable{cursor:auto}.sc-crud__maximize{position:fixed;top:0;left:0;overflow:auto;width:100%!important;height:100%!important;background-color:var(--color-white);z-index:1001}.sc-crud__handleRow,.sc-crud__toolbar{display:-webkit-box;display:-ms-flexbox;display:flex}.sc-crud__is-auto-height{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;height:100%;overflow:hidden}.sc-crud__is-auto-height .height--form{-webkit-box-flex:1;-ms-flex:1;flex:1;height:100%;overflow:hidden}.sc-crud__is-change-show-search .el-table__body-wrapper{overflow:hidden}.sc-crud .sc-crud-search{display:grid;overflow:hidden;-webkit-transition:all .3s;transition:all .3s;grid-template-rows:0fr}.sc-crud .sc-crud-search>.el-form{min-height:0}.sc-crud .sc-crud-search--show-search{margin-top:10px;grid-template-rows:1fr}.sc-crud .sc-crud-menuBar{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.sc-crud .sc-crud-menuBar__handleRow:not(:empty),.sc-crud .sc-crud-menuBar__toolbar:not(:empty){margin-bottom:10px}.sc-crud .sc-crud-column--header{display:inline-block}.sc-crud .sc-crud-column--header .search-btn{cursor:pointer;margin-left:5px}.sc-crud .sc-crud-column--header button:not(.el-button--primary){background-color:var(--background-color-base)}.sc-crud .el-table .is-required{position:relative}.sc-crud .el-table .is-required::before{position:absolute;top:0;left:4px;content:"*";color:var(--color-danger);margin-right:4px}.sc-crud .edit-cell .cell{padding:0!important}.sc-crud .edit-cell input{border:0;background-color:transparent}.sc-crud .edit-cell.error-badge:before,.sc-crud .edit-cell:before{top:-5px;left:-5px;border-width:5px;border-style:solid;position:absolute}.sc-crud .edit-cell .el-input__inner{padding:15px}.sc-crud .edit-cell .el-input__prefix{left:-5px}.sc-crud .edit-cell .el-input__prefix .el-icon-date:before,.sc-crud .edit-cell .el-input__prefix .el-icon-time:before{display:none}.sc-crud .edit-cell .el-input__suffix{right:-5px}.sc-crud .edit-cell:before{content:"";border-color:transparent var(--color-primary) transparent transparent;-webkit-transform:rotate(45deg);transform:rotate(45deg)}.sc-crud .edit-cell.error-badge:before{content:"";border-color:transparent var(--color-danger) transparent transparent;-webkit-transform:rotate(45deg);transform:rotate(45deg)}.sc-crud .edit-cell.error-badge{background:#fee6e6!important}.sc-crud .edit-cell.error-badge .el-input__inner::-webkit-input-placeholder{color:var(--color-danger)!important}.sc-crud .edit-cell.error-badge .el-input__inner::-moz-placeholder{color:var(--color-danger)!important}.sc-crud .edit-cell.error-badge .el-input__inner::-ms-input-placeholder{color:var(--color-danger)!important}.sc-crud .edit-cell.error-badge .el-input__inner::placeholder{color:var(--color-danger)!important}.sc-crud .sc-crud-cell__edit--active{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%}.sc-crud .sc-crud-cell__edit--active .save-icon{-ms-flex-negative:0;flex-shrink:0;width:51px;margin-left:5px}.sc-crud .custom-cell .cell,.sc-crud__add-button{display:-webkit-box;display:-ms-flexbox;-webkit-box-align:center}.sc-crud .sc-crud-cell__edit{position:relative}.sc-crud .sc-crud-cell__edit .content{-webkit-transition:all .3s;transition:all .3s}.sc-crud .sc-crud-cell__edit--hover:hover .content{opacity:0}.sc-crud .custom-cell .cell{display:flex;-ms-flex-align:center;align-items:center;width:auto!important}.sc-crud .sc-crud-cell .el-form-item__content>.el-cascader,.sc-crud .sc-crud-cell .el-form-item__content>.el-date-editor,.sc-crud .sc-crud-cell .el-form-item__content>.el-input-number,.sc-crud .sc-crud-cell .el-form-item__content>.el-select,.sc-crud .sc-crud-cell .el-form-item__content>.el-textarea,.sc-crud .sc-crud-cell>.el-cascader,.sc-crud .sc-crud-cell>.el-date-editor,.sc-crud .sc-crud-cell>.el-input-number,.sc-crud .sc-crud-cell>.el-select,.sc-crud .sc-crud-cell>.el-textarea,.sc-crud td .cell>.el-cascader,.sc-crud td .cell>.el-date-editor,.sc-crud td .cell>.el-input-number,.sc-crud td .cell>.el-select,.sc-crud td .cell>.el-textarea,.sc-crud-search-header>.el-cascader,.sc-crud-search-header>.el-date-editor,.sc-crud-search-header>.el-input-number,.sc-crud-search-header>.el-select,.sc-crud-search-header>.el-textarea{width:100%!important}.sc-crud .cell>.el-form-item{margin-bottom:0}.sc-crud .sc-crud-action-column{white-space:nowrap}.sc-crud .sc-crud-action-column .el-button+.el-dropdown,.sc-crud .sc-crud-action-column .el-dropdown+.el-button{margin-left:10px}.sc-crud .sc-crud-pagination{padding:11px 0;background-color:var(--color-white)}.sc-crud__add-button{margin-top:15px;font-size:14px;height:32px;background:var(--color-white);border:1px dashed var(--color-primary);border-radius:4px;display:flex;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;color:var(--color-primary);cursor:pointer;-webkit-transition:border-style .5s;transition:border-style .5s}.sc-crud .sc-crud-select-banner,.sc-crud__add-button:active{background-color:var(--color-primary-light-9)}.sc-crud__add-button .el-icon-plus{margin-right:10px}.sc-crud__add-button:hover{border-style:solid}.sc-crud .sc-crud-cell .el-form-item__content>.el-input-number .el-input,.sc-crud .sc-crud-cell>.el-input-number .el-input,.sc-crud td .cell>.el-input-number .el-input{width:inherit}.sc-crud .sc-crud-cell--center .el-input__inner{text-align:center}.sc-crud .sc-crud-select-banner{border:1px solid var(--color-primary-light-7);padding:8px 16px;margin-bottom:12px;border-radius:4px;font-size:13px}.sc-crud .sc-crud-select-banner__banner-content{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:var(--color-text-regular)}.sc-crud .sc-crud-select-banner__selected-items,.sc-crud .sc-crud-select-banner__selected-preview{margin:0 8px;color:var(--color-primary)}.sc-crud .sc-crud-select-banner__remove-tag{margin-left:4px;cursor:pointer}.sc-crud .sc-crud-select-banner__remove-tag.el-tag{background-color:transparent;border-color:transparent;padding:0 4px}.sc-crud .sc-crud-select-banner__remove-tag.el-tag .el-tag__close{color:var(--color-primary)}.sc-crud .sc-crud-select-banner__remove-tag.el-tag .el-tag__close:hover{color:var(--color-white);background-color:var(--color-primary)}.sc-crud .sc-crud-select-banner__banner-actions{margin-left:auto;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:16px}.sc-crud .sc-crud-select-banner__banner-actions .el-button--text{padding:0;height:auto}.sc-crud-select-banner__popover{min-width:200px;max-width:300px}.sc-crud-select-banner__popover-list{max-height:200px;overflow-y:auto}.sc-crud-select-banner__popover-item{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:6px 8px;font-size:13px}.sc-crud-select-banner__popover-item:not(:last-child){border-bottom:1px solid var(--border-color-lighter)}.sc-crud-select-banner__popover-remove-tag{margin-left:4px;cursor:pointer}.sc-crud-select-banner__popover-remove-tag.el-tag{background-color:transparent;border-color:transparent;padding:0 4px}.sc-crud-select-banner__popover-remove-tag.el-tag .el-tag__close{color:var(--color-primary)}.sc-crud-select-banner__popover-remove-tag.el-tag .el-tag__close:hover{color:var(--color-white);background-color:var(--color-primary)}.sc-crud-search-header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.sc-crud-search-header>.el-input-number .el-input{width:inherit}.sc-crud__error-tip.el-tooltip__popper{-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1);border:1px solid var(--color-danger);color:var(--color-white);background-color:var(--color-danger)}.sc-crud__error-tip.el-tooltip__popper.is-light .popper__arrow,.sc-crud__error-tip.el-tooltip__popper.is-light .popper__arrow::after{border-top-color:var(--color-danger)}.sc-crud-drawer .wrapper{padding:0 10px}.sc-crud-drawer .wrapper .el-card__body{padding:10px}.sc-crud-drawer .header .title{float:right;color:var(--color-text-secondary)}.sc-crud-drawer .reset-btn{width:100%;margin-top:10px}.sc-crud-drawer .col-list{margin-top:15px}.sc-crud-drawer .col-list .col-item{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;width:100%;padding:10px 0}.sc-crud-drawer .col-list .col-item .col-item--left{max-width:calc(100% - 70px);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.sc-crud-drawer .col-list .col-item .col-item--left .el-checkbox__label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sc-crud-drawer .col-list .col-item .col-item--right{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-size:12px}.sc-group--arrow .el-collapse-item__arrow,.sc-group--header .el-collapse-item__header{display:none}.sc-crud-drawer .col-list .col-item .col-item--right .fixed-btn{padding:0}.sc-crud-drawer .col-list .col-item .col-item--right .sort-drag{cursor:move;margin-left:10px}.sc-crud-drawer .col-list .col-item .col-item--right .un-drag{cursor:no-drop;margin-left:10px}.contextmenu_menu{z-index:9999!important}.sc-group{width:100%}.sc-group .el-collapse,.sc-group .el-collapse-item__wrap{border-color:#fff}.sc-group .el-collapse-item__header{height:inherit;border:none}.sc-group .el-collapse-item__content{padding-bottom:0}.sc-group--border .el-collapse-item__header{border-bottom:1px solid #eee}.sc-group--none{margin:0!important;border:none!important}.sc-group--collapse .el-collapse-item__arrow,.sc-group--collapse .el-collapse-item__header{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important}.sc-group__item{margin-bottom:10px;background-color:#fff;border-bottom:1px solid #eee;border-radius:5px;-webkit-box-sizing:border-box;box-sizing:border-box}.sc-group__item:last-child{border-bottom:none}.sc-group__header{width:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:40px;line-height:40px;-webkit-box-sizing:border-box;box-sizing:border-box}.sc-group__icon{margin-right:8px;font-size:20px;color:rgba(0,0,0,.85)}.sc-group__title{display:-webkit-box;display:-ms-flexbox;display:flex;font-size:16px;font-weight:600;color:rgba(0,0,0,.85);margin:0}.sc-group__tag::before{content:"";width:5px;height:18px;margin-right:8px;border-radius:2px;background:var(--color-primary)}.sc-form .el-form-item,.sc-form .el-form-item .el-form-item__content .el-cascader,.sc-form .el-form-item .el-form-item__content .el-date-editor,.sc-form .el-form-item .el-form-item__content .el-select,.sc-form .el-form-item .el-form-item__content .el-textarea{width:100%}.sc-form .el-form-item .el-form-item__content .el-input-number .el-input{width:inherit}.sc-form .hidden-label .el-form-item__label{display:none!important}.sc-form .is-detail .el-input-number__decrease,.sc-form .is-detail .el-input-number__increase,.sc-form .is-detail .el-input__prefix,.sc-form .is-detail .el-input__suffix,.sc-form .is-detail.el-form-item.is-required:not(.is-no-asterisk) .el-form-item__label-wrap>.el-form-item__label:before,.sc-form .is-detail.el-form-item.is-required:not(.is-no-asterisk)>.el-form-item__label:before{display:none}.sc-form .hidden-label .el-form-item__content{margin-left:0!important}.sc-form .shrink-label .el-form-item__label{font-weight:500}.sc-form .has-form-children{margin-bottom:0!important}.sc-form .sc-form-action--center{text-align:center}.sc-form .sc-form-action--center .el-button{margin:0 5px}.sc-form .is-detail,.sc-form .is-detail .el-collapse-item__header,.sc-form .is-detail.el-form-item--medium.el-form-item,.sc-form .is-detail.el-form-item--mini.el-form-item,.sc-form .is-detail.el-form-item--small.el-form-item{margin-bottom:0}.sc-form .sc-form-action--left{text-align:left}.sc-dialog__footer--right,.sc-form .sc-form-action--right{text-align:right}.sc-form .is-detail .el-input.is-disabled .el-input__inner,.sc-form .is-detail .el-range-editor.is-disabled,.sc-form .is-detail .el-range-editor.is-disabled input,.sc-form .is-detail .el-textarea.is-disabled .el-textarea__inner{color:var(--color-text-regular);background-color:#fff;padding-left:0}.sc-form .is-detail .el-input-group__append,.sc-form .is-detail .el-input-group__prepend{background-color:transparent;border:none}.sc-form .is-detail .el-input__inner,.sc-form .is-detail .el-textarea__inner{border:none}.sc-form .is-detail .el-input__inner::-webkit-input-placeholder,.sc-form .is-detail .el-textarea__inner::-webkit-input-placeholder{color:transparent!important}.sc-form .is-detail .el-input__inner::-moz-placeholder,.sc-form .is-detail .el-textarea__inner::-moz-placeholder{color:transparent!important}.sc-form .is-detail .el-input__inner::-ms-input-placeholder,.sc-form .is-detail .el-textarea__inner::-ms-input-placeholder{color:transparent!important}.sc-form .is-detail .el-checkbox__input.is-disabled.is-checked .el-checkbox__inner{background-color:var(--color-primary);border-color:var(--color-primary)}.sc-form .is-detail .el-checkbox__input.is-disabled.is-checked .el-checkbox__inner::after{border-color:#fff}.sc-form .is-detail .el-radio__input.is-disabled.is-checked .el-radio__inner{background-color:var(--color-primary);border-color:var(--color-primary)}.sc-form .is-detail .el-radio__input.is-disabled.is-checked .el-radio__inner::after{background-color:#fff}.sc-form .is-detail .el-checkbox__input.is-disabled+span.el-checkbox__label,.sc-form .is-detail .el-radio__input.is-disabled+span.el-radio__label{color:var(--color-text-regular)}.sc-form .is-detail .el-form-item__content,.sc-form .is-detail .el-form-item__label{padding:2px 0}.sc-form .is-detail .el-form-item__label{padding-right:20px;-webkit-box-sizing:border-box;box-sizing:border-box}.sc-form .is-detail .el-tag{margin-left:0!important;margin-right:6px!important}.sc-form .is-detail .sc-crud .el-form-item__content{border:none}.sc-form .is-detail .el-form-item__content{padding-left:20px;-webkit-box-sizing:border-box;box-sizing:border-box;background-color:#fff}.sc-form--group .is-first-row:not(.is-detail){margin-top:20px}.sc-form--border .el-form{border-left:1px solid var(--border-color-lighter);-webkit-box-sizing:border-box;box-sizing:border-box}.sc-form--border .el-form .el-form-item{display:-webkit-box;display:-ms-flexbox;display:flex;border-bottom:1px solid var(--border-color-lighter);border-right:1px solid var(--border-color-lighter);margin:0;background:var(--background-color-base);-webkit-box-sizing:border-box;box-sizing:border-box;height:100%}.sc-form--border .el-form .el-form-item .el-form-item__label{width:var(--label-width);background:var(--background-color-base);float:none;padding:0 10px;line-height:35px}.sc-form--border .el-form .el-form-item .el-form-item__content{-webkit-box-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;overflow:hidden;margin-left:0!important;border-left:1px solid var(--border-color-lighter);-webkit-box-sizing:border-box;box-sizing:border-box;background-color:#fff;height:100%;padding:0 10px;line-height:30px}.sc-form--border .is-first-row{border-top:1px solid var(--border-color-lighter)}.sc-form:hover .sc-form-toolbar{opacity:1;visibility:visible}.sc-form .sc-form-toolbar{position:absolute;right:0;bottom:0;z-index:1;-webkit-box-orient:vertical;-webkit-box-direction:reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:8px;display:-webkit-box;display:-ms-flexbox;display:flex;opacity:0;visibility:hidden;-webkit-transition:opacity .3s ease,visibility .3s ease;transition:opacity .3s ease,visibility .3s ease}.sc-dialog .el-dialog,.sc-dialog .el-drawer,.sc-form .sc-form-toolbar .toolbar-items,.sc-form-draft{-webkit-box-orient:vertical;-webkit-box-direction:normal}.sc-form .sc-form-toolbar .toolbar-trigger{width:48px;height:48px;border-radius:50%;background:#409eff;color:#fff;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;cursor:pointer;-webkit-box-shadow:0 2px 8px 0 rgba(0,0,0,.1);box-shadow:0 2px 8px 0 rgba(0,0,0,.1);-webkit-transition:all .3s cubic-bezier(.4,0,.2,1);transition:all .3s cubic-bezier(.4,0,.2,1);z-index:1}.sc-form .sc-form-toolbar .toolbar-trigger i{font-size:24px;-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s}.sc-form .sc-form-toolbar .toolbar-trigger:hover{background:#66b1ff;-webkit-transform:scale(1.1);transform:scale(1.1)}.sc-form .sc-form-toolbar .toolbar-items{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;gap:12px;margin-bottom:12px;opacity:0;-webkit-transform:translateY(10px);transform:translateY(10px);visibility:hidden;-webkit-transition:all .3s cubic-bezier(.4,0,.2,1);transition:all .3s cubic-bezier(.4,0,.2,1)}.sc-form .sc-form-toolbar .toolbar-item{width:40px;height:40px;border-radius:50%;background:#fff;color:#606266;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;cursor:pointer;-webkit-box-shadow:0 2px 8px 0 rgba(0,0,0,.1);box-shadow:0 2px 8px 0 rgba(0,0,0,.1);-webkit-transition:all .3s;transition:all .3s}.sc-form .sc-form-toolbar .toolbar-item i{font-size:20px}.sc-form .sc-form-toolbar .toolbar-item:hover{background:#f5f7fa;-webkit-transform:scale(1.1);transform:scale(1.1);color:#409eff}.sc-form .sc-form-toolbar.is-expanded .toolbar-items{opacity:1;-webkit-transform:translateY(0);transform:translateY(0);visibility:visible}.sc-form .sc-form-toolbar.is-expanded .toolbar-trigger i{-webkit-transform:rotate(45deg);transform:rotate(45deg)}.sc-form .dark .sc-form-toolbar .toolbar-item{background:#363636;color:#e0e0e0}.sc-form .dark .sc-form-toolbar .toolbar-item:hover{background:#404040}.sc-form .sc-form-toolbar--default .toolbar-trigger{width:44px;height:44px}.sc-form .sc-form-toolbar--default .toolbar-trigger i{font-size:24px}.sc-form .sc-form-toolbar--default .toolbar-items{gap:12px;margin-bottom:12px}.sc-form .sc-form-toolbar--medium .toolbar-items,.sc-form .sc-form-toolbar--small .toolbar-items{gap:10px;margin-bottom:10px}.sc-form .sc-form-toolbar--default .toolbar-item{width:36px;height:36px}.sc-form .sc-form-toolbar--default .toolbar-item i{font-size:18px}.sc-form .sc-form-toolbar--medium .toolbar-trigger{width:40px;height:40px}.sc-form .sc-form-toolbar--medium .toolbar-trigger i{font-size:22px}.sc-form .sc-form-toolbar--medium .toolbar-item{width:32px;height:32px}.sc-form .sc-form-toolbar--medium .toolbar-item i{font-size:16px}.sc-form .sc-form-toolbar--small .toolbar-trigger{width:36px;height:36px}.sc-form .sc-form-toolbar--small .toolbar-trigger i{font-size:20px}.sc-form .sc-form-toolbar--small .toolbar-item{width:30px;height:30px}.sc-form .sc-form-toolbar--small .toolbar-item i{font-size:16px}.sc-form .sc-form-toolbar--mini .toolbar-trigger{width:32px;height:32px}.sc-form .sc-form-toolbar--mini .toolbar-trigger i{font-size:18px}.sc-form .sc-form-toolbar--mini .toolbar-items{gap:8px;margin-bottom:8px}.sc-form .sc-form-toolbar--mini .toolbar-item{width:28px;height:28px}.sc-form .sc-form-toolbar--mini .toolbar-item i{font-size:14px}.sc-form-draft{padding:15px;height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;background:#f5f7fa}.sc-form-draft .draft-header{padding:0 0 12px;margin-bottom:12px;border-bottom:1px solid #e4e7ed;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.sc-form-draft .draft-header__left{display:-webkit-box;display:-ms-flexbox;display:flex;gap:8px;margin-right:10px}.sc-form-draft .draft-header__right{width:200px}.sc-form-draft .draft-header__right .el-input .el-input__inner{height:32px;line-height:32px}.sc-form-draft .draft-header__right .el-input .el-input__prefix{line-height:32px}.sc-form-draft .draft-list{-webkit-box-flex:1;-ms-flex:1;flex:1;overflow-y:auto;padding:2px;margin-top:2px}.sc-form-draft .draft-list .el-empty{padding:30px 0}.sc-form-draft .draft-item{background:#fff;border-radius:6px;padding:12px 15px;margin-bottom:8px;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.05);box-shadow:0 1px 3px rgba(0,0,0,.05);-webkit-transition:all .2s ease;transition:all .2s ease;border:1px solid transparent}.sc-form-draft .draft-item__name::before,.sc-title::before{content:"";background:var(--color-primary)}.sc-form-draft .draft-item:hover{border-color:var(--color-primary);-webkit-transform:translateY(-1px);transform:translateY(-1px);-webkit-box-shadow:0 2px 8px rgba(0,0,0,.08);box-shadow:0 2px 8px rgba(0,0,0,.08)}.sc-form-draft .draft-item__header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-bottom:12px}.sc-form-draft .draft-item__name{font-size:14px;font-weight:500;color:#303133;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding-right:10px}.sc-form-draft .draft-item__name::before{display:inline-block;width:3px;height:3px;border-radius:50%;margin-right:6px}.sc-form-draft .draft-item__time{font-size:12px;color:#909399}.sc-form-draft .draft-item__footer{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;gap:12px;padding-top:10px;border-top:1px solid #f0f2f5}.sc-form-draft .draft-item__footer .el-button{padding:6px 0;font-size:12px}.sc-form-draft .draft-item__footer .el-button+.el-button{margin-left:0}.sc-form-draft .draft-item__footer .el-button:hover{color:var(--color-primary)}.sc-form-draft__preview-dialog .el-message-box__content{max-height:400px;overflow-y:auto;white-space:pre-wrap;font-family:monospace;padding:20px;background:#f8f9fb;border-radius:4px;margin:10px 0;line-height:1.6;font-size:13px;color:#444}.sc-form-draft__preview-dialog .el-message-box__header{padding-bottom:15px;border-bottom:1px solid #ebeef5}.sc-dialog{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;overflow:visible}.sc-dialog__title{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;margin-right:50px;color:#72767b}.sc-dialog__title i{color:#909399}.sc-dialog__title i+i{margin-left:10px}.sc-dialog__title i:hover{cursor:pointer;color:var(--color-primary)}.sc-dialog__footer{display:block;padding:10px 15px;-webkit-box-sizing:border-box;box-sizing:border-box;border-top:1px solid #f0f0f0;width:100%;position:absolute;left:0;bottom:0;background-color:#fff}.sc-dialog__footer--left{text-align:left}.sc-dialog__footer--center{text-align:center}.sc-dialog .has-footer{margin-bottom:61px}.sc-dialog .el-dialog{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;border-radius:4px;overflow:hidden}.sc-position .top,.sc-title{display:-ms-flexbox;display:-webkit-box}.sc-dialog .el-dialog .el-dialog__header{border-radius:4px 4px 0 0;height:50px;line-height:50px;padding:0 0 0 20px;border-bottom:1px solid #e4e7ed}.sc-dialog .el-dialog .el-dialog__header .el-dialog__headerbtn{top:17px}.sc-dialog .el-dialog .el-dialog__header .el-dialog__headerbtn .el-dialog__close{font-weight:700}.sc-dialog .el-dialog__body,.sc-dialog .el-drawer__body{-webkit-box-flex:1;-ms-flex:1;flex:1;overflow:hidden;overflow-y:auto;padding:20px;color:var(--color-text-regular);max-height:calc(100vh - 112px)}.sc-dialog .el-drawer{position:absolute;right:0;top:0;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.sc-dialog .el-drawer__header{margin:0;min-height:20px;padding:16px 10px 16px 24px;border-bottom:1px solid #f0f0f0}.sc-dialog .el-drawer,.sc-dialog .el-drawer__body{-webkit-box-flex:1;-ms-flex:1;flex:1;overflow:auto}.sc-dialog .el-form-item__label{font-weight:400}.sc-button+.sc-button{margin-left:10px}@-webkit-keyframes rotate{from{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes rotate{from{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.sc-tabs .rotating{-webkit-animation:rotate .45s linear infinite;animation:rotate .45s linear infinite}.sc-tabs .sc-tabs__content{position:relative;min-height:100px;-webkit-transition:height .3s ease-in-out;transition:height .3s ease-in-out;height:auto}.sc-tabs .tab-pane{position:absolute;left:0;top:0;padding:20px;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;will-change:transform,opacity}.sc-tabs .tab-pane.is-active{position:relative}.sc-tabs .fade-transform-enter-active,.sc-tabs .fade-transform-leave-active{-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1);position:absolute;left:0;top:0}.sc-tabs .fade-transform-enter{opacity:0;-webkit-transform:translateX(20px);transform:translateX(20px)}.sc-tabs .fade-transform-leave-to{opacity:0;-webkit-transform:translateX(-20px);transform:translateX(-20px)}.sc-tabs .el-tabs__nav-wrap::after{height:1px;background-color:var(--border-color-lighter)}.sc-tabs .el-tabs__content{overflow-x:hidden;overflow-y:auto}.sc-tabs .el-tabs__content::-webkit-scrollbar{width:6px;height:6px}.sc-tabs .el-tabs__content::-webkit-scrollbar-thumb{background:var(--border-color-light);border-radius:3px}.sc-tabs .el-tabs__content::-webkit-scrollbar-track{background:var(--background-color-light);border-radius:3px}.sc-tabs__border .el-tabs__header{margin-bottom:0}.sc-tabs__border .el-tabs--card>.el-tabs__header{border-bottom:none}.sc-tabs__border .sc-tabs__content{position:relative;overflow:visible;border:1px solid var(--border-color-lighter);border-radius:0 4px 4px;background-color:var(--color-white)}.sc-tabs__border .sc-tabs__content.sc-tabs__is-refresh{border:none;-webkit-box-shadow:none;box-shadow:none}.sc-tabs__border .el-tabs__item{height:40px;line-height:40px;color:var(--color-text-regular)}.sc-tabs__border .el-tabs__item.is-active{font-weight:500;color:var(--color-primary)}.sc-tabs__border .el-tabs__item .el-icon-refresh{margin-left:5px;font-size:14px;cursor:pointer;color:var(--color-text-secondary);-webkit-transition:color .3s;transition:color .3s}.sc-tabs__border .el-tabs__item .el-icon-refresh:hover{color:var(--color-primary)}.sc-default-formatter,.sc-title{color:var(--color-text-regular)}.sc-verify-input input{caret-color:transparent;border-radius:2px;border:1px solid #eee;text-align:center;-webkit-transition:border-color .3s ease;transition:border-color .3s ease}.sc-verify-input input::-webkit-inner-spin-button,.sc-verify-input input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.sc-verify-input input:valid{border-color:#dcdfe6}.sc-verify-input input:focus-visible{outline:0;border-color:var(--color-primary)}.sc-verify-input--mini input{height:28px;width:22px;font-size:12px;margin:6px}.sc-verify-input--small input{height:32px;width:24px;font-size:13px;margin:8px}.sc-verify-input--medium input{height:36px;width:28px;font-size:14px;margin:10px}.sc-verify-input--default input{height:40px;width:32px;font-size:15px;margin:11px}:root{--color-text-regular:#606266;--border-color-lighter:#ebeef5;--background-color-base:#fafafa;--color-primary:#409eff;--color-primary-light-9:#ecf5ff;--color-primary-light-7:#d9ecff;--color-white:#ffffff;--color-danger:#f56c6c;--color-success:#67c23a;--color-warning:#e6a23c;--color-info:#909399;--color-text-primary:#303133;--color-text-secondary:#909399;--color-text-placeholder:#c0c4cc;--border-color-base:#dcdfe6;--border-color-light:#e4e7ed;--background-color-light:#f5f7fa}.sc-title{display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-weight:700;padding:10px 0}.sc-title::before{width:5px;height:18px;margin-right:8px;border-radius:2px}.sc-default-formatter{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sc-render-left,.sc-render-right{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.sc-over-ellipsis{width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sc-position{display:grid}.sc-position .top{grid-area:top;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.sc-position .left,.sc-position .right{display:-webkit-box;display:-ms-flexbox;-webkit-box-align:center}.sc-position .left{grid-area:left;display:flex;-ms-flex-align:center;align-items:center}.sc-position .content{grid-area:content}.sc-position .right{grid-area:right;display:flex;-ms-flex-align:center;align-items:center}.sc-position .bottom{grid-area:bottom;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}
|