diff --git a/src/components/balance/BalanceHead.tsx b/src/components/balance/BalanceHead.tsx
index b99267b..13a5b3c 100644
--- a/src/components/balance/BalanceHead.tsx
+++ b/src/components/balance/BalanceHead.tsx
@@ -1,16 +1,20 @@
import './balance-head.css'
import {useContext} from "react";
import {GlobalContext} from "../../context/GlobalContext.ts";
-
+import moneyImg from '../../static/head/money.png'
export default function BalanceHead() {
const globalContext = useContext(GlobalContext);
- return (
-
-
-
{data.projName}
+
+
+
+
+
+ 编号:{data.projContext}
+
+ {data.gmtCreate}
+ {/* 状态标签 */}
+ {/* {renderGenerateStatus()} */}
+
-
-
上下文:{data.projContext}
-
{data.gmtCreate}
-
{renderGenerateStatus()}
+
+ {
+ data.generate.generateStatus == GenerateStatus.SUCCESS ? (
+
+
+ 查看
+
+ ) : (
+
+
+ 编辑
+
+ )
+ }
+ |
+
+
+ {
+ window.open(`${Axios.defaults?.baseURL}/${data.previewUrl}`, '_blank')
+ }}>预览
+
-
+ {/*
*/}
- {payCharge}
- ¥{data.pay.payment / 100}
+ {/* {payCharge} */}
+ {/* 金额 */}
+ {/* ¥{data.pay.payment / 100} */}
-
+
+
+ 金额(¥) :
+ {data.pay.payment / 100}
+
+
+
{
+ if (data.generate.generateStatus == GenerateStatus.SUCCESS) {
+ nav(`/proj-edit/config-loginpage-show/${data.projId}`)
+ } else {
+ nav(`/proj-edit/config-loginpage/${data.projId}`)
+ }
+ }}>
+

+
登录界面设置
+
+
{
+ if (data.generate.generateStatus == GenerateStatus.SUCCESS) {
+ nav(`/proj-edit/config-mod-list-show/${data.projId}`)
+ } else {
+ nav(`/proj-edit/config-mod-list/${data.projId}`)
+ }
+ }}>
+

+
系统菜单管理({data.projModCount})
+
+
{
+ if (data.generate.generateStatus == GenerateStatus.SUCCESS) {
+ nav(`/proj-edit/config-menu-list-show/${data.projId}`)
+ } else {
+ nav(`/proj-edit/config-menu-list/${data.projId}`)
+
+ }
+ }}>
+

