diff --git a/src/components/BelongPeople/BelongPeople.tsx b/src/components/BelongPeople/BelongPeople.tsx index cc2d047..0ad1e37 100644 --- a/src/components/BelongPeople/BelongPeople.tsx +++ b/src/components/BelongPeople/BelongPeople.tsx @@ -517,6 +517,16 @@ export default function BelongPeople(props: propsInfo) { }} style={{ textAlign: 'center', height: 390 }} // 设置表格内容居中显示 rowKey="projOwnerId" // 指定数据项的唯一标识符 + // onRow={(record: any) => { + // return { + // onClick: (event: React.MouseEvent) => { + // // 阻止默认的行点击事件,以避免选中行时触发其他操作 + // event.stopPropagation(); + // // 更新选中的行 + // belongRowSelection.onChange([record.projOwnerId], [record]); + // }, + // }; + // }} > { + // return { + // onClick: (event: React.MouseEvent) => { + // // 阻止默认的行点击事件,以避免选中行时触发其他操作 + // event.stopPropagation(); + // // 更新选中的行 + // ContantRowSelection.onChange([record.projContactId], [record]); + // }, + // }; + // }} dataSource={tableContactData} pagination={{ defaultPageSize: 5, // 设置默认一页显示 5 条数据 diff --git a/src/components/CorrectionModal/CorrectionModal.tsx b/src/components/CorrectionModal/CorrectionModal.tsx index c4e90c8..21965bb 100644 --- a/src/components/CorrectionModal/CorrectionModal.tsx +++ b/src/components/CorrectionModal/CorrectionModal.tsx @@ -32,6 +32,13 @@ export default function CorrectionModal(props: any) { render: (text: string) => <>{text}, }, + { + title: '已通过补正次数', + dataIndex: 'approvedCount', + align: 'center', + width: 130, + render: (text) => <>{text}, // 显示序号,从1开始 + }, { title: '所属者名称', dataIndex: 'applyContactName', @@ -179,7 +186,7 @@ export default function CorrectionModal(props: any) { }, onSuccess(data: any) { - // console.log(data); + // console.log(data.data.rows); // const newArray = (data.data).map((item: { projId: any; projName: any; }) => ({ // value: item.projId, // label: item.projName @@ -381,10 +388,10 @@ export default function CorrectionModal(props: any) { -
*上传完整的补正通知书或者完整的补正通知书的截图,要求右上方的流水号和右下方的补正通知书的日期都得完整显示
@@ -481,6 +488,18 @@ export default function CorrectionModal(props: any) { />, }} scroll={{ y: 500 }} + onRow={(record: DataType) => { + return { + onClick: (event: React.MouseEvent) => { + // 阻止默认的行点击事件,以避免选中行时触发其他操作 + event.stopPropagation(); + // 更新选中的行 + setselectedRowKeys([record.projId]); + setnewProjId(record.projId); + setnewprojName(record.projName); + }, + }; + }} /> diff --git a/src/components/RefunModal/RefunModal.css b/src/components/RefunModal/RefunModal.css index c10a2ec..d5c5f8f 100644 --- a/src/components/RefunModal/RefunModal.css +++ b/src/components/RefunModal/RefunModal.css @@ -34,14 +34,18 @@ } .refunInput-button{ /* height: 100%; */ - width: 50px; - display: flex; - align-items: center; + width: 385px; + height: 46px; + /* background-color: pink; */ + /* display: flex; */ + /* align-items: flex-end; */ justify-content: center; /* background-color: #F04C4C; */ color: rgb(18, 128, 255); position: absolute; - top:13px; + top:0px; + line-height: 46px; + text-align: right; right: 20px; cursor: pointer; } \ No newline at end of file diff --git a/src/components/RefunModal/RefunModal.tsx b/src/components/RefunModal/RefunModal.tsx index dd48371..81e2439 100644 --- a/src/components/RefunModal/RefunModal.tsx +++ b/src/components/RefunModal/RefunModal.tsx @@ -387,6 +387,18 @@ export default function RefunModal(props: any) { />, }} scroll={{ y: 500 }} + onRow={(record: DataType) => { + return { + onClick: (event: React.MouseEvent) => { + // 阻止默认的行点击事件,以避免选中行时触发其他操作 + event.stopPropagation(); + // 更新选中的行 + setselectedRowKeys([record.projId]); + setnewProjId(record.projId); + setnewprojName(record.projName); + }, + }; + }} /> diff --git a/src/components/card/CardProj.tsx b/src/components/card/CardProj.tsx index 1879031..93d2d9e 100644 --- a/src/components/card/CardProj.tsx +++ b/src/components/card/CardProj.tsx @@ -279,8 +279,8 @@ export default function CardProj(props: any) { //将data.projName储存到缓sessionStorage存里面 key为projName sessionStorage.setItem('projName', data.projName); sessionStorage.setItem('projStatus', data.generate.generateStatus == GenerateStatus.SUCCESS ? '查看' : '编辑'); - - + + } } @@ -405,24 +405,28 @@ export default function CardProj(props: any) { { data.generate.generateStatus == GenerateStatus.SUCCESS ? ( - + - 查看 + 查看 ) : ( - + - 编辑 + 编辑 ) } | - - { - window.open(`${Axios.defaults?.baseURL}/${data.previewUrl}`, '_blank') - }}>预览 + + { + window.open(`${Axios.defaults?.baseURL}/${data.previewUrl}`, '_blank') + }}/> + { + window.open(`${Axios.defaults?.baseURL}/${data.previewUrl}`, '_blank') + }}>预览 + diff --git a/src/components/step/StepProjEdit.tsx b/src/components/step/StepProjEdit.tsx index 1a5cb48..aadadac 100644 --- a/src/components/step/StepProjEdit.tsx +++ b/src/components/step/StepProjEdit.tsx @@ -109,7 +109,9 @@ export default function StepProjEdit(props: IStepProj) {
-
+
{/*
*/}
{props.children}
diff --git a/src/route/index/Index.tsx b/src/route/index/Index.tsx index 781677f..15b7df6 100644 --- a/src/route/index/Index.tsx +++ b/src/route/index/Index.tsx @@ -547,7 +547,7 @@ export default function Index() { // } // }) const location = useLocation() - const [now, setNow] = useState('首页-项目') + const [now, setNow] = useState('首页 / 项目') // 编辑项目路由名 // const [editname,setEditname] = useState('') // 新建项目路由名字 @@ -685,7 +685,7 @@ export default function Index() { if (location.pathname.includes('/home')) { // setCoupon(true) getCoupon() - setNow('首页-项目') + setNow('首页 / 项目') // setPathArray([{ title: '首页' }]) setShowSearchBox(true) // setClickBelongpeople(true) @@ -701,7 +701,7 @@ export default function Index() { // 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(`${projStatus}项目-${projName}`) + setNow(`${projStatus}项目 / ${projName}`) setShowSearchBox(false) setRrefunSearchBox(false) setCorrectionSearchBox(false) @@ -717,7 +717,7 @@ export default function Index() { // setNewname(location.pathname) // setPathArray([{ title: 首页 }, { title: 创建项目 }, { title: '新建项目' }]) } else if (location.pathname.includes('/proj-efree')) { - setNow(`${projStatus}项目-${projName}`) + setNow(`${projStatus}项目 / ${projName}`) setShowSearchBox(false) setRrefunSearchBox(false) setCorrectionSearchBox(false) @@ -725,7 +725,7 @@ export default function Index() { // setNewname(location.pathname) // setPathArray([{ title: 首页 }, { title: '编辑项目' }]) } else if (location.pathname.includes('/proj-eall')) { - setNow(`${projStatus}项目-${projName}`) + setNow(`${projStatus}项目 / ${projName}`) setShowSearchBox(false) setRrefunSearchBox(false) setCorrectionSearchBox(false) @@ -837,7 +837,7 @@ export default function Index() { // /config-mod-edit /product-release /transaction-order } else if (location.pathname.includes('/refun')) { setShowSearchBox(false) - setNow('首页-退款') + setNow('首页 / 退款') // setClickBelongpeople(false) setRrefunSearchBox(true) setCorrectionSearchBox(false) @@ -846,7 +846,7 @@ export default function Index() { // setPathArray([{ title: 首页 }, { title: 创建项目 }, { title: { nav(-1) }}>编辑项目 }, { title: '软件功能特点' }]) } else if (location.pathname.includes('/correction')) { setShowSearchBox(false) - setNow('首页-补正') + setNow('首页 / 补正') // setClickBelongpeople(false) setRrefunSearchBox(false) setCorrectionSearchBox(true) @@ -858,7 +858,7 @@ export default function Index() { setRrefunSearchBox(false) setCorrectionSearchBox(false) setContractSearchBox(true) - setNow('首页-合同下载') + setNow('首页 / 合同下载') } }, [location.pathname]) useEffect(() => { @@ -1236,7 +1236,7 @@ export default function Index() { {/* {renderStatus()} */}
-
当前位置:{now}
+
{now}
0 + const isModal = !data.projDesc || !data.projIntroduction || data.projModCount >= 10 // const isModal = !data.projDesc || !data.projIntroduction || data.aiSetting.modsStatus == "GENERATING" if (!isModal && data.generate.generateStatus == GenerateStatus.NONE) { - - setAiHelperModalOpen(true) } + // if (data.projModCount < 10) { + // setAiHelperModalOpen(true) + // } if (data.aiSetting.settingStatus == 'GENERATING') { setAiHelperModalOpen(true) } @@ -410,10 +411,17 @@ export default function ProjEdit() { // console.log('模块信息', data); // setListMods(data) const allSuccess = data.every(item => item.aiFieldStatus === 'SUCCESS'); - if (data.length > 0 && allSuccess) { + if (data.length >= 10 && allSuccess) { setAiHelperModalOpen(false); } else { - messageApi.error('须完成系统简介,系统详情,功能列表的生成才可关闭弹窗'); + if (!allSuccess) { + messageApi.error('须完成系统简介,系统详情,功能列表的生成才可关闭弹窗'); + } + if (data.length < 10) { + messageApi.error('功能列表模块数量不能少于10,请点击AI继续生成功能列表'); + + } + // messageApi.error('须完成系统简介,系统详情,功能列表的生成才可关闭弹窗'); } }, @@ -641,6 +649,17 @@ export default function ProjEdit() { window.open(`${Axios.defaults?.baseURL}/route/proj/download/code/pdf/${pathParams.projId}`) }} /> + {/* { + window.open(`${Axios.defaults?.baseURL}/route/proj/download/code/${pathParams.projId}`) + }} + downPdf={() => { + window.open(`${Axios.defaults?.baseURL}/route/proj/download/code/pdf/${pathParams.projId}`) + }} + /> */} + {/* {*/} @@ -676,6 +695,7 @@ export default function ProjEdit() { okText="确定" cancelText="取消" open={isGenerateModalOpen} + centered onOk={() => { setTimeout(() => { window.location.reload(); diff --git a/src/route/proj/ProjEditAll.tsx b/src/route/proj/ProjEditAll.tsx index 0d811f4..dc4f8d1 100644 --- a/src/route/proj/ProjEditAll.tsx +++ b/src/route/proj/ProjEditAll.tsx @@ -764,6 +764,7 @@ export default function ProjEditAll() { { setTimeout(() => { diff --git a/src/route/proj/ProjEditFree.tsx b/src/route/proj/ProjEditFree.tsx index c36ba27..70c1f1f 100644 --- a/src/route/proj/ProjEditFree.tsx +++ b/src/route/proj/ProjEditFree.tsx @@ -166,10 +166,18 @@ export default function ProjEdit() { const allSuccess = data.every(item => item.aiFieldStatus === 'SUCCESS'); // console.log('检测项目',allSuccess); - if (data.length > 0 && allSuccess) { + if (data.length >= 3 && allSuccess) { setAiHelperModalOpen(false); } else { - messageApi.error('须完成系统简介,系统详情,功能列表的生成才可关闭弹窗'); + // messageApi.error('须完成系统简介,系统详情,功能列表的生成才可关闭弹窗'); + // messageApi.error('功能列表模块数量不能少于3'); + if (!allSuccess) { + messageApi.error('须完成系统简介,系统详情,功能列表的生成才可关闭弹窗'); + } + if (data.length < 3) { + messageApi.error('功能列表模块数量不能少于3,请点击AI继续生成功能列表'); + + } } }, @@ -400,13 +408,16 @@ export default function ProjEdit() { // setCanGenerate(true) // } // 根据状态判断是否显示ai弹窗 - const isModal = !data.projDesc || !data.projIntroduction || data.projModCount > 0 + const isModal = !data.projDesc || !data.projIntroduction || data.projModCount >= 3 // const isModal = !data.projDesc || !data.projIntroduction || data.aiSetting.modsStatus == "GENERATING" if (!isModal && data.generate.generateStatus == GenerateStatus.NONE) { - - + + setAiHelperModalOpen(true) } + // if (data.projModCount < 3) { + // setAiHelperModalOpen(true) + // } if (data.aiSetting.settingStatus == 'GENERATING') { setAiHelperModalOpen(true) } @@ -660,6 +671,7 @@ export default function ProjEdit() { { setTimeout(() => { diff --git a/src/route/proj/ProjNew.tsx b/src/route/proj/ProjNew.tsx index 87575e2..7b861c4 100644 --- a/src/route/proj/ProjNew.tsx +++ b/src/route/proj/ProjNew.tsx @@ -1,6 +1,6 @@ import './proj-new.css'; import { useNavigate, useParams, useSearchParams } from "react-router-dom"; -import { Button, Flex, Form, Input, message, Modal, Spin, Checkbox, DatePicker,Select } from "antd"; +import { Button, Flex, Form, Input, message, Modal, Spin, Checkbox, DatePicker, Select } from "antd"; import { useContext, useEffect, useState } from "react"; import { get, post } from "../../util/AjaxUtils.ts"; // import {GlobalContext} from "../../context/GlobalContext.ts"; @@ -225,9 +225,10 @@ export default function ProjNew() {
系统版本*
name="projVersion" - + > @@ -302,7 +303,7 @@ export default function ProjNew() { ]} > -
{ +
{ setBelongModal(true) }}>选择
@@ -343,7 +349,12 @@ export default function ProjNew() { -
{ +
{ setConcatModal(true) }}>选择
@@ -366,7 +377,7 @@ export default function ProjNew() { />
- +
@@ -468,7 +479,7 @@ export default function ProjNew() { projChargeType: pathParams.projChargeType, listProjChargeAdditional: listProjChargeAdditional, // dayjs(formInfo.getFieldValue('projDevCompleteDate')).format(dateFormat), - projDevCompleteDate:projInfo.projDevCompleteDate? dayjs(projInfo.projDevCompleteDate).format(dateFormat):'', + projDevCompleteDate: projInfo.projDevCompleteDate ? dayjs(projInfo.projDevCompleteDate).format(dateFormat) : '', authorCrcAccount: belongPeopleInfo.authorCrcAccount, authorId: belongPeopleInfo.authorId, authorIdCard: belongPeopleInfo.authorIdCard, diff --git a/src/route/proj/proj-edit.css b/src/route/proj/proj-edit.css index 1a6ccee..37457b3 100644 --- a/src/route/proj/proj-edit.css +++ b/src/route/proj/proj-edit.css @@ -22,8 +22,8 @@ background-color: var(--color-light); } .aiImg{ - width: 100px; - height: 100px; + width: 200px; + height: 250px; position: fixed; right: 25px; bottom: 20px; diff --git a/src/static/ai.gif b/src/static/ai.gif index 263dc5f..1f83963 100644 Binary files a/src/static/ai.gif and b/src/static/ai.gif differ diff --git a/src/static/status/ai.gif b/src/static/status/ai.gif new file mode 100644 index 0000000..1f83963 Binary files /dev/null and b/src/static/status/ai.gif differ