aq-fe-framework 0.1.268 → 0.1.270

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.
@@ -24,7 +24,7 @@ import {
24
24
  useS_BasicAppShell,
25
25
  useS_authenticate,
26
26
  utils_layout_getItemsWithoutLinks
27
- } from "../chunk-X2PWPQDD.mjs";
27
+ } from "../chunk-JCIYZBMG.mjs";
28
28
  import {
29
29
  const_object_documentTypes
30
30
  } from "../chunk-GFEMKKFH.mjs";
@@ -39,7 +39,7 @@ import {
39
39
  baseAxios_default,
40
40
  useQ_AQ_GetAQModule,
41
41
  useQ_SkillCenter_GetAll
42
- } from "../chunk-L6J7NXDQ.mjs";
42
+ } from "../chunk-KKJ3OEEW.mjs";
43
43
  import {
44
44
  createGenericStore
45
45
  } from "../chunk-Y3YGC5IH.mjs";
@@ -62,9 +62,10 @@ import {
62
62
  } from "../chunk-FWCSY2DS.mjs";
63
63
 
64
64
  // src/modules-features/admin/core/core12196/F_core12196_Read.tsx
65
- import { Accordion, Blockquote } from "@mantine/core";
65
+ import { Accordion, Alert, Blockquote, Skeleton } from "@mantine/core";
66
66
  import { useQuery as useQuery2 } from "@tanstack/react-query";
67
67
  import { useMemo } from "react";
68
+ import { IconBug } from "@tabler/icons-react";
68
69
 
69
70
  // src/modules-features/admin/core/core12196/F_core12196_Delete.tsx
70
71
  import { jsx } from "react/jsx-runtime";
@@ -211,11 +212,11 @@ function F_core12196_Read({ FormTypeId }) {
211
212
  return ((_a2 = result.data) == null ? void 0 : _a2.data) || [];
212
213
  }
213
214
  });
214
- if (documentAttributeQuery.isLoading) return "Loading...";
215
- if (documentAttributeQuery.isError) return "c\xF3 l\u1ED7i x\u1EA3y ra!";
216
215
  if (((_a = documentAttributeQuery.data) == null ? void 0 : _a.length) == 0)
217
216
  return /* @__PURE__ */ jsx4(Blockquote, { color: "yellow", children: "Ch\u01B0a c\xF3 lo\u1EA1i v\u0103n b\u1EA3n" });
218
- return /* @__PURE__ */ jsx4(MyFlexColumn, { children: /* @__PURE__ */ jsx4(
217
+ if (documentAttributeQuery.isError)
218
+ return /* @__PURE__ */ jsx4(Alert, { icon: /* @__PURE__ */ jsx4(IconBug, {}), color: "red", title: "C\xF3 l\u1ED7i x\u1EA3y ra!", m: "md" });
219
+ return /* @__PURE__ */ jsx4(Skeleton, { h: 500, visible: documentAttributeQuery.isLoading, children: /* @__PURE__ */ jsx4(MyFlexColumn, { children: /* @__PURE__ */ jsx4(
219
220
  Accordion,
220
221
  {
221
222
  variant: "contained",
@@ -236,7 +237,7 @@ function F_core12196_Read({ FormTypeId }) {
236
237
  idx
237
238
  ))
238
239
  }
239
- ) });
240
+ ) }) });
240
241
  }
