diff --git a/.idea/misc.xml b/.idea/misc.xml index 639900d..6e86672 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -1,4 +1,3 @@ - diff --git a/app/(articles)/announcements/[articleId]/layout.tsx b/app/(articles)/announcements/[articleId]/layout.tsx index 3ccabc8..d8efd89 100644 --- a/app/(articles)/announcements/[articleId]/layout.tsx +++ b/app/(articles)/announcements/[articleId]/layout.tsx @@ -1,16 +1,9 @@ import { ReactNode } from "react"; import ArticleLayout from "@/app/components/ArticleLayout"; - -const navLinks = [ - { title: "人才概况", href: "/" }, - { title: "人才概况", href: "/3" }, - { title: "人才概况", href: "/4" }, - { title: "人才概况", href: "/5" }, -]; +import Breadcrumb from "@/app/components/Breadcrumb"; const Layout = ({ children, - params, }: { children: ReactNode; params: { @@ -19,7 +12,10 @@ const Layout = ({ }) => { return ( - {children} +
+ +
{children}
+
); }; diff --git a/app/(articles)/announcements/pages/[pageIndex]/layout.tsx b/app/(articles)/announcements/pages/[pageIndex]/layout.tsx new file mode 100644 index 0000000..e440bff --- /dev/null +++ b/app/(articles)/announcements/pages/[pageIndex]/layout.tsx @@ -0,0 +1,21 @@ +import { ReactNode } from "react"; +import ArticleLayout from "@/app/components/ArticleLayout"; +import Breadcrumb from "@/app/components/Breadcrumb"; + +const Layout = ({ children }: { children: ReactNode }) => { + return ( + +
+ +
{children}
+
+
+ ); +}; + +export default Layout; diff --git a/app/(articles)/announcements/pages/[pageIndex]/page.tsx b/app/(articles)/announcements/pages/[pageIndex]/page.tsx new file mode 100644 index 0000000..82a2506 --- /dev/null +++ b/app/(articles)/announcements/pages/[pageIndex]/page.tsx @@ -0,0 +1,43 @@ +import { listArticles } from "@/app/api/articles"; +import { Fragment } from "react"; +import styles from "./styles.module.scss"; +import Link from "next/link"; +import Pagination from "@/app/components/Pagination"; + +const Page = async ({ + params, +}: { + params: { + pageIndex: string; + }; +}) => { + const data = await listArticles({ + cid: "3", + pageNo: params.pageIndex, + pageSize: 20, + }); + return ( +
+

公告通知

+
    + {data.lists.map((article, index) => ( +
  • + + {article.title} + +
  • + ))} +
+ +
+ ); +}; + +export default Page; diff --git a/app/(articles)/announcements/pages/[pageIndex]/styles.module.scss b/app/(articles)/announcements/pages/[pageIndex]/styles.module.scss new file mode 100644 index 0000000..ce0b03a --- /dev/null +++ b/app/(articles)/announcements/pages/[pageIndex]/styles.module.scss @@ -0,0 +1,7 @@ +.articles { + .article { + &:not(:last-child) { + border-bottom: 1px dashed #000; + } + } +} \ No newline at end of file diff --git a/app/(introduce)/organization/(functional-departments)/func-dep/asset-finance/layout.tsx b/app/(introduce)/organization/(functional-departments)/func-dep/asset-finance/layout.tsx new file mode 100644 index 0000000..95d6303 --- /dev/null +++ b/app/(introduce)/organization/(functional-departments)/func-dep/asset-finance/layout.tsx @@ -0,0 +1,20 @@ +import React, { ReactNode } from "react"; +import Breadcrumb from "@/app/components/Breadcrumb"; + +const breadcrumb = [ + { href: "/", title: "首页" }, + { href: "/organization/overview", title: "机构设置" }, + { href: "/organization/func-dep/general-office", title: "职能部门" }, + { href: "/organization/func-dep/asset-finance", title: "资产财务处" }, +]; + +const Layout = ({ children }: { children: ReactNode }) => { + return ( +
+ +
{children}
+
+ ); +}; + +export default Layout; diff --git a/app/(introduce)/organization/(functional-departments)/func-dep/asset-finance/page.tsx b/app/(introduce)/organization/(functional-departments)/func-dep/asset-finance/page.tsx new file mode 100644 index 0000000..e7c0be6 --- /dev/null +++ b/app/(introduce)/organization/(functional-departments)/func-dep/asset-finance/page.tsx @@ -0,0 +1,32 @@ +const Page = () => { + return ( + <> +

+ 资产财务处 +

+

+ 负责院财务管理、国有资产管理等工作,主要职责为: +

    +
  1. + 负责院预算管理工作,含部门预算编报、下达、控制、调整、分析等。 +
  2. +
  3. + 负责院财务管理工作,含财务管理体系设计、科研项目经费管理、资金统筹调配以及税收筹划等。 +
  4. +
  5. + 负责院会计核算工作,含中央事业法人、地方法人、基建项目、工会经费、党费专户等的财务报销,账务核算、报表编制以及会计档案管理等。 +
  6. +
  7. + 负责院国有资产管理工作,含流动资产、固定资产、在建工程、对外投资和无形资产等所有权管理。 +
  8. +
  9. 负责配合国家有关部门的各项审计和稽查工作。
  10. +
  11. 负责指导、监督院投资入股企业的财务及资产运营管理工作。
  12. +
  13. 采购管理。
  14. +
  15. 采购管理。
  16. +
+

+ + ); +}; + +export default Page; diff --git a/app/(introduce)/organization/(functional-departments)/func-dep/general-office/layout.tsx b/app/(introduce)/organization/(functional-departments)/func-dep/general-office/layout.tsx new file mode 100644 index 0000000..fd3ac06 --- /dev/null +++ b/app/(introduce)/organization/(functional-departments)/func-dep/general-office/layout.tsx @@ -0,0 +1,20 @@ +import React, { ReactNode } from "react"; +import Breadcrumb from "@/app/components/Breadcrumb"; + +const breadcrumb = [ + { href: "/", title: "首页" }, + { href: "/organization/overview", title: "机构设置" }, + { href: "/organization/func-dep/general-office", title: "职能部门" }, + { href: "/organization/func-dep/general-office", title: "综合办公室" }, +]; + +const Layout = ({ children }: { children: ReactNode }) => { + return ( +
+ +
{children}
+
+ ); +}; + +export default Layout; diff --git a/app/(introduce)/organization/(functional-departments)/func-dep/general-office/page.tsx b/app/(introduce)/organization/(functional-departments)/func-dep/general-office/page.tsx new file mode 100644 index 0000000..576084e --- /dev/null +++ b/app/(introduce)/organization/(functional-departments)/func-dep/general-office/page.tsx @@ -0,0 +1,44 @@ +import React from "react"; + +const Page = () => { + return ( + <> +

+ 综合办公室 +

+

+ 负责院党建与创新文化建设、综合行政管理、科学传播与信息化建设等工作,主要职责为: +

    +
  1. + 负责党建日常工作,承担党委办公室职责,协助党委做好党的组织建设与发展、党委中心组学习、党员教育和管理等。 +
  2. +
  3. + 负责党建日常工作,承担党委办公室职责,协助党委做好党的组织建设与发展、党委中心组学习、党员教育和管理等。 +
  4. +
  5. 负责综合协调和督查督办院重点工作。
  6. +
  7. + 牵头负责院科学传播工作,包括新闻宣传、政务信息、网络宣传、科普、信息公开、新媒体等,负责院新闻发言人相关工作。 +
  8. +
  9. + 牵头负责院信息化建设工作, + 包括院网站、ARP系统、院网络与通讯设备等安全及运行维护。 +
  10. +
  11. + 负责院日常行政工作,包括制度建设、公文管理、综合档案、机要、院法人证书及印鉴、院法务工作等。 +
  12. +
  13. 牵头负责创新文化建设。
  14. +
  15. 负责工青妇等群团组织的协调管理。
  16. +
  17. 负责统战工作。
  18. +
  19. 负责信访与维稳工作。
  20. +
  21. 负责科技扶贫工作。
  22. +
  23. 承担院领导安排的其他工作。
  24. +
+

+

+ 监察审计室挂靠综合办公室,承担院纪委日常工作(含科研道德委员会日常工作),负责院纪检、监察、审计等工作,协助党委做好党风廉政建设及反腐败工作。 +

+ + ); +}; + +export default Page; diff --git a/app/(introduce)/organization/(functional-departments)/func-dep/industry/layout.tsx b/app/(introduce)/organization/(functional-departments)/func-dep/industry/layout.tsx new file mode 100644 index 0000000..c5450dc --- /dev/null +++ b/app/(introduce)/organization/(functional-departments)/func-dep/industry/layout.tsx @@ -0,0 +1,20 @@ +import React, { ReactNode } from "react"; +import Breadcrumb from "@/app/components/Breadcrumb"; + +const breadcrumb = [ + { href: "/", title: "首页" }, + { href: "/organization/overview", title: "机构设置" }, + { href: "/organization/func-dep/general-office", title: "职能部门" }, + { href: "/organization/func-dep/industry", title: "产业处" }, +]; + +const Layout = ({ children }: { children: ReactNode }) => { + return ( +
+ +
{children}
+
+ ); +}; + +export default Layout; diff --git a/app/(introduce)/organization/(functional-departments)/func-dep/industry/page.tsx b/app/(introduce)/organization/(functional-departments)/func-dep/industry/page.tsx new file mode 100644 index 0000000..91e62d4 --- /dev/null +++ b/app/(introduce)/organization/(functional-departments)/func-dep/industry/page.tsx @@ -0,0 +1,28 @@ +const Page = () => { + return ( + <> +

产业处

+

+ 负责院科技成果转移转化与产业化工作,主要职责为: +

    +
  1. 负责产业化项目的申报和管理。
  2. +
  3. 负责产业平台的统筹策划、建设运营和管理。
  4. +
  5. 负责技术转移服务平台的建设与运营。
  6. +
  7. + 负责无形资产运营管理,含无形资产投资的审核和报批、无形资产收益的实施等。 +
  8. +
  9. 负责投融资平台的建设与管理。
  10. +
  11. + 负责组织实施企业工程技术中心、产业技术公共服务平台的建设、运营和管理。 +
  12. +
  13. 负责院产业专家委员会和院属公司管理委员会的日常工作。
  14. +
  15. 负责对我院投资入股企业的监督管理。
  16. +
  17. 负责合肥分院的监督管理。
  18. +
  19. 承担院领导安排的其他工作。
  20. +
+

+ + ); +}; + +export default Page; diff --git a/app/(introduce)/organization/(functional-departments)/func-dep/personnel/layout.tsx b/app/(introduce)/organization/(functional-departments)/func-dep/personnel/layout.tsx new file mode 100644 index 0000000..fe16821 --- /dev/null +++ b/app/(introduce)/organization/(functional-departments)/func-dep/personnel/layout.tsx @@ -0,0 +1,20 @@ +import React, { ReactNode } from "react"; +import Breadcrumb from "@/app/components/Breadcrumb"; + +const breadcrumb = [ + { href: "/", title: "首页" }, + { href: "/organization/overview", title: "机构设置" }, + { href: "/organization/func-dep/general-office", title: "职能部门" }, + { href: "/organization/func-dep/personnel", title: "人事处" }, +]; + +const Layout = ({ children }: { children: ReactNode }) => { + return ( +
+ +
{children}
+
+ ); +}; + +export default Layout; diff --git a/app/(introduce)/organization/(functional-departments)/func-dep/personnel/page.tsx b/app/(introduce)/organization/(functional-departments)/func-dep/personnel/page.tsx new file mode 100644 index 0000000..deb38bf --- /dev/null +++ b/app/(introduce)/organization/(functional-departments)/func-dep/personnel/page.tsx @@ -0,0 +1,32 @@ +const Page = () => { + return ( + <> +

人事处

+

+ 负责院人才队伍建设、人事管理等工作,主要职责为: +

    +
  1. 组织制定、修订院人力资源战略,编制人力资源发展规划。
  2. +
  3. 负责院组织架构和岗位体系管理。
  4. +
  5. + 负责人才引进(含人才计划管理)、人才培养(含继续教育与培训)、人才服务等工作。 +
  6. +
  7. + 负责人事全流程和综合管理工作(含岗位与聘用管理、薪酬福利及保障体系、人事档案、考勤及休假、绩效考核、人员调配与流转、劳动争议的协调处理、劳动保护等)。 +
  8. +
  9. 负责干部选拔任用、教育培训、挂职锻炼等工作。
  10. +
  11. + 负责博士后的招收及日常管理工作;负责高访客座、劳务派遣等流动人员管理。 +
  12. +
  13. + 代管创业人员中心,对离岗创业、全职外派人员进行日常管理与考核。 +
  14. +
  15. 负责牵头院校合作相关工作。
  16. +
  17. 负责中层领导人员、涉密人员因私护照管理工作。
  18. +
  19. 承担院领导安排的其他工作。
  20. +
+

+ + ); +}; + +export default Page; diff --git a/app/(introduce)/organization/(functional-departments)/func-dep/technology/layout.tsx b/app/(introduce)/organization/(functional-departments)/func-dep/technology/layout.tsx new file mode 100644 index 0000000..1a7a1ce --- /dev/null +++ b/app/(introduce)/organization/(functional-departments)/func-dep/technology/layout.tsx @@ -0,0 +1,20 @@ +import React, { ReactNode } from "react"; +import Breadcrumb from "@/app/components/Breadcrumb"; + +const breadcrumb = [ + { href: "/", title: "首页" }, + { href: "/organization/overview", title: "机构设置" }, + { href: "/organization/func-dep/general-office", title: "职能部门" }, + { href: "/organization/func-dep/technology", title: "科技处" }, +]; + +const Layout = ({ children }: { children: ReactNode }) => { + return ( +
+ +
{children}
+
+ ); +}; + +export default Layout; diff --git a/app/(introduce)/organization/(functional-departments)/func-dep/technology/page.tsx b/app/(introduce)/organization/(functional-departments)/func-dep/technology/page.tsx new file mode 100644 index 0000000..414ae11 --- /dev/null +++ b/app/(introduce)/organization/(functional-departments)/func-dep/technology/page.tsx @@ -0,0 +1,35 @@ +const Page = () => { + return ( + <> +

科技处

+

+ 负责院科技发展规划、学科体系建设、重大科技任务组织、科技管理、国际交流等工作,主要职责为: +

+
    +
  1. + 建立、监督实施院战略规划体系,组织制(修)订院中长期战略规划和年度发展计划,明确院重点研究领域和学科发展方向。 +
  2. +
  3. 负责院新建科研单元、科研平台的规划论证并指导实施。
  4. +
  5. + 组织科研项目申报,负责重大科技项目的组织、策划、申报与管理,实施科研项目管理。 +
  6. +
  7. + 组织国家、省部级(中科院)、市级等实验室、公共技术平台、工程中心的申报与过程管理。 +
  8. +
  9. 负责实验室建设与科研用房配置的规划论证。
  10. +
  11. 负责组织管理科技会议与学术交流。
  12. +
  13. 负责科技绩效评估与科技档案管理。
  14. +
  15. 负责院知识产权管理相关工作。
  16. +
  17. 负责院国际合作交流管理及办理涉外相关手续,管理因公护照。
  18. +
  19. 负责学术委员会的日常工作。
  20. +
  21. 负责协调组织院科技成果的认定与报奖。
  22. +
  23. 负责组织院科研外协相关工作。
  24. +
  25. 代管独立研究中心,并对中心人员进行日常管理与考核。
  26. +
  27. 文献情报服务、期刊出版。
  28. +
  29. 承担院领导安排的其他工作。
  30. +
+ + ); +}; + +export default Page; diff --git a/app/(introduce)/organization/(functional-departments)/layout.tsx b/app/(introduce)/organization/(functional-departments)/layout.tsx new file mode 100644 index 0000000..ece03b9 --- /dev/null +++ b/app/(introduce)/organization/(functional-departments)/layout.tsx @@ -0,0 +1,20 @@ +import ArticleLayout from "@/app/components/ArticleLayout"; +import { ReactNode } from "react"; + +const navigations = [ + { title: "综合办公室", href: "/organization/func-dep/general-office" }, + { title: "人事处", href: "/organization/func-dep/personnel" }, + { title: "科技处", href: "/organization/func-dep/technology" }, + { title: "产业处", href: "/organization/func-dep/industry" }, + { title: "资产财务处", href: "/organization/func-dep/asset-finance" }, +]; + +const Layout = ({ children }: { children: ReactNode }) => { + return ( + + {children} + + ); +}; + +export default Layout; diff --git a/app/(introduce)/organization/(generally)/architecture/layout.tsx b/app/(introduce)/organization/(generally)/architecture/layout.tsx new file mode 100644 index 0000000..b5b87c1 --- /dev/null +++ b/app/(introduce)/organization/(generally)/architecture/layout.tsx @@ -0,0 +1,19 @@ +import React, { ReactNode } from "react"; +import Breadcrumb from "@/app/components/Breadcrumb"; + +const breadcrumb = [ + { href: "/", title: "首页" }, + { href: "/organization/overview", title: "机构设置" }, + { href: "/organization/architecture", title: "组织架构" }, +]; + +const Layout = ({ children }: { children: ReactNode }) => { + return ( +
+ +
{children}
+
+ ); +}; + +export default Layout; diff --git a/app/(introduce)/organization/(generally)/architecture/page.tsx b/app/(introduce)/organization/(generally)/architecture/page.tsx new file mode 100644 index 0000000..ec23752 --- /dev/null +++ b/app/(introduce)/organization/(generally)/architecture/page.tsx @@ -0,0 +1,15 @@ +const Page = () => { + return ( + <> +

+ 组织架构 +

+ + + ); +}; + +export default Page; diff --git a/app/(introduce)/organization/(generally)/dean-speech/layout.tsx b/app/(introduce)/organization/(generally)/dean-speech/layout.tsx new file mode 100644 index 0000000..c34e78b --- /dev/null +++ b/app/(introduce)/organization/(generally)/dean-speech/layout.tsx @@ -0,0 +1,19 @@ +import React, { ReactNode } from "react"; +import Breadcrumb from "@/app/components/Breadcrumb"; + +const breadcrumb = [ + { href: "/", title: "首页" }, + { href: "/organization/overview", title: "机构设置" }, + { href: "/organization/dean-speech", title: "院长致辞" }, +]; + +const Layout = ({ children }: { children: ReactNode }) => { + return ( +
+ +
{children}
+
+ ); +}; + +export default Layout; diff --git a/app/(introduce)/organization/(generally)/dean-speech/page.tsx b/app/(introduce)/organization/(generally)/dean-speech/page.tsx new file mode 100644 index 0000000..d446c62 --- /dev/null +++ b/app/(introduce)/organization/(generally)/dean-speech/page.tsx @@ -0,0 +1,24 @@ +const Page = () => { + return ( + <> +

+ 院长致辞 +

+

+ 世界处于百年未有之大变局,第四次工业革命方兴未艾,人工智能、机器人技术、虚拟现实以及量子科技等蓬勃发展,将深度改变人类生产和生活方式,对国际格局的发展产生重要影响。中国要强大、民族要复兴、人民要幸福,科技强国梦就必须要实现。 +

+

+ 合肥分院的设立,是响应中科院支持合肥国家科学中心建设的号召,中科院重庆绿色智能技术研究院在合肥设立的独立法人事业单位。主要从事绿色智能科技研发与科技成果转化。合肥分院秉持“市场为魂,创新为本”的理念。按照“院企共建、源头创新、科技共享、产业集聚”模式建设。以服务好科技工作者,服务好合作企业,服务好区域产业创新升级为宗旨。 +

+

+ 合肥分院积极探索政、产、学、研、用紧密结合的机制,以合肥产业发展重大科技需求为牵引在人工智能、精准医疗、5G物联网等领域进行科技布局,集聚中科院体系内绿色智能科技人才与科技成果,重点开展产业关键核心技术与前沿技术创新、技术集成创新、工程化研发和科技成果转移转化工作,与技术创新体系和区域产业体系紧密结合,提升合肥创新发展能力。 + 把合肥分院建设成为产业技术源头创新基地、技术集成创新与育成基地、高层次创新创业人才培养基地和科技与产业对接的重要平台。合肥分院坚持立足合肥、辐射安徽,坚持技术立院、应用立院,坚持需求牵引、创新驱动、院企共建,按照“地方政府满意、合作企业满意、科学家满意”的检验标准。 +

+

+ 合肥分院希望能走出一条开放、包容、协作、创新的新型科研院所的道路。竭诚欢迎海内外英才,共创大业,实现科技强国梦! +

+ + ); +}; + +export default Page; diff --git a/app/(introduce)/organization/(generally)/joint-laboratory/layout.tsx b/app/(introduce)/organization/(generally)/joint-laboratory/layout.tsx new file mode 100644 index 0000000..a201b2c --- /dev/null +++ b/app/(introduce)/organization/(generally)/joint-laboratory/layout.tsx @@ -0,0 +1,19 @@ +import React, { ReactNode } from "react"; +import Breadcrumb from "@/app/components/Breadcrumb"; + +const breadcrumb = [ + { href: "/", title: "首页" }, + { href: "/organization/overview", title: "机构设置" }, + { href: "/organization/joint-laboratory", title: "研究中心联合实验室" }, +]; + +const Layout = ({ children }: { children: ReactNode }) => { + return ( +
+ +
{children}
+
+ ); +}; + +export default Layout; diff --git a/app/(introduce)/organization/(generally)/joint-laboratory/page.tsx b/app/(introduce)/organization/(generally)/joint-laboratory/page.tsx new file mode 100644 index 0000000..9f6e17a --- /dev/null +++ b/app/(introduce)/organization/(generally)/joint-laboratory/page.tsx @@ -0,0 +1,12 @@ +const Page = () => { + return ( + <> +

+ 研究中心 +

+

建设中...

+ + ); +}; + +export default Page; diff --git a/app/(introduce)/organization/(generally)/joint-venture/layout.tsx b/app/(introduce)/organization/(generally)/joint-venture/layout.tsx new file mode 100644 index 0000000..fbf45e6 --- /dev/null +++ b/app/(introduce)/organization/(generally)/joint-venture/layout.tsx @@ -0,0 +1,19 @@ +import React, { ReactNode } from "react"; +import Breadcrumb from "@/app/components/Breadcrumb"; + +const breadcrumb = [ + { href: "/", title: "首页" }, + { href: "/organization/overview", title: "机构设置" }, + { href: "/organization/joint-venture", title: "合作企业" }, +]; + +const Layout = ({ children }: { children: ReactNode }) => { + return ( +
+ +
{children}
+
+ ); +}; + +export default Layout; diff --git a/app/(introduce)/organization/(generally)/joint-venture/page.tsx b/app/(introduce)/organization/(generally)/joint-venture/page.tsx new file mode 100644 index 0000000..4cba07d --- /dev/null +++ b/app/(introduce)/organization/(generally)/joint-venture/page.tsx @@ -0,0 +1,12 @@ +const Page = () => { + return ( + <> +

+ 合作企业 +

+

对接中...

+ + ); +}; + +export default Page; diff --git a/app/(introduce)/organization/(generally)/layout.tsx b/app/(introduce)/organization/(generally)/layout.tsx new file mode 100644 index 0000000..d39ef8f --- /dev/null +++ b/app/(introduce)/organization/(generally)/layout.tsx @@ -0,0 +1,23 @@ +import ArticleLayout from "@/app/components/ArticleLayout"; +import { ReactNode } from "react"; + +const navigations = [ + { title: "机构简介", href: "/organization/overview" }, + { title: "院长致辞", href: "/organization/dean-speech" }, + { title: "科技产业发展委员会", href: "/organization/stidc" }, + { title: "组织架构", href: "/organization/architecture" }, + { title: "职能部门", href: "/organization/func-dep/general-office" }, + { title: "研究中心联合实验室", href: "/organization/joint-laboratory" }, + { title: "合作企业", href: "/organization/joint-venture" }, + { title: "科研平台", href: "/organization/research-platform" }, +]; + +const Layout = ({ children }: { children: ReactNode }) => { + return ( + + {children} + + ); +}; + +export default Layout; diff --git a/app/(introduce)/organization/(generally)/overview/layout.tsx b/app/(introduce)/organization/(generally)/overview/layout.tsx new file mode 100644 index 0000000..1daa88c --- /dev/null +++ b/app/(introduce)/organization/(generally)/overview/layout.tsx @@ -0,0 +1,19 @@ +import React, { ReactNode } from "react"; +import Breadcrumb from "@/app/components/Breadcrumb"; + +const breadcrumb = [ + { href: "/", title: "首页" }, + { href: "/organization/overview", title: "机构设置" }, + { href: "/organization/overview", title: "机构简介" }, +]; + +const Layout = ({ children }: { children: ReactNode }) => { + return ( +
+ +
{children}
+
+ ); +}; + +export default Layout; diff --git a/app/(introduce)/organization/(generally)/overview/page.tsx b/app/(introduce)/organization/(generally)/overview/page.tsx new file mode 100644 index 0000000..3528cf4 --- /dev/null +++ b/app/(introduce)/organization/(generally)/overview/page.tsx @@ -0,0 +1,20 @@ +const Page = () => { + return ( + <> +

+ 中国科学院重庆绿色智能技术研究院合肥分院 +

+

+ 中国科学院重庆绿色智能技术研究院合肥分院(以下简称“合肥分院”)是在响应中科院号召支持合肥国家科学中心建设的前提下,中国科学院重庆绿色智能技术研究院与合肥市共建的直属事业法人科研机构。2018年2月20号在中科院与安徽省共建领导小组会议上正式签约筹建,2018年12月20日,正式获得事业法人登记证书。 +

+

+ 合肥分院设立科技咨询委员会和产业咨询委员会,设人工智能、精准医疗、5G物联、绿色环保等研究单元。主要从事绿色智能科技研发与科技成果转化。 +

+

+ 合肥分院秉持重庆研究院“市场为魂,创新为本”的理念。按照“院企共建、源头创新、科技共享、产业集聚”模式建设。以服务好科技工作者,服务好合作企业为宗旨。开展形式多样的成果转移转化,加快科研成果落地。 +

+ + ); +}; + +export default Page; diff --git a/app/(introduce)/organization/(generally)/research-platform/layout.tsx b/app/(introduce)/organization/(generally)/research-platform/layout.tsx new file mode 100644 index 0000000..66f17d4 --- /dev/null +++ b/app/(introduce)/organization/(generally)/research-platform/layout.tsx @@ -0,0 +1,19 @@ +import React, { ReactNode } from "react"; +import Breadcrumb from "@/app/components/Breadcrumb"; + +const breadcrumb = [ + { href: "/", title: "首页" }, + { href: "/organization/overview", title: "机构设置" }, + { href: "/organization/research-platform", title: "科研平台" }, +]; + +const Layout = ({ children }: { children: ReactNode }) => { + return ( +
+ +
{children}
+
+ ); +}; + +export default Layout; diff --git a/app/(introduce)/organization/(generally)/research-platform/page.tsx b/app/(introduce)/organization/(generally)/research-platform/page.tsx new file mode 100644 index 0000000..2de9c10 --- /dev/null +++ b/app/(introduce)/organization/(generally)/research-platform/page.tsx @@ -0,0 +1,12 @@ +const Page = () => { + return ( + <> +

+ 科研平台 +

+

筹建中...

+ + ); +}; + +export default Page; diff --git a/app/(introduce)/organization/(generally)/stidc/layout.tsx b/app/(introduce)/organization/(generally)/stidc/layout.tsx new file mode 100644 index 0000000..7a9ef29 --- /dev/null +++ b/app/(introduce)/organization/(generally)/stidc/layout.tsx @@ -0,0 +1,19 @@ +import React, { ReactNode } from "react"; +import Breadcrumb from "@/app/components/Breadcrumb"; + +const breadcrumb = [ + { href: "/", title: "首页" }, + { href: "/organization/overview", title: "机构设置" }, + { href: "/organization/func-dep/stidc", title: "科技产业发展委员会" }, +]; + +const Layout = ({ children }: { children: ReactNode }) => { + return ( +
+ +
{children}
+
+ ); +}; + +export default Layout; diff --git a/app/(introduce)/organization/(generally)/stidc/page.tsx b/app/(introduce)/organization/(generally)/stidc/page.tsx new file mode 100644 index 0000000..b5b8fa3 --- /dev/null +++ b/app/(introduce)/organization/(generally)/stidc/page.tsx @@ -0,0 +1,12 @@ +const Page = () => { + return ( + <> +

+ 科技产业发展委员会 +

+

筹备中...

+ + ); +}; + +export default Page; diff --git a/app/(introduce)/talents/academician/layout.tsx b/app/(introduce)/talents/academician/layout.tsx new file mode 100644 index 0000000..66f17d4 --- /dev/null +++ b/app/(introduce)/talents/academician/layout.tsx @@ -0,0 +1,19 @@ +import React, { ReactNode } from "react"; +import Breadcrumb from "@/app/components/Breadcrumb"; + +const breadcrumb = [ + { href: "/", title: "首页" }, + { href: "/organization/overview", title: "机构设置" }, + { href: "/organization/research-platform", title: "科研平台" }, +]; + +const Layout = ({ children }: { children: ReactNode }) => { + return ( +
+ +
{children}
+
+ ); +}; + +export default Layout; diff --git a/app/(introduce)/talents/academician/page.tsx b/app/(introduce)/talents/academician/page.tsx index 839746f..8d11512 100644 --- a/app/(introduce)/talents/academician/page.tsx +++ b/app/(introduce)/talents/academician/page.tsx @@ -1,5 +1,22 @@ +import Image from "next/image"; + const Page = () => { - return
院士
; + return ( + <> + {" "} +

+ 两院院士 +

+

中科院院士

+

+ {"张景中"} +

+

张景中

+ + ); }; export default Page; diff --git a/app/(introduce)/talents/overview/layout.tsx b/app/(introduce)/talents/overview/layout.tsx new file mode 100644 index 0000000..66f17d4 --- /dev/null +++ b/app/(introduce)/talents/overview/layout.tsx @@ -0,0 +1,19 @@ +import React, { ReactNode } from "react"; +import Breadcrumb from "@/app/components/Breadcrumb"; + +const breadcrumb = [ + { href: "/", title: "首页" }, + { href: "/organization/overview", title: "机构设置" }, + { href: "/organization/research-platform", title: "科研平台" }, +]; + +const Layout = ({ children }: { children: ReactNode }) => { + return ( +
+ +
{children}
+
+ ); +}; + +export default Layout; diff --git a/app/(introduce)/talents/overview/page.tsx b/app/(introduce)/talents/overview/page.tsx index 66b6b13..40ee328 100644 --- a/app/(introduce)/talents/overview/page.tsx +++ b/app/(introduce)/talents/overview/page.tsx @@ -1,5 +1,15 @@ const Page = () => { - return
overview
; + return ( + <> +

+ 人才概况 +

+

+ 截止2017年10月底,重庆研究院全院共有员工333人,包括正高级40人,副高级61人,中级136人,初级21人。具有环境科学与工程、光学工程两个一级学科博士学位培养点,截止2017年10月底,共有博士生导师25人,硕士生导师38人,在读研究生117,其中博士39人,硕士73 + 人,留学生5人。 +

+ + ); }; export default Page; diff --git a/app/(introduce)/talents/researcher/layout.tsx b/app/(introduce)/talents/researcher/layout.tsx new file mode 100644 index 0000000..66f17d4 --- /dev/null +++ b/app/(introduce)/talents/researcher/layout.tsx @@ -0,0 +1,19 @@ +import React, { ReactNode } from "react"; +import Breadcrumb from "@/app/components/Breadcrumb"; + +const breadcrumb = [ + { href: "/", title: "首页" }, + { href: "/organization/overview", title: "机构设置" }, + { href: "/organization/research-platform", title: "科研平台" }, +]; + +const Layout = ({ children }: { children: ReactNode }) => { + return ( +
+ +
{children}
+
+ ); +}; + +export default Layout; diff --git a/app/(introduce)/talents/researcher/page.module.scss b/app/(introduce)/talents/researcher/page.module.scss new file mode 100644 index 0000000..2a3bc90 --- /dev/null +++ b/app/(introduce)/talents/researcher/page.module.scss @@ -0,0 +1,7 @@ +.academicians { + .academician { + &:not(:nth-child(4n)) { + margin-right: 12px; + } + } +} \ No newline at end of file diff --git a/app/(introduce)/talents/researcher/page.tsx b/app/(introduce)/talents/researcher/page.tsx index 1283ed8..d276746 100644 --- a/app/(introduce)/talents/researcher/page.tsx +++ b/app/(introduce)/talents/researcher/page.tsx @@ -1,5 +1,71 @@ +import styles from "./page.module.scss"; +import Link from "next/link"; + +const academicians = [ + { + picture: + "/uploads/image/20231030/8dbabce9-3454-4dab-b66f-34b30849db90.jpeg", + name: "任以伟", + link: "", + }, + { + picture: + "/uploads/image/20231030/5d3c322f-8163-4034-b01e-8897f3ba9a7a.jpeg", + name: "张炜", + link: "", + }, + { + picture: + "/uploads/image/20231030/63c2d39e-21c1-466f-b5fd-6f27e4ff1d43.jpeg", + name: "石宇", + link: "", + }, + { + picture: + "/uploads/image/20231030/4f0f8923-a72f-4ea7-8333-fc98878a4fb3.jpeg", + name: "裴得胜", + link: "", + }, + { + picture: + "/uploads/image/20231030/5e6dd527-5311-4444-b8ad-be597b57a724.jpeg", + name: "宋立岩", + link: "", + }, + { + picture: + "/uploads/image/20231030/b3ab92e4-391e-49f3-956e-97bd2f8ebf94.jpeg", + name: "陆文强", + link: "", + }, + { + picture: + "/uploads/image/20231030/d55d1de5-6c14-489d-b2ee-d62dd78d3478.jpeg", + name: "王德强", + link: "", + }, +]; + const Page = () => { - return
研究员
; + return ( + <> +

研究员

+
+ {academicians.map((academician) => ( +
+ + {academician.name} +
+ ))} +
+ + ); }; export default Page; diff --git a/app/(introduce)/talents/vice-researcher/layout.tsx b/app/(introduce)/talents/vice-researcher/layout.tsx new file mode 100644 index 0000000..66f17d4 --- /dev/null +++ b/app/(introduce)/talents/vice-researcher/layout.tsx @@ -0,0 +1,19 @@ +import React, { ReactNode } from "react"; +import Breadcrumb from "@/app/components/Breadcrumb"; + +const breadcrumb = [ + { href: "/", title: "首页" }, + { href: "/organization/overview", title: "机构设置" }, + { href: "/organization/research-platform", title: "科研平台" }, +]; + +const Layout = ({ children }: { children: ReactNode }) => { + return ( +
+ +
{children}
+
+ ); +}; + +export default Layout; diff --git a/app/(introduce)/talents/vice-researcher/page.tsx b/app/(introduce)/talents/vice-researcher/page.tsx index 0210072..3f1b82b 100644 --- a/app/(introduce)/talents/vice-researcher/page.tsx +++ b/app/(introduce)/talents/vice-researcher/page.tsx @@ -1,5 +1,40 @@ +import Link from "next/link"; + +const academicians = [ + { + picture: + "/uploads/image/20231030/2a2f235b-711a-47fb-9d20-c5a1c332ff78.jpeg", + name: "周祥东", + link: "", + }, + { + picture: + "/uploads/image/20231030/390a39d3-0729-446f-b361-c34f4f6cb0ff.jpeg", + name: "王兴祖", + link: "", + }, +]; + const Page = () => { - return
副研究员
; + return ( + <> +

研究员

+
+ {academicians.map((academician) => ( +
+ + {academician.name} +
+ ))} +
+ + ); }; export default Page; diff --git a/app/components/ArticleContent.tsx b/app/components/ArticleContent.tsx index 532fe16..44bc2c2 100644 --- a/app/components/ArticleContent.tsx +++ b/app/components/ArticleContent.tsx @@ -1,13 +1,34 @@ import React from "react"; import { ArticleDetail } from "@/app/types/article"; +import Link from "next/link"; const ArticleContent = ({ article }: { article: ArticleDetail }) => { return ( -
+

{article.title}

+
+
+ 上一篇 + + {article.prev?.title ?? "没有了"} + +
+
+ 下一篇 + + {article.next?.title ?? "没有了"} + +
+
); }; diff --git a/app/components/ArticleLayout.tsx b/app/components/ArticleLayout.tsx index 4241b33..1461f89 100644 --- a/app/components/ArticleLayout.tsx +++ b/app/components/ArticleLayout.tsx @@ -15,7 +15,7 @@ const ArticleLayout = ({
-
{children}
+
{children}
); }; diff --git a/app/components/Breadcrumb.tsx b/app/components/Breadcrumb.tsx new file mode 100644 index 0000000..99c667d --- /dev/null +++ b/app/components/Breadcrumb.tsx @@ -0,0 +1,29 @@ +import { Fragment } from "react"; +import Link from "next/link"; + +interface BreadcrumbItem { + href: string; + title: string; +} + +const Breadcrumb = ({ navigations }: { navigations: BreadcrumbItem[] }) => { + return ( +
+ 当前位置: + {navigations.map((navigation, index) => { + if (index === navigations.length - 1) { + return
{navigation.title}
; + } else { + return ( + + {navigation.title} +
/
+
+ ); + } + })} +
+ ); +}; + +export default Breadcrumb; diff --git a/app/components/LeftNav.tsx b/app/components/LeftNav.tsx index 20742e4..a436d3e 100644 --- a/app/components/LeftNav.tsx +++ b/app/components/LeftNav.tsx @@ -15,7 +15,11 @@ const LeftNav = ({ }) => { const pathname = usePathname(); return ( -
+
{"circle {title} diff --git a/app/components/MainNav.tsx b/app/components/MainNav.tsx new file mode 100644 index 0000000..5e9aa4f --- /dev/null +++ b/app/components/MainNav.tsx @@ -0,0 +1,50 @@ +"use client"; +import React from "react"; +import Link from "next/link"; +import { usePathname } from "next/navigation"; + +const navigations = [ + { title: "首页", href: "/" }, + { title: "机构设置", href: "/organization/overview" }, + { title: "人才队伍", href: "/talents/overview" }, + { title: "科研进展", href: "#" }, + { title: "科技成果", href: "#" }, + { title: "学术交流", href: "#" }, + { title: "成果转化服务", href: "#" }, + { title: "中科院科技资源共享平台", href: "#" }, + { title: "联系我们", href: "#" }, +]; + +const isActive = (link: string, current: string): boolean => { + if (link === current) return true; + if (link === "/") return false; + const link_0 = link.split(/\/+/).filter(Boolean)[0]; + const current_0 = current.split(/\/+/).filter(Boolean)[0]; + return link_0 === current_0; +}; + +const MainNav = () => { + const pathname = usePathname(); + return ( + + ); +}; + +export default MainNav; diff --git a/app/components/Pagination.tsx b/app/components/Pagination.tsx new file mode 100644 index 0000000..4305857 --- /dev/null +++ b/app/components/Pagination.tsx @@ -0,0 +1,45 @@ +import Link from "next/link"; + +const Pagination = ({ + page, + total, + perPage, +}: { + page: number; + total: number; + perPage: number; +}) => { + const pageCount = Math.ceil(total / perPage); + return ( +
+ {page <= 1 ? ( +
上一页
+ ) : ( + + 上一页 + + )} + {[...Array(pageCount)].map((el, index) => ( +
+ {index + 1} +
+ ))} + {page >= pageCount ? ( +
下一页
+ ) : ( + + 下一页 + + )} +
+ ); +}; + +export default Pagination; diff --git a/app/layout.tsx b/app/layout.tsx index 5bd0233..b4aa4c7 100644 --- a/app/layout.tsx +++ b/app/layout.tsx @@ -6,6 +6,7 @@ import footer from "@/app/assets/footer.jpg"; import Image from "next/image"; import banner from "@/app/assets/banner.jpg"; import { ReactNode } from "react"; +import MainNav from "@/app/components/MainNav"; const inter = Inter({ subsets: ["latin"] }); @@ -14,40 +15,13 @@ export const metadata: Metadata = { description: "Generated by create next app", }; -const navLinks = [ - { title: "首页", href: "/" }, - { title: "机构设置", href: "#" }, - { title: "人才队伍", href: "/talents/overview" }, - { title: "科研进展", href: "#" }, - { title: "科技成果", href: "#" }, - { title: "学术交流", href: "#" }, - { title: "成果转化服务", href: "#" }, - { title: "中科院科技资源共享平台", href: "#" }, - { title: "联系我们", href: "#" }, -]; - export default function RootLayout({ children }: { children: ReactNode }) { return (
{"banner"} - + {children} {"footer"}
diff --git a/app/page.tsx b/app/page.tsx index 91bca9f..8a58e69 100644 --- a/app/page.tsx +++ b/app/page.tsx @@ -4,17 +4,89 @@ import ArticleBlock from "@/app/components/ArticleBlock"; export default async function Home() { return ( -
+
- {"left + {"left + + + + + + + + + + +
-
- +
+
+
+ +