phx-react 1.3.1675 → 1.3.1677

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 (125) hide show
  1. package/dist/cjs/components/MainWrapV4/components/left-heder-section.js +2 -2
  2. package/dist/cjs/components/MainWrapV4/components/left-heder-section.js.map +1 -1
  3. package/dist/cjs/components/MainWrapV4/components/submenu.js +1 -1
  4. package/dist/cjs/components/MainWrapV4/components/submenu.js.map +1 -1
  5. package/dist/cjs/components/MainWrapV4/constant.d.ts +8 -0
  6. package/dist/cjs/components/MainWrapV4/constant.js +10 -1
  7. package/dist/cjs/components/MainWrapV4/constant.js.map +1 -1
  8. package/dist/cjs/components/MainWrapV4/quick-action/library/alert.d.ts +2 -0
  9. package/dist/cjs/components/MainWrapV4/quick-action/library/alert.js +39 -0
  10. package/dist/cjs/components/MainWrapV4/quick-action/library/alert.js.map +1 -0
  11. package/dist/cjs/components/MainWrapV4/quick-action/library/constants.d.ts +53 -0
  12. package/dist/cjs/components/MainWrapV4/quick-action/library/constants.js +61 -0
  13. package/dist/cjs/components/MainWrapV4/quick-action/library/constants.js.map +1 -0
  14. package/dist/cjs/components/MainWrapV4/quick-action/library/helper.d.ts +24 -0
  15. package/dist/cjs/components/MainWrapV4/quick-action/library/helper.js +166 -0
  16. package/dist/cjs/components/MainWrapV4/quick-action/library/helper.js.map +1 -0
  17. package/dist/cjs/components/MainWrapV4/quick-action/library/index.d.ts +2 -0
  18. package/dist/cjs/components/MainWrapV4/quick-action/library/index.js +63 -0
  19. package/dist/cjs/components/MainWrapV4/quick-action/library/index.js.map +1 -0
  20. package/dist/cjs/components/MainWrapV4/quick-action/library/library-create-ticket/book-borrow-info.d.ts +18 -0
  21. package/dist/cjs/components/MainWrapV4/quick-action/library/library-create-ticket/book-borrow-info.js +187 -0
  22. package/dist/cjs/components/MainWrapV4/quick-action/library/library-create-ticket/book-borrow-info.js.map +1 -0
  23. package/dist/cjs/components/MainWrapV4/quick-action/library/library-create-ticket/index.d.ts +7 -0
  24. package/dist/cjs/components/MainWrapV4/quick-action/library/library-create-ticket/index.js +327 -0
  25. package/dist/cjs/components/MainWrapV4/quick-action/library/library-create-ticket/index.js.map +1 -0
  26. package/dist/cjs/components/MainWrapV4/quick-action/library/library-create-ticket/modal-add-book.d.ts +8 -0
  27. package/dist/cjs/components/MainWrapV4/quick-action/library/library-create-ticket/modal-add-book.js +68 -0
  28. package/dist/cjs/components/MainWrapV4/quick-action/library/library-create-ticket/modal-add-book.js.map +1 -0
  29. package/dist/cjs/components/MainWrapV4/quick-action/library/library-return-ticket/input.d.ts +9 -0
  30. package/dist/cjs/components/MainWrapV4/quick-action/library/library-return-ticket/input.js +21 -0
  31. package/dist/cjs/components/MainWrapV4/quick-action/library/library-return-ticket/input.js.map +1 -0
  32. package/dist/cjs/components/MainWrapV4/quick-action/library/library-return-ticket/modal-return-book.d.ts +7 -0
  33. package/dist/cjs/components/MainWrapV4/quick-action/library/library-return-ticket/modal-return-book.js +91 -0
  34. package/dist/cjs/components/MainWrapV4/quick-action/library/library-return-ticket/modal-return-book.js.map +1 -0
  35. package/dist/cjs/components/MainWrapV4/quick-action/library/library-return-ticket/scan-ticket-info.d.ts +28 -0
  36. package/dist/cjs/components/MainWrapV4/quick-action/library/library-return-ticket/scan-ticket-info.js +195 -0
  37. package/dist/cjs/components/MainWrapV4/quick-action/library/library-return-ticket/scan-ticket-info.js.map +1 -0
  38. package/dist/cjs/components/MainWrapV4/quick-action/library/library-return-ticket/scan-to-return.d.ts +33 -0
  39. package/dist/cjs/components/MainWrapV4/quick-action/library/library-return-ticket/scan-to-return.js +199 -0
  40. package/dist/cjs/components/MainWrapV4/quick-action/library/library-return-ticket/scan-to-return.js.map +1 -0
  41. package/dist/cjs/components/MainWrapV4/quick-action/library/library-return-ticket/use-book-state.d.ts +6 -0
  42. package/dist/cjs/components/MainWrapV4/quick-action/library/library-return-ticket/use-book-state.js +27 -0
  43. package/dist/cjs/components/MainWrapV4/quick-action/library/library-return-ticket/use-book-state.js.map +1 -0
  44. package/dist/cjs/components/MainWrapV4/quick-action/library/library-return-ticket/use-borrow-book.d.ts +3 -0
  45. package/dist/cjs/components/MainWrapV4/quick-action/library/library-return-ticket/use-borrow-book.js +48 -0
  46. package/dist/cjs/components/MainWrapV4/quick-action/library/library-return-ticket/use-borrow-book.js.map +1 -0
  47. package/dist/cjs/components/MainWrapV4/quick-action/library/library-return-ticket/use-warehouse.d.ts +6 -0
  48. package/dist/cjs/components/MainWrapV4/quick-action/library/library-return-ticket/use-warehouse.js +36 -0
  49. package/dist/cjs/components/MainWrapV4/quick-action/library/library-return-ticket/use-warehouse.js.map +1 -0
  50. package/dist/cjs/components/MainWrapV4/quick-action/library/mutation.d.ts +3 -0
  51. package/dist/cjs/components/MainWrapV4/quick-action/library/mutation.js +57 -0
  52. package/dist/cjs/components/MainWrapV4/quick-action/library/mutation.js.map +1 -0
  53. package/dist/cjs/components/MainWrapV4/quick-action/library/query.d.ts +17 -0
  54. package/dist/cjs/components/MainWrapV4/quick-action/library/query.js +327 -0
  55. package/dist/cjs/components/MainWrapV4/quick-action/library/query.js.map +1 -0
  56. package/dist/cjs/components/MainWrapV4/{components → quick-action}/quick-action.js +2 -0
  57. package/dist/cjs/components/MainWrapV4/quick-action/quick-action.js.map +1 -0
  58. package/dist/cjs/index.d.ts +3 -1
  59. package/dist/cjs/index.js +7 -3
  60. package/dist/cjs/index.js.map +1 -1
  61. package/dist/esm/components/MainWrapV4/components/left-heder-section.js +2 -2
  62. package/dist/esm/components/MainWrapV4/components/left-heder-section.js.map +1 -1
  63. package/dist/esm/components/MainWrapV4/components/submenu.js +1 -1
  64. package/dist/esm/components/MainWrapV4/components/submenu.js.map +1 -1
  65. package/dist/esm/components/MainWrapV4/constant.d.ts +8 -0
  66. package/dist/esm/components/MainWrapV4/constant.js +9 -0
  67. package/dist/esm/components/MainWrapV4/constant.js.map +1 -1
  68. package/dist/esm/components/MainWrapV4/quick-action/library/alert.d.ts +2 -0
  69. package/dist/esm/components/MainWrapV4/quick-action/library/alert.js +35 -0
  70. package/dist/esm/components/MainWrapV4/quick-action/library/alert.js.map +1 -0
  71. package/dist/esm/components/MainWrapV4/quick-action/library/constants.d.ts +53 -0
  72. package/dist/esm/components/MainWrapV4/quick-action/library/constants.js +58 -0
  73. package/dist/esm/components/MainWrapV4/quick-action/library/constants.js.map +1 -0
  74. package/dist/esm/components/MainWrapV4/quick-action/library/helper.d.ts +24 -0
  75. package/dist/esm/components/MainWrapV4/quick-action/library/helper.js +152 -0
  76. package/dist/esm/components/MainWrapV4/quick-action/library/helper.js.map +1 -0
  77. package/dist/esm/components/MainWrapV4/quick-action/library/index.d.ts +2 -0
  78. package/dist/esm/components/MainWrapV4/quick-action/library/index.js +59 -0
  79. package/dist/esm/components/MainWrapV4/quick-action/library/index.js.map +1 -0
  80. package/dist/esm/components/MainWrapV4/quick-action/library/library-create-ticket/book-borrow-info.d.ts +18 -0
  81. package/dist/esm/components/MainWrapV4/quick-action/library/library-create-ticket/book-borrow-info.js +183 -0
  82. package/dist/esm/components/MainWrapV4/quick-action/library/library-create-ticket/book-borrow-info.js.map +1 -0
  83. package/dist/esm/components/MainWrapV4/quick-action/library/library-create-ticket/index.d.ts +7 -0
  84. package/dist/esm/components/MainWrapV4/quick-action/library/library-create-ticket/index.js +323 -0
  85. package/dist/esm/components/MainWrapV4/quick-action/library/library-create-ticket/index.js.map +1 -0
  86. package/dist/esm/components/MainWrapV4/quick-action/library/library-create-ticket/modal-add-book.d.ts +8 -0
  87. package/dist/esm/components/MainWrapV4/quick-action/library/library-create-ticket/modal-add-book.js +64 -0
  88. package/dist/esm/components/MainWrapV4/quick-action/library/library-create-ticket/modal-add-book.js.map +1 -0
  89. package/dist/esm/components/MainWrapV4/quick-action/library/library-return-ticket/input.d.ts +9 -0
  90. package/dist/esm/components/MainWrapV4/quick-action/library/library-return-ticket/input.js +16 -0
  91. package/dist/esm/components/MainWrapV4/quick-action/library/library-return-ticket/input.js.map +1 -0
  92. package/dist/esm/components/MainWrapV4/quick-action/library/library-return-ticket/modal-return-book.d.ts +7 -0
  93. package/dist/esm/components/MainWrapV4/quick-action/library/library-return-ticket/modal-return-book.js +87 -0
  94. package/dist/esm/components/MainWrapV4/quick-action/library/library-return-ticket/modal-return-book.js.map +1 -0
  95. package/dist/esm/components/MainWrapV4/quick-action/library/library-return-ticket/scan-ticket-info.d.ts +28 -0
  96. package/dist/esm/components/MainWrapV4/quick-action/library/library-return-ticket/scan-ticket-info.js +191 -0
  97. package/dist/esm/components/MainWrapV4/quick-action/library/library-return-ticket/scan-ticket-info.js.map +1 -0
  98. package/dist/esm/components/MainWrapV4/quick-action/library/library-return-ticket/scan-to-return.d.ts +33 -0
  99. package/dist/esm/components/MainWrapV4/quick-action/library/library-return-ticket/scan-to-return.js +195 -0
  100. package/dist/esm/components/MainWrapV4/quick-action/library/library-return-ticket/scan-to-return.js.map +1 -0
  101. package/dist/esm/components/MainWrapV4/quick-action/library/library-return-ticket/use-book-state.d.ts +6 -0
  102. package/dist/esm/components/MainWrapV4/quick-action/library/library-return-ticket/use-book-state.js +24 -0
  103. package/dist/esm/components/MainWrapV4/quick-action/library/library-return-ticket/use-book-state.js.map +1 -0
  104. package/dist/esm/components/MainWrapV4/quick-action/library/library-return-ticket/use-borrow-book.d.ts +3 -0
  105. package/dist/esm/components/MainWrapV4/quick-action/library/library-return-ticket/use-borrow-book.js +44 -0
  106. package/dist/esm/components/MainWrapV4/quick-action/library/library-return-ticket/use-borrow-book.js.map +1 -0
  107. package/dist/esm/components/MainWrapV4/quick-action/library/library-return-ticket/use-warehouse.d.ts +6 -0
  108. package/dist/esm/components/MainWrapV4/quick-action/library/library-return-ticket/use-warehouse.js +33 -0
  109. package/dist/esm/components/MainWrapV4/quick-action/library/library-return-ticket/use-warehouse.js.map +1 -0
  110. package/dist/esm/components/MainWrapV4/quick-action/library/mutation.d.ts +3 -0
  111. package/dist/esm/components/MainWrapV4/quick-action/library/mutation.js +54 -0
  112. package/dist/esm/components/MainWrapV4/quick-action/library/mutation.js.map +1 -0
  113. package/dist/esm/components/MainWrapV4/quick-action/library/query.d.ts +17 -0
  114. package/dist/esm/components/MainWrapV4/quick-action/library/query.js +321 -0
  115. package/dist/esm/components/MainWrapV4/quick-action/library/query.js.map +1 -0
  116. package/dist/esm/components/MainWrapV4/{components → quick-action}/quick-action.js +2 -0
  117. package/dist/esm/components/MainWrapV4/quick-action/quick-action.js.map +1 -0
  118. package/dist/esm/index.d.ts +3 -1
  119. package/dist/esm/index.js +3 -1
  120. package/dist/esm/index.js.map +1 -1
  121. package/package.json +1 -1
  122. package/dist/cjs/components/MainWrapV4/components/quick-action.js.map +0 -1
  123. package/dist/esm/components/MainWrapV4/components/quick-action.js.map +0 -1
  124. /package/dist/cjs/components/MainWrapV4/{components → quick-action}/quick-action.d.ts +0 -0
  125. /package/dist/esm/components/MainWrapV4/{components → quick-action}/quick-action.d.ts +0 -0
