Migrate old admin modules and local crud deps

Port pages for data forms, score admin, student maintenance,
vacation records, menu routing, and workbench. Add team switching,
dynamic menu loading, viewport scaling, and bundled local fast-crud
packages.
This commit is contained in:
2026-11-02 12:21:25 +08:00
parent 47dd605067
commit 792131228a
232 changed files with 60676 additions and 604 deletions
@@ -0,0 +1,45 @@
import { PropType } from "vue";
import { EditableCell, EditableProps } from "../../../d";
/**
* 可编辑单元格组件
*/
declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
/**
* 组件配置
*/
item: {};
scope: {};
index: {};
editableId: {};
columnKey: {};
editableCell: {
type: PropType<EditableCell>;
};
editableOpts: {
type: PropType<EditableProps>;
};
slots: {};
disabled: {};
readonly: {};
}>, () => void, {}, {}, {
getTargetRef(): any;
}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
/**
* 组件配置
*/
item: {};
scope: {};
index: {};
editableId: {};
columnKey: {};
editableCell: {
type: PropType<EditableCell>;
};
editableOpts: {
type: PropType<EditableProps>;
};
slots: {};
disabled: {};
readonly: {};
}>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
export default _default;
@@ -0,0 +1,4 @@
import { EditableTable } from "../../../d";
export declare function useEditable(props: any, ctx: any, tableRef: any): {
editable: EditableTable;
};
@@ -0,0 +1,3 @@
import Schema from "async-validator";
import { EditableCell } from "../../../d";
export declare function createValidator(editableCells: Record<string, EditableCell>): Schema;
+45
View File
@@ -0,0 +1,45 @@
import { PropType } from "vue";
import { ConditionalRenderProps } from "../../d";
/**
* 单元格显示组件
*/
declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
item: {};
/**
* scope
*/
scope: {
default(): {};
};
/**
* 插槽
*/
slots: {};
/**
* 条件渲染,符合条件的情况下优先渲染
*/
conditionalRender: {
type: PropType<ConditionalRenderProps<any>>;
};
}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
item: {};
/**
* scope
*/
scope: {
default(): {};
};
/**
* 插槽
*/
slots: {};
/**
* 条件渲染,符合条件的情况下优先渲染
*/
conditionalRender: {
type: PropType<ConditionalRenderProps<any>>;
};
}>> & Readonly<{}>, {
scope: unknown;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
export default _default;
@@ -0,0 +1,72 @@
import "./fs-form-wrapper.less";
/**
* 表单对话框|抽屉
* 暴露方法:
* open(options)
*/
declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
/**
* 表单配置
* {
* wrapper:{ //表单包装配置
* is: 'el-dialog'//el-dialog|a-modal|el-drawer|a-drawer,
* draggable: false, //是否支持拖动
* inner:false //是否在页面内部打开
* }
* ...FsForm配置
* }
*/
options: {};
/**
* 插槽
*/
slots: {};
/**
* 是否在内部打开对话框
*/
inner: {};
/**
* 内部打开对话框的wrapper
*/
innerWrapper: {};
id: {};
zIndex: {};
}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("reset" | "submit" | "open" | "mounted" | "validationError" | "value-change" | "opened" | "closed" | "inner-change")[], "reset" | "submit" | "open" | "mounted" | "validationError" | "value-change" | "opened" | "closed" | "inner-change", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
/**
* 表单配置
* {
* wrapper:{ //表单包装配置
* is: 'el-dialog'//el-dialog|a-modal|el-drawer|a-drawer,
* draggable: false, //是否支持拖动
* inner:false //是否在页面内部打开
* }
* ...FsForm配置
* }
*/
options: {};
/**
* 插槽
*/
slots: {};
/**
* 是否在内部打开对话框
*/
inner: {};
/**
* 内部打开对话框的wrapper
*/
innerWrapper: {};
id: {};
zIndex: {};
}>> & Readonly<{
onReset?: (...args: any[]) => any;
onSubmit?: (...args: any[]) => any;
onMounted?: (...args: any[]) => any;
onOpen?: (...args: any[]) => any;
onValidationError?: (...args: any[]) => any;
"onValue-change"?: (...args: any[]) => any;
onOpened?: (...args: any[]) => any;
onClosed?: (...args: any[]) => any;
"onInner-change"?: (...args: any[]) => any;
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
export default _default;
+163
View File
@@ -0,0 +1,163 @@
import { PropType } from "vue";
import "./fs-table.less";
import { ConditionalRenderProps, EditableProps, TableColumnsProps } from "../../d";
/**
* fs-table,表格封装
* 支持el-table/a-table的参数
*/
declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
tableVersion: {
type: PropType<string>;
};
/**
* table插槽
*/
slots: {
type: PropType<any>;
};
/**
* 单元格插槽
*/
cellSlots: {
type: PropType<any>;
};
/**
* 列配置,支持el-table-column|a-table-column配置
*/
columns: {
type: PropType<TableColumnsProps>;
default: any;
};
/**
* 操作列
*/
rowHandle: {
type: PropType<any>;
};
/**
* 是否显示表格
*/
show: {
type: BooleanConstructor;
default: boolean;
};
/**
* 表格数据
*/
data: {
type: ArrayConstructor;
default: () => any[];
};
conditionalRender: {
type: PropType<ConditionalRenderProps>;
};
/**
* 行编辑,批量编辑
*/
editable: {
type: PropType<EditableProps>;
default(): {};
};
loading: {
type: BooleanConstructor;
default: boolean;
};
/**
* 当前sort状态
*/
sort: {
type: PropType<any>;
};
request: {
type: PropType<any>;
};
rowKey: {
type: (FunctionConstructor | StringConstructor)[];
default: string;
};
}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("value-change" | "row-handle" | "pagination-change" | "filter-change" | "sort-change" | "data-change")[], "value-change" | "row-handle" | "pagination-change" | "filter-change" | "sort-change" | "data-change", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
tableVersion: {
type: PropType<string>;
};
/**
* table插槽
*/
slots: {
type: PropType<any>;
};
/**
* 单元格插槽
*/
cellSlots: {
type: PropType<any>;
};
/**
* 列配置,支持el-table-column|a-table-column配置
*/
columns: {
type: PropType<TableColumnsProps>;
default: any;
};
/**
* 操作列
*/
rowHandle: {
type: PropType<any>;
};
/**
* 是否显示表格
*/
show: {
type: BooleanConstructor;
default: boolean;
};
/**
* 表格数据
*/
data: {
type: ArrayConstructor;
default: () => any[];
};
conditionalRender: {
type: PropType<ConditionalRenderProps>;
};
/**
* 行编辑,批量编辑
*/
editable: {
type: PropType<EditableProps>;
default(): {};
};
loading: {
type: BooleanConstructor;
default: boolean;
};
/**
* 当前sort状态
*/
sort: {
type: PropType<any>;
};
request: {
type: PropType<any>;
};
rowKey: {
type: (FunctionConstructor | StringConstructor)[];
default: string;
};
}>> & Readonly<{
"onValue-change"?: (...args: any[]) => any;
"onRow-handle"?: (...args: any[]) => any;
"onPagination-change"?: (...args: any[]) => any;
"onFilter-change"?: (...args: any[]) => any;
"onSort-change"?: (...args: any[]) => any;
"onData-change"?: (...args: any[]) => any;
}>, {
data: unknown[];
columns: TableColumnsProps;
loading: boolean;
show: boolean;
editable: EditableProps;
rowKey: string | Function;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
export default _default;
@@ -0,0 +1,9 @@
import { Ref } from "vue";
export declare function useComponentRefProvider(componentsRef: Ref): {
getter: (index: number, key: string) => any;
setter: (index: number, key: string, value: any) => Ref<any, any>;
};
export declare function useComponentRefInject(): {
getter: unknown;
setter: unknown;
};