241
242
  function SubRead({
242
243
  name,
@@ -282,8 +283,10 @@ function SubRead({
282
283
  /* @__PURE__ */ jsx4(Accordion.Panel, { children: /* @__PURE__ */ jsx4(
283
284
  MyDataTable,
284
285
  {
286
+ isLoading: documentQuery.isLoading,
287
+ isError: documentQuery.isError,
285
288
  columns,
286
- data: documentQuery.data,
289
+ data: documentQuery.data || [],
287
290
  renderRowActions: ({ row }) => /* @__PURE__ */ jsxs2(MyCenterFull, { children: [
288
291
  /* @__PURE__ */ jsx4(
289
292
  F_core12196_Update,
@@ -617,13 +620,13 @@ function F_core16209({ RefinementTypeId }) {
617
620
  ],
618
621
  []
619
622
  );
620
- if (query.isLoading) return "Loading...";
621
- if (query.isError) return "c\xF3 l\u1ED7i x\u1EA3y ra!";
622
623
  return /* @__PURE__ */ jsx10(
623
624
  MyDataTable,
624
625
  {
626
+ isLoading: query.isLoading,
627
+ isError: query.isError,
625
628
  columns,
626
- data: query.data,
629
+ data: query.data || [],
627
630
  renderTopToolbarCustomActions: () => /* @__PURE__ */ jsx10(F_core16209_Create, { RefinementTypeId }),
628
631
  renderRowActions: ({ row }) => {
629
632
  return /* @__PURE__ */ jsxs7(MyCenterFull, { children: [
@@ -717,14 +720,14 @@ function F_core18256_Read({ documentType }) {
717
720
  ],
718
721
  []
719
722
  );
720
- if (documentAttributeQuery.isLoading) return "\u0110ang t\u1EA3i d\u1EEF li\u1EC7u...";
721
- if (documentAttributeQuery.isError) return "C\xF3 l\u1ED7i x\u1EA3y ra!";
722
723
  return /* @__PURE__ */ jsx14(
723
724
  MyDataTable,
724
725
  {
726
+ isLoading: documentAttributeQuery.isLoading,
727
+ isError: documentAttributeQuery.isError,
725
728
  columns,
726
729
  enableRowNumbers: true,
727
- data: documentAttributeQuery.data,
730
+ data: documentAttributeQuery.data || [],
728
731
  renderTopToolbarCustomActions: () => /* @__PURE__ */ jsx14(F_core18256_Create, { documentType }),
729
732
  renderRowActions: ({ row }) => {
730
733
  return /* @__PURE__ */ jsxs10(MyCenterFull, { children: [
@@ -830,8 +833,9 @@ function F_core26965_Create({
830
833
  }
831
834
 
832
835
  // src/modules-features/admin/core/core26965/F_core26965_Read.tsx
833
- import { Accordion as Accordion2, Blockquote as Blockquote2 } from "@mantine/core";
836
+ import { Accordion as Accordion2, Alert as Alert2, Blockquote as Blockquote2, Skeleton as Skeleton2 } from "@mantine/core";
834
837
  import { useQuery as useQuery5 } from "@tanstack/react-query";
838
+ import { IconBug as IconBug2 } from "@tabler/icons-react";
835
839
  import { useMemo as useMemo4 } from "react";
836
840
 
837
841
  // src/modules-features/admin/core/core26965/F_core26965_Delete.tsx
@@ -946,11 +950,11 @@ function F_core26965_Read({
946
950
  return ((_a2 = result.data) == null ? void 0 : _a2.data) || [];
947
951
  }
948
952
  });
949
- if (documentAttributeQuery.isLoading) return "Loading...";
950
- if (documentAttributeQuery.isError) return "c\xF3 l\u1ED7i x\u1EA3y ra!";
951
953
  if (((_a = documentAttributeQuery.data) == null ? void 0 : _a.length) == 0)
952
954
  return /* @__PURE__ */ jsx19(Blockquote2, { color: "yellow", children: "Ch\u01B0a c\xF3 lo\u1EA1i v\u0103n b\u1EA3n" });
953
- return /* @__PURE__ */ jsx19(MyFlexColumn, { children: /* @__PURE__ */ jsx19(
955
+ if (documentAttributeQuery.isError)
956
+ return /* @__PURE__ */ jsx19(Alert2, { icon: /* @__PURE__ */ jsx19(IconBug2, {}), color: "red", title: "C\xF3 l\u1ED7i x\u1EA3y ra!", m: "md" });
957
+ return /* @__PURE__ */ jsx19(Skeleton2, { h: 500, visible: documentAttributeQuery.isLoading, children: /* @__PURE__ */ jsx19(MyFlexColumn, { children: /* @__PURE__ */ jsx19(
954
958
  Accordion2,
955
959
  {
956
960
  variant: "contained",
@@ -971,7 +975,7 @@ function F_core26965_Read({
971
975
  idx
972
976
  ))
973
977
  }
974
- ) });
978
+ ) }) });
975
979
  }
976
980
  function SubRead2({
977
981
  name,
@@ -1010,15 +1014,15 @@ function SubRead2({
1010
1014
  ],
1011
1015
  []
1012
1016
  );
1013
- if (documentQuery.isLoading) return "Loading...";
1014
- if (documentQuery.isError) return "Error!";
1015
1017
  return /* @__PURE__ */ jsxs14(Accordion2.Item, { value: documentType.toString(), children: [
1016
1018
  /* @__PURE__ */ jsx19(Accordion2.Control, { children: name }),
1017
1019
  /* @__PURE__ */ jsx19(Accordion2.Panel, { children: /* @__PURE__ */ jsx19(
1018
1020
  MyDataTable,
1019
1021
  {
1022
+ isLoading: documentQuery.isLoading,
1023
+ isError: documentQuery.isError,
1020
1024
  columns,
1021
- data: documentQuery.data,
1025
+ data: documentQuery.data || [],
1022
1026
  renderRowActions: ({ row }) => /* @__PURE__ */ jsxs14(MyCenterFull, { children: [
1023
1027
  /* @__PURE__ */ jsx19(
1024
1028
  F_core26965_Update,
@@ -1126,8 +1130,9 @@ function F_core27311_Create({
1126
1130
  }
1127
1131
 
1128
1132
  // src/modules-features/admin/core/core27311/F_core27311_Read.tsx
1129
- import { Accordion as Accordion3, Blockquote as Blockquote3 } from "@mantine/core";
1133
+ import { Accordion as Accordion3, Alert as Alert3, Blockquote as Blockquote3, Skeleton as Skeleton3 } from "@mantine/core";
1130
1134
  import { useQuery as useQuery6 } from "@tanstack/react-query";
1135
+ import { IconBug as IconBug3 } from "@tabler/icons-react";
1131
1136
  import { useMemo as useMemo5 } from "react";
1132
1137
 
1133
1138
  // src/modules-features/admin/core/core27311/F_core27311_Delete.tsx
@@ -1242,11 +1247,11 @@ function F_core27311_Read({
1242
1247
  return ((_a2 = result.data) == null ? void 0 : _a2.data) || [];
1243
1248
  }
1244
1249
  });
1245
- if (documentAttributeQuery.isLoading) return "Loading...";
1246
- if (documentAttributeQuery.isError) return "c\xF3 l\u1ED7i x\u1EA3y ra!";
1247
1250
  if (((_a = documentAttributeQuery.data) == null ? void 0 : _a.length) == 0)
1248
1251
  return /* @__PURE__ */ jsx24(Blockquote3, { color: "yellow", children: "Ch\u01B0a c\xF3 lo\u1EA1i v\u0103n b\u1EA3n" });
1249
- return /* @__PURE__ */ jsx24(MyFlexColumn, { children: /* @__PURE__ */ jsx24(
1252
+ if (documentAttributeQuery.isError)
1253
+ return /* @__PURE__ */ jsx24(Alert3, { icon: /* @__PURE__ */ jsx24(IconBug3, {}), color: "red", title: "C\xF3 l\u1ED7i x\u1EA3y ra!", m: "md" });
1254
+ return /* @__PURE__ */ jsx24(Skeleton3, { h: 500, visible: documentAttributeQuery.isLoading, children: /* @__PURE__ */ jsx24(MyFlexColumn, { children: /* @__PURE__ */ jsx24(
1250
1255
  Accordion3,
1251
1256
  {
1252
1257
  variant: "contained",
@@ -1267,7 +1272,7 @@ function F_core27311_Read({
1267
1272
  idx
1268
1273
  ))
1269
1274
  }
1270
- ) });
1275
+ ) }) });
1271
1276
  }
1272
1277
  function SubRead3({
1273
1278
  name,
@@ -1306,15 +1311,15 @@ function SubRead3({
1306
1311
  ],
1307
1312
  []
1308
1313
  );
1309
- if (documentQuery.isLoading) return "Loading...";
1310
- if (documentQuery.isError) return "Error!";
1311
1314
  return /* @__PURE__ */ jsxs18(Accordion3.Item, { value: documentType.toString(), children: [
1312
1315
  /* @__PURE__ */ jsx24(Accordion3.Control, { children: name }),
1313
1316
  /* @__PURE__ */ jsx24(Accordion3.Panel, { children: /* @__PURE__ */ jsx24(
1314
1317
  MyDataTable,
1315
1318
  {
1319
+ isLoading: documentQuery.isLoading,
1320
+ isError: documentQuery.isError,
1316
1321
  columns,
1317
- data: documentQuery.data,
1322
+ data: documentQuery.data || [],
1318
1323
  renderRowActions: ({ row }) => /* @__PURE__ */ jsxs18(MyCenterFull, { children: [
1319
1324
  /* @__PURE__ */ jsx24(
1320
1325
  F_core27311_Update,
@@ -1534,25 +1539,25 @@ var menuData = [
1534
1539
  { pageId: 1, name: "Account management", label: "Qu\u1EA3n l\xED t\xE0i kho\u1EA3n", link: "core71678", note: "Qu\u1EA3n l\xED t\xE0i kho\u1EA3n c\u1EE7a ng\u01B0\u1EDDi d\xF9ng", status: "Prototype" },
1535
1540
  { pageId: 2, name: "Access control level", label: "Ph\xE2n quy\u1EC1n c\u1EA5p \u0111\u01A1n v\u1ECB", link: "core38677", note: "Qu\u1EA3n l\xED t\xE0i kho\u1EA3n c\u1EE7a ng\u01B0\u1EDDi d\xF9ng" },
1536
1541
  { pageId: 3, name: "Access control", label: "Ph\xE2n quy\u1EC1n s\u1EED d\u1EE5ng", link: "core83092", note: "Qu\u1EA3n l\xED t\xE0i kho\u1EA3n c\u1EE7a ng\u01B0\u1EDDi d\xF9ng" },
1537
- { pageId: 4, name: "Security regulations", label: "Quy \u0111\u1ECBnh an to\xE0n/ b\u1EA3o m\u1EADt th\xF4ng tin", link: "core76318", status: "Default" },
1538
- { pageId: 5, name: "System updates", label: "Th\xF4ng tin x\xE2y d\u1EF1ng, c\u1EA3i ti\u1EBFn, b\u1EA3o tr\xEC h\u1EC7 th\u1ED1ng", link: "core16209", status: "Default" },
1539
- { pageId: 6, name: "User guide", label: "T\xE0i li\u1EC7u h\u01B0\u1EDBng d\u1EABn s\u1EED d\u1EE5ng", link: "core40207", status: "Default" }
1542
+ { pageId: 4, name: "Security regulations", label: "Quy \u0111\u1ECBnh an to\xE0n/ b\u1EA3o m\u1EADt th\xF4ng tin", link: "core76318" },
1543
+ { pageId: 5, name: "System updates", label: "Th\xF4ng tin x\xE2y d\u1EF1ng, c\u1EA3i ti\u1EBFn, b\u1EA3o tr\xEC h\u1EC7 th\u1ED1ng", link: "core16209" },
1544
+ { pageId: 6, name: "User guide", label: "T\xE0i li\u1EC7u h\u01B0\u1EDBng d\u1EABn s\u1EED d\u1EE5ng", link: "core40207" }
1540
1545
  ]
1541
1546
  },
1542
1547
  {
1543
1548
  label: "V\u0103n b\u1EA3n - Quy \u0111\u1ECBnh",
1544
1549
  links: [
1545
- { pageId: 7, name: "Organizational regulations", label: "V\u0103n b\u1EA3n - Quy \u0111\u1ECBnh t\u1ED5 ch\u1EE9c", link: "core26965", status: "Default" },
1546
- { pageId: 8, name: "Workflow process", label: "Quy tr\xECnh x\u1EED l\xFD c\xF4ng vi\u1EC7c", link: "core27311", status: "Default" },
1547
- { pageId: 9, name: "Form templates", label: "T\xE0i li\u1EC7u bi\u1EC3u m\u1EABu", link: "core12196", status: "Default" }
1550
+ { pageId: 7, name: "Organizational regulations", label: "V\u0103n b\u1EA3n - Quy \u0111\u1ECBnh t\u1ED5 ch\u1EE9c", link: "core26965" },
1551
+ { pageId: 8, name: "Workflow process", label: "Quy tr\xECnh x\u1EED l\xFD c\xF4ng vi\u1EC7c", link: "core27311" },
1552
+ { pageId: 9, name: "Form templates", label: "T\xE0i li\u1EC7u bi\u1EC3u m\u1EABu", link: "core12196" }
1548
1553
  ]
1549
1554
  },
1550
1555
  {
1551
1556
  label: "Danh m\u1EE5c h\u1EC7 th\u1ED1ng ",
1552
1557
  links: [
1553
1558
  { pageId: 0, name: "Document categories", label: "Danh m\u1EE5c lo\u1EA1i v\u0103n b\u1EA3n", link: "core18256" },
1554
- { pageId: 0, name: "", label: "Danh m\u1EE5c c\u1EA5u h\xECnh mail", link: "core64229", status: "Default" },
1555
- { pageId: 0, name: "", label: "C\u1EA5u h\xECnh th\xF4ng tin ch\u1EE7 qu\u1EA3n", link: "core60524", status: "Default" }
1559
+ { pageId: 0, name: "", label: "Danh m\u1EE5c c\u1EA5u h\xECnh mail", link: "core64229" },
1560
+ { pageId: 0, name: "", label: "C\u1EA5u h\xECnh th\xF4ng tin ch\u1EE7 qu\u1EA3n", link: "core60524" }
1556
1561
  ]
1557
1562
  },
1558
1563
  {
@@ -1561,25 +1566,25 @@ var menuData = [
1561
1566
  { pageId: 1, name: "Account management", label: "Qu\u1EA3n l\xED t\xE0i kho\u1EA3n", link: "core71678", note: "Qu\u1EA3n l\xED t\xE0i kho\u1EA3n c\u1EE7a ng\u01B0\u1EDDi d\xF9ng", status: "Prototype" },
1562
1567
  { pageId: 2, name: "Access control level", label: "Ph\xE2n quy\u1EC1n c\u1EA5p \u0111\u01A1n v\u1ECB", link: "core38677", note: "Qu\u1EA3n l\xED t\xE0i kho\u1EA3n c\u1EE7a ng\u01B0\u1EDDi d\xF9ng" },
1563
1568
  { pageId: 3, name: "Access control", label: "Ph\xE2n quy\u1EC1n s\u1EED d\u1EE5ng", link: "core83092", note: "Qu\u1EA3n l\xED t\xE0i kho\u1EA3n c\u1EE7a ng\u01B0\u1EDDi d\xF9ng" },
1564
- { pageId: 4, name: "Security regulations", label: "Quy \u0111\u1ECBnh an to\xE0n/ b\u1EA3o m\u1EADt th\xF4ng tin", link: "core76318", status: "Default" },
1565
- { pageId: 5, name: "System updates", label: "Th\xF4ng tin x\xE2y d\u1EF1ng, c\u1EA3i ti\u1EBFn, b\u1EA3o tr\xEC h\u1EC7 th\u1ED1ng", link: "core16209", status: "Default" },
1566
- { pageId: 6, name: "User guide", label: "T\xE0i li\u1EC7u h\u01B0\u1EDBng d\u1EABn s\u1EED d\u1EE5ng", link: "core40207", status: "Default" }
1569
+ { pageId: 4, name: "Security regulations", label: "Quy \u0111\u1ECBnh an to\xE0n/ b\u1EA3o m\u1EADt th\xF4ng tin", link: "core76318" },
1570
+ { pageId: 5, name: "System updates", label: "Th\xF4ng tin x\xE2y d\u1EF1ng, c\u1EA3i ti\u1EBFn, b\u1EA3o tr\xEC h\u1EC7 th\u1ED1ng", link: "core16209" },
1571
+ { pageId: 6, name: "User guide", label: "T\xE0i li\u1EC7u h\u01B0\u1EDBng d\u1EABn s\u1EED d\u1EE5ng", link: "core40207" }
1567
1572
  ]
1568
1573
  },
1569
1574
  {
1570
1575
  label: "V\u0103n b\u1EA3n - Quy \u0111\u1ECBnh",
1571
1576
  links: [
1572
- { pageId: 7, name: "Organizational regulations", label: "V\u0103n b\u1EA3n - Quy \u0111\u1ECBnh t\u1ED5 ch\u1EE9c", link: "core26965", status: "Default" },
1573
- { pageId: 8, name: "Workflow process", label: "Quy tr\xECnh x\u1EED l\xFD c\xF4ng vi\u1EC7c", link: "core27311", status: "Default" },
1574
- { pageId: 9, name: "Form templates", label: "T\xE0i li\u1EC7u bi\u1EC3u m\u1EABu", link: "core12196", status: "Default" }
1577
+ { pageId: 7, name: "Organizational regulations", label: "V\u0103n b\u1EA3n - Quy \u0111\u1ECBnh t\u1ED5 ch\u1EE9c", link: "core26965" },
1578
+ { pageId: 8, name: "Workflow process", label: "Quy tr\xECnh x\u1EED l\xFD c\xF4ng vi\u1EC7c", link: "core27311" },
1579
+ { pageId: 9, name: "Form templates", label: "T\xE0i li\u1EC7u bi\u1EC3u m\u1EABu", link: "core12196" }
1575
1580
  ]
1576
1581
  },
1577
1582
  {
1578
1583
  label: "Danh m\u1EE5c h\u1EC7 th\u1ED1ng ",
1579
1584
  links: [
1580
1585
  { pageId: 0, name: "Document categories", label: "Danh m\u1EE5c lo\u1EA1i v\u0103n b\u1EA3n", link: "core18256" },
1581
- { pageId: 0, name: "", label: "Danh m\u1EE5c c\u1EA5u h\xECnh mail", link: "core64229", status: "Default" },
1582
- { pageId: 0, name: "", label: "C\u1EA5u h\xECnh th\xF4ng tin ch\u1EE7 qu\u1EA3n", link: "core60524", status: "Default" }
1586
+ { pageId: 0, name: "", label: "Danh m\u1EE5c c\u1EA5u h\xECnh mail", link: "core64229" },
1587
+ { pageId: 0, name: "", label: "C\u1EA5u h\xECnh th\xF4ng tin ch\u1EE7 qu\u1EA3n", link: "core60524" }
1583
1588
  ]
1584
1589
  },
1585
1590
  {
@@ -1588,25 +1593,25 @@ var menuData = [
1588
1593
  { pageId: 1, name: "Account management", label: "Qu\u1EA3n l\xED t\xE0i kho\u1EA3n", link: "core71678", note: "Qu\u1EA3n l\xED t\xE0i kho\u1EA3n c\u1EE7a ng\u01B0\u1EDDi d\xF9ng", status: "Prototype" },
1589
1594
  { pageId: 2, name: "Access control level", label: "Ph\xE2n quy\u1EC1n c\u1EA5p \u0111\u01A1n v\u1ECB", link: "core38677", note: "Qu\u1EA3n l\xED t\xE0i kho\u1EA3n c\u1EE7a ng\u01B0\u1EDDi d\xF9ng" },
1590
1595
  { pageId: 3, name: "Access control", label: "Ph\xE2n quy\u1EC1n s\u1EED d\u1EE5ng", link: "core83092", note: "Qu\u1EA3n l\xED t\xE0i kho\u1EA3n c\u1EE7a ng\u01B0\u1EDDi d\xF9ng" },
1591
- { pageId: 4, name: "Security regulations", label: "Quy \u0111\u1ECBnh an to\xE0n/ b\u1EA3o m\u1EADt th\xF4ng tin", link: "core76318", status: "Default" },
1592
- { pageId: 5, name: "System updates", label: "Th\xF4ng tin x\xE2y d\u1EF1ng, c\u1EA3i ti\u1EBFn, b\u1EA3o tr\xEC h\u1EC7 th\u1ED1ng", link: "core16209", status: "Default" },
1593
- { pageId: 6, name: "User guide", label: "T\xE0i li\u1EC7u h\u01B0\u1EDBng d\u1EABn s\u1EED d\u1EE5ng", link: "core40207", status: "Default" }
1596
+ { pageId: 4, name: "Security regulations", label: "Quy \u0111\u1ECBnh an to\xE0n/ b\u1EA3o m\u1EADt th\xF4ng tin", link: "core76318" },
1597
+ { pageId: 5, name: "System updates", label: "Th\xF4ng tin x\xE2y d\u1EF1ng, c\u1EA3i ti\u1EBFn, b\u1EA3o tr\xEC h\u1EC7 th\u1ED1ng", link: "core16209" },
1598
+ { pageId: 6, name: "User guide", label: "T\xE0i li\u1EC7u h\u01B0\u1EDBng d\u1EABn s\u1EED d\u1EE5ng", link: "core40207" }
1594
1599
  ]
1595
1600
  },
1596
1601
  {
1597
1602
  label: "V\u0103n b\u1EA3n - Quy \u0111\u1ECBnh",
1598
1603
  links: [
1599
- { pageId: 7, name: "Organizational regulations", label: "V\u0103n b\u1EA3n - Quy \u0111\u1ECBnh t\u1ED5 ch\u1EE9c", link: "core26965", status: "Default" },
1600
- { pageId: 8, name: "Workflow process", label: "Quy tr\xECnh x\u1EED l\xFD c\xF4ng vi\u1EC7c", link: "core27311", status: "Default" },
1601
- { pageId: 9, name: "Form templates", label: "T\xE0i li\u1EC7u bi\u1EC3u m\u1EABu", link: "core12196", status: "Default" }
1604
+ { pageId: 7, name: "Organizational regulations", label: "V\u0103n b\u1EA3n - Quy \u0111\u1ECBnh t\u1ED5 ch\u1EE9c", link: "core26965" },
1605
+ { pageId: 8, name: "Workflow process", label: "Quy tr\xECnh x\u1EED l\xFD c\xF4ng vi\u1EC7c", link: "core27311" },
1606
+ { pageId: 9, name: "Form templates", label: "T\xE0i li\u1EC7u bi\u1EC3u m\u1EABu", link: "core12196" }
1602
1607
  ]
1603
1608
  },
1604
1609
  {
1605
1610
  label: "Danh m\u1EE5c h\u1EC7 th\u1ED1ng ",
1606
1611
  links: [
1607
1612
  { pageId: 0, name: "Document categories", label: "Danh m\u1EE5c lo\u1EA1i v\u0103n b\u1EA3n", link: "core18256" },
1608
- { pageId: 0, name: "", label: "Danh m\u1EE5c c\u1EA5u h\xECnh mail", link: "core64229", status: "Default" },
1609
- { pageId: 0, name: "", label: "C\u1EA5u h\xECnh th\xF4ng tin ch\u1EE7 qu\u1EA3n", link: "core60524", status: "Default" }
1613
+ { pageId: 0, name: "", label: "Danh m\u1EE5c c\u1EA5u h\xECnh mail", link: "core64229" },
1614
+ { pageId: 0, name: "", label: "C\u1EA5u h\xECnh th\xF4ng tin ch\u1EE7 qu\u1EA3n", link: "core60524" }
1610
1615
  ]
1611
1616
  }
1612
1617
  ];
@@ -2009,13 +2014,13 @@ function F_core40207_Read({ GuidelineTypeId }) {
2009
2014
  ],
2010
2015
  []
2011
2016
  );
2012
- if (query.isLoading) return "Loading...";
2013
- if (query.isError) return "c\xF3 l\u1ED7i x\u1EA3y ra!";
2014
2017
  return /* @__PURE__ */ jsx34(
2015
2018
  MyDataTable,
2016
2019
  {
2020
+ isLoading: query.isLoading,
2021
+ isError: query.isError,
2017
2022
  columns,
2018
- data: query.data,
2023
+ data: query.data || [],
2019
2024
  renderTopToolbarCustomActions: () => /* @__PURE__ */ jsx34(F_core40207_Create, { GuidelineTypeId }),
2020
2025
  renderRowActions: ({ row }) => {
2021
2026
  return /* @__PURE__ */ jsxs25(MyCenterFull, { children: [
@@ -3069,13 +3074,13 @@ function F_core76318_Read({ SecurityTypeId }) {
3069
3074
  ],
3070
3075
  []
3071
3076
  );
3072
- if (query.isLoading) return "Loading...";
3073
- if (query.isError) return "c\xF3 l\u1ED7i x\u1EA3y ra!";
3074
3077
  return /* @__PURE__ */ jsx56(
3075
3078
  MyDataTable,
3076
3079
  {
3080
+ isLoading: query.isLoading,
3081
+ isError: query.isError,
3077
3082
  columns,
3078
- data: query.data,
3083
+ data: query.data || [],
3079
3084
  renderTopToolbarCustomActions: () => /* @__PURE__ */ jsx56(F_core76318_Create, { SecurityTypeId }),
3080
3085
  renderRowActions: ({ row }) => {
3081
3086
  var _a;
@@ -3443,135 +3448,1690 @@ function F_core83092({ menuData: menuData2 }) {
3443
3448
  ] });
3444
3449
  }
3445
3450
 
3446
- // src/modules-features/authenticate/F_authenticate_SplashPage.tsx
3447
- import { useRouter as useRouter2 } from "next/navigation";
3448
- import { useEffect as useEffect11 } from "react";
3449
- import { jsx as jsx62 } from "react/jsx-runtime";
3450
- function F_authenticate_SplashPage() {
3451
- const router = useRouter2();
3452
- const S_Authenticate = useS_authenticate();
3453
- useEffect11(() => {
3454
- if (S_Authenticate.state.token == "") {
3455
- router.push("/authenticate/login");
3456
- return;
3451
+ // src/modules-features/admin/core/formTemplateDocs/F_formTemplateDocs.tsx
3452
+ import { Paper as Paper7, Space as Space4 } from "@mantine/core";
3453
+
3454
+ // src/modules-features/admin/core/formTemplateDocs/F_formTemplateDocs_Create.tsx
3455
+ import { useForm as useForm20 } from "@mantine/form";
3456
+ import { jsx as jsx62, jsxs as jsxs40 } from "react/jsx-runtime";
3457
+ function F_formTemplateDocs_Create({ FormTypeId }) {
3458
+ const form = useForm20({
3459
+ mode: "uncontrolled",
3460
+ validate: {
3461
+ decisionCode: (value) => value ? null : "S\u1ED1 quy \u0111\u1ECBnh kh\xF4ng \u0111\u01B0\u1EE3c \u0111\u1EC3 tr\u1ED1ng",
3462
+ promulgateDate: (value) => value ? null : "Ng\xE0y ban h\xE0nh kh\xF4ng \u0111\u01B0\u1EE3c \u0111\u1EC3 tr\u1ED1ng",
3463
+ name: (value) => value ? null : "T\xEAn t\xE0i li\u1EC7u kh\xF4ng \u0111\u01B0\u1EE3c \u0111\u1EC3 tr\u1ED1ng",
3464
+ documentAttributeId: (value) => value ? null : "Lo\u1EA1i v\u0103n b\u1EA3n kh\xF4ng \u0111\u01B0\u1EE3c \u0111\u1EC3 tr\u1ED1ng",
3465
+ file: (value) => value ? null : "T\u1EC7p \u0111\xEDnh k\xE8m kh\xF4ng \u0111\u01B0\u1EE3c \u0111\u1EC3 tr\u1ED1ng"
3457
3466
  }
3458
- router.push("/admin/core71678");
3459
- }, [S_Authenticate.state.token]);
3460
- return /* @__PURE__ */ jsx62(MyBoxesBackground, { title: "H\u1EC7 th\u1ED1ng th\xF4ng tin qu\u1EA3n l\xED \u0111\xE0o t\u1EA1o ng\u1EAFn h\u1EA1n" });
3467
+ });
3468
+ return /* @__PURE__ */ jsxs40(
3469
+ MyButtonCreate,
3470
+ {
3471
+ objectName: "V\u0103n b\u1EA3n quy \u0111\u1ECBnh t\u1ED5 ch\u1EE9c",
3472
+ form,
3473
+ onSubmit: async (values) => {
3474
+ return await baseAxios_default.post("/Document/create", __spreadProps(__spreadValues({}, values), {
3475
+ DocumentType: const_object_documentTypes.Form,
3476
+ fileDetail: await utils_file_fileToAQDocumentType(values.file)
3477
+ }));
3478
+ },
3479
+ children: [
3480
+ /* @__PURE__ */ jsx62(
3481
+ MyTextInput,
3482
+ __spreadValues({
3483
+ withAsterisk: true,
3484
+ label: "S\u1ED1 quy \u0111\u1ECBnh"
3485
+ }, form.getInputProps("decisionCode"))
3486
+ ),
3487
+ /* @__PURE__ */ jsx62(
3488
+ MyDateInput,
3489
+ __spreadValues({
3490
+ withAsterisk: true,
3491
+ label: "Ng\xE0y ban h\xE0nh"
3492
+ }, form.getInputProps("promulgateDate"))
3493
+ ),
3494
+ /* @__PURE__ */ jsx62(
3495
+ MyTextInput,
3496
+ __spreadValues({
3497
+ withAsterisk: true,
3498
+ label: "T\xEAn t\xE0i li\u1EC7u"
3499
+ }, form.getInputProps("name"))
3500
+ ),
3501
+ /* @__PURE__ */ jsx62(
3502
+ F_core18256_Select,
3503
+ __spreadValues({
3504
+ withAsterisk: true,
3505
+ label: "Lo\u1EA1i v\u0103n b\u1EA3n",
3506
+ documentTypeId: FormTypeId
3507
+ }, form.getInputProps("documentAttributeId"))
3508
+ ),
3509
+ /* @__PURE__ */ jsx62(
3510
+ MyFileInput,
3511
+ __spreadValues({
3512
+ withAsterisk: true,
3513
+ label: "V\u0103n b\u1EA3n"
3514
+ }, form.getInputProps("file"))
3515
+ ),
3516
+ /* @__PURE__ */ jsx62(
3517
+ MyNumberInput,
3518
+ __spreadValues({
3519
+ label: "Th\u1EE9 t\u1EF1 hi\u1EC3n th\u1ECB tr\xEAn danh s\xE1ch"
3520
+ }, form.getInputProps("orderBy"))
3521
+ )
3522
+ ]
3523
+ }
3524
+ );
3461
3525
  }
3462
3526
 
3463
- // src/modules-features/authenticate/F_Authenticate_Login/F_authenticate_Login.tsx
3464
- import {
3465
- Anchor,
3466
- BackgroundImage,
3467
- Button as Button3,
3468
- Center as Center2,
3469
- Checkbox as Checkbox3,
3470
- Flex as Flex3,
3471
- Group as Group4,
3472
- Paper as Paper7,
3473
- PasswordInput as PasswordInput2,
3474
- Text as Text3,
3475
- TextInput as TextInput2,
3476
- Title
3477
- } from "@mantine/core";
3478
- import { useForm as useForm20 } from "@mantine/form";
3479
- import { useMutation as useMutation5 } from "@tanstack/react-query";
3480
- import axios from "axios";
3481
- import Link from "next/link";
3482
- import { useRouter as useRouter3 } from "next/navigation";
3483
- import { useEffect as useEffect12, useState as useState9 } from "react";
3527
+ // src/modules-features/admin/core/formTemplateDocs/F_formTemplateDocs_Read.tsx
3528
+ import { Accordion as Accordion4, Alert as Alert4, Blockquote as Blockquote4, Skeleton as Skeleton4 } from "@mantine/core";
3529
+ import { useQuery as useQuery17 } from "@tanstack/react-query";
3530
+ import { useMemo as useMemo14 } from "react";
3531
+ import { IconBug as IconBug4 } from "@tabler/icons-react";
3484
3532
 
3485
- // src/modules-features/authenticate/F_Authenticate_Login/css.module.css
3486
- var css_default = {};
3533
+ // src/modules-features/admin/core/formTemplateDocs/F_formTemplateDocs_Delete.tsx
3534
+ import { jsx as jsx63 } from "react/jsx-runtime";
3535
+ function F_formTemplateDocs_Delete({
3536
+ id,
3537
+ contextData
3538
+ }) {
3539
+ return /* @__PURE__ */ jsx63(
3540
+ MyActionIconDelete,
3541
+ {
3542
+ contextData,
3543
+ onSubmit: async () => await baseAxios_default.post("/Document/delete", { id })
3544
+ }
3545
+ );
3546
+ }
3487
3547
 
3488
- // src/modules-features/authenticate/F_Authenticate_Login/F_authenticate_Login.tsx
3489
- import { jsx as jsx63, jsxs as jsxs40 } from "react/jsx-runtime";
3490
- function F_authenticate_Login({
3491
- redirectUrlAfterLogin = "/admin/dashboard",
3492
- additionalActions,
3493
- backgroundImage = "/imgs/0/IMG0AuthBackground.png",
3494
- onSuccess
3548
+ // src/modules-features/admin/core/formTemplateDocs/F_formTemplateDocs_Update.tsx
3549
+ import { useForm as useForm21 } from "@mantine/form";
3550
+ import { jsx as jsx64, jsxs as jsxs41 } from "react/jsx-runtime";
3551
+ function F_formTemplateDocs_Update({
3552
+ values,
3553
+ FormTypeId
3495
3554
  }) {
3496
- const router = useRouter3();
3497
- const authenticate_store = useS_authenticate();
3498
- const loadingState = useState9(false);
3499
- const mutation = useM_Account_Sigin();
3500
- const form = useForm20({
3501
- initialValues: {
3502
- username: "",
3503
- password: ""
3504
- },
3555
+ var _a;
3556
+ const form = useForm21({
3557
+ initialValues: __spreadProps(__spreadValues({}, values), {
3558
+ file: new File(
3559
+ [],
3560
+ (_a = values.path) == null ? void 0 : _a.split("/")[values.path.split("/").length - 1]
3561
+ ),
3562
+ promulgateDate: new Date(values.promulgateDate)
3563
+ }),
3505
3564
  validate: {
3506
- username: (value) => value ? null : "Kh\xF4ng \u0111\u01B0\u1EE3c \u0111\u1EC3 tr\u1ED1ng",
3507
- password: (value) => value ? null : "Kh\xF4ng \u0111\u01B0\u1EE3c \u0111\u1EC3 tr\u1ED1ng"
3565
+ decisionCode: (value) => value ? null : "S\u1ED1 quy \u0111\u1ECBnh kh\xF4ng \u0111\u01B0\u1EE3c \u0111\u1EC3 tr\u1ED1ng",
3566
+ promulgateDate: (value) => value ? null : "Ng\xE0y ban h\xE0nh kh\xF4ng \u0111\u01B0\u1EE3c \u0111\u1EC3 tr\u1ED1ng",
3567
+ name: (value) => value ? null : "T\xEAn t\xE0i li\u1EC7u kh\xF4ng \u0111\u01B0\u1EE3c \u0111\u1EC3 tr\u1ED1ng",
3568
+ documentAttributeId: (value) => value ? null : "Lo\u1EA1i v\u0103n b\u1EA3n kh\xF4ng \u0111\u01B0\u1EE3c \u0111\u1EC3 tr\u1ED1ng",
3569
+ file: (value) => value ? null : "T\u1EC7p \u0111\xEDnh k\xE8m kh\xF4ng \u0111\u01B0\u1EE3c \u0111\u1EC3 tr\u1ED1ng"
3508
3570
  }
3509
3571
  });
3510
- useEffect12(() => {
3511
- var _a;
3512
- form.setValues({
3513
- username: ((_a = authenticate_store.state) == null ? void 0 : _a.username) || "",
3514
- password: ""
3515
- });
3516
- }, [authenticate_store.state.username]);
3517
- function handleSubmit(userName, passWord) {
3518
- loadingState[1](true);
3519
- mutation.mutate({
3520
- "userName": userName,
3521
- "passWord": passWord
3522
- }, {
3523
- onSuccess: (data) => {
3524
- if (data.isSuccess === false) {
3525
- form.setFieldError("username", "T\xE0i kho\u1EA3n kh\xF4ng t\u1ED3n t\u1EA1i");
3526
- loadingState[1](false);
3527
- return;
3528
- }
3529
- if (data.isSuccess == 0) {
3530
- form.setFieldError("password", data.message);
3531
- loadingState[1](false);
3532
- return;
3533
- }
3534
- authenticate_store.setProperty("code", data.data.userName);
3535
- authenticate_store.setProperty("fullName", data.data.userFullName);
3536
- authenticate_store.setProperty("userId", data.data.userId);
3537
- authenticate_store.setProperty("token", data.data.token);
3538
- if (authenticate_store.state.saveLogin == true) {
3539
- authenticate_store.setProperty("username", userName);
3540
- } else {
3541
- authenticate_store.setProperty("username", "");
3542
- }
3543
- if (onSuccess) {
3544
- onSuccess(data);
3545
- loadingState[1](false);
3546
- return;
3572
+ return /* @__PURE__ */ jsxs41(
3573
+ MyActionIconUpdate,
3574
+ {
3575
+ form,
3576
+ onSubmit: async (values2) => {
3577
+ return await baseAxios_default.post("/Document/Update", __spreadProps(__spreadValues({}, values2), {
3578
+ fileDetail: await utils_file_fileToAQDocumentType(values2.file)
3579
+ }));
3580
+ },
3581
+ children: [
3582
+ /* @__PURE__ */ jsx64(
3583
+ MyTextInput,
3584
+ __spreadValues({
3585
+ withAsterisk: true,
3586
+ label: "S\u1ED1 quy \u0111\u1ECBnh"
3587
+ }, form.getInputProps("decisionCode"))
3588
+ ),
3589
+ /* @__PURE__ */ jsx64(
3590
+ MyDateInput,
3591
+ __spreadValues({
3592
+ withAsterisk: true,
3593
+ label: "Ng\xE0y ban h\xE0nh"
3594
+ }, form.getInputProps("promulgateDate"))
3595
+ ),
3596
+ /* @__PURE__ */ jsx64(
3597
+ MyTextInput,
3598
+ __spreadValues({
3599
+ withAsterisk: true,
3600
+ label: "T\xEAn t\xE0i li\u1EC7u"
3601
+ }, form.getInputProps("name"))
3602
+ ),
3603
+ /* @__PURE__ */ jsx64(
3604
+ F_core18256_Select,
3605
+ __spreadValues({
3606
+ withAsterisk: true,
3607
+ label: "Lo\u1EA1i v\u0103n b\u1EA3n",
3608
+ documentTypeId: FormTypeId
3609
+ }, form.getInputProps("documentAttributeId"))
3610
+ ),
3611
+ /* @__PURE__ */ jsx64(
3612
+ MyFileInput,
3613
+ __spreadValues({
3614
+ withAsterisk: true,
3615
+ label: "V\u0103n b\u1EA3n"
3616
+ }, form.getInputProps("file"))
3617
+ ),
3618
+ /* @__PURE__ */ jsx64(
3619
+ MyNumberInput,
3620
+ __spreadValues({
3621
+ label: "Th\u1EE9 t\u1EF1 hi\u1EC3n th\u1ECB tr\xEAn danh s\xE1ch"
3622
+ }, form.getInputProps("orderBy"))
3623
+ )
3624
+ ]
3625
+ }
3626
+ );
3627
+ }
3628
+
3629
+ // src/modules-features/admin/core/formTemplateDocs/F_formTemplateDocs_Read.tsx
3630
+ import { jsx as jsx65, jsxs as jsxs42 } from "react/jsx-runtime";
3631
+ function F_formTemplateDocs_Read({ FormTypeId }) {
3632
+ var _a, _b, _c;
3633
+ const documentAttributeQuery = useQuery17({
3634
+ queryKey: ["F_formTemplateDocs_Read", FormTypeId],
3635
+ queryFn: async () => {
3636
+ var _a2;
3637
+ const result = await baseAxios_default.get("/DocumentAttribute/GetByType?", {
3638
+ params: { documentType: FormTypeId }
3639
+ });
3640
+ return ((_a2 = result.data) == null ? void 0 : _a2.data) || [];
3641
+ }
3642
+ });
3643
+ if (((_a = documentAttributeQuery.data) == null ? void 0 : _a.length) == 0)
3644
+ return /* @__PURE__ */ jsx65(Blockquote4, { color: "yellow", children: "Ch\u01B0a c\xF3 lo\u1EA1i v\u0103n b\u1EA3n" });
3645
+ if (documentAttributeQuery.isError)
3646
+ return /* @__PURE__ */ jsx65(Alert4, { icon: /* @__PURE__ */ jsx65(IconBug4, {}), color: "red", title: "C\xF3 l\u1ED7i x\u1EA3y ra!", m: "md" });
3647
+ return /* @__PURE__ */ jsx65(Skeleton4, { h: 500, visible: documentAttributeQuery.isLoading, children: /* @__PURE__ */ jsx65(MyFlexColumn, { children: /* @__PURE__ */ jsx65(
3648
+ Accordion4,
3649
+ {
3650
+ variant: "contained",
3651
+ defaultValue: (_b = documentAttributeQuery.data) == null ? void 0 : _b.map(
3652
+ (item) => {
3653
+ var _a2;
3654
+ return (_a2 = item.id) == null ? void 0 : _a2.toString();
3547
3655
  }
3548
- router.replace(redirectUrlAfterLogin);
3549
- }
3550
- });
3551
- }
3552
- return /* @__PURE__ */ jsx63(
3656
+ ),
3657
+ multiple: true,
3658
+ children: (_c = documentAttributeQuery.data) == null ? void 0 : _c.map((item, idx) => /* @__PURE__ */ jsx65(
3659
+ SubRead4,
3660
+ {
3661
+ name: item.name,
3662
+ documentType: item.id,
3663
+ FormTypeId
3664
+ },
3665
+ idx
3666
+ ))
3667
+ }
3668
+ ) }) });
3669
+ }
3670
+ function SubRead4({
3671
+ name,
3672
+ documentType,
3673
+ FormTypeId
3674
+ }) {
3675
+ const documentQuery = useQuery17({
3676
+ queryKey: ["SF2_3Read" + documentType],
3677
+ queryFn: async () => {
3678
+ const result = await baseAxios_default.get(
3679
+ `/Document/GetByDocumentAttribute?id=${documentType}`
3680
+ );
3681
+ return result.data.data;
3682
+ }
3683
+ });
3684
+ const columns = useMemo14(
3685
+ () => [
3686
+ {
3687
+ header: "S\u1ED1 quy \u0111\u1ECBnh",
3688
+ accessorKey: "decisionCode"
3689
+ },
3690
+ {
3691
+ header: "Ng\xE0y ban h\xE0nh",
3692
+ accessorFn: (row) => U0DateToDDMMYYYString(new Date(row.promulgateDate))
3693
+ },
3694
+ {
3695
+ header: "T\xEAn t\xE0i li\u1EC7u",
3696
+ accessorKey: "name"
3697
+ },
3698
+ {
3699
+ header: "File",
3700
+ accessorFn: (row) => {
3701
+ return /* @__PURE__ */ jsx65(MyCenterFull, { children: /* @__PURE__ */ jsx65(MyButtonViewPDF, { id: row.id }) });
3702
+ }
3703
+ }
3704
+ ],
3705
+ []
3706
+ );
3707
+ if (documentQuery.isLoading) return "Loading...";
3708
+ if (documentQuery.isError) return "Error!";
3709
+ return /* @__PURE__ */ jsxs42(Accordion4.Item, { value: documentType.toString(), children: [
3710
+ /* @__PURE__ */ jsx65(Accordion4.Control, { children: name }),
3711
+ /* @__PURE__ */ jsx65(Accordion4.Panel, { children: /* @__PURE__ */ jsx65(
3712
+ MyDataTable,
3713
+ {
3714
+ isLoading: documentQuery.isLoading,
3715
+ isError: documentQuery.isError,
3716
+ columns,
3717
+ data: documentQuery.data || [],
3718
+ renderRowActions: ({ row }) => /* @__PURE__ */ jsxs42(MyCenterFull, { children: [
3719
+ /* @__PURE__ */ jsx65(
3720
+ F_formTemplateDocs_Update,
3721
+ {
3722
+ FormTypeId,
3723
+ values: row.original
3724
+ }
3725
+ ),
3726
+ /* @__PURE__ */ jsx65(
3727
+ F_formTemplateDocs_Delete,
3728
+ {
3729
+ id: row.original.id,
3730
+ contextData: row.original.decisionCode
3731
+ }
3732
+ )
3733
+ ] })
3734
+ }
3735
+ ) })
3736
+ ] });
3737
+ }
3738
+
3739
+ // src/modules-features/admin/core/formTemplateDocs/F_formTemplateDocs.tsx
3740
+ import { jsx as jsx66, jsxs as jsxs43 } from "react/jsx-runtime";
3741
+ function F_formTemplateDocs({
3742
+ FormTypeId
3743
+ }) {
3744
+ return /* @__PURE__ */ jsxs43(Paper7, { p: "md", children: [
3745
+ /* @__PURE__ */ jsx66(MyFlexEnd, { children: /* @__PURE__ */ jsx66(F_formTemplateDocs_Create, { FormTypeId }) }),
3746
+ /* @__PURE__ */ jsx66(Space4, {}),
3747
+ /* @__PURE__ */ jsx66(F_formTemplateDocs_Read, { FormTypeId })
3748
+ ] });
3749
+ }
3750
+
3751
+ // src/modules-features/admin/core/organizationPolicyDocs/F_organizationPolicyDocs.tsx
3752
+ import { Paper as Paper8, Space as Space5 } from "@mantine/core";
3753
+
3754
+ // src/modules-features/admin/core/organizationPolicyDocs/F_organizationPolicyDocs_Create.tsx
3755
+ import { useForm as useForm22 } from "@mantine/form";
3756
+ import { jsx as jsx67, jsxs as jsxs44 } from "react/jsx-runtime";
3757
+ function F_organizationPolicyDocs_Create({
3758
+ RegulationsTypeId
3759
+ }) {
3760
+ const form = useForm22({
3761
+ mode: "uncontrolled",
3762
+ validate: {
3763
+ decisionCode: (value) => value ? null : "S\u1ED1 quy \u0111\u1ECBnh kh\xF4ng \u0111\u01B0\u1EE3c \u0111\u1EC3 tr\u1ED1ng",
3764
+ promulgateDate: (value) => value ? null : "Ng\xE0y ban h\xE0nh kh\xF4ng \u0111\u01B0\u1EE3c \u0111\u1EC3 tr\u1ED1ng",
3765
+ name: (value) => value ? null : "T\xEAn t\xE0i li\u1EC7u kh\xF4ng \u0111\u01B0\u1EE3c \u0111\u1EC3 tr\u1ED1ng",
3766
+ documentAttributeId: (value) => value ? null : "Lo\u1EA1i v\u0103n b\u1EA3n kh\xF4ng \u0111\u01B0\u1EE3c \u0111\u1EC3 tr\u1ED1ng",
3767
+ file: (value) => value ? null : "T\u1EC7p \u0111\xEDnh k\xE8m kh\xF4ng \u0111\u01B0\u1EE3c \u0111\u1EC3 tr\u1ED1ng"
3768
+ }
3769
+ });
3770
+ return /* @__PURE__ */ jsxs44(
3771
+ MyButtonCreate,
3772
+ {
3773
+ objectName: "V\u0103n b\u1EA3n quy \u0111\u1ECBnh t\u1ED5 ch\u1EE9c",
3774
+ form,
3775
+ onSubmit: async (values) => {
3776
+ return await baseAxios_default.post("/Document/create", __spreadProps(__spreadValues({}, values), {
3777
+ DocumentType: RegulationsTypeId,
3778
+ fileDetail: await utils_file_fileToAQDocumentType(values.file)
3779
+ }));
3780
+ },
3781
+ children: [
3782
+ /* @__PURE__ */ jsx67(
3783
+ MyTextInput,
3784
+ __spreadValues({
3785
+ withAsterisk: true,
3786
+ label: "S\u1ED1 quy \u0111\u1ECBnh"
3787
+ }, form.getInputProps("decisionCode"))
3788
+ ),
3789
+ /* @__PURE__ */ jsx67(
3790
+ MyDateInput,
3791
+ __spreadValues({
3792
+ withAsterisk: true,
3793
+ label: "Ng\xE0y ban h\xE0nh"
3794
+ }, form.getInputProps("promulgateDate"))
3795
+ ),
3796
+ /* @__PURE__ */ jsx67(
3797
+ MyTextInput,
3798
+ __spreadValues({
3799
+ withAsterisk: true,
3800
+ label: "T\xEAn t\xE0i li\u1EC7u"
3801
+ }, form.getInputProps("name"))
3802
+ ),
3803
+ /* @__PURE__ */ jsx67(
3804
+ F_core18256_Select,
3805
+ __spreadValues({
3806
+ withAsterisk: true,
3807
+ label: "Lo\u1EA1i v\u0103n b\u1EA3n",
3808
+ documentTypeId: RegulationsTypeId
3809
+ }, form.getInputProps("documentAttributeId"))
3810
+ ),
3811
+ /* @__PURE__ */ jsx67(
3812
+ MyFileInput,
3813
+ __spreadValues({
3814
+ withAsterisk: true,
3815
+ label: "V\u0103n b\u1EA3n"
3816
+ }, form.getInputProps("file"))
3817
+ ),
3818
+ /* @__PURE__ */ jsx67(
3819
+ MyNumberInput,
3820
+ __spreadValues({
3821
+ label: "Th\u1EE9 t\u1EF1 hi\u1EC3n th\u1ECB tr\xEAn danh s\xE1ch"
3822
+ }, form.getInputProps("orderBy"))
3823
+ )
3824
+ ]
3825
+ }
3826
+ );
3827
+ }
3828
+
3829
+ // src/modules-features/admin/core/organizationPolicyDocs/F_organizationPolicyDocs_Read.tsx
3830
+ import { Accordion as Accordion5, Alert as Alert5, Blockquote as Blockquote5, Skeleton as Skeleton5 } from "@mantine/core";
3831
+ import { useQuery as useQuery18 } from "@tanstack/react-query";
3832
+ import { IconBug as IconBug5 } from "@tabler/icons-react";
3833
+ import { useMemo as useMemo15 } from "react";
3834
+
3835
+ // src/modules-features/admin/core/organizationPolicyDocs/F_organizationPolicyDocs_Delete.tsx
3836
+ import { jsx as jsx68 } from "react/jsx-runtime";
3837
+ function F_organizationPolicyDocs_Delete({
3838
+ id,
3839
+ contextData
3840
+ }) {
3841
+ return /* @__PURE__ */ jsx68(
3842
+ MyActionIconDelete,
3843
+ {
3844
+ contextData,
3845
+ onSubmit: async () => await baseAxios_default.post("/Document/delete", { id })
3846
+ }
3847
+ );
3848
+ }
3849
+
3850
+ // src/modules-features/admin/core/organizationPolicyDocs/F_organizationPolicyDocs_Update.tsx
3851
+ import { useForm as useForm23 } from "@mantine/form";
3852
+ import { jsx as jsx69, jsxs as jsxs45 } from "react/jsx-runtime";
3853
+ function F_organizationPolicyDocs_Update({
3854
+ values,
3855
+ RegulationsTypeId
3856
+ }) {
3857
+ var _a;
3858
+ const form = useForm23({
3859
+ initialValues: __spreadProps(__spreadValues({}, values), {
3860
+ file: new File(
3861
+ [],
3862
+ (_a = values.path) == null ? void 0 : _a.split("/")[values.path.split("/").length - 1]
3863
+ ),
3864
+ promulgateDate: new Date(values.promulgateDate)
3865
+ }),
3866
+ validate: {
3867
+ decisionCode: (value) => value ? null : "S\u1ED1 quy \u0111\u1ECBnh kh\xF4ng \u0111\u01B0\u1EE3c \u0111\u1EC3 tr\u1ED1ng",
3868
+ promulgateDate: (value) => value ? null : "Ng\xE0y ban h\xE0nh kh\xF4ng \u0111\u01B0\u1EE3c \u0111\u1EC3 tr\u1ED1ng",
3869
+ name: (value) => value ? null : "T\xEAn t\xE0i li\u1EC7u kh\xF4ng \u0111\u01B0\u1EE3c \u0111\u1EC3 tr\u1ED1ng",
3870
+ documentAttributeId: (value) => value ? null : "Lo\u1EA1i v\u0103n b\u1EA3n kh\xF4ng \u0111\u01B0\u1EE3c \u0111\u1EC3 tr\u1ED1ng",
3871
+ file: (value) => value ? null : "T\u1EC7p \u0111\xEDnh k\xE8m kh\xF4ng \u0111\u01B0\u1EE3c \u0111\u1EC3 tr\u1ED1ng"
3872
+ }
3873
+ });
3874
+ return /* @__PURE__ */ jsxs45(
3875
+ MyActionIconUpdate,
3876
+ {
3877
+ form,
3878
+ onSubmit: async (values2) => {
3879
+ return await baseAxios_default.post("/Document/Update", __spreadProps(__spreadValues({}, values2), {
3880
+ fileDetail: await utils_file_fileToAQDocumentType(values2.file)
3881
+ }));
3882
+ },
3883
+ children: [
3884
+ /* @__PURE__ */ jsx69(
3885
+ MyTextInput,
3886
+ __spreadValues({
3887
+ withAsterisk: true,
3888
+ label: "S\u1ED1 quy \u0111\u1ECBnh"
3889
+ }, form.getInputProps("decisionCode"))
3890
+ ),
3891
+ /* @__PURE__ */ jsx69(
3892
+ MyDateInput,
3893
+ __spreadValues({
3894
+ withAsterisk: true,
3895
+ label: "Ng\xE0y ban h\xE0nh"
3896
+ }, form.getInputProps("promulgateDate"))
3897
+ ),
3898
+ /* @__PURE__ */ jsx69(
3899
+ MyTextInput,
3900
+ __spreadValues({
3901
+ withAsterisk: true,
3902
+ label: "T\xEAn t\xE0i li\u1EC7u"
3903
+ }, form.getInputProps("name"))
3904
+ ),
3905
+ /* @__PURE__ */ jsx69(
3906
+ F_core18256_Select,
3907
+ __spreadValues({
3908
+ withAsterisk: true,
3909
+ label: "Lo\u1EA1i v\u0103n b\u1EA3n",
3910
+ documentTypeId: RegulationsTypeId
3911
+ }, form.getInputProps("documentAttributeId"))
3912
+ ),
3913
+ /* @__PURE__ */ jsx69(
3914
+ MyFileInput,
3915
+ __spreadValues({
3916
+ withAsterisk: true,
3917
+ label: "V\u0103n b\u1EA3n"
3918
+ }, form.getInputProps("file"))
3919
+ ),
3920
+ /* @__PURE__ */ jsx69(
3921
+ MyNumberInput,
3922
+ __spreadValues({
3923
+ label: "Th\u1EE9 t\u1EF1 hi\u1EC3n th\u1ECB tr\xEAn danh s\xE1ch"
3924
+ }, form.getInputProps("orderBy"))
3925
+ )
3926
+ ]
3927
+ }
3928
+ );
3929
+ }
3930
+
3931
+ // src/modules-features/admin/core/organizationPolicyDocs/F_organizationPolicyDocs_Read.tsx
3932
+ import { jsx as jsx70, jsxs as jsxs46 } from "react/jsx-runtime";
3933
+ function F_organizationPolicyDocs_Read({
3934
+ RegulationsTypeId
3935
+ }) {
3936
+ var _a, _b, _c;
3937
+ const documentAttributeQuery = useQuery18({
3938
+ queryKey: ["F_organizationPolicyDocs_Read", RegulationsTypeId],
3939
+ queryFn: async () => {
3940
+ var _a2;
3941
+ const result = await baseAxios_default.get("/DocumentAttribute/GetByType?", {
3942
+ params: { documentType: RegulationsTypeId }
3943
+ });
3944
+ return ((_a2 = result.data) == null ? void 0 : _a2.data) || [];
3945
+ }
3946
+ });
3947
+ if (((_a = documentAttributeQuery.data) == null ? void 0 : _a.length) == 0)
3948
+ return /* @__PURE__ */ jsx70(Blockquote5, { color: "yellow", children: "Ch\u01B0a c\xF3 lo\u1EA1i v\u0103n b\u1EA3n" });
3949
+ if (documentAttributeQuery.isError)
3950
+ return /* @__PURE__ */ jsx70(Alert5, { icon: /* @__PURE__ */ jsx70(IconBug5, {}), color: "red", title: "C\xF3 l\u1ED7i x\u1EA3y ra!", m: "md" });
3951
+ return /* @__PURE__ */ jsx70(Skeleton5, { h: 500, visible: documentAttributeQuery.isLoading, children: /* @__PURE__ */ jsx70(MyFlexColumn, { children: /* @__PURE__ */ jsx70(
3952
+ Accordion5,
3953
+ {
3954
+ variant: "contained",
3955
+ defaultValue: (_b = documentAttributeQuery.data) == null ? void 0 : _b.map(
3956
+ (item) => {
3957
+ var _a2;
3958
+ return (_a2 = item.id) == null ? void 0 : _a2.toString();
3959
+ }
3960
+ ),
3961
+ multiple: true,
3962
+ children: (_c = documentAttributeQuery.data) == null ? void 0 : _c.map((item, idx) => /* @__PURE__ */ jsx70(
3963
+ SubRead5,
3964
+ {
3965
+ name: item.name,
3966
+ documentType: item.id,
3967
+ RegulationsTypeId
3968
+ },
3969
+ idx
3970
+ ))
3971
+ }
3972
+ ) }) });
3973
+ }
3974
+ function SubRead5({
3975
+ name,
3976
+ documentType,
3977
+ RegulationsTypeId
3978
+ }) {
3979
+ const documentQuery = useQuery18({
3980
+ queryKey: ["SubRead" + documentType],
3981
+ queryFn: async () => {
3982
+ const result = await baseAxios_default.get(
3983
+ `/Document/GetByDocumentAttribute?id=${documentType}`
3984
+ );
3985
+ return result.data.data;
3986
+ }
3987
+ });
3988
+ const columns = useMemo15(
3989
+ () => [
3990
+ {
3991
+ header: "S\u1ED1 quy \u0111\u1ECBnh",
3992
+ accessorKey: "decisionCode"
3993
+ },
3994
+ {
3995
+ header: "Ng\xE0y ban h\xE0nh",
3996
+ accessorFn: (row) => U0DateToDDMMYYYString(new Date(row.promulgateDate))
3997
+ },
3998
+ {
3999
+ header: "T\xEAn t\xE0i li\u1EC7u",
4000
+ accessorKey: "name"
4001
+ },
4002
+ {
4003
+ header: "File",
4004
+ accessorFn: (row) => {
4005
+ return /* @__PURE__ */ jsx70(MyCenterFull, { children: /* @__PURE__ */ jsx70(MyButtonViewPDF, { id: row.id }) });
4006
+ }
4007
+ }
4008
+ ],
4009
+ []
4010
+ );
4011
+ return /* @__PURE__ */ jsxs46(Accordion5.Item, { value: documentType.toString(), children: [
4012
+ /* @__PURE__ */ jsx70(Accordion5.Control, { children: name }),
4013
+ /* @__PURE__ */ jsx70(Accordion5.Panel, { children: /* @__PURE__ */ jsx70(
4014
+ MyDataTable,
4015
+ {
4016
+ isLoading: documentQuery.isLoading,
4017
+ isError: documentQuery.isError,
4018
+ columns,
4019
+ data: documentQuery.data || [],
4020
+ renderRowActions: ({ row }) => /* @__PURE__ */ jsxs46(MyCenterFull, { children: [
4021
+ /* @__PURE__ */ jsx70(
4022
+ F_organizationPolicyDocs_Update,
4023
+ {
4024
+ RegulationsTypeId,
4025
+ values: row.original
4026
+ }
4027
+ ),
4028
+ /* @__PURE__ */ jsx70(
4029
+ F_organizationPolicyDocs_Delete,
4030
+ {
4031
+ id: row.original.id,
4032
+ contextData: row.original.decisionCode
4033
+ }
4034
+ )
4035
+ ] })
4036
+ }
4037
+ ) })
4038
+ ] });
4039
+ }
4040
+
4041
+ // src/modules-features/admin/core/organizationPolicyDocs/F_organizationPolicyDocs.tsx
4042
+ import { jsx as jsx71, jsxs as jsxs47 } from "react/jsx-runtime";
4043
+ function F_organizationPolicyDocs({ RegulationsTypeId }) {
4044
+ return /* @__PURE__ */ jsxs47(Paper8, { p: "md", children: [
4045
+ /* @__PURE__ */ jsx71(MyFlexEnd, { children: /* @__PURE__ */ jsx71(F_organizationPolicyDocs_Create, { RegulationsTypeId }) }),
4046
+ /* @__PURE__ */ jsx71(Space5, {}),
4047
+ /* @__PURE__ */ jsx71(F_organizationPolicyDocs_Read, { RegulationsTypeId })
4048
+ ] });
4049
+ }
4050
+
4051
+ // src/modules-features/admin/core/securityPolicyDocs/F_securityPolicyDocs_Read.tsx
4052
+ import { useQuery as useQuery19 } from "@tanstack/react-query";
4053
+ import { useMemo as useMemo16 } from "react";
4054
+
4055
+ // src/modules-features/admin/core/securityPolicyDocs/F_securityPolicyDocs_Create.tsx
4056
+ import { FileInput as FileInput7 } from "@mantine/core";
4057
+ import { useForm as useForm24 } from "@mantine/form";
4058
+ import { jsx as jsx72, jsxs as jsxs48 } from "react/jsx-runtime";
4059
+ function F_securityPolicyDocs_Create({ SecurityTypeId }) {
4060
+ const form = useForm24({
4061
+ mode: "uncontrolled",
4062
+ validate: {
4063
+ decisionCode: (value) => value ? null : "Kh\xF4ng \u0111\u01B0\u1EE3c \u0111\u1EC3 tr\u1ED1ng",
4064
+ promulgateDate: (value) => value ? null : "Kh\xF4ng \u0111\u01B0\u1EE3c \u0111\u1EC3 tr\u1ED1ng",
4065
+ name: (value) => value ? null : "Kh\xF4ng \u0111\u01B0\u1EE3c \u0111\u1EC3 tr\u1ED1ng",
4066
+ file: (value) => value ? null : "Kh\xF4ng \u0111\u01B0\u1EE3c \u0111\u1EC3 tr\u1ED1ng"
4067
+ }
4068
+ });
4069
+ return /* @__PURE__ */ jsxs48(
4070
+ MyButtonCreate,
4071
+ {
4072
+ objectName: "v\u0103n b\u1EA3n",
4073
+ form,
4074
+ onSubmit: async (values) => {
4075
+ return await baseAxios_default.post("/Document/create", __spreadProps(__spreadValues({}, values), {
4076
+ DocumentType: SecurityTypeId,
4077
+ //1.4 Thông tin xây dựng, cải tiến, bảo trì hệ thống
4078
+ fileDetail: await utils_file_fileToAQDocumentType(values.file)
4079
+ }));
4080
+ },
4081
+ children: [
4082
+ /* @__PURE__ */ jsx72(
4083
+ MyTextInput,
4084
+ __spreadValues({
4085
+ withAsterisk: true,
4086
+ label: "S\u1ED1 quy \u0111\u1ECBnh"
4087
+ }, form.getInputProps("decisionCode"))
4088
+ ),
4089
+ /* @__PURE__ */ jsx72(
4090
+ MyDateInput,
4091
+ __spreadValues({
4092
+ withAsterisk: true,
4093
+ label: "Ng\xE0y ban h\xE0nh"
4094
+ }, form.getInputProps("promulgateDate"))
4095
+ ),
4096
+ /* @__PURE__ */ jsx72(
4097
+ MyTextInput,
4098
+ __spreadValues({
4099
+ withAsterisk: true,
4100
+ label: "T\xEAn t\xE0i li\u1EC7u"
4101
+ }, form.getInputProps("name"))
4102
+ ),
4103
+ /* @__PURE__ */ jsx72(
4104
+ FileInput7,
4105
+ __spreadValues({
4106
+ withAsterisk: true,
4107
+ placeholder: "T\u1EA3i l\xEAn t\xE0i li\u1EC7u",
4108
+ label: "T\xE0i li\u1EC7u"
4109
+ }, form.getInputProps("file"))
4110
+ )
4111
+ ]
4112
+ }
4113
+ );
4114
+ }
4115
+
4116
+ // src/modules-features/admin/core/securityPolicyDocs/F_securityPolicyDocs_Delete.tsx
4117
+ import { jsx as jsx73 } from "react/jsx-runtime";
4118
+ function F_securityPolicyDocs_Delete({
4119
+ id,
4120
+ contextData
4121
+ }) {
4122
+ return /* @__PURE__ */ jsx73(
4123
+ MyActionIconDelete,
4124
+ {
4125
+ contextData,
4126
+ onSubmit: () => baseAxios_default.post("/Document/delete", { id })
4127
+ }
4128
+ );
4129
+ }
4130
+
4131
+ // src/modules-features/admin/core/securityPolicyDocs/F_securityPolicyDocs_Update.tsx
4132
+ import { FileInput as FileInput8, TextInput as TextInput2 } from "@mantine/core";
4133
+ import { useForm as useForm25 } from "@mantine/form";
4134
+ import { jsx as jsx74, jsxs as jsxs49 } from "react/jsx-runtime";
4135
+ function F_securityPolicyDocs_Update({ values }) {
4136
+ var _a;
4137
+ const form = useForm25({
4138
+ mode: "uncontrolled",
4139
+ initialValues: __spreadProps(__spreadValues({}, values), {
4140
+ file: new File(
4141
+ [],
4142
+ (_a = values.path) == null ? void 0 : _a.split("/")[values.path.split("/").length - 1]
4143
+ ),
4144
+ promulgateDate: new Date(values.promulgateDate)
4145
+ }),
4146
+ validate: {
4147
+ decisionCode: (value) => value ? null : "Kh\xF4ng \u0111\u01B0\u1EE3c \u0111\u1EC3 tr\u1ED1ng",
4148
+ promulgateDate: (value) => value ? null : "Kh\xF4ng \u0111\u01B0\u1EE3c \u0111\u1EC3 tr\u1ED1ng",
4149
+ name: (value) => value ? null : "Kh\xF4ng \u0111\u01B0\u1EE3c \u0111\u1EC3 tr\u1ED1ng",
4150
+ file: (value) => value ? null : "Kh\xF4ng \u0111\u01B0\u1EE3c \u0111\u1EC3 tr\u1ED1ng"
4151
+ }
4152
+ });
4153
+ return /* @__PURE__ */ jsxs49(
4154
+ MyActionIconUpdate,
4155
+ {
4156
+ form,
4157
+ onSubmit: async (values2) => {
4158
+ return await baseAxios_default.post("/Document/Update", __spreadProps(__spreadValues({}, values2), {
4159
+ fileDetail: await utils_file_fileToAQDocumentType(values2.file)
4160
+ }));
4161
+ },
4162
+ children: [
4163
+ /* @__PURE__ */ jsx74(
4164
+ TextInput2,
4165
+ __spreadValues({
4166
+ withAsterisk: true,
4167
+ label: "S\u1ED1 quy \u0111\u1ECBnh"
4168
+ }, form.getInputProps("decisionCode"))
4169
+ ),
4170
+ /* @__PURE__ */ jsx74(
4171
+ MyDateInput,
4172
+ __spreadValues({
4173
+ withAsterisk: true,
4174
+ label: "Ng\xE0y ban h\xE0nh"
4175
+ }, form.getInputProps("promulgateDate"))
4176
+ ),
4177
+ /* @__PURE__ */ jsx74(
4178
+ TextInput2,
4179
+ __spreadValues({
4180
+ withAsterisk: true,
4181
+ label: "T\xEAn t\xE0i li\u1EC7u"
4182
+ }, form.getInputProps("name"))
4183
+ ),
4184
+ /* @__PURE__ */ jsx74(
4185
+ FileInput8,
4186
+ __spreadValues({
4187
+ withAsterisk: true,
4188
+ label: "Ch\u1ECDn file"
4189
+ }, form.getInputProps("file"))
4190
+ )
4191
+ ]
4192
+ }
4193
+ );
4194
+ }
4195
+
4196
+ // src/modules-features/admin/core/securityPolicyDocs/F_securityPolicyDocs_Read.tsx
4197
+ import { jsx as jsx75, jsxs as jsxs50 } from "react/jsx-runtime";
4198
+ function F_securityPolicyDocs_Read({ SecurityTypeId }) {
4199
+ const query = useQuery19({
4200
+ queryKey: ["F_securityPolicyDocs_Read"],
4201
+ queryFn: async () => {
4202
+ var _a;
4203
+ const result = await baseAxios_default.get(
4204
+ `/Document/GetByType?documentType=${SecurityTypeId}`
4205
+ );
4206
+ return ((_a = result.data) == null ? void 0 : _a.data) || [];
4207
+ }
4208
+ });
4209
+ const columns = useMemo16(
4210
+ () => [
4211
+ {
4212
+ header: "S\u1ED1 quy \u0111\u1ECBnh",
4213
+ accessorKey: "decisionCode"
4214
+ },
4215
+ {
4216
+ header: "Ng\xE0y ban h\xE0nh",
4217
+ accessorFn: (row) => U0DateToDDMMYYYString(new Date(row.promulgateDate))
4218
+ },
4219
+ {
4220
+ header: "T\xEAn t\xE0i li\u1EC7u",
4221
+ accessorKey: "name"
4222
+ },
4223
+ {
4224
+ header: "File",
4225
+ accessorFn: (row) => {
4226
+ return /* @__PURE__ */ jsx75(MyCenterFull, { children: /* @__PURE__ */ jsx75(MyButtonViewPDF, { id: row.id }) });
4227
+ }
4228
+ }
4229
+ ],
4230
+ []
4231
+ );
4232
+ return /* @__PURE__ */ jsx75(
4233
+ MyDataTable,
4234
+ {
4235
+ isLoading: query.isLoading,
4236
+ isError: query.isError,
4237
+ columns,
4238
+ data: query.data || [],
4239
+ renderTopToolbarCustomActions: () => /* @__PURE__ */ jsx75(F_securityPolicyDocs_Create, { SecurityTypeId }),
4240
+ renderRowActions: ({ row }) => {
4241
+ var _a;
4242
+ return /* @__PURE__ */ jsxs50(MyCenterFull, { children: [
4243
+ /* @__PURE__ */ jsx75(F_securityPolicyDocs_Update, { values: row.original }),
4244
+ /* @__PURE__ */ jsx75(
4245
+ F_securityPolicyDocs_Delete,
4246
+ {
4247
+ id: row.original.id,
4248
+ contextData: (_a = row.original.decisionCode) == null ? void 0 : _a.toString()
4249
+ }
4250
+ )
4251
+ ] });
4252
+ }
4253
+ }
4254
+ );
4255
+ }
4256
+
4257
+ // src/modules-features/admin/core/securityPolicyDocs/F_securityPolicyDocs.tsx
4258
+ import { jsx as jsx76 } from "react/jsx-runtime";
4259
+ function F_securityPolicyDocs({ SecurityTypeId }) {
4260
+ return /* @__PURE__ */ jsx76(F_securityPolicyDocs_Read, { SecurityTypeId });
4261
+ }
4262
+
4263
+ // src/modules-features/admin/core/systemUpdateDocs/F_systemUpdateDocs.tsx
4264
+ import { useQuery as useQuery20 } from "@tanstack/react-query";
4265
+ import { useMemo as useMemo17 } from "react";
4266
+
4267
+ // src/modules-features/admin/core/systemUpdateDocs/F_systemUpdateDocs_Create.tsx
4268
+ import { FileInput as FileInput9, Textarea as Textarea3 } from "@mantine/core";
4269
+ import { useForm as useForm26 } from "@mantine/form";
4270
+ import { jsx as jsx77, jsxs as jsxs51 } from "react/jsx-runtime";
4271
+ function F_systemUpdateDocs_Create({
4272
+ RefinementTypeId
4273
+ }) {
4274
+ const form = useForm26({
4275
+ mode: "uncontrolled",
4276
+ validate: {
4277
+ meetingDate: (value) => value ? null : "Kh\xF4ng \u0111\u01B0\u1EE3c \u0111\u1EC3 tr\u1ED1ng",
4278
+ departmentName: (value) => value ? null : "Kh\xF4ng \u0111\u01B0\u1EE3c \u0111\u1EC3 tr\u1ED1ng",
4279
+ description: (value) => value ? null : "Kh\xF4ng \u0111\u01B0\u1EE3c \u0111\u1EC3 tr\u1ED1ng",
4280
+ file: (value) => value ? null : "Kh\xF4ng \u0111\u01B0\u1EE3c \u0111\u1EC3 tr\u1ED1ng",
4281
+ startDate: (value) => value ? null : "Kh\xF4ng \u0111\u01B0\u1EE3c \u0111\u1EC3 tr\u1ED1ng",
4282
+ endDate: (value, values) => value && values.startDate && new Date(value) > new Date(values.startDate) ? null : "Ng\xE0y k\u1EBFt th\xFAc ph\u1EA3i l\u1EDBn h\u01A1n ng\xE0y b\u1EAFt \u0111\u1EA7u"
4283
+ }
4284
+ });
4285
+ return /* @__PURE__ */ jsxs51(
4286
+ MyButtonCreate,
4287
+ {
4288
+ objectName: "v\u0103n b\u1EA3n",
4289
+ form,
4290
+ onSubmit: async (values) => {
4291
+ return await baseAxios_default.post("/Document/create", __spreadProps(__spreadValues({}, values), {
4292
+ DocumentType: RefinementTypeId,
4293
+ //1.4 Thông tin xây dựng, cải tiến, bảo trì hệ thống
4294
+ fileDetail: await utils_file_fileToAQDocumentType(values.file)
4295
+ }));
4296
+ },
4297
+ children: [
4298
+ /* @__PURE__ */ jsx77(
4299
+ MyDateInput,
4300
+ __spreadValues({
4301
+ withAsterisk: true,
4302
+ label: "Ng\xE0y h\u1ECDp"
4303
+ }, form.getInputProps("meetingDate"))
4304
+ ),
4305
+ /* @__PURE__ */ jsx77(
4306
+ MyTextInput,
4307
+ __spreadValues({
4308
+ withAsterisk: true,
4309
+ label: "\u0110\u01A1n v\u1ECB y\xEAu c\u1EA7u"
4310
+ }, form.getInputProps("departmentName"))
4311
+ ),
4312
+ /* @__PURE__ */ jsx77(
4313
+ MyTextInput,
4314
+ __spreadValues({
4315
+ withAsterisk: true,
4316
+ label: "N\u1ED9i dung c\u1EA3i ti\u1EBFn"
4317
+ }, form.getInputProps("description"))
4318
+ ),
4319
+ /* @__PURE__ */ jsx77(MyTextInput, __spreadValues({ label: "K\u1EBFt lu\u1EADn" }, form.getInputProps("conclusion"))),
4320
+ /* @__PURE__ */ jsx77(
4321
+ MyDateInput,
4322
+ __spreadValues({
4323
+ withAsterisk: true,
4324
+ label: "Ng\xE0y b\u1EAFt \u0111\u1EA7u"
4325
+ }, form.getInputProps("startDate"))
4326
+ ),
4327
+ /* @__PURE__ */ jsx77(
4328
+ MyDateInput,
4329
+ __spreadValues({
4330
+ withAsterisk: true,
4331
+ label: "Ng\xE0y k\u1EBFt th\xFAc"
4332
+ }, form.getInputProps("endDate"))
4333
+ ),
4334
+ /* @__PURE__ */ jsx77(
4335
+ FileInput9,
4336
+ __spreadValues({
4337
+ placeholder: "T\u1EA3i l\xEAn t\xE0i li\u1EC7u",
4338
+ withAsterisk: true,
4339
+ label: "T\xE0i li\u1EC7u"
4340
+ }, form.getInputProps("file"))
4341
+ ),
4342
+ /* @__PURE__ */ jsx77(Textarea3, __spreadValues({ label: "Ghi ch\xFA" }, form.getInputProps("note")))
4343
+ ]
4344
+ }
4345
+ );
4346
+ }
4347
+
4348
+ // src/modules-features/admin/core/systemUpdateDocs/F_systemUpdateDocs_Delete.tsx
4349
+ import { jsx as jsx78 } from "react/jsx-runtime";
4350
+ function F_systemUpdateDocs_Delete({
4351
+ id,
4352
+ contextData
4353
+ }) {
4354
+ return /* @__PURE__ */ jsx78(
4355
+ MyActionIconDelete,
4356
+ {
4357
+ contextData,
4358
+ onSubmit: () => baseAxios_default.post("/Document/delete", { id })
4359
+ }
4360
+ );
4361
+ }
4362
+
4363
+ // src/modules-features/admin/core/systemUpdateDocs/F_systemUpdateDocs_Update.tsx
4364
+ import { FileInput as FileInput10, Textarea as Textarea4 } from "@mantine/core";
4365
+ import { useForm as useForm27 } from "@mantine/form";
4366
+ import { jsx as jsx79, jsxs as jsxs52 } from "react/jsx-runtime";
4367
+ function F_systemUpdateDocs_Update({ values }) {
4368
+ var _a;
4369
+ const form = useForm27({
4370
+ mode: "uncontrolled",
4371
+ initialValues: __spreadProps(__spreadValues({}, values), {
4372
+ file: new File(
4373
+ [],
4374
+ (_a = values.path) == null ? void 0 : _a.split("/")[values.path.split("/").length - 1]
4375
+ ),
4376
+ startDate: new Date(values.startDate),
4377
+ endDate: new Date(values.endDate),
4378
+ meetingDate: new Date(values.meetingDate)
4379
+ }),
4380
+ validate: {
4381
+ meetingDate: (value) => value ? null : "Kh\xF4ng \u0111\u01B0\u1EE3c \u0111\u1EC3 tr\u1ED1ng",
4382
+ departmentName: (value) => value ? null : "Kh\xF4ng \u0111\u01B0\u1EE3c \u0111\u1EC3 tr\u1ED1ng",
4383
+ description: (value) => value ? null : "Kh\xF4ng \u0111\u01B0\u1EE3c \u0111\u1EC3 tr\u1ED1ng",
4384
+ file: (value) => value ? null : "Kh\xF4ng \u0111\u01B0\u1EE3c \u0111\u1EC3 tr\u1ED1ng",
4385
+ startDate: (value) => value ? null : "Kh\xF4ng \u0111\u01B0\u1EE3c \u0111\u1EC3 tr\u1ED1ng",
4386
+ endDate: (value, values2) => value && values2.startDate && new Date(value) > new Date(values2.startDate) ? null : "Ng\xE0y k\u1EBFt th\xFAc ph\u1EA3i l\u1EDBn h\u01A1n ng\xE0y b\u1EAFt \u0111\u1EA7u"
4387
+ }
4388
+ });
4389
+ return /* @__PURE__ */ jsxs52(
4390
+ MyActionIconUpdate,
4391
+ {
4392
+ form,
4393
+ onSubmit: async (values2) => {
4394
+ return await baseAxios_default.post("/Document/Update", __spreadProps(__spreadValues({}, values2), {
4395
+ fileDetail: await utils_file_fileToAQDocumentType(values2.file)
4396
+ }));
4397
+ },
4398
+ children: [
4399
+ /* @__PURE__ */ jsx79(
4400
+ MyDateInput,
4401
+ __spreadValues({
4402
+ withAsterisk: true,
4403
+ label: "Ng\xE0y h\u1ECDp"
4404
+ }, form.getInputProps("meetingDate"))
4405
+ ),
4406
+ /* @__PURE__ */ jsx79(
4407
+ MyTextInput,
4408
+ __spreadValues({
4409
+ withAsterisk: true,
4410
+ label: "\u0110\u01A1n v\u1ECB y\xEAu c\u1EA7u"
4411
+ }, form.getInputProps("departmentName"))
4412
+ ),
4413
+ /* @__PURE__ */ jsx79(
4414
+ MyTextInput,
4415
+ __spreadValues({
4416
+ withAsterisk: true,
4417
+ label: "N\u1ED9i dung c\u1EA3i ti\u1EBFn"
4418
+ }, form.getInputProps("description"))
4419
+ ),
4420
+ /* @__PURE__ */ jsx79(MyTextInput, __spreadValues({ label: "K\u1EBFt lu\u1EADn" }, form.getInputProps("conclusion"))),
4421
+ /* @__PURE__ */ jsx79(
4422
+ MyDateInput,
4423
+ __spreadValues({
4424
+ withAsterisk: true,
4425
+ label: "Ng\xE0y b\u1EAFt \u0111\u1EA7u"
4426
+ }, form.getInputProps("startDate"))
4427
+ ),
4428
+ /* @__PURE__ */ jsx79(
4429
+ MyDateInput,
4430
+ __spreadValues({
4431
+ withAsterisk: true,
4432
+ label: "Ng\xE0y k\u1EBFt th\xFAc"
4433
+ }, form.getInputProps("endDate"))
4434
+ ),
4435
+ /* @__PURE__ */ jsx79(
4436
+ FileInput10,
4437
+ __spreadValues({
4438
+ placeholder: "T\u1EA3i l\xEAn t\xE0i li\u1EC7u",
4439
+ withAsterisk: true,
4440
+ label: "T\xE0i li\u1EC7u"
4441
+ }, form.getInputProps("file"))
4442
+ ),
4443
+ /* @__PURE__ */ jsx79(Textarea4, __spreadValues({ label: "Ghi ch\xFA" }, form.getInputProps("note")))
4444
+ ]
4445
+ }
4446
+ );
4447
+ }
4448
+
4449
+ // src/modules-features/admin/core/systemUpdateDocs/F_systemUpdateDocs.tsx
4450
+ import { jsx as jsx80, jsxs as jsxs53 } from "react/jsx-runtime";
4451
+ function F_systemUpdateDocs({ RefinementTypeId }) {
4452
+ const query = useQuery20({
4453
+ queryKey: ["F_systemUpdateDocs_Read"],
4454
+ queryFn: async () => {
4455
+ var _a;
4456
+ const result = await baseAxios_default.get(
4457
+ `/Document/GetByType?documentType=${RefinementTypeId}`
4458
+ );
4459
+ return ((_a = result.data) == null ? void 0 : _a.data) || [];
4460
+ }
4461
+ });
4462
+ const columns = useMemo17(
4463
+ () => [
4464
+ {
4465
+ header: "\u0110\u01A1n v\u1ECB y\xEAu c\u1EA7u",
4466
+ accessorKey: "departmentName"
4467
+ },
4468
+ {
4469
+ header: "N\u1ED9i dung c\u1EA3i ti\u1EBFn",
4470
+ accessorKey: "description"
4471
+ },
4472
+ {
4473
+ header: "Ng\xE0y b\u1EAFt \u0111\u1EA7u",
4474
+ accessorFn: (row) => U0DateToDDMMYYYString(new Date(row.startDate))
4475
+ },
4476
+ {
4477
+ header: "Ng\xE0y k\u1EBFt th\xFAc",
4478
+ accessorFn: (row) => U0DateToDDMMYYYString(new Date(row.endDate))
4479
+ },
4480
+ {
4481
+ header: "File",
4482
+ accessorFn: (row) => {
4483
+ return /* @__PURE__ */ jsx80(MyCenterFull, { children: /* @__PURE__ */ jsx80(MyButtonViewPDF, { id: row.id }) });
4484
+ }
4485
+ }
4486
+ ],
4487
+ []
4488
+ );
4489
+ return /* @__PURE__ */ jsx80(
4490
+ MyDataTable,
4491
+ {
4492
+ isLoading: query.isLoading,
4493
+ isError: query.isError,
4494
+ columns,
4495
+ data: query.data || [],
4496
+ renderTopToolbarCustomActions: () => /* @__PURE__ */ jsx80(F_systemUpdateDocs_Create, { RefinementTypeId }),
4497
+ renderRowActions: ({ row }) => {
4498
+ return /* @__PURE__ */ jsxs53(MyCenterFull, { children: [
4499
+ /* @__PURE__ */ jsx80(F_systemUpdateDocs_Update, { values: row.original }),
4500
+ /* @__PURE__ */ jsx80(
4501
+ F_systemUpdateDocs_Delete,
4502
+ {
4503
+ id: row.original.id,
4504
+ contextData: row.original.departmentName
4505
+ }
4506
+ )
4507
+ ] });
4508
+ }
4509
+ }
4510
+ );
4511
+ }
4512
+
4513
+ // src/modules-features/admin/core/userGuideDocs/F_userGuideDocs_Read.tsx
4514
+ import { useQuery as useQuery21 } from "@tanstack/react-query";
4515
+ import { useMemo as useMemo18 } from "react";
4516
+
4517
+ // src/modules-features/admin/core/userGuideDocs/F_userGuideDocs_Create.tsx
4518
+ import { FileInput as FileInput11 } from "@mantine/core";
4519
+ import { useForm as useForm28 } from "@mantine/form";
4520
+ import { jsx as jsx81, jsxs as jsxs54 } from "react/jsx-runtime";
4521
+ function F_userGuideDocs_Create({ GuidelineTypeId }) {
4522
+ const form = useForm28({
4523
+ mode: "uncontrolled",
4524
+ validate: {
4525
+ code: (value) => value ? null : "Kh\xF4ng \u0111\u01B0\u1EE3c \u0111\u1EC3 tr\u1ED1ng",
4526
+ name: (value) => value ? null : "Kh\xF4ng \u0111\u01B0\u1EE3c \u0111\u1EC3 tr\u1ED1ng",
4527
+ file: (value) => value ? null : "Kh\xF4ng \u0111\u01B0\u1EE3c \u0111\u1EC3 tr\u1ED1ng"
4528
+ }
4529
+ });
4530
+ return /* @__PURE__ */ jsxs54(
4531
+ MyButtonCreate,
4532
+ {
4533
+ objectName: "v\u0103n b\u1EA3n",
4534
+ form,
4535
+ onSubmit: async (values) => {
4536
+ return await baseAxios_default.post("/Document/create", __spreadProps(__spreadValues({}, values), {
4537
+ DocumentType: GuidelineTypeId,
4538
+ //1.4 Thông tin xây dựng, cải tiến, bảo trì hệ thống
4539
+ fileDetail: await utils_file_fileToAQDocumentType(values.file)
4540
+ }));
4541
+ },
4542
+ children: [
4543
+ /* @__PURE__ */ jsx81(
4544
+ MyTextInput,
4545
+ __spreadValues({
4546
+ withAsterisk: true,
4547
+ label: "M\xE3 t\xE0i li\u1EC7u"
4548
+ }, form.getInputProps("code"))
4549
+ ),
4550
+ /* @__PURE__ */ jsx81(
4551
+ MyTextInput,
4552
+ __spreadValues({
4553
+ withAsterisk: true,
4554
+ label: "T\xEAn t\xE0i li\u1EC7u"
4555
+ }, form.getInputProps("name"))
4556
+ ),
4557
+ /* @__PURE__ */ jsx81(
4558
+ FileInput11,
4559
+ __spreadValues({
4560
+ withAsterisk: true,
4561
+ label: "T\xE0i li\u1EC7u",
4562
+ placeholder: "T\u1EA3i l\xEAn t\xE0i li\u1EC7u"
4563
+ }, form.getInputProps("file"))
4564
+ )
4565
+ ]
4566
+ }
4567
+ );
4568
+ }
4569
+
4570
+ // src/modules-features/admin/core/userGuideDocs/F_userGuideDocs_Delete.tsx
4571
+ import { jsx as jsx82 } from "react/jsx-runtime";
4572
+ function F_userGuideDocs_Delete({
4573
+ id,
4574
+ contextData
4575
+ }) {
4576
+ return /* @__PURE__ */ jsx82(
4577
+ MyActionIconDelete,
4578
+ {
4579
+ contextData,
4580
+ onSubmit: () => baseAxios_default.post("/Document/delete", { id })
4581
+ }
4582
+ );
4583
+ }
4584
+
4585
+ // src/modules-features/admin/core/userGuideDocs/F_userGuideDocs_Update.tsx
4586
+ import { FileInput as FileInput12 } from "@mantine/core";
4587
+ import { useForm as useForm29 } from "@mantine/form";
4588
+ import { jsx as jsx83, jsxs as jsxs55 } from "react/jsx-runtime";
4589
+ function F_userGuideDocs_Update({ values }) {
4590
+ var _a;
4591
+ const form = useForm29({
4592
+ mode: "uncontrolled",
4593
+ initialValues: __spreadProps(__spreadValues({}, values), {
4594
+ file: new File(
4595
+ [],
4596
+ (_a = values.path) == null ? void 0 : _a.split("/")[values.path.split("/").length - 1]
4597
+ )
4598
+ }),
4599
+ validate: {
4600
+ code: (value) => value ? null : "Kh\xF4ng \u0111\u01B0\u1EE3c \u0111\u1EC3 tr\u1ED1ng",
4601
+ name: (value) => value ? null : "Kh\xF4ng \u0111\u01B0\u1EE3c \u0111\u1EC3 tr\u1ED1ng",
4602
+ file: (value) => value ? null : "Kh\xF4ng \u0111\u01B0\u1EE3c \u0111\u1EC3 tr\u1ED1ng"
4603
+ }
4604
+ });
4605
+ return /* @__PURE__ */ jsxs55(
4606
+ MyActionIconUpdate,
4607
+ {
4608
+ form,
4609
+ onSubmit: async (values2) => {
4610
+ return await baseAxios_default.post("/Document/Update", __spreadProps(__spreadValues({}, values2), {
4611
+ fileDetail: await utils_file_fileToAQDocumentType(values2.file)
4612
+ }));
4613
+ },
4614
+ children: [
4615
+ /* @__PURE__ */ jsx83(
4616
+ MyTextInput,
4617
+ __spreadValues({
4618
+ withAsterisk: true,
4619
+ label: "M\xE3 t\xE0i li\u1EC7u"
4620
+ }, form.getInputProps("code"))
4621
+ ),
4622
+ /* @__PURE__ */ jsx83(
4623
+ MyTextInput,
4624
+ __spreadValues({
4625
+ withAsterisk: true,
4626
+ label: "T\xEAn t\xE0i li\u1EC7u"
4627
+ }, form.getInputProps("name"))
4628
+ ),
4629
+ /* @__PURE__ */ jsx83(
4630
+ FileInput12,
4631
+ __spreadValues({
4632
+ withAsterisk: true,
4633
+ label: "T\xE0i li\u1EC7u",
4634
+ placeholder: "T\u1EA3i l\xEAn t\xE0i li\u1EC7u"
4635
+ }, form.getInputProps("file"))
4636
+ )
4637
+ ]
4638
+ }
4639
+ );
4640
+ }
4641
+
4642
+ // src/modules-features/admin/core/userGuideDocs/F_userGuideDocs_Read.tsx
4643
+ import { jsx as jsx84, jsxs as jsxs56 } from "react/jsx-runtime";
4644
+ function F_userGuideDocs_Read({ GuidelineTypeId }) {
4645
+ const query = useQuery21({
4646
+ queryKey: ["F_userGuideDocs_Read"],
4647
+ queryFn: async () => {
4648
+ var _a;
4649
+ const result = await baseAxios_default.get(
4650
+ `/Document/GetByType?documentType=${GuidelineTypeId}`
4651
+ );
4652
+ return ((_a = result.data) == null ? void 0 : _a.data) || [];
4653
+ }
4654
+ });
4655
+ const columns = useMemo18(
4656
+ () => [
4657
+ {
4658
+ header: "M\xE3 t\xE0i li\u1EC7u",
4659
+ accessorKey: "code"
4660
+ },
4661
+ {
4662
+ header: "T\xEAn t\xE0i li\u1EC7u",
4663
+ accessorKey: "name"
4664
+ },
4665
+ {
4666
+ header: "File",
4667
+ accessorFn: (row) => {
4668
+ return /* @__PURE__ */ jsx84(MyCenterFull, { children: /* @__PURE__ */ jsx84(MyButtonViewPDF, { id: row.id }) });
4669
+ }
4670
+ }
4671
+ ],
4672
+ []
4673
+ );
4674
+ return /* @__PURE__ */ jsx84(
4675
+ MyDataTable,
4676
+ {
4677
+ isLoading: query.isLoading,
4678
+ isError: query.isError,
4679
+ columns,
4680
+ data: query.data || [],
4681
+ renderTopToolbarCustomActions: () => /* @__PURE__ */ jsx84(F_userGuideDocs_Create, { GuidelineTypeId }),
4682
+ renderRowActions: ({ row }) => {
4683
+ return /* @__PURE__ */ jsxs56(MyCenterFull, { children: [
4684
+ /* @__PURE__ */ jsx84(F_userGuideDocs_Update, { values: row.original }),
4685
+ /* @__PURE__ */ jsx84(
4686
+ F_userGuideDocs_Delete,
4687
+ {
4688
+ id: row.original.id,
4689
+ contextData: row.original.code
4690
+ }
4691
+ )
4692
+ ] });
4693
+ }
4694
+ }
4695
+ );
4696
+ }
4697
+
4698
+ // src/modules-features/admin/core/userGuideDocs/F_userGuideDocs.tsx
4699
+ import { jsx as jsx85 } from "react/jsx-runtime";
4700
+ function F_userGuideDocs({ GuidelineTypeId }) {
4701
+ return /* @__PURE__ */ jsx85(F_userGuideDocs_Read, { GuidelineTypeId });
4702
+ }
4703
+
4704
+ // src/modules-features/admin/core/workflowProcessDocs/F_workflowProcessDocs.tsx
4705
+ import { Paper as Paper9, Space as Space6 } from "@mantine/core";
4706
+
4707
+ // src/modules-features/admin/core/workflowProcessDocs/F_workflowProcessDocs_Create.tsx
4708
+ import { useForm as useForm30 } from "@mantine/form";
4709
+ import { jsx as jsx86, jsxs as jsxs57 } from "react/jsx-runtime";
4710
+ function F_workflowProcessDocs_Create({
4711
+ WorkflowTypeId
4712
+ }) {
4713
+ const form = useForm30({
4714
+ mode: "uncontrolled",
4715
+ validate: {
4716
+ decisionCode: (value) => value ? null : "S\u1ED1 quy \u0111\u1ECBnh kh\xF4ng \u0111\u01B0\u1EE3c \u0111\u1EC3 tr\u1ED1ng",
4717
+ promulgateDate: (value) => value ? null : "Ng\xE0y ban h\xE0nh kh\xF4ng \u0111\u01B0\u1EE3c \u0111\u1EC3 tr\u1ED1ng",
4718
+ name: (value) => value ? null : "T\xEAn t\xE0i li\u1EC7u kh\xF4ng \u0111\u01B0\u1EE3c \u0111\u1EC3 tr\u1ED1ng",
4719
+ documentAttributeId: (value) => value ? null : "Lo\u1EA1i v\u0103n b\u1EA3n kh\xF4ng \u0111\u01B0\u1EE3c \u0111\u1EC3 tr\u1ED1ng",
4720
+ file: (value) => value ? null : "T\u1EC7p \u0111\xEDnh k\xE8m kh\xF4ng \u0111\u01B0\u1EE3c \u0111\u1EC3 tr\u1ED1ng"
4721
+ }
4722
+ });
4723
+ return /* @__PURE__ */ jsxs57(
4724
+ MyButtonCreate,
4725
+ {
4726
+ objectName: "V\u0103n b\u1EA3n quy \u0111\u1ECBnh t\u1ED5 ch\u1EE9c",
4727
+ form,
4728
+ onSubmit: async (values) => {
4729
+ return await baseAxios_default.post("/Document/create", __spreadProps(__spreadValues({}, values), {
4730
+ DocumentType: WorkflowTypeId,
4731
+ fileDetail: await utils_file_fileToAQDocumentType(values.file)
4732
+ }));
4733
+ },
4734
+ children: [
4735
+ /* @__PURE__ */ jsx86(
4736
+ MyTextInput,
4737
+ __spreadValues({
4738
+ withAsterisk: true,
4739
+ label: "S\u1ED1 quy \u0111\u1ECBnh"
4740
+ }, form.getInputProps("decisionCode"))
4741
+ ),
4742
+ /* @__PURE__ */ jsx86(
4743
+ MyDateInput,
4744
+ __spreadValues({
4745
+ withAsterisk: true,
4746
+ label: "Ng\xE0y ban h\xE0nh"
4747
+ }, form.getInputProps("promulgateDate"))
4748
+ ),
4749
+ /* @__PURE__ */ jsx86(
4750
+ MyTextInput,
4751
+ __spreadValues({
4752
+ withAsterisk: true,
4753
+ label: "T\xEAn t\xE0i li\u1EC7u"
4754
+ }, form.getInputProps("name"))
4755
+ ),
4756
+ /* @__PURE__ */ jsx86(
4757
+ F_core18256_Select,
4758
+ __spreadValues({
4759
+ withAsterisk: true,
4760
+ label: "Lo\u1EA1i v\u0103n b\u1EA3n",
4761
+ documentTypeId: WorkflowTypeId
4762
+ }, form.getInputProps("documentAttributeId"))
4763
+ ),
4764
+ /* @__PURE__ */ jsx86(
4765
+ MyFileInput,
4766
+ __spreadValues({
4767
+ withAsterisk: true,
4768
+ label: "V\u0103n b\u1EA3n"
4769
+ }, form.getInputProps("file"))
4770
+ ),
4771
+ /* @__PURE__ */ jsx86(
4772
+ MyNumberInput,
4773
+ __spreadValues({
4774
+ label: "Th\u1EE9 t\u1EF1 hi\u1EC3n th\u1ECB tr\xEAn danh s\xE1ch"
4775
+ }, form.getInputProps("orderBy"))
4776
+ )
4777
+ ]
4778
+ }
4779
+ );
4780
+ }
4781
+
4782
+ // src/modules-features/admin/core/workflowProcessDocs/F_workflowProcessDocs_Read.tsx
4783
+ import { Accordion as Accordion6, Alert as Alert6, Blockquote as Blockquote6, Skeleton as Skeleton6 } from "@mantine/core";
4784
+ import { useQuery as useQuery22 } from "@tanstack/react-query";
4785
+ import { IconBug as IconBug6 } from "@tabler/icons-react";
4786
+ import { useMemo as useMemo19 } from "react";
4787
+
4788
+ // src/modules-features/admin/core/workflowProcessDocs/F_workflowProcessDocs_Delete.tsx
4789
+ import { jsx as jsx87 } from "react/jsx-runtime";
4790
+ function F_workflowProcessDocs_Delete({
4791
+ id,
4792
+ contextData
4793
+ }) {
4794
+ return /* @__PURE__ */ jsx87(
4795
+ MyActionIconDelete,
4796
+ {
4797
+ contextData,
4798
+ onSubmit: async () => await baseAxios_default.post("/Document/delete", { id })
4799
+ }
4800
+ );
4801
+ }
4802
+
4803
+ // src/modules-features/admin/core/workflowProcessDocs/F_workflowProcessDocs_Update.tsx
4804
+ import { useForm as useForm31 } from "@mantine/form";
4805
+ import { jsx as jsx88, jsxs as jsxs58 } from "react/jsx-runtime";
4806
+ function F_workflowProcessDocs_Update({
4807
+ values,
4808
+ WorkflowTypeId
4809
+ }) {
4810
+ var _a;
4811
+ const form = useForm31({
4812
+ initialValues: __spreadProps(__spreadValues({}, values), {
4813
+ file: new File(
4814
+ [],
4815
+ (_a = values.path) == null ? void 0 : _a.split("/")[values.path.split("/").length - 1]
4816
+ ),
4817
+ promulgateDate: new Date(values.promulgateDate)
4818
+ }),
4819
+ validate: {
4820
+ decisionCode: (value) => value ? null : "S\u1ED1 quy \u0111\u1ECBnh kh\xF4ng \u0111\u01B0\u1EE3c \u0111\u1EC3 tr\u1ED1ng",
4821
+ promulgateDate: (value) => value ? null : "Ng\xE0y ban h\xE0nh kh\xF4ng \u0111\u01B0\u1EE3c \u0111\u1EC3 tr\u1ED1ng",
4822
+ name: (value) => value ? null : "T\xEAn t\xE0i li\u1EC7u kh\xF4ng \u0111\u01B0\u1EE3c \u0111\u1EC3 tr\u1ED1ng",
4823
+ documentAttributeId: (value) => value ? null : "Lo\u1EA1i v\u0103n b\u1EA3n kh\xF4ng \u0111\u01B0\u1EE3c \u0111\u1EC3 tr\u1ED1ng",
4824
+ file: (value) => value ? null : "T\u1EC7p \u0111\xEDnh k\xE8m kh\xF4ng \u0111\u01B0\u1EE3c \u0111\u1EC3 tr\u1ED1ng"
4825
+ }
4826
+ });
4827
+ return /* @__PURE__ */ jsxs58(
4828
+ MyActionIconUpdate,
4829
+ {
4830
+ form,
4831
+ onSubmit: async (values2) => {
4832
+ return await baseAxios_default.post("/Document/Update", __spreadProps(__spreadValues({}, values2), {
4833
+ fileDetail: await utils_file_fileToAQDocumentType(values2.file)
4834
+ }));
4835
+ },
4836
+ children: [
4837
+ /* @__PURE__ */ jsx88(
4838
+ MyTextInput,
4839
+ __spreadValues({
4840
+ withAsterisk: true,
4841
+ label: "S\u1ED1 quy \u0111\u1ECBnh"
4842
+ }, form.getInputProps("decisionCode"))
4843
+ ),
4844
+ /* @__PURE__ */ jsx88(
4845
+ MyDateInput,
4846
+ __spreadValues({
4847
+ withAsterisk: true,
4848
+ label: "Ng\xE0y ban h\xE0nh"
4849
+ }, form.getInputProps("promulgateDate"))
4850
+ ),
4851
+ /* @__PURE__ */ jsx88(
4852
+ MyTextInput,
4853
+ __spreadValues({
4854
+ withAsterisk: true,
4855
+ label: "T\xEAn t\xE0i li\u1EC7u"
4856
+ }, form.getInputProps("name"))
4857
+ ),
4858
+ /* @__PURE__ */ jsx88(
4859
+ F_core18256_Select,
4860
+ __spreadValues({
4861
+ withAsterisk: true,
4862
+ label: "Lo\u1EA1i v\u0103n b\u1EA3n",
4863
+ documentTypeId: WorkflowTypeId
4864
+ }, form.getInputProps("documentAttributeId"))
4865
+ ),
4866
+ /* @__PURE__ */ jsx88(
4867
+ MyFileInput,
4868
+ __spreadValues({
4869
+ withAsterisk: true,
4870
+ label: "V\u0103n b\u1EA3n"
4871
+ }, form.getInputProps("file"))
4872
+ ),
4873
+ /* @__PURE__ */ jsx88(
4874
+ MyNumberInput,
4875
+ __spreadValues({
4876
+ label: "Th\u1EE9 t\u1EF1 hi\u1EC3n th\u1ECB tr\xEAn danh s\xE1ch"
4877
+ }, form.getInputProps("orderBy"))
4878
+ )
4879
+ ]
4880
+ }
4881
+ );
4882
+ }
4883
+
4884
+ // src/modules-features/admin/core/workflowProcessDocs/F_workflowProcessDocs_Read.tsx
4885
+ import { jsx as jsx89, jsxs as jsxs59 } from "react/jsx-runtime";
4886
+ function F_workflowProcessDocs_Read({
4887
+ WorkflowTypeId
4888
+ }) {
4889
+ var _a, _b, _c;
4890
+ const documentAttributeQuery = useQuery22({
4891
+ queryKey: ["F_workflowProcessDocs_Read", WorkflowTypeId],
4892
+ queryFn: async () => {
4893
+ var _a2;
4894
+ const result = await baseAxios_default.get("/DocumentAttribute/GetByType?", {
4895
+ params: { documentType: WorkflowTypeId }
4896
+ });
4897
+ return ((_a2 = result.data) == null ? void 0 : _a2.data) || [];
4898
+ }
4899
+ });
4900
+ if (((_a = documentAttributeQuery.data) == null ? void 0 : _a.length) == 0)
4901
+ return /* @__PURE__ */ jsx89(Blockquote6, { color: "yellow", children: "Ch\u01B0a c\xF3 lo\u1EA1i v\u0103n b\u1EA3n" });
4902
+ if (documentAttributeQuery.isError)
4903
+ return /* @__PURE__ */ jsx89(Alert6, { icon: /* @__PURE__ */ jsx89(IconBug6, {}), color: "red", title: "C\xF3 l\u1ED7i x\u1EA3y ra!", m: "md" });
4904
+ return /* @__PURE__ */ jsx89(Skeleton6, { h: 500, visible: documentAttributeQuery.isLoading, children: /* @__PURE__ */ jsx89(MyFlexColumn, { children: /* @__PURE__ */ jsx89(
4905
+ Accordion6,
4906
+ {
4907
+ variant: "contained",
4908
+ defaultValue: (_b = documentAttributeQuery.data) == null ? void 0 : _b.map(
4909
+ (item) => {
4910
+ var _a2;
4911
+ return (_a2 = item.id) == null ? void 0 : _a2.toString();
4912
+ }
4913
+ ),
4914
+ multiple: true,
4915
+ children: (_c = documentAttributeQuery.data) == null ? void 0 : _c.map((item, idx) => /* @__PURE__ */ jsx89(
4916
+ SubRead6,
4917
+ {
4918
+ name: item.name,
4919
+ documentType: item.id,
4920
+ WorkflowTypeId
4921
+ },
4922
+ idx
4923
+ ))
4924
+ }
4925
+ ) }) });
4926
+ }
4927
+ function SubRead6({
4928
+ name,
4929
+ documentType,
4930
+ WorkflowTypeId
4931
+ }) {
4932
+ const documentQuery = useQuery22({
4933
+ queryKey: ["SubRead" + documentType],
4934
+ queryFn: async () => {
4935
+ const result = await baseAxios_default.get(
4936
+ `/Document/GetByDocumentAttribute?id=${documentType}`
4937
+ );
4938
+ return result.data.data;
4939
+ }
4940
+ });
4941
+ const columns = useMemo19(
4942
+ () => [
4943
+ {
4944
+ header: "S\u1ED1 quy \u0111\u1ECBnh",
4945
+ accessorKey: "decisionCode"
4946
+ },
4947
+ {
4948
+ header: "Ng\xE0y ban h\xE0nh",
4949
+ accessorFn: (row) => U0DateToDDMMYYYString(new Date(row.promulgateDate))
4950
+ },
4951
+ {
4952
+ header: "T\xEAn t\xE0i li\u1EC7u",
4953
+ accessorKey: "name"
4954
+ },
4955
+ {
4956
+ header: "File",
4957
+ accessorFn: (row) => {
4958
+ return /* @__PURE__ */ jsx89(MyCenterFull, { children: /* @__PURE__ */ jsx89(MyButtonViewPDF, { id: row.id }) });
4959
+ }
4960
+ }
4961
+ ],
4962
+ []
4963
+ );
4964
+ return /* @__PURE__ */ jsxs59(Accordion6.Item, { value: documentType.toString(), children: [
4965
+ /* @__PURE__ */ jsx89(Accordion6.Control, { children: name }),
4966
+ /* @__PURE__ */ jsx89(Accordion6.Panel, { children: /* @__PURE__ */ jsx89(
4967
+ MyDataTable,
4968
+ {
4969
+ isLoading: documentQuery.isLoading,
4970
+ isError: documentQuery.isError,
4971
+ columns,
4972
+ data: documentQuery.data || [],
4973
+ renderRowActions: ({ row }) => /* @__PURE__ */ jsxs59(MyCenterFull, { children: [
4974
+ /* @__PURE__ */ jsx89(
4975
+ F_workflowProcessDocs_Update,
4976
+ {
4977
+ WorkflowTypeId,
4978
+ values: row.original
4979
+ }
4980
+ ),
4981
+ /* @__PURE__ */ jsx89(
4982
+ F_workflowProcessDocs_Delete,
4983
+ {
4984
+ id: row.original.id,
4985
+ contextData: row.original.decisionCode
4986
+ }
4987
+ )
4988
+ ] })
4989
+ }
4990
+ ) })
4991
+ ] });
4992
+ }
4993
+
4994
+ // src/modules-features/admin/core/workflowProcessDocs/F_workflowProcessDocs.tsx
4995
+ import { jsx as jsx90, jsxs as jsxs60 } from "react/jsx-runtime";
4996
+ function F_workflowProcessDocs({
4997
+ WorkflowTypeId
4998
+ }) {
4999
+ return /* @__PURE__ */ jsxs60(Paper9, { p: "md", children: [
5000
+ /* @__PURE__ */ jsx90(MyFlexEnd, { children: /* @__PURE__ */ jsx90(F_workflowProcessDocs_Create, { WorkflowTypeId }) }),
5001
+ /* @__PURE__ */ jsx90(Space6, {}),
5002
+ /* @__PURE__ */ jsx90(F_workflowProcessDocs_Read, { WorkflowTypeId })
5003
+ ] });
5004
+ }
5005
+
5006
+ // src/modules-features/authenticate/F_authenticate_SplashPage.tsx
5007
+ import { useRouter as useRouter2 } from "next/navigation";
5008
+ import { useEffect as useEffect11 } from "react";
5009
+ import { jsx as jsx91 } from "react/jsx-runtime";
5010
+ function F_authenticate_SplashPage() {
5011
+ const router = useRouter2();
5012
+ const S_Authenticate = useS_authenticate();
5013
+ useEffect11(() => {
5014
+ if (S_Authenticate.state.token == "") {
5015
+ router.push("/authenticate/login");
5016
+ return;
5017
+ }
5018
+ router.push("/admin/core71678");
5019
+ }, [S_Authenticate.state.token]);
5020
+ return /* @__PURE__ */ jsx91(MyBoxesBackground, { title: "H\u1EC7 th\u1ED1ng th\xF4ng tin qu\u1EA3n l\xED \u0111\xE0o t\u1EA1o ng\u1EAFn h\u1EA1n" });
5021
+ }
5022
+
5023
+ // src/modules-features/authenticate/F_Authenticate_Login/F_authenticate_Login.tsx
5024
+ import {
5025
+ Anchor,
5026
+ BackgroundImage,
5027
+ Button as Button3,
5028
+ Center as Center2,
5029
+ Checkbox as Checkbox3,
5030
+ Flex as Flex3,
5031
+ Group as Group4,
5032
+ Paper as Paper10,
5033
+ PasswordInput as PasswordInput2,
5034
+ Text as Text3,
5035
+ TextInput as TextInput3,
5036
+ Title
5037
+ } from "@mantine/core";
5038
+ import { useForm as useForm32 } from "@mantine/form";
5039
+ import { useMutation as useMutation5 } from "@tanstack/react-query";
5040
+ import axios from "axios";
5041
+ import Link from "next/link";
5042
+ import { useRouter as useRouter3 } from "next/navigation";
5043
+ import { useEffect as useEffect12, useState as useState9 } from "react";
5044
+
5045
+ // src/modules-features/authenticate/F_Authenticate_Login/css.module.css
5046
+ var css_default = {};
5047
+
5048
+ // src/modules-features/authenticate/F_Authenticate_Login/F_authenticate_Login.tsx
5049
+ import { jsx as jsx92, jsxs as jsxs61 } from "react/jsx-runtime";
5050
+ function F_authenticate_Login({
5051
+ redirectUrlAfterLogin = "/admin/dashboard",
5052
+ additionalActions,
5053
+ backgroundImage = "/imgs/0/IMG0AuthBackground.png",
5054
+ onSuccess
5055
+ }) {
5056
+ const router = useRouter3();
5057
+ const authenticate_store = useS_authenticate();
5058
+ const loadingState = useState9(false);
5059
+ const mutation = useM_Account_Sigin();
5060
+ const form = useForm32({
5061
+ initialValues: {
5062
+ username: "",
5063
+ password: ""
5064
+ },
5065
+ validate: {
5066
+ username: (value) => value ? null : "Kh\xF4ng \u0111\u01B0\u1EE3c \u0111\u1EC3 tr\u1ED1ng",
5067
+ password: (value) => value ? null : "Kh\xF4ng \u0111\u01B0\u1EE3c \u0111\u1EC3 tr\u1ED1ng"
5068
+ }
5069
+ });
5070
+ useEffect12(() => {
5071
+ var _a;
5072
+ form.setValues({
5073
+ username: ((_a = authenticate_store.state) == null ? void 0 : _a.username) || "",
5074
+ password: ""
5075
+ });
5076
+ }, [authenticate_store.state.username]);
5077
+ function handleSubmit(userName, passWord) {
5078
+ loadingState[1](true);
5079
+ mutation.mutate({
5080
+ "userName": userName,
5081
+ "passWord": passWord
5082
+ }, {
5083
+ onSuccess: (data) => {
5084
+ if (data.isSuccess === false) {
5085
+ form.setFieldError("username", "T\xE0i kho\u1EA3n kh\xF4ng t\u1ED3n t\u1EA1i");
5086
+ loadingState[1](false);
5087
+ return;
5088
+ }
5089
+ if (data.isSuccess == 0) {
5090
+ form.setFieldError("password", data.message);
5091
+ loadingState[1](false);
5092
+ return;
5093
+ }
5094
+ authenticate_store.setProperty("code", data.data.userName);
5095
+ authenticate_store.setProperty("fullName", data.data.userFullName);
5096
+ authenticate_store.setProperty("userId", data.data.userId);
5097
+ authenticate_store.setProperty("token", data.data.token);
5098
+ if (authenticate_store.state.saveLogin == true) {
5099
+ authenticate_store.setProperty("username", userName);
5100
+ } else {
5101
+ authenticate_store.setProperty("username", "");
5102
+ }
5103
+ if (onSuccess) {
5104
+ onSuccess(data);
5105
+ loadingState[1](false);
5106
+ return;
5107
+ }
5108
+ router.replace(redirectUrlAfterLogin);
5109
+ }
5110
+ });
5111
+ }
5112
+ return /* @__PURE__ */ jsx92(
3553
5113
  BackgroundImage,
3554
5114
  {
3555
5115
  src: backgroundImage,
3556
5116
  h: "100vh",
3557
- children: /* @__PURE__ */ jsx63(Center2, { h: "100vh", children: /* @__PURE__ */ jsxs40(Paper7, { withBorder: true, w: 400, m: "md", shadow: "md", p: 30, mt: 30, radius: "md", children: [
3558
- /* @__PURE__ */ jsxs40(Flex3, { direction: "column", mb: "md", children: [
3559
- /* @__PURE__ */ jsx63(Title, { ta: "center", className: css_default.title, children: "\u0110\u0103ng nh\u1EADp!" }),
3560
- /* @__PURE__ */ jsxs40(Text3, { c: "dimmed", size: "sm", ta: "center", mt: 5, children: [
5117
+ children: /* @__PURE__ */ jsx92(Center2, { h: "100vh", children: /* @__PURE__ */ jsxs61(Paper10, { withBorder: true, w: 400, m: "md", shadow: "md", p: 30, mt: 30, radius: "md", children: [
5118
+ /* @__PURE__ */ jsxs61(Flex3, { direction: "column", mb: "md", children: [
5119
+ /* @__PURE__ */ jsx92(Title, { ta: "center", className: css_default.title, children: "\u0110\u0103ng nh\u1EADp!" }),
5120
+ /* @__PURE__ */ jsxs61(Text3, { c: "dimmed", size: "sm", ta: "center", mt: 5, children: [
3561
5121
  "B\u1EA1n g\u1EB7p v\u1EA5n \u0111\u1EC1 k\u1EF9 thu\u1EADt?\xA0",
3562
- /* @__PURE__ */ jsx63(Anchor, { size: "sm", component: "button", children: "V\xE0o link n\xE0y" })
5122
+ /* @__PURE__ */ jsx92(Anchor, { size: "sm", component: "button", children: "V\xE0o link n\xE0y" })
3563
5123
  ] })
3564
5124
  ] }),
3565
- /* @__PURE__ */ jsx63("form", { onSubmit: form.onSubmit(async (values) => handleSubmit(values.username, values.password)), children: /* @__PURE__ */ jsxs40(MyFlexColumn, { children: [
3566
- /* @__PURE__ */ jsx63(
3567
- TextInput2,
5125
+ /* @__PURE__ */ jsx92("form", { onSubmit: form.onSubmit(async (values) => handleSubmit(values.username, values.password)), children: /* @__PURE__ */ jsxs61(MyFlexColumn, { children: [
5126
+ /* @__PURE__ */ jsx92(
5127
+ TextInput3,
3568
5128
  __spreadProps(__spreadValues({}, form.getInputProps("username")), {
3569
5129
  label: "T\xE0i kho\u1EA3n",
3570
5130
  placeholder: "Nh\u1EADp t\xE0i kho\u1EA3n c\u1EE7a b\u1EA1n",
3571
5131
  withAsterisk: true
3572
5132
  })
3573
5133
  ),
3574
- /* @__PURE__ */ jsx63(
5134
+ /* @__PURE__ */ jsx92(
3575
5135
  PasswordInput2,
3576
5136
  __spreadProps(__spreadValues({}, form.getInputProps("password")), {
3577
5137
  label: "M\u1EADt kh\u1EA9u",
@@ -3579,8 +5139,8 @@ function F_authenticate_Login({
3579
5139
  withAsterisk: true
3580
5140
  })
3581
5141
  ),
3582
- /* @__PURE__ */ jsxs40(Group4, { justify: "space-between", children: [
3583
- /* @__PURE__ */ jsx63(
5142
+ /* @__PURE__ */ jsxs61(Group4, { justify: "space-between", children: [
5143
+ /* @__PURE__ */ jsx92(
3584
5144
  Checkbox3,
3585
5145
  {
3586
5146
  checked: authenticate_store.state.saveLogin,
@@ -3588,9 +5148,9 @@ function F_authenticate_Login({
3588
5148
  label: "L\u01B0u \u0111\u0103ng nh\u1EADp"
3589
5149
  }
3590
5150
  ),
3591
- /* @__PURE__ */ jsx63(Anchor, { component: Link, href: "quen-mat-khau", size: "sm", children: "Qu\xEAn m\u1EADt kh\u1EA9u?" })
5151
+ /* @__PURE__ */ jsx92(Anchor, { component: Link, href: "quen-mat-khau", size: "sm", children: "Qu\xEAn m\u1EADt kh\u1EA9u?" })
3592
5152
  ] }),
3593
- /* @__PURE__ */ jsx63(
5153
+ /* @__PURE__ */ jsx92(
3594
5154
  Button3,
3595
5155
  {
3596
5156
  loading: loadingState[0],
@@ -3676,6 +5236,33 @@ export {
3676
5236
  F_core83092_ReadUser,
3677
5237
  F_core83092_Save,
3678
5238
  F_core83092_ViewMenuPermissions,
5239
+ F_formTemplateDocs,
5240
+ F_formTemplateDocs_Create,
5241
+ F_formTemplateDocs_Delete,
5242
+ F_formTemplateDocs_Read,
5243
+ F_formTemplateDocs_Update,
5244
+ F_organizationPolicyDocs,
5245
+ F_organizationPolicyDocs_Create,
5246
+ F_organizationPolicyDocs_Delete,
5247
+ F_organizationPolicyDocs_Update,
5248
+ F_securityPolicyDocs,
5249
+ F_securityPolicyDocs_Create,
5250
+ F_securityPolicyDocs_Delete,
5251
+ F_securityPolicyDocs_Update,
5252
+ F_systemUpdateDocs,
5253
+ F_systemUpdateDocs_Create,
5254
+ F_systemUpdateDocs_Delete,
5255
+ F_systemUpdateDocs_Update,
5256
+ F_userGuideDocs,
5257
+ F_userGuideDocs_Create,
5258
+ F_userGuideDocs_Delete,
5259
+ F_userGuideDocs_Read,
5260
+ F_userGuideDocs_Update,
5261
+ F_workflowProcessDocs,
5262
+ F_workflowProcessDocs_Create,
5263
+ F_workflowProcessDocs_Delete,
5264
+ F_workflowProcessDocs_Read,
5265
+ F_workflowProcessDocs_Update,
3679
5266
  useS_authenticate,
3680
5267
  useS_core60524,
3681
5268
  useS_core83092,