+
菜单排序({data.projModCount})
+
+
+
+ {/* 目录层级结构*/}
+
+
+
+
+
+ - 当前状态 -
+
+
{renderGenerateStatus()}
+
+
+
+
+
+
+ {/*
{
data.generate.generateStatus == GenerateStatus.SUCCESS ? (
@@ -178,9 +266,9 @@ export default function CardProj(props: { item: IProj }) {
window.open(`${Axios.defaults?.baseURL}/${data.previewUrl}`, '_blank')
}}>预览
-
+
*/}
-
+ {/*
{
data.generate.generateStatus == GenerateStatus.SUCCESS ? (
@@ -231,10 +319,10 @@ export default function CardProj(props: { item: IProj }) {
) : <>>
}
-
+
*/}
-
-
+ {/*
*/}
+ {/*
{renderOption()}
-
+
*/}
{messageContext}
>
diff --git a/src/components/card/card-proj.css b/src/components/card/card-proj.css
index d999840..284fcb6 100644
--- a/src/components/card/card-proj.css
+++ b/src/components/card/card-proj.css
@@ -1,24 +1,37 @@
.card-proj {
border-radius: 6px;
background-color: var(--color-light);
- padding: 5px 15px;
+ /* padding: 5px 15px; */
+ height: 240px;
}
.card-proj .left {
position: unset;
}
+.card-proj .title {
+ display: flex;
+ justify-content: space-between;
+}
+
+.card-proj .titleLift {
+ display: flex;
+}
+
.card-proj .right {
margin: 0;
}
.card-proj .title {
display: flex;
- justify-content: space-between;
+ /* justify-content: space-between; */
align-items: center;
+ height: 60px;
+ /* background-color: pink; */
+ border-bottom: 1px solid var(--color-border);
}
-.card-proj hr {
+/* .card-proj hr {
border-color: var(--color-border);
border-style: dashed;
border-left: 0;
@@ -26,28 +39,70 @@
border-right: 0;
margin-block-start: 5px;
margin-block-end: 5px;
-}
+} */
.card-proj .title .left {
- padding: 5px;
+ /* padding: 5px; */
font-weight: bold;
+ /* background-color: red; */
+ display: flex;
+ align-items: center;
+ margin-left: 21px;
+ font-weight: 700;
+ font-size: 19px;
+ color: #292929;
+
+}
+
+.card-proj .title .left .boxline {
+ width: 2px;
+ height: 18px;
+ border: 2px dotted #adadad;
+ margin-right: 18px;
}
.card-proj .title .right {
padding: 5px;
width: 380px;
display: flex;
- justify-content: space-between;
+ /* justify-content: space-between; */
align-items: center;
}
.card-proj .title .right span {
margin-inline-end: 0;
+ font-size: 14px;
+ color: #888888;
}
-.card-proj .title .right span:first-child {
+.card-proj .title .right .line {
+ width: 1px;
+ height: 16px;
+ border-left: 1px solid #adadad;
+ margin-left: 12px;
+ margin-right: 12px;
}
+/* .card-proj .title .right .date{
+ margin-left: 24px;
+} */
+.card-proj .titleRight {
+ margin-right: 29px;
+ font-size: 14px;
+ color: #FFA415;
+}
+
+.card-proj .titleRight .orignLine {
+ margin-left: 27px;
+ margin-right: 27px;
+}
+
+.card-proj .titleRight .text-btn {
+ margin-left: 11px;
+}
+
+.card-proj .title .right span:first-child {}
+
.card-proj .body {
width: unset;
border: unset !important;
@@ -58,15 +113,106 @@
display: flex;
justify-content: space-between;
align-items: center;
- padding: 5px 0;
+ padding: 24px 0;
}
.card-proj .body .line .left {
- width: unset;
+ /* width: unset;
+ display: flex; */
+ width: 209px;
+ height: 128px;
+ background: #C4C4C4;
+ border-radius: 6px;
+ margin-left: 46px;
+}
+
+.card-proj .body .line .centerl {
+ margin-left: 27px;
+}
+
+.card-proj .body .line .centerl .c-top {
+ width: 175px;
+ height: 39px;
+ background: #FFF9E6;
+ border-radius: 19px;
+ color: #FF5D15;
+ line-height: 39px;
+ text-align: center;
+}
+
+.card-proj .body .line .centerl .c-top .money {
+ font-weight: 300;
+ font-size: 14px;
+}
+
+.card-proj .body .line .centerl .c-top .num {
+ font-weight: bold;
+ font-size: 20px;
+}
+
+.card-proj .body .line .centerl .c-bot {
display: flex;
}
-.card-proj .body .line .left span {
+.card-proj .body .line .centerl .c-bot .set {
+ display: flex;
+ align-items: center;
+ margin-top: 20px;
+ font-weight: 300;
+ font-size: 15px;
+ color: #707070;
+ cursor: pointer;
+ margin-left: 31px;
+}
+
+.card-proj .body .line .centerl .c-bot img {
+ width: 30px;
+ height: 30px;
+}
+
+.card-proj .body .line .centerr {
+ width: 428px;
+ height: 110px;
+ /* border-left: 1px dotted #737373; */
+ /* border-right: 1px dotted #737373; */
+ margin-left: 174px;
+}
+
+.card-proj .body .line .right {
+ height: 110px;
+ width: 197px;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ justify-content: space-around;
+ /* background-color: red; */
+ /* margin-left: 600px; */
+ border-left: 1px dotted #737373;
+}
+
+.card-proj .body .line .right .rigth-t {
+ font-weight: 300;
+ font-size: 12px;
+ color: #707070;
+ text-align: center;
+ /* background-color: pink; */
+}
+
+.card-proj .body .line .right .status {
+ /* background-color: red; */
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ margin-left: 10px;
+}
+
+
+
+
+
+
+
+/* .card-proj .body .line .left span {
margin-right: 10px;
}
@@ -84,4 +230,4 @@
display: flex;
justify-content: space-between;
align-items: center;
-}
+} */
\ No newline at end of file
diff --git a/src/components/list/ListProj.tsx b/src/components/list/ListProj.tsx
index 1ec3fba..5d75140 100644
--- a/src/components/list/ListProj.tsx
+++ b/src/components/list/ListProj.tsx
@@ -1,14 +1,17 @@
import './list-proj.css'
import CardProj from "../card/CardProj.tsx";
-import {useRef, MutableRefObject, useState, useEffect, useContext} from "react";
-import {Input, Pagination, message, Spin, Tag, Image} from 'antd';
-import {get} from "../../util/AjaxUtils.ts";
-import {IndexListContext} from "../../context/IndexListContext.ts";
-import {IListPage} from "../../interfaces/listpage/IListPage.ts";
-import {IProj} from "../../interfaces/proj/IProj.ts";
+import { useRef, MutableRefObject, useState, useEffect, useContext } from "react";
+import { Input, Pagination, message, Spin, Image } from 'antd';
+import { get } from "../../util/AjaxUtils.ts";
+import { IndexListContext } from "../../context/IndexListContext.ts";
+import { IListPage } from "../../interfaces/listpage/IListPage.ts";
+import { IProj } from "../../interfaces/proj/IProj.ts";
import NoData from "../../assets/no-data.png";
-
-const {Search} = Input;
+import gpsImg from '../../static/right/gps.png'
+import { Link } from "react-router-dom";
+import { Breadcrumb } from 'antd';
+import backImg from '../../static/right/back.png'
+const { Search } = Input;
export default function ListProj() {
const indexListContext = useContext(IndexListContext);
@@ -40,7 +43,7 @@ export default function ListProj() {
onBefore() {
setIsLoading(true);
},
- onSuccess({data}) {
+ onSuccess({ data }) {
setPage(data.page);
setTotal(data.total);
setProjs(data.rows);
@@ -63,13 +66,13 @@ export default function ListProj() {
justifyContent: 'center',
alignItems: 'center'
}}>
-
+
暂无数据
)
}
return projs.map((item) => {
- return
;
+ return
;
});
}
@@ -83,36 +86,56 @@ export default function ListProj() {
}
}, [indexListContext.status, indexListContext.categoryChangeCount, indexListContext.category, keywords, page])
- const renderStatus = () => {
- if (indexListContext.status == 'ALL') {
- return
项目:全部项目
- } else if (indexListContext.status == 'PROCESSING') {
- return
项目:进行中的
- } else if (indexListContext.status == 'COMPLETE') {
- return
项目:已完成的
- }
- return <>>
- }
+ // const renderStatus = () => {
+ // if (indexListContext.status == 'ALL') {
+ // return
项目:全部项目
+ // } else if (indexListContext.status == 'PROCESSING') {
+ // return
项目:进行中的
+ // } else if (indexListContext.status == 'COMPLETE') {
+ // return
项目:已完成的
+ // }
+ // return <>>
+ // }
return (
<>
{contextHolder}
- {renderStatus()}
-
{
+ {/* 标签 */}
+ {/* {renderStatus()} */}
+
+

+
当前位置:首页
+
+
+ {
setKeywords(value)
- }} style={{width: 200}}/>
+ }} style={{
+ width: '253px',
+ height: '31px',
+ }} />
+
+

