shared-ritm 1.2.66 → 1.2.68

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 (68) hide show
  1. package/README.md +103 -103
  2. package/dist/index.css +1 -1
  3. package/dist/shared-ritm.es.js +27926 -8480
  4. package/dist/shared-ritm.umd.js +3834 -7
  5. package/dist/types/api/services/PhotoService.d.ts +41 -0
  6. package/dist/types/api/services/UserService.d.ts +11 -0
  7. package/dist/types/api/settings/ApiService.d.ts +0 -1
  8. package/dist/types/api/types/Api_Instruments.d.ts +1 -35
  9. package/dist/types/api/types/Api_User.d.ts +42 -0
  10. package/dist/types/index.d.ts +6 -4
  11. package/dist/types/utils/helpers.d.ts +1 -0
  12. package/package.json +64 -63
  13. package/src/api/services/ControlsService.ts +65 -64
  14. package/src/api/services/FileService.ts +2 -1
  15. package/src/api/services/GanttService.ts +17 -17
  16. package/src/api/services/InstrumentsService.ts +22 -22
  17. package/src/api/services/MetricsService.ts +110 -109
  18. package/src/api/services/PhotoService.ts +137 -0
  19. package/src/api/services/ProjectsService.ts +68 -67
  20. package/src/api/services/RepairsService.ts +101 -100
  21. package/src/api/services/SearchService.ts +2 -1
  22. package/src/api/services/TasksService.ts +2 -1
  23. package/src/api/services/UserService.ts +19 -0
  24. package/src/api/services/VideoService.ts +14 -14
  25. package/src/api/settings/ApiService.ts +0 -10
  26. package/src/api/types/Api_Controls.ts +72 -72
  27. package/src/api/types/Api_Files.ts +1 -1
  28. package/src/api/types/Api_Instruments.ts +98 -133
  29. package/src/api/types/Api_Projects.ts +55 -55
  30. package/src/api/types/Api_Repairs.ts +93 -93
  31. package/src/api/types/Api_Service.ts +9 -0
  32. package/src/api/types/Api_Tasks.ts +155 -155
  33. package/src/api/types/Api_User.ts +44 -0
  34. package/src/common/app-checkbox/AppCheckbox.vue +26 -26
  35. package/src/common/app-dialogs/AppConfirmDialog.vue +99 -99
  36. package/src/common/app-dropdown/AppDropdown.vue +31 -31
  37. package/src/common/app-input/AppInput.vue +148 -148
  38. package/src/common/app-select/AppSelect.vue +157 -157
  39. package/src/common/app-sheet/AppSheet.vue +120 -120
  40. package/src/common/app-sidebar/components/SidebarMenuItem.vue +148 -148
  41. package/src/common/app-table/AppTable.vue +250 -250
  42. package/src/common/app-table/AppTableLayout.vue +111 -111
  43. package/src/common/app-table/components/ModalSelect.vue +264 -264
  44. package/src/common/app-table/components/TableModal.vue +329 -329
  45. package/src/common/app-table/components/TablePagination.vue +152 -152
  46. package/src/common/app-table/components/TableSearch.vue +76 -76
  47. package/src/common/app-table/controllers/useBaseTable.ts +42 -42
  48. package/src/common/app-table/controllers/useColumnSelector.ts +38 -38
  49. package/src/common/app-table/controllers/useTableModel.ts +93 -93
  50. package/src/common/app-toggle/AppToggle.vue +23 -23
  51. package/src/common/app-wrapper/AppWrapper.vue +28 -28
  52. package/src/icons/components/table-filter-icon.vue +30 -30
  53. package/src/icons/dialogs/RemoveIcon.vue +12 -12
  54. package/src/icons/dialogs/SafetyIcon.vue +12 -12
  55. package/src/icons/task/attention-icon.vue +13 -13
  56. package/src/icons/task/clock-icon.vue +10 -10
  57. package/src/icons/task/delete-icon.vue +10 -10
  58. package/src/icons/task/fire-icon.vue +16 -16
  59. package/src/index.ts +7 -0
  60. package/src/main.ts +28 -28
  61. package/src/shared/styles/general.css +125 -125
  62. package/src/styles/variables.sass +12 -12
  63. package/src/utils/confirm.ts +12 -12
  64. package/src/utils/helpers.ts +58 -39
  65. package/src/utils/notification.ts +9 -9
  66. package/dist/types/api/services/SearchService.d.ts +0 -7
  67. package/dist/types/api/types/Api_Search.d.ts +0 -43
  68. package/dist/types/api/types/Api_Users.d.ts +0 -43
