master_basic
parent
9277cbef95
commit
591a315517
@ -0,0 +1,25 @@
|
|||||||
|
.btn {
|
||||||
|
height: 32px;
|
||||||
|
width: 112px;
|
||||||
|
padding: 0px 20px;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
.confirm_btn {
|
||||||
|
background: linear-gradient(180deg, #87CDEE 0%, #69C0E9 34%, #7ECDF2 51%, #56B9E6 63%, #81D7FE 100%);
|
||||||
|
box-shadow: 0px 1px 4px 0px rgba(189, 204, 224, 0.5);
|
||||||
|
border-radius: 4px;
|
||||||
|
border: 1px solid rgba(76, 106, 118, 0.22);
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cancel_btn {
|
||||||
|
background: linear-gradient(180deg, #E3F6FF 0%, #F3FBFF 37%, #FFFFFF 51%, #EBF9FF 60%, #FFFFFF 100%);
|
||||||
|
box-shadow: 0px 1px 4px 0px rgba(81, 84, 90, 0.5);
|
||||||
|
border-radius: 4px;
|
||||||
|
border: 1px solid rgba(171, 207, 223, 0.22);
|
||||||
|
color: #65686E;
|
||||||
|
}
|
@ -0,0 +1,38 @@
|
|||||||
|
import { FC, useEffect, useState } from 'react';
|
||||||
|
import styles from './index.less';
|
||||||
|
|
||||||
|
interface PageProps {
|
||||||
|
type?: string; // 按钮类型
|
||||||
|
text?: string; // 按钮文字
|
||||||
|
onClick: () => void;
|
||||||
|
}
|
||||||
|
|
||||||
|
const ButtonComp: FC<PageProps> = ({
|
||||||
|
type = 'confirm',
|
||||||
|
text = '确定',
|
||||||
|
onClick
|
||||||
|
}) => {
|
||||||
|
let timerId: any;
|
||||||
|
|
||||||
|
const click = () => {
|
||||||
|
clearTimeout(timerId);
|
||||||
|
timerId = setTimeout(() => {
|
||||||
|
onClick()
|
||||||
|
}, 300);
|
||||||
|
}
|
||||||
|
|
||||||
|
return (
|
||||||
|
<>
|
||||||
|
{
|
||||||
|
type == 'confirm' &&
|
||||||
|
<div className={`${styles.btn} ${styles.confirm_btn}`} onClick={click}>{text}</div>
|
||||||
|
}
|
||||||
|
{
|
||||||
|
type == 'cancel' &&
|
||||||
|
<div className={`${styles.btn} ${styles.cancel_btn}`} onClick={onClick}>{text}</div>
|
||||||
|
}
|
||||||
|
</>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
export default ButtonComp
|
@ -0,0 +1,25 @@
|
|||||||
|
.cont_warp {
|
||||||
|
position: relative;
|
||||||
|
background: #FFFFFF;
|
||||||
|
border-radius: 2px 0px 0px 0px;
|
||||||
|
border: 1px solid #D8D8D8;
|
||||||
|
margin-top: 8px;
|
||||||
|
padding-top: 25px;
|
||||||
|
|
||||||
|
.cont_warp_title {
|
||||||
|
position: absolute;
|
||||||
|
top: -8px;
|
||||||
|
left: -1px;
|
||||||
|
padding: 0 30px;
|
||||||
|
height: 32px;
|
||||||
|
line-height: 32px;
|
||||||
|
background: linear-gradient(180deg, #F4FBFF 0%, #CFE9F6 100%);
|
||||||
|
border-radius: 4px 4px 4px 0px;
|
||||||
|
border: 1px solid #D0DAE7;
|
||||||
|
cursor: default;
|
||||||
|
|
||||||
|
font-size: 16px;
|
||||||
|
font-weight: 400;
|
||||||
|
color: #333333;
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,24 @@
|
|||||||
|
import { FC, useEffect, useState } from 'react';
|
||||||
|
import styles from './index.less';
|
||||||
|
|
||||||
|
interface PageProps {
|
||||||
|
style: any; // 样式
|
||||||
|
text: string; // 标题
|
||||||
|
children?: any; // 插槽内容
|
||||||
|
}
|
||||||
|
|
||||||
|
const ContentWarp: FC<PageProps> = ({
|
||||||
|
style,
|
||||||
|
text,
|
||||||
|
...props
|
||||||
|
}) => {
|
||||||
|
|
||||||
|
return (
|
||||||
|
<div className={styles.cont_warp} style={style}>
|
||||||
|
<div className={styles.cont_warp_title}>{text}</div>
|
||||||
|
{props?.children}
|
||||||
|
</div>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
export default ContentWarp
|
@ -0,0 +1,60 @@
|
|||||||
|
.params_warp {
|
||||||
|
position: relative;
|
||||||
|
padding: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn_warp {
|
||||||
|
position: absolute;
|
||||||
|
bottom: 20px;
|
||||||
|
right: 20px;
|
||||||
|
display: flex;
|
||||||
|
align-items: flex-end;
|
||||||
|
justify-content: flex-end;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bottom_warp {
|
||||||
|
position: absolute;
|
||||||
|
bottom: 0;
|
||||||
|
width: 100%;
|
||||||
|
height: 140px;
|
||||||
|
background: #FFFFFF;
|
||||||
|
border-radius: 2px 0px 0px 0px;
|
||||||
|
opacity: 0.8;
|
||||||
|
border-top: 1px solid #D8D8D8;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: space-between;
|
||||||
|
}
|
||||||
|
|
||||||
|
.item_con {
|
||||||
|
width: 50%;
|
||||||
|
height: 100%;
|
||||||
|
display: flex;
|
||||||
|
|
||||||
|
._img {
|
||||||
|
width: 54px;
|
||||||
|
height: 54px;
|
||||||
|
margin: 20px;
|
||||||
|
background-color: saddlebrown;
|
||||||
|
}
|
||||||
|
|
||||||
|
.item_info {
|
||||||
|
&:nth-child(2), &:nth-child(3) {
|
||||||
|
height: 22px;
|
||||||
|
font-size: 14px;
|
||||||
|
font-weight: 400;
|
||||||
|
color: #333333;
|
||||||
|
line-height: 22px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.item_title {
|
||||||
|
margin-top: 34px;
|
||||||
|
height: 26px;
|
||||||
|
line-height: 26px;
|
||||||
|
font-size: 16px;
|
||||||
|
font-weight: 600;
|
||||||
|
color: #333333;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,4 @@
|
|||||||
|
.ant-form-item .ant-form-item-label >label::after {
|
||||||
|
content: "";
|
||||||
|
margin-inline-end: 10px;
|
||||||
|
}
|
@ -0,0 +1,21 @@
|
|||||||
|
.pd20 {
|
||||||
|
padding: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pb100 {
|
||||||
|
padding-bottom: 100px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mr20 {
|
||||||
|
margin-right: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ml20 {
|
||||||
|
margin-left: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.line {
|
||||||
|
width: 100%;
|
||||||
|
height: 1px;
|
||||||
|
background: #EDEDED;
|
||||||
|
}
|
Loading…
Reference in new issue