@skyfox2000/webui 1.2.10 → 1.2.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (121) hide show
  1. package/.vscode/settings.json +1 -1
  2. package/lib/AceEditor.d.ts +1 -0
  3. package/lib/BasicLayout.d.ts +1 -0
  4. package/lib/Error403.d.ts +1 -0
  5. package/lib/Error404.d.ts +1 -0
  6. package/lib/ExcelForm.d.ts +1 -0
  7. package/lib/UploadForm.d.ts +1 -0
  8. package/lib/assets/modules/_plugin-vue_export-helper-CHgC5LLL.js +9 -0
  9. package/lib/assets/modules/file-upload-CGyzCx7I.js +204 -0
  10. package/lib/assets/modules/form-excel-DWirWVPA.js +235 -0
  11. package/lib/assets/modules/index-C1zkNPmi.js +109 -0
  12. package/lib/assets/modules/index-Czk7DDWM.js +112 -0
  13. package/lib/assets/modules/menuTabs-BOax-dro.js +671 -0
  14. package/lib/assets/modules/toolIcon-vJF7OgP6.js +50 -0
  15. package/lib/assets/modules/uploadList-BW23uSvi.js +369 -0
  16. package/lib/assets/modules/uploadList-DaUjVXLU.js +2267 -0
  17. package/lib/components/common/button/index.vue.d.ts +41 -0
  18. package/lib/components/common/icon/appicon.vue.d.ts +11 -0
  19. package/lib/components/common/icon/fullscreen.vue.d.ts +3 -0
  20. package/lib/components/common/icon/helper.vue.d.ts +22 -0
  21. package/lib/components/common/icon/index.vue.d.ts +243 -0
  22. package/lib/components/common/icon/layoutIcon.vue.d.ts +43 -0
  23. package/lib/components/common/icon/projectIcon.vue.d.ts +59 -0
  24. package/lib/components/common/icon/toolIcon.vue.d.ts +43 -0
  25. package/lib/components/common/index.d.ts +20 -0
  26. package/lib/components/common/loading/index.vue.d.ts +3 -0
  27. package/lib/components/common/tooltip/index.vue.d.ts +21 -0
  28. package/lib/components/content/dialog/index.vue.d.ts +35 -0
  29. package/lib/components/content/drawer/index.vue.d.ts +28 -0
  30. package/lib/components/content/form/formItem.vue.d.ts +27 -0
  31. package/lib/components/content/form/index.vue.d.ts +25 -0
  32. package/lib/components/content/index.d.ts +22 -0
  33. package/lib/components/content/search/index.vue.d.ts +30 -0
  34. package/lib/components/content/search/searchItem.vue.d.ts +23 -0
  35. package/lib/components/content/table/index.vue.d.ts +36 -0
  36. package/lib/components/content/table/tableOperate.vue.d.ts +18 -0
  37. package/lib/components/content/toolbar/icontool.vue.d.ts +7 -0
  38. package/lib/components/content/toolbar/index.vue.d.ts +18 -0
  39. package/lib/components/content/tree/index.vue.d.ts +46 -0
  40. package/lib/components/form/aceEditor/aceConfig.d.ts +8 -0
  41. package/lib/components/form/autoComplete/index.vue.d.ts +176 -0
  42. package/lib/components/form/cascader/index.vue.d.ts +120 -0
  43. package/lib/components/form/checkbox/index.vue.d.ts +139 -0
  44. package/lib/components/form/datePicker/index.vue.d.ts +6 -0
  45. package/lib/components/form/index.d.ts +39 -0
  46. package/lib/components/form/input/index.vue.d.ts +26 -0
  47. package/lib/components/form/input/inputIcon.vue.d.ts +10 -0
  48. package/lib/components/form/input/inputNumber.vue.d.ts +3 -0
  49. package/lib/components/form/input/inputPassword.vue.d.ts +3 -0
  50. package/lib/components/form/propEditor/index.vue.d.ts +21 -0
  51. package/lib/components/form/radio/index.vue.d.ts +144 -0
  52. package/lib/components/form/radio/radioStatus.vue.d.ts +31 -0
  53. package/lib/components/form/rangePicker/index.vue.d.ts +16 -0
  54. package/lib/components/form/select/index.vue.d.ts +153 -0
  55. package/lib/components/form/switch/index.vue.d.ts +43 -0
  56. package/lib/components/form/textarea/index.vue.d.ts +3 -0
  57. package/lib/components/form/transfer/index.vue.d.ts +38 -0
  58. package/lib/components/form/transfer/transferTable.vue.d.ts +38 -0
  59. package/lib/components/form/treeSelect/index.vue.d.ts +38 -0
  60. package/lib/components/form/upload/uploadList.vue.d.ts +487 -0
  61. package/lib/components/index.d.ts +4 -0
  62. package/lib/components/layout/breadcrumb/index.vue.d.ts +3 -0
  63. package/lib/components/layout/content/index.vue.d.ts +22 -0
  64. package/lib/components/layout/datetime/index.vue.d.ts +3 -0
  65. package/lib/components/layout/header/headerExits.vue.d.ts +3 -0
  66. package/lib/components/layout/header/index.vue.d.ts +3 -0
  67. package/lib/components/layout/header/user.vue.d.ts +3 -0
  68. package/lib/components/layout/index.d.ts +14 -0
  69. package/lib/components/layout/menu/index.vue.d.ts +6 -0
  70. package/lib/components/layout/menu/menuTabs.vue.d.ts +3 -0
  71. package/lib/const/options.d.ts +32 -0
  72. package/lib/directives/enter-submit.d.ts +4 -0
  73. package/lib/directives/index.d.ts +2 -0
  74. package/lib/directives/permission.d.ts +5 -0
  75. package/lib/es/AceEditor/index.js +167 -0
  76. package/lib/es/BasicLayout/index.js +101 -0
  77. package/lib/es/Error403/index.js +39 -0
  78. package/lib/es/Error404/index.js +39 -0
  79. package/lib/es/ExcelForm/index.js +321 -0
  80. package/lib/es/UploadForm/index.js +110 -0
  81. package/lib/index.d.ts +45 -0
  82. package/lib/router/index.d.ts +15 -0
  83. package/lib/stores/appInfo.d.ts +31 -0
  84. package/lib/stores/hostInfo.d.ts +9 -0
  85. package/lib/stores/pageInfo.d.ts +18 -0
  86. package/lib/stores/pinia.d.ts +3 -0
  87. package/lib/stores/settingInfo.d.ts +8 -0
  88. package/lib/stores/userInfo.d.ts +25 -0
  89. package/lib/typings/data.d.ts +80 -0
  90. package/lib/typings/form.d.ts +187 -0
  91. package/lib/typings/menu.d.ts +7 -0
  92. package/lib/typings/option.d.ts +189 -0
  93. package/lib/typings/page.d.ts +70 -0
  94. package/lib/typings/table.d.ts +181 -0
  95. package/lib/typings/tools.d.ts +130 -0
  96. package/lib/typings/tree.d.ts +72 -0
  97. package/lib/typings/upload.d.ts +161 -0
  98. package/lib/typings/urls.d.ts +69 -0
  99. package/lib/utils/cache.d.ts +23 -0
  100. package/lib/utils/data.d.ts +6 -0
  101. package/lib/utils/download.d.ts +4 -0
  102. package/lib/utils/eventbus.d.ts +16 -0
  103. package/lib/utils/export-table.d.ts +12 -0
  104. package/lib/utils/file-upload.d.ts +17 -0
  105. package/lib/utils/form-excel.d.ts +33 -0
  106. package/lib/utils/form-validate.d.ts +29 -0
  107. package/lib/utils/form.d.ts +9 -0
  108. package/lib/utils/icon-loader.d.ts +125 -0
  109. package/lib/utils/isEmpty.d.ts +1 -0
  110. package/lib/utils/main-openapis.d.ts +8 -0
  111. package/lib/utils/menu.d.ts +6 -0
  112. package/lib/utils/options.d.ts +10 -0
  113. package/lib/utils/page.d.ts +25 -0
  114. package/lib/utils/table.d.ts +21 -0
  115. package/lib/utils/tools.d.ts +18 -0
  116. package/lib/utils/tree.d.ts +3 -0
  117. package/lib/vite-env.d.ts +8 -0
  118. package/lib/webui.css +1 -0
  119. package/lib/webui.es.js +2262 -0
  120. package/package.json +4 -4
  121. package/src/components/content/form/formItem.vue +2 -2
