shared-ritm 1.2.100 → 1.2.102

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/dist/index.css +1 -1
  2. package/dist/shared-ritm.es.js +3426 -3406
  3. package/dist/shared-ritm.umd.js +146 -146
  4. package/dist/types/api/services/ComentsServise.d.ts +10 -0
  5. package/dist/types/api/services/EquipmentService.d.ts +15 -0
  6. package/dist/types/api/services/PhotoService.d.ts +51 -38
  7. package/dist/types/api/services/SearchService.d.ts +2 -1
  8. package/dist/types/api/types/Api_Equipment.d.ts +2 -0
  9. package/dist/types/api/types/Api_Search.d.ts +9 -0
  10. package/dist/types/api/types/Api_Users.d.ts +43 -0
  11. package/dist/types/index.d.ts +3 -1
  12. package/package.json +64 -64
  13. package/src/api/services/EquipmentService.ts +29 -0
  14. package/src/api/services/InstrumentsService.ts +22 -22
  15. package/src/api/services/SearchService.ts +4 -1
  16. package/src/api/services/UserService.ts +101 -101
  17. package/src/api/services/VideoService.ts +62 -62
  18. package/src/api/settings/ApiService.ts +123 -123
  19. package/src/api/types/Api_Equipment.ts +3 -0
  20. package/src/api/types/Api_Instruments.ts +98 -98
  21. package/src/api/types/Api_Search.ts +10 -0
  22. package/src/api/types/Api_User.ts +117 -117
  23. package/src/api/types/Api_Video.ts +123 -123
  24. package/src/common/app-input-new/AppInputNew.vue +167 -167
  25. package/src/common/app-layout/components/AppLayoutHeader.vue +250 -250
  26. package/src/common/app-sheet/AppSheet.vue +1 -1
  27. package/src/common/app-sheet-new/AppSheetNew.vue +246 -246
  28. package/src/common/app-table/AppTable.vue +312 -312
  29. package/src/common/app-table/AppTableLayout.vue +137 -137
  30. package/src/common/app-table/components/ModalSelect.vue +270 -270
  31. package/src/common/app-table/components/TableModal.vue +356 -356
  32. package/src/common/app-table/controllers/useBaseTable.ts +45 -45
  33. package/src/index.ts +116 -113
  34. package/src/styles/variables.sass +12 -12
