global.d.ts 2.9 KB

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