shared-ritm 1.3.99 → 1.3.101

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 (96) hide show
  1. package/README.md +103 -103
  2. package/dist/index.css +1 -1
  3. package/dist/shared-ritm.es.js +26 -20
  4. package/dist/shared-ritm.umd.js +3 -3
  5. package/dist/types/api/services/GanttService.d.ts +6 -0
  6. package/package.json +1 -1
  7. package/src/api/services/BrigadesService.ts +32 -32
  8. package/src/api/services/CommentsService.ts +24 -24
  9. package/src/api/services/FileService.ts +17 -17
  10. package/src/api/services/GanttService.ts +58 -47
  11. package/src/api/services/ModulesService.ts +27 -27
  12. package/src/api/services/ProjectsService.ts +83 -83
  13. package/src/api/services/ScheduleService.ts +69 -69
  14. package/src/api/services/SearchService.ts +22 -22
  15. package/src/api/services/TasksService.ts +157 -157
  16. package/src/api/settings/ApiService.ts +184 -184
  17. package/src/api/types/Api_Brigades.ts +36 -36
  18. package/src/api/types/Api_Comment.ts +40 -40
  19. package/src/api/types/Api_Files.ts +7 -7
  20. package/src/api/types/Api_Modules.ts +21 -21
  21. package/src/api/types/Api_Projects.ts +62 -62
  22. package/src/api/types/Api_Schedule.ts +64 -64
  23. package/src/api/types/Api_Service.ts +9 -9
  24. package/src/common/app-button/AppButton.vue +173 -173
  25. package/src/common/app-date-picker/AppDatePicker.vue +81 -81
  26. package/src/common/app-datepicker/AppDatepicker.vue +218 -218
  27. package/src/common/app-dropdown/AppDropdown.vue +37 -37
  28. package/src/common/app-file/AppFile.vue +80 -80
  29. package/src/common/app-input/AppInput.vue +150 -150
  30. package/src/common/app-input-search/AppInputSearch.vue +174 -174
  31. package/src/common/app-layout/AppLayout.vue +84 -84
  32. package/src/common/app-layout/components/AppLayoutPage.vue +16 -16
  33. package/src/common/app-loader/index.vue +43 -43
  34. package/src/common/app-page-layout/AppPageLayout.vue +122 -122
  35. package/src/common/app-sheet/AppSheet.vue +120 -120
  36. package/src/common/app-sheet-new/AppSheetNew.vue +244 -244
  37. package/src/common/app-sidebar/components/SidebarMenu.vue +37 -37
  38. package/src/common/app-sidebar/components/SidebarMenuItem.vue +149 -149
  39. package/src/common/app-table/AppTableLayout.vue +137 -137
  40. package/src/common/app-table/components/TablePagination.vue +152 -152
  41. package/src/common/app-table/components/TableSearch.vue +76 -76
  42. package/src/common/app-table/controllers/useBaseTable.ts +45 -45
  43. package/src/global.d.ts +1 -1
  44. package/src/icons/components/arrow-down-icon.vue +25 -25
  45. package/src/icons/components/arrow-frame-icon.vue +19 -19
  46. package/src/icons/components/arrow-square.vue +22 -22
  47. package/src/icons/components/table-filter-icon.vue +30 -30
  48. package/src/icons/dialogs/RemoveIcon.vue +12 -12
  49. package/src/icons/dialogs/SafetyIcon.vue +12 -12
  50. package/src/icons/header/NotificationIcon.vue +18 -18
  51. package/src/icons/header/PersonIcon.vue +11 -11
  52. package/src/icons/header/SettingIcon.vue +14 -14
  53. package/src/icons/header/flashIcon.vue +24 -24
  54. package/src/icons/header/searchStatusIcon.vue +24 -24
  55. package/src/icons/header/smallCapsIcon.vue +34 -34
  56. package/src/icons/sidebar/assign-module-icon.vue +36 -36
  57. package/src/icons/sidebar/instrument-history-icon.vue +32 -32
  58. package/src/icons/sidebar/instrument-order-icon.vue +38 -38
  59. package/src/icons/sidebar/instrument-work-zone-icon.vue +18 -18
  60. package/src/icons/sidebar/instruments-icon.vue +45 -45
  61. package/src/icons/sidebar/logo-icon.vue +15 -15
  62. package/src/icons/sidebar/logout-icon.vue +13 -13
  63. package/src/icons/sidebar/modules-icon.vue +16 -16
  64. package/src/icons/sidebar/notifications-icon.vue +24 -24
  65. package/src/icons/sidebar/order-icon.vue +44 -44
  66. package/src/icons/sidebar/pass-icon.vue +38 -38
  67. package/src/icons/sidebar/positions-icon.vue +42 -42
  68. package/src/icons/sidebar/preorder-icon.vue +19 -19
  69. package/src/icons/sidebar/projects-icon.vue +31 -31
  70. package/src/icons/sidebar/repair-object-icon.vue +18 -18
  71. package/src/icons/sidebar/repairs-icon.vue +20 -20
  72. package/src/icons/sidebar/roles-icon.vue +26 -26
  73. package/src/icons/sidebar/status-history-icon.vue +24 -24
  74. package/src/icons/sidebar/tasks-icon.vue +28 -28
  75. package/src/icons/sidebar/tasks_tasks-icon.vue +39 -39
  76. package/src/icons/sidebar/tasks_today-icon.vue +27 -27
  77. package/src/icons/sidebar/teams-icon.vue +32 -32
  78. package/src/icons/sidebar/user-icon.vue +18 -18
  79. package/src/icons/sidebar/users-icon.vue +46 -46
  80. package/src/icons/sidebar/videosources-icon.vue +19 -19
  81. package/src/icons/sidebar/videowall-icon.vue +13 -13
  82. package/src/icons/sidebar/videozones-icon.vue +21 -21
  83. package/src/icons/sidebar/warehouses-icon.vue +43 -43
  84. package/src/icons/sidebar/workshop-icon.vue +100 -100
  85. package/src/icons/sidebar/workzones-icon.vue +22 -22
  86. package/src/icons/task/attention-icon.vue +13 -13
  87. package/src/icons/task/clock-icon.vue +10 -10
  88. package/src/icons/task/delete-icon.vue +10 -10
  89. package/src/icons/task/fire-icon.vue +16 -16
  90. package/src/main.ts +28 -28
  91. package/src/quasar-user-options.ts +17 -17
  92. package/src/router/index.ts +10 -10
  93. package/src/shims-vue.d.ts +5 -5
  94. package/src/utils/confirm.ts +12 -12
  95. package/src/utils/faceApiHelper.ts +132 -132
  96. package/src/utils/notification.ts +9 -9