@@ -1,62 +1,62 @@
1
- import ApiService from '../settings/ApiService'
2
- import { ResponseApi } from '@/api/types/Api_Service'
3
- import {
4
- Api_Video_Source_Create,
5
- Api_Video_Source_Search,
6
- Api_Work_Zone,
7
- Api_Work_Zone_Search,
8
- } from '@/api/types/Api_Video'
9
-
10
- class VideoService extends ApiService {
11
- public async startVideoAnalytics(): Promise<boolean> {
12
- return await this.post('/statanly/start', null)
13
- }
14
-
15
- public reloadVideoAnalytics(ids: string[]): Promise<any> {
16
- return this.post('/horizon/video-source/reload', { video_source_ids: ids })
17
- }
18
-
19
- public async fetchWorkZones(params?: any): Promise<ResponseApi<Api_Work_Zone_Search[]>> {
20
- return await this.get('/search/work_zones', { params })
21
- }
22
-
23
- public async fetchWorkZone(id: string): Promise<ResponseApi<Api_Work_Zone>> {
24
- return await this.get(`/work_zone/get_work_zone/${id}`)
25
- }
26
-
27
- public async editWorkZone(id: string, body: { title: string }): Promise<{ data: Api_Work_Zone; status: number }> {
28
- return await this.put(`/admin/work-zones/${id}`, body)
29
- }
30
-
31
- public async deleteWorkZone(id: string): Promise<{ data: boolean; status: number }> {
32
- return await this.delete(`/admin/work-zones/${id}`)
33
- }
34
-
35
- public async fetchVideoSources(params?: any): Promise<ResponseApi<Api_Video_Source_Search[]>> {
36
- return await this.get('/search/video_sources', { params })
37
- }
38
-
39
- public async createVideoSource(
40
- body: Api_Video_Source_Create,
41
- ): Promise<{ data: Api_Video_Source_Search; status: number }> {
42
- return await this.post('horizon/video-source', body)
43
- }
44
-
45
- public async editVideoSource(
46
- id: string,
47
- body: Partial<Api_Video_Source_Create>,
48
- ): Promise<{ data: Api_Video_Source_Search; status: number }> {
49
- return await this.put(`/horizon/video-source/${id}`, body)
50
- }
51
-
52
- public async deleteVideoSource(id: string): Promise<void> {
53
- await this.delete(`/horizon/video-source/${id}`)
54
- }
55
- }
56
-
57
- let api: VideoService
58
-
59
- export default function useVideoService() {
60
- if (!api) api = new VideoService()
61
- return api
62
- }
1
+ import ApiService from '../settings/ApiService'
2
+ import { ResponseApi } from '@/api/types/Api_Service'
3
+ import {
4
+ Api_Video_Source_Create,
5
+ Api_Video_Source_Search,
6
+ Api_Work_Zone,
7
+ Api_Work_Zone_Search,
8
+ } from '@/api/types/Api_Video'
9
+
10
+ class VideoService extends ApiService {
11
+ public async startVideoAnalytics(): Promise<boolean> {
12
+ return await this.post('/statanly/start', null)
13
+ }
14
+
15
+ public reloadVideoAnalytics(ids: string[]): Promise<any> {
16
+ return this.post('/horizon/video-source/reload', { video_source_ids: ids })
17
+ }
18
+
19
+ public async fetchWorkZones(params?: any): Promise<ResponseApi<Api_Work_Zone_Search[]>> {
20
+ return await this.get('/search/work_zones', { params })
21
+ }
22
+
23
+ public async fetchWorkZone(id: string): Promise<ResponseApi<Api_Work_Zone>> {
24
+ return await this.get(`/work_zone/get_work_zone/${id}`)
25
+ }
26
+
27
+ public async editWorkZone(id: string, body: { title: string }): Promise<{ data: Api_Work_Zone; status: number }> {
28
+ return await this.put(`/admin/work-zones/${id}`, body)
29
+ }
30
+
31
+ public async deleteWorkZone(id: string): Promise<{ data: boolean; status: number }> {
32
+ return await this.delete(`/admin/work-zones/${id}`)
33
+ }
34
+
35
+ public async fetchVideoSources(params?: any): Promise<ResponseApi<Api_Video_Source_Search[]>> {
36
+ return await this.get('/search/video_sources', { params })
37
+ }
38
+
39
+ public async createVideoSource(
40
+ body: Api_Video_Source_Create,
41
+ ): Promise<{ data: Api_Video_Source_Search; status: number }> {
42
+ return await this.post('horizon/video-source', body)
43
+ }
44
+
45
+ public async editVideoSource(
46
+ id: string,
47
+ body: Partial<Api_Video_Source_Create>,
48
+ ): Promise<{ data: Api_Video_Source_Search; status: number }> {
49
+ return await this.put(`/horizon/video-source/${id}`, body)
50
+ }
51
+
52
+ public async deleteVideoSource(id: string): Promise<void> {
53
+ await this.delete(`/horizon/video-source/${id}`)
54
+ }
55
+ }
56
+
57
+ let api: VideoService
58
+
59
+ export default function useVideoService() {
60
+ if (!api) api = new VideoService()
61
+ return api
62
+ }
@@ -1,123 +1,123 @@
1
- import axios, { AxiosError, AxiosInstance, AxiosRequestConfig, AxiosResponse, InternalAxiosRequestConfig } from 'axios'
2
-
3
- export enum ApiServiceType {
4
- SERVICE_AUTH = 'SERVICE_AUTH',
5
- }
6
-
7
- export default class ApiService {
8
- private axiosInstance: AxiosInstance
9
-
10
- constructor() {
11
- this.axiosInstance = axios.create({
12
- baseURL: process.env.VUE_APP_BACKEND,
13
- headers: {
14
- 'Content-Type': 'application/json',
15
- Accept: 'application/json',
16
- },
17
- })
18
-
19
- this.axiosInstance.interceptors.request.use(
20
- (config: InternalAxiosRequestConfig) => {
21
- const token = this.getToken()
22
- if (token && config.headers) {
23
- config.headers.Authorization = `Bearer ${token}`
24
- }
25
- return config
26
- },
27
- (error: AxiosError) => {
28
- return Promise.reject(error)
29
- },
30
- )
31
-
32
- this.axiosInstance.interceptors.response.use(
33
- (response: AxiosResponse) => {
34
- return response.data
35
- },
36
- (error: AxiosError) => {
37
- if (error.response?.status === 401 || error.response?.status === 403) {
38
- this.logout()
39
- }
40
- return Promise.reject(error)
41
- },
42
- )
43
- }
44
-
45
- private getToken() {
46
- return localStorage.getItem('token')
47
- }
48
-
49
- private removeToken() {
50
- localStorage.removeItem('token')
51
- }
52
-
53
- public logout(): void {
54
- this.removeToken()
55
- window.location.href = '/sign-in'
56
- }
57
-
58
- private handleError(error: AxiosError): void {
59
- if (error.response) {
60
- console.error('API Error:', error.response.status, error.response.data)
61
- } else if (error.request) {
62
- console.error('No response received:', error.request)
63
- } else {
64
- console.error('Error during request setup:', error.message)
65
- }
66
- }
67
-
68
- protected async get<T>(url: string, options?: AxiosRequestConfig) {
69
- try {
70
- const response: AxiosResponse<T> = await this.axiosInstance.get<T>(url, options)
71
- if (response?.data === false) return false as unknown as T
72
- return response?.data ?? (response as unknown as T)
73
- } catch (error) {
74
- const axiosError = error as AxiosError
75
- this.handleError(axiosError)
76
- throw error
77
- }
78
- }
79
-
80
- protected async delete<T>(url: string, options?: AxiosRequestConfig) {
81
- try {
82
- return await this.axiosInstance.delete<T>(url, options)
83
- } catch (error) {
84
- const axiosError = error as AxiosError
85
- this.handleError(axiosError)
86
- throw error
87
- }
88
- }
89
-
90
- protected async post<T1, T2>(url: string, payload: T1, options?: AxiosRequestConfig) {
91
- try {
92
- const response: AxiosResponse<T2> = await this.axiosInstance.post<T1, AxiosResponse<T2>>(url, payload, options)
93
- if (response?.data === false) return false
94
- return response?.data || (response as any)
95
- } catch (error) {
96
- const axiosError = error as AxiosError
97
- this.handleError(axiosError)
98
- throw error
99
- }
100
- }
101
-
102
- protected async patch<T1, T2>(url: string, payload: T1, options?: AxiosRequestConfig): Promise<T2> {
103
- try {
104
- const response: AxiosResponse<T2> = await this.axiosInstance.patch<T1, AxiosResponse<T2>>(url, payload, options)
105
- return response.data
106
- } catch (error) {
107
- const axiosError = error as AxiosError
108
- this.handleError(axiosError)
109
- throw error
110
- }
111
- }
112
-
113
- protected async put<T1, T2>(url: string, payload: T1, options?: AxiosRequestConfig) {
114
- try {
115
- const response: AxiosResponse<T2> = await this.axiosInstance.put<T1, AxiosResponse<T2>>(url, payload, options)
116
- return response.data
117
- } catch (error) {
118
- const axiosError = error as AxiosError
119
- this.handleError(axiosError)
120
- throw error
121
- }
122
- }
123
- }
1
+ import axios, { AxiosError, AxiosInstance, AxiosRequestConfig, AxiosResponse, InternalAxiosRequestConfig } from 'axios'
2
+
3
+ export enum ApiServiceType {
4
+ SERVICE_AUTH = 'SERVICE_AUTH',
5
+ }
6
+
7
+ export default class ApiService {
8
+ private axiosInstance: AxiosInstance
9
+
10
+ constructor() {
11
+ this.axiosInstance = axios.create({
12
+ baseURL: process.env.VUE_APP_BACKEND,
13
+ headers: {
14
+ 'Content-Type': 'application/json',
15
+ Accept: 'application/json',
16
+ },
17
+ })
18
+
19
+ this.axiosInstance.interceptors.request.use(
20
+ (config: InternalAxiosRequestConfig) => {
21
+ const token = this.getToken()
22
+ if (token && config.headers) {
23
+ config.headers.Authorization = `Bearer ${token}`
24
+ }
25
+ return config
26
+ },
27
+ (error: AxiosError) => {
28
+ return Promise.reject(error)
29
+ },
30
+ )
31
+
32
+ this.axiosInstance.interceptors.response.use(
33
+ (response: AxiosResponse) => {
34
+ return response.data
35
+ },
36
+ (error: AxiosError) => {
37
+ if (error.response?.status === 401 || error.response?.status === 403) {
38
+ this.logout()
39
+ }
40
+ return Promise.reject(error)
41
+ },
42
+ )
43
+ }
44
+
45
+ private getToken() {
46
+ return localStorage.getItem('token')
47
+ }
48
+
49
+ private removeToken() {
50
+ localStorage.removeItem('token')
51
+ }
52
+
53
+ public logout(): void {
54
+ this.removeToken()
55
+ window.location.href = '/sign-in'
56
+ }
57
+
58
+ private handleError(error: AxiosError): void {
59
+ if (error.response) {
60
+ console.error('API Error:', error.response.status, error.response.data)
61
+ } else if (error.request) {
62
+ console.error('No response received:', error.request)
63
+ } else {
64
+ console.error('Error during request setup:', error.message)
65
+ }
66
+ }
67
+
68
+ protected async get<T>(url: string, options?: AxiosRequestConfig) {
69
+ try {
70
+ const response: AxiosResponse<T> = await this.axiosInstance.get<T>(url, options)
71
+ if (response?.data === false) return false as unknown as T
72
+ return response?.data ?? (response as unknown as T)
73
+ } catch (error) {
74
+ const axiosError = error as AxiosError
75
+ this.handleError(axiosError)
76
+ throw error
77
+ }
78
+ }
79
+
80
+ protected async delete<T>(url: string, options?: AxiosRequestConfig) {
81
+ try {
82
+ return await this.axiosInstance.delete<T>(url, options)
83
+ } catch (error) {
84
+ const axiosError = error as AxiosError
85
+ this.handleError(axiosError)
86
+ throw error
87
+ }
88
+ }
89
+
90
+ protected async post<T1, T2>(url: string, payload: T1, options?: AxiosRequestConfig) {
91
+ try {
92
+ const response: AxiosResponse<T2> = await this.axiosInstance.post<T1, AxiosResponse<T2>>(url, payload, options)
93
+ if (response?.data === false) return false
94
+ return response?.data || (response as any)
95
+ } catch (error) {
96
+ const axiosError = error as AxiosError
97
+ this.handleError(axiosError)
98
+ throw error
99
+ }
100
+ }
101
+
102
+ protected async patch<T1, T2>(url: string, payload: T1, options?: AxiosRequestConfig): Promise<T2> {
103
+ try {
104
+ const response: AxiosResponse<T2> = await this.axiosInstance.patch<T1, AxiosResponse<T2>>(url, payload, options)
105
+ return response.data
106
+ } catch (error) {
107
+ const axiosError = error as AxiosError
108
+ this.handleError(axiosError)
109
+ throw error
110
+ }
111
+ }
112
+
113
+ protected async put<T1, T2>(url: string, payload: T1, options?: AxiosRequestConfig) {
114
+ try {
115
+ const response: AxiosResponse<T2> = await this.axiosInstance.put<T1, AxiosResponse<T2>>(url, payload, options)
116
+ return response.data
117
+ } catch (error) {
118
+ const axiosError = error as AxiosError
119
+ this.handleError(axiosError)
120
+ throw error
121
+ }
122
+ }
123
+ }
@@ -0,0 +1,3 @@
1
+ import { Api_Equipment_Full_Dto } from '@/api/types/Api_Repairs'
2
+
3
+ export type Api_Equipment_Create = Omit<Api_Equipment_Full_Dto, 'id'>
@@ -1,98 +1,98 @@
1
- import { Api_User } from '../types/Api_User'
2
-
3
- export type Api_Instrument_Storage = {
4
- id: string
5
- created_at: string
6
- deleted_at: string | null
7
- updated_at: string
8
- description: string
9
- name: string
10
- title: string
11
- parent: unknown | null
12
- parents: unknown[]
13
- state_id: unknown | null
14
- }
15
-
16
- export type Api_Instrument_Type = {
17
- id: string
18
- name: string
19
- created_at: string
20
- updated_at: string
21
- deleted_at: string | null
22
- icon: string
23
- storage_id: string
24
- storage: Api_Instrument_Storage
25
- }
26
-
27
- export type Api_Instrument_Location = {
28
- id: string
29
- name: string
30
- title: string
31
- description: string
32
- created_at: string
33
- updated_at: string
34
- deleted_at: string | null
35
- state_id: unknown | null
36
- }
37
-
38
- export type Api_Instrument_Status = {
39
- id: string
40
- description: string
41
- name: string
42
- title: string
43
- created_at: string
44
- updated_at: string
45
- deleted_at: string | null
46
- }
47
-
48
- export type Api_Instrument = {
49
- id: string
50
- RFID: string | null
51
- instrument_id: string
52
- arrival_at: string
53
- created_at: string
54
- supply_at: string
55
- updated_at: string
56
- deleted_at: string | null
57
- inventory_number: string
58
- instrument_type: Api_Instrument_Type
59
- invoice_ref_key: string
60
- last_status_updated_at: string
61
- location_id: string
62
- location: Api_Instrument_Location
63
- misplacement: boolean
64
- module: string | null
65
- module_id: string | null
66
- name: string
67
- pressure: unknown | null
68
- registry_module_id: string
69
- responsible_id: string
70
- responsible: Api_User
71
- status: Api_Instrument_Status
72
- status_id: string
73
- storage: Api_Instrument_Storage
74
- supervisor: unknown | null
75
- supervisor_id: string
76
- type: unknown | null
77
- weight: unknown | null
78
- }
79
-
80
- export type Api_instruments_HistoryResponse = {
81
- data: Api_Instrument[]
82
- from: number
83
- to: number
84
- total: number
85
- per_page: number
86
- current_page: number
87
- total_pages: number
88
- last_page_url: string
89
- first_page_url: string
90
- next_page_url: string | null
91
- prev_page_url: string | null
92
- path: string
93
- links: {
94
- label: string
95
- url: string
96
- active: boolean
97
- }[]
98
- }
1
+ import { Api_User } from '../types/Api_User'
2
+
3
+ export type Api_Instrument_Storage = {
4
+ id: string
5
+ created_at: string
6
+ deleted_at: string | null
7
+ updated_at: string
8
+ description: string
9
+ name: string
10
+ title: string
11
+ parent: unknown | null
12
+ parents: unknown[]
13
+ state_id: unknown | null
14
+ }
15
+
16
+ export type Api_Instrument_Type = {
17
+ id: string
18
+ name: string
19
+ created_at: string
20
+ updated_at: string
21
+ deleted_at: string | null
22
+ icon: string
23
+ storage_id: string
24
+ storage: Api_Instrument_Storage
25
+ }
26
+
27
+ export type Api_Instrument_Location = {
28
+ id: string
29
+ name: string
30
+ title: string
31
+ description: string
32
+ created_at: string
33
+ updated_at: string
34
+ deleted_at: string | null
35
+ state_id: unknown | null
36
+ }
37
+
38
+ export type Api_Instrument_Status = {
39
+ id: string
40
+ description: string
41
+ name: string
42
+ title: string
43
+ created_at: string
44
+ updated_at: string
45
+ deleted_at: string | null
46
+ }
47
+
48
+ export type Api_Instrument = {
49
+ id: string
50
+ RFID: string | null
51
+ instrument_id: string
52
+ arrival_at: string
53
+ created_at: string
54
+ supply_at: string
55
+ updated_at: string
56
+ deleted_at: string | null
57
+ inventory_number: string
58
+ instrument_type: Api_Instrument_Type
59
+ invoice_ref_key: string
60
+ last_status_updated_at: string
61
+ location_id: string
62
+ location: Api_Instrument_Location
63
+ misplacement: boolean
64
+ module: string | null
65
+ module_id: string | null
66
+ name: string
67
+ pressure: unknown | null
68
+ registry_module_id: string
69
+ responsible_id: string
70
+ responsible: Api_User
71
+ status: Api_Instrument_Status
72
+ status_id: string
73
+ storage: Api_Instrument_Storage
74
+ supervisor: unknown | null
75
+ supervisor_id: string
76
+ type: unknown | null
77
+ weight: unknown | null
78
+ }
79
+
80
+ export type Api_instruments_HistoryResponse = {
81
+ data: Api_Instrument[]
82
+ from: number
83
+ to: number
84
+ total: number
85
+ per_page: number
86
+ current_page: number
87
+ total_pages: number
88
+ last_page_url: string
89
+ first_page_url: string
90
+ next_page_url: string | null
91
+ prev_page_url: string | null
92
+ path: string
93
+ links: {
94
+ label: string
95
+ url: string
96
+ active: boolean
97
+ }[]
98
+ }
@@ -46,3 +46,13 @@ export type Api_Search_User = {
46
46
  teams: Api_Search_User_Teams[]
47
47
  photos: Api_Search_User_Photos[]
48
48
  }
49
+
50
+ export type Api_Search_Instruments = {
51
+ id: string
52
+ full_name: string
53
+ last_name: string
54
+ first_name: string
55
+ patronymic: string
56
+ divisions: string
57
+ personnel_number: string
58
+ }