@@ -0,0 +1,41 @@
1
+ import * as faceapi from 'face-api.js';
2
+ import ApiService from '@/api/settings/ApiService';
3
+ declare class PhotoService extends ApiService {
4
+ getVideoStreamConfig(width: number, height: number): {
5
+ audio: boolean;
6
+ video: {
7
+ width: {
8
+ min: number;
9
+ ideal: number;
10
+ };
11
+ height: {
12
+ min: number;
13
+ ideal: number;
14
+ };
15
+ facingMode: string;
16
+ };
17
+ };
18
+ getContourCoordinate(width: number, height: number): {
19
+ x: number;
20
+ y: number;
21
+ width: number;
22
+ height: number;
23
+ };
24
+ getBoxData(box: any): {
25
+ x: any;
26
+ y: any;
27
+ width: any;
28
+ height: any;
29
+ } | null;
30
+ setStylesForCanvas(canvasContainer: any): void;
31
+ checkFaceInclusion(frame: any, face: any): boolean;
32
+ getFaceDetections(videoRef: any): Promise<faceapi.WithFaceExpressions<faceapi.WithFaceLandmarks<{
33
+ detection: faceapi.FaceDetection;
34
+ }, faceapi.FaceLandmarks68>>[]>;
35
+ getCanvas(videoRef: any): HTMLCanvasElement;
36
+ getResizedAndDetection(canvas: any, detections: any, ctx: any, videoWidth: number, videoHeight: number): void;
37
+ getFaceSnapshot(inputImage: any, box: any): Promise<string | null>;
38
+ initModels(): Promise<void>;
39
+ }
40
+ export default function usePhotoService(): PhotoService;
41
+ export {};
@@ -0,0 +1,11 @@
1
+ import ApiService from '@/api/settings/ApiService';
2
+ import { Api_User } from '@/api/types/Api_User';
3
+ declare class UserService extends ApiService {
4
+ editUser({ id, model }: {
5
+ id: string;
6
+ model: any;
7
+ }): Promise<Api_User>;
8
+ getUser(id: string): Promise<Api_User>;
9
+ }
10
+ export default function useUserService(): UserService;
11
+ export {};
@@ -9,7 +9,6 @@ export type ResponseApi<T> = {
9
9
  per_page: number;
10
10
  total: number;
11
11
  total_pages: number;
12
- filter_value?: string;
13
12
  };