@@ -0,0 +1,161 @@
1
+ import { ImgHTMLAttributes } from 'vue';
2
+ import { AjaxResponse, IUrlInfo } from '../../../502417_fapi';
3
+ /**
4
+ * 上传文件的状态枚举
5
+ */
6
+ export enum UploadStatus {
7
+ /** 正在等待上传 */
8
+ Pending = 'pending',
9
+
10
+ /** 正在上传中 */
11
+ Uploading = 'uploading',
12
+
13
+ /** 上传成功 */
14
+ Success = 'success',
15
+
16
+ /** 上传失败 */
17
+ Error = 'error',
18
+
19
+ /** 在线 */
20
+ Online = 'online',
21
+ /** 下线 */
22
+ Offline = 'offline',
23
+ }
24
+
25
+ /**
26
+ * Minio文件格式定义
27
+ */
28
+ export interface MinioFile {
29
+ /**
30
+ * 唯一键,Etag
31
+ */
32
+ ETag: string;
33
+ /**
34
+ * 主键文件名
35
+ */
36
+ Key: string;
37
+ /**
38
+ * - 实际文件名
39
+ */
40
+ FileName?: string;
41
+ /**
42
+ * 文件大小
43
+ */
44
+ Size: number;
45
+ /**
46
+ * 在线状态
47
+ * - Online
48
+ * - Offline
49
+ */
50
+ Status: UploadStatus;
51
+ /**
52
+ * 所属桶
53
+ */
54
+ Bucket?: string;
55
+ /**
56
+ * 文件类型
57
+ */
58
+ Type?: string;
59
+ /**
60
+ * 上传时间
61
+ */
62
+ UpdateTime?: string;
63
+ /**
64
+ * 文件内容
65
+ * - base64
66
+ * - 二进制
67
+ */
68
+ Content?: string | Array;
69
+ }
70
+
71
+ /**
72
+ * 上传文件接口定义
73
+ */
74
+ export interface UploadFile<T = AjaxResponse> {
75
+ /** 文件的唯一标识符 */
76
+ uid: string;
77
+
78
+ /** 文件大小(可选) */
79
+ size?: number;
80
+
81
+ /** 文件名称 */
82
+ name: string;
83
+
84
+ /** 文件名(可选,用于特殊需求) */
85
+ fileName?: string;
86
+
87
+ /** 最后修改时间戳(可选) */
88
+ lastModified?: number;
89
+
90
+ /** 最后修改日期(可选) */
91
+ lastModifiedDate?: Date;
92
+
93
+ /** 文件的网络地址(可选) */
94
+ url?: string;
95
+
96
+ /** 文件上传状态 */
97
+ status?: UploadStatus;
98
+
99
+ /** 文件上传的百分比进度(0 到 100,单位:%) */
100
+ percent?: number;
101
+
102
+ /** 文件的缩略图 URL(可选) */
103
+ thumbUrl?: string;
104
+
105
+ /** 图片的跨域属性(对应 `<img>` 标签的 `crossorigin`) */
106
+ crossOrigin?: ImgHTMLAttributes['crossorigin'];
107
+
108
+ /** 原始文件对象(可选) */
109
+ originFileObj?: any;
110
+
111
+ /** 服务器返回的响应数据(根据 `T` 泛型定义) */
112
+ response?: T;
113
+
114
+ /** 上传错误信息(可选) */
115
+ error?: any;
116
+
117
+ /** 文件链接的附加属性(可用于自定义跳转逻辑等) */
118
+ linkProps?: any;
119
+
120
+ /** 文件类型(MIME 类型) */
121
+ type?: string;
122
+
123
+ /** XMLHttpRequest 对象(可选,底层上传使用的请求对象) */
124
+ xhr?: T;
125
+
126
+ /** 文件预览 URL(可选,用于生成临时预览图片等) */
127
+ preview?: string;
128
+
129
+ /**
130
+ * 自定义上传参数
131
+ * 仅支持字符串或二进制
132
+ */
133
+ params: Record<string, string | Blob>;
134
+
135
+ /**
136
+ * minio文件信息
137
+ */
138
+ minioFile?: MinioFile;
139
+ }
140
+
141
+ /**
142
+ * Excel文件上传参数
143
+ */
144
+ export interface ExcelFileParams {
145
+ /**
146
+ * 基础路径
147
+ */
148
+ basePath?: string;
149
+ /**
150
+ * 上传地址和参数
151
+ */
152
+ uploadUrl: IUrlInfo;
153
+ /**
154
+ * 重复数据检测,限制重复的字段
155
+ */
156
+ duplicateRules?: Array<string>;
157
+ /**
158
+ * 重复数据服务端检测
159
+ */
160
+ duplicateUrl?: IUrlInfo;
161
+ }
@@ -0,0 +1,69 @@
1
+ import { IUrlInfo, RequestOptions } from '../../../502417_fapi';
2
+ /**
3
+ * 请求相关常用地址接口定义
4
+ */
5
+ export interface ReqUrls {
6
+ /**
7
+ * 获取分页数据列表
8
+ */
9
+ find?: IUrlInfo;
10
+ /**
11
+ * 获取数据列表
12
+ */
13
+ list?: IUrlInfo;
14
+ /**
15
+ * 获取树列表
16
+ */
17
+ tree?: IUrlInfo;
18
+ /**
19
+ * 获取数据详情
20
+ */
21
+ detail?: IUrlInfo;
22
+ /**
23
+ * 默认保存数据地址
24
+ */
25
+ save?: IUrlInfo;
26
+ /**
27
+ * 默认新增数据地址
28
+ */
29
+ insert?: IUrlInfo;
30
+ /**
31
+ * 默认更新数据地址
32
+ */
33
+ update?: IUrlInfo;
34
+ /**
35
+ * 默认删除数据地址
36
+ */
37
+ delete?: IUrlInfo;
38
+ /**
39
+ * 默认上传地址
40
+ */
41
+ upload?: IUrlInfo;
42
+ /**
43
+ * 默认下载地址
44
+ */
45
+ download?: IUrlInfo;
46
+
47
+ [key: string]: IUrlInfo | undefined;
48
+ }
49
+
50
+ export interface ApiUrls {
51
+ /**
52
+ * 所使用的API地址
53
+ * - API_HOST字段名
54
+ */
55
+ api: string;
56
+ /**
57
+ * 是否需要授权Token
58
+ * 方法内配置授权,返回是否允许继续调用
59
+ * @param options 请求实际参数配置
60
+ * @param urlInfo 前端请求配置
61
+ * @param token 当前token
62
+ * @returns 是否允许调用接口
63
+ */
64
+ authorize?: boolean | ((options: RequestOptions, urlInfo: IUrlInfo, token: string) => boolean);
65
+ /**
66
+ * 常用接口定义
67
+ */
68
+ urls: ReqUrls;
69
+ }
@@ -0,0 +1,23 @@
1
+ export declare enum CacheKeys {
2
+ SYS_CONFIG = "SYS_CONFIG_",
3
+ APP_MENU = "APP_MENU_",
4
+ DICT_TYPE = "DICT_TYPE_",
5
+ HOST_INFO = "HOST_INFO_",
6
+ APP_PERMITS = "APP_PERMITS_",
7
+ USER_SETTINGS = "USER_SETTINGS_",
8
+ DICT_DATA = "DICT_DATA_",
9
+ COMMON_OPTIONS = "COMMON_OPTIONS_"
10
+ }
11
+ export declare class Cache {
12
+ static setWithServerTime<T>(key: string, data: T, lastTime: number): void;
13
+ static setData<T>(key: string, data: T): void;
14
+ static getData<T>(key: string): T | null;
15
+ static remove(key: string): void;
16
+ static clearByPrefix(prefix: string): void;
17
+ static clearAll(): void;
18
+ private static isTimedData;
19
+ }
20
+ export interface LastTimeMap {
21
+ [key: string]: number;
22
+ }
23
+ export declare function initCacheCheck(): Promise<void>;
@@ -0,0 +1,6 @@
1
+ import { AnyControl, ExecuteOptions, PostOptions } from '../typings/data.d';
2
+ import { ApiResponse } from '../../../502417_fapi';
3
+ export declare const doQuery: <T>(control: AnyControl, options: PostOptions<T>) => Promise<ApiResponse<T> | null>;
4
+ export declare const doExecute: <T>(control: AnyControl, options: ExecuteOptions<T>) => Promise<ApiResponse<T> | null>;
5
+ export declare const doSave: <T>(control: AnyControl, options?: Partial<ExecuteOptions<T>>) => Promise<ApiResponse<T> | null>;
6
+ export declare const doDelete: <T>(control: AnyControl, record: string[] | Record<string, any>, options?: Partial<ExecuteOptions<T>>) => Promise<ApiResponse<T> | null>;
@@ -0,0 +1,4 @@
1
+ import { PageControl } from '../typings/page.d';
2
+ import { IUrlInfo, ReqParams } from '../../../502417_fapi';
3
+ export declare const downloadBlob: (blob: Blob, fileName: string) => void;
4
+ export declare const donwloadFromMinio: <T>(url: IUrlInfo, params?: ReqParams, pageCtrl?: PageControl<T>) => Promise<undefined> | undefined;
@@ -0,0 +1,16 @@
1
+ export declare enum EventPrefix {
2
+ SelectReload = "Select.Reload",
3
+ RadioReload = "Radio.Reload",
4
+ CheckboxReload = "Checkbox.Reload",
5
+ TreeSelectReload = "TreeSelect.Reload",
6
+ TreeCheckReload = "TreeCheck.Reload"
7
+ }
8
+ declare class EventBus {
9
+ private listeners;
10
+ private isValidPrefix;
11
+ on(event: string, listener: (...args: any[]) => void): void;
12
+ off(event: string, listener: (...args: any[]) => void): void;
13
+ emit(event: string, ...args: any[]): void;
14
+ }
15
+ declare const eventBus: EventBus;
16
+ export default eventBus;
@@ -0,0 +1,12 @@
1
+ import { GridControl } from '../typings/table.d';
2
+ import { IUrlInfo } from '../../../502417_fapi';
3
+ export interface TableColumn {
4
+ title: string;
5
+ dataIndex?: string;
6
+ key?: string;
7
+ visible?: boolean;
8
+ export?: boolean;
9
+ customRender?: (value: any, record: Record<string, any>) => any;
10
+ }
11
+ export declare const exportSelectedRows: <T extends Record<string, any>>(fileName: string, columns: TableColumn[], selectRows: T[]) => Promise<void>;
12
+ export declare const exportResults: <T extends Record<string, any>>(fileName: string, columns: TableColumn[], gridCtrl: GridControl<T>, url: IUrlInfo) => Promise<undefined>;
@@ -0,0 +1,17 @@
1
+ import { IUrlInfo } from '../../../502417_fapi';
2
+ import { UploadFile } from '../typings/upload.d';
3
+ import { Ref } from 'vue';
4
+ export declare class path {
5
+ static join(...args: (string | undefined | null)[]): string;
6
+ }
7
+ export declare class AsyncUploader {
8
+ private urlInfo;
9
+ private maxConcurrent;
10
+ private abortController?;
11
+ constructor(urlInfo: IUrlInfo, maxConcurrent?: number);
12
+ doUpload(fileList: UploadFile[], loading: Ref<boolean>, continueOnError: boolean, onComplete?: (result: boolean, files: UploadFile[]) => void, onProgress?: (file: UploadFile) => void): Promise<void>;
13
+ private uploadFiles;
14
+ private handleFileStatus;
15
+ uploadFile(file: UploadFile, signal: AbortSignal, onProgress: (percent: number) => void): Promise<UploadFile>;
16
+ cancelUpload(): void;
17
+ }
@@ -0,0 +1,33 @@
1
+ import { IUrlInfo } from '../../../502417_fapi';
2
+ import { ValidateRule } from '../typings/form';
3
+ import { UploadFile } from '../typings/upload';
4
+ import { Workbook, Worksheet } from 'exceljs';
5
+ export type ExcelMarkCell = {
6
+ row: number;
7
+ col: number;
8
+ color?: string;
9
+ };
10
+ export type ExcelMarkInfo = {
11
+ markCells: ExcelMarkCell[];
12
+ markHeaders?: string[];
13
+ };
14
+ export declare const processExcelFile: (excelBuffer: ArrayBuffer) => Promise<{
15
+ workbook: Workbook;
16
+ worksheet: Worksheet;
17
+ headers: string[];
18
+ excelData: Record<string, any>[];
19
+ excelRows: any[][];
20
+ } | null>;
21
+ export declare const createMarkedExcelBlob: (excelBuffer: ArrayBuffer, markInfo: ExcelMarkInfo) => Promise<{
22
+ hasError: boolean;
23
+ errBlob?: Blob;
24
+ }>;
25
+ export declare const validateExcel: (excelBuffer: ArrayBuffer, rules?: Record<string, ValidateRule>) => Promise<{
26
+ hasError: boolean;
27
+ errBlob?: Blob;
28
+ }>;
29
+ export declare const checkExcelDuplicates: (excelBuffer: ArrayBuffer, duplicateRules: string[], url?: IUrlInfo) => Promise<{
30
+ hasError: boolean;
31
+ errBlob?: Blob;
32
+ }>;
33
+ export declare const appendExcelData: (fileInfo: UploadFile, fileData: Record<string, any>, fields?: string[]) => Promise<void>;
@@ -0,0 +1,29 @@
1
+ import { Ref } from 'vue';
2
+ import { default as Validator } from 'async-validator';
3
+ import { EditorControl, InputFactoryItems, ValidateRule } from '../typings/form.d';
4
+ import { AnyData } from '../../../502417_fapi';
5
+ export declare let validMessages: Validator;
6
+ export declare const initValidate: (messages?: Record<string, any>) => void;
7
+ export declare const getRuleTexts: (rules?: Record<string, ValidateRule>) => {
8
+ field: string;
9
+ rules: string[];
10
+ }[];
11
+ export declare const formValidate: <T>(editorCtrl: EditorControl<T>) => Promise<void>;
12
+ export declare const validateData: (data: Record<string, AnyData>, rules: Record<string, ValidateRule>, validator?: Validator) => Promise<any>;
13
+ export declare const resetRules: <T>(editorCtrl: EditorControl<T>) => void;
14
+ interface RuleFactoryOptions {
15
+ label?: string;
16
+ rule?: string;
17
+ }
18
+ export declare const useInputFactory: () => InputFactoryItems<AnyData>;
19
+ export declare const useFormItemFactory: (options: RuleFactoryOptions, editorCtrl?: EditorControl<AnyData>) => Ref<{
20
+ msg: string;
21
+ errClass: string;
22
+ }, {
23
+ msg: string;
24
+ errClass: string;
25
+ } | {
26
+ msg: string;
27
+ errClass: string;
28
+ }>;
29
+ export {};
@@ -0,0 +1,9 @@
1
+ import { EditorControl } from '../typings/form.d';
2
+ export declare const onFormSave: <T>(editorCtrl: EditorControl<T>) => void;
3
+ export declare const onFormSaveAs: <T>(editorCtrl: EditorControl<T>) => void;
4
+ export declare const onFormClose: <T>(editorCtrl: EditorControl<T>) => void;
5
+ export declare const saveForm: <T>(editorCtrl: EditorControl<T>) => Promise<void>;
6
+ export declare const getFormDetail: <T>(editorCtrl: EditorControl<T>) => Promise<void>;
7
+ export declare const openNewForm: <T>(editorCtrl: EditorControl<T>) => void;
8
+ export declare const setFormData: <T>(editorCtrl: EditorControl<T>, formData?: T) => void;
9
+ export declare const resetForm: <T>(editorCtrl: EditorControl<T>) => void;
@@ -0,0 +1,125 @@
1
+ import { Ref, VNode, RendererNode, RendererElement, DefineComponent, ExtractPropTypes, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
2
+ export type IconFontOptions = {
3
+ iconUrl: string;
4
+ monoColor?: boolean;
5
+ icon?: string;
6
+ icons?: string[];
7
+ };
8
+ export declare const ICONS_LIB: Ref<Record<string, any>, Record<string, any>>;
9
+ export declare const createFromIconfont: (options: IconFontOptions) => VNode<RendererNode, RendererElement, {
10
+ [key: string]: any;
11
+ }> | DefineComponent<ExtractPropTypes<{
12
+ icon: {
13
+ type: StringConstructor;
14
+ };
15
+ icons: {
16
+ type: {
17
+ (arrayLength: number): string[];
18
+ (...items: string[]): string[];
19
+ new (arrayLength: number): string[];
20
+ new (...items: string[]): string[];
21
+ isArray(arg: any): arg is any[];
22
+ readonly prototype: any[];
23
+ from<T>(arrayLike: ArrayLike<T>): T[];
24
+ from<T, U>(arrayLike: ArrayLike<T>, mapfn: (v: T, k: number) => U, thisArg?: any): U[];
25
+ from<T>(iterable: Iterable<T> | ArrayLike<T>): T[];
26
+ from<T, U>(iterable: Iterable<T> | ArrayLike<T>, mapfn: (v: T, k: number) => U, thisArg?: any): U[];
27
+ of<T>(...items: T[]): T[];
28
+ readonly [Symbol.species]: ArrayConstructor;
29
+ };
30
+ };
31
+ iconIndex: {
32
+ type: NumberConstructor;
33
+ };
34
+ clickable: {
35
+ type: BooleanConstructor;
36
+ };
37
+ angle: {
38
+ type: NumberConstructor;
39
+ };
40
+ flip: {
41
+ type: BooleanConstructor;
42
+ };
43
+ class: {
44
+ type: (StringConstructor | {
45
+ (arrayLength: number): string[];
46
+ (...items: string[]): string[];
47
+ new (arrayLength: number): string[];
48
+ new (...items: string[]): string[];
49
+ isArray(arg: any): arg is any[];
50
+ readonly prototype: any[];
51
+ from<T>(arrayLike: ArrayLike<T>): T[];
52
+ from<T, U>(arrayLike: ArrayLike<T>, mapfn: (v: T, k: number) => U, thisArg?: any): U[];
53
+ from<T>(iterable: Iterable<T> | ArrayLike<T>): T[];
54
+ from<T, U>(iterable: Iterable<T> | ArrayLike<T>, mapfn: (v: T, k: number) => U, thisArg?: any): U[];
55
+ of<T>(...items: T[]): T[];
56
+ readonly [Symbol.species]: ArrayConstructor;
57
+ })[];
58
+ default: string;
59
+ };
60
+ }>, {
61
+ isLoaded: Ref<boolean, boolean>;
62
+ Icon: Ref<string, string>;
63
+ handleClick: () => void;
64
+ }, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, "update:iconIndex"[], "update:iconIndex", PublicProps, Readonly< ExtractPropTypes<{
65
+ icon: {
66
+ type: StringConstructor;
67
+ };
68
+ icons: {
69
+ type: {
70
+ (arrayLength: number): string[];
71
+ (...items: string[]): string[];
72
+ new (arrayLength: number): string[];
73
+ new (...items: string[]): string[];
74
+ isArray(arg: any): arg is any[];
75
+ readonly prototype: any[];
76
+ from<T>(arrayLike: ArrayLike<T>): T[];
77
+ from<T, U>(arrayLike: ArrayLike<T>, mapfn: (v: T, k: number) => U, thisArg?: any): U[];
78
+ from<T>(iterable: Iterable<T> | ArrayLike<T>): T[];
79
+ from<T, U>(iterable: Iterable<T> | ArrayLike<T>, mapfn: (v: T, k: number) => U, thisArg?: any): U[];
80
+ of<T>(...items: T[]): T[];
81
+ readonly [Symbol.species]: ArrayConstructor;
82
+ };
83
+ };
84
+ iconIndex: {
85
+ type: NumberConstructor;
86
+ };
87
+ clickable: {
88
+ type: BooleanConstructor;
89
+ };
90
+ angle: {
91
+ type: NumberConstructor;
92
+ };
93
+ flip: {
94
+ type: BooleanConstructor;
95
+ };
96
+ class: {
97
+ type: (StringConstructor | {
98
+ (arrayLength: number): string[];
99
+ (...items: string[]): string[];
100
+ new (arrayLength: number): string[];
101
+ new (...items: string[]): string[];
102
+ isArray(arg: any): arg is any[];
103
+ readonly prototype: any[];
104
+ from<T>(arrayLike: ArrayLike<T>): T[];
105
+ from<T, U>(arrayLike: ArrayLike<T>, mapfn: (v: T, k: number) => U, thisArg?: any): U[];
106
+ from<T>(iterable: Iterable<T> | ArrayLike<T>): T[];
107
+ from<T, U>(iterable: Iterable<T> | ArrayLike<T>, mapfn: (v: T, k: number) => U, thisArg?: any): U[];
108
+ of<T>(...items: T[]): T[];
109
+ readonly [Symbol.species]: ArrayConstructor;
110
+ })[];
111
+ default: string;
112
+ };
113
+ }>> & Readonly<{
114
+ "onUpdate:iconIndex"?: ((...args: any[]) => any) | undefined;
115
+ }>, {
116
+ class: string | string[];
117
+ clickable: boolean;
118
+ flip: boolean;
119
+ }, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
120
+ export declare const checkIconsExpired: () => void;
121
+ export declare const circleLoading: VNode<RendererNode, RendererElement, {
122
+ [key: string]: any;
123
+ }>;
124
+ export declare const parseIcons: (key: string, monoColor: boolean) => void;
125
+ export declare const getIconTransform: (angle?: number, flip?: boolean) => string;
@@ -0,0 +1 @@
1
+ export declare const isEmpty: <T>(data: T | null | undefined) => boolean;
@@ -0,0 +1,8 @@
1
+ import { ApiResponse } from '../../../502417_fapi';
2
+ import { AppInfo, HostInfo, LoginInfo, UserInfo } from '../../../502424_MicroBase';
3
+ export declare const getHostInfo: () => HostInfo;
4
+ export declare const getAppInfo: () => AppInfo;
5
+ export declare const userLogin: (loginInfo: LoginInfo) => Promise<ApiResponse<LoginInfo> | void>;
6
+ export declare const userLogout: () => Promise<ApiResponse<void> | void>;
7
+ export declare const getToken: () => string;
8
+ export declare const getUserInfo: () => UserInfo;
@@ -0,0 +1,6 @@
1
+ import { BreadcrumbRoute } from '../typings/menu';
2
+ import { RouteRecord } from '../../../502424_MicroBase';
3
+ import { Component } from 'vue';
4
+ export declare const initMenu: <T>(routes: RouteRecord[], menuData: T[], iconCom: Component, iconProps?: Record<string, any>) => void;
5
+ export declare const crumbs: BreadcrumbRoute[];
6
+ export declare const showBreadcrumb: () => void;
@@ -0,0 +1,10 @@
1
+ import { IUrlInfo, ReqParams } from '../../../502417_fapi';
2
+ import { Ref } from 'vue';
3
+ import { OptionProps, OptionItemProps, SelectValue } from '../typings/option.d';
4
+ import { InputFactoryItems } from '../typings/form.d';
5
+ export declare const loadOption: (autoload: boolean, props: OptionProps, options: Ref<OptionItemProps[]>, inputFactory?: InputFactoryItems<any>, url?: IUrlInfo, params?: ReqParams) => void;
6
+ export declare const unloadOption: (props: OptionProps, inputFactory?: InputFactoryItems<any>) => void;
7
+ export declare const getSelectedValues: (values: undefined | string | number | (string | number | undefined)[], options: OptionItemProps[]) => OptionItemProps | OptionItemProps[] | undefined;
8
+ export declare const outFormDataFields: (formData: Record<string, any>, outFields: Record<string, string>, selectedValues?: OptionItemProps | OptionItemProps[] | null) => void;
9
+ export declare const onOptionChanged: (props: OptionProps, values: undefined | SelectValue, options: Ref<OptionItemProps[]>, inputFactory: InputFactoryItems<any>) => OptionItemProps | OptionItemProps[] | undefined;
10
+ export declare const getSelectedLabels: (selectedValues: OptionItemProps | OptionItemProps[] | undefined) => string[];
@@ -0,0 +1,25 @@
1
+ import { ApiUrls } from '../typings/urls.d';
2
+ import { ValidateRule, EditorControl, EditorControlOption } from '../typings/form.d';
3
+ import { GridControl, GridControlOption } from '../typings/table.d';
4
+ import { PageControl, PageControlOption } from '../typings/page.d';
5
+ import { TreeControl, TreeControlOption } from '../typings/tree.d';
6
+ export declare const initPageFactory: (options: {
7
+ pageOption?: PageControlOption;
8
+ gridOption?: GridControlOption;
9
+ editorOptions?: EditorControlOption;
10
+ treeOption?: TreeControlOption;
11
+ }) => void;
12
+ export declare const useEditorFactory: <T, E>(urls: ApiUrls, pageCtrl: PageControl<T>, defaultData?: Partial<E>, formRules?: Record<string, ValidateRule>) => {
13
+ editorCtrl: EditorControl<E>;
14
+ };
15
+ export declare const useGridFactory: <T, G>(urls: ApiUrls, pageCtrl: PageControl<T>, columns?: Record<string, any>[]) => {
16
+ gridCtrl: GridControl<G>;
17
+ };
18
+ export declare const useTreeFactory: <T>(urls: ApiUrls, pageCtrl: PageControl<T>) => {
19
+ treeCtrl: TreeControl;
20
+ };
21
+ export declare const usePageFactory: <T>(urls: ApiUrls, defaultData?: Partial<T>, formRules?: Record<string, ValidateRule>) => {
22
+ pageCtrl: PageControl<T>;
23
+ editorCtrl: EditorControl<T>;
24
+ gridCtrl: GridControl<T>;
25
+ };
@@ -0,0 +1,21 @@
1
+ import { GridControl } from '../typings/table.d';
2
+ import { ExecuteOptions } from '../typings/data.d';
3
+ import { RowRecord } from '../typings/tools.d';
4
+ import { AnyJsonData, ApiResponse, FindResult, IUrlInfo, ReqParams } from '../../../502417_fapi';
5
+ interface TableColumn {
6
+ role?: string;
7
+ permit?: string;
8
+ visible?: boolean | (() => boolean);
9
+ [key: string]: any;
10
+ }
11
+ export declare const filterColumns: (columns: TableColumn[], toolCtl?: boolean) => TableColumn[];
12
+ export declare const mergeColumns: (newColumns: TableColumn[], oldColumns?: TableColumn[]) => TableColumn[];
13
+ export declare const gridQueryList: <T>(gridCtrl: GridControl<T>) => Promise<T[]>;
14
+ export declare const gridQueryFind: <T>(gridCtrl: GridControl<T>) => Promise<FindResult>;
15
+ export declare const gridRowUpdate: <T>(gridCtrl: GridControl<T>, record: Record<string, any>, options?: Partial<ExecuteOptions<T>>) => Promise<any | undefined>;
16
+ export declare const gridStatusUpdate: <T>(gridCtrl: GridControl<T>, record: Record<string, any>) => Promise<any | undefined>;
17
+ export declare const getRecordDetail: <T>(gridCtrl: GridControl<T>, params: ReqParams, url?: IUrlInfo) => Promise<ApiResponse<AnyJsonData> | null>;
18
+ export declare const onGridRowExpand: <T>(gridCtrl: GridControl<T>, record: T) => Promise<ApiResponse<any> | null>;
19
+ export declare const onGridRowEdit: <T>(gridCtrl: GridControl<T>, record: T) => void;
20
+ export declare const onGridRowDelete: <T>(gridCtrl: GridControl<T>, record: string[] | RowRecord | T) => Promise<ApiResponse<T> | null>;
21
+ export {};
@@ -0,0 +1,18 @@
1
+ import { GridControl } from '../typings/table.d';
2
+ import { PageControl } from '../typings/page.d';
3
+ import { RowRecord, ButtonTool, IconTool } from '../typings/tools';
4
+ export declare const getToolByKey: (defaultTools: (IconTool | ButtonTool)[], key: string) => ButtonTool | IconTool | undefined;
5
+ export declare const getToolGroup: (defaultTools: (IconTool | ButtonTool)[], autoFlat: number, tools?: (IconTool | ButtonTool | string)[]) => {
6
+ buttons: (ButtonTool | IconTool)[];
7
+ menus: (ButtonTool | IconTool)[];
8
+ };
9
+ export declare const getToolStatus: (item: IconTool | ButtonTool, record?: Record<string, any>) => boolean | undefined;
10
+ export declare const getToolVisible: (item: IconTool | ButtonTool, record?: Record<string, any>) => boolean;
11
+ export declare const onReloadClick: <T>(_: PageControl<T>, gridCtrl?: GridControl<T>) => void;
12
+ export declare const onToolClicked: <T>(item: IconTool | ButtonTool, pageCtrl?: PageControl<T>, gridCtrl?: GridControl<T>, record?: T | RowRecord | string[], confirm?: true) => void;
13
+ export declare const onFullscreenClick: () => void;
14
+ export declare const onColumnVisibleChanged: (column: any, checked: boolean) => void;
15
+ export declare const defaultTools: IconTool[];
16
+ export declare const useToolFactory: <T>(gridCtrl: GridControl<T>) => {
17
+ tools: IconTool[];
18
+ };
@@ -0,0 +1,3 @@
1
+ import { TreeControl, TreeNode } from '../typings/tree.d';
2
+ import { ReqParams } from '../../../502417_fapi';
3
+ export declare const queryTree: (treeCtrl: TreeControl, params?: ReqParams) => Promise<TreeNode[]>;
@@ -0,0 +1,8 @@
1
+ /// <reference types="vite/client" />
2
+
3
+ //解决ts文件引入vue文件出现红色警告问题
4
+ declare module '*.vue' {
5
+ import { defineComponent } from 'vue';
6
+ const Component: ReturnType<typeof defineComponent>;
7
+ export default Component;
8
+ }