workdesktop-ai 1.2.1 → 1.2.3
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/CHANGELOG.md +190 -190
- package/dist/chunks/Path-pIP0JQ0c.mjs +245 -0
- package/dist/chunks/Path-pIP0JQ0c.mjs.map +1 -0
- package/dist/chunks/Station-BTP0SbBg.mjs +818 -0
- package/dist/chunks/Station-BTP0SbBg.mjs.map +1 -0
- package/dist/index.esm.js +2 -2
- package/dist/index.umd.js +19 -19
- package/dist/index.umd.js.map +1 -1
- package/dist/path/index.mjs +1 -1
- package/dist/path/style.css +1 -1
- package/dist/station/index.mjs +1 -1
- package/dist/station/style.css +1 -1
- package/dist/style.css +1 -1
- package/dist/types/src/components/buttons/ApiButton.vue.d.ts +134 -0
- package/dist/types/src/components/buttons/ConfirmButton.vue.d.ts +169 -0
- package/dist/types/src/components/buttons/DialogButton.vue.d.ts +167 -0
- package/dist/types/src/components/buttons/DrawerButton.vue.d.ts +186 -0
- package/dist/types/src/components/buttons/PopconfirmButton.vue.d.ts +317 -0
- package/dist/types/src/components/buttons/PromptButton.vue.d.ts +180 -0
- package/dist/types/src/components/buttons/RouteButton.vue.d.ts +122 -0
- package/dist/types/src/components/buttons/TipsButton.vue.d.ts +66 -0
- package/dist/types/src/components/buttons/useApiAction.d.ts +20 -0
- package/dist/types/src/components/common/props.d.ts +122 -0
- package/dist/types/src/components/containers/Drawer.vue.d.ts +172 -0
- package/dist/types/src/components/containers/Iframe.vue.d.ts +81 -0
- package/dist/types/src/components/containers/containerContext.d.ts +15 -0
- package/dist/types/src/components/containers/useContainerController.d.ts +24 -0
- package/dist/types/src/components/containers/useIframeContainer.d.ts +20 -0
- package/dist/types/src/components/core/Requester.vue.d.ts +41 -0
- package/dist/types/src/components/data/datagrid/DataGrid.vue.d.ts +542 -0
- package/dist/types/src/components/data/datagrid/useColumnSettings.d.ts +62 -0
- package/dist/types/src/components/data/editable-grid/EditableGrid.vue.d.ts +586 -0
- package/dist/types/src/components/data/viewer/Viewer.vue.d.ts +187 -0
- package/dist/types/src/components/form/FormItem.vue.d.ts +62 -0
- package/dist/types/src/components/form/SearchItem.vue.d.ts +62 -0
- package/dist/types/src/components/form/SearchPanel.vue.d.ts +167 -0
- package/dist/types/src/components/form/data-form/DataForm.vue.d.ts +311 -0
- package/dist/types/src/components/index.d.ts +32 -0
- package/dist/types/src/components/inputs/AutoComplete.vue.d.ts +166 -0
- package/dist/types/src/components/inputs/CheckboxList.vue.d.ts +166 -0
- package/dist/types/src/components/inputs/RadioList.vue.d.ts +166 -0
- package/dist/types/src/components/inputs/Select.vue.d.ts +176 -0
- package/dist/types/src/components/inputs/Switch.vue.d.ts +116 -0
- package/dist/types/src/components/inputs/useOptionsLoader.d.ts +32 -0
- package/dist/types/src/components/layout/Station.vue.d.ts +313 -0
- package/dist/types/src/components/layout/StationMenuNode.vue.d.ts +20 -0
- package/dist/types/src/components/layout/types.d.ts +67 -0
- package/dist/types/src/components/styles/Panel.vue.d.ts +94 -0
- package/dist/types/src/components/styles/Path.vue.d.ts +103 -0
- package/dist/types/src/components/styles/Tips.vue.d.ts +60 -0
- package/dist/types/src/components/upload/ImageUpload.vue.d.ts +176 -0
- package/dist/types/src/components/upload/Upload.vue.d.ts +235 -0
- package/dist/types/src/entries/api-button.d.ts +9 -0
- package/dist/types/src/entries/auto-complete.d.ts +9 -0
- package/dist/types/src/entries/checkbox-list.d.ts +9 -0
- package/dist/types/src/entries/components-map.d.ts +8 -0
- package/dist/types/src/entries/confirm-button.d.ts +9 -0
- package/dist/types/src/entries/data-form.d.ts +9 -0
- package/dist/types/src/entries/data-grid.d.ts +9 -0
- package/dist/types/src/entries/dialog-button.d.ts +9 -0
- package/dist/types/src/entries/drawer-button.d.ts +9 -0
- package/dist/types/src/entries/drawer.d.ts +9 -0
- package/dist/types/src/entries/editable-grid.d.ts +9 -0
- package/dist/types/src/entries/form-item.d.ts +9 -0
- package/dist/types/src/entries/iframe.d.ts +9 -0
- package/dist/types/src/entries/image-upload.d.ts +9 -0
- package/dist/types/src/entries/panel.d.ts +9 -0
- package/dist/types/src/entries/path.d.ts +9 -0
- package/dist/types/src/entries/prompt-button.d.ts +9 -0
- package/dist/types/src/entries/radio-list.d.ts +9 -0
- package/dist/types/src/entries/requester.d.ts +9 -0
- package/dist/types/src/entries/route-button.d.ts +9 -0
- package/dist/types/src/entries/search-item.d.ts +9 -0
- package/dist/types/src/entries/search-panel.d.ts +9 -0
- package/dist/types/src/entries/select.d.ts +9 -0
- package/dist/types/src/entries/station.d.ts +9 -0
- package/dist/types/src/entries/switch.d.ts +9 -0
- package/dist/types/src/entries/tips-button.d.ts +9 -0
- package/dist/types/src/entries/tips.d.ts +9 -0
- package/dist/types/src/entries/upload.d.ts +9 -0
- package/dist/types/src/entries/viewer.d.ts +9 -0
- package/dist/types/src/index.d.ts +24 -0
- package/dist/types/src/lib/composables/useConfig.d.ts +19 -0
- package/dist/types/src/lib/composables/useDataGrid.d.ts +69 -0
- package/dist/types/src/lib/composables/useEventBus.d.ts +16 -0
- package/dist/types/src/lib/composables/useGlobalState.d.ts +5 -0
- package/dist/types/src/lib/composables/useRequest.d.ts +42 -0
- package/dist/types/src/lib/configs/default-config.d.ts +6 -0
- package/dist/types/src/lib/core/config.d.ts +28 -0
- package/dist/types/src/lib/core/http.d.ts +100 -0
- package/dist/types/src/lib/core/linkage.d.ts +48 -0
- package/dist/types/src/lib/core/skins/apple.d.ts +3 -0
- package/dist/types/src/lib/core/skins/business.d.ts +3 -0
- package/dist/types/src/lib/core/skins/chinese.d.ts +3 -0
- package/dist/types/src/lib/core/skins/cool.d.ts +3 -0
- package/dist/types/src/lib/core/skins/cyberpunk.d.ts +3 -0
- package/dist/types/src/lib/core/skins/default.d.ts +3 -0
- package/dist/types/src/lib/core/skins/fashion.d.ts +3 -0
- package/dist/types/src/lib/core/skins/flat.d.ts +3 -0
- package/dist/types/src/lib/core/skins/governance.d.ts +3 -0
- package/dist/types/src/lib/core/skins/index.d.ts +15 -0
- package/dist/types/src/lib/core/skins/tech.d.ts +3 -0
- package/dist/types/src/lib/core/skins/types.d.ts +19 -0
- package/dist/types/src/lib/core/station-linkage.d.ts +72 -0
- package/dist/types/src/lib/core/theme.d.ts +11 -0
- package/dist/types/src/lib/core/utils.d.ts +28 -0
- package/dist/types/src/lib/install.d.ts +11 -0
- package/dist/types/src/types/config.d.ts +130 -0
- package/dist/types/src/types/index.d.ts +4 -0
- package/dist/types/vite.config.d.ts +7 -0
- package/package.json +7 -2
- package/dist/chunks/Path-C_oyo6Dg.mjs +0 -200
- package/dist/chunks/Path-C_oyo6Dg.mjs.map +0 -1
- package/dist/chunks/Station-DLV19USa.mjs +0 -780
- package/dist/chunks/Station-DLV19USa.mjs.map +0 -1
|
@@ -0,0 +1,313 @@
|
|
|
1
|
+
import { type PropType } from 'vue';
|
|
2
|
+
import type { StationTab, StationToolbarConfig } from './types';
|
|
3
|
+
declare function openTab(tab: any): void;
|
|
4
|
+
declare function closeTab(key: string): void;
|
|
5
|
+
declare function refresh(): void;
|
|
6
|
+
declare var __VLS_1: {
|
|
7
|
+
collapsed: boolean;
|
|
8
|
+
}, __VLS_11: {
|
|
9
|
+
collapsed: boolean;
|
|
10
|
+
}, __VLS_77: {
|
|
11
|
+
collapsed: boolean;
|
|
12
|
+
}, __VLS_103: {
|
|
13
|
+
collapsed: boolean;
|
|
14
|
+
}, __VLS_165: {}, __VLS_175: {}, __VLS_177: {}, __VLS_231: {}, __VLS_244: {}, __VLS_246: {}, __VLS_316: {}, __VLS_330: {}, __VLS_332: {};
|
|
15
|
+
type __VLS_Slots = {} & {
|
|
16
|
+
logo?: (props: typeof __VLS_1) => any;
|
|
17
|
+
} & {
|
|
18
|
+
'menu-top'?: (props: typeof __VLS_11) => any;
|
|
19
|
+
} & {
|
|
20
|
+
'menu-bottom'?: (props: typeof __VLS_77) => any;
|
|
21
|
+
} & {
|
|
22
|
+
logo?: (props: typeof __VLS_103) => any;
|
|
23
|
+
} & {
|
|
24
|
+
'header-left'?: (props: typeof __VLS_165) => any;
|
|
25
|
+
} & {
|
|
26
|
+
'header-center'?: (props: typeof __VLS_175) => any;
|
|
27
|
+
} & {
|
|
28
|
+
'header-right'?: (props: typeof __VLS_177) => any;
|
|
29
|
+
} & {
|
|
30
|
+
'top-menu-left'?: (props: typeof __VLS_231) => any;
|
|
31
|
+
} & {
|
|
32
|
+
'top-menu-right'?: (props: typeof __VLS_244) => any;
|
|
33
|
+
} & {
|
|
34
|
+
'tabs-left'?: (props: typeof __VLS_246) => any;
|
|
35
|
+
} & {
|
|
36
|
+
'tabs-right'?: (props: typeof __VLS_316) => any;
|
|
37
|
+
} & {
|
|
38
|
+
default?: (props: typeof __VLS_330) => any;
|
|
39
|
+
} & {
|
|
40
|
+
footer?: (props: typeof __VLS_332) => any;
|
|
41
|
+
};
|
|
42
|
+
declare const __VLS_component: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
43
|
+
/** 系统标题(logo 区 / headerMode=title 时的头部标题) */
|
|
44
|
+
title: {
|
|
45
|
+
type: StringConstructor;
|
|
46
|
+
default: string;
|
|
47
|
+
};
|
|
48
|
+
/** logo 图标(@element-plus/icons-vue 名称字符串,或直接传组件) */
|
|
49
|
+
logo: {
|
|
50
|
+
type: PropType<string | object>;
|
|
51
|
+
default: string;
|
|
52
|
+
};
|
|
53
|
+
/** 分组菜单结构(优先),支持 JSON 字符串 */
|
|
54
|
+
menuGroups: {
|
|
55
|
+
type: PropType<any[] | string>;
|
|
56
|
+
default: undefined;
|
|
57
|
+
};
|
|
58
|
+
/** 扁平菜单结构(带 group/groupKey 字段按出现顺序归组),支持 JSON 字符串 */
|
|
59
|
+
menus: {
|
|
60
|
+
type: PropType<any[] | string>;
|
|
61
|
+
default: undefined;
|
|
62
|
+
};
|
|
63
|
+
/** 头部中央模式:nav=分导台 / title=标题(此时侧边渲染全量菜单并带组标题)/ both=分导台+标题并存(顶部显示分导台,侧边按分组标题渲染全量菜单) */
|
|
64
|
+
headerMode: {
|
|
65
|
+
type: PropType<"nav" | "title" | "both">;
|
|
66
|
+
default: string;
|
|
67
|
+
};
|
|
68
|
+
/** 是否显示头部中央标题(headerMode 非 nav 时的 fallback 标题;需自绘 header-center 时可关闭) */
|
|
69
|
+
showHeaderTitle: {
|
|
70
|
+
type: BooleanConstructor;
|
|
71
|
+
default: boolean;
|
|
72
|
+
};
|
|
73
|
+
/** 菜单位置:side=左侧 / top=顶部 / none=不启用 */
|
|
74
|
+
menuMode: {
|
|
75
|
+
type: PropType<"side" | "top" | "none">;
|
|
76
|
+
default: string;
|
|
77
|
+
};
|
|
78
|
+
/** 内容方式:page=单页 / tabs=多标签 */
|
|
79
|
+
contentMode: {
|
|
80
|
+
type: PropType<"page" | "tabs">;
|
|
81
|
+
default: string;
|
|
82
|
+
};
|
|
83
|
+
/** 路由适配:auto=自动检测 $router / router / html */
|
|
84
|
+
routerMode: {
|
|
85
|
+
type: PropType<"auto" | "router" | "html">;
|
|
86
|
+
default: string;
|
|
87
|
+
};
|
|
88
|
+
/** 是否显示折叠按钮 */
|
|
89
|
+
collapsible: {
|
|
90
|
+
type: BooleanConstructor;
|
|
91
|
+
default: boolean;
|
|
92
|
+
};
|
|
93
|
+
/** 折叠状态(v-model:collapsed) */
|
|
94
|
+
collapsed: {
|
|
95
|
+
type: BooleanConstructor;
|
|
96
|
+
default: boolean;
|
|
97
|
+
};
|
|
98
|
+
/** 当前分组 key(v-model:active-group) */
|
|
99
|
+
activeGroup: {
|
|
100
|
+
type: StringConstructor;
|
|
101
|
+
default: string;
|
|
102
|
+
};
|
|
103
|
+
/** 当前菜单 key(v-model:active-menu) */
|
|
104
|
+
activeMenu: {
|
|
105
|
+
type: StringConstructor;
|
|
106
|
+
default: string;
|
|
107
|
+
};
|
|
108
|
+
/** 已开启标签(v-model:open-tabs,受控) */
|
|
109
|
+
openTabs: {
|
|
110
|
+
type: PropType<StationTab[]>;
|
|
111
|
+
default: undefined;
|
|
112
|
+
};
|
|
113
|
+
/** 用户名(有值显示用户下拉,无值显示登录按钮) */
|
|
114
|
+
userName: {
|
|
115
|
+
type: StringConstructor;
|
|
116
|
+
default: string;
|
|
117
|
+
};
|
|
118
|
+
/** 用户头像地址 */
|
|
119
|
+
userAvatar: {
|
|
120
|
+
type: StringConstructor;
|
|
121
|
+
default: string;
|
|
122
|
+
};
|
|
123
|
+
/** 版权信息 */
|
|
124
|
+
copyright: {
|
|
125
|
+
type: StringConstructor;
|
|
126
|
+
default: string;
|
|
127
|
+
};
|
|
128
|
+
/** 底部动态信息(v-model:footer-info) */
|
|
129
|
+
footerInfo: {
|
|
130
|
+
type: StringConstructor;
|
|
131
|
+
default: string;
|
|
132
|
+
};
|
|
133
|
+
/** router 模式内容区 keep-alive */
|
|
134
|
+
keepAlive: {
|
|
135
|
+
type: BooleanConstructor;
|
|
136
|
+
default: boolean;
|
|
137
|
+
};
|
|
138
|
+
/** 工具栏点位配置:refresh/settings/user/login 各自 left/right/none,支持 JSON 字符串 */
|
|
139
|
+
toolbarConfig: {
|
|
140
|
+
type: PropType<StationToolbarConfig | string>;
|
|
141
|
+
default: undefined;
|
|
142
|
+
};
|
|
143
|
+
filter: {
|
|
144
|
+
type: StringConstructor;
|
|
145
|
+
default: string;
|
|
146
|
+
};
|
|
147
|
+
}>, {
|
|
148
|
+
refresh: typeof refresh;
|
|
149
|
+
openTab: typeof openTab;
|
|
150
|
+
closeTab: typeof closeTab;
|
|
151
|
+
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
152
|
+
refresh: (...args: any[]) => void;
|
|
153
|
+
"update:collapsed": (...args: any[]) => void;
|
|
154
|
+
"update:active-group": (...args: any[]) => void;
|
|
155
|
+
"update:active-menu": (...args: any[]) => void;
|
|
156
|
+
"update:open-tabs": (...args: any[]) => void;
|
|
157
|
+
"update:footer-info": (...args: any[]) => void;
|
|
158
|
+
"group-change": (...args: any[]) => void;
|
|
159
|
+
"menu-select": (...args: any[]) => void;
|
|
160
|
+
"tab-click": (...args: any[]) => void;
|
|
161
|
+
"tab-close": (...args: any[]) => void;
|
|
162
|
+
login: (...args: any[]) => void;
|
|
163
|
+
logout: (...args: any[]) => void;
|
|
164
|
+
settings: (...args: any[]) => void;
|
|
165
|
+
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
166
|
+
/** 系统标题(logo 区 / headerMode=title 时的头部标题) */
|
|
167
|
+
title: {
|
|
168
|
+
type: StringConstructor;
|
|
169
|
+
default: string;
|
|
170
|
+
};
|
|
171
|
+
/** logo 图标(@element-plus/icons-vue 名称字符串,或直接传组件) */
|
|
172
|
+
logo: {
|
|
173
|
+
type: PropType<string | object>;
|
|
174
|
+
default: string;
|
|
175
|
+
};
|
|
176
|
+
/** 分组菜单结构(优先),支持 JSON 字符串 */
|
|
177
|
+
menuGroups: {
|
|
178
|
+
type: PropType<any[] | string>;
|
|
179
|
+
default: undefined;
|
|
180
|
+
};
|
|
181
|
+
/** 扁平菜单结构(带 group/groupKey 字段按出现顺序归组),支持 JSON 字符串 */
|
|
182
|
+
menus: {
|
|
183
|
+
type: PropType<any[] | string>;
|
|
184
|
+
default: undefined;
|
|
185
|
+
};
|
|
186
|
+
/** 头部中央模式:nav=分导台 / title=标题(此时侧边渲染全量菜单并带组标题)/ both=分导台+标题并存(顶部显示分导台,侧边按分组标题渲染全量菜单) */
|
|
187
|
+
headerMode: {
|
|
188
|
+
type: PropType<"nav" | "title" | "both">;
|
|
189
|
+
default: string;
|
|
190
|
+
};
|
|
191
|
+
/** 是否显示头部中央标题(headerMode 非 nav 时的 fallback 标题;需自绘 header-center 时可关闭) */
|
|
192
|
+
showHeaderTitle: {
|
|
193
|
+
type: BooleanConstructor;
|
|
194
|
+
default: boolean;
|
|
195
|
+
};
|
|
196
|
+
/** 菜单位置:side=左侧 / top=顶部 / none=不启用 */
|
|
197
|
+
menuMode: {
|
|
198
|
+
type: PropType<"side" | "top" | "none">;
|
|
199
|
+
default: string;
|
|
200
|
+
};
|
|
201
|
+
/** 内容方式:page=单页 / tabs=多标签 */
|
|
202
|
+
contentMode: {
|
|
203
|
+
type: PropType<"page" | "tabs">;
|
|
204
|
+
default: string;
|
|
205
|
+
};
|
|
206
|
+
/** 路由适配:auto=自动检测 $router / router / html */
|
|
207
|
+
routerMode: {
|
|
208
|
+
type: PropType<"auto" | "router" | "html">;
|
|
209
|
+
default: string;
|
|
210
|
+
};
|
|
211
|
+
/** 是否显示折叠按钮 */
|
|
212
|
+
collapsible: {
|
|
213
|
+
type: BooleanConstructor;
|
|
214
|
+
default: boolean;
|
|
215
|
+
};
|
|
216
|
+
/** 折叠状态(v-model:collapsed) */
|
|
217
|
+
collapsed: {
|
|
218
|
+
type: BooleanConstructor;
|
|
219
|
+
default: boolean;
|
|
220
|
+
};
|
|
221
|
+
/** 当前分组 key(v-model:active-group) */
|
|
222
|
+
activeGroup: {
|
|
223
|
+
type: StringConstructor;
|
|
224
|
+
default: string;
|
|
225
|
+
};
|
|
226
|
+
/** 当前菜单 key(v-model:active-menu) */
|
|
227
|
+
activeMenu: {
|
|
228
|
+
type: StringConstructor;
|
|
229
|
+
default: string;
|
|
230
|
+
};
|
|
231
|
+
/** 已开启标签(v-model:open-tabs,受控) */
|
|
232
|
+
openTabs: {
|
|
233
|
+
type: PropType<StationTab[]>;
|
|
234
|
+
default: undefined;
|
|
235
|
+
};
|
|
236
|
+
/** 用户名(有值显示用户下拉,无值显示登录按钮) */
|
|
237
|
+
userName: {
|
|
238
|
+
type: StringConstructor;
|
|
239
|
+
default: string;
|
|
240
|
+
};
|
|
241
|
+
/** 用户头像地址 */
|
|
242
|
+
userAvatar: {
|
|
243
|
+
type: StringConstructor;
|
|
244
|
+
default: string;
|
|
245
|
+
};
|
|
246
|
+
/** 版权信息 */
|
|
247
|
+
copyright: {
|
|
248
|
+
type: StringConstructor;
|
|
249
|
+
default: string;
|
|
250
|
+
};
|
|
251
|
+
/** 底部动态信息(v-model:footer-info) */
|
|
252
|
+
footerInfo: {
|
|
253
|
+
type: StringConstructor;
|
|
254
|
+
default: string;
|
|
255
|
+
};
|
|
256
|
+
/** router 模式内容区 keep-alive */
|
|
257
|
+
keepAlive: {
|
|
258
|
+
type: BooleanConstructor;
|
|
259
|
+
default: boolean;
|
|
260
|
+
};
|
|
261
|
+
/** 工具栏点位配置:refresh/settings/user/login 各自 left/right/none,支持 JSON 字符串 */
|
|
262
|
+
toolbarConfig: {
|
|
263
|
+
type: PropType<StationToolbarConfig | string>;
|
|
264
|
+
default: undefined;
|
|
265
|
+
};
|
|
266
|
+
filter: {
|
|
267
|
+
type: StringConstructor;
|
|
268
|
+
default: string;
|
|
269
|
+
};
|
|
270
|
+
}>> & Readonly<{
|
|
271
|
+
onRefresh?: ((...args: any[]) => any) | undefined;
|
|
272
|
+
"onUpdate:collapsed"?: ((...args: any[]) => any) | undefined;
|
|
273
|
+
"onUpdate:active-group"?: ((...args: any[]) => any) | undefined;
|
|
274
|
+
"onUpdate:active-menu"?: ((...args: any[]) => any) | undefined;
|
|
275
|
+
"onUpdate:open-tabs"?: ((...args: any[]) => any) | undefined;
|
|
276
|
+
"onUpdate:footer-info"?: ((...args: any[]) => any) | undefined;
|
|
277
|
+
"onGroup-change"?: ((...args: any[]) => any) | undefined;
|
|
278
|
+
"onMenu-select"?: ((...args: any[]) => any) | undefined;
|
|
279
|
+
"onTab-click"?: ((...args: any[]) => any) | undefined;
|
|
280
|
+
"onTab-close"?: ((...args: any[]) => any) | undefined;
|
|
281
|
+
onLogin?: ((...args: any[]) => any) | undefined;
|
|
282
|
+
onLogout?: ((...args: any[]) => any) | undefined;
|
|
283
|
+
onSettings?: ((...args: any[]) => any) | undefined;
|
|
284
|
+
}>, {
|
|
285
|
+
title: string;
|
|
286
|
+
filter: string;
|
|
287
|
+
collapsible: boolean;
|
|
288
|
+
logo: string | object;
|
|
289
|
+
menuGroups: string | any[];
|
|
290
|
+
menus: string | any[];
|
|
291
|
+
headerMode: "nav" | "title" | "both";
|
|
292
|
+
showHeaderTitle: boolean;
|
|
293
|
+
menuMode: "none" | "top" | "side";
|
|
294
|
+
contentMode: "page" | "tabs";
|
|
295
|
+
routerMode: "html" | "auto" | "router";
|
|
296
|
+
collapsed: boolean;
|
|
297
|
+
activeGroup: string;
|
|
298
|
+
activeMenu: string;
|
|
299
|
+
openTabs: StationTab[];
|
|
300
|
+
userName: string;
|
|
301
|
+
userAvatar: string;
|
|
302
|
+
copyright: string;
|
|
303
|
+
footerInfo: string;
|
|
304
|
+
keepAlive: boolean;
|
|
305
|
+
toolbarConfig: string | StationToolbarConfig;
|
|
306
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
307
|
+
declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
|
|
308
|
+
export default _default;
|
|
309
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
310
|
+
new (): {
|
|
311
|
+
$slots: S;
|
|
312
|
+
};
|
|
313
|
+
};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
2
|
+
/** 归一化后的菜单项(带 _key) */
|
|
3
|
+
items: {
|
|
4
|
+
type: () => any[];
|
|
5
|
+
default: () => never[];
|
|
6
|
+
};
|
|
7
|
+
}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
|
|
8
|
+
select: (item: any) => any;
|
|
9
|
+
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
10
|
+
/** 归一化后的菜单项(带 _key) */
|
|
11
|
+
items: {
|
|
12
|
+
type: () => any[];
|
|
13
|
+
default: () => never[];
|
|
14
|
+
};
|
|
15
|
+
}>> & Readonly<{
|
|
16
|
+
onSelect?: ((item: any) => any) | undefined;
|
|
17
|
+
}>, {
|
|
18
|
+
items: any[];
|
|
19
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
20
|
+
export default _default;
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WdStation 类型定义
|
|
3
|
+
*/
|
|
4
|
+
/** 菜单项(统一模型:分组 Group → 菜单树,建议两层) */
|
|
5
|
+
export interface StationMenuItem {
|
|
6
|
+
/** 菜单标题 */
|
|
7
|
+
title: string;
|
|
8
|
+
/** 图标(@element-plus/icons-vue 名称字符串,或直接传组件) */
|
|
9
|
+
icon?: string | object;
|
|
10
|
+
/** 路由路径(router 模式点击 push;html 模式仅作标识) */
|
|
11
|
+
path?: string;
|
|
12
|
+
/** 路由名称(可选,key 兜底优先级高于 path) */
|
|
13
|
+
name?: string;
|
|
14
|
+
/** 角标 */
|
|
15
|
+
badge?: string | number;
|
|
16
|
+
/** 禁用 */
|
|
17
|
+
disabled?: boolean;
|
|
18
|
+
/** tabs 模式下固定标签(自动开启、不可关闭) */
|
|
19
|
+
affix?: boolean;
|
|
20
|
+
/** 扁平喂法:所属分组标题 */
|
|
21
|
+
group?: string;
|
|
22
|
+
/** 扁平喂法:所属分组 key(缺省取 group) */
|
|
23
|
+
groupKey?: string;
|
|
24
|
+
/** 扁平喂法:所属分组图标 */
|
|
25
|
+
groupIcon?: string | object;
|
|
26
|
+
/** 子菜单(递归,建议不超过两层) */
|
|
27
|
+
children?: StationMenuItem[];
|
|
28
|
+
[key: string]: any;
|
|
29
|
+
}
|
|
30
|
+
/** 菜单分组(分导台条目) */
|
|
31
|
+
export interface StationMenuGroup {
|
|
32
|
+
/** 分组唯一标识 */
|
|
33
|
+
key: string;
|
|
34
|
+
/** 分组标题 */
|
|
35
|
+
title: string;
|
|
36
|
+
/** 分组图标 */
|
|
37
|
+
icon?: string | object;
|
|
38
|
+
/** 组内菜单树 */
|
|
39
|
+
menus: StationMenuItem[];
|
|
40
|
+
}
|
|
41
|
+
/** 已开启标签 */
|
|
42
|
+
export interface StationTab {
|
|
43
|
+
key: string;
|
|
44
|
+
title: string;
|
|
45
|
+
path?: string;
|
|
46
|
+
affix?: boolean;
|
|
47
|
+
}
|
|
48
|
+
/** 工具栏点位配置:refresh/settings/user/login 各自可放 left / right / none */
|
|
49
|
+
export interface StationToolbarConfig {
|
|
50
|
+
refresh?: 'left' | 'right' | 'none';
|
|
51
|
+
settings?: 'left' | 'right' | 'none';
|
|
52
|
+
user?: 'left' | 'right' | 'none';
|
|
53
|
+
login?: 'left' | 'right' | 'none';
|
|
54
|
+
}
|
|
55
|
+
/** 路径节点(Path 组件手动/自动模式的路径项) */
|
|
56
|
+
export interface PathItem {
|
|
57
|
+
/** 标题 */
|
|
58
|
+
title: string;
|
|
59
|
+
/** 路由路径(router 模式下自动以 el-breadcrumb-item 的 to 跳转) */
|
|
60
|
+
path?: string;
|
|
61
|
+
/** 图标(@element-plus/icons-vue 名称字符串,或直接传组件) */
|
|
62
|
+
icon?: string | object;
|
|
63
|
+
/** 段来源:menu=Station 菜单链 / heading=页面标题 / home=首页节点 / manual=手动路径 */
|
|
64
|
+
source?: 'menu' | 'heading' | 'home' | 'manual';
|
|
65
|
+
/** heading 段:标题级别 1-4 */
|
|
66
|
+
level?: number;
|
|
67
|
+
}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { type PropType } from 'vue';
|
|
2
|
+
declare var __VLS_1: {}, __VLS_3: {}, __VLS_19: {}, __VLS_21: {};
|
|
3
|
+
type __VLS_Slots = {} & {
|
|
4
|
+
title?: (props: typeof __VLS_1) => any;
|
|
5
|
+
} & {
|
|
6
|
+
extra?: (props: typeof __VLS_3) => any;
|
|
7
|
+
} & {
|
|
8
|
+
default?: (props: typeof __VLS_19) => any;
|
|
9
|
+
} & {
|
|
10
|
+
footer?: (props: typeof __VLS_21) => any;
|
|
11
|
+
};
|
|
12
|
+
declare const __VLS_component: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
13
|
+
/** 面板标题 */
|
|
14
|
+
title: {
|
|
15
|
+
type: StringConstructor;
|
|
16
|
+
default: string;
|
|
17
|
+
};
|
|
18
|
+
/** 标题旁描述 */
|
|
19
|
+
description: {
|
|
20
|
+
type: StringConstructor;
|
|
21
|
+
default: string;
|
|
22
|
+
};
|
|
23
|
+
/** 是否可折叠(折叠时隐藏主体与底部) */
|
|
24
|
+
collapsible: {
|
|
25
|
+
type: BooleanConstructor;
|
|
26
|
+
default: boolean;
|
|
27
|
+
};
|
|
28
|
+
/** 展开状态(配合 collapsible 使用,支持 v-model:opened) */
|
|
29
|
+
opened: {
|
|
30
|
+
type: BooleanConstructor;
|
|
31
|
+
default: boolean;
|
|
32
|
+
};
|
|
33
|
+
/** 阴影策略:always=常驻阴影 / hover=悬停时显示 / never=无阴影 */
|
|
34
|
+
shadow: {
|
|
35
|
+
type: PropType<"always" | "hover" | "never">;
|
|
36
|
+
default: string;
|
|
37
|
+
};
|
|
38
|
+
/** 是否显示外边框(嵌套在卡片/弹层等容器内时可关闭) */
|
|
39
|
+
border: {
|
|
40
|
+
type: BooleanConstructor;
|
|
41
|
+
default: boolean;
|
|
42
|
+
};
|
|
43
|
+
}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
|
|
44
|
+
change: (value: boolean) => any;
|
|
45
|
+
"update:opened": (value: boolean) => any;
|
|
46
|
+
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
47
|
+
/** 面板标题 */
|
|
48
|
+
title: {
|
|
49
|
+
type: StringConstructor;
|
|
50
|
+
default: string;
|
|
51
|
+
};
|
|
52
|
+
/** 标题旁描述 */
|
|
53
|
+
description: {
|
|
54
|
+
type: StringConstructor;
|
|
55
|
+
default: string;
|
|
56
|
+
};
|
|
57
|
+
/** 是否可折叠(折叠时隐藏主体与底部) */
|
|
58
|
+
collapsible: {
|
|
59
|
+
type: BooleanConstructor;
|
|
60
|
+
default: boolean;
|
|
61
|
+
};
|
|
62
|
+
/** 展开状态(配合 collapsible 使用,支持 v-model:opened) */
|
|
63
|
+
opened: {
|
|
64
|
+
type: BooleanConstructor;
|
|
65
|
+
default: boolean;
|
|
66
|
+
};
|
|
67
|
+
/** 阴影策略:always=常驻阴影 / hover=悬停时显示 / never=无阴影 */
|
|
68
|
+
shadow: {
|
|
69
|
+
type: PropType<"always" | "hover" | "never">;
|
|
70
|
+
default: string;
|
|
71
|
+
};
|
|
72
|
+
/** 是否显示外边框(嵌套在卡片/弹层等容器内时可关闭) */
|
|
73
|
+
border: {
|
|
74
|
+
type: BooleanConstructor;
|
|
75
|
+
default: boolean;
|
|
76
|
+
};
|
|
77
|
+
}>> & Readonly<{
|
|
78
|
+
onChange?: ((value: boolean) => any) | undefined;
|
|
79
|
+
"onUpdate:opened"?: ((value: boolean) => any) | undefined;
|
|
80
|
+
}>, {
|
|
81
|
+
title: string;
|
|
82
|
+
border: boolean;
|
|
83
|
+
description: string;
|
|
84
|
+
collapsible: boolean;
|
|
85
|
+
opened: boolean;
|
|
86
|
+
shadow: "hover" | "always" | "never";
|
|
87
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
88
|
+
declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
|
|
89
|
+
export default _default;
|
|
90
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
91
|
+
new (): {
|
|
92
|
+
$slots: S;
|
|
93
|
+
};
|
|
94
|
+
};
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import { type PropType } from 'vue';
|
|
2
|
+
import type { PathItem } from '../layout/types';
|
|
3
|
+
/** 完整刷新(手动模式仅触发 change 事件;自动模式重读菜单链与标题) */
|
|
4
|
+
declare function refresh(): void;
|
|
5
|
+
declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
6
|
+
/** 模式:manual=手动填写路径 / auto=自动联动(Station 菜单链 + 页面标题) */
|
|
7
|
+
mode: {
|
|
8
|
+
type: PropType<"manual" | "auto">;
|
|
9
|
+
default: string;
|
|
10
|
+
};
|
|
11
|
+
/** 手动模式路径节点(PathItem[],支持 JSON 字符串) */
|
|
12
|
+
items: {
|
|
13
|
+
type: PropType<PathItem[] | string>;
|
|
14
|
+
default: undefined;
|
|
15
|
+
};
|
|
16
|
+
/** 自动模式:首页节点标题 */
|
|
17
|
+
home: {
|
|
18
|
+
type: StringConstructor;
|
|
19
|
+
default: string;
|
|
20
|
+
};
|
|
21
|
+
/** 自动模式:是否显示首页节点 */
|
|
22
|
+
showHome: {
|
|
23
|
+
type: BooleanConstructor;
|
|
24
|
+
default: boolean;
|
|
25
|
+
};
|
|
26
|
+
/** 分隔符 */
|
|
27
|
+
separator: {
|
|
28
|
+
type: StringConstructor;
|
|
29
|
+
default: string;
|
|
30
|
+
};
|
|
31
|
+
/** 路径内容(路径段)变动时的动画:none=无 / fade=淡入淡出 / slide=横向滑移+淡入 */
|
|
32
|
+
animation: {
|
|
33
|
+
type: PropType<"none" | "fade" | "slide">;
|
|
34
|
+
default: string;
|
|
35
|
+
};
|
|
36
|
+
/** 标题扫描范围:CSS 选择器或元素;默认最近的 Station 内容区(.wd-station__content),无则整页 */
|
|
37
|
+
container: {
|
|
38
|
+
type: PropType<string | HTMLElement>;
|
|
39
|
+
default: undefined;
|
|
40
|
+
};
|
|
41
|
+
filter: {
|
|
42
|
+
type: StringConstructor;
|
|
43
|
+
default: string;
|
|
44
|
+
};
|
|
45
|
+
}>, {
|
|
46
|
+
refresh: typeof refresh;
|
|
47
|
+
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
|
|
48
|
+
change: (segments: PathItem[]) => any;
|
|
49
|
+
"item-click": (item: PathItem) => any;
|
|
50
|
+
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
51
|
+
/** 模式:manual=手动填写路径 / auto=自动联动(Station 菜单链 + 页面标题) */
|
|
52
|
+
mode: {
|
|
53
|
+
type: PropType<"manual" | "auto">;
|
|
54
|
+
default: string;
|
|
55
|
+
};
|
|
56
|
+
/** 手动模式路径节点(PathItem[],支持 JSON 字符串) */
|
|
57
|
+
items: {
|
|
58
|
+
type: PropType<PathItem[] | string>;
|
|
59
|
+
default: undefined;
|
|
60
|
+
};
|
|
61
|
+
/** 自动模式:首页节点标题 */
|
|
62
|
+
home: {
|
|
63
|
+
type: StringConstructor;
|
|
64
|
+
default: string;
|
|
65
|
+
};
|
|
66
|
+
/** 自动模式:是否显示首页节点 */
|
|
67
|
+
showHome: {
|
|
68
|
+
type: BooleanConstructor;
|
|
69
|
+
default: boolean;
|
|
70
|
+
};
|
|
71
|
+
/** 分隔符 */
|
|
72
|
+
separator: {
|
|
73
|
+
type: StringConstructor;
|
|
74
|
+
default: string;
|
|
75
|
+
};
|
|
76
|
+
/** 路径内容(路径段)变动时的动画:none=无 / fade=淡入淡出 / slide=横向滑移+淡入 */
|
|
77
|
+
animation: {
|
|
78
|
+
type: PropType<"none" | "fade" | "slide">;
|
|
79
|
+
default: string;
|
|
80
|
+
};
|
|
81
|
+
/** 标题扫描范围:CSS 选择器或元素;默认最近的 Station 内容区(.wd-station__content),无则整页 */
|
|
82
|
+
container: {
|
|
83
|
+
type: PropType<string | HTMLElement>;
|
|
84
|
+
default: undefined;
|
|
85
|
+
};
|
|
86
|
+
filter: {
|
|
87
|
+
type: StringConstructor;
|
|
88
|
+
default: string;
|
|
89
|
+
};
|
|
90
|
+
}>> & Readonly<{
|
|
91
|
+
onChange?: ((segments: PathItem[]) => any) | undefined;
|
|
92
|
+
"onItem-click"?: ((item: PathItem) => any) | undefined;
|
|
93
|
+
}>, {
|
|
94
|
+
filter: string;
|
|
95
|
+
mode: "auto" | "manual";
|
|
96
|
+
items: string | PathItem[];
|
|
97
|
+
home: string;
|
|
98
|
+
showHome: boolean;
|
|
99
|
+
separator: string;
|
|
100
|
+
animation: "none" | "fade" | "slide";
|
|
101
|
+
container: string | HTMLElement;
|
|
102
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
103
|
+
export default _default;
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { type PropType } from 'vue';
|
|
2
|
+
declare var __VLS_21: {};
|
|
3
|
+
type __VLS_Slots = {} & {
|
|
4
|
+
default?: (props: typeof __VLS_21) => any;
|
|
5
|
+
};
|
|
6
|
+
declare const __VLS_component: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
7
|
+
/** 提示内容 */
|
|
8
|
+
tips: {
|
|
9
|
+
type: StringConstructor;
|
|
10
|
+
default: string;
|
|
11
|
+
};
|
|
12
|
+
/** word=悬停图标模式 / box=行内文字模式 */
|
|
13
|
+
type: {
|
|
14
|
+
type: PropType<"word" | "box">;
|
|
15
|
+
default: string;
|
|
16
|
+
};
|
|
17
|
+
/** 图标组件名(InfoFilled/WarningFilled/QuestionFilled) */
|
|
18
|
+
icon: {
|
|
19
|
+
type: StringConstructor;
|
|
20
|
+
default: string;
|
|
21
|
+
};
|
|
22
|
+
/** 图标/文字颜色 */
|
|
23
|
+
color: {
|
|
24
|
+
type: StringConstructor;
|
|
25
|
+
default: string;
|
|
26
|
+
};
|
|
27
|
+
}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
28
|
+
/** 提示内容 */
|
|
29
|
+
tips: {
|
|
30
|
+
type: StringConstructor;
|
|
31
|
+
default: string;
|
|
32
|
+
};
|
|
33
|
+
/** word=悬停图标模式 / box=行内文字模式 */
|
|
34
|
+
type: {
|
|
35
|
+
type: PropType<"word" | "box">;
|
|
36
|
+
default: string;
|
|
37
|
+
};
|
|
38
|
+
/** 图标组件名(InfoFilled/WarningFilled/QuestionFilled) */
|
|
39
|
+
icon: {
|
|
40
|
+
type: StringConstructor;
|
|
41
|
+
default: string;
|
|
42
|
+
};
|
|
43
|
+
/** 图标/文字颜色 */
|
|
44
|
+
color: {
|
|
45
|
+
type: StringConstructor;
|
|
46
|
+
default: string;
|
|
47
|
+
};
|
|
48
|
+
}>> & Readonly<{}>, {
|
|
49
|
+
type: "word" | "box";
|
|
50
|
+
icon: string;
|
|
51
|
+
tips: string;
|
|
52
|
+
color: string;
|
|
53
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
54
|
+
declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
|
|
55
|
+
export default _default;
|
|
56
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
57
|
+
new (): {
|
|
58
|
+
$slots: S;
|
|
59
|
+
};
|
|
60
|
+
};
|