@@ -5,6 +5,10 @@ export type ApiCreateGanttLinkDto = {
5
5
  child_id: string;
6
6
  lag: number;
7
7
  };
8
+ export type ApiUpdateGanttLinkDto = {
9
+ type: 'FS' | 'SS' | 'FF' | 'SF';
10
+ lag: number;
11
+ };
8
12
  export type ApiGanttLinkDto = {
9
13
  id: string;
10
14
  type: 'FS' | 'SS' | 'FF' | 'SF';
@@ -18,7 +22,9 @@ declare class GanttService extends ApiService {
18
22
  setFixPlan(project_id: string): Promise<any>;
19
23
  getLinksByProject(id: string): Promise<ApiGanttLinkDto[]>;
20
24
  createLink(payload: ApiCreateGanttLinkDto): Promise<ApiGanttLinkDto>;
25
+ editLink(id: string, payload: ApiUpdateGanttLinkDto): Promise<ApiGanttLinkDto>;
21
26
  deleteLink(id: string): Promise<any>;
27
+ recalculateLinks(projectIds: string[]): Promise<any>;
22
28
  }
23
29
  export default function useGanttService(): GanttService;
24
30
  export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "shared-ritm",
3
- "version": "1.3.99",
3
+ "version": "1.3.101",
4
4
  "private": false,
5
5
  "files": [
6
6
  "dist",
@@ -1,32 +1,32 @@
1
- import ApiService from '../settings/ApiService'
2
- import { Api_Brigade, Api_Brigade_Create, Api_Brigade_Search } from '../types/Api_Brigades'
3
- import { ResponseApi } from '../types/Api_Service'
4
-
5
- class BrigadesService extends ApiService {
6
- public fetchBrigades(params: any): Promise<ResponseApi<Api_Brigade_Search[]>> {
7
- return this.get<ResponseApi<Api_Brigade_Search[]>>('/search/brigades', { params })
8
- }
9
-
10
- public editBrigade({ id, model }: { id: string; model: Partial<Api_Brigade_Create> }): Promise<Api_Brigade> {
11
- return this.put<Partial<Api_Brigade_Create>, Api_Brigade>(`/brigades/${id}`, model)
12
- }
13
-
14
- public getBrigade(id: string): Promise<Api_Brigade> {
15
- return this.get<Api_Brigade>(`/brigades/${id}`)
16
- }
17
-
18
- public createBrigade(model: Api_Brigade_Create): Promise<Api_Brigade> {
19
- return this.post<Api_Brigade_Create, Api_Brigade>('/brigades', model)
20
- }
21
-
22
- public deleteBrigade(id: string): Promise<{ data: boolean; status: number }> {
23
- return this.delete(`/brigades/${id}`)
24
- }
25
- }
26
-
27
- let api: BrigadesService
28
-
29
- export default function useBrigadesService() {
30
- if (!api) api = new BrigadesService()
31
- return api
32
- }
1
+ import ApiService from '../settings/ApiService'
2
+ import { Api_Brigade, Api_Brigade_Create, Api_Brigade_Search } from '../types/Api_Brigades'
3
+ import { ResponseApi } from '../types/Api_Service'
4
+
5
+ class BrigadesService extends ApiService {
6
+ public fetchBrigades(params: any): Promise<ResponseApi<Api_Brigade_Search[]>> {
7
+ return this.get<ResponseApi<Api_Brigade_Search[]>>('/search/brigades', { params })
8
+ }
9
+
10
+ public editBrigade({ id, model }: { id: string; model: Partial<Api_Brigade_Create> }): Promise<Api_Brigade> {
11
+ return this.put<Partial<Api_Brigade_Create>, Api_Brigade>(`/brigades/${id}`, model)
12
+ }
13
+
14
+ public getBrigade(id: string): Promise<Api_Brigade> {
15
+ return this.get<Api_Brigade>(`/brigades/${id}`)
16
+ }
17
+
18
+ public createBrigade(model: Api_Brigade_Create): Promise<Api_Brigade> {
19
+ return this.post<Api_Brigade_Create, Api_Brigade>('/brigades', model)
20
+ }
21
+
22
+ public deleteBrigade(id: string): Promise<{ data: boolean; status: number }> {
23
+ return this.delete(`/brigades/${id}`)
24
+ }
25
+ }
26
+
27
+ let api: BrigadesService
28
+
29
+ export default function useBrigadesService() {
30
+ if (!api) api = new BrigadesService()
31
+ return api
32
+ }
@@ -1,24 +1,24 @@
1
- import ApiService from '../settings/ApiService'
2
- import { Api_Comment_Request_Dto, Api_Comment_Update_Dto } from '../types/Api_Comment'
3
- import { Api_Tasks_Task_Dto } from '../types/Api_Tasks'
4
-
5
- class CommentsService extends ApiService {
6
- public async uploadComment(payload: Api_Comment_Request_Dto): Promise<Api_Tasks_Task_Dto> {
7
- return await this.post<Api_Comment_Request_Dto, Api_Tasks_Task_Dto>('comments', payload)
8
- }
9
-
10
- public async deleteComment(commentId: string): Promise<any> {
11
- return await this.delete(`comments/${commentId}`)
12
- }
13
-
14
- public async editComment(commentId: string, payload: Api_Comment_Request_Dto): Promise<Api_Comment_Update_Dto> {
15
- return await this.put(`comments/${commentId}`, payload)
16
- }
17
- }
18
-
19
- let api: CommentsService
20
-
21
- export default function useCommentsService() {
22
- if (!api) api = new CommentsService()
23
- return api
24
- }
1
+ import ApiService from '../settings/ApiService'
2
+ import { Api_Comment_Request_Dto, Api_Comment_Update_Dto } from '../types/Api_Comment'
3
+ import { Api_Tasks_Task_Dto } from '../types/Api_Tasks'
4
+
5
+ class CommentsService extends ApiService {
6
+ public async uploadComment(payload: Api_Comment_Request_Dto): Promise<Api_Tasks_Task_Dto> {
7
+ return await this.post<Api_Comment_Request_Dto, Api_Tasks_Task_Dto>('comments', payload)
8
+ }
9
+
10
+ public async deleteComment(commentId: string): Promise<any> {
11
+ return await this.delete(`comments/${commentId}`)
12
+ }
13
+
14
+ public async editComment(commentId: string, payload: Api_Comment_Request_Dto): Promise<Api_Comment_Update_Dto> {
15
+ return await this.put(`comments/${commentId}`, payload)
16
+ }
17
+ }
18
+
19
+ let api: CommentsService
20
+
21
+ export default function useCommentsService() {
22
+ if (!api) api = new CommentsService()
23
+ return api
24
+ }
@@ -1,17 +1,17 @@
1
- import ApiService from '../settings/ApiService'
2
- import { Api_Files_Responsible_Dto } from '../types/Api_Files'
3
-
4
- class FileService extends ApiService {
5
- public uploadFile(data: FormData): Promise<Api_Files_Responsible_Dto[]> {
6
- return this.post<FormData, Api_Files_Responsible_Dto[]>(`/upload-file`, data, {
7
- headers: { 'Content-Type': 'multipart/form-data' },
8
- })
9
- }
10
- }
11
-
12
- let api: FileService
13
-
14
- export default function useFileService() {
15
- if (!api) api = new FileService()
16
- return api
17
- }
1
+ import ApiService from '../settings/ApiService'
2
+ import { Api_Files_Responsible_Dto } from '../types/Api_Files'
3
+
4
+ class FileService extends ApiService {
5
+ public uploadFile(data: FormData): Promise<Api_Files_Responsible_Dto[]> {
6
+ return this.post<FormData, Api_Files_Responsible_Dto[]>(`/upload-file`, data, {
7
+ headers: { 'Content-Type': 'multipart/form-data' },
8
+ })
9
+ }
10
+ }
11
+
12
+ let api: FileService
13
+
14
+ export default function useFileService() {
15
+ if (!api) api = new FileService()
16
+ return api
17
+ }
@@ -1,47 +1,58 @@
1
- import ApiService from '../settings/ApiService'
2
-
3
- export type ApiCreateGanttLinkDto = {
4
- type: 'FS' | 'SS' | 'FF' | 'SF'
5
- parent_id: string
6
- child_id: string
7
- lag: number
8
- }
9
-
10
- export type ApiGanttLinkDto = {
11
- id: string
12
- type: 'FS' | 'SS' | 'FF' | 'SF'
13
- parent_id: string
14
- child_id: string
15
- lag: number
16
- }
17
-
18
- class GanttService extends ApiService {
19
- public async fetchCriticalPathTasks(params: string): Promise<any> {
20
- return await this.get(`gantt/get_list_task_on_critical_path?${params}`)
21
- }
22
- public async fetchGanttList(params: string): Promise<any> {
23
- return await this.get(`/list/tasks/search?${params}&gantt=1`)
24
- }
25
- public async setFixPlan(project_id: string): Promise<any> {
26
- const params = new URLSearchParams()
27
- params.append(`projects[0]`, project_id)
28
- params.append(`filter[state]`, '1')
29
- return await this.post<null, any>(`/gantt/set-planned-date?${params.toString()}`, null)
30
- }
31
- public getLinksByProject(id: string): Promise<ApiGanttLinkDto[]> {
32
- return this.get<ApiGanttLinkDto[]>(`gantt/${id}/links/list`)
33
- }
34
- public createLink(payload: ApiCreateGanttLinkDto): Promise<ApiGanttLinkDto> {
35
- return this.post<ApiCreateGanttLinkDto, ApiGanttLinkDto>(`gantt/task/link`, payload)
36
- }
37
- public deleteLink(id: string): Promise<any> {
38
- return this.delete(`gantt/task/link/${id}`)
39
- }
40
- }
41
-
42
- let api: GanttService
43
-
44
- export default function useGanttService() {
45
- if (!api) api = new GanttService()
46
- return api
47
- }
1
+ import ApiService from '../settings/ApiService'
2
+
3
+ export type ApiCreateGanttLinkDto = {
4
+ type: 'FS' | 'SS' | 'FF' | 'SF'
5
+ parent_id: string
6
+ child_id: string
7
+ lag: number
8
+ }
9
+
10
+ export type ApiUpdateGanttLinkDto = {
11
+ type: 'FS' | 'SS' | 'FF' | 'SF'
12
+ lag: number
13
+ }
14
+
15
+ export type ApiGanttLinkDto = {
16
+ id: string
17
+ type: 'FS' | 'SS' | 'FF' | 'SF'
18
+ parent_id: string
19
+ child_id: string
20
+ lag: number
21
+ }
22
+
23
+ class GanttService extends ApiService {
24
+ public async fetchCriticalPathTasks(params: string): Promise<any> {
25
+ return await this.get(`gantt/get_list_task_on_critical_path?${params}`)
26
+ }
27
+ public async fetchGanttList(params: string): Promise<any> {
28
+ return await this.get(`/list/tasks/search?${params}&gantt=1`)
29
+ }
30
+ public async setFixPlan(project_id: string): Promise<any> {
31
+ const params = new URLSearchParams()
32
+ params.append(`projects[0]`, project_id)
33
+ params.append(`filter[state]`, '1')
34
+ return await this.post<null, any>(`/gantt/set-planned-date?${params.toString()}`, null)
35
+ }
36
+ public getLinksByProject(id: string): Promise<ApiGanttLinkDto[]> {
37
+ return this.get<ApiGanttLinkDto[]>(`gantt/${id}/links/list`)
38
+ }
39
+ public createLink(payload: ApiCreateGanttLinkDto): Promise<ApiGanttLinkDto> {
40
+ return this.post<ApiCreateGanttLinkDto, ApiGanttLinkDto>(`gantt/task/link`, payload)
41
+ }
42
+ public editLink(id: string, payload: ApiUpdateGanttLinkDto): Promise<ApiGanttLinkDto> {
43
+ return this.put<ApiUpdateGanttLinkDto, ApiGanttLinkDto>(`gantt/task/link${id}`, payload)
44
+ }
45
+ public deleteLink(id: string): Promise<any> {
46
+ return this.delete(`gantt/task/link/${id}`)
47
+ }
48
+ public recalculateLinks(projectIds: string[]): Promise<any> {
49
+ return this.post<string[], null>(`gantt/project/links/recalculate`, projectIds)
50
+ }
51
+ }
52
+
53
+ let api: GanttService
54
+
55
+ export default function useGanttService() {
56
+ if (!api) api = new GanttService()
57
+ return api
58
+ }
@@ -1,27 +1,27 @@
1
- import ApiService from '../settings/ApiService'
2
- import { Api_Module, Api_Module_Create } from '../types/Api_Modules'
3
-
4
- class ModulesService extends ApiService {
5
- public async detectModule(id: string): Promise<{ data: string; status: number }> {
6
- return await this.get(`module/${id}/detect`)
7
- }
8
-
9
- public async createModule(model: Api_Module_Create): Promise<Api_Module> {
10
- return await this.post('admin/modules', model)
11
- }
12
-
13
- public async editModule({ id, model }: { id: string; model: Partial<Api_Module_Create> }): Promise<Api_Module> {
14
- return await this.put(`admin/modules/${id}`, model)
15
- }
16
-
17
- public deleteModule(id: string): Promise<{ data: boolean; status: number }> {
18
- return this.delete(`admin/modules/${id}`)
19
- }
20
- }
21
-
22
- let api: ModulesService
23
-
24
- export default function useModulesService() {
25
- if (!api) api = new ModulesService()
26
- return api
27
- }
1
+ import ApiService from '../settings/ApiService'
2
+ import { Api_Module, Api_Module_Create } from '../types/Api_Modules'
3
+
4
+ class ModulesService extends ApiService {
5
+ public async detectModule(id: string): Promise<{ data: string; status: number }> {
6
+ return await this.get(`module/${id}/detect`)
7
+ }
8
+
9
+ public async createModule(model: Api_Module_Create): Promise<Api_Module> {
10
+ return await this.post('admin/modules', model)
11
+ }
12
+
13
+ public async editModule({ id, model }: { id: string; model: Partial<Api_Module_Create> }): Promise<Api_Module> {
14
+ return await this.put(`admin/modules/${id}`, model)
15
+ }
16
+
17
+ public deleteModule(id: string): Promise<{ data: boolean; status: number }> {
18
+ return this.delete(`admin/modules/${id}`)
19
+ }
20
+ }
21
+
22
+ let api: ModulesService
23
+
24
+ export default function useModulesService() {
25
+ if (!api) api = new ModulesService()
26
+ return api
27
+ }
@@ -1,83 +1,83 @@
1
- import ApiService from '../settings/ApiService'
2
-
3
- import { ResponseApi } from '../types/Api_Service'
4
- import { Api_Project_Add_Root_Intervals_Payload, Api_Project_Dto } from '../types/Api_Projects'
5
-
6
- class ProjectsService extends ApiService {
7
- public async fetchProjectById(id: string): Promise<Api_Project_Dto> {
8
- return this.get(`/projects/${id}`)
9
- }
10
-
11
- public createProject(params: any): Promise<Api_Project_Dto> {
12
- return this.post<any, Api_Project_Dto>('/projects', params)
13
- }
14
-
15
- public editProject(id: string, params: any): Promise<Api_Project_Dto> {
16
- return this.put<any, Api_Project_Dto>(`/projects/${id}`, params)
17
- }
18
-
19
- public fetchProjects(params: any): Promise<ResponseApi<Api_Project_Dto[]>> {
20
- return this.get(`/search/projects`, { params })
21
- }
22
-
23
- public cloneProject(project: Api_Project_Dto): Promise<Api_Project_Dto> {
24
- return this.post<Api_Project_Dto, Api_Project_Dto>(`projects/${project.id}/clone`, project)
25
- }
26
-
27
- public archiveProject(id: string, data: any): Promise<ResponseApi<any>> {
28
- return this.put<any, ResponseApi<any>>(`/projects/${id}`, data)
29
- }
30
-
31
- public unArchiveProject(id: string, data: any): Promise<ResponseApi<any>> {
32
- return this.put<any, ResponseApi<any>>(`/projects/${id}`, data)
33
- }
34
-
35
- public moveAprProject(id: string): Promise<ResponseApi<any>> {
36
- return this.post<any, ResponseApi<any>>('repairs/move_plan_to_real', {
37
- repairs: [id],
38
- })
39
- }
40
- public restoreProject(id: string): Promise<ResponseApi<any>> {
41
- return this.post<any, ResponseApi<any>>('/restore_project', { projects_ids: [id] })
42
- }
43
-
44
- public importTasks(payload: any): Promise<ResponseApi<any>> {
45
- return this.post<any, ResponseApi<any>>('tasks/import', payload)
46
- }
47
-
48
- public importKtd(payload: any): Promise<ResponseApi<any>> {
49
- return this.post<any, ResponseApi<any>>('/parse_ktd', payload, {
50
- headers: { 'Content-Type': 'multipart/form-data' },
51
- })
52
- }
53
-
54
- public checkStatusParser(payload: any): Promise<any> {
55
- return this.post<any, ResponseApi<any>>('/check_parse_ktd', payload)
56
- }
57
-
58
- public fetchProjectTeamList(id: string): Promise<ResponseApi<any>> {
59
- return this.put<any, ResponseApi<any>>(`/projects/${id}`, null)
60
- }
61
-
62
- public deleteProject(id: string): Promise<any> {
63
- return this.delete<ResponseApi<any>>(`/projects/${id}`)
64
- }
65
-
66
- public getDynamicProgressWidget(id: string): Promise<any> {
67
- return this.get<ResponseApi<any>>(`repairs/get_repair_list_dynamics_performance?repair_id_list[]=${id}`)
68
- }
69
-
70
- public removeRootIntervals(): Promise<void> {
71
- return this.post<null, void>(`/delete/fake/projects`, null)
72
- }
73
- public addRootIntervals(projectId: string, payload: Api_Project_Add_Root_Intervals_Payload): Promise<void> {
74
- return this.post<Api_Project_Add_Root_Intervals_Payload, void>(`/set/fake/projects/${projectId}`, payload)
75
- }
76
- }
77
-
78
- let api: ProjectsService
79
-
80
- export default function useProjectsService() {
81
- if (!api) api = new ProjectsService()
82
- return api
83
- }
1
+ import ApiService from '../settings/ApiService'
2
+
3
+ import { ResponseApi } from '../types/Api_Service'
4
+ import { Api_Project_Add_Root_Intervals_Payload, Api_Project_Dto } from '../types/Api_Projects'
5
+
6
+ class ProjectsService extends ApiService {
7
+ public async fetchProjectById(id: string): Promise<Api_Project_Dto> {
8
+ return this.get(`/projects/${id}`)
9
+ }
10
+
11
+ public createProject(params: any): Promise<Api_Project_Dto> {
12
+ return this.post<any, Api_Project_Dto>('/projects', params)
13
+ }
14
+
15
+ public editProject(id: string, params: any): Promise<Api_Project_Dto> {
16
+ return this.put<any, Api_Project_Dto>(`/projects/${id}`, params)
17
+ }
18
+
19
+ public fetchProjects(params: any): Promise<ResponseApi<Api_Project_Dto[]>> {
20
+ return this.get(`/search/projects`, { params })
21
+ }
22
+
23
+ public cloneProject(project: Api_Project_Dto): Promise<Api_Project_Dto> {
24
+ return this.post<Api_Project_Dto, Api_Project_Dto>(`projects/${project.id}/clone`, project)
25
+ }
26
+
27
+ public archiveProject(id: string, data: any): Promise<ResponseApi<any>> {
28
+ return this.put<any, ResponseApi<any>>(`/projects/${id}`, data)
29
+ }
30
+
31
+ public unArchiveProject(id: string, data: any): Promise<ResponseApi<any>> {
32
+ return this.put<any, ResponseApi<any>>(`/projects/${id}`, data)
33
+ }
34
+
35
+ public moveAprProject(id: string): Promise<ResponseApi<any>> {
36
+ return this.post<any, ResponseApi<any>>('repairs/move_plan_to_real', {
37
+ repairs: [id],
38
+ })
39
+ }
40
+ public restoreProject(id: string): Promise<ResponseApi<any>> {
41
+ return this.post<any, ResponseApi<any>>('/restore_project', { projects_ids: [id] })
42
+ }
43
+
44
+ public importTasks(payload: any): Promise<ResponseApi<any>> {
45
+ return this.post<any, ResponseApi<any>>('tasks/import', payload)
46
+ }
47
+
48
+ public importKtd(payload: any): Promise<ResponseApi<any>> {
49
+ return this.post<any, ResponseApi<any>>('/parse_ktd', payload, {
50
+ headers: { 'Content-Type': 'multipart/form-data' },
51
+ })
52
+ }
53
+
54
+ public checkStatusParser(payload: any): Promise<any> {
55
+ return this.post<any, ResponseApi<any>>('/check_parse_ktd', payload)
56
+ }
57
+
58
+ public fetchProjectTeamList(id: string): Promise<ResponseApi<any>> {
59
+ return this.put<any, ResponseApi<any>>(`/projects/${id}`, null)
60
+ }
61
+
62
+ public deleteProject(id: string): Promise<any> {
63
+ return this.delete<ResponseApi<any>>(`/projects/${id}`)
64
+ }
65
+
66
+ public getDynamicProgressWidget(id: string): Promise<any> {
67
+ return this.get<ResponseApi<any>>(`repairs/get_repair_list_dynamics_performance?repair_id_list[]=${id}`)
68
+ }
69
+
70
+ public removeRootIntervals(): Promise<void> {
71
+ return this.post<null, void>(`/delete/fake/projects`, null)
72
+ }
73
+ public addRootIntervals(projectId: string, payload: Api_Project_Add_Root_Intervals_Payload): Promise<void> {
74
+ return this.post<Api_Project_Add_Root_Intervals_Payload, void>(`/set/fake/projects/${projectId}`, payload)
75
+ }
76
+ }
77
+
78
+ let api: ProjectsService
79
+
80
+ export default function useProjectsService() {
81
+ if (!api) api = new ProjectsService()
82
+ return api
83
+ }
@@ -1,69 +1,69 @@
1
- import ApiService from '../settings/ApiService'
2
- import {
3
- Api_Schedule_Add_Shift,
4
- Api_Schedule_Brigade_To_Swap,
5
- Api_Schedule_Complete_Brigade,
6
- Api_Schedule_Config,
7
- Api_Schedule_Edit_Shifts,
8
- Api_Schedule_Item,
9
- Api_Schedule_Swap_Shifts,
10
- Api_Schedule_Table_Brigade,
11
- } from '@/api/types/Api_Schedule'
12
-
13
- class ScheduleService extends ApiService {
14
- public fetchScheduleConfig(): Promise<Api_Schedule_Config> {
15
- return this.get<Api_Schedule_Config>('schedule/config')
16
- }
17
-
18
- public fetchSchedule(id: string): Promise<Api_Schedule_Item[]> {
19
- return this.get<Api_Schedule_Item[]>(`schedule/${id}`)
20
- }
21
-
22
- public fetchScheduleTable(id: string): Promise<Api_Schedule_Table_Brigade[]> {
23
- return this.get<Api_Schedule_Table_Brigade[]>(`schedule/${id}/get_brigades_table`)
24
- }
25
-
26
- public fetchBrigadesToSwap(id: string, params: any): Promise<Api_Schedule_Brigade_To_Swap[]> {
27
- return this.get<Api_Schedule_Brigade_To_Swap[]>(`schedule/${id}/selection_brigades_for_swap_shift_template`, {
28
- params,
29
- })
30
- }
31
-
32
- public completeBrigadeSchedule(id: string, body: Api_Schedule_Complete_Brigade): Promise<Api_Schedule_Table_Brigade> {
33
- return this.post<Api_Schedule_Complete_Brigade, Api_Schedule_Table_Brigade>(
34
- `schedule/${id}/complete_brigade_schedule`,
35
- body,
36
- )
37
- }
38
-
39
- public autocompleteBrigadesSchedule(id: string, body: { shifts: string[] }): Promise<Api_Schedule_Item[]> {
40
- return this.post(`schedule/${id}/autocomplete`, body)
41
- }
42
-
43
- public addBrigadeShift(id: string, body: Api_Schedule_Add_Shift): Promise<Api_Schedule_Item[]> {
44
- return this.post(`schedule/${id}/shifts`, body)
45
- }
46
-
47
- public swapBrigadeShifts(id: string, body: Api_Schedule_Swap_Shifts): Promise<Api_Schedule_Item[]> {
48
- return this.patch(`schedule/${id}/shifts/switch_shift_templates`, body)
49
- }
50
-
51
- public editBrigadeShifts(id: string, body: Api_Schedule_Edit_Shifts): Promise<any> {
52
- return this.patch(`schedule/${id}/shifts`, body)
53
- }
54
-
55
- public deleteBrigadeShifts(id: string, shift_ids: string[]): Promise<any> {
56
- return this.delete(`schedule/${id}/shifts`, { data: { shift_ids } })
57
- }
58
-
59
- public deleteBrigadesFromSchedule(id: string, brigade_ids: string[]): Promise<string> {
60
- return this.patch(`schedule/${id}/delete_brigades`, { brigade_ids })
61
- }
62
- }
63
-
64
- let api: ScheduleService
65
-
66
- export default function useScheduleService() {
67
- if (!api) api = new ScheduleService()
68
- return api
69
- }
1
+ import ApiService from '../settings/ApiService'
2
+ import {
3
+ Api_Schedule_Add_Shift,
4
+ Api_Schedule_Brigade_To_Swap,
5
+ Api_Schedule_Complete_Brigade,
6
+ Api_Schedule_Config,
7
+ Api_Schedule_Edit_Shifts,
8
+ Api_Schedule_Item,
9
+ Api_Schedule_Swap_Shifts,
10
+ Api_Schedule_Table_Brigade,
11
+ } from '@/api/types/Api_Schedule'
12
+
13
+ class ScheduleService extends ApiService {
14
+ public fetchScheduleConfig(): Promise<Api_Schedule_Config> {
15
+ return this.get<Api_Schedule_Config>('schedule/config')
16
+ }
17
+
18
+ public fetchSchedule(id: string): Promise<Api_Schedule_Item[]> {
19
+ return this.get<Api_Schedule_Item[]>(`schedule/${id}`)
20
+ }
21
+
22
+ public fetchScheduleTable(id: string): Promise<Api_Schedule_Table_Brigade[]> {
23
+ return this.get<Api_Schedule_Table_Brigade[]>(`schedule/${id}/get_brigades_table`)
24
+ }
25
+
26
+ public fetchBrigadesToSwap(id: string, params: any): Promise<Api_Schedule_Brigade_To_Swap[]> {
27
+ return this.get<Api_Schedule_Brigade_To_Swap[]>(`schedule/${id}/selection_brigades_for_swap_shift_template`, {
28
+ params,
29
+ })
30
+ }
31
+
32
+ public completeBrigadeSchedule(id: string, body: Api_Schedule_Complete_Brigade): Promise<Api_Schedule_Table_Brigade> {
33
+ return this.post<Api_Schedule_Complete_Brigade, Api_Schedule_Table_Brigade>(
34
+ `schedule/${id}/complete_brigade_schedule`,
35
+ body,
36
+ )
37
+ }
38
+
39
+ public autocompleteBrigadesSchedule(id: string, body: { shifts: string[] }): Promise<Api_Schedule_Item[]> {
40
+ return this.post(`schedule/${id}/autocomplete`, body)
41
+ }
42
+
43
+ public addBrigadeShift(id: string, body: Api_Schedule_Add_Shift): Promise<Api_Schedule_Item[]> {
44
+ return this.post(`schedule/${id}/shifts`, body)
45
+ }
46
+
47
+ public swapBrigadeShifts(id: string, body: Api_Schedule_Swap_Shifts): Promise<Api_Schedule_Item[]> {
48
+ return this.patch(`schedule/${id}/shifts/switch_shift_templates`, body)
49
+ }
50
+
51
+ public editBrigadeShifts(id: string, body: Api_Schedule_Edit_Shifts): Promise<any> {
52
+ return this.patch(`schedule/${id}/shifts`, body)
53
+ }
54
+
55
+ public deleteBrigadeShifts(id: string, shift_ids: string[]): Promise<any> {
56
+ return this.delete(`schedule/${id}/shifts`, { data: { shift_ids } })
57
+ }
58
+
59
+ public deleteBrigadesFromSchedule(id: string, brigade_ids: string[]): Promise<string> {
60
+ return this.patch(`schedule/${id}/delete_brigades`, { brigade_ids })
61
+ }
62
+ }
63
+
64
+ let api: ScheduleService
65
+
66
+ export default function useScheduleService() {
67
+ if (!api) api = new ScheduleService()
68
+ return api
69
+ }