diff --git a/src/pages/Container/BranchCompany/ControlRoom/List/index.js b/src/pages/Container/BranchCompany/ControlRoom/List/index.js
index 48c9f22..bd4ce38 100644
--- a/src/pages/Container/BranchCompany/ControlRoom/List/index.js
+++ b/src/pages/Container/BranchCompany/ControlRoom/List/index.js
@@ -9,6 +9,7 @@ import Table from "zy-react-library/components/Table";
import useDictionary from "zy-react-library/hooks/useDictionary";
import useGetUrlQuery from "zy-react-library/hooks/useGetUrlQuery";
import useTable from "zy-react-library/hooks/useTable";
+import { FIRE_RESOURCE_PERMISSION_QUERY_KEYS, getPermissionKeyFromSearch } from "~/enumerate/constant/fireResourcePermission";
import { NS_CONTROL_ROOM } from "~/enumerate/namespace";
function List(props) {
@@ -32,6 +33,18 @@ function List(props) {
}
};
const isFromSupervision = !!query.eqCorpId;
+ const searchParams = new URLSearchParams(props.location?.search || "");
+ const getPermissionValue = (action, defaultKey) => {
+ const queryKey = FIRE_RESOURCE_PERMISSION_QUERY_KEYS[action];
+ const dynamicPermissionKey = queryKey ? searchParams.get(queryKey) : "";
+
+ if (isFromSupervision && dynamicPermissionKey) {
+ return props.permission(dynamicPermissionKey);
+ }
+
+ return props.permission(getPermissionKeyFromSearch(props.location?.search, action, defaultKey));
+ };
+ const hasPermission = (action, defaultKey) => getPermissionValue(action, defaultKey);
const supervisionBackPath = normalizeBackPath(query.backPath
|| props.location?.state?.backPath
|| window.sessionStorage.getItem("supervisionFireResourceStatsBackPath")
@@ -167,7 +180,7 @@ function List(props) {
(
- {props.permission("xfkzs-add") && (
+ {hasPermission("add", "xfkzs-add") && (