沈丘营商办后台前端项目
王恒
5 天以前 4ebc73199bcd4b23739a2e1d22c372e8081310c5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
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;
  }
}