This commit is contained in:
lyp 2025-06-04 09:25:40 +08:00
parent 8d6fded571
commit 6cbca77a23
14 changed files with 826 additions and 16 deletions

View File

@ -1136,7 +1136,7 @@ export default function Correction() {
}
</div>
<a style={{
{/* <a style={{
display: item.applyStatus == 'APPROVED' && item.type == 'CORRECTION1' && item.projStatus !== 'CLOSE' ? 'unset' : 'none',
marginLeft: 10,
// 下划线
@ -1158,7 +1158,7 @@ export default function Correction() {
}}
>
</a>
</a> */}
<a
style={{
display: item.applyStatus == 'APPROVED' && item.type == 'CORRECTION2' ? 'unset' : 'none',

View File

@ -0,0 +1,145 @@
import { useState } from 'react'
import './trademark-edit.css'
import {
RightOutlined
} from '@ant-design/icons';
import EditOne from './components/EditOne/EditOne';
import EditTwo from './components/EditTwo/EditTwo';
import EditThree from './components/EditThree/EditThree';
import EditFour from './components/EditFour/EditFour';
import EditFive from './components/EditFive/EditFive';
import EditSix from './components/EditSix/EditSix';
export default function TrademarkAiEdit() {
const height = window.innerHeight - 180;
const [editProcess, setEditProcess] = useState(1);
return (
<div className='trademarkAiBox' style={{ height: `${height}px`, overflow: 'auto' }}>
<div className='editProcessBox'>
<div className='editProcess' >
<div className='editProcessNum'
style={{
background: editProcess >= 1 ? '#3B60E8' : '',
color: editProcess >= 1 ? '#fff' : '#B1B1B1',
borderColor: editProcess >= 1 ? '' : '#B1B1B1'
}}
>1</div>
<div className='editProcessTitle'
style={{
color: editProcess >= 1 ? '#353535' : '#878787',
fontWeight: editProcess >= 1 ? 'bold' : 'normal'
}}
></div>
</div>
<div className='editright'><RightOutlined /></div>
<div className='editProcess'>
<div className='editProcessNum' style={{
background: editProcess >= 2 ? '#3B60E8' : '',
color: editProcess >= 2 ? '#fff' : '#B1B1B1',
borderColor: editProcess >= 2 ? '' : '#B1B1B1'
}}>2</div>
<div className='editProcessTitle'
style={{
color: editProcess >= 2 ? '#353535' : '#878787',
fontWeight: editProcess >= 2 ? 'bold' : 'normal'
}}
></div>
</div>
<div className='editright'><RightOutlined /></div>
<div className='editProcess'>
<div className='editProcessNum' style={{
background: editProcess >= 3 ? '#3B60E8' : '',
color: editProcess >= 3 ? '#fff' : '#B1B1B1',
borderColor: editProcess >= 3 ? '' : '#B1B1B1'
}}>3</div>
<div className='editProcessTitle'
style={{
color: editProcess >= 3 ? '#353535' : '#878787',
fontWeight: editProcess >= 3 ? 'bold' : 'normal'
}}
></div>
</div>
<div className='editright'><RightOutlined /></div>
<div className='editProcess'>
<div className='editProcessNum' style={{
background: editProcess >= 4 ? '#3B60E8' : '',
color: editProcess >= 4 ? '#fff' : '#B1B1B1',
borderColor: editProcess >= 4 ? '' : '#B1B1B1'
}}>4</div>
<div className='editProcessTitle'
style={{
color: editProcess >= 4 ? '#353535' : '#878787',
fontWeight: editProcess >= 4 ? 'bold' : 'normal'
}}
>
</div>
</div>
<div className='editright'><RightOutlined /></div>
<div className='editProcess'>
<div className='editProcessNum' style={{
background: editProcess >= 5 ? '#3B60E8' : '',
color: editProcess >= 5 ? '#fff' : '#B1B1B1',
borderColor: editProcess >= 5 ? '' : '#B1B1B1'
}}>5</div>
<div className='editProcessTitle'
style={{
color: editProcess >= 5 ? '#353535' : '#878787',
fontWeight: editProcess >= 5 ? 'bold' : 'normal'
}}
></div>
</div>
<div className='editright'><RightOutlined /></div>
<div className='editProcess'>
<div className='editProcessNum' style={{
background: editProcess >= 6 ? '#3B60E8' : '',
color: editProcess >= 6 ? '#fff' : '#B1B1B1',
borderColor: editProcess >= 6 ? '' : '#B1B1B1'
}}>6</div>
<div className='editProcessTitle'
style={{
color: editProcess >= 6 ? '#353535' : '#878787',
fontWeight: editProcess >= 6 ? 'bold' : 'normal'
}}
></div>
</div>
</div>
<div className='editFormBox'>
<div style={{
display: editProcess == 1 ? 'block' : 'none'
}}>
<EditOne
setEditProcess={setEditProcess}
></EditOne>
</div>
<div style={{
display: editProcess == 2 ? 'block' : 'none'
}}>
<EditTwo setEditProcess={setEditProcess}></EditTwo>
</div>
<div style={{
display: editProcess == 3 ? 'block' : 'none'
}}>
<EditThree setEditProcess={setEditProcess}></EditThree>
</div>
<div style={{
display: editProcess == 4 ? 'block' : 'none'
}}>
<EditFour setEditProcess={setEditProcess}></EditFour>
</div>
<div style={{
display: editProcess == 5 ? 'block' : 'none'
}}>
<EditFive setEditProcess={setEditProcess}></EditFive>
</div>
<div style={{
display: editProcess == 6 ? 'block' : 'none'
}}>
<EditSix setEditProcess={setEditProcess}></EditSix>
</div>
</div>
</div>
)
}

View File

@ -1,10 +1,151 @@
import React from 'react'
import { useEffect, useState } from 'react'
import './trademark-edit.css'
import { useLocation } from 'react-router-dom';
import {
Form,
Input, Button,
Modal
} from 'antd';
const { TextArea } = Input;
export default function TrademarkExpertEdit() {
const { state } = useLocation()
const height = window.innerHeight - 180;
const [form] = Form.useForm<any>();
const [modal, setModal] = useState(false)
const onFinish = (values: any) => {
console.log(values);
setModal(true)
}
useEffect(() => {
console.log('state', state);
}, [])
return (
<div className='trademarkExpertBox' style={{ height: `${height}px`, overflow: 'auto'}}>
<div className='trademarkExpertBox' style={{ height: `${height}px`, overflow: 'auto' }}>
<div style={{
display: state.title == '专家辅助注册' ? 'unset' : 'none'
}}>
<div className='trademarkTop'>
<div className='trademarkTopL'>
!
</div>
<div>
</div>
</div>
</div>
<div style={{
display: state.title == '至尊无忧注册' ? '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="title"
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="text"
// 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='取消'
>
{state.price}
</Modal>
</div>
)
}

View File

@ -0,0 +1,50 @@
import React from 'react'
import { Button } from 'antd'
export default function editFive(props: any) {
const height = window.innerHeight - 350;
const handleSubmit = () => {
// console.log(form);
props.setEditProcess(6);
// 调用表单实例的 submit 方法
// form.submit();
};
return (
<div className='editOneTwo'>
<div className='topLine'></div>
<div className='appInfoFormBox' style={{
height: height,
background: 'pink'
}}></div>
<div className='topLine'></div>
<div style={{
marginTop: '8px',
display: 'flex',
justifyContent: 'flex-end',
}}>
<Button
style={{
width: '100px',
height: '40px',
borderRadius: '5px',
}}
onClick={() => {
props.setEditProcess(4)
}}
></Button>
<Button
type='primary'
style={{
width: '100px',
height: '40px',
borderRadius: '5px',
marginLeft: '10px',
}}
onClick={() => {
handleSubmit()
}}
></Button>
</div>
</div>
)
}

View File

@ -0,0 +1,50 @@
import React from 'react'
import { Button } from 'antd'
export default function editFour(props: any) {
const height = window.innerHeight - 350;
const handleSubmit = () => {
// console.log(form);
props.setEditProcess(5);
// 调用表单实例的 submit 方法
// form.submit();
};
return (
<div className='editOneTwo'>
<div className='topLine'></div>
<div className='appInfoFormBox' style={{
height: height,
background: 'pink'
}}></div>
<div className='topLine'></div>
<div style={{
marginTop: '8px',
display: 'flex',
justifyContent: 'flex-end',
}}>
<Button
style={{
width: '100px',
height: '40px',
borderRadius: '5px',
}}
onClick={() => {
props.setEditProcess(3)
}}
></Button>
<Button
type='primary'
style={{
width: '100px',
height: '40px',
borderRadius: '5px',
marginLeft: '10px',
}}
onClick={() => {
handleSubmit()
}}
></Button>
</div>
</div>
)
}

View File

@ -0,0 +1,41 @@
.topLine {
width: 100%;
height: 10px;
background: #F3F3F3;
}
.editFormBox {
/* padding: 10px;
box-sizing: border-box; */
}
.editFormTitle {
font-size: 18px;
margin-bottom: 20px;
/* height: 46px; */
/* background: pink; */
}
.editFormItem {
display: flex;
/* align-items: center; */
height: 46px;
/* background-color: pink; */
line-height: 46px;
/* width: 200px; */
}
.firstItem {
/* background: skyblue; */
align-items: center;
}
.editFormItemTitle {
font-size: 16px;
/* width: 120px; */
}
.redTitle {
color: red;
}

View File

@ -0,0 +1,158 @@
import { useState } from 'react'
import { Button, Radio, Form, Input } from 'antd'
import './EditOne.css'
const { TextArea } = Input;
export default function EditOne(props: any) {
const [form] = Form.useForm<any>();
const height = window.innerHeight - 350;
const [goodsType, setGoodsType] = useState('a')
const handleSubmit = () => {
// console.log(form);
// props.setEditProcess(2);
// 调用表单实例的 submit 方法
form.submit();
};
const onFinish = (values: any) => {
console.log(values);
props.setEditProcess(2);
}
const onChange = (e: any) => {
setGoodsType(e.target.value)
};
return (
<div className='editOneBox'>
<div className='topLine'></div>
<div className='' style={{
height: height,
// background: 'pink',
padding: '10px',
boxSizing: 'border-box',
}}>
<div className='editFormTitle'>
</div>
<div className='editFormItem firstItem'>
<div className='editFormItemTitle'>
<span className='redTitle'>*</span>
</div>
<div style={{
marginLeft: '2px',
}}>
<Radio.Group onChange={onChange} value={goodsType}>
<Radio.Button value="a"></Radio.Button>
<Radio.Button value="b"></Radio.Button>
<Radio.Button value="c"></Radio.Button>
</Radio.Group>
</div>
<a style={{
marginLeft: '10px',
cursor: 'pointer',
}}>?</a>
</div>
<div style={{
display: goodsType === 'a' ? 'unset' : 'none',
}}>
<Form
name="Form"
form={form}
onFinish={onFinish}
initialValues={{ softWare: '' }}
style={{ marginTop: 20 }}
>
<div className='editFormItem '>
<div className='editFormItemTitle'>
<span className='redTitle' >*</span>
</div>
<Form.Item
name="title"
rules={[{ required: true, message: '请输入商标名称!' }]}
>
<Input style={{
width: 600,
height: 46,
background: '#FFF',
color: 'black'
}}
placeholder="商标名称"
>
</Input>
</Form.Item>
</div>
<div className='editFormItem' style={{
marginTop: '20px',
}}>
<div className='editFormItemTitle'>
<span className='redTitle'>*</span>
</div>
<Form.Item
name="text"
rules={[{ required: true, message: '请输入商标说明' }]}
>
<TextArea style={{
width: 600,
height: 150,
background: '#FFF',
color: 'black',
resize: 'none'
}}
placeholder="商标说明"
>
</TextArea>
</Form.Item>
</div>
{/* <Form.Item>
<div className='trademark-btn'>
<Button type="primary" htmlType="submit" style={{
width: 273,
height: 52
}}
>
</Button>
</div>
</Form.Item> */}
</Form>
</div>
</div>
<div className='topLine'></div>
<div style={{
marginTop: '8px',
display: 'flex',
justifyContent: 'flex-end',
}}>
<Button
type='primary'
style={{
width: '100px',
height: '40px',
borderRadius: '5px',
}}
onClick={() => {
handleSubmit()
}}
></Button>
</div>
</div>
)
}

View File

@ -0,0 +1,50 @@
import React from 'react'
import { Button } from 'antd'
export default function editSix(props: any) {
const height = window.innerHeight - 350;
const handleSubmit = () => {
// console.log(form);
// 调用表单实例的 submit 方法
// form.submit();
alert('提交成功')
};
return (
<div className='editOneTwo'>
<div className='topLine'></div>
<div className='appInfoFormBox' style={{
height: height,
background: 'pink'
}}></div>
<div className='topLine'></div>
<div style={{
marginTop: '8px',
display: 'flex',
justifyContent: 'flex-end',
}}>
<Button
style={{
width: '100px',
height: '40px',
borderRadius: '5px',
}}
onClick={() => {
props.setEditProcess(4)
}}
></Button>
<Button
type='primary'
style={{
width: '100px',
height: '40px',
borderRadius: '5px',
marginLeft: '10px',
}}
onClick={() => {
handleSubmit()
}}
></Button>
</div>
</div>
)
}

View File

@ -0,0 +1,50 @@
import React from 'react'
import { Button } from 'antd'
export default function editThree(props: any) {
const height = window.innerHeight - 350;
const handleSubmit = () => {
// console.log(form);
props.setEditProcess(4);
// 调用表单实例的 submit 方法
// form.submit();
};
return (
<div className='editOneTwo'>
<div className='topLine'></div>
<div className='appInfoFormBox' style={{
height: height,
background: 'pink'
}}></div>
<div className='topLine'></div>
<div style={{
marginTop: '8px',
display: 'flex',
justifyContent: 'flex-end',
}}>
<Button
style={{
width: '100px',
height: '40px',
borderRadius: '5px',
}}
onClick={() => {
props.setEditProcess(2)
}}
></Button>
<Button
type='primary'
style={{
width: '100px',
height: '40px',
borderRadius: '5px',
marginLeft: '10px',
}}
onClick={() => {
handleSubmit()
}}
></Button>
</div>
</div>
)
}

View File

@ -0,0 +1,50 @@
import React from 'react'
import { Button } from 'antd'
export default function editTwo(props: any) {
const height = window.innerHeight - 350;
const handleSubmit = () => {
// console.log(form);
props.setEditProcess(3);
// 调用表单实例的 submit 方法
// form.submit();
};
return (
<div className='editOneTwo'>
<div className='topLine'></div>
<div className='appInfoFormBox' style={{
height: height,
background: 'pink'
}}></div>
<div className='topLine'></div>
<div style={{
marginTop: '8px',
display: 'flex',
justifyContent: 'flex-end',
}}>
<Button
style={{
width: '100px',
height: '40px',
borderRadius: '5px',
}}
onClick={() => {
props.setEditProcess(1)
}}
></Button>
<Button
type='primary'
style={{
width: '100px',
height: '40px',
borderRadius: '5px',
marginLeft: '10px',
}}
onClick={() => {
handleSubmit()
}}
></Button>
</div>
</div>
)
}

View File

@ -5,4 +5,62 @@
box-sizing: border-box;
padding: 30px 45px 0 45px;
box-sizing: border-box;
}
.trademarkAiBox {
margin-top: 18px;
background-color: rgb(255, 255, 255);
padding: 0px 19px 0px 19px;
box-sizing: border-box;
padding: 30px 45px 0 45px;
box-sizing: border-box;
}
.trademarkTop {
padding: 5px 10px;
box-sizing: border-box;
background-color: #fff4e6;
display: flex;
/* line-height: 20px; */
}
.trademarkTopL {
width: 20px;
height: 20px;
border-radius: 10px;
background-color: #ff9326;
text-align: center;
line-height: 20px;
color: #ffffff;
margin-right: 5px;
}
.trademarkForm {
margin-left: 100px;
/* display: flex; */
/* align-items: center; */
/* justify-content: center; */
}
.trademarkForm-item {
display: flex;
/* background-color: pink; */
}
.trademarkForm-title {
width: 120px;
height: 46px;
line-height: 46px;
/* background-color: pink; */
font-size: 16px;
text-wrap: nowrap;
}
.trademark-btn {
/* background-color: pink; */
display: flex;
justify-content: center;
margin-top: 50px;
}

View File

@ -19,11 +19,11 @@ import RefunModal from '../../components/RefunModal/RefunModal.tsx'
import CorrectionModal from '../../components/CorrectionModal/CorrectionModal.tsx'
import ReplaceModal from '../../components/ReplaceModal/ReplaceModal.tsx'
import ContractModal from '../../components/ContractModal/ContractModal.tsx'
// import MenuWithBottomButtom from '../../components/menu/MenuWithBottomButton.tsx'
import MenuWithBottomButtom from '../../components/menu/MenuWithBottomButton.tsx'
// import MenuTreeWithTopButton from "../../components/menu/MenuTreeWithTopButton.tsx";
// import ListProj from "../../components/list/ListProj.tsx";
// import ListProjAgent from "../../components/list/ListProjAgent.tsx";
// import { getMenuActive } from '../../util/cache.ts'
import { getMenuActive } from '../../util/cache.ts'
import {
@ -86,10 +86,10 @@ interface DataType {
}
// import app from '../../static/left/app.png'
// import appnew from '../../static/left/appnew.png'
// import tra from '../../static/left/tra.png'
// import tranew from '../../static/left/tranew.png'
import app from '../../static/left/app.png'
import appnew from '../../static/left/appnew.png'
import tra from '../../static/left/tra.png'
import tranew from '../../static/left/tranew.png'
import topblack from '../../static/appimgs/topblack.png'
import topblue from '../../static/appimgs/topblue.png'
@ -2065,7 +2065,7 @@ export default function Index() {
list={agentMenu.list}
handleListItem={agentMenu.handleListItem}
/> */}
{/* {THEME == 'mzw' ? (
{THEME == 'mzw' ? (
<>
<div style={{
background: getMenuActive() == 'APP' ? 'linear-gradient(90deg, #FF9F08 0%, #FF7331 100%)' : ' var(--color-menuback)',
@ -2157,7 +2157,7 @@ export default function Index() {
/>
) : (
<></>
)} */}
)}
{/* <MenuWithBottomButtom
@ -4327,9 +4327,14 @@ export default function Index() {
}}
onClick={() => {
console.log(item.nowprice);
console.log(item);
setTrademarkModal(false)
nav('/trademark-expert-edit')
nav('/trademark-expert-edit', {
state: {
title: item.title,
price: item.nowprice
}
})
console.log('简单');
@ -4358,6 +4363,13 @@ export default function Index() {
onClick={() => {
console.log(item.nowprice);
console.log('复杂');
setTrademarkModal(false)
nav('/trademark-ai-edit', {
state: {
title: item.title,
price: item.nowprice
}
})
}}
></div>
</div>

View File

@ -5,6 +5,7 @@ import AppElectron from '../route/AppElectron/AppElectron.tsx'
import AppEdit from '../route/AppElectron/AppEdit.tsx'
import TrademarkMall from '../route/TrademarkMall/TrademarkMall.tsx'
import TrademarkExpertEdit from '../route/TrademarkMall/TrademarkExpertEdit.tsx'
import TrademarkAiEdit from '../route/TrademarkMall/TrademarkAiEdit.tsx'
import TransactionOrder from '../route/TransactionOrder/TransactionOrder.tsx'
import CopyrightGgoods from '../route/CopyrightGgoods/CopyrightGgoods.tsx'
import TradingGoods from '../route/TradingGoods/TradingGoods.tsx'
@ -238,6 +239,10 @@ export const router = createHashRouter(
{
path:'/trademark-expert-edit',
element:<TrademarkExpertEdit/>
},
{
path:'/trademark-ai-edit',
element:<TrademarkAiEdit/>
},
{
path: '/transaction-order',

View File

@ -153,7 +153,7 @@ export function getUseUrl() {
}
// 购买协议
export function getBuyUrl() {
axios.get(`${baseUrl}/operator/app/agreementportal/getrelease/0542d435-dc22-459b-bf4a-28a61afe400b `)
axios.get(`${baseUrl}/operator/app/agreementportal/getrelease/0542d435-dc22-459b-bf4a-28a61afe400b`)
.then((data:any) => {
window.open(`${baseUrl}/operator/route/agreementportal/view?agreementId=${data.data.agreementId}&title=${data.data.title}`)
})