提交 6785c016 作者: 翁进城

项目资讯样式招投村项目、行业新闻样式改版

上级 5e4dfbf5
import React, { Suspense } from 'react'; import React, { Suspense } from "react";
import { Layout, Space } from 'antd'; import { Layout, Space } from "antd";
import NavHeader from '~/components/NavHeader'; import NavHeader from "~/components/NavHeader";
import FooterView from '~/components/footer'; import FooterView from "~/components/footer";
const { Header, Footer, Content } = Layout; const { Header, Footer, Content } = Layout;
const headerStyle: React.CSSProperties = { const headerStyle: React.CSSProperties = {
height: 'auto', height: "auto",
background: 'none', background: "none",
padding: 0, padding: 0,
lineHeight: '1', lineHeight: "1",
position: 'relative' position: "relative",
}; };
const contentStyle: React.CSSProperties = { const contentStyle: React.CSSProperties = {
minHeight: 120, minHeight: 120,
lineHeight: '1', lineHeight: "1",
color: '', color: "",
backgroundColor: '', backgroundColor: "",
width:1200, width: 1200,
position: 'relative', position: "relative",
margin: "0 auto" margin: "0 auto",
}; };
const footerStyle: React.CSSProperties = { const footerStyle: React.CSSProperties = {
color: '', color: "",
backgroundColor: '', backgroundColor: "",
lineHeight: '1', lineHeight: "1",
padding: 0, padding: 0,
position: 'relative', position: "relative",
marginTop: 78 marginTop: 78,
}; };
type Props = { type Props = {
children: React.ReactNode; children: React.ReactNode;
layoutStyle: React.CSSProperties;
}; };
export default function LayoutView(props: Props) { export default function LayoutView(props: Props) {
return ( return (
<Space direction='vertical' style={{ width: '100%' }} size={[0, 48]}> <Space direction="vertical" style={{ width: "100%" }} size={[0, 48]}>
<Layout style={{ minHeight: '100vh' }}> <Layout style={Object.assign({ minHeight: "100vh" }, props.layoutStyle)}>
<Header style={headerStyle}> <Header style={headerStyle}>
<NavHeader /> <NavHeader />
</Header> </Header>
<Content style={contentStyle}> <Content style={contentStyle}>{props.children}</Content>
{props.children}
</Content>
<Footer style={footerStyle}> <Footer style={footerStyle}>
<FooterView></FooterView> <FooterView></FooterView>
</Footer> </Footer>
......
...@@ -2,12 +2,12 @@ ...@@ -2,12 +2,12 @@
//项目需求 //项目需求
.bids { .bids {
padding-top: 20px;
.item { .item {
padding: 24px 14px 24px 16px; padding: 24px 17px 24px 16px;
display: flex; display: flex;
border-bottom: 1px dashed RGBA(222, 222, 222, 1); border-bottom: 1px dashed RGBA(222, 222, 222, 1);
justify-content: space-between;
align-items: center;
.info { .info {
.title { .title {
...@@ -27,22 +27,41 @@ ...@@ -27,22 +27,41 @@
} }
.btn { .btn {
width: 120px; width: 168px;
height: 40px; height: 40px;
background: #ff552d;
border-radius: 6px; border-radius: 6px;
font-size: 14px; font-size: 14px;
font-family: MicrosoftYaHei; font-family: MicrosoftYaHei;
color: #ffffff; color: #ffffff;
} background: url("./assets/btn.png");
background-size: 100% 100%;
.btnDisabled {
width: 120px;
height: 40px;
background: #c7cacf;
border-radius: 6px;
border: none; border: none;
color: #fff; display: flex;
justify-content: space-between;
padding: 0;
align-items: center;
.text1 {
width: 80px;
font-size: 18px;
font-family: PingFangSC-Medium, PingFang SC;
font-weight: 500;
color: #ff4500;
text-align: left;
padding-left: 8px;
}
.text2 {
flex: 1;
text-align: center;
font-size: 16px;
font-family: MicrosoftYaHei;
color: #ffffff;
}
&.disabled {
opacity: 0.6;
}
} }
} }
} }
import { Button } from 'antd'; import { Button } from "antd";
import styles from './index.module.scss'; import styles from "./index.module.scss";
const list = [ const list = [
{ {
isApply: false isApply: false,
}, },
{ {
isApply: true isApply: true,
} },
] ];
export default function requirements(){ export default function requirements() {
return ( return (
<div className={styles.bids}> <div className={styles.bids}>
{list.map((item, i) => { {list.map((item, i) => {
return ( return (
<div className={styles.item} key={i}> <div className={styles.item} key={i}>
<div className={styles.logo}></div>
<div className={styles.info}> <div className={styles.info}>
<div className={styles.title}>项目需求:电力巡检需要5名飞手</div> <div className={styles.title}>项目需求:电力巡检需要5名飞手</div>
<div className={styles.desc}>155万元</div>
</div> </div>
{item.isApply ? ( {item.isApply ? (
<Button type="primary" disabled className={styles.btnDisabled}> <Button
已申请 type="primary"
disabled
className={`${styles.btn} ${styles.disabled}`}
>
<div className={styles.text1}>155W</div>
<div className={styles.text2}>已申请</div>
</Button> </Button>
) : ( ) : (
<Button type="primary" className={styles.btn}> <Button type="primary" className={styles.btn}>
申请合作 <div className={styles.text1}>155W</div>
<div className={styles.text2}>申请合作</div>
</Button> </Button>
)} )}
</div> </div>
...@@ -35,4 +39,4 @@ export default function requirements(){ ...@@ -35,4 +39,4 @@ export default function requirements(){
})} })}
</div> </div>
); );
} }
\ No newline at end of file
...@@ -8,6 +8,8 @@ ...@@ -8,6 +8,8 @@
padding: 39px 14px 39px 16px; padding: 39px 14px 39px 16px;
display: flex; display: flex;
border-bottom: 1px dashed RGBA(222, 222, 222, 1); border-bottom: 1px dashed RGBA(222, 222, 222, 1);
border-bottom: 1px dashed RGBA(222, 222, 222, 1);
justify-content: space-between;
.info { .info {
.title { .title {
......
...@@ -16,7 +16,6 @@ export default function requirements() { ...@@ -16,7 +16,6 @@ export default function requirements() {
{list.map((item, i) => { {list.map((item, i) => {
return ( return (
<div className={styles.item} key={i}> <div className={styles.item} key={i}>
<div className={styles.logo}></div>
<div className={styles.info}> <div className={styles.info}>
<div className={styles.title}>项目需求:电力巡检需要5名飞手</div> <div className={styles.title}>项目需求:电力巡检需要5名飞手</div>
</div> </div>
......
@import "~/styles/mixins.scss"; @import "~/styles/mixins.scss";
//项目需求
.requirements { .layout {
display: flex;
}
.new {
padding-top: 20px; padding-top: 20px;
width: 750px;
.item { .item {
cursor: pointer; cursor: pointer;
...@@ -31,3 +36,51 @@ ...@@ -31,3 +36,51 @@
} }
} }
} }
.newsBox {
margin-top: 24px;
width: 384px;
height: 491px;
background: url("./assets/bk.png");
background-size: 100% 100%;
.newsHeader {
padding: 24px;
display: flex;
align-items: center;
gap: 16px;
.newsHeaderTitle {
font-size: 20px;
font-family: MicrosoftYaHeiUI-Bold, MicrosoftYaHeiUI;
font-weight: bold;
color: #000000;
}
}
.newList {
.newItem {
cursor: pointer;
padding: 5px 16px 5px 20px;
display: flex;
justify-content: space-between;
align-items: center;
.newItemTitle {
font-size: 16px;
font-family: MicrosoftYaHei;
color: #323232;
line-height: 21px;
@include ellipsis(2);
width: 217px;
}
.newItemImg {
width: 90px;
height: 60px;
background: #d8d8d8;
border-radius: 6px;
}
}
}
}
import styles from './index.module.scss'; import { RightOutlined } from "@ant-design/icons";
import { Col, Row } from "antd";
import styles from "./index.module.scss";
import Image from "next/image";
export default function requirements(){ export default function requirements() {
return ( return (
<div className={styles.requirements}> <Row justify="space-between">
<div className={styles.item}> <Col className={styles.new}>
<div className={styles.logo}></div> <div className={styles.item}>
<div className={styles.info}> <div className={styles.logo}></div>
<div className={styles.title}>项目需求:电力巡检需要5名飞手</div> <div className={styles.info}>
<div className={styles.title}>项目需求:电力巡检需要5名飞手</div>
</div>
</div> </div>
</div> </Col>
</div> <Col className={styles.newsBox}>
<div className={styles.newsHeader}>
<div className={styles.newsHeaderTitle}>行业新闻</div>
<RightOutlined style={{ fontSize: 16 }} />
</div>
<ul className={styles.newList}>
<li className={styles.newItem}>
<div className={styles.newItemTitle}>
中国超音速无人机雨燕试飞成功好棒呀
</div>
<Image className={styles.newItemImg} src="" alt=""></Image>
</li>
</ul>
</Col>
</Row>
); );
} }
\ No newline at end of file
...@@ -19,10 +19,10 @@ ...@@ -19,10 +19,10 @@
height: 60px; height: 60px;
background: #f4f5f7; background: #f4f5f7;
border: 1px solid #f0f0f0; border: 1px solid #f0f0f0;
padding-right: 25px;
:global .ant-tabs-nav { :global .ant-tabs-nav {
height: 100%; height: 100%;
margin: 0;
.ant-tabs-tab-btn { .ant-tabs-tab-btn {
width: 100px; width: 100px;
......
...@@ -64,7 +64,7 @@ const onDateChange: DatePickerProps["onChange"] = (date, dateString) => { ...@@ -64,7 +64,7 @@ const onDateChange: DatePickerProps["onChange"] = (date, dateString) => {
}; };
const operations = ( const operations = (
<Space size={8}> <Space size={8} style={{ marginRight: 25 }}>
<Cascader <Cascader
options={options} options={options}
onChange={onChange} onChange={onChange}
...@@ -106,7 +106,7 @@ const items = ["项目需求", "招投标项目", "业务案例", "行业新闻" ...@@ -106,7 +106,7 @@ const items = ["项目需求", "招投标项目", "业务案例", "行业新闻"
export default function Mall() { export default function Mall() {
return ( return (
<Layout> <Layout layoutStyle={{ backgroundColor: "#fff" }}>
<div style={{ backgroundColor: "#fff", minHeight: 820 }}> <div style={{ backgroundColor: "#fff", minHeight: 820 }}>
<div className="page"> <div className="page">
<div className={styles.bannerWrap}> <div className={styles.bannerWrap}>
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论