longz
2026-04-27 25df88d0ab9d7444ed1d162b9efa1259ac2f6f66
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
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
export interface MiniAppointmentPageResult<T> {
  records: T[]
  page: number
  size: number
  total: number
  pages: number
}
 
export interface MiniAppointmentVehicleItemRequest {
  plateNo: string
  driverVisitorId: number
}
 
export interface MiniAppointmentCreateRequest {
  visitedUserId: number
  visitReasonCode: string
  visitReasonOther?: string
  visitTimeMode: 'SINGLE' | 'MULTI'
  visitDate?: string
  visitTimeSlot?: 'ALL_DAY' | 'AM' | 'PM'
  visitStartDate?: string
  visitEndDate?: string
  personEntry: boolean
  visitorIds: number[]
  vehicleEntry: boolean
  vehicles?: MiniAppointmentVehicleItemRequest[]
}
 
export interface MiniAppointmentCreateResult {
  id: number
}
 
export interface MiniMyVisitorCodeTicketItem {
  ticketId: number
  ticketUuid: string
  mpVisitorId?: number | null
  visitorName: string
  payload: string
  generateTime?: string | null
  expireTime?: string | null
}
 
export interface MiniMyVisitorCodeOrderItem {
  orderId: number
  orderUuid: string
  visitedUserDisplay: string
  accessAreaText?: string | null
  visitTimeText: string
  validStartTime?: string | null
  validEndTime?: string | null
  qrCodes: MiniMyVisitorCodeTicketItem[]
}
 
export interface MiniSharedAppointmentDetailItem {
  orderId: number
  orderUuid: string
  visitedUserDisplay: string
  accessAreaText?: string | null
  visitTimeText: string
}
 
export interface MiniApprovalDetailVisitorItem {
  visitorId: number
  name: string
  gender?: string | null
  idCardMasked?: string | null
  mobileMasked?: string | null
  companyName?: string | null
  plateNo?: string | null
}
 
export interface ApprovalFlowTaskUserItem {
  taskId: number
  userId: number
  userName: string
  avatarUrl?: string | null
  taskStatus: string
  comment?: string | null
  actionTime?: string | null
  noticeUsers?: Array<{ id: number, realName: string, deptName?: string | null }>
}
 
export interface ApprovalFlowGroupItem {
  groupKey: string
  groupType: string
  groupName: string
  groupStatus: string
  users: ApprovalFlowTaskUserItem[]
}
 
export interface ApprovalFlowNodeItem {
  nodeCode: string
  nodeName: string
  nodeStatus: string
  groups: ApprovalFlowGroupItem[]
}
 
export interface MiniAppointmentListItem {
  id: number
  uuid: string
  orderNo: string
  status: string
  displayStatus: 'PENDING_VISIT' | 'EFFECTIVE' | 'INVALID' | string
  visitedUserName: string
  visitedDeptName?: string | null
  visitedUserDisplay: string
  visitStartDate?: string | null
  visitEndDate?: string | null
  visitTimeText: string
  visitReasonCode: string
  visitReasonText: string
  accessAreaText?: string | null
  createTime: string
}
 
export interface MiniMyAppointmentDetailItem {
  orderId: number
  orderUuid: string
  orderNo: string
  status: string
  displayStatus: 'PENDING_VISIT' | 'EFFECTIVE' | 'INVALID' | string
  statusText: string
  cancelable: boolean
  deletable: boolean
  visitedUserId: number
  visitedUserName: string
  visitedDeptName?: string | null
  visitedUserDisplay: string
  accessAreaText?: string | null
  visitTypeText: string
  visitReasonText: string
  visitReasonCode: string
  visitReasonOther?: string | null
  visitTimeText: string
  visitTimeMode?: 'SINGLE' | 'MULTI' | string | null
  visitTimeSlot?: 'ALL_DAY' | 'AM' | 'PM' | string | null
  visitStartDate?: string | null
  visitEndDate?: string | null
  personEntry: boolean
  vehicleEntry: boolean
  createTime: string
  visitors: MiniApprovalDetailVisitorItem[]
  rebookVisitors: MiniMyAppointmentDetailRebookVisitorItem[]
  rebookVehicles: MiniMyAppointmentDetailRebookVehicleItem[]
  flowTree: ApprovalFlowNodeItem[]
}
 
export interface MiniMyAppointmentDetailRebookVisitorItem {
  visitorId: number
  visitorUuid?: string | null
  name: string
  gender?: string | null
  companyName?: string | null
  mobileMasked?: string | null
  idCardMasked?: string | null
}
 
export interface MiniMyAppointmentDetailRebookVehicleItem {
  plateNo?: string | null
  driverVisitorId?: number | null
  driverName?: string | null
}
 
export interface MiniApprovalTodoItem {
  taskId: number
  taskUuid: string
  orderId: number
  orderUuid: string
  orderNo: string
  nodeCode: string
  nodeName: string
  visitedUserName: string
  visitStartDate?: string | null
  visitEndDate?: string | null
  visitReasonCode: string
  createTime: string
}
 
export interface MiniApprovalDetailItem {
  pageMode: 'HANDLER_PENDING' | 'GENERAL_PENDING' | 'GENERAL_READONLY'
  canApprove: boolean
  taskId?: number | null
  taskUuid?: string | null
  orderId: number
  orderUuid: string
  orderNo: string
  taskStatus?: string | null
  approvalStatusText: string
  nodeCode?: string | null
  nodeName?: string | null
  visitedUserId: number
  visitedUserName: string
  visitedDeptName?: string | null
  accessAreaText?: string | null
  visitTypeText: string
  visitReasonText: string
  visitTimeText: string
  passAccessAreaIds: number[]
  passAccessAreaNames: string[]
  involveOtherLocalUnit?: boolean | null
  localUnits: Array<{ id: number, unitName: string }>
  noticeUsers: Array<{ id: number, realName: string, deptName?: string | null }>
  visitors: MiniApprovalDetailVisitorItem[]
  flowTree: ApprovalFlowNodeItem[]
}
 
export interface MiniVisitRecordItem {
  orderId: number
  orderNo: string
  visitorNames: string[]
  visitStartDate?: string | null
  visitEndDate?: string | null
  visitTimeMode?: string | null
  visitTimeSlot?: string | null
  createTime: string
}