global.d.ts 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167
  1. import type { PropType as VuePropType, ComponentInternalInstance as ComponentInstance } from 'vue';
  2. import { LanguageEnum } from '@/enums/LanguageEnum';
  3. import { NavTypeEnum } from '@/enums/NavTypeEnum';
  4. declare global {
  5. /** vue Instance */
  6. declare type ComponentInternalInstance = ComponentInstance;
  7. /**
  8. * 界面字段隐藏属性
  9. */
  10. declare interface FieldOption {
  11. key: number;
  12. label: string;
  13. visible: boolean;
  14. children?: Array<FieldOption>;
  15. }
  16. /**
  17. * 弹窗属性
  18. */
  19. declare interface DialogOption {
  20. /**
  21. * 弹窗标题
  22. */
  23. title?: string;
  24. /**
  25. * 是否显示
  26. */
  27. visible: boolean;
  28. }
  29. declare interface UploadOption {
  30. /** 设置上传的请求头部 */
  31. headers: { [key: string]: any };
  32. /** 上传的地址 */
  33. url: string;
  34. }
  35. /**
  36. * 导入属性
  37. */
  38. declare interface ImportOption extends UploadOption {
  39. /** 是否显示弹出层 */
  40. open: boolean;
  41. /** 弹出层标题 */
  42. title: string;
  43. /** 是否禁用上传 */
  44. isUploading: boolean;
  45. updateSupport: number;
  46. /** 其他参数 */
  47. [key: string]: any;
  48. }
  49. /**
  50. * 字典数据 数据配置
  51. */
  52. declare interface DictDataOption {
  53. label: string;
  54. value: string;
  55. elTagType?: ElTagType;
  56. elTagClass?: string;
  57. }
  58. declare interface BaseEntity {
  59. createBy?: any;
  60. createDept?: any;
  61. createTime?: string;
  62. updateBy?: any;
  63. updateTime?: any;
  64. }
  65. /**
  66. * 分页数据
  67. * T : 表单数据
  68. * D : 查询参数
  69. */
  70. declare interface PageData<T, D> {
  71. form: T;
  72. queryParams: D;
  73. rules: ElFormRules;
  74. }
  75. /**
  76. * 分页查询参数
  77. */
  78. declare interface PageQuery {
  79. pageNum: number;
  80. pageSize: number;
  81. }
  82. declare interface LayoutSetting {
  83. /**
  84. * 默认布局
  85. */
  86. navType: NavTypeEnum;
  87. /**
  88. * 是否显示多标签导航
  89. */
  90. tagsView: boolean;
  91. /**
  92. * 显示页签图标
  93. */
  94. tagsIcon: boolean;
  95. /**
  96. * 是否固定头部
  97. */
  98. fixedHeader: boolean;
  99. /**
  100. * 是否显示侧边栏Logo
  101. */
  102. sidebarLogo: boolean;
  103. /**
  104. * 是否显示动态标题
  105. */
  106. dynamicTitle: boolean;
  107. /**
  108. * 侧边栏主题 theme-dark | theme-light
  109. */
  110. sideTheme: string;
  111. /**
  112. * 主题模式
  113. */
  114. theme: string;
  115. }
  116. declare interface DefaultSettings extends LayoutSetting {
  117. /**
  118. * 网页标题
  119. */
  120. title: string;
  121. /**
  122. * 是否显示系统布局设置
  123. */
  124. showSettings: boolean;
  125. /**
  126. * 导航栏布局
  127. */
  128. layout: string;
  129. /**
  130. * 布局大小
  131. */
  132. size: 'large' | 'default' | 'small';
  133. /**
  134. * 语言
  135. */
  136. language: LanguageEnum;
  137. /**
  138. * 是否启用动画效果
  139. */
  140. animationEnable: boolean;
  141. /**
  142. * 是否启用暗黑模式
  143. *
  144. * true:暗黑模式
  145. * false: 明亮模式
  146. */
  147. dark: boolean;
  148. }
  149. }
  150. export {};