14
13
  export default class ApiService {
15
14
  private axiosInstance;
@@ -1,3 +1,4 @@
1
+ import { Api_User } from '@/api/types/Api_User';
1
2
  export type Api_Instrument_Storage = {
2
3
  id: string;
3
4
  created_at: string;
@@ -30,18 +31,6 @@ export type Api_Instrument_Location = {
30
31
  deleted_at: string | null;
31
32
  state_id: unknown | null;
32
33
  };
33
- export type Api_User_Team = {
34
- id: string;
35
- name: string;
36
- display_name: string;
37
- description: string;
38
- created_at: string;
39
- updated_at: string;
40
- pivot: {
41
- team_id: string;
42
- user_id: string;
43
- };
44
- };
45
34
  export type Api_Instrument_Status = {
46
35
  id: string;
47
36
  description: string;
@@ -51,29 +40,6 @@ export type Api_Instrument_Status = {
51
40
  updated_at: string;
52
41
  deleted_at: string | null;
53
42
  };
54
- export type Api_User = {
55
- id: string;
56
- RFID: string;
57
- avatar: unknown | null;
58
- avatar_id: string | null;
59
- change_password: string;
60
- created_at: string;
61
- updated_at: string;
62
- deleted_at: string | null;
63
- dismissal_at: string | null;
64
- email_verified_at: string;
65
- divisions: string;
66
- email: string;
67
- face_recognition_id: string | null;
68
- first_name: string;
69
- full_name: string;
70
- last_name: string;
71
- patronymic: string;
72
- personnel_number: number;
73
- phone: string;
74
- profession: string;
75
- teams: Api_User_Team[];
76
- };
77
43
  export type Api_Instrument = {
78
44
  id: string;
79
45
  RFID: string | null;
@@ -0,0 +1,42 @@
1
+ export type Api_User_Team = {
2
+ id: string;
3
+ name: string;
4
+ display_name: string;
5
+ description: string;
6
+ created_at: string;
7
+ updated_at: string;
8
+ pivot: {
9
+ team_id: string;
10
+ user_id: string;
11
+ };
12
+ };
13
+ export type Api_User_Photo = {
14
+ id: string;
15
+ name: string;
16
+ path: string;
17
+ type: string;
18
+ };
19
+ export type Api_User = {
20
+ id: string;
21
+ RFID: string;
22
+ avatar: unknown | null;
23
+ avatar_id: string | null;
24
+ change_password: string;
25
+ created_at: string;
26
+ updated_at: string;
27
+ deleted_at: string | null;
28
+ dismissal_at: string | null;
29
+ email_verified_at: string;
30
+ divisions: string;
31
+ email: string;
32
+ face_recognition_id: string | null;
33
+ first_name: string;
34
+ full_name: string;
35
+ last_name: string;
36
+ patronymic: string;
37
+ personnel_number: number;
38
+ phone: string;
39
+ profession: string;
40
+ teams: Api_User_Team[];
41
+ photos: Api_User_Photo[];
42
+ };
@@ -21,7 +21,6 @@ import AppTableModal from '@/common/app-table/components/TableModal.vue';
21
21
  import AppTable from '@/common/app-table/AppTable.vue';
22
22
  import AppTableLayout from '@/common/app-table/AppTableLayout.vue';
23
23
  import AppModalSelect from '@/common/app-table/components/ModalSelect.vue';
24
- import ApiService from '@/api/settings/ApiService';
25
24
  import useGanttService from '@/api/services/GanttService';
26
25
  import useMetricsService from '@/api/services/MetricsService';
27
26
  import useProjectsService from '@/api/services/ProjectsService';
@@ -30,20 +29,23 @@ import useTasksService from '@/api/services/TasksService';
30
29
  import useAuthService from '@/api/services/AuthService';
31
30
  import useFileService from '@/api/services/FileService';
32
31
  import useVideoService from '@/api/services/VideoService';
32
+ import useUserService from '@/api/services/UserService';
33
+ import usePhotoService from '@/api/services/PhotoService';
33
34
  import useInstrumentsService from '@/api/services/InstrumentsService';
35
+ import ApiService from '@/api/settings/ApiService';
34
36
  import useControlsService from '@/api/services/ControlsService';
35
- import useSearchService from '@/api/services/SearchService';
36
37
  export { AppButton, AppCheckbox, AppDatePicker, AppInput, AppInputSearch, AppLayout, AppLayoutHeader, AppLayoutPage, AppLoader, AppSelect, AppSheet, AppSidebar, AppToggle, AppWrapper, AppConfirmDialog, AppDropdown, AppTablePagination, AppTableSearch, AppTableModal, AppTable, AppTableLayout, AppModalSelect, };
37
- export { ApiService, useAuthService, useGanttService, useMetricsService, useProjectsService, useRepairsService, useTasksService, useFileService, useControlsService, useVideoService, useInstrumentsService, useSearchService, };
38
+ export { ApiService, useAuthService, useGanttService, useMetricsService, useProjectsService, useRepairsService, useTasksService, useFileService, useControlsService, useVideoService, useUserService, usePhotoService, useInstrumentsService, };
38
39
  export { useBaseTable } from './common/app-table/controllers/useBaseTable';
39
40
  export { useTableModel } from './common/app-table/controllers/useTableModel';
40
41
  export { useColumnSelector } from './common/app-table/controllers/useColumnSelector';
41
42
  export type { FilterOption, TableModel, TableColumn } from './common/app-table/controllers/useTableModel';
42
43
  export type { NotificationType } from './utils/notification';
43
44
  export { notificationSettings } from './utils/notification';
45
+ export * from './utils/helpers';
44
46
  export * from './api/types/Api_Tasks';
45
47
  export * from './api/types/Api_Repairs';
46
48
  export * from './api/types/Api_Projects';
47
49
  export * from './api/types/Api_Controls';
48
50
  export * from './api/types/Api_Instruments';
49
- export * from './api/types/Api_Search';
51
+ export * from './api/types/Api_User';
@@ -15,3 +15,4 @@ export declare function normalizeValue(val: any): any;
15
15
  * Используется для идентификаторов временных сущностей.
16
16
  */
17
17
  export declare function uuidv4(): string;
18
+ export declare function base64ToBlob(base64Data: string): Blob;
package/package.json CHANGED
@@ -1,63 +1,64 @@
1
- {
2
- "name": "shared-ritm",
3
- "version": "1.2.66",
4
- "private": false,
5
- "files": [
6
- "dist",
7
- "src"
8
- ],
9
- "main": "dist/shared-ritm.umd.js",
10
- "type": "module",
11
- "module": "./dist/shared-ritm.es.js",
12
- "types": "./dist/types/index.d.ts",
13
- "exports": {
14
- ".": {
15
- "import": "./dist/shared-ritm.es.js",
16
- "require": "./dist/shared-ritm.umd.js",
17
- "default": "./dist/shared-ritm.es.js",
18
- "types": "./dist/types/index.d.ts"
19
- },
20
- "./style": "./dist/index.css"
21
- },
22
- "scripts": {
23
- "dev": "vite",
24
- "build": "vite build && tsc --emitDeclarationOnly",
25
- "typecheck": "vue-tsc --noEmit",
26
- "lint": "eslint --fix",
27
- "format": "prettier -w -u ."
28
- },
29
- "dependencies": {
30
- "@quasar/extras": "^1.16.17",
31
- "@vueuse/core": "^10.1.2",
32
- "axios": "^1.7.7",
33
- "vue": "^3.5.12",
34
- "vue-router": "^4.0.3"
35
- },
36
- "peerDependencies": {
37
- "quasar": "^2.18.1"
38
- },
39
- "devDependencies": {
40
- "@quasar/vite-plugin": "^1.9.0",
41
- "@rollup/pluginutils": "^5.1.3",
42
- "@types/node": "^22.7.9",
43
- "@typescript-eslint/eslint-plugin": "^4.25.0",
44
- "@typescript-eslint/parser": "^4.25.0",
45
- "@vitejs/plugin-vue": "^5.1.4",
46
- "@vue/compiler-sfc": "^3.0.5",
47
- "@vue/eslint-config-prettier": "^6.0.0",
48
- "@vue/eslint-config-typescript": "^7.0.0",
49
- "eslint": "^7.27.0",
50
- "eslint-plugin-prettier": "^3.4.0",
51
- "eslint-plugin-vue": "^7.10.0",
52
- "install": "^0.13.0",
53
- "npm": "^11.4.0",
54
- "prettier": "^2.3.0",
55
- "quasar": "^2.18.1",
56
- "rollup-plugin-visualizer": "^5.14.0",
57
- "sass": "^1.80.4",
58
- "typescript": "^5.6.3",
59
- "vite": "^5.4.9",
60
- "vite-plugin-css-modules": "^0.0.1",
61
- "vue-tsc": "^2.1.6"
62
- }
63
- }
1
+ {
2
+ "name": "shared-ritm",
3
+ "version": "1.2.68",
4
+ "private": false,
5
+ "files": [
6
+ "dist",
7
+ "src"
8
+ ],
9
+ "main": "dist/shared-ritm.umd.js",
10
+ "type": "module",
11
+ "module": "./dist/shared-ritm.es.js",
12
+ "types": "./dist/types/index.d.ts",
13
+ "exports": {
14
+ ".": {
15
+ "import": "./dist/shared-ritm.es.js",
16
+ "require": "./dist/shared-ritm.umd.js",
17
+ "default": "./dist/shared-ritm.es.js",
18
+ "types": "./dist/types/index.d.ts"
19
+ },
20
+ "./style": "./dist/index.css"
21
+ },
22
+ "scripts": {
23
+ "dev": "vite",
24
+ "build": "vite build && tsc --emitDeclarationOnly",
25
+ "typecheck": "vue-tsc --noEmit",
26
+ "lint": "eslint --fix",
27
+ "format": "prettier -w -u ."
28
+ },
29
+ "dependencies": {
30
+ "@quasar/extras": "^1.16.17",
31
+ "@vueuse/core": "^10.1.2",
32
+ "face-api.js": "^0.22.2",
33
+ "axios": "^1.7.7",
34
+ "vue": "^3.5.12",
35
+ "vue-router": "^4.0.3"
36
+ },
37
+ "peerDependencies": {
38
+ "quasar": "^2.18.1"
39
+ },
40
+ "devDependencies": {
41
+ "@quasar/vite-plugin": "^1.9.0",
42
+ "@rollup/pluginutils": "^5.1.3",
43
+ "@types/node": "^22.7.9",
44
+ "@typescript-eslint/eslint-plugin": "^4.25.0",
45
+ "@typescript-eslint/parser": "^4.25.0",
46
+ "@vitejs/plugin-vue": "^5.1.4",
47
+ "@vue/compiler-sfc": "^3.0.5",
48
+ "@vue/eslint-config-prettier": "^6.0.0",
49
+ "@vue/eslint-config-typescript": "^7.0.0",
50
+ "eslint": "^7.27.0",
51
+ "eslint-plugin-prettier": "^3.4.0",
52
+ "eslint-plugin-vue": "^7.10.0",
53
+ "install": "^0.13.0",
54
+ "npm": "^11.4.0",
55
+ "prettier": "^2.3.0",
56
+ "quasar": "^2.18.1",
57
+ "rollup-plugin-visualizer": "^5.14.0",
58
+ "sass": "^1.80.4",
59
+ "typescript": "^5.6.3",
60
+ "vite": "^5.4.9",
61
+ "vite-plugin-css-modules": "^0.0.1",
62
+ "vue-tsc": "^2.1.6"
63
+ }
64
+ }
@@ -1,64 +1,65 @@
1
- import ApiService, { ResponseApi } from '@/api/settings/ApiService'
2
-
3
- import { Api_ControlLogs_Dto, Api_ControlZones_Dto } from '@/api/types/Api_Controls'
4
-
5
- class ControlsService extends ApiService {
6
- public fetchControlZones(params: Record<string, any>): Promise<ResponseApi<Api_ControlZones_Dto[]>> {
7
- return this.get('/frame/list', { params })
8
- }
9
-
10
- public async fetchControlZone(id: string): Promise<ResponseApi<Api_ControlZones_Dto>> {
11
- return this.get(`/frame/${id}`)
12
- }
13
-
14
- public createControlZone(params: any): Promise<ResponseApi<any>> {
15
- return this.post<any, ResponseApi<any>>('/frame', params)
16
- }
17
-
18
- public editControlZone(id: string, params: any): Promise<ResponseApi<any>> {
19
- return this.put<any, ResponseApi<any>>(`/frame/${id}`, params)
20
- }
21
-
22
- public deleteControlZone(id: string): Promise<any> {
23
- return this.delete<ResponseApi<any>>(`/frame/${id}`)
24
- }
25
-
26
- public fetchControlLogs(params: Record<string, any>): Promise<ResponseApi<Api_ControlLogs_Dto[]>> {
27
- return this.get('/exposed_equipment_zones/list', { params })
28
- }
29
-
30
- public fetchControllers(params: Record<string, any>): Promise<ResponseApi<Api_ControlLogs_Dto[]>> {
31
- return this.get('/frame/controllers/list', { params })
32
- }
33
-
34
- public fetchUsersWithPasses(): Promise<any> {
35
- return this.get('inspector/users-with-passes')
36
- }
37
-
38
- public fetchWarehousesList(): Promise<any> {
39
- return this.get('tasks/warehouse/list?only_outside_exposed_equipment_zone=1')
40
- }
41
-
42
- public manualEntry(params: any): Promise<ResponseApi<any>> {
43
- return this.post<any, ResponseApi<any>>('exposed_equipment_zones/hand/enter', params)
44
- }
45
-
46
- public manualExit(params: any): Promise<ResponseApi<any>> {
47
- return this.post<any, ResponseApi<any>>('exposed_equipment_zones/hand/exit', params)
48
- }
49
-
50
- public deleteControlLogs(params: any): Promise<any> {
51
- return this.delete<ResponseApi<any>>(`exposed_equipment_zones`, params)
52
- }
53
-
54
- public fetchInstrumentTypeList(params: any): Promise<any> {
55
- return this.get<ResponseApi<any>>(`search/instrument_types`, { params })
56
- }
57
- }
58
-
59
- let api: ControlsService
60
-
61
- export default function useControlsService() {
62
- if (!api) api = new ControlsService()
63
- return api
64
- }
1
+ import ApiService from '@/api/settings/ApiService'
2
+
3
+ import { Api_ControlLogs_Dto, Api_ControlZones_Dto } from '@/api/types/Api_Controls'
4
+ import { ResponseApi } from '@/api/types/Api_Service'
5
+
6
+ class ControlsService extends ApiService {
7
+ public fetchControlZones(params: Record<string, any>): Promise<ResponseApi<Api_ControlZones_Dto[]>> {
8
+ return this.get('/frame/list', { params })
9
+ }
10
+
11
+ public async fetchControlZone(id: string): Promise<ResponseApi<Api_ControlZones_Dto>> {
12
+ return this.get(`/frame/${id}`)
13
+ }
14
+
15
+ public createControlZone(params: any): Promise<ResponseApi<any>> {
16
+ return this.post<any, ResponseApi<any>>('/frame', params)
17
+ }
18
+
19
+ public editControlZone(id: string, params: any): Promise<ResponseApi<any>> {
20
+ return this.put<any, ResponseApi<any>>(`/frame/${id}`, params)
21
+ }
22
+
23
+ public deleteControlZone(id: string): Promise<any> {
24
+ return this.delete<ResponseApi<any>>(`/frame/${id}`)
25
+ }
26
+
27
+ public fetchControlLogs(params: Record<string, any>): Promise<ResponseApi<Api_ControlLogs_Dto[]>> {
28
+ return this.get('/exposed_equipment_zones/list', { params })
29
+ }
30
+
31
+ public fetchControllers(params: Record<string, any>): Promise<ResponseApi<Api_ControlLogs_Dto[]>> {
32
+ return this.get('/frame/controllers/list', { params })
33
+ }
34
+
35
+ public fetchUsersWithPasses(): Promise<any> {
36
+ return this.get('inspector/users-with-passes')
37
+ }
38
+
39
+ public fetchWarehousesList(): Promise<any> {
40
+ return this.get('tasks/warehouse/list?only_outside_exposed_equipment_zone=1')
41
+ }
42
+
43
+ public manualEntry(params: any): Promise<ResponseApi<any>> {
44
+ return this.post<any, ResponseApi<any>>('exposed_equipment_zones/hand/enter', params)
45
+ }
46
+
47
+ public manualExit(params: any): Promise<ResponseApi<any>> {
48
+ return this.post<any, ResponseApi<any>>('exposed_equipment_zones/hand/exit', params)
49
+ }
50
+
51
+ public deleteControlLogs(params: any): Promise<any> {
52
+ return this.delete<ResponseApi<any>>(`exposed_equipment_zones`, params)
53
+ }
54
+
55
+ public fetchInstrumentTypeList(params: any): Promise<any> {
56
+ return this.get<ResponseApi<any>>(`search/instrument_types`, { params })
57
+ }
58
+ }
59
+
60
+ let api: ControlsService
61
+
62
+ export default function useControlsService() {
63
+ if (!api) api = new ControlsService()
64
+ return api
65
+ }
@@ -1,4 +1,5 @@
1
- import ApiService, { ResponseApi } from '@/api/settings/ApiService'
1
+ import ApiService from '@/api/settings/ApiService'
2
+ import { ResponseApi } from '@/api/types/Api_Service'
2
3
  import { Api_Files_Responsible_Dto } from '@/api/types/Api_Files'
3
4
 
4
5
  class FileService extends ApiService {
@@ -1,17 +1,17 @@
1
- import ApiService from '@/api/settings/ApiService'
2
-
3
- class GanttService extends ApiService {
4
- public async fetchCriticalPathTasks(params: string): Promise<any> {
5
- return await this.get(`gantt/get_list_task_on_critical_path?${params}`)
6
- }
7
- public async fetchGanttList(params: string): Promise<any> {
8
- return await this.get(`/list/tasks/search?${params}&gantt=1`)
9
- }
10
- }
11
-
12
- let api: GanttService
13
-
14
- export default function useGanttService() {
15
- if (!api) api = new GanttService()
16
- return api
17
- }
1
+ import ApiService from '@/api/settings/ApiService'
2
+
3
+ class GanttService extends ApiService {
4
+ public async fetchCriticalPathTasks(params: string): Promise<any> {
5
+ return await this.get(`gantt/get_list_task_on_critical_path?${params}`)
6
+ }
7
+ public async fetchGanttList(params: string): Promise<any> {
8
+ return await this.get(`/list/tasks/search?${params}&gantt=1`)
9
+ }
10
+ }
11
+
12
+ let api: GanttService
13
+
14
+ export default function useGanttService() {
15
+ if (!api) api = new GanttService()
16
+ return api
17
+ }
@@ -1,22 +1,22 @@
1
- import ApiService from '@/api/settings/ApiService'
2
- import { Api_instruments_HistoryResponse } from '@/api/types/Api_Instruments'
3
-
4
- class InstrumentsService extends ApiService {
5
- public async fetchUserInstrumentsHistory(id: string, page: number): Promise<Api_instruments_HistoryResponse> {
6
- const params = {
7
- status: 'issued',
8
- page,
9
- desc: 'desc',
10
- column: 'updated_at',
11
- }
12
-
13
- return await this.get(`users/${id}/instruments`, { params })
14
- }
15
- }
16
-
17
- let api: InstrumentsService
18
-
19
- export default function useInstrumentsService() {
20
- if (!api) api = new InstrumentsService()
21
- return api
22
- }
1
+ import ApiService from '@/api/settings/ApiService'
2
+ import { Api_instruments_HistoryResponse } from '@/api/types/Api_Instruments'
3
+
4
+ class InstrumentsService extends ApiService {
5
+ public async fetchUserInstrumentsHistory(id: string, page: number): Promise<Api_instruments_HistoryResponse> {
6
+ const params = {
7
+ status: 'issued',
8
+ page,
9
+ desc: 'desc',
10
+ column: 'updated_at',
11
+ }
12
+
13
+ return await this.get(`users/${id}/instruments`, { params })
14
+ }
15
+ }
16
+
17
+ let api: InstrumentsService
18
+
19
+ export default function useInstrumentsService() {
20
+ if (!api) api = new InstrumentsService()
21
+ return api
22
+ }