system-copyright-react/src/route/proj/edit/ProjEditStep3.tsx
2024-06-04 16:02:06 +08:00

345 lines
13 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import './proj-edit-step.css';
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";
// import { useNavigate } from 'react-router-dom';
export default function ProjEditStep3(props:any) {
// const navigate = useNavigate()
const pathParams = useParams();
const [messageApi, contextHolder] = message.useMessage();
const [loading, setLoading] = useState<boolean>(false);
const [isEditModalOpen, setIsEditModalOpen] = useState(false);
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('')
const height = window.innerHeight - 210;
// 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)
}
})
}
// 硬件开发环境
const getEnvHardDev = () => {
get({
messageApi,
url: `/api/proj/dict/get-env-hard-dev`,
onSuccess({ data }: AxiosResponse) {
// resolve(data);
// console.log('硬件开发环境', data);
setenvHardDev(data.data)
}
})
}
// 硬件运行环境
const getEnvHardProd = () => {
get({
messageApi,
url: `/api/proj/dict/get-env-hard-proj`,
onSuccess({ data }: AxiosResponse) {
// resolve(data);
// console.log('硬件运行环境', data);
setenvHardProd(data.data)
}
})
}
// 软件环境 开发
const getEnvsoftDev = () => {
get({
messageApi,
url: `/api/proj/dict/get-env-soft`,
onSuccess({ data }: AxiosResponse) {
// resolve(data);
// console.log('软件环境', data);
setenvSoftDev(data.data[0])
}
})
}
// 软件环境 运行
const getEnvsoftProd = () => {
get({
messageApi,
url: `/api/proj/dict/get-env-soft`,
onSuccess({ data }: AxiosResponse) {
// resolve(data);
// console.log('软件环境', data);
setenvSoftProd(data.data[1])
}
})
}
// 开发系统 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)
}
})
}
// 运行系统 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)
}
})
}
useEffect(() => {
// render();
getData()
}, [])
return (
<div style={{ height: `${height}px`, overflow: 'auto', marginTop: '18px' }}>
{contextHolder}
<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>
<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>
</div>
<div className='software-btn'>
<Button className='software-back'
type="default"
size='large'
onClick={()=>{
props.closeModal()
// setTimeout(()=>{
// window.location.reload()
// },500)
}}>
</Button>
<Button className='software-up'
size='large'
type="primary"
onClick={()=>{
setIsEditModalOpen(true)
}}>
</Button>
</div>
</div>
<Modal title="提示"
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',
content: '编辑成功',
})
// props.closeModal()
// props.closeModal()
setTimeout(()=>{
// window.location.reload()
props.closeModal()
},500)
},
onFinally() {
setLoading(false);
}
})
}}
onCancel={() => {
setIsEditModalOpen(false);
}}>
<div></div>
</Modal>
<Spin tip="正在提交..." spinning={loading} fullscreen />
</div>
)
}