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,191 @@
1
+ import { MagnifyingGlassIcon } from '@heroicons/react/24/outline';
2
+ import React from 'react';
3
+ import { useState } from 'react';
4
+ import { PHXBadge, PHXClientQueryV3, PHXEmptyRecord, PHXFuncGetLoggedInfo, PHXSpinner, PHXTooltip, } from '../../../../..';
5
+ import useBookState from './use-book-state';
6
+ import useWarehouse from './use-warehouse';
7
+ import { dateStrToDate, fomartBookCode, getCurrentDateTime, getProfile, getRoleName, getValidBookCodeLength, triggerMessage, } from '../helper';
8
+ import { getBookScanReturnQueryV2, queryGetPrefixCode } from '../query';
9
+ import { BORROWED_STATE_CODE } from '../constants';
10
+ import { Input } from './input';
11
+ import { FORM_TYPE } from '../../../constant';
12
+ const KinhLup = () => React.createElement(MagnifyingGlassIcon, { className: 'h-4 w-4' });
13
+ function ScanBookInfo({ isCurrScan = false, isDevide = false, scanInfo, }) {
14
+ return (React.createElement("div", { className: `flex gap-x-3 ${isDevide && 'mb-3 border-b border-gray-200 pb-3'}` },
15
+ React.createElement("div", { className: `flex shrink-0 items-center justify-center overflow-hidden rounded-lg border border-gray-200 ${isCurrScan ? 'h-10 w-10' : 'h-8 w-8'} ${!scanInfo.image && 'bg-[#F7F7F7]'}` }, scanInfo.image ? (React.createElement("img", { alt: scanInfo.title, className: 'h-full w-auto', src: scanInfo.image })) : (React.createElement("svg", { fill: 'none', height: '13', viewBox: '0 0 13 13', width: '13', xmlns: 'http://www.w3.org/2000/svg' },
16
+ 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' }),
17
+ 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' })))),
18
+ React.createElement("div", { className: 'w-full space-y-1 truncate' },
19
+ React.createElement(PHXTooltip, { content: scanInfo.title },
20
+ React.createElement("p", { className: `cursor-pointer truncate text-xs text-gray-900 xl:w-[25ch] ${isCurrScan && 'font-semibold'}` }, scanInfo.title)),
21
+ React.createElement("p", { className: 'text-xs text-gray-500' }, scanInfo.code),
22
+ !isCurrScan && React.createElement("p", { className: 'text-xxs text-gray-500' }, scanInfo.scanDate),
23
+ React.createElement(PHXBadge, { text: scanInfo.status.name, type: scanInfo.status.type }))));
24
+ }
25
+ export default function ScanTicketInfo({ onChangeHistory, schoolYearId, warehouseId, }) {
26
+ const { listBookState } = useBookState();
27
+ const [loading, setLoading] = useState(false);
28
+ const { prefixQrCode } = useWarehouse({ warehouseId });
29
+ const [listHisttoryScan, setListHistoryScan] = useState([]);
30
+ const listScanLength = listHisttoryScan.length;
31
+ const userInfo = PHXFuncGetLoggedInfo();
32
+ const handleScan = async (searchValue, inputEvent) => {
33
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
34
+ if (!searchValue || searchValue.length < getValidBookCodeLength(prefixQrCode)) {
35
+ return;
36
+ }
37
+ const scanDate = getCurrentDateTime();
38
+ let result = {
39
+ title: 'Không xác định tên sách mượn',
40
+ code: searchValue,
41
+ scanDate,
42
+ status: {
43
+ name: 'Mã sách không tồn tại',
44
+ type: 'danger',
45
+ },
46
+ image: '',
47
+ };
48
+ try {
49
+ if (!searchValue) {
50
+ return;
51
+ }
52
+ const { data: { library_dang_ki_ca_biet }, } = await PHXClientQueryV3({
53
+ query: getBookScanReturnQueryV2,
54
+ variables: {
55
+ code: searchValue,
56
+ school_id: userInfo === null || userInfo === void 0 ? void 0 : userInfo.school_id,
57
+ warehouseId,
58
+ currentSchoolYearId: schoolYearId,
59
+ },
60
+ isDelay: false,
61
+ });
62
+ const book = library_dang_ki_ca_biet === null || library_dang_ki_ca_biet === void 0 ? void 0 : library_dang_ki_ca_biet[0];
63
+ if (!book) {
64
+ return;
65
+ }
66
+ const { code, id, library_book_copy, library_borrow_books, pre_state, state_id } = book;
67
+ const ticket = (_a = library_borrow_books === null || library_borrow_books === void 0 ? void 0 : library_borrow_books[0]) === null || _a === void 0 ? void 0 : _a.library_borrow_ticket;
68
+ const user = ticket === null || ticket === void 0 ? void 0 : ticket.user;
69
+ let totalReturned = 0;
70
+ (_b = ticket === null || ticket === void 0 ? void 0 : ticket.library_borrow_books) === null || _b === void 0 ? void 0 : _b.forEach((borrowBook) => {
71
+ if (borrowBook.return_date) {
72
+ totalReturned += 1;
73
+ }
74
+ });
75
+ const existBookDefaultInfo = {
76
+ title: (_c = library_book_copy === null || library_book_copy === void 0 ? void 0 : library_book_copy.library_book) === null || _c === void 0 ? void 0 : _c.title,
77
+ code,
78
+ scanDate,
79
+ image: (_e = (_d = library_book_copy === null || library_book_copy === void 0 ? void 0 : library_book_copy.library_book_images) === null || _d === void 0 ? void 0 : _d[0]) === null || _e === void 0 ? void 0 : _e.url,
80
+ ticketId: ticket === null || ticket === void 0 ? void 0 : ticket.id,
81
+ borrowerName: user === null || user === void 0 ? void 0 : user.full_name,
82
+ roleName: getRoleName(user === null || user === void 0 ? void 0 : user.user_roles),
83
+ borrowDate: dateStrToDate(ticket === null || ticket === void 0 ? void 0 : ticket.actual_borrow_date),
84
+ classroomName: (_h = (_g = (_f = user === null || user === void 0 ? void 0 : user.classroom_students) === null || _f === void 0 ? void 0 : _f[0]) === null || _g === void 0 ? void 0 : _g.classroom) === null || _h === void 0 ? void 0 : _h.name,
85
+ bookBorrowId: (_j = library_borrow_books === null || library_borrow_books === void 0 ? void 0 : library_borrow_books[0]) === null || _j === void 0 ? void 0 : _j.id,
86
+ userCode: (_k = getProfile(user)) === null || _k === void 0 ? void 0 : _k.user_code,
87
+ expectReturnDate: dateStrToDate(ticket === null || ticket === void 0 ? void 0 : ticket.expect_return_date),
88
+ totalReturned,
89
+ totalBorrowed: ((_l = ticket === null || ticket === void 0 ? void 0 : ticket.library_borrow_books) === null || _l === void 0 ? void 0 : _l.length) || 0,
90
+ bookId: id,
91
+ preStateId: pre_state,
92
+ };
93
+ if (state_id !== ((_m = listBookState.find((state) => state.code === BORROWED_STATE_CODE)) === null || _m === void 0 ? void 0 : _m.id)) {
94
+ result = {
95
+ ...existBookDefaultInfo,
96
+ status: {
97
+ name: 'Sách chưa được mượn',
98
+ type: 'warning',
99
+ },
100
+ };
101
+ onChangeHistory(result, true);
102
+ return;
103
+ }
104
+ result = {
105
+ ...existBookDefaultInfo,
106
+ status: {
107
+ name: 'Đã quét thành công',
108
+ type: 'success',
109
+ },
110
+ };
111
+ onChangeHistory(result);
112
+ }
113
+ catch (e) {
114
+ console.log(e);
115
+ }
116
+ finally {
117
+ setLoading(false);
118
+ setListHistoryScan((pre) => [result, ...pre]);
119
+ inputEvent.target.value = '';
120
+ }
121
+ };
122
+ const handleGetDataPrefixQrCode = async () => {
123
+ var _a, _b;
124
+ setLoading(true);
125
+ try {
126
+ const { data } = await PHXClientQueryV3({
127
+ query: queryGetPrefixCode,
128
+ variables: {
129
+ id: warehouseId,
130
+ },
131
+ });
132
+ const prefix = ((_b = (_a = data === null || data === void 0 ? void 0 : data.library_warehouse) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.qr_code_prefix) || '';
133
+ return prefix;
134
+ }
135
+ catch (error) {
136
+ console.error(error);
137
+ return '';
138
+ }
139
+ finally {
140
+ setLoading(false);
141
+ }
142
+ };
143
+ const handleInputChange = async (e) => {
144
+ var _a;
145
+ if (loading)
146
+ return;
147
+ const lengthValue = e.target.value.length;
148
+ let currentPrefix = prefixQrCode;
149
+ // Retry
150
+ if (!currentPrefix && lengthValue >= getValidBookCodeLength(currentPrefix)) {
151
+ currentPrefix = await handleGetDataPrefixQrCode();
152
+ if (!currentPrefix) {
153
+ triggerMessage({
154
+ type: FORM_TYPE.CUSTOM,
155
+ message: 'Quét mã sách thất bại, kiểm tra kết nối',
156
+ isFailure: true,
157
+ });
158
+ return;
159
+ }
160
+ }
161
+ const currValue = (_a = e.target.value) === null || _a === void 0 ? void 0 : _a.trim();
162
+ const formatedValue = fomartBookCode(currValue, currentPrefix);
163
+ e.target.value = formatedValue;
164
+ if (formatedValue.length >= getValidBookCodeLength(currentPrefix)) {
165
+ setLoading(true);
166
+ handleScan(formatedValue, e);
167
+ }
168
+ };
169
+ return (React.createElement(React.Fragment, null,
170
+ React.createElement("style", null, `
171
+ .scrollbar-thin::-webkit-scrollbar {
172
+ width: 8px;
173
+ height: 8px;
174
+ }
175
+ .scrollbar-thin::-webkit-scrollbar-thumb {
176
+ background: rgb(199 199 199);
177
+ border-radius: 16px;
178
+ border: 2px solid transparent; /* giả padding */
179
+ background-clip: content-box; /* giúp background nằm trong border */
180
+ }
181
+ `),
182
+ React.createElement("div", { className: 'relative' },
183
+ React.createElement(Input, { autoComplete: 'off', autoFocus: true, className: 'mb-3 h-8 overflow-hidden !border-gray-200', disabled: loading, id: 'code', onChange: handleInputChange, placeholder: 'T\u00ECm ki\u1EBFm theo m\u00E3 s\u00E1ch / Qu\u00E9t m\u00E3 s\u00E1ch', prefix: React.createElement(KinhLup, null) }),
184
+ loading && React.createElement(PHXSpinner, { className: 'absolute right-3 top-2 h-4 w-4' })),
185
+ listScanLength > 0 && (React.createElement("div", { className: 'rounded-lg border border-gray-200 p-4' },
186
+ React.createElement(ScanBookInfo, { isCurrScan: true, scanInfo: listHisttoryScan[0] }))),
187
+ React.createElement("div", { className: 'mt-4 space-y-2' },
188
+ React.createElement("p", { className: 'text-xs text-gray-900' }, "L\u1ECBch s\u1EED qu\u00E9t m\u00E3"),
189
+ React.createElement("div", { className: `scrollbar-thin overflow-y-auto rounded-lg border border-gray-200 p-4 ${listScanLength > 0 && 'max-h-[24rem] bg-gray-50'}` }, listScanLength > 0 ? (React.createElement(React.Fragment, null, listHisttoryScan.map((item, index) => (React.createElement(ScanBookInfo, { key: index, isDevide: index !== listScanLength - 1, scanInfo: item }))))) : (React.createElement(PHXEmptyRecord, null))))));
190
+ }
191
+ //# sourceMappingURL=scan-ticket-info.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scan-ticket-info.js","sourceRoot":"","sources":["../../../../../../../src/components/MainWrapV4/quick-action/library/library-return-ticket/scan-ticket-info.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AACjE,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAe,QAAQ,EAAE,MAAM,OAAO,CAAA;AAC7C,OAAO,EACL,QAAQ,EACR,gBAAgB,EAChB,cAAc,EACd,oBAAoB,EACpB,UAAU,EACV,UAAU,GACX,MAAM,gBAAgB,CAAA;AACvB,OAAO,YAAY,MAAM,kBAAkB,CAAA;AAC3C,OAAO,YAAY,MAAM,iBAAiB,CAAA;AAC1C,OAAO,EACL,aAAa,EACb,cAAc,EACd,kBAAkB,EAClB,UAAU,EACV,WAAW,EACX,sBAAsB,EACtB,cAAc,GACf,MAAM,WAAW,CAAA;AAClB,OAAO,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAClD,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAyB7C,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,oBAAC,mBAAmB,IAAC,SAAS,EAAC,SAAS,GAAG,CAAA;AAEjE,SAAS,YAAY,CAAC,EACpB,UAAU,GAAG,KAAK,EAClB,QAAQ,GAAG,KAAK,EAChB,QAAQ,GAKT;IACC,OAAO,CACL,6BAAK,SAAS,EAAE,gBAAgB,QAAQ,IAAI,oCAAoC,EAAE;QAChF,6BACE,SAAS,EAAE,+FACT,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAC7B,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,cAAc,EAAE,IAEtC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAChB,6BAAK,GAAG,EAAE,QAAQ,CAAC,KAAK,EAAE,SAAS,EAAC,eAAe,EAAC,GAAG,EAAE,QAAQ,CAAC,KAAK,GAAI,CAC5E,CAAC,CAAC,CAAC,CACF,6BAAK,IAAI,EAAC,MAAM,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,KAAK,EAAC,IAAI,EAAC,KAAK,EAAC,4BAA4B;YAC5F,8BACE,CAAC,EAAC,oIAAoI,EACtI,IAAI,EAAC,SAAS,GACd;YACF,8BACE,QAAQ,EAAC,SAAS,EAClB,CAAC,EAAC,80EAA80E,EACh1E,IAAI,EAAC,SAAS,EACd,QAAQ,EAAC,SAAS,GAClB,CACE,CACP,CACG;QAEN,6BAAK,SAAS,EAAC,2BAA2B;YACxC,oBAAC,UAAU,IAAC,OAAO,EAAE,QAAQ,CAAC,KAAK;gBACjC,2BAAG,SAAS,EAAE,6DAA6D,UAAU,IAAI,eAAe,EAAE,IACvG,QAAQ,CAAC,KAAK,CACb,CACO;YACb,2BAAG,SAAS,EAAC,uBAAuB,IAAE,QAAQ,CAAC,IAAI,CAAK;YACvD,CAAC,UAAU,IAAI,2BAAG,SAAS,EAAC,wBAAwB,IAAE,QAAQ,CAAC,QAAQ,CAAK;YAE7E,oBAAC,QAAQ,IAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,IAAI,GAAI,CAChE,CACF,CACP,CAAA;AACH,CAAC;AAED,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,EACrC,eAAe,EACf,YAAY,EACZ,WAAW,GAKZ;IACC,MAAM,EAAE,aAAa,EAAE,GAAG,YAAY,EAAE,CAAA;IACxC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAC7C,MAAM,EAAE,YAAY,EAAE,GAAG,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC,CAAA;IACtD,MAAM,CAAC,gBAAgB,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAmB,EAAE,CAAC,CAAA;IAC7E,MAAM,cAAc,GAAG,gBAAgB,CAAC,MAAM,CAAA;IAC9C,MAAM,QAAQ,GAAG,oBAAoB,EAAE,CAAA;IAEvC,MAAM,UAAU,GAAG,KAAK,EAAE,WAAmB,EAAE,UAAyC,EAAE,EAAE;;QAC1F,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,MAAM,GAAG,sBAAsB,CAAC,YAAY,CAAC,EAAE,CAAC;YAC9E,OAAM;QACR,CAAC;QAED,MAAM,QAAQ,GAAG,kBAAkB,EAAE,CAAA;QACrC,IAAI,MAAM,GAAG;YACX,KAAK,EAAE,8BAA8B;YACrC,IAAI,EAAE,WAAW;YACjB,QAAQ;YACR,MAAM,EAAE;gBACN,IAAI,EAAE,uBAAuB;gBAC7B,IAAI,EAAE,QAAQ;aACf;YACD,KAAK,EAAE,EAAE;SACU,CAAA;QAErB,IAAI,CAAC;YACH,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,OAAM;YACR,CAAC;YAED,MAAM,EACJ,IAAI,EAAE,EAAE,uBAAuB,EAAE,GAClC,GAAG,MAAM,gBAAgB,CAAC;gBACzB,KAAK,EAAE,wBAAwB;gBAC/B,SAAS,EAAE;oBACT,IAAI,EAAE,WAAW;oBACjB,SAAS,EAAE,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,SAAS;oBAC9B,WAAW;oBACX,mBAAmB,EAAE,YAAY;iBAClC;gBACD,OAAO,EAAE,KAAK;aACf,CAAC,CAAA;YAEF,MAAM,IAAI,GAAG,uBAAuB,aAAvB,uBAAuB,uBAAvB,uBAAuB,CAAG,CAAC,CAAC,CAAA;YAEzC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,OAAM;YACR,CAAC;YAED,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAA;YAEvF,MAAM,MAAM,GAAG,MAAA,oBAAoB,aAApB,oBAAoB,uBAApB,oBAAoB,CAAG,CAAC,CAAC,0CAAE,qBAAqB,CAAA;YAC/D,MAAM,IAAI,GAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,CAAA;YAEzB,IAAI,aAAa,GAAG,CAAC,CAAA;YACrB,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,oBAAoB,0CAAE,OAAO,CAAC,CAAC,UAAe,EAAE,EAAE;gBACxD,IAAI,UAAU,CAAC,WAAW,EAAE,CAAC;oBAC3B,aAAa,IAAI,CAAC,CAAA;gBACpB,CAAC;YACH,CAAC,CAAC,CAAA;YAEF,MAAM,oBAAoB,GAAG;gBAC3B,KAAK,EAAE,MAAA,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,YAAY,0CAAE,KAAK;gBAC7C,IAAI;gBACJ,QAAQ;gBACR,KAAK,EAAE,MAAA,MAAA,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,mBAAmB,0CAAG,CAAC,CAAC,0CAAE,GAAG;gBACvD,QAAQ,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,EAAE;gBACpB,YAAY,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,SAAS;gBAC7B,QAAQ,EAAE,WAAW,CAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,UAAU,CAAC;gBACvC,UAAU,EAAE,aAAa,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,kBAAkB,CAAC;gBACrD,aAAa,EAAE,MAAA,MAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,kBAAkB,0CAAG,CAAC,CAAC,0CAAE,SAAS,0CAAE,IAAI;gBAC7D,YAAY,EAAE,MAAA,oBAAoB,aAApB,oBAAoB,uBAApB,oBAAoB,CAAG,CAAC,CAAC,0CAAE,EAAE;gBAC3C,QAAQ,EAAE,MAAA,UAAU,CAAC,IAAI,CAAC,0CAAE,SAAS;gBACrC,gBAAgB,EAAE,aAAa,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,kBAAkB,CAAC;gBAC3D,aAAa;gBACb,aAAa,EAAE,CAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,oBAAoB,0CAAE,MAAM,KAAI,CAAC;gBACxD,MAAM,EAAE,EAAE;gBACV,UAAU,EAAE,SAAS;aACtB,CAAA;YAED,IAAI,QAAQ,MAAK,MAAA,aAAa,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,mBAAmB,CAAC,0CAAE,EAAE,CAAA,EAAE,CAAC;gBACvF,MAAM,GAAG;oBACP,GAAG,oBAAoB;oBACvB,MAAM,EAAE;wBACN,IAAI,EAAE,qBAAqB;wBAC3B,IAAI,EAAE,SAAS;qBAChB;iBACF,CAAA;gBAED,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;gBAC7B,OAAM;YACR,CAAC;YAED,MAAM,GAAG;gBACP,GAAG,oBAAoB;gBACvB,MAAM,EAAE;oBACN,IAAI,EAAE,oBAAoB;oBAC1B,IAAI,EAAE,SAAS;iBAChB;aACF,CAAA;YAED,eAAe,CAAC,MAAM,CAAC,CAAA;QACzB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;QAChB,CAAC;gBAAS,CAAC;YACT,UAAU,CAAC,KAAK,CAAC,CAAA;YACjB,kBAAkB,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAA;YAC7C,UAAU,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAA;QAC9B,CAAC;IACH,CAAC,CAAA;IAED,MAAM,yBAAyB,GAAG,KAAK,IAAI,EAAE;;QAC3C,UAAU,CAAC,IAAI,CAAC,CAAA;QAChB,IAAI,CAAC;YACH,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,gBAAgB,CAAC;gBACtC,KAAK,EAAE,kBAAkB;gBACzB,SAAS,EAAE;oBACT,EAAE,EAAE,WAAW;iBAChB;aACF,CAAC,CAAA;YAEF,MAAM,MAAM,GAAG,CAAA,MAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,iBAAiB,0CAAG,CAAC,CAAC,0CAAE,cAAc,KAAI,EAAE,CAAA;YACjE,OAAO,MAAM,CAAA;QACf,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;YACpB,OAAO,EAAE,CAAA;QACX,CAAC;gBAAS,CAAC;YACT,UAAU,CAAC,KAAK,CAAC,CAAA;QACnB,CAAC;IACH,CAAC,CAAA;IAED,MAAM,iBAAiB,GAAG,KAAK,EAAE,CAAgC,EAAE,EAAE;;QACnE,IAAI,OAAO;YAAE,OAAM;QAEnB,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAA;QACzC,IAAI,aAAa,GAAG,YAAY,CAAA;QAEhC,QAAQ;QACR,IAAI,CAAC,aAAa,IAAI,WAAW,IAAI,sBAAsB,CAAC,aAAa,CAAC,EAAE,CAAC;YAC3E,aAAa,GAAG,MAAM,yBAAyB,EAAE,CAAA;YAEjD,IAAI,CAAC,aAAa,EAAE,CAAC;gBACnB,cAAc,CAAC;oBACb,IAAI,EAAE,SAAS,CAAC,MAAM;oBACtB,OAAO,EAAE,yCAAyC;oBAClD,SAAS,EAAE,IAAI;iBAChB,CAAC,CAAA;gBACF,OAAM;YACR,CAAC;QACH,CAAC;QAED,MAAM,SAAS,GAAG,MAAA,CAAC,CAAC,MAAM,CAAC,KAAK,0CAAE,IAAI,EAAE,CAAA;QACxC,MAAM,aAAa,GAAG,cAAc,CAAC,SAAS,EAAE,aAAa,CAAC,CAAA;QAC9D,CAAC,CAAC,MAAM,CAAC,KAAK,GAAG,aAAa,CAAA;QAC9B,IAAI,aAAa,CAAC,MAAM,IAAI,sBAAsB,CAAC,aAAa,CAAC,EAAE,CAAC;YAClE,UAAU,CAAC,IAAI,CAAC,CAAA;YAChB,UAAU,CAAC,aAAa,EAAE,CAAC,CAAC,CAAA;QAC9B,CAAC;IACH,CAAC,CAAA;IAED,OAAO,CACL;QACE,mCACG;;;;;;;;;;;SAWA,CACK;QACR,6BAAK,SAAS,EAAC,UAAU;YACvB,oBAAC,KAAK,IACJ,YAAY,EAAC,KAAK,EAClB,SAAS,QACT,SAAS,EAAC,2CAA2C,EACrD,QAAQ,EAAE,OAAO,EACjB,EAAE,EAAC,MAAM,EACT,QAAQ,EAAE,iBAAiB,EAC3B,WAAW,EAAC,yEAAsC,EAClD,MAAM,EAAE,oBAAC,OAAO,OAAG,GACnB;YACD,OAAO,IAAI,oBAAC,UAAU,IAAC,SAAS,EAAC,gCAAgC,GAAG,CACjE;QAEL,cAAc,GAAG,CAAC,IAAI,CACrB,6BAAK,SAAS,EAAC,uCAAuC;YACpD,oBAAC,YAAY,IAAC,UAAU,QAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAI,CACtD,CACP;QAED,6BAAK,SAAS,EAAC,gBAAgB;YAC7B,2BAAG,SAAS,EAAC,uBAAuB,0CAAoB;YAExD,6BACE,SAAS,EAAE,wEACT,cAAc,GAAG,CAAC,IAAI,0BACxB,EAAE,IAED,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC,CACpB,0CACG,gBAAgB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CACrC,oBAAC,YAAY,IAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,KAAK,cAAc,GAAG,CAAC,EAAE,QAAQ,EAAE,IAAI,GAAI,CACrF,CAAC,CACD,CACJ,CAAC,CAAC,CAAC,CACF,oBAAC,cAAc,OAAG,CACnB,CACG,CACF,CACL,CACJ,CAAA;AACH,CAAC"}
@@ -0,0 +1,33 @@
1
+ import React from 'react';
2
+ export type TDataTable = {
3
+ title: string;
4
+ ticketId: number;
5
+ borrowerName: string;
6
+ roleName: string;
7
+ classroom: string;
8
+ borrowDate: string;
9
+ returnDate: string;
10
+ userCode: string;
11
+ expectReturnDate: string;
12
+ image: string;
13
+ listborrowBook: Array<{
14
+ bookBorrowId: number;
15
+ code: string;
16
+ scanCount: number;
17
+ bookId: number;
18
+ preStateId: number;
19
+ title: string;
20
+ image: string;
21
+ }>;
22
+ totalReturned: number;
23
+ totalBorrowed: number;
24
+ };
25
+ interface IScanModalProps {
26
+ warehouseId: number;
27
+ schoolYearId: number;
28
+ onChange(data: Array<TDataTable>): void;
29
+ data: Array<TDataTable>;
30
+ route: string;
31
+ }
32
+ export default function ScanToReturn({ data, onChange, route, schoolYearId, warehouseId }: IScanModalProps): React.JSX.Element;
33
+ export {};
@@ -0,0 +1,195 @@
1
+ 'use client';
2
+ import React from 'react';
3
+ import ScanTicketInfo from './scan-ticket-info';
4
+ import { PHXBadge, PHXCard, PHXDropdown, PHXEmptyRecord, PHXTableStatic, PHXTooltip, TEXT_UNDEFINED, } from '../../../../..';
5
+ export default function ScanToReturn({ data, onChange, route, schoolYearId, warehouseId }) {
6
+ const onChangeHistory = (newHistory, isDeleted) => {
7
+ if (isDeleted) {
8
+ const newData = data
9
+ .map((ticket) => ({
10
+ ...ticket,
11
+ listborrowBook: ticket.listborrowBook.filter((book) => book.code !== newHistory.code),
12
+ }))
13
+ .filter((ticket) => ticket.listborrowBook.length > 0);
14
+ onChange(newData);
15
+ return;
16
+ }
17
+ if (!newHistory.ticketId) {
18
+ return;
19
+ }
20
+ const existTicketIndex = data.findIndex((item) => item.ticketId === newHistory.ticketId);
21
+ if (existTicketIndex === -1) {
22
+ const newList = [
23
+ {
24
+ title: newHistory.title,
25
+ ticketId: newHistory.ticketId,
26
+ borrowerName: newHistory.borrowerName,
27
+ roleName: newHistory.roleName,
28
+ classroom: newHistory.classroomName,
29
+ borrowDate: newHistory.borrowDate,
30
+ returnDate: '',
31
+ userCode: newHistory.userCode,
32
+ expectReturnDate: newHistory.expectReturnDate,
33
+ image: newHistory.image,
34
+ listborrowBook: [
35
+ {
36
+ bookBorrowId: newHistory.bookBorrowId,
37
+ code: newHistory.code,
38
+ scanCount: 1,
39
+ bookId: newHistory.bookId,
40
+ preStateId: newHistory.preStateId,
41
+ title: newHistory.title,
42
+ image: newHistory.image,
43
+ },
44
+ ],
45
+ totalReturned: newHistory.totalReturned,
46
+ totalBorrowed: newHistory.totalBorrowed,
47
+ },
48
+ ...data.map((ticket) => ({
49
+ ...ticket,
50
+ listborrowBook: ticket.listborrowBook.filter((book) => book.code !== newHistory.code),
51
+ })),
52
+ ].filter((item) => item.listborrowBook.length > 0);
53
+ onChange(newList);
54
+ return;
55
+ }
56
+ const clone = [...data];
57
+ clone[existTicketIndex].expectReturnDate = newHistory.expectReturnDate;
58
+ const existTicket = clone[existTicketIndex];
59
+ const existBookIndex = existTicket.listborrowBook.findIndex((item) => item.code === newHistory.code);
60
+ if (existBookIndex === -1) {
61
+ clone[existTicketIndex].listborrowBook.push({
62
+ bookBorrowId: newHistory.bookBorrowId,
63
+ code: newHistory.code,
64
+ scanCount: 1,
65
+ bookId: newHistory.bookId,
66
+ preStateId: newHistory.preStateId,
67
+ title: newHistory.title,
68
+ image: newHistory.image,
69
+ });
70
+ onChange(clone);
71
+ return;
72
+ }
73
+ clone[existTicketIndex].listborrowBook[existBookIndex].scanCount++;
74
+ onChange(clone);
75
+ };
76
+ const handleDeleteBook = (ticketId, bookCode) => {
77
+ const clone = [...data];
78
+ const ticketIndex = data.findIndex((item) => item.ticketId === ticketId);
79
+ // nếu chỉ còn 1 quyển thì xoá luôn phiếu mượn
80
+ if (clone[ticketIndex].listborrowBook.length === 1) {
81
+ clone.splice(ticketIndex, 1);
82
+ }
83
+ else {
84
+ clone[ticketIndex].listborrowBook = clone[ticketIndex].listborrowBook.filter((item) => item.code !== bookCode);
85
+ }
86
+ onChange(clone);
87
+ };
88
+ return (React.createElement("div", { className: 'gap-4 space-y-4 bg-[#F1F1F1] p-4 lg:grid-cols-3 xl:grid xl:space-y-0' },
89
+ React.createElement("div", { className: 'col-span-1 h-full' },
90
+ React.createElement(PHXCard, null,
91
+ React.createElement("p", { className: 'pb-2 text-xs text-gray-900' }, "Qu\u00E9t m\u00E3 s\u00E1ch"),
92
+ React.createElement(ScanTicketInfo, { onChangeHistory: onChangeHistory, schoolYearId: schoolYearId, warehouseId: warehouseId }))),
93
+ React.createElement("div", { className: 'col-span-2' },
94
+ React.createElement(PHXCard, null,
95
+ React.createElement("p", { className: 'pb-2 text-xs font-[650] text-gray-900' }, "Danh s\u00E1ch phi\u1EBFu"),
96
+ data.length > 0 ? (React.createElement("div", { className: 'overflow-y-auto xl:max-h-[35.8rem]' },
97
+ React.createElement(PHXTableStatic, { bodyData: data.map((ticket) => ({
98
+ ticket_id: ticket.ticketId,
99
+ user_full_name: ticket.borrowerName,
100
+ target: ticket.roleName,
101
+ borrow_date: ticket.borrowDate,
102
+ return_date: ticket.expectReturnDate,
103
+ action: '',
104
+ returned_count: `${ticket.totalReturned}/${ticket.totalBorrowed}`,
105
+ ...ticket,
106
+ child: {
107
+ headers: ['Hình ảnh', 'Tên sách', 'Mã sách', 'Số lần quét', 'Trạng thái', 'Thao tác', ''],
108
+ dataKeys: ['image', 'title', 'code', 'scan_count', 'status', 'action', ''],
109
+ data: ticket.listborrowBook.map((book) => ({
110
+ image: book.image,
111
+ title: book.title,
112
+ code: book.code,
113
+ scan_count: book.scanCount,
114
+ status: '',
115
+ action: '',
116
+ ticketId: ticket.ticketId,
117
+ bookCode: book.code,
118
+ })),
119
+ customRenderKey: {
120
+ image(value, itemBody) {
121
+ return (React.createElement("div", { className: `flex h-10 w-10 shrink-0 items-center justify-center overflow-hidden rounded-lg border border-gray-200 ${!value && 'bg-[#F7F7F7]'}` }, value ? (React.createElement("img", { alt: itemBody.userCode, className: 'h-full w-auto', src: value })) : (React.createElement("svg", { fill: 'none', height: '13', viewBox: '0 0 13 13', width: '13', xmlns: 'http://www.w3.org/2000/svg' },
122
+ 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' }),
123
+ 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' })))));
124
+ },
125
+ status() {
126
+ return React.createElement(PHXBadge, { text: '\u0110\u00E3 m\u01B0\u1EE3n', type: 'success' });
127
+ },
128
+ action(_value, itemBody) {
129
+ return (React.createElement(PHXDropdown, { options: [
130
+ {
131
+ content: 'Xoá sách mượn',
132
+ destructive: true,
133
+ onClick: () => {
134
+ handleDeleteBook(itemBody.ticketId, itemBody.bookCode);
135
+ },
136
+ },
137
+ ], origin: 'right', type: 'ellipsis-icon' }));
138
+ },
139
+ title(value) {
140
+ return (React.createElement(PHXTooltip, { content: value },
141
+ React.createElement("p", { className: 'w-[20ch] cursor-pointer truncate' }, value)));
142
+ },
143
+ },
144
+ },
145
+ })), numericalOrder: {
146
+ enable: true,
147
+ title: 'STT',
148
+ }, readonly: false, thBody: [
149
+ 'ticket_id',
150
+ 'user_full_name',
151
+ 'target',
152
+ 'borrow_date',
153
+ 'return_date',
154
+ 'returned_count',
155
+ 'action',
156
+ ], thComponent: {
157
+ ticket_id(value) {
158
+ return `#${value}`;
159
+ },
160
+ user_full_name(value, itemBody) {
161
+ return (React.createElement("div", { className: 'w-[10rem] space-y-1' },
162
+ React.createElement("p", null, value),
163
+ React.createElement("p", { className: 'text-gray-500' }, itemBody.userCode || TEXT_UNDEFINED)));
164
+ },
165
+ target(value, itemBody) {
166
+ return (React.createElement("div", { className: 'space-y-1' },
167
+ React.createElement("p", null, value),
168
+ itemBody.classroom && React.createElement("p", { className: 'text-gray-500' }, itemBody.classroom)));
169
+ },
170
+ child_action() {
171
+ return '';
172
+ },
173
+ action(_value, itemBody) {
174
+ return (React.createElement("a", {
175
+ // eslint-disable-next-line prettier/prettier
176
+ className: 'flex items-center gap-x-1 text-link-500 hover:text-link-600 hover:underline', href: `/library/${route}/borrow-ticket/edit/${itemBody.ticketId}`, onClick: (e) => {
177
+ e.stopPropagation();
178
+ }, rel: 'noreferrer', target: '_blank' },
179
+ React.createElement("span", null, "M\u01B0\u1EE3n s\u00E1ch"),
180
+ React.createElement("svg", { fill: 'none', height: '20', viewBox: '0 0 20 20', width: '20', xmlns: 'http://www.w3.org/2000/svg' },
181
+ React.createElement("path", { d: 'M11.75 3.5C11.3358 3.5 11 3.83579 11 4.25C11 4.66421 11.3358 5 11.75 5H13.9393L8.96967 9.96967C8.67678 10.2626 8.67678 10.7374 8.96967 11.0303C9.26256 11.3232 9.73744 11.3232 10.0303 11.0303L15 6.06066V8.25C15 8.66421 15.3358 9 15.75 9C16.1642 9 16.5 8.66421 16.5 8.25V4.25C16.5 3.83579 16.1642 3.5 15.75 3.5H11.75Z', fill: '#6A52FA' }),
182
+ React.createElement("path", { d: 'M15 10.9674C15 10.5532 14.6642 10.2174 14.25 10.2174C13.8358 10.2174 13.5 10.5532 13.5 10.9674V13.75C13.5 14.4404 12.9404 15 12.25 15H6.25C5.55964 15 5 14.4404 5 13.75L5 7.75C5 7.05964 5.55965 6.5 6.25 6.5L9.03261 6.5C9.44682 6.5 9.78261 6.16421 9.78261 5.75C9.78261 5.33579 9.44682 5 9.03261 5L6.25 5C4.73122 5 3.5 6.23122 3.5 7.75V13.75C3.5 15.2688 4.73122 16.5 6.25 16.5H12.25C13.7688 16.5 15 15.2688 15 13.75V10.9674Z', fill: '#6A52FA' }))));
183
+ },
184
+ }, thHeader: [
185
+ 'Mã phiếu',
186
+ 'Người mượn',
187
+ 'Đối tượng mượn',
188
+ 'Ngày mượn',
189
+ 'Ngày trả (dự kiến)',
190
+ 'Số sách đã trả',
191
+ 'Xem phiếu',
192
+ ] }))) : (React.createElement("div", { className: 'rounded-lg border' },
193
+ React.createElement(PHXEmptyRecord, { className: 'h-[23.9rem]' })))))));
194
+ }
195
+ //# sourceMappingURL=scan-to-return.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scan-to-return.js","sourceRoot":"","sources":["../../../../../../../src/components/MainWrapV4/quick-action/library/library-return-ticket/scan-to-return.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export default function useBookState(): {
2
+ listBookState: {
3
+ id: number;
4
+ code: string;
5
+ }[];
6
+ };
@@ -0,0 +1,24 @@
1
+ import { useEffect, useState } from 'react';
2
+ import { PHXClientQueryV3, PHXFuncGetLoggedInfo } from '../../../../..';
3
+ import { getListBookStateQuery } from '../query';
4
+ export default function useBookState() {
5
+ const [listBookState, setListBookState] = useState([]);
6
+ const userInfo = PHXFuncGetLoggedInfo();
7
+ useEffect(() => {
8
+ const getData = async () => {
9
+ try {
10
+ const { data: { library_state }, } = await PHXClientQueryV3({
11
+ query: getListBookStateQuery,
12
+ variables: { schoolId: userInfo === null || userInfo === void 0 ? void 0 : userInfo.school_id },
13
+ });
14
+ setListBookState(library_state);
15
+ }
16
+ catch (e) {
17
+ console.error(e);
18
+ }
19
+ };
20
+ getData();
21
+ }, []);
22
+ return { listBookState };
23
+ }
24
+ //# sourceMappingURL=use-book-state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-book-state.js","sourceRoot":"","sources":["../../../../../../../src/components/MainWrapV4/quick-action/library/library-return-ticket/use-book-state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAC3C,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AACvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAA;AAEhD,MAAM,CAAC,OAAO,UAAU,YAAY;IAClC,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAKhD,EAAE,CAAC,CAAA;IACL,MAAM,QAAQ,GAAG,oBAAoB,EAAE,CAAA;IAEvC,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,OAAO,GAAG,KAAK,IAAI,EAAE;YACzB,IAAI,CAAC;gBACH,MAAM,EACJ,IAAI,EAAE,EAAE,aAAa,EAAE,GACxB,GAAG,MAAM,gBAAgB,CAAC;oBACzB,KAAK,EAAE,qBAAqB;oBAC5B,SAAS,EAAE,EAAE,QAAQ,EAAE,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,SAAS,EAAE;iBAC7C,CAAC,CAAA;gBAEF,gBAAgB,CAAC,aAAa,CAAC,CAAA;YACjC,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;YAClB,CAAC;QACH,CAAC,CAAA;QAED,OAAO,EAAE,CAAA;IACX,CAAC,EAAE,EAAE,CAAC,CAAA;IACN,OAAO,EAAE,aAAa,EAAE,CAAA;AAC1B,CAAC"}
@@ -0,0 +1,3 @@
1
+ export default function useBorrowBook(): {
2
+ handleReturnBook: (inBookshelfArrayId: Array<number>, inWarehouseArrayId: Array<number>, borrowBookId: Array<number>, returnTicketIdArray?: Array<number>) => Promise<void>;
3
+ };
@@ -0,0 +1,44 @@
1
+ 'use client';
2
+ import { PHXClientMutationV3, PHXClientQueryV3, PHXFuncGetLoggedInfo } from '../../../../..';
3
+ import { IN_BOOKSHELF_STATE_CODE, IN_WAREHOUSE_STATE_CODE, RETURNED_TICKET_CODE } from '../constants';
4
+ import { getTicketStateListQuery, returnBorrowBookMutation, returnBorrowTicketMutation } from '../mutation';
5
+ import useBookState from './use-book-state';
6
+ export default function useBorrowBook() {
7
+ const { listBookState } = useBookState();
8
+ const handleReturnBook = async (inBookshelfArrayId, inWarehouseArrayId, borrowBookId, returnTicketIdArray = []) => {
9
+ var _a, _b, _c;
10
+ const userInfo = PHXFuncGetLoggedInfo();
11
+ try {
12
+ await PHXClientMutationV3({
13
+ query: returnBorrowBookMutation,
14
+ variables: {
15
+ inWarehouseIdArray: inWarehouseArrayId,
16
+ inBookshelfIdArray: inBookshelfArrayId,
17
+ borrowBookIdArray: borrowBookId,
18
+ inWarehouseStateId: (_a = listBookState.find((item) => item.code === IN_WAREHOUSE_STATE_CODE)) === null || _a === void 0 ? void 0 : _a.id,
19
+ inBookshelfStateId: (_b = listBookState.find((item) => item.code === IN_BOOKSHELF_STATE_CODE)) === null || _b === void 0 ? void 0 : _b.id,
20
+ },
21
+ });
22
+ if ((returnTicketIdArray === null || returnTicketIdArray === void 0 ? void 0 : returnTicketIdArray.length) > 0) {
23
+ const { data: { library_ticket_state }, } = await PHXClientQueryV3({
24
+ query: getTicketStateListQuery,
25
+ variables: { school_id: userInfo === null || userInfo === void 0 ? void 0 : userInfo.school_id },
26
+ isDelay: false,
27
+ });
28
+ const returnStateId = (_c = library_ticket_state.find((item) => item.code === RETURNED_TICKET_CODE)) === null || _c === void 0 ? void 0 : _c.id;
29
+ await PHXClientMutationV3({
30
+ query: returnBorrowTicketMutation,
31
+ variables: {
32
+ idArray: returnTicketIdArray,
33
+ returnStateId,
34
+ },
35
+ });
36
+ }
37
+ }
38
+ catch (e) {
39
+ console.log(e);
40
+ }
41
+ };
42
+ return { handleReturnBook };
43
+ }
44
+ //# sourceMappingURL=use-borrow-book.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-borrow-book.js","sourceRoot":"","sources":["../../../../../../../src/components/MainWrapV4/quick-action/library/library-return-ticket/use-borrow-book.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAEZ,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AAC5F,OAAO,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA;AACrG,OAAO,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAA;AAC3G,OAAO,YAAY,MAAM,kBAAkB,CAAA;AAE3C,MAAM,CAAC,OAAO,UAAU,aAAa;IACnC,MAAM,EAAE,aAAa,EAAE,GAAG,YAAY,EAAE,CAAA;IAExC,MAAM,gBAAgB,GAAG,KAAK,EAC5B,kBAAiC,EACjC,kBAAiC,EACjC,YAA2B,EAC3B,sBAAqC,EAAE,EACvC,EAAE;;QACF,MAAM,QAAQ,GAAG,oBAAoB,EAAE,CAAA;QACvC,IAAI,CAAC;YACH,MAAM,mBAAmB,CAAC;gBACxB,KAAK,EAAE,wBAAwB;gBAC/B,SAAS,EAAE;oBACT,kBAAkB,EAAE,kBAAkB;oBACtC,kBAAkB,EAAE,kBAAkB;oBACtC,iBAAiB,EAAE,YAAY;oBAC/B,kBAAkB,EAAE,MAAA,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,uBAAuB,CAAC,0CAAE,EAAE;oBAC3F,kBAAkB,EAAE,MAAA,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,uBAAuB,CAAC,0CAAE,EAAE;iBAC5F;aACF,CAAC,CAAA;YACF,IAAI,CAAA,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,MAAM,IAAG,CAAC,EAAE,CAAC;gBACpC,MAAM,EACJ,IAAI,EAAE,EAAE,oBAAoB,EAAE,GAC/B,GAAG,MAAM,gBAAgB,CAAC;oBACzB,KAAK,EAAE,uBAAuB;oBAC9B,SAAS,EAAE,EAAE,SAAS,EAAE,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,SAAS,EAAE;oBAC7C,OAAO,EAAE,KAAK;iBACf,CAAC,CAAA;gBAEF,MAAM,aAAa,GAAG,MAAA,oBAAoB,CAAC,IAAI,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,oBAAoB,CAAC,0CAAE,EAAE,CAAA;gBAEtG,MAAM,mBAAmB,CAAC;oBACxB,KAAK,EAAE,0BAA0B;oBACjC,SAAS,EAAE;wBACT,OAAO,EAAE,mBAAmB;wBAC5B,aAAa;qBACd;iBACF,CAAC,CAAA;YACJ,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;QAChB,CAAC;IACH,CAAC,CAAA;IAED,OAAO,EAAE,gBAAgB,EAAE,CAAA;AAC7B,CAAC"}
@@ -0,0 +1,6 @@
1
+ export default function useWarehouse({ warehouseId }: {
2
+ warehouseId: number;
3
+ }): {
4
+ prefixQrCode: any;
5
+ tem_name: any;
6
+ };
@@ -0,0 +1,33 @@
1
+ 'use client';
2
+ import { useEffect, useState } from 'react';
3
+ import { PHXClientQueryV3 } from '../../../../..';
4
+ import { getQrPrefixCodeQuery } from '../query';
5
+ export default function useWarehouse({ warehouseId }) {
6
+ const [warehouseData, setWarehouseData] = useState();
7
+ const getData = async () => {
8
+ var _a;
9
+ try {
10
+ const { data } = await PHXClientQueryV3({
11
+ query: getQrPrefixCodeQuery,
12
+ variables: {
13
+ id: warehouseId,
14
+ },
15
+ });
16
+ setWarehouseData((_a = data === null || data === void 0 ? void 0 : data.library_warehouse) === null || _a === void 0 ? void 0 : _a[0]);
17
+ }
18
+ catch (error) {
19
+ console.log('error', error);
20
+ }
21
+ };
22
+ useEffect(() => {
23
+ if (warehouseId) {
24
+ getData();
25
+ }
26
+ // eslint-disable-next-line react-hooks/exhaustive-deps
27
+ }, [warehouseId]);
28
+ return {
29
+ prefixQrCode: warehouseData === null || warehouseData === void 0 ? void 0 : warehouseData.qr_code_prefix,
30
+ tem_name: warehouseData === null || warehouseData === void 0 ? void 0 : warehouseData.tem_name,
31
+ };
32
+ }
33
+ //# sourceMappingURL=use-warehouse.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-warehouse.js","sourceRoot":"","sources":["../../../../../../../src/components/MainWrapV4/quick-action/library/library-return-ticket/use-warehouse.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAEZ,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAA;AAE/C,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,EAAE,WAAW,EAA2B;IAC3E,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,EAAO,CAAA;IAEzD,MAAM,OAAO,GAAG,KAAK,IAAI,EAAE;;QACzB,IAAI,CAAC;YACH,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,gBAAgB,CAAC;gBACtC,KAAK,EAAE,oBAAoB;gBAC3B,SAAS,EAAE;oBACT,EAAE,EAAE,WAAW;iBAChB;aACF,CAAC,CAAA;YAEF,gBAAgB,CAAC,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,iBAAiB,0CAAG,CAAC,CAAC,CAAC,CAAA;QAChD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;QAC7B,CAAC;IACH,CAAC,CAAA;IAED,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,WAAW,EAAE,CAAC;YAChB,OAAO,EAAE,CAAA;QACX,CAAC;QACD,uDAAuD;IACzD,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAA;IAEjB,OAAO;QACL,YAAY,EAAE,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,cAAc;QAC3C,QAAQ,EAAE,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,QAAQ;KAClC,CAAA;AACH,CAAC"}
@@ -0,0 +1,3 @@
1
+ export declare const returnBorrowBookMutation = "\n mutation returnBorrowBookMutation(\n $inWarehouseIdArray: [Int!]!\n $inBookshelfIdArray: [Int!]!\n $borrowBookIdArray: [Int!]!\n $inWarehouseStateId: Int!\n $inBookshelfStateId: Int!\n ) {\n moveBookToWarehouse: update_library_dang_ki_ca_biet(\n where: { id: { _in: $inWarehouseIdArray }}\n _set: {state_id: $inWarehouseStateId, updated_at: now}\n ) {\n affected_rows\n }\n\n moveBookToBookshelf: update_library_dang_ki_ca_biet(\n where: { id: { _in: $inBookshelfIdArray }}\n _set: {state_id: $inBookshelfStateId, updated_at: now }\n ) {\n affected_rows\n }\n\n updateBorrowBook: update_library_borrow_book(\n where: {\n id: {_in: $borrowBookIdArray}\n }\n _set: {return_date: now, updated_at: now}\n ) {\n affected_rows\n }\n }\n";
2
+ export declare const getTicketStateListQuery = "\n query getTicketStateListQuery($school_id: Int!) {\n library_ticket_state(\n where: {deleted_at: {_is_null: true}, school_id: {_eq: $school_id}}\n ) {\n name\n id\n code\n }\n }\n";
3
+ export declare const returnBorrowTicketMutation = "\n mutation returnBorrowTicketMutation($idArray: [Int!]!, $returnStateId: Int!) {\n update_library_borrow_ticket(\n where: {id: {_in: $idArray}}\n _set: {updated_at: now, ticket_state_id: $returnStateId, actual_return_date: now }\n ) {\n affected_rows\n }\n }\n";