This commit is contained in:
lyp 2025-06-25 13:58:43 +08:00
parent fdf06a145d
commit 1520254e75
7 changed files with 263 additions and 161 deletions

View File

@ -223,6 +223,8 @@ export const uploadDepute = (trademarkId:any,params:any) => aiShopRequest.post(`
// 第六步上传
export const uploadSix = (trademarkId:any) => aiShopRequest.post(`/aishop/api/trademark/save6/${trademarkId}`)
//专家辅助注册/至尊无忧注册
export const expertRegister = (params:any) => aiShopRequest.post(`/aishop/api/trademark/save1L`,params)
// ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

View File

@ -19,9 +19,10 @@ export default function TrademarkAiEdit() {
const getOrderList = async () => {
try {
const res = await getOrder(trademarkId)
console.log('订单详情列表', res);
// console.log('订单详情列表', res);
setOrderList(res)
} catch (error: any) {
setOrderList([])
if (error.response) {
const data = error.response.data;
messageApi.open({
@ -31,7 +32,7 @@ export default function TrademarkAiEdit() {
} else {
console.error(error)
}
}
}
}
const pathParams = useParams();
// const trademarkId = pathParams.trademarkId == 'NEW'?'':pathParams.trademarkId;
@ -44,6 +45,7 @@ export default function TrademarkAiEdit() {
const [trademarkMode, setTrademarkMode] = useState(state?.trademarkMode);
const [trademarkModeName, setTrademarkModeName] = useState(state?.trademarkModeName);
const [trademarkModePrice, setTrademarkModePrice] = useState(0)
const [trademarkModeOldPrice, setTrademarkModeOldPrice] = useState(0)
// const [trademarkStatus, setTrademarkStatus] = useState('')
const [editOneData, setEditOneData] = useState<any>({
trademarkType: '', //商标类型 text 文字 image 图形 text-image 图文
@ -90,6 +92,7 @@ export default function TrademarkAiEdit() {
setTrademarkMode(res.trademarkMode)
setTrademarkModeName(res.trademarkModeName)
setTrademarkModePrice(res.trademarkModePrice / 100)
setTrademarkModeOldPrice(res.trademarkModeOldPrice / 100)
setEditOneData({
trademarkType: res.trademarkType, //商标类型 text 文字 image 图形 text-image 图文
trademarkName: res.trademarkName, //商标名称
@ -269,6 +272,7 @@ export default function TrademarkAiEdit() {
<EditTwo
getOrderList={getOrderList}
trademarkModePrice={trademarkModePrice}
trademarkModeOldPrice={trademarkModeOldPrice}
setEditTwoData={setEditTwoData}
editTwoData={editTwoData}
trademarkId={trademarkId} //商标id
@ -293,6 +297,7 @@ export default function TrademarkAiEdit() {
}}>
<EditFour
// key={editProcess}
trademarkType={editOneData.trademarkType}
orderList={orderList}
trademarkStatus={trademarkStatus}
setTrademarkStatus={setTrademarkStatus}

View File

@ -1,151 +1,202 @@
import { useEffect, useState } from 'react'
import { useEffect, useState, useContext } from 'react'
import './trademark-edit.css'
import { useLocation } from 'react-router-dom';
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
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 (
<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>
<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>
<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 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>
<div className='trademarkForm '>
<div className='trademarkForm '>
<Form
name="Form"
form={form}
onFinish={onFinish}
initialValues={{ softWare: '' }}
style={{ maxWidth: 600, marginTop: 20 }}
<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)
}}
>
<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>
{state.price}
</Modal>
</div>
<Modal title="提示"
centered
destroyOnClose={true}
open={modal}
onCancel={() => { setModal(false) }}
okText='确定'
cancelText='取消'
>
{state.price}
</Modal>
</div>
</Spin>
)
}

View File

@ -50,9 +50,13 @@ export default function TrademarkMall() {
width: 200,
render: (_text, record) => (
<span>
{record.trademarkType == 'text' ? '文字' : record.trademarkType == 'image' ? '图形' : record.trademarkType == 'text-image' ? '图文' : '未知'} <span style={{
{record.trademarkType == 'text' ? '文字' : record.trademarkType == 'image' ? '图形' : record.trademarkType == 'text-image' ? '图文' : ''} <span style={{
display: record.trademarkType == 'image' ? 'none' : 'unset',
}}>/{record.trademarkName}</span>
}}>
<span style={{
display: record.trademarkType == '' ? 'none' : 'unset',
}}>/</span>
{record.trademarkName}</span>
{/* {record} */}
</span>
)
@ -66,14 +70,16 @@ export default function TrademarkMall() {
key: 'trademarkPhoto',
width: 200,
render: (text) => (
<Image src={showImage(text, false)}
height={100}
style={{
maxWidth: 200,
}}
>
</Image>
text ? (
<Image src={showImage(text, false)}
height={100}
style={{
maxWidth: 200,
}}
>
</Image>
) : '暂无'
)
},
{
@ -85,7 +91,7 @@ export default function TrademarkMall() {
render: (text) => (
<span>
{text == '-1' ?
<span ></span>
<span ></span>
: text == '0' ?
<span
style={{
@ -105,47 +111,56 @@ export default function TrademarkMall() {
style={{
color: 'rgb(0, 127, 255)',
}}
></span>
></span>
: text == '3' ?
<span
style={{
color: 'rgb(136, 185, 233)',
}}
></span>
></span>
: text == '4' ?
<span
style={{
color: 'rgb(136, 185, 233)',
}}
></span>
></span>
: text == '5' ?
<span
style={{
color: 'rgb(136, 185, 233)',
}}
></span>
></span>
: text == '6' ?
<span
style={{
color: 'rgb(136, 185, 233)',
}}
></span>
></span>
: text == '7' ?
<span
style={{
color: 'rgb(136, 185, 233)',
}}
></span>
: '未知'
></span>
:
text == '8' ?
<span
style={{
color: 'rgb(136, 185, 233)',
}}
></span>:'未知'
}
</span>
)
},
// {
// title: '申请人',
// // 使用数组形式访问嵌套对象属性
@ -200,7 +215,7 @@ export default function TrademarkMall() {
<div style={{
cursor: 'pointer',
color: '#007FFF',
display: record.trademarkStatus != '-1' ? 'unset' : 'none',
display: record.trademarkStatus != '-1' && record.trademarkModeName === '智能申请注册' ? 'unset' : 'none',
}} onClick={() => {
nav(`/trademark-ai-edit/${record.trademarkId}`, {
@ -215,8 +230,8 @@ export default function TrademarkMall() {
}}>{
record.trademarkStatus == '2' ? '查看' : '编辑'
}</div>
record.trademarkStatus == '2' || record.trademarkStatus == '3'? '查看' : '编辑'
}</div>
)

View File

@ -1,7 +1,7 @@
import { useState, useContext, useEffect } from 'react'
import './edit-four.css'
import { Button, Table, Modal, message, Spin } from 'antd'
import { orderPay, getOrder } from '../../../../request/api'
import { orderPay } from '../../../../request/api'
// import { GlobalDispatchContext, reloadUser } from "../../context/GlobalContext.ts";
import { GlobalDispatchContext, reloadUser } from "../../../../context/GlobalContext";
import type { TableProps } from 'antd';
@ -91,16 +91,26 @@ export default function EditFour(props: any) {
key: 'subNames',
render: (text) => {
return (
<span>{text.split(',').length}</span>
<span title={text}>{text.split(',').length} : {text}</span>
)
},
},
{
align: 'center',
width: 150,
title: '商标类型',
dataIndex: 'goodsType',
key: 'goodsType',
render: () => {
if (props.trademarkType == 'text') {
return '文字'
}
if (props.trademarkType == 'image') {
return '图形'
}
if (props.trademarkType == 'text-image') {
return '图文'
}
},
},
{
align: 'center',
@ -122,9 +132,9 @@ export default function EditFour(props: any) {
];
const [data, setData] = useState<any>([])
useEffect(() => {
if (props.orderList.length > 0) {
setData(props.orderList)
}
setData(props.orderList)
}, [props.orderList])
// const data: DataType[] = [
// {
@ -171,12 +181,14 @@ export default function EditFour(props: any) {
<div className='editFourTop'>
<div className='editFourTopL'></div>
<div className='editFourTopR'>
<span>数量 : 2</span>
<span> : {data.length}</span>
<span style={{
marginLeft: '10px',
}}><span style={{
color: 'red',
}}>630.66</span></span>
}}>{data.reduce((pre: number, cur: any) => pre + cur.money, 0) / 100}</span></span>
{/* 将data里的每一项得money取出来 获取和 */}
{/* reduce() 方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。 */}
</div>
@ -185,7 +197,8 @@ export default function EditFour(props: any) {
// 取消自带分页
pagination={false}
dataSource={data}
rowKey='id'
rowKey='typeId'
/>
</div>
@ -277,7 +290,7 @@ export default function EditFour(props: any) {
}}
>
999,
{data.reduce((pre: number, cur: any) => pre + cur.money, 0) / 100},
</Modal>
</div>
</Spin>

View File

@ -216,7 +216,7 @@ export default function EditSix(props: any) {
</div>
<div className='topLine'></div>
<div style={{
display: props.trademarkStatus == '2' ? 'none' : 'unset'
display: props.trademarkStatus == '2' || props.trademarkStatus == '3' ? 'none' : 'unset'
}}>
<div style={{
marginTop: '8px',
@ -256,12 +256,28 @@ export default function EditSix(props: any) {
alignItems: 'center',
// backgroundColor: 'rgb(238, 159, 159)',
height: '65px',
fontSize:'18px',
color:'green',
fontSize: '18px',
color: 'green',
}}>
...
</div>
</div>
<div style={{
display: props.trademarkStatus == '3' ? 'unset' : 'none',
}}>
<div style={{
display: 'flex',
justifyContent: 'center',
alignItems: 'center',
// backgroundColor: 'rgb(238, 159, 159)',
height: '65px',
fontSize: '18px',
color: 'green',
}}>
</div>
</div>
<Modal
title="提示"

View File

@ -75,7 +75,7 @@ export default function EditTwo(props: any) {
trademarkTypeDTOS: selectedTreeList
})
props.setEditProcess(3);
props.getOrderList()
setLoading(false)
} catch (error: any) {
setLoading(false)
@ -531,7 +531,7 @@ export default function EditTwo(props: any) {
<span style={{
display: index > 0 ? 'unset' : 'none'
}}>
{formatNumber(item.price * totalCount <= item.price * 10 ? item.price * 10 : item.price * totalCount)}
{formatNumber( totalCount <= 10 ? props.trademarkModeOldPrice :props.trademarkModeOldPrice + item.price * (totalCount - 10))}
</span>
<span onClick={() => {