Commit 82f9cbc7 authored by wuyongsheng's avatar wuyongsheng

Merge branch 'feat-20220801' into 'release'

Feat 20220801

See merge request !81
parents e7ef887f db2eadfd
<?xml version="1.0" encoding="UTF-8"?>
<svg width="16px" height="16px" viewBox="0 0 16 16" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>check-circle-outline备份</title>
<g id="云平台视觉规范" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="check-circle-outline备份" fill="#0DD09B" fill-rule="nonzero">
<path d="M8,0 C3.6,0 0,3.6 0,8 C0,12.4 3.6,16 8,16 C12.4,16 16,12.4 16,8 C16,3.6 12.4,0 8,0 M8,14.4 C4.472,14.4 1.6,11.528 1.6,8 C1.6,4.472 4.472,1.6 8,1.6 C11.528,1.6 14.4,4.472 14.4,8 C14.4,11.528 11.528,14.4 8,14.4 M11.672,4.464 L6.4,9.736 L4.328,7.672 L3.2,8.8 L6.4,12 L12.8,5.6 L11.672,4.464 Z" id="形状"></path>
</g>
</g>
</svg>
\ No newline at end of file
/* 修改滚动条样式 */
div::-webkit-scrollbar,
main::-webkit-scrollbar {
width: 4px;
height: 5px !important;
width: 6px;
height: 5px !important;
}
div::-webkit-scrollbar-track,
main::-webkit-scrollbar-track {
background-color: #fff;
-webkit-border-radius: 2em;
-moz-border-radius: 2em;
border-radius: 2em;
background-color: #fff;
-webkit-border-radius: 3em;
-moz-border-radius: 3em;
border-radius: 3em;
}
div::-webkit-scrollbar-thumb,
main::-webkit-scrollbar-thumb {
background-color: #C2C6CC;
-webkit-border-radius: 2px;
-moz-border-radius: 2px;
border-radius: 2px;
height: 5px !important;
width: 4px!important;
background-color: #c2c6cc;
-webkit-border-radius: 3px;
-moz-border-radius: 3px;
border-radius: 3px;
height: 5px !important;
width: 6px !important;
}
body,
......@@ -48,15 +48,15 @@ input,
textarea,
th,
td {
margin: 0;
padding: 0;
margin: 0;
padding: 0;
}
body,
button,
input,
select,
textarea {
font: 12px/1.5tahoma, arial, \5b8b\4f53;
font: 12px/1.5tahoma, arial, \5b8b\4f53;
}
h1,
h2,
......@@ -64,73 +64,73 @@ h3,
h4,
h5,
h6 {
font-size: 100%;
font-size: 100%;
}
address,
cite,
dfn,
em,
var {
font-style: normal;
font-style: normal;
}
code,
kbd,
pre,
samp {
font-family: couriernew, courier, monospace;
font-family: couriernew, courier, monospace;
}
small {
font-size: 12px;
font-size: 12px;
}
ul,
ol {
list-style: none;
list-style: none;
}
a {
text-decoration: none;
text-decoration: none;
}
a:hover {
text-decoration: underline;
text-decoration: underline;
}
sup {
vertical-align: text-top;
vertical-align: text-top;
}
sub {
vertical-align: text-bottom;
vertical-align: text-bottom;
}
legend {
color: #000;
color: #000;
}
fieldset,
img {
border: 0;
border: 0;
}
button,
input,
select,
textarea {
font-size: 100%;
font-size: 100%;
}
table {
border-collapse: collapse;
border-spacing: 0;
border-collapse: collapse;
border-spacing: 0;
}
input::-webkit-input-placeholder {
color: #c2c6cc;
color: #c2c6cc;
}
input::-moz-placeholder {
/* Mozilla Firefox 19+ */
color: #c2c6cc;
/* Mozilla Firefox 19+ */
color: #c2c6cc;
}
input:-moz-placeholder {
/* Mozilla Firefox 4 to 18 */
color: #c2c6cc;
/* Mozilla Firefox 4 to 18 */
color: #c2c6cc;
}
input:-ms-input-placeholder {
/* Internet Explorer 10-11 */
color: #c2c6cc;
/* Internet Explorer 10-11 */
color: #c2c6cc;
}
......@@ -38,7 +38,7 @@
background-color: #fff;
border-radius: 16px 0 0 0;
box-sizing: border-box;
overflow: scroll;
overflow: overlay;
animation: showDrawer 0.31s ease;
-webkit-animation: showDrawer 0.31s ease;
margin: 0 auto;
......
......@@ -38,7 +38,7 @@ const useStyles = makeStyles({
contentWrap: {
padding: "8px 0", height: 0, transition: "all 1s", position: "absolute", zIndex: 9, width: "100%",
backgroundColor: "#FFFFFF", boxShadow: "0px 2px 3px 0px rgba(0, 0, 0, 0.16)", borderRadius: "4px",
overflowY: "scroll",
overflowY: "overlay",
maxHeight: "398px"
},
contentWrapOpenPosition:{top:"-400px"},
......
......@@ -32,7 +32,7 @@ const useStyles = makeStyles({
contentWrap: {
padding: "8px 0", height: 0, transition: "all 1s", position: "absolute", zIndex: 9, width: "100%",
backgroundColor: "#FFFFFF", boxShadow: "0px 2px 3px 0px rgba(0, 0, 0, 0.16)", borderRadius: "4px",
overflowY: "auto",
overflowY: "overlay",
maxHeight: "400px"
},
contentWrapOpen: { height: "auto" },
......
......@@ -42,7 +42,7 @@ const useStyles = makeStyles({
contentWrap: {
padding: "8px 0", transition: "all 1s", position: "fixed", zIndex: 9, width: "552px",
backgroundColor: "#FFFFFF", boxShadow: "0px 2px 3px 0px rgba(0, 0, 0, 0.16)", borderRadius: "4px",
overflowY: "scroll",
overflowY: "overlay",
maxHeight: "398px",
// position: "fixed",
// width: "552px"
......
import React, { Fragment, ReactNode, useMemo } from "react";
import React, { Fragment, ReactNode } from "react";
import { Snackbar, Alert, Fade, Grow } from "@mui/material";
import useMySnackbar from "./useMySnackbar";
import snackbarContext from "./snackbarContext";
import { ThemeProvider, createTheme } from "@mui/material/styles";
import successIconSrc from "../../assets/project/successIcon.svg";
type MySnackbarProviderProp = {
vertical?: "bottom" | "top";
......@@ -22,7 +23,6 @@ type MySnackbarProviderProp = {
variant?: "filled" | "outlined" | "standard";
errorIcon?: ReactNode;
infoIcon?: ReactNode;
successIcon?: ReactNode;
warningIcon?: ReactNode;
elevation?: number;
alertSx?: object;
......@@ -58,7 +58,6 @@ const MySnackbarProvider = ({
variant = "standard",
errorIcon,
infoIcon,
successIcon,
warningIcon,
elevation = 3,
alertSx,
......@@ -86,7 +85,7 @@ const MySnackbarProvider = ({
minHeight: "38px",
boxShadow: "none",
"& .MuiAlert-action": {
paddingLeft: "60px",
paddingLeft: "32px",
},
"&.MuiAlert-standardError": {
color: "#FF4E4E",
......@@ -122,6 +121,14 @@ const MySnackbarProvider = ({
},
});
const successIcon = (
<img
src={successIconSrc}
style={{ width: "16px", height: "16px", margin: "3px 0" }}
alt=""
/>
);
return (
<Fragment>
<ThemeProvider theme={theme}>
......
......@@ -36,11 +36,16 @@ const MyInput = (props: MyInputProps) => {
height: "36px",
fontSize: "14px",
border: "rgba(221, 225, 230, 1)",
padding: "7px 12px",
"&.MuiInputBase-sizeSmall": {
height: "32px",
},
"& .Mui-disabled": {
"&.Mui-disabled": {
background: "rgba(247, 248, 250, 1)",
cursor: "not-allowed",
"& .MuiOutlinedInput-notchedOutline": {
borderColor: "#DDE1E6",
},
},
},
multiline: {
......@@ -49,7 +54,12 @@ const MyInput = (props: MyInputProps) => {
padding: 0,
},
},
input: {},
input: {
"&.Mui-disabled": {
background: "rgba(247, 248, 250, 1)",
cursor: "not-allowed",
},
},
},
},
MuiInputLabel: {
......@@ -68,26 +78,48 @@ const MyInput = (props: MyInputProps) => {
MuiOutlinedInput: {
styleOverrides: {
root: {
padding: "7px 12px",
"&.Mui-focused .MuiOutlinedInput-notchedOutline": {
borderWidth: "1px",
},
"& .MuiOutlinedInput-notchedOutline": {
borderColor: "#DDE1E6",
},
"&.Mui-disabled": {
background: "rgba(247, 248, 250, 1)",
cursor: "not-allowed",
"& .MuiOutlinedInput-notchedOutline": {
borderColor: "#DDE1E6",
},
},
":hover": {
"& .MuiOutlinedInput-notchedOutline": error
? {}
: {
borderColor: "#1370ff",
},
"&.Mui-disabled": {
background: "rgba(247, 248, 250, 1)",
cursor: "not-allowed",
"& .MuiOutlinedInput-notchedOutline": {
borderColor: "#DDE1E6",
},
},
},
},
input: {
padding: "6.5px 12px",
padding: "0",
verticalAlign: "middle",
},
},
},
MuiTypography: {
styleOverrides: {
root: {
marginRight: "-5px",
},
},
},
},
});
......
......@@ -23,7 +23,7 @@ const theme = createTheme({
MuiMenu: {
styleOverrides: {
root: {
overflowY: "scroll",
overflow: "overlay",
},
},
},
......
......@@ -14,7 +14,7 @@ const theme = createTheme({
MuiMenu: {
styleOverrides: {
root: {
overflowY: "scroll",
overflow: "overlay",
},
},
},
......
......@@ -73,13 +73,18 @@ export default function MySelect(props: IProps) {
height: "36px",
"& .Mui-disabled": {
background: "rgba(247, 248, 250, 1)",
},
"& .MuiSelect-icon": {
"&.Mui-disabled": {
display: "none",
cursor: "not-allowed",
"& .MuiOutlinedInput-notchedOutline": {
borderColor: "#DDE1E6",
},
},
},
input: {
"&.Mui-disabled": {
background: "rgba(247, 248, 250, 1)",
cursor: "not-allowed",
},
},
},
},
......@@ -97,10 +102,30 @@ export default function MySelect(props: IProps) {
MuiOutlinedInput: {
styleOverrides: {
root: {
"&.Mui-focused .MuiOutlinedInput-notchedOutline": {
borderWidth: "1px",
},
"& .MuiOutlinedInput-notchedOutline": {
borderColor: "#DDE1E6",
},
"&.Mui-disabled": {
background: "rgba(247, 248, 250, 1)",
cursor: "not-allowed",
"& .MuiOutlinedInput-notchedOutline": {
borderColor: "#DDE1E6",
},
},
":hover": {
"& .MuiOutlinedInput-notchedOutline": {
borderColor: "#1370ff",
},
"&.Mui-disabled": {
background: "rgba(247, 248, 250, 1)",
cursor: "not-allowed",
"& .MuiOutlinedInput-notchedOutline": {
borderColor: "#DDE1E6",
},
},
},
},
},
......
......@@ -2,7 +2,7 @@
* @Author: 吴永生#A02208 yongsheng.wu@wholion.com
* @Date: 2022-05-31 10:18:13
* @LastEditors: 吴永生 15770852798@163.com
* @LastEditTime: 2022-08-31 20:25:56
* @LastEditTime: 2022-09-01 11:20:24
* @FilePath: /bkunyun/src/views/Project/ProjectSetting/index.tsx
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
*/
......@@ -28,7 +28,7 @@ interface ITabList {
interface IProps {
value?: string;
onChange?: (val: string)=> void;
onChange?: (val: string) => void;
tabList: ITabList[];
defaultValue?: string;
tabPanelSx?: any;
......@@ -88,27 +88,34 @@ const Tabs = (props: IProps) => {
: tabList.filter((e) => !e.hide)[0].value
);
const [hoverValue, setHoverValue] = useState('')
const [hoverValue, setHoverValue] = useState("");
const onTabChange = (val: string) => {
setTabValue(val)
setTabValue(val);
onChange && onChange(val);
};
const getImgSrc = useCallback((item: ITabList)=>{
let result = item.icon
if(value === item.value){
result = item.iconed
}
if(hoverValue === item.value){
result = item.iconHover
}
return result
},[hoverValue, value])
const getImgSrc = useCallback(
(item: ITabList) => {
let result = item.icon;
if (value === item.value || tabValue === item.value) {
result = item.iconed;
}
if (hoverValue === item.value) {
result = item.iconHover;
}
return result;
},
[hoverValue, value, tabValue]
);
const labelRender = (item: ITabList, key: number) => {
return (
<div style={{ display: "flex", alignItems: "center" }} onMouseOver={()=>setHoverValue(item.value)} onMouseOut={()=>setHoverValue('')}>
<div
style={{ display: "flex", alignItems: "center" }}
onMouseOver={() => setHoverValue(item.value)}
onMouseOut={() => setHoverValue("")}
>
{item.icon ? (
<img
style={{ width: "16px", marginRight: "8px" }}
......
/*
* @Author: 吴永生#A02208 yongsheng.wu@wholion.com
* @Date: 2022-06-10 18:05:21
* @LastEditors: 吴永生#A02208 yongsheng.wu@wholion.com
* @LastEditTime: 2022-07-21 11:28:21
* @LastEditors: 吴永生 15770852798@163.com
* @LastEditTime: 2022-09-01 14:09:28
* @FilePath: /bkunyun/src/views/ConsoleLayout/components/TransferList/index.tsx
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
*/
......@@ -43,11 +43,11 @@ const TranSferList = observer(() => {
size="small"
/>
</Box>
<Box style={{ height: 400, overflowY: "auto" }}>
<div style={{ height: 400, overflow: "overlay" }}>
{uploadInfoStore?.fileList.map((item) => {
return <FileItem fileItemInfo={item} key={item.id} />;
})}
</Box>
</div>
</Box>
);
});
......
......@@ -32,7 +32,7 @@
}
.list {
height: calc(100% - 55px);
overflow-y: auto;
overflow-y: overlay;
padding: 15px 20px;
box-sizing: border-box;
}
......
......@@ -202,6 +202,7 @@ const SaveOperator = (props: IProps) => {
<span
style={{
position: "absolute",
fontSize: "14px",
bottom: "7px",
right: "12px",
color: description.length >= 300 ? "#d32f2f" : "#C2C6CC",
......
......@@ -27,18 +27,14 @@ const CustomOperator = observer((props: IProps) => {
/** 设置选中唯一标识符 */
const handleNodeClick = useCallback((val: string) => {
// setSelectTaskId(val);
// console.log(val);
}, []);
// 判断 每个流算子必须至少有一条连接线。
const checkHasOneLine = (sourceArr: string[], targetArr: string[]) => {
console.log("checkHasOneLine");
const all = _.uniq([...sourceArr, ...targetArr]);
if (all.length === operatorList.length) {
console.log("checkHasOneLine1");
return true;
} else {
console.log("checkHasOneLine2");
return false;
}
// _.uniq([2, 1, 2]);
......@@ -46,7 +42,6 @@ const CustomOperator = observer((props: IProps) => {
// 判断 每个起始算子(可以有多个起始点)的输入必须为文件的路径输入或数据集的路径输入。
const checkIn = (targetArr: string[]) => {
console.log("checkIn");
const uniqTargetArr = _.uniq(targetArr);
if (uniqTargetArr.length === operatorList.length) {
// 流节点连成一个圈了
......@@ -82,7 +77,6 @@ const CustomOperator = observer((props: IProps) => {
// 判断 起码有一个结尾算子(可以有多个结尾点)的输出必须为文件保存或数据集保存。
const checkOut = (sourceArr: string[]) => {
console.log("checkOut");
const uniqSourceArr = _.uniq(sourceArr);
if (uniqSourceArr.length === operatorList.length) {
// 流节点连成一个圈了
......@@ -134,22 +128,18 @@ const CustomOperator = observer((props: IProps) => {
edge.target && targetArr.push(edge.target);
});
});
console.log("operatorList", operatorList);
console.log("sourceArr", sourceArr);
console.log("targetArr", targetArr);
if (!checkHasOneLine([...sourceArr], [...targetArr])) {
console.log("checkHasOneLine");
Message.error("内容校验未通过,请检查!");
Message.error("部分算子没有流程线,请检查流程!");
return;
}
if (!checkIn([...targetArr])) {
console.log("checkIn");
Message.error("内容校验未通过,请检查!");
Message.error("每个流程第一步需读取文件/数据集,请检查流程!");
return;
}
if (!checkOut([...sourceArr])) {
console.log("checkOut");
Message.error("内容校验未通过,请检查!");
Message.error(
"每个流程最后一步必须将数据写入为文件/数据集,请检查流程!"
);
return;
}
setSaveFormDialog(true);
......
......@@ -13,7 +13,7 @@
.content {
flex: 1;
height: calc(100vh - 57px);
overflow: scroll;
overflow: overlay;
}
.listItem {
padding: 8px 25px;
......@@ -27,6 +27,7 @@
}
.listItem:hover {
background-color: #eef1f5;
border-left: 3px solid #eef1f5;
}
.routerIcon {
vertical-align: middle;
......
......@@ -42,7 +42,7 @@
}
.table {
flex: 1;
overflow-y: auto;
overflow-y: overlay;
display: flex;
flex-direction: column;
}
......@@ -101,7 +101,7 @@
}
.datasetLiDataList {
flex: 1;
overflow: auto;
overflow: overlay;
}
.noDataList {
flex: 1;
......
......@@ -50,10 +50,6 @@
box-sizing: border-box;
position: relative;
}
/* .tableBox {
height: 300px;
overflow: scroll;
} */
.fileIconBox {
display: flex;
justify-content: flex-start;
......
.logView {
position: absolute;
top: 0;
width: 100%;
height: 100%;
background-color: rgba(0, 0, 0, .5);
z-index: 1002;
position: absolute;
top: 0;
width: 100%;
height: 100%;
background-color: rgba(0, 0, 0, 0.5);
z-index: 1002;
}
.logViewBox {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: 900px;
height: 600px;
background: #282C34;
box-shadow: 2px 4px 20px 0px rgba(0, 15, 45, 0.1200);
border-radius: 8px;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: 900px;
height: 600px;
background: #282c34;
box-shadow: 2px 4px 20px 0px rgba(0, 15, 45, 0.12);
border-radius: 8px;
}
.close {
position: absolute;
right: 0;
top: -28px;
cursor: pointer;
color: #fff;
position: absolute;
right: 0;
top: -28px;
cursor: pointer;
color: #fff;
}
.logViewTop {
/* height: 30px; */
background-color: #1D2126;
border-radius: 8px 8px 0 0;
display: flex;
font-size: 12px;
color: #8A9099;
overflow: auto;
/* height: 30px; */
background-color: #1d2126;
border-radius: 8px 8px 0 0;
display: flex;
font-size: 12px;
color: #8a9099;
overflow: overlay;
}
.logViewTop::-webkit-scrollbar-track {
background-color: #282C34;
}
background-color: #282c34;
}
.logTitle {
display: flex;
align-items: center;
height: 30px;
line-height: 20px;
padding: 0 24px;
cursor: pointer;
display: flex;
align-items: center;
height: 30px;
line-height: 20px;
padding: 0 24px;
cursor: pointer;
}
.logTitleSelected {
background: #282C34;
color: #FFFFFF;
background: #282c34;
color: #ffffff;
}
.fileIcon{
width: 14px!important;
margin-right: 4px;
.fileIcon {
width: 14px !important;
margin-right: 4px;
}
.logViewContent {
position: relative;
box-sizing: border-box;
height: 510px;
padding: 16px 24px 0;
color: #D1D6DE;
white-space:pre-wrap;
word-break: break-word;
overflow: auto;
font-size: 14px;
line-height: 22px;
position: relative;
box-sizing: border-box;
height: 510px;
padding: 16px 24px 0;
color: #d1d6de;
white-space: pre-wrap;
word-break: break-word;
overflow: overlay;
font-size: 14px;
line-height: 22px;
}
.logViewContentMask{
height: 16px;
width: 852px;
background-color: #282C34;
position: absolute;
top: 30px;
left: 24px;
z-index: 1005;
.logViewContentMask {
height: 16px;
width: 852px;
background-color: #282c34;
position: absolute;
top: 30px;
left: 24px;
z-index: 1005;
}
.logViewContent::-webkit-scrollbar-track {
background-color: #282C34;
background-color: #282c34;
}
.logViewBottom {
display: flex;
align-items: center;
justify-content: end;
height: 60px;
padding-right: 24px;
}
\ No newline at end of file
display: flex;
align-items: center;
justify-content: end;
height: 60px;
padding-right: 24px;
}
......@@ -6,7 +6,7 @@
width: 100vw;
height: 100vh;
background-color: RGBA(247, 248, 250, 1);
overflow-y: auto;
overflow-y: overlay;
}
.swHeader {
z-index: 1001;
......@@ -41,7 +41,7 @@
background-color: #fff;
border-right: 1xp solid rgba(235, 237, 240, 1);
width: 360px;
overflow-y: scroll;
overflow-y: overlay;
box-sizing: border-box;
padding: 24px;
}
......@@ -74,7 +74,7 @@
color: rgba(19, 112, 255, 1);
font-size: 14px;
}
.outputItemName{
.outputItemName {
max-width: 172px;
white-space: nowrap;
display: block;
......@@ -164,7 +164,7 @@
position: absolute;
top: 33px;
max-height: 230px;
overflow-y: scroll;
overflow-y: overlay;
padding: 8px 0px;
background: #ffffff;
box-shadow: 0px 3px 10px 0px rgba(0, 24, 57, 0.14);
......
.cardBox {
display: flex;
margin: 16px 16px 0;
height: 156px;
background: #FFFFFF;
box-shadow: 2px 2px 6px 0px rgba(0, 25, 57, 0.0300);
border-radius: 4px;
display: flex;
margin: 16px 16px 0;
height: 156px;
background: #ffffff;
box-shadow: 2px 2px 6px 0px rgba(0, 25, 57, 0.03);
border-radius: 4px;
}
.dividingLine {
height: 156px;
border-left: 1px solid #EBEDF0;
position: relative;
height: 156px;
border-left: 1px solid #ebedf0;
position: relative;
}
.arrow {
position: absolute;
top: 65px;
left: -13px;
width: 26px;
height: 26px;
background-color: #fff;
border-top: 1px solid #EBEDF0;
border-right: 1px solid #EBEDF0;
transform: rotate(45deg);
position: absolute;
top: 65px;
left: -13px;
width: 26px;
height: 26px;
background-color: #fff;
border-top: 1px solid #ebedf0;
border-right: 1px solid #ebedf0;
transform: rotate(45deg);
}
.cardLeft {
flex: 1;
padding: 16px 24px;
flex: 1;
padding: 16px 24px;
}
.topLine {
display: flex;
justify-content: space-between;
display: flex;
justify-content: space-between;
}
.taskName {
min-width: 100px;
font-size: 14px;
line-height: 22px;
font-weight: 500;
cursor: pointer;
min-width: 100px;
font-size: 14px;
line-height: 22px;
font-weight: 500;
cursor: pointer;
}
.taskName:hover{
color: #1370FF;
.taskName:hover {
color: #1370ff;
}
.taskStatus {
display: flex;
align-items: center;
justify-content: center;
width: 78px;
height: 22px;
border-radius: 2px;
font-size: 12px;
display: flex;
align-items: center;
justify-content: center;
width: 78px;
height: 22px;
border-radius: 2px;
font-size: 12px;
}
.statusImg {
width: 10px;
height: 10px;
margin-right: 5px;
width: 10px;
height: 10px;
margin-right: 5px;
}
.taskCreator {
font-size: 12px;
line-height: 20px;
color: #1E2633;
margin-top: 4px;
font-size: 12px;
line-height: 20px;
color: #1e2633;
margin-top: 4px;
}
.taskProgress {
height: 32px;
margin: 12px 0;
height: 32px;
margin: 12px 0;
}
.progressInfo {
display: flex;
justify-content: space-between;
margin-bottom: 8px;
font-size: 12px;
color: #565C66;
display: flex;
justify-content: space-between;
margin-bottom: 8px;
font-size: 12px;
color: #565c66;
}
.bottomLine {
display: flex;
font-size: 12px;
color: #565C66;
display: flex;
font-size: 12px;
color: #565c66;
}
.bottomInfo {
margin: 0 40px 0 4px;
margin: 0 40px 0 4px;
}
.cardRight {
flex: 1;
display: flex;
position: relative;
overflow: auto;
flex: 1;
display: flex;
position: relative;
overflow: overlay;
}
.noResult {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
font-size: 14px;
color: #8A9099;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
font-size: 14px;
color: #8a9099;
}
.resultBox {
padding: 16px 24px 16px 42px;
width: 100%;
display: flex;
flex-wrap: wrap;
align-content: flex-start;
padding: 16px 24px 16px 42px;
width: 100%;
display: flex;
flex-wrap: wrap;
align-content: flex-start;
}
.result {
box-sizing: border-box;
font-size: 12px;
color: #1E2633;
cursor: pointer;
height: 30px;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
padding-right: 8px;
box-sizing: border-box;
font-size: 12px;
color: #1e2633;
cursor: pointer;
height: 30px;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
padding-right: 8px;
}
@media screen and (max-width:1220px) {
.result {
width: 100%;
}
@media screen and (max-width: 1220px) {
.result {
width: 100%;
}
}
@media screen and (min-width:1220px) and (max-width:1600px) {
.result {
width: 50%;
}
@media screen and (min-width: 1220px) and (max-width: 1600px) {
.result {
width: 50%;
}
}
@media screen and (min-width:1600px) {
.result {
width: 33.33%;
}
@media screen and (min-width: 1600px) {
.result {
width: 33.33%;
}
}
.result:hover {
color: #1370FF;
color: #1370ff;
}
.outputLeftImg {
vertical-align: middle;
margin-right: 8px;
}
\ No newline at end of file
vertical-align: middle;
margin-right: 8px;
}
......@@ -21,7 +21,6 @@ import { toJS } from "mobx";
import { observer } from "mobx-react-lite";
import InformationDisplay from "@/components/CommonComponents/InformationDisplay";
import classnames from "classnames";
import LoadingButton from "@mui/lab/LoadingButton";
import InputAdornment from "@mui/material/InputAdornment";
import { useMessage } from "@/components/MySnackbar";
import Loading from "@/views/Loading";
......@@ -354,6 +353,7 @@ const BaseInfo = observer(() => {
/>
<span
style={{
fontSize: "14px",
position: "absolute",
bottom: "7px",
right: "12px",
......@@ -387,13 +387,11 @@ const BaseInfo = observer(() => {
required
error={budgetCheck.error}
disabled={currentUserName !== projectInfo.tenantUser}
// id="projectBudget"
variant="outlined"
value={projectInfo.projectBudget}
placeholder={projectInfo.projectBudget}
onChange={budgetChange}
onBlur={budgetBlur}
helperText={budgetCheck.help}
// size="small"
style={{ width: "560px" }}
InputProps={{
startAdornment: (
......@@ -419,17 +417,12 @@ const BaseInfo = observer(() => {
/>
</div>
<div className={style.projectInfoListLi}>
<LoadingButton
<MyButton
variant="contained"
className={style.updateButton}
onClick={handleClickUpdate}
loading={updateLoading}
sx={{
height: "32px",
}}
>
保存修改
</LoadingButton>
text="保存修改"
/>
</div>
<div className={style.projectInfoListLi}>
<div
......
......@@ -2,7 +2,7 @@
* @Author: 吴永生#A02208 yongsheng.wu@wholion.com
* @Date: 2022-05-31 10:18:13
* @LastEditors: 吴永生 15770852798@163.com
* @LastEditTime: 2022-08-31 18:27:26
* @LastEditTime: 2022-09-01 14:09:34
* @FilePath: /bkunyun/src/views/Project/ProjectSetting/index.tsx
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
*/
......@@ -160,9 +160,9 @@ const AddMember = observer((props: IProps) => {
placeholder="搜索项目成员"
sx={{ mb: 2 }}
/>
<div style={{ overflowY: "scroll", maxHeight: 400 }}>
<div style={{ overflow: "overlay", maxHeight: 400 }}>
<MyTable
tableContainerStyle={{height: 346}}
tableContainerStyle={{ height: 346 }}
checkboxData={(val: string[]) => setCheckData(val)}
param="username"
disabledParam={"enabled"}
......
......@@ -6,7 +6,7 @@
width: 100vw;
height: 100vh;
background-color: RGBA(247, 248, 250, 1);
overflow-y: auto;
overflow-y: overlay;
}
.swHeader {
z-index: 1001;
......@@ -53,7 +53,7 @@
background-color: #fff;
border-right: 1xp solid rgba(235, 237, 240, 1);
width: 608px;
overflow-y: scroll;
overflow-y: overlay;
box-sizing: border-box;
padding: 36px;
}
......
......@@ -2,7 +2,7 @@
* @Author: rocosen
* @Date: 2022-06-12 10:05:13
* @LastEditors: 吴永生 15770852798@163.com
* @LastEditTime: 2022-09-01 09:31:56
* @LastEditTime: 2022-09-01 11:51:16
* @FilePath: /bkunyun/src/views/Project/ProjectSetting/index.tsx
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
*/
......@@ -50,7 +50,7 @@ const ProjectWorkbench = observer(() => {
}, [isPass]);
return (
<div style={{ padding: "28px 24px 24px", height: "100%" }}>
<div style={{ padding: "28px 24px 24px" }}>
<div style={{ display: "flex", alignItems: "center" }}>
<span
style={{
......
/* .headerBox { */
/* margin-bottom: 20px; */
/* margin-bottom: 20px; */
/* } */
.tabHeader {
display: flex;
align-items: center;
justify-content: space-between;
display: flex;
align-items: center;
justify-content: space-between;
}
.tabHeaderSelect {
margin-left: 16px;
margin-left: 16px;
}
.body {
margin-top: 24px;
border-top: 1px solid #F0F2F5;
overflow: hidden;
overflow-y: auto;
height: calc(100vh - 325px);
margin-top: 24px;
border-top: 1px solid #f0f2f5;
overflow: hidden;
overflow-y: overlay;
height: calc(100vh - 325px);
}
.tabBox {
padding: 16px 0px 16px 24px;
display: flex;
align-items: center;
width: 100%;
border-bottom: 1px solid #F0F2F5;
padding: 16px 0px 16px 24px;
display: flex;
align-items: center;
width: 100%;
border-bottom: 1px solid #f0f2f5;
}
.tabBox:hover {
background-color: #F5F6F7;
background-color: #f5f6f7;
}
.tabBoxInfo {
width: 24%;
min-width: 280px;
width: 24%;
min-width: 280px;
}
.tabBoxDescInfo {
display: flex;
display: flex;
}
.tabBoxTitle {
font-size: 14px;
line-height: 22px;
font-weight: 600;
color: #1E2633;
margin-bottom: 8px;
font-size: 14px;
line-height: 22px;
font-weight: 600;
color: #1e2633;
margin-bottom: 8px;
}
.tabBoxDesc {
font-size: 12px;
line-height: 20px;
white-space: nowrap;
font-weight: 400;
color: #8A9099;
font-size: 12px;
line-height: 20px;
white-space: nowrap;
font-weight: 400;
color: #8a9099;
}
.tabBoxTime {
font-size: 12px;
line-height: 20px;
font-weight: 400;
color: #565C66;
margin-left: 8px;
font-size: 12px;
line-height: 20px;
font-weight: 400;
color: #565c66;
margin-left: 8px;
}
.tabBoxMiddle {
display: flex;
align-items: center;
width: 10%;
min-width: 105px;
white-space: nowrap;
display: flex;
align-items: center;
width: 10%;
min-width: 105px;
white-space: nowrap;
}
.tabBoxJobStatus {
display: flex;
align-items: center;
width: 46%;
min-width: 180px;
display: flex;
align-items: center;
width: 46%;
min-width: 180px;
}
.tabBoxStatusText {
font-size: 12px;
line-height: 20px;
font-weight: 400;
color: #1E2633;
margin: 0px 16px 0px 8px;
white-space: nowrap;
font-size: 12px;
line-height: 20px;
font-weight: 400;
color: #1e2633;
margin: 0px 16px 0px 8px;
white-space: nowrap;
}
.tabBoxJobOperate {
width: 10%;
display: flex;
justify-content: center;
width: 10%;
display: flex;
justify-content: center;
}
.tabUpdate {
cursor: pointer;
width: 32px;
height: 32px;
display: flex;
align-items: center;
justify-content: center;
cursor: pointer;
width: 32px;
height: 32px;
display: flex;
align-items: center;
justify-content: center;
}
.tabUpdate:hover {
background: #F0F2F5;
border-radius: 4px;
}
\ No newline at end of file
background: #f0f2f5;
border-radius: 4px;
}
......@@ -11,13 +11,13 @@
}
.headerBoxShadow {
box-shadow: 0 5px 4px -4px rgb(0, 0, 0, .15);
box-shadow: 0 5px 4px -4px rgb(0, 0, 0, 0.15);
}
.templateBox {
padding: 0 32px;
height: calc(100vh - 168px);
overflow: auto;
overflow: overlay;
}
.templateList {
......
......@@ -16,6 +16,14 @@
margin-bottom: 24px;
}
.templateBox {
display: flex;
flex-wrap: wrap;
/* max-height: calc(100vh - 276px); */
margin: 0 -8px;
overflow-y: overlay;
}
.template {
padding: 0 8px;
box-sizing: border-box;
......@@ -24,7 +32,7 @@
.templateBlock {
height: 194px;
background: #ffffff;
box-shadow: 0px 3px 10px 0px rgba(0, 24, 57, 0.0400);
box-shadow: 0px 3px 10px 0px rgba(0, 24, 57, 0.04);
border-radius: 4px;
border: 1px solid #ebedf0;
padding: 16px 20px;
......@@ -36,19 +44,19 @@
box-sizing: border-box;
}
@media screen and (max-width:1220px) {
@media screen and (max-width: 1220px) {
.template {
width: 50%;
}
}
@media screen and (min-width:1220px) and (max-width:1600px) {
@media screen and (min-width: 1220px) and (max-width: 1600px) {
.template {
width: 33.33333%;
}
}
@media screen and (min-width:1600px) {
@media screen and (min-width: 1600px) {
.template {
width: 25%;
}
......@@ -113,4 +121,4 @@
align-items: center;
flex-direction: column;
cursor: pointer;
}
\ No newline at end of file
}
......@@ -2,7 +2,7 @@
* @Author: 吴永生#A02208 yongsheng.wu@wholion.com
* @Date: 2022-05-31 10:18:13
* @LastEditors: 吴永生 15770852798@163.com
* @LastEditTime: 2022-08-18 10:01:36
* @LastEditTime: 2022-09-01 10:49:46
* @FilePath: /bkunyun/src/views/Project/ProjectSetting/index.tsx
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
*/
......@@ -141,7 +141,7 @@ const ProjectMembers = observer(() => {
</Box>
)}
{templateList.length > 0 && (
<Box sx={{ display: "flex", flexWrap: "wrap", margin: "0 -8px" }}>
<Box className={styles.templateBox}>
{templateList &&
templateList.length > 0 &&
templateList.map((item, key) => {
......
......@@ -76,7 +76,7 @@ const AddProject = (props: IAddProjectProps) => {
project.filetoken = res;
currentProjectStore.changeProject(project);
});
navigate(`/product/cadd/projectOverview`)
navigate(`/product/cadd/projectOverview`);
}
},
onError: () => {
......@@ -137,7 +137,7 @@ const AddProject = (props: IAddProjectProps) => {
const handleDescChange = (e: any) => {
const desc = e.target.value;
setDesc(desc.slice(0,300));
setDesc(desc.slice(0, 300));
// if (desc.length > 300) {
// setDescCheck({
// error: true,
......@@ -177,7 +177,6 @@ const AddProject = (props: IAddProjectProps) => {
title="新建项目"
loading={loading}
>
<div className={style.formBox} onClick={handleFromBox}>
<MyInput
required
......@@ -222,9 +221,10 @@ const AddProject = (props: IAddProjectProps) => {
<span
style={{
position: "absolute",
fontSize: "14px",
bottom: "7px",
right: "12px",
color: desc.length >= 300 ? "#d32f2f" : "#C2C6CC"
color: desc.length >= 300 ? "#d32f2f" : "#C2C6CC",
}}
>
{desc.length}/300
......
.projectBox {
width: calc(100vw - 220px);
height: calc(100vh - 57px);
background-color: rgba(0, 0, 0, .5);
background-color: rgba(0, 0, 0, 0.5);
/* width: 260px;
height: calc(100vh - 57px); */
/* width: 260px;
......@@ -12,14 +12,14 @@
flex-direction: column; */
}
.mainBox{
.mainBox {
width: 260px;
height: calc(100vh - 57px);
background-color: #fff;
border-right: 1px solid #ebedf0;
display: flex;
flex-direction: column;
border-left: 1px solid #DDE1E6;;
border-left: 1px solid #dde1e6;
}
.searchBox {
......@@ -56,7 +56,7 @@
}
.projectlist {
flex: 1;
overflow-y: scroll;
overflow-y: overlay;
border-top: 1px solid #f0f2f5;
}
.projectli {
......
......@@ -34,11 +34,11 @@
.versionBox {
display: inline-block;
color: #1E2633;
color: #1e2633;
border-radius: 2px;
font-size: 12px;
padding: 2px 8px;
background-color: #F0F2F5;
background-color: #f0f2f5;
}
.searchBox {
......@@ -57,7 +57,7 @@
}
.listBox {
overflow-y: scroll;
overflow-y: overlay;
height: calc(100% - 48px);
position: relative;
}
......
......@@ -3,7 +3,7 @@
height: calc(100vh - 140px);
width: 360px;
box-sizing: border-box;
overflow-y: scroll;
overflow-y: overlay;
padding: 0 24px;
}
.taskInfo {
......@@ -129,10 +129,10 @@
line-height: 20px;
color: rgba(255, 78, 78, 1);
}
.noParameters{
.noParameters {
font-size: 12px;
text-align: center;
color: #C2C6CC;
color: #c2c6cc;
line-height: 84px;
}
......
......@@ -250,16 +250,17 @@ const SaveCustomTemplate = (props: IProps) => {
multiline
rows={4}
/>
<span
style={{
position: "absolute",
bottom: "7px",
right: "12px",
color: description.length >= 300 ? "#d32f2f" : "#C2C6CC"
}}
>
{description.length}/300
</span>
<span
style={{
position: "absolute",
fontSize: "14px",
bottom: "7px",
right: "12px",
color: description.length >= 300 ? "#d32f2f" : "#C2C6CC",
}}
>
{description.length}/300
</span>
</div>
</div>
</MyDialog>
......
......@@ -6,7 +6,7 @@
width: 100vw;
height: 100vh;
background-color: RGBA(247, 248, 250, 1);
overflow-y: auto;
overflow-y: overlay;
}
.swHeader {
z-index: 1001;
......
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