From 75c8a8a788b32936ba4fa1d7307e6e8d8cdd8ec4 Mon Sep 17 00:00:00 2001 From: xixi <123@qq.com> Date: Mon, 15 Jul 2024 16:58:47 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9A=82=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/BelongPeople/BelongPeople.tsx | 2 +- .../ContactPeople/ContactPeople.tsx | 149 ++- src/components/ai/AiHelper.tsx | 6 +- src/components/card/CardProj.tsx | 36 +- src/components/card/CardProjDownload.tsx | 4 +- src/components/card/CardProjEdit.tsx | 1 + src/components/card/card-proj-download.css | 4 +- src/components/card/card-proj-edit.css | 5 +- src/components/list/ListProj.tsx | 28 +- src/components/scrollAD/ScrollAd.tsx | 27 + src/components/scrollAD/scrollAd.css | 28 + src/components/step/StepProjEdit.tsx | 22 +- src/components/step/step-proj-edit.css | 60 +- src/layout/head/Head.tsx | 15 +- src/route/index/Index.tsx | 78 +- src/route/proj/ProjCreate.tsx | 50 +- src/route/proj/ProjEditAll.tsx | 870 +++++++++++++++++- src/route/proj/ProjEditFree.tsx | 11 +- src/route/proj/ProjNew.tsx | 176 +++- src/route/proj/edit/ProjEditStep2.tsx | 6 +- src/route/proj/edit/ProjEditStep2Show.tsx | 6 +- src/route/proj/proj-edit.css | 102 +- src/route/proj/proj-new.css | 3 + 23 files changed, 1488 insertions(+), 201 deletions(-) create mode 100644 src/components/scrollAD/ScrollAd.tsx create mode 100644 src/components/scrollAD/scrollAd.css diff --git a/src/components/BelongPeople/BelongPeople.tsx b/src/components/BelongPeople/BelongPeople.tsx index 90c4d08..27f8942 100644 --- a/src/components/BelongPeople/BelongPeople.tsx +++ b/src/components/BelongPeople/BelongPeople.tsx @@ -754,7 +754,7 @@ export default function BelongPeople(props: propsInfo) { -
+
+
{/* 选择创建/编辑/查看联系人弹框 lyp*/} diff --git a/src/components/ai/AiHelper.tsx b/src/components/ai/AiHelper.tsx index 678c2c4..5820590 100644 --- a/src/components/ai/AiHelper.tsx +++ b/src/components/ai/AiHelper.tsx @@ -368,21 +368,21 @@ export default function AiHelper(props: PropsType) { setActiveTab('简介') }} > - 项目简介 + 系统简介
{ setActiveTab('详情') }} > - 项目详情 + 系统详情
{ setActiveTab('模块') }} > - 模块管理 + 功能列表
diff --git a/src/components/card/CardProj.tsx b/src/components/card/CardProj.tsx index 912e331..8802f46 100644 --- a/src/components/card/CardProj.tsx +++ b/src/components/card/CardProj.tsx @@ -12,10 +12,10 @@ import { WarningOutlined, FolderOutlined } from '@ant-design/icons'; -import { Button, Dropdown, Tag, Modal } from 'antd'; +import { Button, Dropdown, Tag, Modal, Carousel } from 'antd'; import { GenerateStatus, ProjChargeType } from "../../interfaces/proj/IProj.ts"; import { useNavigate } from "react-router-dom"; -import { Axios, put } from "../../util/AjaxUtils.ts"; +import { Axios, put, downloadUrl } from "../../util/AjaxUtils.ts"; import { useContext, useEffect, useState } from "react"; import { IndexListContext } from "../../context/IndexListContext.ts"; import useMessage from "antd/es/message/useMessage"; @@ -31,7 +31,7 @@ import SoftwareManagement from '../../route/proj/edit/ProjConfigModList.tsx' import SoftwareManagementShow from '../../route/proj/edit/ProjConfigModListShow.tsx' import DisplayOrder from '../../route/proj/edit/ProjConfigMenuList.tsx' import DisplayOrderShow from '../../route/proj/edit/ProjConfigMenuListShow.tsx' -export default function CardProj(props:any ) { +export default function CardProj(props: any) { // 第四步 登陆页面设置 const [loginPageOpne, setLoginPageOpne] = useState(false) const [loginPageShowOpne, setLoginPageShowOpne] = useState(false) @@ -47,7 +47,7 @@ export default function CardProj(props:any ) { const data = props.item; const [projId] = useState(data.projId) - const isShow = data.pay.chargeAdditionals.includes('PKG') + const isShow = data.pay.chargeAdditionals.includes('PKG') || data.pay.charge.includes('ALL') const [messageApi, messageContext] = useMessage(); const [projCategoryId, setProjCategoryId] = useState(data.projCategoryId); @@ -79,7 +79,7 @@ export default function CardProj(props:any ) { const goEdit = () => { if (charge == ProjChargeType.ALL) { - nav(`/proj-edit/${data.projId}`); + nav(`/proj-eall/${data.projId}`); } else if (charge == ProjChargeType.FREE) { nav(`/proj-efree/${data.projId}`); } else { @@ -88,6 +88,8 @@ export default function CardProj(props:any ) { } useEffect(() => { + console.log('查找图片', data); + const charge = props.item.pay.charge.split(':')[0]; let chargeName = ''; if (charge == ProjChargeType.ALL) { @@ -112,7 +114,7 @@ export default function CardProj(props:any ) {
{data.projName}
-
+
{payCharge}
@@ -150,7 +152,21 @@ export default function CardProj(props:any ) {
- + {/* lyp */} +
+ + +
+ + +
+
+ + +
+
+
+ {/* */}
金额(¥) : @@ -158,7 +174,7 @@ export default function CardProj(props:any ) {
{ - if (data.generate.generateStatus == GenerateStatus.SUCCESS) { + if (data.generate.generateStatus == GenerateStatus.SUCCESS || payCharge == '全托管') { // nav(`/proj-edit/config-loginpage-show/${data.projId}`) setLoginPageShowOpne(true); @@ -171,7 +187,7 @@ export default function CardProj(props:any ) {
登录界面设置
{ - if (data.generate.generateStatus == GenerateStatus.SUCCESS) { + if (data.generate.generateStatus == GenerateStatus.SUCCESS || payCharge == '全托管') { // nav(`/proj-edit/config-mod-list-show/${data.projId}`) setSoftwareManagementShowOpen(true) } else { @@ -184,7 +200,7 @@ export default function CardProj(props:any ) {
系统菜单管理({data.projModCount})
{ - if (data.generate.generateStatus == GenerateStatus.SUCCESS) { + if (data.generate.generateStatus == GenerateStatus.SUCCESS || payCharge == '全托管') { // nav(`/proj-edit/config-menu-list-show/${data.projId}`) setDisplayOrderShowOpen(true); } else { diff --git a/src/components/card/CardProjDownload.tsx b/src/components/card/CardProjDownload.tsx index 2fe6dc5..f6c732a 100644 --- a/src/components/card/CardProjDownload.tsx +++ b/src/components/card/CardProjDownload.tsx @@ -11,12 +11,12 @@ export default function CardProjDownload(props: IProjDownload) {
{ props.canBtnClick ? ( - { + { e.preventDefault(); props.handleDownload(); }}>下载 ) : ( - { + { e.preventDefault(); }}>下载 ) diff --git a/src/components/card/CardProjEdit.tsx b/src/components/card/CardProjEdit.tsx index 9e413c3..a21ae86 100644 --- a/src/components/card/CardProjEdit.tsx +++ b/src/components/card/CardProjEdit.tsx @@ -26,6 +26,7 @@ export default function CardProjEdit(props: IProjEdit) { // props.handleEdit(); // }}>编辑 // } + } return ( diff --git a/src/components/card/card-proj-download.css b/src/components/card/card-proj-download.css index f9b3b18..aeb3b50 100644 --- a/src/components/card/card-proj-download.css +++ b/src/components/card/card-proj-download.css @@ -1,5 +1,5 @@ .card-proj-download { - width: 309px; + width: 95%; padding: 20px 25px; box-sizing: border-box; @@ -10,7 +10,7 @@ position: relative; } .card-proj-nodownload{ - width: 309px; + width: 95%; padding: 20px 25px; box-sizing: border-box; background-color: #f3f3f3; diff --git a/src/components/card/card-proj-edit.css b/src/components/card/card-proj-edit.css index 7f9b006..7c9aec4 100644 --- a/src/components/card/card-proj-edit.css +++ b/src/components/card/card-proj-edit.css @@ -1,5 +1,5 @@ .card-proj-edit { - width: 309px; + width: 95%; padding: 20px 25px; box-sizing: border-box; margin-bottom: 27px; @@ -52,6 +52,8 @@ .card-proj-edit .option .edit { color: var(--color-blue); text-decoration:underline; + min-width: 30px; + /* background-color: red; */ } .card-proj-edit .option .status { @@ -63,6 +65,7 @@ transform: rotate(-45deg); border-top: transparent; border-right: transparent; + margin-top: 4px; } .noEdit:hover{ cursor: not-allowed; diff --git a/src/components/list/ListProj.tsx b/src/components/list/ListProj.tsx index a7d468d..f8a0d3c 100644 --- a/src/components/list/ListProj.tsx +++ b/src/components/list/ListProj.tsx @@ -8,10 +8,10 @@ import { IListPage } from "../../interfaces/listpage/IListPage.ts"; import { IProj } from "../../interfaces/proj/IProj.ts"; // import NoData from "../../assets/no-data.png"; import { useLocation } from 'react-router-dom'; -import syminga from '../../static/homeimg/homeimga.png' -import symingb from '../../static/homeimg/homeimgb.png' -import symingc from '../../static/homeimg/homeimgc.png' -import symingd from '../../static/homeimg/homeimgd.png' +// import syminga from '../../static/homeimg/homeimga.png' +// import symingb from '../../static/homeimg/homeimgb.png' +// import symingc from '../../static/homeimg/homeimgc.png' +// import symingd from '../../static/homeimg/homeimgd.png' import { getMenuActive } from '../../util/cache.ts'; // import gpsImg from '../../static/right/gps.png' @@ -29,8 +29,9 @@ export default function ListProj() { // // setKeywords(state.keyword) // } const keywords = state ? state.keyword : '' + const name = state?state.name:'' // console.log(keywords); - const images = [syminga,symingb,symingc,symingd] + // const images = [syminga,symingb,symingc,symingd] const listProjRef: MutableRefObject = useRef(null); const listRef: MutableRefObject = useRef(null); @@ -55,6 +56,7 @@ export default function ListProj() { page: currentPage, rows: 10, keywords: keywords, + charge:name, projCategoryId: indexListContext.category, status: indexListContext.status ? indexListContext.status : getMenuActive() } @@ -66,13 +68,13 @@ export default function ListProj() { console.log('看看结果', data); setPage(data.page); setTotal(data.total); - // setProjs(data.rows); - const updatedArr = (data.rows).map((item, index) => ({ - ...item, - img: images[index % images.length] // 利用取余来循环填充图片 - })); - console.log('循环数组',updatedArr); - setProjs(updatedArr); + setProjs(data.rows); + // const updatedArr = (data.rows).map((item, index) => ({ + // ...item, + // img: images[index % images.length] // 利用取余来循环填充图片 + // })); + // console.log('循环数组',updatedArr); + // setProjs(updatedArr); }, onFinally() { @@ -159,7 +161,7 @@ export default function ListProj() { setTimeout(() => { setShowPage(true) }, 0); - }, [indexListContext.status,keywords]) + }, [indexListContext.status,keywords,name]) useEffect(() => { if (indexListContext.categorys) { diff --git a/src/components/scrollAD/ScrollAd.tsx b/src/components/scrollAD/ScrollAd.tsx new file mode 100644 index 0000000..dedcf16 --- /dev/null +++ b/src/components/scrollAD/ScrollAd.tsx @@ -0,0 +1,27 @@ +import React, { useEffect } from 'react' +import './scrollAd.css' +export default function ScrollAd() { + useEffect(() => { + const scrollInterval = setInterval(() => { + const adContainer = document.getElementById('scrolling-ad-container'); + if (adContainer) { + adContainer.scrollLeft += 1; // 每次滚动的距离 + if (adContainer.scrollLeft % adContainer.scrollWidth === 0) { + clearInterval(scrollInterval); // 滚动到末尾时停止滚动 + } + } + }, 50); // 滚动速度,单位毫秒 + + return () => clearInterval(scrollInterval); // 组件卸载时清除定时器 + }, []); + return ( +
+ +
+ 广告广告广告广告广告广告广告广告广告广告广告广告广告广 +
+
+ + + ) +} diff --git a/src/components/scrollAD/scrollAd.css b/src/components/scrollAD/scrollAd.css new file mode 100644 index 0000000..22792f8 --- /dev/null +++ b/src/components/scrollAD/scrollAd.css @@ -0,0 +1,28 @@ +.scrolling-ad-container { + overflow: hidden; /* 隐藏超出盒子的部分 */ + white-space: nowrap; /* 内容不换行 */ + position: relative; /* 使子元素的动画定位参考于此 */ + padding: 10px; /* 内容内边距 */ + width: 100%; /* 盒子的宽度 */ + height: 30px; /* 盒子的高度 */ + display: flex; + align-items: center; /* 垂直居中对齐文字 */ + box-sizing: border-box; /* 包含内边距和边框 */ + + } + + .scrolling-ad-content { + + display: inline-block; + padding-left: 100%; /* 确保广告从盒子外开始滚动 */ + animation: scrollLeft 10s linear infinite; /* 滚动动画,持续时间为10秒,线性匀速,无限循环 */ + } + + @keyframes scrollLeft { + 0% { + transform: translateX(0); /* 从盒子的右边开始 */ + } + 100% { + transform: translateX(-100%); /* 向左移动到盒子的左边 */ + } + } \ No newline at end of file diff --git a/src/components/step/StepProjEdit.tsx b/src/components/step/StepProjEdit.tsx index 8c16a2b..e4d90b8 100644 --- a/src/components/step/StepProjEdit.tsx +++ b/src/components/step/StepProjEdit.tsx @@ -1,12 +1,16 @@ import './step-proj-edit.css'; import { IStepProj, Process } from "../../interfaces/step/IStepProj.ts"; // import { CheckOutlined } from "@ant-design/icons"; -import { useEffect } from 'react'; - +import { useEffect, useState, } from 'react'; +import { useLocation } from 'react-router-dom'; export default function StepProjEdit(props: IStepProj) { + const location = useLocation() + const [allShow, setAllShow] = useState(false) useEffect(() => { - console.log(props); - + // console.log(props); + // location.pathname.includes('/proj-eall') + console.log('路由', location.pathname); + setAllShow(location.pathname.includes('/proj-eall') ? true : false) }, []) const height = window.innerHeight - 390; // 状态值 已完成:Process.COMPLETE 进行中: Process.PROCESSING 未操作:Process.PENDING @@ -83,7 +87,7 @@ export default function StepProjEdit(props: IStepProj) { props.step === 1 ? 'complete-oneLine setLine' : props.step === 2 ? 'complete-twoLine setLine' : props.step === 3 ? 'complete-threeLine setLine' : props.step === 4 ? 'complete-fourLine setLine' : '' }>
) - } + } // else if (props.process == Process.PROCESSING) { // // 进行中 // return( @@ -96,15 +100,17 @@ export default function StepProjEdit(props: IStepProj) { } return ( -
+
{renderStepNo()} {/* {renderStepDesc()} */} - {renderStepLine()} +
+ {renderStepLine()} +
- {/*
*/} + {/*
*/}
{props.children}
diff --git a/src/components/step/step-proj-edit.css b/src/components/step/step-proj-edit.css index 0b05633..b6a9bc3 100644 --- a/src/components/step/step-proj-edit.css +++ b/src/components/step/step-proj-edit.css @@ -1,5 +1,7 @@ .step-proj { - width: 317px; + /* width: 317px; */ + width: 21%; + /* background: skyblue; */ position: relative; /* overflow: scroll; */ } @@ -14,7 +16,7 @@ } .step-proj .step { - width: 309px; + width: 100%; height: 56px; /* background-color: rgb(248, 213, 219); */ margin-top: 10px; @@ -27,7 +29,8 @@ /* Top 状态:已完成 开始---------------------------------------------------------------*/ .step-proj .step .complete-one { - width: 309px; + /* width: 309px; */ + width: 100%; height: 56px; /* background-color: pink; */ display: flex; @@ -45,12 +48,12 @@ display: flex; align-items: center; justify-content: center; - margin-left: 44px; + margin-left: 11%; } /* 已完成状态第一个序号 */ .step-proj .step .complete-one .complete-num { - margin-left: 16px; + margin-left: 8%; } @@ -60,16 +63,18 @@ font-weight: 700; font-size: 16px; color: #FFFFFF; - margin-left: 47px; + margin-left: 15%; } /* 已完成状态第一个标题 */ .step-proj .step .complete-one .complete-text { - margin-left: 61px; + margin-left: 23%; } .step-proj .step .complete-two { - width: 309px; + /* width: 309px; */ + width: 100%; + height: 56px; /* background-color: pink; */ display: flex; @@ -79,7 +84,9 @@ } .step-proj .step .complete-three { - width: 309px; + /* width: 309px; */ + width: 100%; + height: 56px; /* background-color: pink; */ display: flex; @@ -89,7 +96,9 @@ } .step-proj .step .complete-four { - width: 309px; + /* width: 309px; */ + width: 100%; + height: 56px; /* background-color: pink; */ display: flex; @@ -99,11 +108,11 @@ } /* 已完成状态连接线 */ .step-proj .step .setLine { - width: 49px; + width: 10%; height: 22px; background-color: pink; position: absolute; - right: -67px; + right: -15%; top: 17px; } .step-proj .step .complete-oneLine{ @@ -125,7 +134,9 @@ /* Top 状态:进行中 开始----------------------------------------------------------- */ .step-proj .step .processing-one { - width: 309px; + /* width: 309px; */ + width: 100%; + height: 56px; /* background-color: pink; */ display: flex; @@ -135,7 +146,9 @@ } .step-proj .step .processing-two { - width: 309px; + /* width: 309px; */ + width: 100%; + height: 56px; /* background-color: pink; */ display: flex; @@ -145,7 +158,9 @@ } .step-proj .step .processing-three { - width: 309px; + /* width: 309px; */ + width: 100%; + height: 56px; /* background-color: pink; */ display: flex; @@ -155,7 +170,9 @@ } .step-proj .step .processing-four { - width: 309px; + width: 100%; + + /* width: 309px; */ height: 56px; /* background-color: pink; */ display: flex; @@ -168,7 +185,7 @@ height: 21px; background: #FFFFFF; border-radius: 50%; - margin-left: 46px; + margin-left: 18%; display: flex; justify-content: center; align-items: center; @@ -183,7 +200,7 @@ font-weight: 700; font-size: 16px; color: #71757E; - margin-left: 47px; + margin-left: 15%; } /* Top 状态:进行中 结束----------------------------------------------------------- */ @@ -193,9 +210,12 @@ /* Top 状态:未操作 开始 ------------------------------------------------------------ */ .step-proj .step .pending { width: 309px; + width: 100%; + height: 56px; display: flex; align-items: center; + /* background: pink; */ background: url('../../static/editPro/no.png'); background-size: 100% 100%; } @@ -205,7 +225,7 @@ height: 21px; background: #FFFFFF; border-radius: 50%; - margin-left: 46px; + margin-left: 18%; display: flex; justify-content: center; align-items: center; @@ -220,7 +240,7 @@ font-weight: 700; font-size: 16px; color: #71757E; - margin-left: 47px; + margin-left: 15%; } .step-proj .step .no-line{ background:url('../../static/editPro/lineno.png'); diff --git a/src/layout/head/Head.tsx b/src/layout/head/Head.tsx index f78a6fd..90f4b4b 100644 --- a/src/layout/head/Head.tsx +++ b/src/layout/head/Head.tsx @@ -36,12 +36,23 @@ export default function Head() { authorId: '', authorProvinceCity: '' }) + const setValue = () => { // console.log(value); + } + const setConcatValue = ()=> { + } // 联系人弹窗 const [contactModal, setContactModal] = useState(false) - + const [concatPeopleInfo,setConcatPeopleInfo] = useState({ + applyConcatId:'', + applyContactCsaNo:'', + applyContactEmail:'', + applyContactName:'', + applyContactPhone:'', + applyContactCompany:'' + }) useEffect(() => { reloadUser(messageApi, globalDispatchContext).then((data) => { if (!data.hasUserInfo) { @@ -278,7 +289,7 @@ export default function Head() { }}> - + {setContactModal(false)} } setConcatPeopleInfo={setConcatPeopleInfo} concatPeopleInfo={concatPeopleInfo} setConcatValue={setConcatValue}> {contextHolder} diff --git a/src/route/index/Index.tsx b/src/route/index/Index.tsx index 95b56f1..bd80d0f 100644 --- a/src/route/index/Index.tsx +++ b/src/route/index/Index.tsx @@ -8,7 +8,7 @@ import MenuWithTopButton from "../../components/menu/MenuWithTopButton.tsx"; import MenuTreeWithTopButton from "../../components/menu/MenuTreeWithTopButton.tsx"; // import ListProj from "../../components/list/ListProj.tsx"; // import ListProjAgent from "../../components/list/ListProjAgent.tsx"; -import { MenuProps } from 'antd'; +import { MenuProps,Select } from 'antd'; import { IndexListContext, IndexListDataType, @@ -29,8 +29,9 @@ const { Search } = Input; export default function Index() { - - // const [keywords, setKeywords] = useState(''); + // 关键字 + const [keywords, setKeywords] = useState(''); + const [type,setType] = useState('') // const indexListContext = useContext(IndexListContext); @@ -195,81 +196,119 @@ export default function Index() { // const [newname,setNewname] = useState('') const [pathArray, setPathArray] = useState([]) + const [showSearchBox,setShowSearchBox] = useState(true) useEffect(() => { // const nowname = sessionStorage.getItem('now') console.log('路由名字', location.pathname); if (location.pathname.includes('/home')) { setNow('首页') setPathArray([{ title: '首页' }]) + setShowSearchBox(true) + } else if (location.pathname.includes('/proj-create')) { + setShowSearchBox(false) setNow('创建项目') setPathArray([{ title: 首页 }, { title: '创建项目' }]) // /config-mod-list /config-menu-list /config-mod-show } else if (location.pathname.includes('/proj-edit') && !location.pathname.includes('/config-mod-show') && !location.pathname.includes('/config-mod-edit') && !location.pathname.includes('/step') && !location.pathname.includes('/config-loginpage') && !location.pathname.includes('/config-mod-save') && !location.pathname.includes('/config-mod-list') && !location.pathname.includes('/config-menu-list')) { setNow('编辑项目') + setShowSearchBox(false) + // setEditname(location.pathname) setPathArray([{ title: 首页 }, { title: 创建项目 }, { title: '编辑项目' }]) } else if (location.pathname.includes('/proj-new')) { setNow('新建项目') + setShowSearchBox(false) + // setNewname(location.pathname) setPathArray([{ title: 首页 }, { title: 创建项目 }, { title: '新建项目' }]) } else if (location.pathname.includes('/proj-efree')) { setNow('编辑项目') + setShowSearchBox(false) + // setNewname(location.pathname) setPathArray([{ title: 首页 }, { title: 创建项目 }, { title: '编辑项目' }]) } else if (location.pathname.includes('/proj-eall')) { setNow('编辑项目') + setShowSearchBox(false) + // setNewname(location.pathname) setPathArray([{ title: 首页 }, { title: 创建项目 }, { title: '编辑项目' }]) } else if (location.pathname.includes('/proj-edit/step1')) { setNow('标题简介') + setShowSearchBox(false) + // setNewname(location.pathname) setPathArray([{ title: 首页 }, { title: 创建项目 }, { title: { nav(-1) }}>编辑项目 }, { title: '标题简介' }]) } else if (location.pathname.includes('/proj-edit/step2')) { setNow('标题简介') + setShowSearchBox(false) + // setNewname(location.pathname) setPathArray([{ title: 首页 }, { title: 创建项目 }, { title: { nav(-1) }}>编辑项目 }, { title: '基本信息' }]) } else if (location.pathname.includes('/proj-edit/config-loginpage')) { setNow('登录界面设置') + setShowSearchBox(false) + // setNewname(location.pathname) setPathArray([{ title: 首页 }, { title: 创建项目 }, { title: { nav(-1) }}>编辑项目 }, { title: '登录界面设置' }]) } else if (location.pathname.includes('/proj-edit/config-mod-list')) { setNow('系统菜单管理') + setShowSearchBox(false) + // setNewname(location.pathname) setPathArray([{ title: 首页 }, { title: 创建项目 }, { title: { nav(-1) }}>编辑项目 }, { title: '系统菜单管理' }]) } else if (location.pathname.includes('/proj-edit/config-menu-list')) { setNow('系统菜单顺序') + setShowSearchBox(false) + // setNewname(location.pathname) setPathArray([{ title: 首页 }, { title: 创建项目 }, { title: { nav(-1) }}>编辑项目 }, { title: '系统菜单顺序' }]) } else if (location.pathname.includes('/step3')) { setNow('软件功能特点') + setShowSearchBox(false) + // setNewname(location.pathname) setPathArray([{ title: 首页 }, { title: 创建项目 }, { title: { nav(-1) }}>编辑项目 }, { title: '软件功能特点' }]) } else if (location.pathname.includes('/proj-edit/config-mod-save')) { setNow('添加菜单') + setShowSearchBox(false) + setPathArray([{ title: 首页 }, { title: 创建项目 }, { title: { nav(-1) }}>编辑项目 }, { title: '添加菜单' }]) } else if (location.pathname.includes('/proj-edit/config-mod-edit')) { setNow('编辑菜单') + setShowSearchBox(false) + setPathArray([{ title: 首页 }, { title: 创建项目 }, { title: { nav(-2) }}>编辑项目 }, { title: { nav(-1) }}>系统菜单管理 }, { title: '编辑菜单' }]) // /config-mod-edit /config-mod-show } else if (location.pathname.includes('/proj-edit/config-mod-show')) { setNow('查看菜单') + setShowSearchBox(false) + setPathArray([{ title: 首页 }, { title: 创建项目 }, { title: { nav(-2) }}>编辑项目 }, { title: { nav(-1) }}>系统菜单管理 }, { title: '查看菜单' }]) // /config-mod-edit } else if (location.pathname.includes('/product-release')) { setNow('首页') + setShowSearchBox(false) + setPathArray([{ title: '首页' }]) // /config-mod-edit /product-release /transaction-order } else if (location.pathname.includes(' /transaction-order')) { setNow('首页') + setShowSearchBox(false) + setPathArray([{ title: '首页' }]) // /config-mod-edit /product-release /transaction-order } else if (location.pathname.includes(' /copyright-goods')) { setNow('首页') + setShowSearchBox(false) + setPathArray([{ title: '首页' }]) // /config-mod-edit /product-release /transaction-order } else if (location.pathname.includes(' /trading-goods')) { setNow('首页') + setShowSearchBox(false) + setPathArray([{ title: '首页' }]) // /config-mod-edit /product-release /transaction-order } @@ -296,9 +335,11 @@ export default function Index() { const handleSearch = (value: string) => { console.log(value); + setKeywords(value) nav('/home', { state: { - keyword: value + keyword: value, + name:type } }) } @@ -348,7 +389,7 @@ export default function Index() {
当前位置:{now}
+ + +
+
+ 附件: +
+ + + + +
+
+ +
) } \ No newline at end of file diff --git a/src/route/proj/ProjEditFree.tsx b/src/route/proj/ProjEditFree.tsx index daff5a9..e5c420d 100644 --- a/src/route/proj/ProjEditFree.tsx +++ b/src/route/proj/ProjEditFree.tsx @@ -359,6 +359,7 @@ export default function ProjEdit() { isEditStepEdited && isConfigEdited ? ( { window.open(`${Axios.defaults?.baseURL}/${previewUrl}`, '_blank') }} @@ -453,18 +454,18 @@ export default function ProjEdit() { window.open(`${Axios.defaults?.baseURL}/route/proj/download/manual/${pathParams.projId}`) }} /> - { window.open(`${Axios.defaults?.baseURL}/route/proj/download/code-zip/${pathParams.projId}`) }} - /> - {/* */} + { }} - /> */} + /> {/* ({ projName: '', projIntroduction: '', - belongPeople: '' + belongPeople: '', + contacts: '', + projDevCompleteDate: '', }); const [form] = Form.useForm(); // 所属者弹窗 const [belongModal, setBelongModal] = useState(false) + // 联系人弹窗 + const [concatModal, setConcatModal] = useState(false) // const [belongPeopleName ,setBelongPeopleName] = useState('') - // // 暂存一个信息过度 - // const [newBelongPeopleName,setNewBelongPeopleName] = useState('') const [belongPeopleInfo, setBelongPeopleInfo] = useState({ authorName: '', authorType: '', authorIdCardType: '', authorIdCard: '', - authorCrcAccount:'', - authorId:'', - authorProvinceCity:'' + authorCrcAccount: '', + authorId: '', + authorProvinceCity: '' }) - const setValue = (value:string) => { + const [concatPeopleInfo, setConcatPeopleInfo] = useState({ + applyConcatId: '', + applyContactCsaNo: '', + applyContactEmail: '', + applyContactName: '', + applyContactPhone: '', + applyContactCompany: '' + }) + const setValue = (value: string) => { form.setFieldsValue({ - belongPeople:value + belongPeople: value + }) + } + const setConcatValue = (value: string) => { + form.setFieldsValue({ + contacts: value }) } - const [createProjId, setCreateProjId] = useState(''); const oldlistProjChargeAdditional: string[] = []; const [listProjChargeAdditional, setlistProjChargeAdditional] = useState([]) @@ -112,7 +132,6 @@ export default function ProjNew() { // console.log('传递信息pkg:',pkg,'videoDemo:',videoDemo); // console.log('显示价格',price); - } }) }, []); @@ -143,7 +162,9 @@ export default function ProjNew() { setProjInfo({ projName: formData.projName, projIntroduction: formData.projIntroduction, - belongPeople: formData.belongPeople + belongPeople: formData.belongPeople, + contacts: formData.contacts, + projDevCompleteDate: formData.projDevCompleteDate, }) }} autoComplete="off" @@ -172,6 +193,39 @@ export default function ProjNew() { setBelongModal(true) }}>选择
+
+
+ 知识产权联系人* +
+ + name="contacts" + rules={[{ required: true, message: '请选择/创建知识产权联系人' }]} + > + + + +
{ + setConcatModal(true) + }}>选择
+
+
+
+ 开发完成时间* +
+ + // label="开发完成时间" + name="projDevCompleteDate" + rules={[{ required: true, message: '请输入开发完成时间' }]} + > + + +
{ + // alert(belongPeopleInfo.authorProvinceCity) + // }} > 保存并付款 @@ -237,41 +294,50 @@ export default function ProjNew() { onOk={() => { // console.log('最终',listProjChargeAdditional); // console.log(belongPeopleInfo.authorId); - - post({ - messageApi, - url: '/api/proj/create', - body: { - projName: projInfo.projName, - projChargeType: pathParams.projChargeType, - listProjChargeAdditional: listProjChargeAdditional, - - authorCrcAccount:belongPeopleInfo.authorCrcAccount, - authorId:belongPeopleInfo.authorId, - authorIdCard:belongPeopleInfo.authorIdCard, - authorIdCardType:belongPeopleInfo.authorIdCardType, - authorName:belongPeopleInfo.authorName, - authorProvinceCity:belongPeopleInfo.authorProvinceCity, - authorType:belongPeopleInfo.authorType - }, - onBefore() { - setLoading(true); - }, - onSuccess({ data }) { - setIsEditModalOpen(true); - setCreateProjId(data.data); - reloadUser(messageApi, globalDispatchContext).then(() => { - messageApi.success('扣款成功'); - }); - }, - onFinally() { - setLoading(false); - } - }) - - + + post({ + messageApi, + url: '/api/proj/create', + body: { + projName: projInfo.projName, + projChargeType: pathParams.projChargeType, + listProjChargeAdditional: listProjChargeAdditional, + // dayjs(formInfo.getFieldValue('projDevCompleteDate')).format(dateFormat), + projDevCompleteDate:dayjs(projInfo.projDevCompleteDate).format(dateFormat), + authorCrcAccount: belongPeopleInfo.authorCrcAccount, + authorId: belongPeopleInfo.authorId, + authorIdCard: belongPeopleInfo.authorIdCard, + authorIdCardType: belongPeopleInfo.authorIdCardType, + authorName: belongPeopleInfo.authorName, + authorProvinceCity: belongPeopleInfo.authorProvinceCity, + authorType: belongPeopleInfo.authorType, + + applyContactCompany:concatPeopleInfo.applyContactCompany, + applyContactCsaNo:concatPeopleInfo.applyContactCsaNo, + applyContactEmail:concatPeopleInfo.applyContactEmail, + applyContactId:concatPeopleInfo.applyConcatId, + applyContactName:concatPeopleInfo.applyContactName, + applyContactPhone:concatPeopleInfo.applyContactPhone, + projVersion:'v1.0' + }, + onBefore() { + setLoading(true); + }, + onSuccess({ data }) { + setIsEditModalOpen(true); + setCreateProjId(data.data); + reloadUser(messageApi, globalDispatchContext).then(() => { + messageApi.success('扣款成功'); + }); + }, + onFinally() { + setLoading(false); + } + }) + + setIsCreateModalOpen(false); - + }} onCancel={() => { setIsCreateModalOpen(false); @@ -296,6 +362,20 @@ export default function ProjNew() { }}>
项目创建成功,开始编辑项目?
+ { + setConcatModal(false) + + }}> + + { setConcatModal(false) }} setConcatPeopleInfo={setConcatPeopleInfo} concatPeopleInfo={concatPeopleInfo} setConcatValue={setConcatValue}> + - {setBelongModal(false)}} setBelongPeopleInfo={setBelongPeopleInfo} belongPeopleInfo={belongPeopleInfo} setValue={setValue} isShow={true}> + { setBelongModal(false) }} setBelongPeopleInfo={setBelongPeopleInfo} belongPeopleInfo={belongPeopleInfo} setValue={setValue} isShow={true}> diff --git a/src/route/proj/edit/ProjEditStep2.tsx b/src/route/proj/edit/ProjEditStep2.tsx index 4dd3ff9..c389f06 100644 --- a/src/route/proj/edit/ProjEditStep2.tsx +++ b/src/route/proj/edit/ProjEditStep2.tsx @@ -870,8 +870,8 @@ export default function ProjEditStep2(props: any) {
-
当前申请人:
-
请选择申请人
+
当前联系人:
+
请选择联系人
{applyContactName}/{applyContactPhone}{applyContactEmail ? '/' + applyContactEmail : ''}
@@ -1022,7 +1022,7 @@ export default function ProjEditStep2(props: any) { // alert('申请人不能为空') messageApi.open({ type: 'error', - content: '请选择申请人' + content: '请选择联系人' }) setIsEditModalOpen(false); } diff --git a/src/route/proj/edit/ProjEditStep2Show.tsx b/src/route/proj/edit/ProjEditStep2Show.tsx index 5491d0f..2af9003 100644 --- a/src/route/proj/edit/ProjEditStep2Show.tsx +++ b/src/route/proj/edit/ProjEditStep2Show.tsx @@ -719,8 +719,8 @@ export default function ProjEditStep2() {
-
当前申请人:
-
请选择申请人
+
当前联系人:
+
请选择联系人
{applyContactName}/{applyContactPhone}/{applyContactEmail}
@@ -775,7 +775,7 @@ export default function ProjEditStep2() { // alert('申请人不能为空') messageApi.open({ type: 'error', - content: '请选择申请人' + content: '请选择联系人' }) setIsEditModalOpen(false); } diff --git a/src/route/proj/proj-edit.css b/src/route/proj/proj-edit.css index 3a465c4..a5b2942 100644 --- a/src/route/proj/proj-edit.css +++ b/src/route/proj/proj-edit.css @@ -9,6 +9,7 @@ } .proj-edit { background-color: var(--color-light); + /* background-color: var(--color-light); */ padding: 15px; display: flex; justify-content: space-around; @@ -25,6 +26,105 @@ height: 100px; position: fixed; right: 25px; - bottom: 50px; + bottom: 20px; cursor: pointer; } +.editAll-box{ + width: 19%; + /* background-color: skyblue; */ + display: flex; + flex-direction: column; + align-items: center; +} +.editAll-box-title{ + width: 100%; + height: 56px; + background-color: #FF9F08; + margin-top: 10px; + text-align: center; + line-height: 56px; + font-size: 16px; + font-weight: 700; + border-radius: 10px; + color:#fff; +} +.editAll-boxNo-con{ + margin-top: 50px; + width: 100%; + background-color: #f3f3f3; + height: 95px; + line-height: 95px; + text-align: center; + font-size: 16px; + font-weight: bold; +} +.editAll-box-con{ + /* width: 270px; */ + /* width: 100%; */ + width: calc(100% - 2px); + + /* height: 500px; */ + border: 1px solid rgb(212, 212, 212); + margin-bottom: 20px; + +} +.question{ + width: 100%; + height: 40px; + background-color: #FF9F08; + line-height: 40px; + font-weight: 700; + padding:0 10px; + box-sizing: border-box; + display: flex; + justify-content: space-between; + color: #fff; +} +.questionStatus{ + font-weight: 300; +} +.boxtitle{ + width: 100%; + height: 40px; + background-color: #FF9F08; + color: #fff; + + line-height: 40px; + text-indent: 10px; + /* font-size: 16px; */ + font-weight: 700; +} +.boxtextTop{ + background-color: #fff; + width: 100%; + padding: 10px; + box-sizing: border-box; +} +.unReason{ + /* background-color: pink; */ + margin-top: 10px; + color: red; +} +.boxtextBot{ + background-color: #fff; + width: 100%; + padding: 10px; + box-sizing: border-box; +} +.fileBox{ + /* background-color: skyblue; */ + margin-top: 10px; + min-height: 40px; + /* overflow: scroll; */ + text-align: justify; /* 让文字两端对齐 */ + + +} +.upload-box{ + margin-top: 10px; + /* background-color: skyblue; */ +} +.uploadTitle{ + font-size: 16px; + margin-right: 10px; +} \ No newline at end of file diff --git a/src/route/proj/proj-new.css b/src/route/proj/proj-new.css index f8ca296..c6af614 100644 --- a/src/route/proj/proj-new.css +++ b/src/route/proj/proj-new.css @@ -67,3 +67,6 @@ margin-left: 190px; } +.formItemOne .css-dev-only-do-not-override-1ae8k9u.ant-picker .ant-picker-input >input{ + font-size: 16px; +} \ No newline at end of file