system-copyright-react/src/route/TrademarkMall/TrademarkExpertEdit.tsx
2025-07-09 14:01:47 +08:00

203 lines
6.6 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 { useEffect, useState, useContext } from 'react'
import './trademark-edit.css'
import { useLocation, useNavigate } from 'react-router-dom';
import { expertRegister } from '../../request/api'
import { GlobalDispatchContext, reloadUser } from "../../context/GlobalContext";
// import { useNavigate } from 'react-router-dom';
import {
Form,
Input, Button,
Modal,
message,
Spin
} from 'antd';
import useMessage from "antd/es/message/useMessage";
const { TextArea } = Input;
export default function TrademarkExpertEdit() {
const nav = useNavigate()
const globalDispatchContext = useContext(GlobalDispatchContext);
const [messageApi, contextHolder] = useMessage();
const { state } = useLocation()
const height = window.innerHeight - 180;
const [form] = Form.useForm<any>();
const [upLodaing, setUpLodaing] = useState(false)
const [modal, setModal] = useState(false)
const [trademarkName, setTrademarkName] = useState('') //名称
const [trademarkContent, setTrademarkContent] = useState('') //描述
const onFinish = (values: any) => {
// console.log(values);
setTrademarkName(values.trademarkName)
setTrademarkContent(values.trademarkContent ? values.trademarkContent : '')
setModal(true)
}
useEffect(() => {
// console.log('state', state);
}, [])
return (
<Spin tip="正在提交,请稍后..." size="small" spinning={upLodaing}>
{contextHolder}
<div className='trademarkExpertBox' style={{ height: `${height}px`, overflow: 'auto' }}>
<div style={{
display: state.id == '2' ? 'unset' : 'none'
}}>
<div className='trademarkTop'>
<div className='trademarkTopL'>
!
</div>
<div>
</div>
</div>
</div>
<div style={{
display: state.id == '3' ? 'unset' : 'none'
}}>
<div className='trademarkTop'>
<div className='trademarkTopL'>
!
</div>
<div>
<div></div>
<div style={{
marginTop: '5px'
}}>;</div>
<div style={{
marginTop: '5px'
}}></div>
</div>
</div>
</div>
<div className='trademarkForm '>
<Form
name="Form"
form={form}
onFinish={onFinish}
initialValues={{ softWare: '' }}
style={{ maxWidth: 600, marginTop: 20 }}
>
<div className='trademarkForm-item'>
<div className='trademarkForm-title'>
<span style={{
color: 'red'
}}>*</span>
</div>
<div className='trademarkInput'>
<Form.Item
name="trademarkName"
rules={[{ required: true, message: '请输入商标名称!' }]}
>
<Input style={{
width: 500,
height: 46,
background: '#FFF',
color: 'black'
}}
placeholder="商标名称"
>
</Input>
</Form.Item>
</div>
</div>
<div className='trademarkForm-item'>
<div className='trademarkForm-title'>
</div>
<div className='trademarkInput'>
<Form.Item
name="trademarkContent"
// rules={[{ required: true, message: '请输入商标名称!' }]}
>
<TextArea style={{
width: 500,
height: 200,
background: '#FFF',
color: 'black',
resize: 'none'
}}
placeholder="需求描述"
>
</TextArea>
</Form.Item>
</div>
</div>
<div style={{
textWrap: 'nowrap',
}}>1</div>
<div style={{
textWrap: 'nowrap',
}}></div>
<Form.Item>
<div className='trademark-btn'>
<Button type="primary" htmlType="submit" style={{
width: 273,
height: 52
}}
>
</Button>
</div>
</Form.Item>
</Form>
</div>
<Modal title="提示"
centered
destroyOnClose={true}
open={modal}
onCancel={() => { setModal(false) }}
okText='确定'
cancelText='取消'
onOk={async () => {
setModal(false)
try {
setUpLodaing(true)
await expertRegister({
trademarkName,
trademarkContent,
trademarkMode: state.id,
trademarkModeName: state.title
})
reloadUser(messageApi, globalDispatchContext).then(() => {
setModal(false)
message.success('付款成功');
nav(-1)
});
setUpLodaing(false)
} catch (error: any) {
setUpLodaing(false)
// setAddLoading(false)
if (error.response) {
const data = error.response.data;
message.error(data.msg ? data.msg : `${data.path}(${data.status})`)
} else {
console.error(error)
}
} finally {
// setAddLoading(false)
setUpLodaing(false)
}
// setModal(false)
}}
>
{state.price}
</Modal>
</div>
</Spin>
)
}