import { useState, useEffect } from 'react' import { Button, Radio, Form, Input, Upload, message, Image, Spin, Modal } from 'antd' import './EditOne.css' import { uploadFileUrl, showImage, uploadImageAddUrl, downloadAuthBookUrl, uploadDeputeFileUrl } from '../../../../request/request' import { trademarkBaseInfo, aiGenerateImage, fileDetail } from '../../../../request/api' import { // DeleteOutlined, LoadingOutlined, UploadOutlined } from '@ant-design/icons'; import { useNavigate } from 'react-router-dom'; // 引入 useNavigate const { TextArea } = Input; import type { UploadProps } from 'antd'; export default function EditOne(props: any) { const nav = useNavigate(); // 调用 useNavigate const token = sessionStorage.getItem('token') const [messageApi, contextHolder] = message.useMessage(); const [formA] = Form.useForm(); // 文字商标表单 const [formB] = Form.useForm(); // 图形商标表单 const [formC] = Form.useForm(); // 图形商标表单 const [upFileAModal, setUpFileAModal] = useState(false) const [upFileAType, setUpFileAType] = useState('姓名授权书') const [fileAName, setFileAName] = useState([]); //A姓名授权书 const [fileAFace, setFileAFace] = useState([]); //A肖像授权书 const [fileABook, setFileABook] = useState([]); //A期刊证明 const [fileA, setFileA] = useState([]); //A提交文件数组 // 当以下三个发生改变时候 useEffect(() => { setFileA([ fileAName.length > 0 ? fileAName[0].uid : '', fileAFace.length > 0 ? fileAFace[0].uid : '', fileABook.length > 0 ? fileABook[0].uid : '', ].filter(uid => uid !== '')) }, [fileAName, fileAFace, fileABook]) const onUpChangeA = (e: any) => { setUpFileAType(e.target.value) } const [upFileCModal, setUpFileCModal] = useState(false) const [upFileCType, setUpFileCType] = useState('姓名授权书') const [fileCName, setFileCName] = useState([]); //C姓名授权书 const [fileCFace, setFileCFace] = useState([]); //C肖像授权书 const [fileCBook, setFileCBook] = useState([]); //C期刊证明 const [fileC, setFileC] = useState([]); //C提交文件数组 // 当以下三个发生改变时候 useEffect(() => { setFileC([ fileCName.length > 0 ? fileCName[0].uid : '', fileCFace.length > 0 ? fileCFace[0].uid : '', fileCBook.length > 0 ? fileCBook[0].uid : '', ].filter(uid => uid !== '')) }, [fileCName, fileCFace, fileCBook]) const onUpChangeC = (e: any) => { setUpFileCType(e.target.value) } const height = window.innerHeight - 350; // 查看表单数据是否发生改变 function deepCompareObjects(obj1: any, obj2: any): boolean { // 若两个值严格相等,直接返回 true if (obj1 === obj2) { return true; } // 若其中一个值为 null 或不是对象类型,返回 false if (typeof obj1 !== 'object' || obj1 === null || typeof obj2 !== 'object' || obj2 === null) { return false; } // 获取两个对象的键数组 const keys1 = Object.keys(obj1); const keys2 = Object.keys(obj2); // 若键的数量不同,返回 false if (keys1.length !== keys2.length) { return false; } // 遍历键,递归比较对应的值 for (const key of keys1) { if (!keys2.includes(key) || !deepCompareObjects(obj1[key], obj2[key])) { return false; } } return true; } const [goodsType, setGoodsType] = useState('text') // 生成方式 const [generateType, setGenerateType] = useState('1') const handleSubmit = () => { // console.log(form); // console.log(goodsType); // props.setEditProcess(2); // 调用表单实例的 submit 方法 if (goodsType === 'text') { formA.submit(); } else if (goodsType === 'image') { formB.submit(); } else if (goodsType === 'text-image') { formC.submit(); } else { props.setEditProcess(2); } // props.setEditProcess(2); }; const [disabled, setDisabled] = useState(false) // 文字商标 若设计肖像上传得文件 // const [fileList, setFileList] = useState([]); // const handleChange: UploadProps['onChange'] = (info) => { // const { fileList } = info; // setFileAName(fileList); // console.log(info.file.status); // if (info.file.status === 'uploading') { // // setFileList([]) // setDisabled(true) // return; // } // if (info.file.status === 'done') { // // const fileId = info.file.response.data.fileId; // // // console.log(downloadUrl(fileId)); // setDisabled(false) // // const url = showImage(fileId, false); // setFileAName([ // { // uid: info.file.response.data.fileId, // name: info.file.response.data.fileName, // status: 'done', // url: showImage(info.file.response.data.fileId, false) // } // ]) // return; // } // if (info.file.status === 'error') { // setDisabled(false) // message.error(`上传失败`); // return; // } // }; // 文字图形组合商标 若涉及肖像上传得文件 // const [fileListC, setFileListC] = useState([]); // const handleChangeC: UploadProps['onChange'] = (info) => { // // console.log(info.file.status); // if (info.file.status === 'uploading') { // // setFileList([]) // return; // } // if (info.file.status === 'done') { // // const fileId = info.file.response.data.fileId; // // // console.log(downloadUrl(fileId)); // // const url = showImage(fileId, false); // setFileListC([ // { // uid: info.file.response.data.fileId, // name: info.file.response.data.fileName, // status: 'done', // url: showImage(info.file.response.data.fileId, false) // } // ]) // return; // } // if (info.file.status === 'error') { // message.error(`上传失败`); // return; // } // }; // 自动生成的img const [generateImgId, setGenerateImgId] = useState('') const [imgList, setImgList] = useState([]) // 上传商标文字图片 const [textLodaing, setTextLodaing] = useState(false) const upImgHandleChange: UploadProps['onChange'] = (info) => { console.log(info.file.status); if (info.file.status === 'uploading') { // setFileList([]) setTextLodaing(true) return; } if (info.file.status === 'done') { console.log(info); setTextLodaing(false) // const fileId = info.file.response.data.fileId; // // console.log(downloadUrl(fileId)); // const url = showImage(fileId, false); console.log(info.file.response.data.fileId); setImgList([ { uid: info.file.response.data.fileId, name: info.file.response.data.fileName, status: 'done', url: showImage(info.file.response.data.fileId, false) } ]) formA.setFieldsValue({ trademarkPhoto: info.file.response.data.fileId }) return; } if (info.file.status === 'error') { setTextLodaing(false) message.error(`上传失败`); return; } }; // 上传图形商标图片 const [imgLodaing, setImgLodaing] = useState(false) const [upImglist, setUpImglist] = useState([]) // 点击下一步如果需要保存的Loading const [upLodaing, setUpLoading] = useState(false) const onFinishA = async (values: any) => { const dataInfo = { ...values, trademarkType: goodsType, // 商标类型 trademarkFile: fileAName.length > 0 ? fileAName[0].uid : '', // 姓名授权 trademarkFile1: fileAFace.length > 0 ? fileAFace[0].uid : '', // 肖像授权声明书 trademarkFile2: fileABook.length > 0 ? fileABook[0].uid : '', // 期刊 trademarkPhotoType: generateType, // 1 自动生成 2 手动上传 // trademarkId: props.trademarkId ? props.trademarkId : '', // 商标id } // console.log(dataInfo); // console.log(props.editOneData); // console.log(deepCompareObjects(dataInfo, props.editOneData)); if (deepCompareObjects(dataInfo, props.editOneData)) { props.setEditProcess(2); return; } // return; try { setUpLoading(true) const res: any = await trademarkBaseInfo({ ...values, trademarkFile: fileAName.length > 0 ? fileAName[0].uid : '', // 姓名授权 trademarkFile1: fileAFace.length > 0 ? fileAFace[0].uid : '', // 肖像授权声明书 trademarkFile2: fileABook.length > 0 ? fileABook[0].uid : '', // 期刊 trademarkId: props.trademarkId ? props.trademarkId : '', // 商标id trademarkMode: props.trademarkMode, // 申请类型id trademarkModeName: props.trademarkModeName, // 申请类型名称 trademarkPhotoType: generateType, // 1 自动生成 2 手动上传 trademarkType: goodsType, // 商标类型 }) setUpLoading(false) props.setEditOneData({ trademarkType: goodsType, // 商标类型 trademarkName: values.trademarkName, // 商标名称 trademarkDescription: values.trademarkDescription, // 商标描述 trademarkFile: fileAName.length > 0 ? fileAName[0].uid : '', // 姓名授权 trademarkFile1: fileAFace.length > 0 ? fileAFace[0].uid : '', // 肖像授权声明书 trademarkFile2: fileABook.length > 0 ? fileABook[0].uid : '', // 期刊 trademarkPhotoType: generateType, // 1 自动生成 2 手动上传 trademarkPhoto: values.trademarkPhoto, // 商标图样 }) props.setEditProcess(2); if (res.data) { props.setTrademarkId(res.data) nav(`/trademark-ai-edit/${res.data}`) } console.log('结果', res); } catch (error: any) { setUpLoading(false) if (error.response) { const data = error.response.data; messageApi.open({ type: 'error', content: data.msg ? data.msg : `${data.path}(${data.status})`, }); } else { console.error(error) } } finally { setUpLoading(false) } // props.setEditProcess(2); } const onFinishB = async (values: any) => { console.log(values); //trademarkDescription trademarkPhoto console.log(upImglist); //商标图样 const dataInfo = { ...values, trademarkType: goodsType, // 商标类型 trademarkFile: '', // 授权声明书 trademarkFile1: '', trademarkFile2: '', trademarkPhotoType: '2', // 1 自动生成 2 手动上传 trademarkName: '', } console.log(dataInfo); console.log(props.editOneData); // 去除 trademarkName 项 // return; // return if (deepCompareObjects(dataInfo, props.editOneData)) { props.setEditProcess(2); return; } try { setUpLoading(true) const res = await trademarkBaseInfo({ ...values, trademarkId: props.trademarkId ? props.trademarkId : '', // 商标id trademarkMode: props.trademarkMode, // 申请类型id trademarkModeName: props.trademarkModeName, // 申请类型名称 trademarkType: goodsType, // 商标类型 trademarkPhotoType: '2', // trademarkName: '', }) setUpLoading(false) props.setEditOneData({ trademarkType: goodsType, // 商标类型 trademarkName: '', // 商标名称 trademarkDescription: values.trademarkDescription, // 商标描述 trademarkFile: '', // 授权声明书 trademarkPhotoType: '2', // 1 自动生成 2 手动上传 trademarkPhoto: values.trademarkPhoto, // 商标图样 }) props.setEditProcess(2); if (res.data) { props.setTrademarkId(res.data) nav(`/trademark-ai-edit/${res.data}`) } } catch (error: any) { setUpLoading(false) if (error.response) { const data = error.response.data; messageApi.open({ type: 'error', content: data.msg ? data.msg : `${data.path}(${data.status})`, }); } else { console.error(error) } } finally { setUpLoading(false) } // props.setEditProcess(2); } // 上传文字与图形商标图片 const [imgLodaingC, setImgLodaingC] = useState(false) const [upImglistC, setUpImglistC] = useState([]) const onFinishC = async (values: any) => { console.log(values); // props.setEditProcess(2); // console.log(upImglistC); //商标图样 // console.log(fileListC); // 上传的授权声明书模板 const dataInfo = { ...values, trademarkType: goodsType, // 商标类型 trademarkFile: fileCName.length > 0 ? fileCName[0].uid : '', // 姓名授权 trademarkFile1: fileCFace.length > 0 ? fileCFace[0].uid : '', // 肖像授权声明书 trademarkFile2: fileCBook.length > 0 ? fileCBook[0].uid : '', // 期刊 trademarkPhotoType: '2', // 1 自动生成 2 手动上传 // trademarkId: props.trademarkId ? props.trademarkId : '', // 商标id } console.log(dataInfo); console.log(props.editOneData); if (deepCompareObjects(dataInfo, props.editOneData)) { props.setEditProcess(2); return; } // return try { setUpLoading(true) const res = await trademarkBaseInfo({ ...values, trademarkFile: fileCName.length > 0 ? fileCName[0].uid : '', // 姓名授权 trademarkFile1: fileCFace.length > 0 ? fileCFace[0].uid : '', // 肖像授权声明书 trademarkFile2: fileCBook.length > 0 ? fileCBook[0].uid : '', // 期刊 trademarkId: props.trademarkId ? props.trademarkId : '', // 商标id trademarkMode: props.trademarkMode, // 申请类型id trademarkModeName: props.trademarkModeName, // 申请类型名称 // trademarkModeName: props.trademarkModeName, // 申请类型名称 trademarkType: goodsType, // 商标类型 trademarkPhotoType: '2', }) // console.log('结果', res); props.setEditOneData({ trademarkType: goodsType, // 商标类型 trademarkName: values.trademarkName, // 商标名称 trademarkDescription: values.trademarkDescription, // 商标描述 trademarkFile: fileCName.length > 0 ? fileCName[0].uid : '', // 姓名授权 trademarkFile1: fileCFace.length > 0 ? fileCFace[0].uid : '', // 肖像授权声明书 trademarkFile2: fileCBook.length > 0 ? fileCBook[0].uid : '', // 期刊 trademarkPhotoType: '2', // 1 自动生成 2 手动上传 trademarkPhoto: values.trademarkPhoto, // 商标图样 }) setUpLoading(false) props.setEditProcess(2); if (res.data) { props.setTrademarkId(res.data) nav(`/trademark-ai-edit/${res.data}`) } } catch (error: any) { setUpLoading(false) if (error.response) { const data = error.response.data; messageApi.open({ type: 'error', content: data.msg ? data.msg : `${data.path}(${data.status})`, }); } else { console.error(error) } } finally { setUpLoading(false) } } const onChange = (e: any) => { setGoodsType(e.target.value) }; const generateTypeChange = (e: any) => { setGenerateType(e.target.value) // console.log(e.target.value); // console.log('generateImgId', generateImgId); // console.log('imgUrl', imgList[0]?.uid); // return // 给FormA表单的imgUrl赋值 // if (e.target.value == '1') { // formA.setFieldsValue({ imgUrl: generateImgId }) // } // if (e.target.value == '2') { // formA.setFieldsValue({ imgUrl: imgList[0]?.uid }) // } // formA.setFieldsValue({ trademarkPhoto: '' }) // setGenerateImgId('') // setImgList([]) } useEffect(() => { if (generateType == '1') { formA.setFieldsValue({ trademarkPhoto: generateImgId ? generateImgId : '' }) } if (generateType == '2') { formA.setFieldsValue({ trademarkPhoto: imgList[0]?.uid ? imgList[0]?.uid : '' }) } }, [generateType]) const getNameAfileDetail = async (fileId: string) => { try { const res: any = await fileDetail(fileId) // console.log('文件详情', res); setFileAName([{ uid: res[0].fileId, // 手动上传的 name: res[0].fileName, // 手动上传的 status: 'done', // 手动上传的 url: showImage(res[0].fileId, false) // 手动上传的 }]) } catch (error: any) { if (error.response) { const data = error.response.data; messageApi.open({ type: 'error', content: data.msg ? data.msg : `${data.path}(${data.status})`, }); } else { console.error(error) } } } const getFaceAfileDetail = async (fileId: string) => { try { const res: any = await fileDetail(fileId) // console.log('文件详情', res); setFileAFace([{ uid: res[0].fileId, // 手动上传的 name: res[0].fileName, // 手动上传的 status: 'done', // 手动上传的 url: showImage(res[0].fileId, false) // 手动上传的 }]) } catch (error: any) { if (error.response) { const data = error.response.data; messageApi.open({ type: 'error', content: data.msg ? data.msg : `${data.path}(${data.status})`, }); } else { console.error(error) } } } const getBookAfileDetail = async (fileId: string) => { try { const res: any = await fileDetail(fileId) // console.log('文件详情', res); setFileABook([{ uid: res[0].fileId, // 手动上传的 name: res[0].fileName, // 手动上传的 status: 'done', // 手动上传的 url: showImage(res[0].fileId, false) // 手动上传的 }]) } catch (error: any) { if (error.response) { const data = error.response.data; messageApi.open({ type: 'error', content: data.msg ? data.msg : `${data.path}(${data.status})`, }); } else { console.error(error) } } } const getNameCfileDetail = async (fileId: string) => { try { const res: any = await fileDetail(fileId) setFileCName([{ uid: res[0].fileId, // 手动上传的 name: res[0].fileName, // 手动上传的 status: 'done', // 手动上传的 url: showImage(res[0].fileId, false) // 手动上传的 }]) } catch (error: any) { if (error.response) { const data = error.response.data; messageApi.open({ type: 'error', content: data.msg ? data.msg : `${data.path}(${data.status})`, }); } else { console.error(error) } } } const getFaceCfileDetail = async (fileId: string) => { try { const res: any = await fileDetail(fileId) // console.log('文件详情', res); setFileCFace([{ uid: res[0].fileId, // 手动上传的 name: res[0].fileName, // 手动上传的 status: 'done', // 手动上传的 url: showImage(res[0].fileId, false) // 手动上传的 }]) } catch (error: any) { if (error.response) { const data = error.response.data; messageApi.open({ type: 'error', content: data.msg ? data.msg : `${data.path}(${data.status})`, }); } else { console.error(error) } } } const getBookCfileDetail = async (fileId: string) => { try { const res: any = await fileDetail(fileId) // console.log('文件详情', res); setFileCBook([{ uid: res[0].fileId, // 手动上传的 name: res[0].fileName, // 手动上传的 status: 'done', // 手动上传的 url: showImage(res[0].fileId, false) // 手动上传的 }]) } catch (error: any) { if (error.response) { const data = error.response.data; messageApi.open({ type: 'error', content: data.msg ? data.msg : `${data.path}(${data.status})`, }); } else { console.error(error) } } } useEffect(() => { // console.log('传递one的数据', props.editOneData); const { trademarkName, trademarkDescription, trademarkPhoto, trademarkPhotoType, trademarkType, trademarkFile, trademarkFile1, trademarkFile2 } = props.editOneData; if (trademarkType) { console.log(1); // 赋值方式 setGoodsType(trademarkType) setGenerateType(trademarkPhotoType) if (trademarkType == 'text') { formA.setFieldsValue({ trademarkName: trademarkName, // 商标名称 trademarkDescription: trademarkDescription, // 商标描述 trademarkPhoto: trademarkPhoto, // 商标图样 }) // setFileA([ // trademarkFile, // trademarkFile1, // trademarkFile2 // ].filter(uid => uid !== '')) if (trademarkPhotoType == '1') { // 自动生成 setGenerateImgId(trademarkPhoto) // 自动生成的 } if (trademarkPhotoType == '2') { // 自动生成 setImgList([{ uid: trademarkPhoto, // 手动上传的 name: trademarkPhoto, // 手动上传的 status: 'done', // 手动上传的 url: showImage(trademarkPhoto, false) // 手动上传的 }]) // 手动上传的 } if (trademarkFile) { getNameAfileDetail(trademarkFile) } if (trademarkFile1) { getFaceAfileDetail(trademarkFile1) } if (trademarkFile2) { getBookAfileDetail(trademarkFile2) } } if (trademarkType == 'image') { formB.setFieldsValue({ trademarkDescription: trademarkDescription, // 商标描述 trademarkPhoto: trademarkPhoto, // 商标图样 }) setUpImglist([{ uid: trademarkPhoto, // 手动上传的 name: trademarkPhoto, // 手动上传的 status: 'done', // 手动上传的 url: showImage(trademarkPhoto, false) // 手动上传的 }]) // 手动上传的 } if (trademarkType == 'text-image') { formC.setFieldsValue({ trademarkName: trademarkName, // 商标名称 trademarkDescription: trademarkDescription, // 商标描述 trademarkPhoto: trademarkPhoto, // 商标图样 }) setUpImglistC([{ uid: trademarkPhoto, // 手动上传的 name: trademarkPhoto, // 手动上传的 status: 'done', // 手动上传的 url: showImage(trademarkPhoto, false) // 手动上传的 }]) if (trademarkFile) { getNameCfileDetail(trademarkFile) } if (trademarkFile1) { getFaceCfileDetail(trademarkFile1) } if (trademarkFile2) { getBookCfileDetail(trademarkFile2) } } } }, [props.editOneData]) return (
{contextHolder}
!
智能商标申请存在较高的失败风险,建议无商标申请经验的用户使用“专家辅助申请"或"至尊无忧注册"提高商标申清通过率。
当前仅提供文字、图形或文字图形组合商标申请;暂不支持立体商标、声音商标、证明商标、集体商标的申请。
商标局录入的商标信息以商标图样为准,且最终使用需与商标图样一致,请您确认手动上传的商标图样是您想要注册的商标。
基本信息
商标类型*
文字商标 图形商标 文字图形组合商标
{ window.open('https://www.baidu.com/') }} >如何选择?
{ // console.log(errorInfo) // message.error('请填写完整的信息!') errorInfo.errorFields.forEach((field) => { if (field.errors.length > 0) { // 显示每条错误信息 message.error(field.errors[0]); } }); }} initialValues={{ softWare: '' }} style={{ marginTop: 20 }} >
商标名称*
若您的商标涉及他人姓名/肖像/期刊,请下载 { window.open(downloadAuthBookUrl()) }} >授权声明书模板,填写完盖章签字后
{/* } size="small" spinning={disabled}> { const isPNG = file.type === 'image/png'; const isPDF = file.type === 'application/pdf'; const isJPG = file.type === 'image/jpg' || file.type === 'image/jpeg'; if (!isPNG && !isPDF && !isJPG) { message.error('仅支持 PNG、PDF、JPG 格式的文件!'); } return isPNG || isPDF || isJPG; }} // fileList={[]} onChange={handleChange} showUploadList={false} headers={{ 'Auth': `Bearer ${token}` }} disabled={fileList.length > 0 || disabled} > 上传文件 */} { setUpFileAModal(true) }} >上传文件 ({fileA.length}/3)
{/*
({fileList.length}/1)
{fileList.length > 0 ? (
{ window.open(showImage(fileList[0].uid, false)) }}> {fileList[0].name}
{ setFileList([]) }}>
) : ( <> )}
*/}
2021年12月10日起,商标名称作为必填项提交至商标局。商标局审核人员会根据商标图样中的文字字母等实际展示的信息重新命名商标名称,并展示在商标局官网。 如何解决请参考 { window.open('https://www.baidu.com/') }} >文档
商标说明*
商标图样*
自动生成 手动上传
暂无图片
{/* 自动生成图片 */}
{/* 手动上传图片 */}
0 ? 'unset' : 'none', width: 200, height: 100, background: 'white', color: 'black', position: 'absolute', top: 0, left: 0, lineHeight: '100px', textAlign: 'center', fontSize: '20px', border: '1px dashed #d6d6d6', }}>
{ setImgList([]) formA.setFieldsValue({ trademarkPhoto: '' }) }} >删除
{ const isPNG = file.type === 'image/png'; const isJPG = file.type === 'image/jpg' || file.type === 'image/jpeg'; if (!isPNG && !isJPG) { // console.error('仅支持 PNG、PDF、JPG 格式的文件!'); message.error('仅支持 PNG、JPG 格式的文件!'); } return isPNG || isJPG; }} // fileList={[]} onChange={upImgHandleChange} showUploadList={false} headers={{ 'Auth': `Bearer ${token}` }} disabled={imgList.length > 0} >
上传图片
{ // console.log(errorInfo) // message.error('请填写完整的信息!') errorInfo.errorFields.forEach((field) => { if (field.errors.length > 0) { // 显示每条错误信息 message.error(field.errors[0]); } }); }} initialValues={{ softWare: '' }} style={{ marginTop: 20 }} >
商标说明*
商标图样*
{ // const isPNG = file.type === 'image/png'; const isJPG = file.type === 'image/jpg' || file.type === 'image/jpeg'; if (!isJPG) { // console.error('仅支持 PNG、PDF、JPG 格式的文件!'); message.error('仅支持 JPG 格式的文件!'); } return isJPG; }} // fileList={[]} onChange={(info) => { if (info.file.status === 'uploading') { // setFileList([]) setImgLodaing(true) return; } if (info.file.status === 'done') { setImgLodaing(false) // const fileId = info.file.response.data.fileId; // // console.log(downloadUrl(fileId)); // const url = showImage(fileId, false); console.log(info.file.response.data.fileId); setUpImglist([ { uid: info.file.response.data.fileId, name: info.file.response.data.fileName, status: 'done', url: showImage(info.file.response.data.fileId, false) } ]) formB.setFieldsValue({ trademarkPhoto: info.file.response.data.fileId }) return; } if (info.file.status === 'error') { setImgLodaing(false) // message.error(`上传失败`); // console.log(info.file.response.msg? info.file.response.msg : '上传失败'); message.error(info.file.response.msg ? info.file.response.msg : '上传失败'); return; } }} showUploadList={false} headers={{ 'Auth': `Bearer ${token}` }} disabled={upImglist.length > 0} >
上传图片
0 ? 'unset' : 'none', width: 200, height: 100, background: 'white', color: 'black', position: 'absolute', top: 0, left: 0, lineHeight: '100px', textAlign: 'center', fontSize: '20px', border: '1px dashed #d6d6d6', }}>
{ setUpImglist([]) formB.setFieldsValue({ trademarkPhoto: '' }) }} >删除
图片尺寸:500*500至1500*1500
图片大小:200kb内
图片格式:仅支持JPG格式
上传商标图样颜色为 黑白,注册成功使用时,可任意修改商标图样颜色使用
上传商标图样颜色为 彩色,注册成功使用时,不能修改商标图样颜色使用
建议上传商标图样颜色:黑白
{ // console.log(errorInfo) // message.error('请填写完整的信息!') errorInfo.errorFields.forEach((field) => { if (field.errors.length > 0) { // 显示每条错误信息 message.error(field.errors[0]); } }); }} initialValues={{ softWare: '' }} style={{ marginTop: 20 }} >
商标名称*
若您的商标涉及他人姓名/肖像/期刊,请下载 { window.open(downloadAuthBookUrl()) }} >授权声明书模板,填写完盖章签字后
{/* { const isPNG = file.type === 'image/png'; const isPDF = file.type === 'application/pdf'; const isJPG = file.type === 'image/jpg' || file.type === 'image/jpeg'; if (!isPNG && !isPDF && !isJPG) { message.error('仅支持 PNG、PDF、JPG 格式的文件!'); } return isPNG || isPDF || isJPG; }} onChange={handleChangeC} showUploadList={false} headers={{ 'Auth': `Bearer ${token}` }} disabled={fileListC.length > 0} > 上传文件 */} { setUpFileCModal(true) }}>上传文件 ({fileC.length}/3)
{/*
({fileListC.length}/1)
{fileListC.length > 0 ? (
{ window.open(showImage(fileListC[0].uid, false)) }}> {fileListC[0].name}
{ setFileListC([]) }}>
) : ( <> )}
*/}
2021年12月10日起,商标名称作为必填项提交至商标局。商标局审核人员会根据商标图样中的文字字母等实际展示的信息重新命名商标名称,并展示在商标局官网。 如何解决请参考 { window.open('https://www.baidu.com/') }} >文档
商标说明*
商标图样*
{ // const isPNG = file.type === 'image/png'; const isJPG = file.type === 'image/jpg' || file.type === 'image/jpeg'; if (!isJPG) { // console.error('仅支持 PNG、PDF、JPG 格式的文件!'); message.error('仅支持 JPG 格式的文件!'); } return isJPG; }} // beforeUpload={(file) => { // const isPNG = file.type === 'image/png'; // const isJPG = file.type === 'image/jpg' || file.type === 'image/jpeg'; // if (!isPNG && !isJPG) { // // console.error('仅支持 PNG、PDF、JPG 格式的文件!'); // message.error('仅支持 PNG、JPG 格式的文件!'); // return false; // } // // 使用 Promise 来处理图片尺寸的读取 // return new Promise((resolve) => { // // 创建 Image 实例,TypeScript 环境下可使用 HTMLImageElement 明确类型 // const img: HTMLImageElement = new Image(); // img.src = URL.createObjectURL(file); // img.onload = () => { // const width = img.naturalWidth; // const height = img.naturalHeight; // if (width >= 500 && width <= 1500 && height >= 500 && height <= 1500) { // resolve(true); // } else { // message.error('图片尺寸需在 500*500 至 1500*1500 之间'); // resolve(false); // } // URL.revokeObjectURL(img.src); // }; // img.onerror = () => { // message.error('无法读取图片尺寸'); // resolve(false); // URL.revokeObjectURL(img.src); // }; // }); // }} // fileList={[]} onChange={(info) => { // console.log(info.file.status); if (info.file.status === 'uploading') { // setFileList([]) setImgLodaingC(true) return; } if (info.file.status === 'done') { setImgLodaingC(false) // const fileId = info.file.response.data.fileId; // // console.log(downloadUrl(fileId)); // const url = showImage(fileId, false); console.log(info); // console.log(info.file.response.data.fileId); setUpImglistC([ { uid: info.file.response.data.fileId, name: info.file.response.data.fileName, status: 'done', url: showImage(info.file.response.data.fileId, false) } ]) formC.setFieldsValue({ trademarkPhoto: info.file.response.data.fileId }) return; } if (info.file.status === 'error') { setImgLodaingC(false) // message.error(`上传失败`); message.error(info.file.response.msg ? info.file.response.msg : '上传失败'); return; } }} showUploadList={false} headers={{ 'Auth': `Bearer ${token}` }} disabled={upImglistC.length > 0} >
上传图片
0 ? 'unset' : 'none', width: 200, height: 100, background: 'white', color: 'black', position: 'absolute', top: 0, left: 0, lineHeight: '100px', textAlign: 'center', fontSize: '20px', border: '1px dashed #d6d6d6', }}>
{ setUpImglistC([]) formC.setFieldsValue({ trademarkPhoto: '' }) }} >删除
图片尺寸:500*500至1500*1500
图片大小:200kb内
图片格式:仅支持JPG格式
上传商标图样颜色为 黑白,注册成功使用时,可任意修改商标图样颜色使用
上传商标图样颜色为 彩色,注册成功使用时,不能修改商标图样颜色使用
建议上传商标图样颜色:黑白
{ // handleSubmit() // }} onClose={() => { setUpFileAModal(false) }} footer={[ ]} // footer={null} onCancel={() => { setUpFileAModal(false) }} > } tip='正在上传' size="small" spinning={disabled}>
类型
姓名授权书 肖像授权书 期刊证明
请选择对应的授权文件类型
上传文件
{/* 姓名授权书 */}
{ const isPDF = file.type === 'application/pdf'; const isJPG = file.type === 'image/jpg' || file.type === 'image/jpeg'; if (!isPDF && !isJPG) { message.error('仅支持 PNG、PDF、JPG 格式的文件!'); } return isPDF || isJPG; }} fileList={fileAName} onChange={(info) => { if (info.file.status === 'uploading') { const { fileList } = info; setFileAName(fileList); setDisabled(true) return; } if (info.file.status === 'done') { // console.log(info.file.response.data); setFileAName([ { uid: info.file.response.data.fileId, name: info.file.response.data.fileName, status: 'done', url: showImage(info.file.response.data.fileId, false) } ]) setDisabled(false) } if (info.file.status === 'error') { setDisabled(false) message.error(info.file.response.msg); setFileAName([]) } }} onRemove={() => { setFileAName([]) }} headers={{ 'Auth': `Bearer ${token}` }} >
{/* 肖像授权书 */}
{ const isPDF = file.type === 'application/pdf'; const isJPG = file.type === 'image/jpg' || file.type === 'image/jpeg'; if (!isPDF && !isJPG) { message.error('仅支持 PNG、PDF、JPG 格式的文件!'); } return isPDF || isJPG; }} action={uploadDeputeFileUrl('肖像授权书')} fileList={fileAFace} onChange={(info) => { if (info.file.status === 'uploading') { const { fileList } = info; setFileAFace(fileList); setDisabled(true) return; } if (info.file.status === 'done') { setDisabled(false) setFileAFace([ { uid: info.file.response.data.fileId, name: info.file.response.data.fileName, status: 'done', url: showImage(info.file.response.data.fileId, false) } ]) } if (info.file.status === 'error') { setDisabled(false) // 显示错误提示 // message.error(`上传失败`); message.error(info.file.response.msg); setFileAFace([]) } }} onRemove={() => { setFileAFace([]) }} headers={{ 'Auth': `Bearer ${token}` }} >
{/* 期刊证明 */}
{ const isPDF = file.type === 'application/pdf'; const isJPG = file.type === 'image/jpg' || file.type === 'image/jpeg'; if (!isPDF && !isJPG) { message.error('仅支持 PNG、PDF、JPG 格式的文件!'); } return isPDF || isJPG; }} name="file" action={uploadDeputeFileUrl('期刊证明')} fileList={fileABook} onChange={(info) => { if (info.file.status === 'uploading') { const { fileList } = info; setFileABook(fileList); setDisabled(true) return; } if (info.file.status === 'done') { setDisabled(false) setFileABook([ { uid: info.file.response.data.fileId, name: info.file.response.data.fileName, status: 'done', url: showImage(info.file.response.data.fileId, false) } ]) } if (info.file.status === 'error') { setDisabled(false) // message.error(`上传失败`); message.error(info.file.response.msg); setFileABook([]) } }} onRemove={() => { setFileABook([]) }} headers={{ 'Auth': `Bearer ${token}` }} >
请上传商标申请对应的姓名授权证明文件(请上传1.5M以内的jpg/jpeg格式图片/2M以内的pdf格式文件)
请上传商标申请对应的肖像授权证明文件(请上传1.5M以内的jpg/jpeg格式图片/2M以内的pdf格式文件)
在“期刊”上注册该商标须有我国出版行政主管部门批准使用的报纸、期刊名称,由于您选择了该项目,需提供我国出版行政主管部门核发的报纸、期刊出版许可证明。(请上传1.5M以内的jpg/jpeg格式图片/2MI以内的pdf格式文件)
{ // handleSubmit() // }} onCancel={() => { setUpFileCModal(false) }} footer={[ ]} > } tip='正在上传' size="small" spinning={disabled}>
类型
姓名授权书 肖像授权书 期刊证明
请选择对应的授权文件类型
上传文件
{/* 姓名授权书 */}
{ const isPDF = file.type === 'application/pdf'; const isJPG = file.type === 'image/jpg' || file.type === 'image/jpeg'; if (!isPDF && !isJPG) { message.error('仅支持 PNG、PDF、JPG 格式的文件!'); } return isPDF || isJPG; }} fileList={fileCName} onChange={(info) => { console.log(info.file.status); if (info.file.status === 'uploading') { const { fileList } = info; setFileCName(fileList); setDisabled(true) return; } if (info.file.status === 'done') { // console.log(info.file.response.data); setFileCName([ { uid: info.file.response.data.fileId, name: info.file.response.data.fileName, status: 'done', url: showImage(info.file.response.data.fileId, false) } ]) setDisabled(false) } if (info.file.status === 'error') { setDisabled(false) message.error(info.file.response.msg); setFileCName([]) } }} onRemove={() => { setFileCName([]) }} headers={{ 'Auth': `Bearer ${token}` }} >
{/* 肖像授权书 */}
{ const isPDF = file.type === 'application/pdf'; const isJPG = file.type === 'image/jpg' || file.type === 'image/jpeg'; if (!isPDF && !isJPG) { message.error('仅支持 PNG、PDF、JPG 格式的文件!'); } return isPDF || isJPG; }} action={uploadDeputeFileUrl('肖像授权书')} fileList={fileCFace} onChange={(info) => { if (info.file.status === 'uploading') { const { fileList } = info; setFileCFace(fileList); setDisabled(true) return; } if (info.file.status === 'done') { setDisabled(false) setFileCFace([ { uid: info.file.response.data.fileId, name: info.file.response.data.fileName, status: 'done', url: showImage(info.file.response.data.fileId, false) } ]) } if (info.file.status === 'error') { setDisabled(false) // 显示错误提示 // message.error(`上传失败`); message.error(info.file.response.msg); setFileCFace([]) } }} onRemove={() => { setFileCFace([]) }} headers={{ 'Auth': `Bearer ${token}` }} >
{/* 期刊证明 */}
{ const isPDF = file.type === 'application/pdf'; const isJPG = file.type === 'image/jpg' || file.type === 'image/jpeg'; if (!isPDF && !isJPG) { message.error('仅支持 PNG、PDF、JPG 格式的文件!'); } return isPDF || isJPG; }} name="file" action={uploadDeputeFileUrl('期刊证明')} fileList={fileCBook} onChange={(info) => { if (info.file.status === 'uploading') { const { fileList } = info; setFileCBook(fileList); setDisabled(true) return; } if (info.file.status === 'done') { setDisabled(false) setFileCBook([ { uid: info.file.response.data.fileId, name: info.file.response.data.fileName, status: 'done', url: showImage(info.file.response.data.fileId, false) } ]) } if (info.file.status === 'error') { setDisabled(false) // message.error(`上传失败`); message.error(info.file.response.msg); setFileCBook([]) } }} onRemove={() => { setFileCBook([]) }} headers={{ 'Auth': `Bearer ${token}` }} >
请上传商标申请对应的姓名授权证明文件(请上传1.5M以内的jpg/jpeg格式图片/2M以内的pdf格式文件)
请上传商标申请对应的肖像授权证明文件(请上传1.5M以内的jpg/jpeg格式图片/2M以内的pdf格式文件)
在“期刊”上注册该商标须有我国出版行政主管部门批准使用的报纸、期刊名称,由于您选择了该项目,需提供我国出版行政主管部门核发的报纸、期刊出版许可证明。(请上传1.5M以内的jpg/jpeg格式图片/2MI以内的pdf格式文件)
) }