Commit deb97f9f authored by wuyongsheng's avatar wuyongsheng

Merge branch 'feat-20220620-taskSubmission' into 'release'

Feat 20220620 task submission

See merge request !72
parents bc925de6 84f25f7c
...@@ -2,18 +2,17 @@ ...@@ -2,18 +2,17 @@
* @Author: 吴永生#A02208 yongsheng.wu@wholion.com * @Author: 吴永生#A02208 yongsheng.wu@wholion.com
* @Date: 2022-05-31 10:18:13 * @Date: 2022-05-31 10:18:13
* @LastEditors: 吴永生#A02208 yongsheng.wu@wholion.com * @LastEditors: 吴永生#A02208 yongsheng.wu@wholion.com
* @LastEditTime: 2022-06-07 20:31:40 * @LastEditTime: 2022-07-04 20:18:17
* @FilePath: /bkunyun/src/views/Project/ProjectSetting/index.tsx * @FilePath: /bkunyun/src/views/Project/ProjectSetting/index.tsx
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
*/ */
import { memo } from "react"; import { memo } from "react";
import { isEqual } from "lodash"; import { isEqual } from "lodash";
import { useState, useMemo, useEffect } from "react"; import { useState } from "react";
import { Box } from "@mui/system"; import { Box } from "@mui/system";
import Tab from "@mui/material/Tab"; import Tab from "@mui/material/Tab";
import { TabContext, TabList, TabPanel } from "@mui/lab"; import { TabContext, TabList, TabPanel } from "@mui/lab";
import { Typography } from "@mui/material"; import { Typography } from "@mui/material";
import { useImperativeHandle } from "react";
interface ITabList { interface ITabList {
label: string; label: string;
...@@ -26,27 +25,18 @@ interface ITabList { ...@@ -26,27 +25,18 @@ interface ITabList {
interface IProps { interface IProps {
tabList: ITabList[]; tabList: ITabList[];
onRef?: any; defaultValue?: string;
} }
const Tabs = (props: IProps) => { const Tabs = (props: IProps) => {
const { tabList } = props; const { tabList, defaultValue } = props;
const [value, setValue] = useState(tabList.filter((e) => !e.hide)[0].value); const [value, setValue] = useState(defaultValue || tabList.filter(e => !e.hide)[0].value);
const onChange = (val: string) => { const onChange = (val: string) => {
setValue(val); setValue(val);
}; };
const setActiveTab = (val: string) => {
onChange(val);
};
useImperativeHandle(props.onRef, () => {
return {
setActiveTab: setActiveTab,
};
});
const labelRender = (item: ITabList, key: number) => { const labelRender = (item: ITabList, key: number) => {
return ( return (
<Box style={{ display: "flex", alignItems: "center" }}> <Box style={{ display: "flex", alignItems: "center" }}>
...@@ -73,7 +63,6 @@ const Tabs = (props: IProps) => { ...@@ -73,7 +63,6 @@ const Tabs = (props: IProps) => {
onChange={(e: any, val: string) => { onChange={(e: any, val: string) => {
onChange(val); onChange(val);
}} }}
aria-label="lab API tabs example"
> >
{tabList?.map((item, key) => { {tabList?.map((item, key) => {
if (item.hide) return ""; if (item.hide) return "";
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* @Author: 吴永生#A02208 yongsheng.wu@wholion.com * @Author: 吴永生#A02208 yongsheng.wu@wholion.com
* @Date: 2022-06-21 20:03:56 * @Date: 2022-06-21 20:03:56
* @LastEditors: 吴永生#A02208 yongsheng.wu@wholion.com * @LastEditors: 吴永生#A02208 yongsheng.wu@wholion.com
* @LastEditTime: 2022-06-29 17:07:49 * @LastEditTime: 2022-07-04 20:19:21
* @FilePath: /bkunyun/src/views/Project/ProjectSubmitWork/index.tsx * @FilePath: /bkunyun/src/views/Project/ProjectSubmitWork/index.tsx
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
*/ */
...@@ -103,6 +103,13 @@ const ProjectSubmitWork = observer(() => { ...@@ -103,6 +103,13 @@ const ProjectSubmitWork = observer(() => {
} }
}; };
/** 返回事件 */
const onBack = useCallback(() => {
navigate('/product/cadd/projectWorkbench', {
state: {type: 'workbenchList'}
})
},[navigate])
const outputPathTransform = (path: string) => { const outputPathTransform = (path: string) => {
path = path.slice(13); path = path.slice(13);
return `ProjectData${path}`; return `ProjectData${path}`;
...@@ -192,7 +199,7 @@ const ProjectSubmitWork = observer(() => { ...@@ -192,7 +199,7 @@ const ProjectSubmitWork = observer(() => {
if (errorCode === 0) { if (errorCode === 0) {
message.success("操作成功!"); message.success("操作成功!");
} }
navigate(-1); onBack()
}, },
}); });
...@@ -203,7 +210,7 @@ const ProjectSubmitWork = observer(() => { ...@@ -203,7 +210,7 @@ const ProjectSubmitWork = observer(() => {
if (errorCode === 0) { if (errorCode === 0) {
message.success("操作成功!"); message.success("操作成功!");
} }
navigate(-1); onBack()
}, },
}); });
...@@ -267,11 +274,7 @@ const ProjectSubmitWork = observer(() => { ...@@ -267,11 +274,7 @@ const ProjectSubmitWork = observer(() => {
<div className={styles.swHeaderLeft}> <div className={styles.swHeaderLeft}>
<IconButton <IconButton
color="primary" color="primary"
onClick={() => onClick={onBack}
navigate("/product/cadd/projectWorkbench", {
state: { from: "detail" },
})
}
aria-label="upload picture" aria-label="upload picture"
component="span" component="span"
size="small" size="small"
......
/* /*
* @Author: rocosen * @Author: rocosen
* @Date: 2022-06-12 10:05:13 * @Date: 2022-06-12 10:05:13
* @LastEditors: rocosen * @LastEditors: 吴永生#A02208 yongsheng.wu@wholion.com
* @LastEditTime: 2022-06-07 20:23:02 * @LastEditTime: 2022-07-04 20:23:26
* @FilePath: /bkunyun/src/views/Project/ProjectSetting/index.tsx * @FilePath: /bkunyun/src/views/Project/ProjectSetting/index.tsx
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
*/ */
import React, { memo, useState, useMemo, useEffect } from "react"; import { memo, useMemo } from "react";
import { Box } from "@mui/system"; import { Box } from "@mui/system";
import { useStores } from "@/store/index";
import NoProject from "@/components/NoProject";
import { observer } from "mobx-react-lite"; import { observer } from "mobx-react-lite";
import { useLocation } from "react-router-dom";
import projectImg from "@/assets/project/projectIconSmall.svg"; import projectImg from "@/assets/project/projectIconSmall.svg";
import WorkbenchTemplate from "./workbenchTemplate"; import WorkbenchTemplate from "./workbenchTemplate";
import WorkbenchList from "./workbenchList"; import WorkbenchList from "./workbenchList";
import Tabs from "@/components/mui/Tabs"; import Tabs from "@/components/mui/Tabs";
import usePass from "@/hooks/usePass"; import usePass from "@/hooks/usePass";
import { useLocation } from "react-router-dom"; import Template from "@/assets/project/workbenchTemplate.svg"
import Template_select from "@/assets/project/workbenchTemplate_select.svg"
import List from "@/assets/project/workbenchList.svg"
import List_select from "@/assets/project/workbenchList_select.svg"
import Template from "@/assets/project/workbenchTemplate.svg";
import Template_select from "@/assets/project/workbenchTemplate_select.svg";
import List from "@/assets/project/workbenchList.svg";
import List_select from "@/assets/project/workbenchList_select.svg";
//ui
// import ButtonDemo from "@/views/mui_demo/button";
// import InputDemo from "@/views/mui_demo/input";
const ProjectWorkbench = observer(() => { const ProjectWorkbench = observer(() => {
const { currentProjectStore } = useStores();
const isPass = usePass(); const isPass = usePass();
const location = useLocation(); const location: any = useLocation()
let tabsRef: any = React.createRef();
useEffect(() => {
console.log(isPass("PROJECT_WORKBENCH_FLOES_USE", "USER"), "11111111111");
console.log(isPass("PROJECT_WORKBENCH_FLOES"), "wwwwwwwwwww");
}, []);
useEffect(() => {
const locationInfo: any = location?.state;
const from = locationInfo?.from;
// 如果是从详情页来的,tab展示为任务列表
if (from === "detail" || from === "submitWork") {
tabsRef?.current?.setActiveTab("workbenchList");
}
}, [location, tabsRef]);
const tabList = useMemo(() => { const tabList = useMemo(() => {
return [ return [
{ {
...@@ -82,16 +59,18 @@ const ProjectWorkbench = observer(() => { ...@@ -82,16 +59,18 @@ const ProjectWorkbench = observer(() => {
// iconed: List_select, // iconed: List_select,
// }, // },
]; ];
}, []); }, [isPass]);
return ( return (
<div style={{ padding: 24 }}> <div style={{ padding: 24 }}>
<div style={{ display: "flex", alignItems: "center" }}> <div style={{ display: "flex", alignItems: "center" }}>
<img src={projectImg} alt="项目logo" /> <img src={projectImg} alt="项目logo" />
<span style={{ marginLeft: 12 }}>工作台</span> <span style={{ marginLeft: 12 }}>
工作台
</span>
</div> </div>
<Box sx={{ width: "100%", typography: "body1" }}> <Box sx={{ width: "100%", typography: "body1" }}>
<Tabs onRef={tabsRef} tabList={tabList} /> <Tabs tabList={tabList} defaultValue={location?.state?.type || 'workbenchTemplate'} />
</Box> </Box>
</div> </div>
); );
......
...@@ -120,7 +120,6 @@ const FlowNode = (props: any) => { ...@@ -120,7 +120,6 @@ const FlowNode = (props: any) => {
const Flow = (props: IProps) => { const Flow = (props: IProps) => {
const { tasks, onBatchClick } = props; const { tasks, onBatchClick } = props;
console.log(tasks,'tasks')
const [selectedNodeId, setSelectedNodeId] = useState<string>(""); const [selectedNodeId, setSelectedNodeId] = useState<string>("");
/** 自定义的节点类型 */ /** 自定义的节点类型 */
const nodeTypes = useMemo(() => { const nodeTypes = useMemo(() => {
......
/*
* @Author: 吴永生#A02208 yongsheng.wu@wholion.com
* @Date: 2022-06-17 14:48:57
* @LastEditors: 吴永生#A02208 yongsheng.wu@wholion.com
* @LastEditTime: 2022-07-04 19:38:48
* @FilePath: /bkunyun/src/views/Project/project.ts
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
*/
import { product, hpczone, getDataFileToken } from "@/api/project_api"; import { product, hpczone, getDataFileToken } from "@/api/project_api";
export const getProjectList = async () => { export const getProjectList = async () => {
...@@ -12,7 +20,7 @@ export const setFileServerEndPointLocalStorage = async (zoneId: string) => { ...@@ -12,7 +20,7 @@ export const setFileServerEndPointLocalStorage = async (zoneId: string) => {
if (Array.isArray(res)) { if (Array.isArray(res)) {
res.forEach((item: any) => { res.forEach((item: any) => {
if (item.id === zoneId) { if (item.id === zoneId) {
fileServerEndPoint = item.storageConfig.fileServerEndPoint; fileServerEndPoint = item.storageConfig?.fileServerEndPoint;
} }
}); });
localStorage.setItem("fileServerEndPoint", fileServerEndPoint); localStorage.setItem("fileServerEndPoint", fileServerEndPoint);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment