import Vue, { VNode, ComponentInternalInstance, ToRefs } from "vue";
|
import type { FormInstance, FormRules } from "element-plus";
|
declare global {
|
type ComponentInternalInstance = ComponentInternalInstance & howType;
|
namespace JSX {
|
interface Element extends VNode {}
|
interface ElementClass extends Vue {}
|
interface IntrinsicElements {
|
[elem: string]: any;
|
}
|
}
|
/**
|
* 通用公共类型定义
|
*/
|
namespace Common {
|
/**
|
* 分页查询参数类型
|
* @pageNum 页码
|
* @pageSize 页大小
|
* @param 自定义参数 string | number | T
|
*/
|
interface queryPageParamsType<T = any> {
|
pageNum: number;
|
pageSize: number;
|
[name: string]: string | number | T;
|
}
|
/**
|
* 普通查询参数类型
|
* @param 自定义参数 string | T | V
|
*/
|
interface queryParamsType<T = unknown, V = unknown> {
|
[name: string]: string | T | V;
|
}
|
/**
|
* 表单类型
|
* @data 数据对象
|
* @dialogTitle 标题
|
* @handleStatus 表单类型 1新增 2修改 3详情
|
* @isOpenFormData 是否展开
|
* @rules 校验规则
|
* @formRef 实例
|
* @param 辅助对象 string | number | T
|
*/
|
interface formDataType<T = any> {
|
data: T;
|
dialogTitle: string; //表单标题
|
handleStatus: number; //表单类型
|
isOpenFormData: boolean; //
|
rules?: FormRules;
|
readonly formRef?: FormInstance | null;
|
[name: string]: any;
|
}
|
/**
|
* 页面公共数据类型
|
* @dataTable 数据列表
|
* @total 数据总条数
|
* @power 页面权限控制
|
* @showSearch 查询条件显隐
|
* @param
|
*/
|
interface stateType<T, V = any> {
|
dataTable: Array<T>;
|
total: number;
|
power?: power;
|
showSearch?: boolean;
|
[name: string]: string | V;
|
}
|
/**
|
* 权限类型
|
* @add 新增
|
* @multiple 删除
|
* @edit 修改
|
* @export 导出
|
* @other 其他辅助权限 1 2 3 4
|
*/
|
interface power {
|
add: boolean;
|
multiple: boolean;
|
single: boolean;
|
export?: boolean;
|
other?: number;
|
}
|
}
|
/**
|
* 字典类型
|
*/
|
namespace Dict {
|
/**
|
*
|
*/
|
interface dictType {
|
label: string;
|
value: string;
|
elTagType: string;
|
elTagClass: string;
|
}
|
interface resDictType {
|
[name: string]: Array<dictType>;
|
}
|
}
|
|
/**
|
* 通用接口类型
|
*/
|
interface RespondDataType<T = any> {
|
/**
|
* @说明 code状态码
|
*/
|
code: number;
|
/**
|
* @说明 数据内容
|
*/
|
data: T;
|
/**
|
* @说明 状态消息
|
*
|
*/
|
msg: string;
|
}
|
|
/**
|
* 通用分页接口类型
|
*/
|
interface RespondPageType<T = any> {
|
/**
|
* @说明 code状态码
|
*/
|
code: number;
|
/**
|
* @说明 分页数据内容
|
*/
|
rows: Array<T>;
|
/**
|
* @说明 分页总条数
|
*/
|
total: number;
|
/**
|
* @说明 状态消息
|
*
|
*/
|
msg: string;
|
}
|
}
|