+
+ 首页 },
+ ]}
+ />
+
+
-
+
{renderList()}
{
setPage(page);
- }}/>
+ }} />
diff --git a/src/components/list/list-proj.css b/src/components/list/list-proj.css
index dd146f0..97ae216 100644
--- a/src/components/list/list-proj.css
+++ b/src/components/list/list-proj.css
@@ -1,16 +1,73 @@
.list-proj {
width: 100%;
+ padding-top: 26px;
+ padding-right: 33px;
+ box-sizing: border-box;
}
.list-proj .top {
- padding: 10px 15px;
+ /* padding: 10px 15px; */
+ box-sizing: border-box;
+ height: 62px;
display: flex;
- justify-content: space-between;
+ /* justify-content: space-between; */
align-items: center;
border-bottom: 1px solid var(--color-border);
background-color: var(--color-light);
}
+.list-proj .top .gps {
+ display: flex;
+ align-items: center;
+ font-size: 14px;
+}
+
+.list-proj .top .gps img {
+ width: 18px;
+ height: 21px;
+ margin-left: 22px;
+ margin-right: 16px;
+}
+
+.list-proj .top .line {
+ width: 1px;
+ height: 23px;
+ border-left: 1px solid #d8d8d8;
+ margin-left: 33px;
+ margin-right: 31px;
+}
+
+/* .list-proj .top .search {
+ width: 253px;
+ height: 31px;
+ background: #FFF5E6;
+ border-radius: 15px;
+ border: 1px solid #FFD99C
+} */
+.nowPosition {
+ display: flex;
+ align-items: center;
+ /* width: 349px; */
+ height: 100%;
+ margin-left: 98px;
+ font-weight: 300;
+ font-size: 13px;
+ color: #676767;
+ /* background: url(../../static//right/back.png); */
+ /* background-color: rgb(228, 191, 191); */
+ position: relative;
+}
+.nowPosition img{
+ width: 349px;
+ height: 62px;
+ position: absolute;
+ left: 0;
+ top: 0;
+}
+.nowPosition div{
+ margin-left: 133px;
+ z-index: 99;
+}
.list-proj .body {
width: unset;
margin: 0;
@@ -24,6 +81,7 @@
.list-proj .body .card-proj {
margin-bottom: 10px;
}
+
.list-proj .body .card-proj:last-child {
margin-bottom: 0;
}
diff --git a/src/components/menu/MenuTree.tsx b/src/components/menu/MenuTree.tsx
index 23af276..db04768 100644
--- a/src/components/menu/MenuTree.tsx
+++ b/src/components/menu/MenuTree.tsx
@@ -1,6 +1,7 @@
import './menu-tree.css';
import {
CaretRightOutlined,
+ FolderOutlined,
CaretDownOutlined,
PlusOutlined,
CloseOutlined,
@@ -67,7 +68,7 @@ export default function MenuTree(props: IMenuTree) {
const width = 180 - 50 - (item.level * 10) - (5 + (item.isParent ? 8.75 : 0));
return (
<>
- {item.isParent ? icon : <>>}
+ {item.isParent ? icon : <>>}
{
array.forEach(item => {
item.active = false;
- if(item.children) {
+ if (item.children) {
clearActive(item.children)
}
})
@@ -98,7 +99,7 @@ export default function MenuTreeWithTopButton() {
get({
messageApi,
url: '/api/proj/category/listallbyparentid/0',
- onSuccess({data}) {
+ onSuccess({ data }) {
const menus = menuArray(data, 1);
setMenuTreeArray(menus);
indexListDispatchContext({
@@ -111,11 +112,31 @@ export default function MenuTreeWithTopButton() {
return (
<>
-
-