|
@@ -4,15 +4,18 @@ import { Button } from "antd";
|
|
import classNames from "classnames";
|
|
import classNames from "classnames";
|
|
import A1User from "../A1User";
|
|
import A1User from "../A1User";
|
|
import A1Inner from "../A1Inner";
|
|
import A1Inner from "../A1Inner";
|
|
|
|
+import { useSelector } from "react-redux";
|
|
|
|
+import { RootState } from "@/store";
|
|
|
|
+import AuthCom from "@/components/AuthCom";
|
|
|
|
|
|
const A1Add = React.lazy(() => import("../A1Add"));
|
|
const A1Add = React.lazy(() => import("../A1Add"));
|
|
const A1Outer = React.lazy(() => import("../A1Outer"));
|
|
const A1Outer = React.lazy(() => import("../A1Outer"));
|
|
|
|
|
|
const A1Tab = [
|
|
const A1Tab = [
|
|
- { id: 1, name: "项目介绍" },
|
|
|
|
- { id: 2, name: "项目文件" },
|
|
|
|
- { id: 3, name: "内控文件" },
|
|
|
|
- { id: 4, name: "项目成员" },
|
|
|
|
|
|
+ { id: "1080", name: "项目介绍" },
|
|
|
|
+ { id: "1090", name: "项目文件" },
|
|
|
|
+ { id: "1101", name: "内控文件" },
|
|
|
|
+ { id: "1110", name: "项目成员" },
|
|
];
|
|
];
|
|
|
|
|
|
type Props = {
|
|
type Props = {
|
|
@@ -23,6 +26,16 @@ type Props = {
|
|
};
|
|
};
|
|
|
|
|
|
function A1Look({ pageType, closeFu, tabType, lookTit }: Props) {
|
|
function A1Look({ pageType, closeFu, tabType, lookTit }: Props) {
|
|
|
|
+ // 权限
|
|
|
|
+ const authArr = useSelector((state: RootState) => state.A4Role.A4RoleAll);
|
|
|
|
+
|
|
|
|
+ // useEffect(() => {
|
|
|
|
+ // if (authArr.includes("1080")) setTopType("1080");
|
|
|
|
+ // else if (authArr.includes("1090")) setTopType("1090");
|
|
|
|
+ // else if (authArr.includes("1101")) setTopType("1101");
|
|
|
|
+ // else if (authArr.includes("1110")) setTopType("1110");
|
|
|
|
+ // }, [authArr]);
|
|
|
|
+
|
|
// 动态改变顶部 title
|
|
// 动态改变顶部 title
|
|
const [myTitle, setMyTitle] = useState("");
|
|
const [myTitle, setMyTitle] = useState("");
|
|
|
|
|
|
@@ -32,14 +45,14 @@ function A1Look({ pageType, closeFu, tabType, lookTit }: Props) {
|
|
|
|
|
|
const [sonPageType, setSonPageType] = useState(pageType);
|
|
const [sonPageType, setSonPageType] = useState(pageType);
|
|
|
|
|
|
- const [topType, setTopType] = useState(1);
|
|
|
|
|
|
+ const [topType, setTopType] = useState("1080");
|
|
|
|
|
|
useEffect(() => {
|
|
useEffect(() => {
|
|
- if (tabType) setTopType(3);
|
|
|
|
- }, [tabType]);
|
|
|
|
|
|
+ if (tabType && authArr.includes("1101")) setTopType("1101");
|
|
|
|
+ }, [authArr, tabType]);
|
|
|
|
|
|
useEffect(() => {
|
|
useEffect(() => {
|
|
- if (topType === 1) {
|
|
|
|
|
|
+ if (topType === "1080") {
|
|
setSonPageType({ txt: "look", id: pageType.id });
|
|
setSonPageType({ txt: "look", id: pageType.id });
|
|
}
|
|
}
|
|
}, [pageType.id, topType]);
|
|
}, [pageType.id, topType]);
|
|
@@ -54,15 +67,12 @@ function A1Look({ pageType, closeFu, tabType, lookTit }: Props) {
|
|
}, [pageType.id]);
|
|
}, [pageType.id]);
|
|
|
|
|
|
// 编辑成功
|
|
// 编辑成功
|
|
- const editSuFu = useCallback(
|
|
|
|
- (val: string) => {
|
|
|
|
- // 设置key,更新数据
|
|
|
|
- setTab1Key(Date.now());
|
|
|
|
- // 动态修改 顶部 标题
|
|
|
|
- setMyTitle(val);
|
|
|
|
- },
|
|
|
|
- []
|
|
|
|
- );
|
|
|
|
|
|
+ const editSuFu = useCallback((val: string) => {
|
|
|
|
+ // 设置key,更新数据
|
|
|
|
+ setTab1Key(Date.now());
|
|
|
|
+ // 动态修改 顶部 标题
|
|
|
|
+ setMyTitle(val);
|
|
|
|
+ }, []);
|
|
|
|
|
|
return (
|
|
return (
|
|
<div className={styles.A1Look}>
|
|
<div className={styles.A1Look}>
|
|
@@ -72,31 +82,34 @@ function A1Look({ pageType, closeFu, tabType, lookTit }: Props) {
|
|
</div>
|
|
</div>
|
|
<div className="A1LookTab">
|
|
<div className="A1LookTab">
|
|
{A1Tab.map((v) => (
|
|
{A1Tab.map((v) => (
|
|
- <div
|
|
|
|
- onClick={() => setTopType(v.id)}
|
|
|
|
- className={classNames(
|
|
|
|
- "A1LookTabRow",
|
|
|
|
- topType === v.id ? "A1LookTabRowAc" : ""
|
|
|
|
- )}
|
|
|
|
- key={v.id}
|
|
|
|
- >
|
|
|
|
- {v.name}
|
|
|
|
- </div>
|
|
|
|
|
|
+ <AuthCom aId={v.id === "1101" ? "1101" : "-1"} key={v.id}>
|
|
|
|
+ <div
|
|
|
|
+ onClick={() => setTopType(v.id)}
|
|
|
|
+ className={classNames(
|
|
|
|
+ "A1LookTabRow",
|
|
|
|
+ topType === v.id ? "A1LookTabRowAc" : ""
|
|
|
|
+ )}
|
|
|
|
+ >
|
|
|
|
+ {v.name}
|
|
|
|
+ </div>
|
|
|
|
+ </AuthCom>
|
|
))}
|
|
))}
|
|
</div>
|
|
</div>
|
|
<div className="A1LookMain">
|
|
<div className="A1LookMain">
|
|
- {topType === 1 && sonPageType.txt === "look" ? (
|
|
|
|
- <div className="A1lrBtn">
|
|
|
|
- <Button
|
|
|
|
- type="primary"
|
|
|
|
- onClick={() => setSonPageType({ txt: "edit", id: pageType.id })}
|
|
|
|
- >
|
|
|
|
- 编辑
|
|
|
|
- </Button>
|
|
|
|
- </div>
|
|
|
|
|
|
+ {topType === "1080" && sonPageType.txt === "look" ? (
|
|
|
|
+ <AuthCom aId="1081">
|
|
|
|
+ <div className="A1lrBtn">
|
|
|
|
+ <Button
|
|
|
|
+ type="primary"
|
|
|
|
+ onClick={() => setSonPageType({ txt: "edit", id: pageType.id })}
|
|
|
|
+ >
|
|
|
|
+ 编辑
|
|
|
|
+ </Button>
|
|
|
|
+ </div>
|
|
|
|
+ </AuthCom>
|
|
) : null}
|
|
) : null}
|
|
|
|
|
|
- {topType === 1 ? (
|
|
|
|
|
|
+ {topType === "1080" ? (
|
|
<A1Add
|
|
<A1Add
|
|
key={tab1Key}
|
|
key={tab1Key}
|
|
pageType={sonPageType}
|
|
pageType={sonPageType}
|
|
@@ -104,17 +117,19 @@ function A1Look({ pageType, closeFu, tabType, lookTit }: Props) {
|
|
addFu={() => {}}
|
|
addFu={() => {}}
|
|
editFu={(val) => editSuFu(val)}
|
|
editFu={(val) => editSuFu(val)}
|
|
/>
|
|
/>
|
|
- ) : topType === 2 ? (
|
|
|
|
|
|
+ ) : topType === "1090" ? (
|
|
<A1Outer projectId={pageType.id} projectName={myTitle} />
|
|
<A1Outer projectId={pageType.id} projectName={myTitle} />
|
|
- ) : topType === 3 ? (
|
|
|
|
|
|
+ ) : topType === "1101" ? (
|
|
<A1Inner
|
|
<A1Inner
|
|
projectId={pageType.id}
|
|
projectId={pageType.id}
|
|
myTitle={myTitle.split(" - ") ? myTitle.split(" - ")[0] : ""}
|
|
myTitle={myTitle.split(" - ") ? myTitle.split(" - ")[0] : ""}
|
|
projectName={myTitle}
|
|
projectName={myTitle}
|
|
/>
|
|
/>
|
|
- ) : topType === 4 ? (
|
|
|
|
|
|
+ ) : topType === "1110" ? (
|
|
<A1User projectId={pageType.id} />
|
|
<A1User projectId={pageType.id} />
|
|
- ) : null}
|
|
|
|
|
|
+ ) : (
|
|
|
|
+ <div className="noAuth">您没有这个页面的权限,请联系管理员添加</div>
|
|
|
|
+ )}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
);
|
|
);
|