@@ -0,0 +1,35 @@
1
+ import { useEffect, useState } from 'react';
2
+ import { useMainwrapV4EventBus } from '../../hooks/use-event-bus';
3
+ import { KEY_ALERT_LIBRARY } from './constants';
4
+ import { PHXNotifications } from '../../../..';
5
+ import React from 'react';
6
+ export default function AlertLibrary() {
7
+ const [data, setData] = useState({
8
+ message: '',
9
+ isFailure: false,
10
+ show: false,
11
+ type: 'add',
12
+ });
13
+ useMainwrapV4EventBus(KEY_ALERT_LIBRARY, (payload) => {
14
+ const { message, isFailure, show, type } = payload;
15
+ setData({
16
+ type,
17
+ isFailure: isFailure || false,
18
+ message: message || '',
19
+ show,
20
+ });
21
+ });
22
+ useEffect(() => {
23
+ if (data.show) {
24
+ const timerId = setTimeout(() => {
25
+ setData((pre) => ({ ...pre, show: false, isFailure: false }));
26
+ }, 10000);
27
+ return () => clearTimeout(timerId);
28
+ }
29
+ return;
30
+ }, [data.show]);
31
+ return (React.createElement(PHXNotifications, { className: 'z-[9999]', customMessage: data.message, failure: data.isFailure, onHide: () => setData((pre) => ({ ...pre, show: false })), show: data.show,
32
+ // @ts-ignore
33
+ type: data.type }));
34
+ }
35
+ //# sourceMappingURL=alert.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"alert.js","sourceRoot":"","sources":["../../../../../../src/components/MainWrapV4/quick-action/library/alert.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAC3C,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAA;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAC9C,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,MAAM,CAAC,OAAO,UAAU,YAAY;IAClC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC;QAC/B,OAAO,EAAE,EAAE;QACX,SAAS,EAAE,KAAK;QAChB,IAAI,EAAE,KAAK;QACX,IAAI,EAAE,KAAK;KACZ,CAAC,CAAA;IAEF,qBAAqB,CAAC,iBAAiB,EAAE,CAAC,OAAY,EAAE,EAAE;QACxD,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,OAAO,CAAA;QAClD,OAAO,CAAC;YACN,IAAI;YACJ,SAAS,EAAE,SAAS,IAAI,KAAK;YAC7B,OAAO,EAAE,OAAO,IAAI,EAAE;YACtB,IAAI;SACL,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC9B,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC,CAAA;YAC/D,CAAC,EAAE,KAAK,CAAC,CAAA;YAET,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAA;QACpC,CAAC;QAED,OAAM;IACR,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;IAEf,OAAO,CACL,oBAAC,gBAAgB,IACf,SAAS,EAAC,UAAU,EACpB,aAAa,EAAE,IAAI,CAAC,OAAO,EAC3B,OAAO,EAAE,IAAI,CAAC,SAAS,EACvB,MAAM,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,EACzD,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,aAAa;QACb,IAAI,EAAE,IAAI,CAAC,IAAI,GACf,CACH,CAAA;AACH,CAAC"}
@@ -0,0 +1,53 @@
1
+ export declare const KEY_MODULE_CODE_LIBRARY = "LIBRARY";
2
+ export declare enum QUICK_ACTION_LIBRARY {
3
+ LIBRARY_TRUNG_HOC_BORROW_TICKET_CREATE = "LIBRARY_TRUNG_HOC_BORROW_TICKET_CREATE",
4
+ LIBRARY_TRUNG_HOC_BORROW_TICKET_RETURN = "LIBRARY_TRUNG_HOC_BORROW_TICKET_RETURN",
5
+ LIBRARY_TIEU_HOC_BORROW_TICKET_CREATE = "LIBRARY_TIEU_HOC_BORROW_TICKET_CREATE",
6
+ LIBRARY_TIEU_HOC_BORROW_TICKET_RETURN = "LIBRARY_TIEU_HOC_BORROW_TICKET_RETURN"
7
+ }
8
+ export declare enum PARENT_ROUTE_LIBRARY {
9
+ TIEU_HOC = "tieu-hoc",
10
+ TRUNG_HOC = "trung-hoc"
11
+ }
12
+ export declare const STOP_BORROW_STATE_CODE = "STOP_BORROW";
13
+ export declare const IN_WAREHOUSE_STATE_CODE = "IN_WAREHOUSE";
14
+ export declare const IN_BOOKSHELF_STATE_CODE = "IN_BOOKSHELF";
15
+ export declare const BORROWED_STATE_CODE = "BORROWED";
16
+ export declare const SCHEDULE_BORROW_STATE_CODE = "SCHEDULED";
17
+ export declare const LOST_BOOK_STATE_CODE = "LOST";
18
+ export declare const ALL_TICKET_CODE = "ALL";
19
+ export declare const AWAIT_CONFIRM_TICKET_CODE = "AWAIT_CONFIRM";
20
+ export declare const REFUSED_TICKET_CODE = "REFUSED";
21
+ export declare const AWAIT_COLLECT_TICKET_CODE = "AWAIT_COLLECT";
22
+ export declare const BORROWED_TICKET_CODE = "BORROWED";
23
+ export declare const RETURNED_TICKET_CODE = "RETURNED";
24
+ export declare const EXPIRED_TICKET_CODE = "EXPIRED";
25
+ export declare const CANCEL_TICKET_CODE = "CANCELED";
26
+ export declare const VALID_BOOK_CODE_LENGTH = 8;
27
+ export declare const KEY_HOC_SINH_CODE = "SV";
28
+ export declare const KEY_GIAO_VIEN_CODE = "GV";
29
+ export declare const KEY_NHAN_VIEN_CODE = "NV";
30
+ export declare const KEY_PHU_HUYNH_CODE = "PH";
31
+ export declare const STATUS_BOOK: {
32
+ ACTIVE: number;
33
+ NO_ACTIVE: number;
34
+ };
35
+ export declare const ACTION_LIBRARY_CREATE_TICKET = "LIBRARY_CREATE_TICKET";
36
+ export declare const CODE_BORROW_USER: {
37
+ HS: string;
38
+ GV: string;
39
+ NV: string;
40
+ GV_CLASSROOM: string;
41
+ HS_CLASSROOM: string;
42
+ };
43
+ export declare const KEY_STUDYING_STUDENT_STATUS = 2;
44
+ export declare const MAX_BORROW_BOOK_STUDENT = 2;
45
+ export declare const MAX_BORROW_BOOK_INDIVIDUAL = 5;
46
+ export declare const STUDENT_BORROW_INDIVIDUAL_CODE = "HS";
47
+ export declare const TEACHER_BORROW_INDIVIDUAL_CODE = "GV";
48
+ export declare const STAFF_BORROW_INDIVIDUAL_CODE = "NV";
49
+ export declare const TEACHER_BORROW_GROUP_CODE = "GV_CLASSROOM";
50
+ export declare const STUDENT_BORROW_GROUP_CODE = "HS_CLASSROOM";
51
+ export declare const TOTAL_BORROW_DAY_STUDENT = 7;
52
+ export declare const DEFAULT_TOTAL_BORROW_DAY = 14;
53
+ export declare const KEY_ALERT_LIBRARY = "ALERT_LIBRARY";
@@ -0,0 +1,58 @@
1
+ export const KEY_MODULE_CODE_LIBRARY = 'LIBRARY';
2
+ export var QUICK_ACTION_LIBRARY;
3
+ (function (QUICK_ACTION_LIBRARY) {
4
+ QUICK_ACTION_LIBRARY["LIBRARY_TRUNG_HOC_BORROW_TICKET_CREATE"] = "LIBRARY_TRUNG_HOC_BORROW_TICKET_CREATE";
5
+ QUICK_ACTION_LIBRARY["LIBRARY_TRUNG_HOC_BORROW_TICKET_RETURN"] = "LIBRARY_TRUNG_HOC_BORROW_TICKET_RETURN";
6
+ QUICK_ACTION_LIBRARY["LIBRARY_TIEU_HOC_BORROW_TICKET_CREATE"] = "LIBRARY_TIEU_HOC_BORROW_TICKET_CREATE";
7
+ QUICK_ACTION_LIBRARY["LIBRARY_TIEU_HOC_BORROW_TICKET_RETURN"] = "LIBRARY_TIEU_HOC_BORROW_TICKET_RETURN";
8
+ })(QUICK_ACTION_LIBRARY || (QUICK_ACTION_LIBRARY = {}));
9
+ export var PARENT_ROUTE_LIBRARY;
10
+ (function (PARENT_ROUTE_LIBRARY) {
11
+ PARENT_ROUTE_LIBRARY["TIEU_HOC"] = "tieu-hoc";
12
+ PARENT_ROUTE_LIBRARY["TRUNG_HOC"] = "trung-hoc";
13
+ })(PARENT_ROUTE_LIBRARY || (PARENT_ROUTE_LIBRARY = {}));
14
+ // Mã trạng thái sách
15
+ export const STOP_BORROW_STATE_CODE = 'STOP_BORROW'; // sách dừng cho mượn
16
+ export const IN_WAREHOUSE_STATE_CODE = 'IN_WAREHOUSE'; // sách trong kho
17
+ export const IN_BOOKSHELF_STATE_CODE = 'IN_BOOKSHELF'; // sách trên kệ
18
+ export const BORROWED_STATE_CODE = 'BORROWED'; // sách đã được mượn
19
+ export const SCHEDULE_BORROW_STATE_CODE = 'SCHEDULED'; // sách đã được đặt mượn
20
+ export const LOST_BOOK_STATE_CODE = 'LOST'; // sách bị mất
21
+ // Trạng thái phiếu mượn sách
22
+ export const ALL_TICKET_CODE = 'ALL';
23
+ export const AWAIT_CONFIRM_TICKET_CODE = 'AWAIT_CONFIRM';
24
+ export const REFUSED_TICKET_CODE = 'REFUSED';
25
+ export const AWAIT_COLLECT_TICKET_CODE = 'AWAIT_COLLECT';
26
+ export const BORROWED_TICKET_CODE = 'BORROWED';
27
+ export const RETURNED_TICKET_CODE = 'RETURNED';
28
+ export const EXPIRED_TICKET_CODE = 'EXPIRED';
29
+ export const CANCEL_TICKET_CODE = 'CANCELED';
30
+ export const VALID_BOOK_CODE_LENGTH = 8; // độ dài tối đa của mã sách
31
+ export const KEY_HOC_SINH_CODE = 'SV';
32
+ export const KEY_GIAO_VIEN_CODE = 'GV';
33
+ export const KEY_NHAN_VIEN_CODE = 'NV';
34
+ export const KEY_PHU_HUYNH_CODE = 'PH';
35
+ export const STATUS_BOOK = {
36
+ ACTIVE: 0,
37
+ NO_ACTIVE: 1,
38
+ };
39
+ export const ACTION_LIBRARY_CREATE_TICKET = 'LIBRARY_CREATE_TICKET';
40
+ export const CODE_BORROW_USER = {
41
+ HS: 'HS',
42
+ GV: 'GV',
43
+ NV: 'NV',
44
+ GV_CLASSROOM: 'GV_CLASSROOM',
45
+ HS_CLASSROOM: 'HS_CLASSROOM',
46
+ }; // trạng thái học sinh đang học
47
+ export const KEY_STUDYING_STUDENT_STATUS = 2;
48
+ export const MAX_BORROW_BOOK_STUDENT = 2; // tổng số sách mượn tối đa của học sinh
49
+ export const MAX_BORROW_BOOK_INDIVIDUAL = 5; // tổng số sách mượn tối đa nếu là cá nhân mượn
50
+ export const STUDENT_BORROW_INDIVIDUAL_CODE = 'HS'; // Cá nhân học sinh
51
+ export const TEACHER_BORROW_INDIVIDUAL_CODE = 'GV'; // Cá nhân giáo viên
52
+ export const STAFF_BORROW_INDIVIDUAL_CODE = 'NV'; // Cá nhân nhân viên
53
+ export const TEACHER_BORROW_GROUP_CODE = 'GV_CLASSROOM'; // Giáo viên mượn sách cho lớp
54
+ export const STUDENT_BORROW_GROUP_CODE = 'HS_CLASSROOM'; // Lớp trưởng mượn sách cho lớp
55
+ export const TOTAL_BORROW_DAY_STUDENT = 7; // ngày mượn tối đa của học sinh
56
+ export const DEFAULT_TOTAL_BORROW_DAY = 14; // ngày mượn tối đa mặc định
57
+ export const KEY_ALERT_LIBRARY = 'ALERT_LIBRARY';
58
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../../src/components/MainWrapV4/quick-action/library/constants.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ import { TDataTable } from './library-return-ticket/scan-to-return';
2
+ export declare const getValidBookCodeLength: (prefixCode: string) => number;
3
+ export declare const getCurrentDateTime: (date?: any) => string;
4
+ export declare const getRoleName: (userRoles: any) => any;
5
+ export declare const getProfile: (user: any) => any;
6
+ export declare const fomartBookCode: (code: string, qrPrefix: string) => string;
7
+ export declare const processBorrowBook: (arrBook: Array<TDataTable>, listBookState: Array<{
8
+ id: number;
9
+ code: string;
10
+ }>) => {
11
+ inBookshelfBookArray: Array<any>;
12
+ inWarehouseBookArray: Array<any>;
13
+ returnBorrowBook: Array<any>;
14
+ returnAllTicketIdArray: Array<any>;
15
+ };
16
+ export declare function getDateOffsetByDays(daysOffset: number, type?: 'default' | 'datePicker'): string;
17
+ export declare const sortClassroomByName: (arrayClass: Array<any>) => Array<any>;
18
+ export declare const formatDateMMDDYY: (date: string) => string;
19
+ export declare const triggerMessage: ({ message, type, isFailure, }: {
20
+ message?: string;
21
+ type: string;
22
+ isFailure?: boolean;
23
+ }) => void;
24
+ export declare const dateStrToDate: (date: string, char?: "-" | "/") => string;
@@ -0,0 +1,152 @@
1
+ import { TEXT_UNDEFINED } from '../../../..';
2
+ import { eventBus } from '../../utils/eventBus';
3
+ import { IN_BOOKSHELF_STATE_CODE, IN_WAREHOUSE_STATE_CODE, KEY_ALERT_LIBRARY, KEY_GIAO_VIEN_CODE, KEY_HOC_SINH_CODE, KEY_NHAN_VIEN_CODE, VALID_BOOK_CODE_LENGTH, } from './constants';
4
+ export const getValidBookCodeLength = (prefixCode) => prefixCode.length + VALID_BOOK_CODE_LENGTH;
5
+ export const getCurrentDateTime = (date = new Date()) => {
6
+ const day = date.getDate() < 10 ? `0${date.getDate()}` : date.getDate();
7
+ const month = date.getMonth() + 1 < 10 ? `0${date.getMonth() + 1}` : date.getMonth() + 1;
8
+ const year = date.getFullYear();
9
+ const hour = date.getHours();
10
+ const minute = date.getMinutes() > 9 ? date.getMinutes() : `0${date.getMinutes()}`;
11
+ const second = date.getSeconds() > 9 ? date.getSeconds() : `0${date.getSeconds()}`;
12
+ return `${day}/${month}/${year} ${hour}:${minute}:${second}`;
13
+ };
14
+ export const getRoleName = (userRoles) => {
15
+ var _a, _b;
16
+ try {
17
+ if (!userRoles)
18
+ return TEXT_UNDEFINED;
19
+ // Nếu có role học sinh thì trả luôn là Học sinh
20
+ const studentRoleName = (_b = (_a = userRoles === null || userRoles === void 0 ? void 0 : userRoles.filter((item) => (item === null || item === void 0 ? void 0 : item.role.role_code) === KEY_HOC_SINH_CODE)) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.role.name;
21
+ if (studentRoleName)
22
+ return studentRoleName;
23
+ const StaffAndTeacherRoleNameArray = [];
24
+ userRoles === null || userRoles === void 0 ? void 0 : userRoles.forEach((item) => {
25
+ const roleCode = item.role.role_code;
26
+ if (roleCode === KEY_NHAN_VIEN_CODE || roleCode === KEY_GIAO_VIEN_CODE) {
27
+ const roleName = item.role.name;
28
+ StaffAndTeacherRoleNameArray.push(roleName);
29
+ }
30
+ });
31
+ return StaffAndTeacherRoleNameArray.join(', ') || TEXT_UNDEFINED;
32
+ }
33
+ catch (e) {
34
+ console.log(e);
35
+ return TEXT_UNDEFINED;
36
+ }
37
+ };
38
+ export const getProfile = (user) => {
39
+ const validProfile = ['profile_staff', 'profile_student', 'profile_teacher']
40
+ .map((key) => user === null || user === void 0 ? void 0 : user[key])
41
+ .find((profile) => profile && (profile === null || profile === void 0 ? void 0 : profile.user_code) !== null);
42
+ return validProfile;
43
+ };
44
+ export const fomartBookCode = (code, qrPrefix) => {
45
+ if (!qrPrefix || !code)
46
+ return '';
47
+ if ((code === null || code === void 0 ? void 0 : code.length) > getValidBookCodeLength(qrPrefix))
48
+ return code;
49
+ let formatedCode = code.toUpperCase().replace(/P{2,}/g, '');
50
+ const splitCode = code.split('-');
51
+ if (splitCode.length < 2)
52
+ return formatedCode;
53
+ formatedCode = `${qrPrefix}-${splitCode[1]}`;
54
+ return qrPrefix ? formatedCode.slice(0, getValidBookCodeLength(qrPrefix)) : '';
55
+ };
56
+ export const processBorrowBook = (arrBook, listBookState) => {
57
+ const inBookshelfBookArray = [];
58
+ const inWarehouseBookArray = [];
59
+ const returnBorrowBook = [];
60
+ const returnAllTicketIdArray = [];
61
+ try {
62
+ // nếu tổng số sách đã quét của phiếu bằng tổng số sách mượn của phiếu thì phiếu đó sẽ được trả hết
63
+ // => chuyển trạng thái phiếu sang đã trả, push ticketId vào mảng returnAllTicketIdArray
64
+ // lưu sách mượn vào mảng returnBookArray để trả từng quyển
65
+ arrBook.forEach((item) => {
66
+ const { listborrowBook, ticketId, totalBorrowed, totalReturned } = item;
67
+ // nếu tổng số sách được quét của 1 vé mượn = tổng số sách mượn - tổng sách đã trả thì phiếu đó sẽ được chuyển sang đã trả
68
+ if (listborrowBook.length === totalBorrowed - totalReturned) {
69
+ returnAllTicketIdArray.push(ticketId);
70
+ }
71
+ listborrowBook.forEach((borrowBook) => {
72
+ var _a, _b;
73
+ const { bookBorrowId, bookId, preStateId } = borrowBook;
74
+ if (preStateId === ((_a = listBookState.find((state) => state.code === IN_WAREHOUSE_STATE_CODE)) === null || _a === void 0 ? void 0 : _a.id)) {
75
+ inWarehouseBookArray.push(bookId);
76
+ }
77
+ else if (preStateId === ((_b = listBookState.find((state) => state.code === IN_BOOKSHELF_STATE_CODE)) === null || _b === void 0 ? void 0 : _b.id)) {
78
+ inBookshelfBookArray.push(bookId);
79
+ }
80
+ else {
81
+ inBookshelfBookArray.push(bookId);
82
+ }
83
+ returnBorrowBook.push(bookBorrowId);
84
+ });
85
+ });
86
+ return {
87
+ inBookshelfBookArray,
88
+ inWarehouseBookArray,
89
+ returnBorrowBook,
90
+ returnAllTicketIdArray,
91
+ };
92
+ }
93
+ catch (e) {
94
+ console.log(e);
95
+ return {
96
+ inBookshelfBookArray,
97
+ inWarehouseBookArray,
98
+ returnBorrowBook,
99
+ returnAllTicketIdArray,
100
+ };
101
+ }
102
+ };
103
+ // hàm này trả ra mm/dd/yyyy cách ngày hiện tại daysOffset ngày
104
+ export function getDateOffsetByDays(daysOffset, type = 'default') {
105
+ const currentDate = new Date();
106
+ currentDate.setDate(currentDate.getDate() + daysOffset);
107
+ const day = currentDate.getDate();
108
+ const month = currentDate.getMonth() + 1;
109
+ const year = currentDate.getFullYear();
110
+ if (type === 'datePicker') {
111
+ return String(day).padStart(2, '0') + '-' + String(month).padStart(2, '0') + '-' + year;
112
+ }
113
+ return `${month}/${day}/${year}`;
114
+ }
115
+ export const sortClassroomByName = (arrayClass) => {
116
+ const newArrayClass = structuredClone(arrayClass);
117
+ newArrayClass === null || newArrayClass === void 0 ? void 0 : newArrayClass.sort((a, b) => {
118
+ var _a, _b;
119
+ // Tách số lớp và tên lớp
120
+ const matchA = (_a = a.name) === null || _a === void 0 ? void 0 : _a.match(/(\d+)(\D+)/);
121
+ const matchB = (_b = b.name) === null || _b === void 0 ? void 0 : _b.match(/(\d+)(\D+)/);
122
+ if (!matchA || !matchB)
123
+ return false;
124
+ // Lấy số lớp và tên lớp
125
+ const numberA = parseInt(matchA[1]);
126
+ const numberB = parseInt(matchB[1]);
127
+ const letterA = matchA[2];
128
+ const letterB = matchB[2];
129
+ // So sánh số lớp trước
130
+ if (numberA !== numberB) {
131
+ return numberA - numberB;
132
+ }
133
+ // Nếu số lớp bằng nhau thì so sánh tên lớp
134
+ return letterA.localeCompare(letterB);
135
+ });
136
+ return newArrayClass;
137
+ };
138
+ // chuyển data từ datepicker: từ dd/mm/yyy sang mm/dd/yyyy
139
+ export const formatDateMMDDYY = (date) => {
140
+ const arr = date.split('-');
141
+ return `${arr[1]}/${arr[0]}/${arr[2]}`;
142
+ };
143
+ export const triggerMessage = ({ message, type = 'custom', isFailure = false, }) => {
144
+ eventBus.emit(KEY_ALERT_LIBRARY, {
145
+ message,
146
+ show: true,
147
+ type,
148
+ isFailure,
149
+ });
150
+ };
151
+ export const dateStrToDate = (date, char = '/') => date ? date.slice(8, 10) + char + date.slice(5, 7) + char + date.slice(0, 4) : '';
152
+ //# sourceMappingURL=helper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helper.js","sourceRoot":"","sources":["../../../../../../src/components/MainWrapV4/quick-action/library/helper.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import React from 'react';
2
+ export default function QuickActionLibrary(): React.JSX.Element;
@@ -0,0 +1,59 @@
1
+ 'use client';
2
+ import { useState } from 'react';
3
+ import ModalCreateBorrowTicket from './library-create-ticket';
4
+ import ModalReturnBook from './library-return-ticket/modal-return-book';
5
+ import { PHXGetCurrentYearWithTermV3, useMainwrapV4EventBus } from '../../../..';
6
+ import React from 'react';
7
+ import { KEY_MODULE_CODE_LIBRARY, PARENT_ROUTE_LIBRARY, QUICK_ACTION_LIBRARY } from './constants';
8
+ import { THCS_CODE, THPT_CODE, TIEU_HOC_CODE } from '../../constant';
9
+ import AlertLibrary from './alert';
10
+ export default function QuickActionLibrary() {
11
+ var _a, _b;
12
+ const [showModalBorrow, setShowModalBorrow] = useState(false);
13
+ const [showModalReturn, setShowModalReturn] = useState(false);
14
+ const currentYear = PHXGetCurrentYearWithTermV3();
15
+ const currentSchoolYearId = (_b = (_a = currentYear === null || currentYear === void 0 ? void 0 : currentYear.current_school_year) === null || _a === void 0 ? void 0 : _a.schoolYear) === null || _b === void 0 ? void 0 : _b.id;
16
+ const [educationalRouteData, setEducationalRouteData] = useState({
17
+ educationalCodes: [],
18
+ route: '',
19
+ });
20
+ useMainwrapV4EventBus(KEY_MODULE_CODE_LIBRARY, (payload) => {
21
+ switch (payload.code) {
22
+ case QUICK_ACTION_LIBRARY.LIBRARY_TIEU_HOC_BORROW_TICKET_RETURN:
23
+ setShowModalReturn(true);
24
+ setEducationalRouteData({
25
+ educationalCodes: [TIEU_HOC_CODE],
26
+ route: PARENT_ROUTE_LIBRARY.TIEU_HOC,
27
+ });
28
+ break;
29
+ case QUICK_ACTION_LIBRARY.LIBRARY_TIEU_HOC_BORROW_TICKET_CREATE:
30
+ setShowModalBorrow(true);
31
+ setEducationalRouteData({
32
+ educationalCodes: [TIEU_HOC_CODE],
33
+ route: PARENT_ROUTE_LIBRARY.TIEU_HOC,
34
+ });
35
+ break;
36
+ case QUICK_ACTION_LIBRARY.LIBRARY_TRUNG_HOC_BORROW_TICKET_CREATE:
37
+ setShowModalBorrow(true);
38
+ setEducationalRouteData({
39
+ educationalCodes: [THCS_CODE, THPT_CODE],
40
+ route: PARENT_ROUTE_LIBRARY.TRUNG_HOC,
41
+ });
42
+ break;
43
+ case QUICK_ACTION_LIBRARY.LIBRARY_TRUNG_HOC_BORROW_TICKET_RETURN:
44
+ setShowModalReturn(true);
45
+ setEducationalRouteData({
46
+ educationalCodes: [THCS_CODE, THPT_CODE],
47
+ route: PARENT_ROUTE_LIBRARY.TRUNG_HOC,
48
+ });
49
+ break;
50
+ }
51
+ });
52
+ return (React.createElement(React.Fragment, null,
53
+ React.createElement(AlertLibrary, null),
54
+ React.createElement(ModalCreateBorrowTicket, { currentSchoolYearId: currentSchoolYearId, educationalCodes: educationalRouteData.educationalCodes, onHide: () => {
55
+ setShowModalBorrow(false);
56
+ }, show: showModalBorrow }),
57
+ React.createElement(ModalReturnBook, { educationalCodes: educationalRouteData.educationalCodes, route: educationalRouteData.route, setShow: setShowModalReturn, show: showModalReturn })));
58
+ }
59
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/components/MainWrapV4/quick-action/library/index.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import React from 'react';
2
+ export type TBookBorrowData = {
3
+ id: number;
4
+ title: string;
5
+ code: string;
6
+ image?: string;
7
+ stateId: number;
8
+ };
9
+ export default function BookBorrowInfo({ bookBorrowerId, listBookBorrower, onChange, prefixQrCode, warehouseId, }: {
10
+ warehouseId: number;
11
+ bookBorrowerId: number;
12
+ onChange(data: Array<TBookBorrowData>): void;
13
+ listBookBorrower: Array<{
14
+ id: number;
15
+ code: string;
16
+ }>;
17
+ prefixQrCode: string;
18
+ }): React.JSX.Element;
@@ -0,0 +1,183 @@
1
+ import { useState } from 'react';
2
+ import ModalAddBookBorrow from './modal-add-book';
3
+ import { PHXCard, PHXClientQueryV3, PHXDropdown, PHXFuncGetLoggedInfo, PHXInput, PHXSpinner, PHXTableStatic, } from '../../../../..';
4
+ import { fomartBookCode, getValidBookCodeLength, triggerMessage } from '../helper';
5
+ import { searchBookBorrowQuery } from '../query';
6
+ import { BORROWED_STATE_CODE, LOST_BOOK_STATE_CODE, SCHEDULE_BORROW_STATE_CODE, STOP_BORROW_STATE_CODE, MAX_BORROW_BOOK_INDIVIDUAL, MAX_BORROW_BOOK_STUDENT, STAFF_BORROW_INDIVIDUAL_CODE, STUDENT_BORROW_INDIVIDUAL_CODE, TEACHER_BORROW_INDIVIDUAL_CODE, } from '../constants';
7
+ import React from 'react';
8
+ import { FORM_TYPE } from '../../../constant';
9
+ export default function BookBorrowInfo({ bookBorrowerId, listBookBorrower, onChange, prefixQrCode, warehouseId, }) {
10
+ const [showModalAdd, setShowModalAdd] = useState(false);
11
+ const [searchBookLoading, setSearchBookLoading] = useState(false);
12
+ const userInfo = PHXFuncGetLoggedInfo();
13
+ const [listBook, setListBook] = useState([]);
14
+ const validateMaxBorrowBook = () => {
15
+ var _a, _b, _c, _d;
16
+ const totalBook = listBook.length;
17
+ if (bookBorrowerId === ((_a = listBookBorrower.find((item) => item.code === STUDENT_BORROW_INDIVIDUAL_CODE)) === null || _a === void 0 ? void 0 : _a.id) &&
18
+ totalBook >= MAX_BORROW_BOOK_STUDENT) {
19
+ return 'Học sinh chỉ được mượn tối đa ' + MAX_BORROW_BOOK_STUDENT + ' cuốn';
20
+ }
21
+ const role = bookBorrowerId === ((_b = listBookBorrower.find((item) => item.code === TEACHER_BORROW_INDIVIDUAL_CODE)) === null || _b === void 0 ? void 0 : _b.id)
22
+ ? 'Giáo viên'
23
+ : 'Nhân viên';
24
+ const isStaffOrTeacher = bookBorrowerId === ((_c = listBookBorrower.find((item) => item.code === TEACHER_BORROW_INDIVIDUAL_CODE)) === null || _c === void 0 ? void 0 : _c.id) ||
25
+ bookBorrowerId === ((_d = listBookBorrower.find((item) => item.code === STAFF_BORROW_INDIVIDUAL_CODE)) === null || _d === void 0 ? void 0 : _d.id);
26
+ if (isStaffOrTeacher && totalBook >= MAX_BORROW_BOOK_INDIVIDUAL) {
27
+ return role + ' chỉ được mượn tối đa ' + MAX_BORROW_BOOK_INDIVIDUAL + ' cuốn';
28
+ }
29
+ return '';
30
+ };
31
+ const handleGetBookByCode = async (searchValue, inputEventRef) => {
32
+ var _a, _b, _c;
33
+ if (!searchValue || searchValue.length < getValidBookCodeLength(prefixQrCode)) {
34
+ return;
35
+ }
36
+ setSearchBookLoading(true);
37
+ try {
38
+ const searchCode = searchValue.toUpperCase();
39
+ const isExistBook = listBook.some((item) => item.code === searchCode);
40
+ if (isExistBook) {
41
+ triggerMessage({
42
+ type: FORM_TYPE.CUSTOM,
43
+ message: 'Sách đã được chọn',
44
+ });
45
+ return;
46
+ }
47
+ const validateMaxBorrowCountMessage = validateMaxBorrowBook();
48
+ if (validateMaxBorrowCountMessage) {
49
+ triggerMessage({
50
+ type: FORM_TYPE.CUSTOM,
51
+ message: validateMaxBorrowCountMessage,
52
+ });
53
+ return;
54
+ }
55
+ const { data: { library_dang_ki_ca_biet: book }, } = await PHXClientQueryV3({
56
+ query: searchBookBorrowQuery,
57
+ variables: {
58
+ code: searchCode,
59
+ school_id: userInfo === null || userInfo === void 0 ? void 0 : userInfo.school_id,
60
+ warehouseId,
61
+ },
62
+ });
63
+ if ((book === null || book === void 0 ? void 0 : book.length) === 0) {
64
+ triggerMessage({
65
+ type: FORM_TYPE.CUSTOM,
66
+ message: 'Sách không tồn tại',
67
+ isFailure: true,
68
+ });
69
+ return;
70
+ }
71
+ const { code, id, library_book_copy, library_state, state_id } = book[0];
72
+ const arrBookStateCode = [
73
+ STOP_BORROW_STATE_CODE,
74
+ LOST_BOOK_STATE_CODE,
75
+ BORROWED_STATE_CODE,
76
+ SCHEDULE_BORROW_STATE_CODE,
77
+ ];
78
+ if (arrBookStateCode.includes(library_state.code)) {
79
+ triggerMessage({
80
+ type: FORM_TYPE.CUSTOM,
81
+ message: library_state === null || library_state === void 0 ? void 0 : library_state.name,
82
+ });
83
+ return;
84
+ }
85
+ const newList = [
86
+ {
87
+ id,
88
+ code,
89
+ title: (_a = library_book_copy === null || library_book_copy === void 0 ? void 0 : library_book_copy.library_book) === null || _a === void 0 ? void 0 : _a.title,
90
+ image: (_c = (_b = library_book_copy === null || library_book_copy === void 0 ? void 0 : library_book_copy.library_book_images) === null || _b === void 0 ? void 0 : _b[0]) === null || _c === void 0 ? void 0 : _c.url,
91
+ stateId: state_id,
92
+ },
93
+ ...listBook,
94
+ ];
95
+ setListBook(newList);
96
+ onChange(newList);
97
+ }
98
+ catch (e) {
99
+ console.log(e);
100
+ triggerMessage({
101
+ type: FORM_TYPE.ADD,
102
+ isFailure: true,
103
+ });
104
+ }
105
+ finally {
106
+ setSearchBookLoading(false);
107
+ inputEventRef.target.value = '';
108
+ // Focus lại vào input sau khi quét mã
109
+ requestAnimationFrame(() => inputEventRef.target.focus());
110
+ }
111
+ };
112
+ const handleInputChange = (e) => {
113
+ var _a;
114
+ if (searchBookLoading)
115
+ return; // Nếu hệ thống đang xử lí thì không làm j cả
116
+ const currValue = (_a = e.target.value) === null || _a === void 0 ? void 0 : _a.trim();
117
+ const formatedValue = fomartBookCode(currValue, prefixQrCode);
118
+ e.target.value = formatedValue;
119
+ if (formatedValue.length >= getValidBookCodeLength(prefixQrCode)) {
120
+ handleGetBookByCode(formatedValue, e);
121
+ e.target.value = '';
122
+ }
123
+ };
124
+ const handleChangeBookByModal = (newData) => {
125
+ const uniqueBooks = newData.filter((item) => !listBook.some((currBook) => currBook.code === item.code));
126
+ const newList = [...uniqueBooks, ...listBook];
127
+ setListBook(newList);
128
+ onChange(newList);
129
+ };
130
+ const handleShowModal = () => {
131
+ const validateMaxBorrowCountMessage = validateMaxBorrowBook();
132
+ if (validateMaxBorrowCountMessage) {
133
+ triggerMessage({
134
+ type: FORM_TYPE.CUSTOM,
135
+ message: validateMaxBorrowCountMessage,
136
+ });
137
+ return;
138
+ }
139
+ setShowModalAdd(true);
140
+ };
141
+ return (React.createElement(React.Fragment, null,
142
+ React.createElement(ModalAddBookBorrow, { onChange: handleChangeBookByModal, setShow: setShowModalAdd, show: showModalAdd, warehouseId: warehouseId }),
143
+ React.createElement(PHXCard, { border: false, headerAction: {
144
+ content: 'Thêm mới',
145
+ onClick: handleShowModal,
146
+ }, primaryHeader: true, title: 'Th\u00F4ng tin m\u01B0\u1EE3n s\u00E1ch' },
147
+ React.createElement("div", { className: 'space-y-3' },
148
+ React.createElement("div", { className: ' relative' },
149
+ React.createElement(PHXInput, { className: 'mb-4', disabled: searchBookLoading, label: `Danh sách mã sách (${listBook.length})`, onChange: handleInputChange, placeholder: 'T\u00ECm ki\u1EBFm m\u00E3 s\u00E1ch / Qu\u00E9t m\u00E3 s\u00E1ch', prefixIcon: 'MagnifyingGlassIcon' }),
150
+ searchBookLoading && React.createElement(PHXSpinner, { className: ' absolute right-3 top-[30px] h-4 w-4' })),
151
+ React.createElement(PHXTableStatic, { bodyData: listBook, numericalOrder: {
152
+ title: 'STT',
153
+ enable: true,
154
+ }, thBody: ['title', 'code', 'action'], thComponent: {
155
+ action(_value, item) {
156
+ return (React.createElement(PHXDropdown, { options: [
157
+ {
158
+ content: 'Xoá',
159
+ destructive: true,
160
+ onClick: () => {
161
+ const filteredListBook = listBook.filter((curr) => curr.id !== item.id);
162
+ setListBook(filteredListBook);
163
+ onChange(filteredListBook);
164
+ },
165
+ },
166
+ ], origin: 'right', type: 'ellipsis-icon' }));
167
+ },
168
+ title(value, item) {
169
+ const isHaveImage = item === null || item === void 0 ? void 0 : item.image;
170
+ return (React.createElement("div", { className: 'flex w-[45ch] items-center gap-x-6 whitespace-normal' },
171
+ React.createElement("div", { className: `flex h-10 w-10 shrink-0 items-center justify-center overflow-hidden rounded-lg border border-gray-200 ${!isHaveImage && 'bg-[#F7F7F7]'}` }, isHaveImage ? (React.createElement("img", { alt: value, className: 'h-full w-auto', src: item.image })) : (React.createElement("svg", { fill: 'none', height: '13', viewBox: '0 0 13 13', width: '13', xmlns: 'http://www.w3.org/2000/svg' },
172
+ React.createElement("path", { d: 'M9 5.5C9.82843 5.5 10.5 4.82843 10.5 4C10.5 3.17157 9.82843 2.5 9 2.5C8.17157 2.5 7.5 3.17157 7.5 4C7.5 4.82843 8.17157 5.5 9 5.5Z', fill: '#8A8A8A' }),
173
+ React.createElement("path", { clipRule: 'evenodd', d: 'M5.5179 1.86555e-07H7.48211C8.29494 -7.05843e-06 8.95056 -1.29007e-05 9.48147 0.043364C10.0281 0.088026 10.5082 0.182385 10.9525 0.408726C11.6581 0.768251 12.2317 1.34193 12.5913 2.04754C12.8176 2.49175 12.912 2.9719 12.9566 3.51853C13 4.04944 13 4.70505 13 5.51788V7.48212C13 8.29496 13 8.95056 12.9566 9.48147C12.912 10.0281 12.8176 10.5082 12.5913 10.9525C12.2317 11.6581 11.6581 12.2317 10.9525 12.5913C10.5082 12.8176 10.0281 12.912 9.48147 12.9566C8.95056 13 8.29495 13 7.48212 13H5.51788C4.70505 13 4.04944 13 3.51853 12.9566C2.9719 12.912 2.49175 12.8176 2.04754 12.5913C1.34193 12.2317 0.768251 11.6581 0.408726 10.9525C0.182385 10.5082 0.088026 10.0281 0.043364 9.48147C-1.29007e-05 8.95056 -7.05843e-06 8.29495 1.86555e-07 7.48212V5.5179C-7.05843e-06 4.70506 -1.29007e-05 4.04944 0.043364 3.51853C0.088026 2.9719 0.182385 2.49175 0.408726 2.04754C0.768251 1.34193 1.34193 0.768251 2.04754 0.408726C2.49175 0.182385 2.9719 0.088026 3.51853 0.043364C4.04944 -1.29007e-05 4.70506 -7.05843e-06 5.5179 1.86555e-07ZM3.64068 1.53838C3.18681 1.57547 2.92604 1.6446 2.72852 1.74524C2.30516 1.96095 1.96095 2.30516 1.74524 2.72852C1.6446 2.92604 1.57547 3.18681 1.53838 3.64068C1.50058 4.10331 1.5 4.69755 1.5 5.55V6.9785L2.2228 6.11114C2.88159 5.32059 4.07697 5.26637 4.80462 5.99402L7.49999 8.68939L8.67963 7.50974C9.41716 6.77222 10.632 6.8395 11.2836 7.65396L11.4997 7.92404C11.5 7.77538 11.5 7.61768 11.5 7.45V5.55C11.5 4.69755 11.4994 4.10331 11.4616 3.64068C11.4245 3.18681 11.3554 2.92604 11.2548 2.72852C11.039 2.30516 10.6948 1.96095 10.2715 1.74524C10.074 1.6446 9.8132 1.57547 9.35932 1.53838C8.89669 1.50058 8.30245 1.5 7.45 1.5H5.55C4.69755 1.5 4.10331 1.50058 3.64068 1.53838ZM1.53838 9.35932C1.53622 9.33282 1.53417 9.30589 1.53225 9.2785C1.54743 9.26317 1.56209 9.24707 1.57615 9.23019L3.37513 7.07141C3.46924 6.95848 3.64001 6.95073 3.74396 7.05468L6.96966 10.2804C7.26255 10.5733 7.73742 10.5733 8.03032 10.2804L9.74029 8.5704C9.84565 8.46504 10.0192 8.47465 10.1123 8.59101L11.3252 10.1071C11.3037 10.1674 11.2803 10.2214 11.2548 10.2715C11.039 10.6948 10.6948 11.039 10.2715 11.2548C10.074 11.3554 9.8132 11.4245 9.35932 11.4616C8.89669 11.4994 8.30245 11.5 7.45 11.5H5.55C4.69755 11.5 4.10331 11.4994 3.64068 11.4616C3.18681 11.4245 2.92604 11.3554 2.72852 11.2548C2.30516 11.039 1.96095 10.6948 1.74524 10.2715C1.6446 10.074 1.57547 9.8132 1.53838 9.35932Z', fill: '#8A8A8A', fillRule: 'evenodd' })))),
174
+ React.createElement("p", null, value)));
175
+ },
176
+ }, thHeader: [
177
+ // @ts-ignore
178
+ React.createElement("p", { key: 'name', className: 'pl-16' }, "T\u00EAn s\u00E1ch"),
179
+ 'Mã sách',
180
+ 'Thao tác',
181
+ ] })))));
182
+ }
183
+ //# sourceMappingURL=book-borrow-info.js.map