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.
- package/dist/cjs/components/MainWrapV4/components/left-heder-section.js +2 -2
- package/dist/cjs/components/MainWrapV4/components/left-heder-section.js.map +1 -1
- package/dist/cjs/components/MainWrapV4/components/submenu.js +1 -1
- package/dist/cjs/components/MainWrapV4/components/submenu.js.map +1 -1
- package/dist/cjs/components/MainWrapV4/constant.d.ts +8 -0
- package/dist/cjs/components/MainWrapV4/constant.js +10 -1
- package/dist/cjs/components/MainWrapV4/constant.js.map +1 -1
- package/dist/cjs/components/MainWrapV4/quick-action/library/alert.d.ts +2 -0
- package/dist/cjs/components/MainWrapV4/quick-action/library/alert.js +39 -0
- package/dist/cjs/components/MainWrapV4/quick-action/library/alert.js.map +1 -0
- package/dist/cjs/components/MainWrapV4/quick-action/library/constants.d.ts +53 -0
- package/dist/cjs/components/MainWrapV4/quick-action/library/constants.js +61 -0
- package/dist/cjs/components/MainWrapV4/quick-action/library/constants.js.map +1 -0
- package/dist/cjs/components/MainWrapV4/quick-action/library/helper.d.ts +24 -0
- package/dist/cjs/components/MainWrapV4/quick-action/library/helper.js +166 -0
- package/dist/cjs/components/MainWrapV4/quick-action/library/helper.js.map +1 -0
- package/dist/cjs/components/MainWrapV4/quick-action/library/index.d.ts +2 -0
- package/dist/cjs/components/MainWrapV4/quick-action/library/index.js +63 -0
- package/dist/cjs/components/MainWrapV4/quick-action/library/index.js.map +1 -0
- package/dist/cjs/components/MainWrapV4/quick-action/library/library-create-ticket/book-borrow-info.d.ts +18 -0
- package/dist/cjs/components/MainWrapV4/quick-action/library/library-create-ticket/book-borrow-info.js +187 -0
- package/dist/cjs/components/MainWrapV4/quick-action/library/library-create-ticket/book-borrow-info.js.map +1 -0
- package/dist/cjs/components/MainWrapV4/quick-action/library/library-create-ticket/index.d.ts +7 -0
- package/dist/cjs/components/MainWrapV4/quick-action/library/library-create-ticket/index.js +327 -0
- package/dist/cjs/components/MainWrapV4/quick-action/library/library-create-ticket/index.js.map +1 -0
- package/dist/cjs/components/MainWrapV4/quick-action/library/library-create-ticket/modal-add-book.d.ts +8 -0
- package/dist/cjs/components/MainWrapV4/quick-action/library/library-create-ticket/modal-add-book.js +68 -0
- package/dist/cjs/components/MainWrapV4/quick-action/library/library-create-ticket/modal-add-book.js.map +1 -0
- package/dist/cjs/components/MainWrapV4/quick-action/library/library-return-ticket/input.d.ts +9 -0
- package/dist/cjs/components/MainWrapV4/quick-action/library/library-return-ticket/input.js +21 -0
- package/dist/cjs/components/MainWrapV4/quick-action/library/library-return-ticket/input.js.map +1 -0
- package/dist/cjs/components/MainWrapV4/quick-action/library/library-return-ticket/modal-return-book.d.ts +7 -0
- package/dist/cjs/components/MainWrapV4/quick-action/library/library-return-ticket/modal-return-book.js +91 -0
- package/dist/cjs/components/MainWrapV4/quick-action/library/library-return-ticket/modal-return-book.js.map +1 -0
- package/dist/cjs/components/MainWrapV4/quick-action/library/library-return-ticket/scan-ticket-info.d.ts +28 -0
- package/dist/cjs/components/MainWrapV4/quick-action/library/library-return-ticket/scan-ticket-info.js +195 -0
- package/dist/cjs/components/MainWrapV4/quick-action/library/library-return-ticket/scan-ticket-info.js.map +1 -0
- package/dist/cjs/components/MainWrapV4/quick-action/library/library-return-ticket/scan-to-return.d.ts +33 -0
- package/dist/cjs/components/MainWrapV4/quick-action/library/library-return-ticket/scan-to-return.js +199 -0
- package/dist/cjs/components/MainWrapV4/quick-action/library/library-return-ticket/scan-to-return.js.map +1 -0
- package/dist/cjs/components/MainWrapV4/quick-action/library/library-return-ticket/use-book-state.d.ts +6 -0
- package/dist/cjs/components/MainWrapV4/quick-action/library/library-return-ticket/use-book-state.js +27 -0
- package/dist/cjs/components/MainWrapV4/quick-action/library/library-return-ticket/use-book-state.js.map +1 -0
- package/dist/cjs/components/MainWrapV4/quick-action/library/library-return-ticket/use-borrow-book.d.ts +3 -0
- package/dist/cjs/components/MainWrapV4/quick-action/library/library-return-ticket/use-borrow-book.js +48 -0
- package/dist/cjs/components/MainWrapV4/quick-action/library/library-return-ticket/use-borrow-book.js.map +1 -0
- package/dist/cjs/components/MainWrapV4/quick-action/library/library-return-ticket/use-warehouse.d.ts +6 -0
- package/dist/cjs/components/MainWrapV4/quick-action/library/library-return-ticket/use-warehouse.js +36 -0
- package/dist/cjs/components/MainWrapV4/quick-action/library/library-return-ticket/use-warehouse.js.map +1 -0
- package/dist/cjs/components/MainWrapV4/quick-action/library/mutation.d.ts +3 -0
- package/dist/cjs/components/MainWrapV4/quick-action/library/mutation.js +57 -0
- package/dist/cjs/components/MainWrapV4/quick-action/library/mutation.js.map +1 -0
- package/dist/cjs/components/MainWrapV4/quick-action/library/query.d.ts +17 -0
- package/dist/cjs/components/MainWrapV4/quick-action/library/query.js +327 -0
- package/dist/cjs/components/MainWrapV4/quick-action/library/query.js.map +1 -0
- package/dist/cjs/components/MainWrapV4/{components → quick-action}/quick-action.js +2 -0
- package/dist/cjs/components/MainWrapV4/quick-action/quick-action.js.map +1 -0
- package/dist/cjs/index.d.ts +3 -1
- package/dist/cjs/index.js +7 -3
- package/dist/cjs/index.js.map +1 -1
- package/dist/esm/components/MainWrapV4/components/left-heder-section.js +2 -2
- package/dist/esm/components/MainWrapV4/components/left-heder-section.js.map +1 -1
- package/dist/esm/components/MainWrapV4/components/submenu.js +1 -1
- package/dist/esm/components/MainWrapV4/components/submenu.js.map +1 -1
- package/dist/esm/components/MainWrapV4/constant.d.ts +8 -0
- package/dist/esm/components/MainWrapV4/constant.js +9 -0
- package/dist/esm/components/MainWrapV4/constant.js.map +1 -1
- package/dist/esm/components/MainWrapV4/quick-action/library/alert.d.ts +2 -0
- package/dist/esm/components/MainWrapV4/quick-action/library/alert.js +35 -0
- package/dist/esm/components/MainWrapV4/quick-action/library/alert.js.map +1 -0
- package/dist/esm/components/MainWrapV4/quick-action/library/constants.d.ts +53 -0
- package/dist/esm/components/MainWrapV4/quick-action/library/constants.js +58 -0
- package/dist/esm/components/MainWrapV4/quick-action/library/constants.js.map +1 -0
- package/dist/esm/components/MainWrapV4/quick-action/library/helper.d.ts +24 -0
- package/dist/esm/components/MainWrapV4/quick-action/library/helper.js +152 -0
- package/dist/esm/components/MainWrapV4/quick-action/library/helper.js.map +1 -0
- package/dist/esm/components/MainWrapV4/quick-action/library/index.d.ts +2 -0
- package/dist/esm/components/MainWrapV4/quick-action/library/index.js +59 -0
- package/dist/esm/components/MainWrapV4/quick-action/library/index.js.map +1 -0
- package/dist/esm/components/MainWrapV4/quick-action/library/library-create-ticket/book-borrow-info.d.ts +18 -0
- package/dist/esm/components/MainWrapV4/quick-action/library/library-create-ticket/book-borrow-info.js +183 -0
- package/dist/esm/components/MainWrapV4/quick-action/library/library-create-ticket/book-borrow-info.js.map +1 -0
- package/dist/esm/components/MainWrapV4/quick-action/library/library-create-ticket/index.d.ts +7 -0
- package/dist/esm/components/MainWrapV4/quick-action/library/library-create-ticket/index.js +323 -0
- package/dist/esm/components/MainWrapV4/quick-action/library/library-create-ticket/index.js.map +1 -0
- package/dist/esm/components/MainWrapV4/quick-action/library/library-create-ticket/modal-add-book.d.ts +8 -0
- package/dist/esm/components/MainWrapV4/quick-action/library/library-create-ticket/modal-add-book.js +64 -0
- package/dist/esm/components/MainWrapV4/quick-action/library/library-create-ticket/modal-add-book.js.map +1 -0
- package/dist/esm/components/MainWrapV4/quick-action/library/library-return-ticket/input.d.ts +9 -0
- package/dist/esm/components/MainWrapV4/quick-action/library/library-return-ticket/input.js +16 -0
- package/dist/esm/components/MainWrapV4/quick-action/library/library-return-ticket/input.js.map +1 -0
- package/dist/esm/components/MainWrapV4/quick-action/library/library-return-ticket/modal-return-book.d.ts +7 -0
- package/dist/esm/components/MainWrapV4/quick-action/library/library-return-ticket/modal-return-book.js +87 -0
- package/dist/esm/components/MainWrapV4/quick-action/library/library-return-ticket/modal-return-book.js.map +1 -0
- package/dist/esm/components/MainWrapV4/quick-action/library/library-return-ticket/scan-ticket-info.d.ts +28 -0
- package/dist/esm/components/MainWrapV4/quick-action/library/library-return-ticket/scan-ticket-info.js +191 -0
- package/dist/esm/components/MainWrapV4/quick-action/library/library-return-ticket/scan-ticket-info.js.map +1 -0
- package/dist/esm/components/MainWrapV4/quick-action/library/library-return-ticket/scan-to-return.d.ts +33 -0
- package/dist/esm/components/MainWrapV4/quick-action/library/library-return-ticket/scan-to-return.js +195 -0
- package/dist/esm/components/MainWrapV4/quick-action/library/library-return-ticket/scan-to-return.js.map +1 -0
- package/dist/esm/components/MainWrapV4/quick-action/library/library-return-ticket/use-book-state.d.ts +6 -0
- package/dist/esm/components/MainWrapV4/quick-action/library/library-return-ticket/use-book-state.js +24 -0
- package/dist/esm/components/MainWrapV4/quick-action/library/library-return-ticket/use-book-state.js.map +1 -0
- package/dist/esm/components/MainWrapV4/quick-action/library/library-return-ticket/use-borrow-book.d.ts +3 -0
- package/dist/esm/components/MainWrapV4/quick-action/library/library-return-ticket/use-borrow-book.js +44 -0
- package/dist/esm/components/MainWrapV4/quick-action/library/library-return-ticket/use-borrow-book.js.map +1 -0
- package/dist/esm/components/MainWrapV4/quick-action/library/library-return-ticket/use-warehouse.d.ts +6 -0
- package/dist/esm/components/MainWrapV4/quick-action/library/library-return-ticket/use-warehouse.js +33 -0
- package/dist/esm/components/MainWrapV4/quick-action/library/library-return-ticket/use-warehouse.js.map +1 -0
- package/dist/esm/components/MainWrapV4/quick-action/library/mutation.d.ts +3 -0
- package/dist/esm/components/MainWrapV4/quick-action/library/mutation.js +54 -0
- package/dist/esm/components/MainWrapV4/quick-action/library/mutation.js.map +1 -0
- package/dist/esm/components/MainWrapV4/quick-action/library/query.d.ts +17 -0
- package/dist/esm/components/MainWrapV4/quick-action/library/query.js +321 -0
- package/dist/esm/components/MainWrapV4/quick-action/library/query.js.map +1 -0
- package/dist/esm/components/MainWrapV4/{components → quick-action}/quick-action.js +2 -0
- package/dist/esm/components/MainWrapV4/quick-action/quick-action.js.map +1 -0
- package/dist/esm/index.d.ts +3 -1
- package/dist/esm/index.js +3 -1
- package/dist/esm/index.js.map +1 -1
- package/package.json +1 -1
- package/dist/cjs/components/MainWrapV4/components/quick-action.js.map +0 -1
- package/dist/esm/components/MainWrapV4/components/quick-action.js.map +0 -1
- /package/dist/cjs/components/MainWrapV4/{components → quick-action}/quick-action.d.ts +0 -0
- /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":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAC/C,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EACvB,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,GACvB,MAAM,aAAa,CAAA;AAGpB,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,UAAkB,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,GAAG,sBAAsB,CAAA;AACxG,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,OAAY,IAAI,IAAI,EAAE,EAAE,EAAE;IAC3D,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAA;IACvE,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;IACxF,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAA;IAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAA;IAC5B,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE,CAAA;IAClF,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE,CAAA;IAElF,OAAO,GAAG,GAAG,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,IAAI,MAAM,EAAE,CAAA;AAC9D,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,SAAc,EAAE,EAAE;;IAC5C,IAAI,CAAC;QACH,IAAI,CAAC,SAAS;YAAE,OAAO,cAAc,CAAA;QAErC,gDAAgD;QAChD,MAAM,eAAe,GAAG,MAAA,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,MAAM,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,CAAC,SAAS,MAAK,iBAAiB,CAAC,0CAAG,CAAC,CAAC,0CAAE,IAAI,CAAC,IAAI,CAAA;QACpH,IAAI,eAAe;YAAE,OAAO,eAAe,CAAA;QAE3C,MAAM,4BAA4B,GAAe,EAAE,CAAA;QACnD,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,OAAO,CAAC,CAAC,IAAS,EAAE,EAAE;YAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAA;YAEpC,IAAI,QAAQ,KAAK,kBAAkB,IAAI,QAAQ,KAAK,kBAAkB,EAAE,CAAC;gBACvE,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAA;gBAC/B,4BAA4B,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YAC7C,CAAC;QACH,CAAC,CAAC,CAAA;QAEF,OAAO,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,cAAc,CAAA;IAClE,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;QACd,OAAO,cAAc,CAAA;IACvB,CAAC;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,IAAS,EAAE,EAAE;IACtC,MAAM,YAAY,GAAG,CAAC,eAAe,EAAE,iBAAiB,EAAE,iBAAiB,CAAC;SACzE,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAG,GAAG,CAAC,CAAC;SACzB,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,MAAK,IAAI,CAAC,CAAA;IAE5D,OAAO,YAAY,CAAA;AACrB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,IAAY,EAAE,QAAgB,EAAE,EAAE;IAC/D,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,CAAA;IAEjC,IAAI,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,IAAG,sBAAsB,CAAC,QAAQ,CAAC;QAAE,OAAO,IAAI,CAAA;IAEhE,IAAI,YAAY,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;IAE3D,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAEjC,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,YAAY,CAAA;IAE7C,YAAY,GAAG,GAAG,QAAQ,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE,CAAA;IAE5C,OAAO,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,sBAAsB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;AAChF,CAAC,CAAA;AACD,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,OAA0B,EAC1B,aAGE,EAMF,EAAE;IACF,MAAM,oBAAoB,GAAe,EAAE,CAAA;IAC3C,MAAM,oBAAoB,GAAe,EAAE,CAAA;IAC3C,MAAM,gBAAgB,GAAe,EAAE,CAAA;IACvC,MAAM,sBAAsB,GAAe,EAAE,CAAA;IAC7C,IAAI,CAAC;QACH,mGAAmG;QACnG,yFAAyF;QACzF,2DAA2D;QAE3D,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACvB,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,aAAa,EAAE,aAAa,EAAE,GAAG,IAAI,CAAA;YAEvE,0HAA0H;YAC1H,IAAI,cAAc,CAAC,MAAM,KAAK,aAAa,GAAG,aAAa,EAAE,CAAC;gBAC5D,sBAAsB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YACvC,CAAC;YACD,cAAc,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE;;gBACpC,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,UAAU,CAAA;gBACvD,IAAI,UAAU,MAAK,MAAA,aAAa,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,uBAAuB,CAAC,0CAAE,EAAE,CAAA,EAAE,CAAC;oBAC7F,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;gBACnC,CAAC;qBAAM,IAAI,UAAU,MAAK,MAAA,aAAa,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,uBAAuB,CAAC,0CAAE,EAAE,CAAA,EAAE,CAAC;oBACpG,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;gBACnC,CAAC;qBAAM,CAAC;oBACN,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;gBACnC,CAAC;gBAED,gBAAgB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;YACrC,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;QAEF,OAAO;YACL,oBAAoB;YACpB,oBAAoB;YACpB,gBAAgB;YAChB,sBAAsB;SACvB,CAAA;IACH,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;QACd,OAAO;YACL,oBAAoB;YACpB,oBAAoB;YACpB,gBAAgB;YAChB,sBAAsB;SACvB,CAAA;IACH,CAAC;AACH,CAAC,CAAA;AACD,+DAA+D;AAC/D,MAAM,UAAU,mBAAmB,CAAC,UAAkB,EAAE,OAAiC,SAAS;IAChG,MAAM,WAAW,GAAG,IAAI,IAAI,EAAE,CAAA;IAE9B,WAAW,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,UAAU,CAAC,CAAA;IAEvD,MAAM,GAAG,GAAG,WAAW,CAAC,OAAO,EAAE,CAAA;IACjC,MAAM,KAAK,GAAG,WAAW,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;IACxC,MAAM,IAAI,GAAG,WAAW,CAAC,WAAW,EAAE,CAAA;IAEtC,IAAI,IAAI,KAAK,YAAY,EAAE,CAAC;QAC1B,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,IAAI,CAAA;IACzF,CAAC;IAED,OAAO,GAAG,KAAK,IAAI,GAAG,IAAI,IAAI,EAAE,CAAA;AAClC,CAAC;AACD,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,UAAsB,EAAc,EAAE;IACxE,MAAM,aAAa,GAAG,eAAe,CAAC,UAAU,CAAC,CAAA;IACjD,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,IAAI,CAAC,CAAC,CAAM,EAAE,CAAM,EAAE,EAAE;;QACrC,yBAAyB;QACzB,MAAM,MAAM,GAAG,MAAA,CAAC,CAAC,IAAI,0CAAE,KAAK,CAAC,YAAY,CAAC,CAAA;QAC1C,MAAM,MAAM,GAAG,MAAA,CAAC,CAAC,IAAI,0CAAE,KAAK,CAAC,YAAY,CAAC,CAAA;QAE1C,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM;YAAE,OAAO,KAAK,CAAA;QAEpC,wBAAwB;QACxB,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;QACnC,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;QACnC,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;QACzB,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;QAEzB,uBAAuB;QACvB,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;YACxB,OAAO,OAAO,GAAG,OAAO,CAAA;QAC1B,CAAC;QAED,2CAA2C;QAC3C,OAAO,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAA;IACvC,CAAC,CAAC,CAAA;IAEF,OAAO,aAAa,CAAA;AACtB,CAAC,CAAA;AAED,0DAA0D;AAC1D,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,IAAY,EAAE,EAAE;IAC/C,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAE3B,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,CAAA;AACxC,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,EAC7B,OAAO,EACP,IAAI,GAAG,QAAQ,EACf,SAAS,GAAG,KAAK,GAKlB,EAAE,EAAE;IACH,QAAQ,CAAC,IAAI,CAAC,iBAAiB,EAAE;QAC/B,OAAO;QACP,IAAI,EAAE,IAAI;QACV,IAAI;QACJ,SAAS;KACV,CAAC,CAAA;AACJ,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,IAAY,EAAE,OAAkB,GAAG,EAAE,EAAE,CACnE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA"}
|
|
@@ -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":"AAAA,YAAY,CAAA;AAEZ,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAChC,OAAO,uBAAuB,MAAM,yBAAyB,CAAA;AAC7D,OAAO,eAAe,MAAM,2CAA2C,CAAA;AACvE,OAAO,EAAE,2BAA2B,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AAChF,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AACjG,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AACpE,OAAO,YAAY,MAAM,SAAS,CAAA;AAElC,MAAM,CAAC,OAAO,UAAU,kBAAkB;;IACxC,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAC7D,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAC7D,MAAM,WAAW,GAAQ,2BAA2B,EAAE,CAAA;IACtD,MAAM,mBAAmB,GAAG,MAAA,MAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,mBAAmB,0CAAE,UAAU,0CAAE,EAAE,CAAA;IAC5E,MAAM,CAAC,oBAAoB,EAAE,uBAAuB,CAAC,GAAG,QAAQ,CAG7D;QACD,gBAAgB,EAAE,EAAE;QACpB,KAAK,EAAE,EAAE;KACV,CAAC,CAAA;IAEF,qBAAqB,CAAC,uBAAuB,EAAE,CAAC,OAAY,EAAE,EAAE;QAC9D,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;YACrB,KAAK,oBAAoB,CAAC,qCAAqC;gBAC7D,kBAAkB,CAAC,IAAI,CAAC,CAAA;gBACxB,uBAAuB,CAAC;oBACtB,gBAAgB,EAAE,CAAC,aAAa,CAAC;oBACjC,KAAK,EAAE,oBAAoB,CAAC,QAAQ;iBACrC,CAAC,CAAA;gBACF,MAAK;YACP,KAAK,oBAAoB,CAAC,qCAAqC;gBAC7D,kBAAkB,CAAC,IAAI,CAAC,CAAA;gBACxB,uBAAuB,CAAC;oBACtB,gBAAgB,EAAE,CAAC,aAAa,CAAC;oBACjC,KAAK,EAAE,oBAAoB,CAAC,QAAQ;iBACrC,CAAC,CAAA;gBACF,MAAK;YAEP,KAAK,oBAAoB,CAAC,sCAAsC;gBAC9D,kBAAkB,CAAC,IAAI,CAAC,CAAA;gBACxB,uBAAuB,CAAC;oBACtB,gBAAgB,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC;oBACxC,KAAK,EAAE,oBAAoB,CAAC,SAAS;iBACtC,CAAC,CAAA;gBACF,MAAK;YACP,KAAK,oBAAoB,CAAC,sCAAsC;gBAC9D,kBAAkB,CAAC,IAAI,CAAC,CAAA;gBACxB,uBAAuB,CAAC;oBACtB,gBAAgB,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC;oBACxC,KAAK,EAAE,oBAAoB,CAAC,SAAS;iBACtC,CAAC,CAAA;gBACF,MAAK;QACT,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,OAAO,CACL;QACE,oBAAC,YAAY,OAAG;QAChB,oBAAC,uBAAuB,IACtB,mBAAmB,EAAE,mBAAmB,EACxC,gBAAgB,EAAE,oBAAoB,CAAC,gBAAgB,EACvD,MAAM,EAAE,GAAG,EAAE;gBACX,kBAAkB,CAAC,KAAK,CAAC,CAAA;YAC3B,CAAC,EACD,IAAI,EAAE,eAAe,GACrB;QAEF,oBAAC,eAAe,IACd,gBAAgB,EAAE,oBAAoB,CAAC,gBAAgB,EACvD,KAAK,EAAE,oBAAoB,CAAC,KAAK,EACjC,OAAO,EAAE,kBAAkB,EAC3B,IAAI,EAAE,eAAe,GACrB,CACD,CACJ,CAAA;AACH,CAAC"}
|
|
@@ -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
|