system-copyright-react/src/route/proj/edit/ProjEditStep3.tsx

345 lines
13 KiB
TypeScript
Raw Normal View History

2024-03-21 22:22:35 +08:00
import './proj-edit-step.css';
2024-05-21 11:21:34 +08:00
import { message, Modal, Spin ,Button} from "antd";
import { useParams } from "react-router-dom";
import { useEffect, useState } from "react";
import { get, put } from "../../../util/AjaxUtils.ts";
// import {Button, Form, Input} from 'antd';
import { AxiosResponse } from "axios";
2024-05-28 18:00:42 +08:00
// import { useNavigate } from 'react-router-dom';
2024-03-21 22:22:35 +08:00
2024-05-28 18:00:42 +08:00
export default function ProjEditStep3(props:any) {
// const navigate = useNavigate()
2024-03-21 22:22:35 +08:00
const pathParams = useParams();
const [messageApi, contextHolder] = message.useMessage();
2024-05-21 11:21:34 +08:00
2024-03-21 22:22:35 +08:00
const [loading, setLoading] = useState<boolean>(false);
const [isEditModalOpen, setIsEditModalOpen] = useState(false);
2024-05-21 11:21:34 +08:00
const [envHardDev, setenvHardDev] = useState('')
const [envHardProd, setenvHardProd] = useState('')
const [envIndustry, setenvIndustry] = useState('')
// const [envLang, setenvLang] = useState('')
const [envSoftDev, setenvSoftDev] = useState('')
const [envSoftProd, setenvSoftProd] = useState('')
const [envSystemDev, setenvSystemDev] = useState('')
const [envSystemProd, seenvSystemProd] = useState('')
const [envTechnical, setenvTechnical] = useState('')
2024-05-28 18:00:42 +08:00
const height = window.innerHeight - 210;
2024-05-21 11:21:34 +08:00
// const [defaultData, setDefaultData] = useState<any[]>([])
//
const getData = () => {
get({
messageApi,
url: `/api/proj/get/edit-step3/${pathParams.projId}`,
onSuccess({ data }: AxiosResponse) {
// resolve(data);
console.log('获取页面信息', data);
setenvHardDev(data.envHardDev)
setenvHardProd(data.envHardProd)
setenvIndustry(data.envIndustry)
setenvSoftDev(data.envSoftDev)
setenvSoftProd(data.envSoftProd)
setenvSystemDev(data.envSystemDev)
seenvSystemProd(data.envSystemProd)
setenvTechnical(data.envTechnical)
}
})
2024-03-21 22:22:35 +08:00
2024-05-21 11:21:34 +08:00
}
// 硬件开发环境
const getEnvHardDev = () => {
get({
messageApi,
url: `/api/proj/dict/get-env-hard-dev`,
onSuccess({ data }: AxiosResponse) {
// resolve(data);
// console.log('硬件开发环境', data);
setenvHardDev(data.data)
}
2024-03-21 22:22:35 +08:00
})
}
2024-05-21 11:21:34 +08:00
// 硬件运行环境
const getEnvHardProd = () => {
get({
messageApi,
url: `/api/proj/dict/get-env-hard-proj`,
onSuccess({ data }: AxiosResponse) {
// resolve(data);
// console.log('硬件运行环境', data);
setenvHardProd(data.data)
}
2024-03-21 22:22:35 +08:00
})
}
2024-05-21 11:21:34 +08:00
// 软件环境 开发
const getEnvsoftDev = () => {
get({
messageApi,
url: `/api/proj/dict/get-env-soft`,
onSuccess({ data }: AxiosResponse) {
// resolve(data);
// console.log('软件环境', data);
setenvSoftDev(data.data[0])
}
2024-03-21 22:22:35 +08:00
})
}
2024-05-21 11:21:34 +08:00
// 软件环境 运行
const getEnvsoftProd = () => {
get({
messageApi,
url: `/api/proj/dict/get-env-soft`,
onSuccess({ data }: AxiosResponse) {
// resolve(data);
// console.log('软件环境', data);
setenvSoftProd(data.data[1])
}
2024-03-21 22:22:35 +08:00
})
}
2024-05-21 11:21:34 +08:00
// 开发系统 api/proj/dict/get-system-dev
const getSystemdev = () => {
get({
messageApi,
url: `/api/proj/dict/get-system-dev`,
onSuccess({ data }: AxiosResponse) {
// resolve(data);
// console.log('开发系统', data);
setenvSystemDev(data.data)
}
2024-03-21 22:22:35 +08:00
})
}
2024-05-21 11:21:34 +08:00
// 运行系统 api/proj/dict/get-system-prod
const getSystemprod = () => {
get({
messageApi,
url: `/api/proj/dict/get-system-prod`,
onSuccess({ data }: AxiosResponse) {
// resolve(data);
// console.log('运行系统', data);
seenvSystemProd(data.data)
}
})
}
// 技术特点 api/proj/dict/get-technical
const getTechnical = () => {
get({
messageApi,
url: `/api/proj/dict/get-technical`,
onSuccess({ data }: AxiosResponse) {
// resolve(data);
// console.log('技术特点', data);
setenvTechnical(data.data)
}
})
}
// 面向领域 api/proj/dict/get-industry
const getIndustry = () => {
get({
messageApi,
url: `/api/proj/dict/get-industry`,
onSuccess({ data }: AxiosResponse) {
// resolve(data);
console.log('面向领域', data);
setenvIndustry(data.data)
}
2024-03-21 22:22:35 +08:00
})
}
useEffect(() => {
2024-05-21 11:21:34 +08:00
// render();
getData()
2024-03-21 22:22:35 +08:00
}, [])
return (
2024-05-21 11:21:34 +08:00
<div style={{ height: `${height}px`, overflow: 'auto', marginTop: '18px' }}>
2024-03-21 22:22:35 +08:00
{contextHolder}
2024-05-21 11:21:34 +08:00
<div className="form-container" style={{height: `${height}px`,overflow: 'auto',paddingBottom:'10px'}}>
<div className='Step-title'>
<div className='Step-titlel'></div>
<div className='Step-titler'></div>
</div>
<div className='step-software'>
<div className='step-software-context'>
<div className='step-software-title'>
</div>
<div className='step-software-text'>
{envHardDev}
</div>
<div className='step-software-btn' onClick={()=>{getEnvHardDev()}}>
</div>
</div>
<div className='step-software-context'>
<div className='step-software-title'>
</div>
<div className='step-software-text'>
{envHardProd}
</div>
<div className='step-software-btn' onClick={()=>{getEnvHardProd()}}>
</div>
</div>
<div className='step-software-context'>
<div className='step-software-title'>
</div>
<div className='step-software-text'>
{envSystemDev}
</div>
<div className='step-software-btn' onClick={()=>{getSystemdev()}}>
</div>
</div>
<div className='step-software-context'>
<div className='step-software-title'>
/
</div>
<div className='step-software-text'>
{envSystemProd}
</div>
<div className='step-software-btn' onClick={()=>{getSystemprod()}}>
</div>
</div>
2024-03-21 22:22:35 +08:00
2024-05-21 11:21:34 +08:00
<div className='step-software-context'>
<div className='step-software-title'>
/
</div>
<div className='step-software-text'>
{envSoftDev}
</div>
<div className='step-software-btn' onClick={()=>{getEnvsoftDev()}}>
</div>
</div>
<div className='step-software-context'>
<div className='step-software-title'>
/
</div>
<div className='step-software-text'>
{envSoftProd}
</div>
<div className='step-software-btn' onClick={()=>{getEnvsoftProd()}}>
</div>
</div>
<div className='step-software-context'>
<div className='step-software-title'>
</div>
<div className='step-software-text'>
Java
</div>
</div>
<div className='step-software-context'>
<div className='step-software-title'>
/
</div>
<div className='step-software-text'>
{envIndustry}
</div>
<div className='step-software-btn' onClick={()=>{getIndustry()}}>
</div>
</div>
<div className='step-software-context'>
<div className='step-software-title'>
</div>
<div className='step-software-text'>
{envTechnical}
</div>
<div className='step-software-btn' onClick={()=>{getTechnical()}}>
</div>
</div>
2024-03-21 22:22:35 +08:00
</div>
2024-05-21 11:21:34 +08:00
<div className='software-btn'>
<Button className='software-back'
type="default"
size='large'
2024-05-28 18:00:42 +08:00
onClick={()=>{
props.closeModal()
2024-05-29 15:11:52 +08:00
// setTimeout(()=>{
// window.location.reload()
// },500)
2024-05-28 18:00:42 +08:00
}}>
2024-05-21 11:21:34 +08:00
</Button>
<Button className='software-up'
size='large'
type="primary"
onClick={()=>{
setIsEditModalOpen(true)
}}>
2024-05-22 09:04:00 +08:00
2024-05-21 11:21:34 +08:00
</Button>
</div>
2024-03-21 22:22:35 +08:00
</div>
2024-05-21 11:21:34 +08:00
2024-03-21 22:22:35 +08:00
<Modal title="提示"
2024-05-21 11:21:34 +08:00
okText="确定"
cancelText="取消"
open={isEditModalOpen}
onOk={() => {
setIsEditModalOpen(false);
put({
messageApi,
url: `/api/proj/update/edit-step3/${pathParams.projId}`,
body: {
envHardDev: envHardDev,
envHardProd:envHardProd ,
envIndustry: envIndustry,
envLang: "Java",
envSoftDev: envSoftDev,
envSoftProd: envSoftProd,
envSystemDev: envSystemDev,
envSystemProd:envSystemProd,
envTechnical: envTechnical
},
onBefore() {
setLoading(true);
},
onSuccess() {
messageApi.open({
type: 'success',
2024-06-04 16:02:06 +08:00
content: '编辑成功',
2024-05-21 11:21:34 +08:00
})
2024-05-28 18:00:42 +08:00
// props.closeModal()
2024-06-04 16:02:06 +08:00
// props.closeModal()
2024-05-29 14:43:48 +08:00
setTimeout(()=>{
2024-06-04 16:02:06 +08:00
// window.location.reload()
props.closeModal()
2024-05-29 14:43:48 +08:00
},500)
2024-05-21 11:21:34 +08:00
},
onFinally() {
setLoading(false);
}
})
}}
onCancel={() => {
setIsEditModalOpen(false);
}}>
2024-03-21 22:22:35 +08:00
<div></div>
</Modal>
2024-05-21 11:21:34 +08:00
<Spin tip="正在提交..." spinning={loading} fullscreen />
</div>
2024-03-21 22:22:35 +08:00
)
}