This commit is contained in:
lyp 2025-06-05 15:05:48 +08:00
commit 22dd481b38
25 changed files with 1622 additions and 139 deletions

View File

@ -71,7 +71,7 @@ export default function OrderDetailModal(props: any) {
idcardType: '',//证件类型
idcard: '',//证件号码
})
// const [waitCorrectionCount, setWaitCorrectionCount] = useState(0) //待补充资料
const [waitCorrectionCount, setWaitCorrectionCount] = useState(0) //待补充资料
// tab栏 标题数组
const tapTitleArray = [
{
@ -96,17 +96,17 @@ export default function OrderDetailModal(props: any) {
{
key: 'authorize',
title: '受让人信息',
className: activeKey == 'authorize' ? 'orderDetailTop-title tapActive borderRight' : 'orderDetailTop-title borderRight'
className: activeKey == 'authorize' ? 'orderDetailTop-title tapActive ' : 'orderDetailTop-title '
}
: {}
),
// (waitCorrectionCount > 0?
// {
// key: 'file',
// title: '资料补充',
// className: activeKey == 'file'? 'orderDetailTop-title tapActive borderRight' : 'orderDetailTop-title borderRight'
// }:{}
// )
(waitCorrectionCount > 0?
{
key: 'file',
title: '资料补充',
className: activeKey == 'file'? 'orderDetailTop-title tapActive borderRight' : 'orderDetailTop-title borderRight'
}:{}
)
// {
// key: 'file',
// title: '资料补充',
@ -137,7 +137,7 @@ export default function OrderDetailModal(props: any) {
setAuthorizeInfo({
...res.buyUserDTO
})
// setWaitCorrectionCount(res.waitCorrectionCount)
setWaitCorrectionCount(res.waitCorrectionCount)
} catch (error: any) {
@ -187,7 +187,7 @@ export default function OrderDetailModal(props: any) {
<Authorize authorizeInfo={authorizeInfo} ></Authorize>
</div>
<div style={{ display: activeKey == 'file' ? 'block' : 'none' }}>
<File user={props.user} orderId={props.orderId}></File>
<File user={props.user} upData={props.upData} orderId={props.orderId}></File>
</div>
{/* <div style={{ display: activeKey == 'result' ? 'block' : 'none' }}>
<Result ></Result>

View File

@ -12,7 +12,7 @@ export default function File(props: any) {
// 自定义验证函数
const validateContentOrFile = (_rule: any, _value: any, callback: (error?: string) => void, form: any) => {
const { upCorrectionRemark, upFile } = form.getFieldsValue();
if (upCorrectionRemark || (upFile && Array.isArray(upFile.fileList) && upFile.fileList.length > 0)) {
if (upCorrectionRemark || upFile) {
callback();
} else {
callback('内容和附件至少需要填写或上传一项');
@ -126,6 +126,8 @@ export default function File(props: any) {
const res: any = await getFileTypeByIds({
ids: ids
})
// console.log(res);
setFileList(res)
} catch (error: any) {
@ -141,14 +143,99 @@ export default function File(props: any) {
}
}
}
// 获取上传过的文件类型
const getUpFileTypeByIdsArray = async (ids: string) => {
try {
const res: any = await getFileTypeByIds({
ids: ids
})
console.log(res);
const newUpFile = res.map((item: any) => {
return {
uid: item.fileId,
name: item.fileName,
status: 'done',
url: showImage(item.fileId, false)
}
})
// console.log(newUpFile, 'newUpFile');
setUpFileArray(newUpFile)
} 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 [detailData, setDetailData] = useState<any>({})
const [disabled, setDisabled] = useState(false) // 是否禁用
const getSupplementDetail = async (id: string) => {
try {
const res: any = await supplementDetail(id)
console.log(res);
// console.log(res);
// 给表单赋值
// form.setFieldsValue({
// upCorrectionRemark: res.correctionRemark, // 内容
// upFile:'1111'
// })
// 给上传列表赋值
// setUpFileArray([{
// uid: '1111',
// name: '嘻嘻',
// status: 'done',
// url: 'www.baidu.com'
// }])
setDetailData(res)
await getFileTypeByIdsArray(res.correctionFiles)
// console.log(props.user, 'user');
const userId = props.user == 'sell' ? res.sellId : res.buyId;
// console.log(userId, 'userId');
if (userId) {
console.log('已补充');
setDisabled(true)
const newData: any = await supplementDetail(userId)
console.log('以补充材料', newData);
form.setFieldsValue({
upCorrectionRemark: newData.correctionRemark, // 内容
})
if (newData.correctionFiles) {
getUpFileTypeByIdsArray(newData.correctionFiles)
// const newArray:any = getFileTypeByIds({
// ids: newData.correctionFiles
// })
// console.log(newArray, 'newArray');
// console.log('有补充资料');
// // 循环newArray 形成新
// const newUpFile = newArray.map((item:any)=>{
// return {
// uid: item.fileId,
// name: item.fileName,
// status: 'done',
// url: 'www.baidu.com'
// }
// })
// console.log(newUpFile, 'newUpFile');
}
} else {
setDisabled(false)
}
} catch (error: any) {
@ -254,6 +341,8 @@ export default function File(props: any) {
setCorrectionId(record.correctionId)
getSupplementDetail(record.correctionId)
setIsModalVisible(true)
// 清空上传的文件数组
setUpFileArray([])
// 清空表单
form.resetFields();
// setCorrectionType(record.correctionType)
@ -263,7 +352,7 @@ export default function File(props: any) {
)}
/>
</Table>
<Modal title={'补充'}
<Modal title={disabled?'查看':'补充'}
destroyOnClose={true}
open={isModalVisible}
footer={null} // 将 footer 设置为 null 来隐藏自带按钮
@ -354,7 +443,7 @@ export default function File(props: any) {
onFinish={(value) => {
// console.log(value);
console.log(value);
// if (value.upFile && Array.isArray(value.upFile.fileList)) {
// const uids = value.upFile.fileList.map((file: any) => file.uid);
// const uidString = uids.join(',');
@ -366,19 +455,21 @@ export default function File(props: any) {
// console.log('提取的 uid 字符串:', uids);
submitData({
correctionFiles: value.upFile ? value.upFile : '',
correctionRemark: value.upCorrectionRemark ? value.upCorrectionRemark : '',
})
// console.log(upFileArray);
// 将upFileArray 数组里的uid 提取出来
// const uids = upFileArray.map((file: any) => file.uid).join(',');
// const uids = upFileArray.map((file: any) => file.response.data.fileId).join(',');
// console.log('提取的 uid 字符串:', uids);
// submitData({
// correctionFiles: uids,
// correctionRemark: value.upCorrectionRemark,
// })
// console.log(upFileArray);
// 将upFileArray 数组周末和每项的response里的data 里的 fileId 拼接成一个字符串,用逗号隔开
const uids = upFileArray.map((file: any) => file.response.data.fileId).join(',');
// console.log('提取的 uid 字符串:', uids);
submitData({
correctionFiles: uids,
correctionRemark: value.upCorrectionRemark,
})
}}
onFinishFailed={() => {
@ -408,6 +499,7 @@ export default function File(props: any) {
width: 900,
}}
disabled={disabled}
placeholder='请输入需要补充内容'
></TextArea>
</Form.Item>
@ -435,15 +527,38 @@ export default function File(props: any) {
>
<Upload
disabled={disabled}
name="file"
action={uploadFileUrl()}
defaultFileList={upFileArray}
fileList={upFileArray}
onChange={(info) => {
setUpFileArray(info.fileList)
// console.log(info.fileList);
// console.log(info.file.status);
// setUpFileArray(info.fileList)
const { fileList } = info;
const newFileArray = fileList.map((file) => {
if (file.status === 'done' && file.response) {
return {
uid: file.response.data.fileId,
name: file.response.data.fileName,
status: 'done',
url: showImage(file.response.data.fileId, false)
};
}
return file;
});
setUpFileArray(newFileArray);
// console.log(newFileArray);
const uids = newFileArray.map((file: any) => file.uid).join(',');
// console.log(uids);
// 给form 赋值
form.setFieldsValue({
upFile: uids,
})
}}
headers={{ 'Auth': `Bearer ${token}` }}
>
@ -465,11 +580,15 @@ export default function File(props: any) {
gap: 10,
// marginTop: 20
}}>
<Button onClick={() => {
setIsModalVisible(false)
form.resetFields();
}}></Button>
<Button type="primary" htmlType="submit" ></Button>
<div style={{
display: disabled ? 'none' : 'unset',
}}>
<Button onClick={() => {
setIsModalVisible(false)
form.resetFields();
}}></Button>
<Button type="primary" htmlType="submit" style={{ marginLeft: 10 }} ></Button>
</div>
</div>
</Form.Item>

View File

@ -62,6 +62,8 @@ export default function MenuWithTopButton(props: IMenuWithTopButton) {
})
}
if (item.id == 'COPYRIGHT') {
// console.log('传递',props.specialPrice);
navigate('/copyright-goods', {
state: {
copyrightKeywords: props.copyrightKeywords,
@ -71,6 +73,7 @@ export default function MenuWithTopButton(props: IMenuWithTopButton) {
copyrightDate: props.copyrightDate,
copyrightLanguage: props.copyrightLanguage,
copyrightType: props.copyrightType,
specialPrice: props.specialPrice,
}
})
}

View File

@ -31,74 +31,78 @@ export default function MenuWithTopButton(props: IMenuWithTopButton) {
const list = menuItem.map((item, index) => (
// 创建项目下三个选项
<li className={item.active ? 'active' : ''}
style={{
color: item.active? '' : 'var( --color-menuoption)'
}}
key={item.id} onClick={(e) => {
props.handleListItem(e, index, item);
setMenuActive(item.id)
// console.log(item.id);
<li className={item.active ? 'active' : ''}
style={{
color: item.active ? '' : 'var( --color-menuoption)'
}}
key={item.id} onClick={(e) => {
// const goHome = item.id == 'ALL' || item.id == 'PROCESSING' || item.id == 'COMPLETE'
// if (props.button.name == '项目') {
if (props.button.name == '项目') {
props.handleListItem(e, index, item);
setMenuActive(item.id)
// console.log(item.id);
navugate('/home', {
state: {
keyword: props.keywords,
type: props.type,
chargeAdditionals: props.chargeAdditionals,
tagDataId: props.tagDataId,
authorId: props.authorId,
payStatus: props.payStatus
}
})
}
if (item.id == 'REFUN') {
// props.disableBelongpeople()
navugate('/refun', {
state: {
keywords: props.refunKeywords,
applyStatus: props.applyStatus,
authorId: props.authorId
}
})
}
if (item.id == 'CORRECTION') {
// props.disableBelongpeople()
navugate('/correction', {
state: {
keywords: props.correctionKeywords,
correctionNumType: props.correctionNumType,
correctionType: props.correctionType,
applyStatus: props.correctionApplyStatus,
authorId: props.authorId,
tagCor: props.tagCor,
}
})
}
if (item.id == 'CONTRACT') {
// props.disableBelongpeople()
navugate('/contract', {
state: {
// keywords: props.correctionKeywords,
// correctionNumType:props.correctionNumType,
// correctionType:props.correctionType,
// applyStatus: props.correctionApplyStatus,
// authorId: props.authorId
}
})
}
if (item.id == 'REPLACENAME') {
// props.disableBelongpeople()
navugate('/replace', {
})
}
// const goHome = item.id == 'ALL' || item.id == 'PROCESSING' || item.id == 'COMPLETE'
// if (props.button.name == '项目') {
if (props.button.name == '项目') {
}}>
navugate('/home', {
state: {
keyword: props.keywords,
type: props.type,
chargeAdditionals: props.chargeAdditionals,
tagDataId: props.tagDataId,
authorId: props.authorId,
payStatus: props.payStatus
}
})
}
if (item.id == 'REFUN') {
// props.disableBelongpeople()
navugate('/refun', {
state: {
keywords: props.refunKeywords,
applyStatus: props.applyStatus,
authorId: props.authorId
}
})
}
if (item.id == 'CORRECTION') {
// props.disableBelongpeople()
navugate('/correction', {
state: {
keywords: props.correctionKeywords,
correctionNumType: props.correctionNumType,
correctionType: props.correctionType,
applyStatus: props.correctionApplyStatus,
authorId: props.authorId,
tagCor: props.tagCor,
}
})
}
if (item.id == 'CONTRACT') {
// props.disableBelongpeople()
navugate('/contract', {
state: {
// keywords: props.correctionKeywords,
// correctionNumType:props.correctionNumType,
// correctionType:props.correctionType,
// applyStatus: props.correctionApplyStatus,
// authorId: props.authorId
}
})
}
if (item.id == 'REPLACENAME') {
// props.disableBelongpeople()
navugate('/replace', {
state: {
keywords: props.replaceKeyWords,
applyStatus: props.replaceStatus,
authorId: props.authorId
}
})
}
}}>
{item.icon ? (<img src={item.icon} className="menu-icon" alt="加载失败" />) : <></>}
<span className="menu-name">{item.name}</span>
@ -108,7 +112,7 @@ export default function MenuWithTopButton(props: IMenuWithTopButton) {
return (
<div className="menu-with-top-button" style={{
borderBottom: THEME=='fzkj'?'1px solid var(--color-menuborder)':'',
borderBottom: THEME == 'fzkj' ? '1px solid var(--color-menuborder)' : '',
}}>
{/* button 是三个黄色按钮 */}
<div className='top'>
@ -159,7 +163,7 @@ export default function MenuWithTopButton(props: IMenuWithTopButton) {
textAlign: 'center',
lineHeight: '36px',
borderRadius: '5px',
}}>
{/* <img src={newImg} alt="" /> */}
@ -167,7 +171,7 @@ export default function MenuWithTopButton(props: IMenuWithTopButton) {
<div style={{ display: props.button.name == '项目' ? 'block' : 'none', fontSize: 18 }}><PlusOutlined style={{
fontSize: 16,
marginRight: 5,
}}/></div>
}} /></div>
</div>
{/* <div style={{ display: props.button.name == '退款' ? 'block' : 'none' }}>申请</div> */}
{/* <div style={{ display: props.button.name == '补正' ? 'block' : 'none' }}>申请</div> */}

View File

@ -59,4 +59,9 @@ export interface IMenuWithTopButton {
tradingEndTime?: any,
tradingStatus?: any,
replaceKeyWords?: any,
replaceStatus?: any,
specialPrice?: any,
}

View File

@ -61,7 +61,7 @@ export default function CopyrightGgoods() {
const copyrightDate = state ? state.copyrightDate : ''; // 版权日期
const copyrightLanguage = state ? state.copyrightLanguage : ''; // 开发语言
// const copyrightType = state ? state.copyrightType : ''; // 软著类型
const goodsFlag = state ? state.goodsFlag : ''; // 商品特价标识
const goodsFlag = state ? state.specialPrice : ''; // 商品特价标识
const [data, setData] = useState([]); // 表格数据
@ -109,6 +109,9 @@ export default function CopyrightGgoods() {
const [selectTypeArray, setSelectTypeArray] = useState<any>([]) // 选择的软著类型
const getBuyGoodsList = async (page: number) => {
// console.log('呵呵', goodsFlag);
// console.log('嘻嘻', state.goodsFlag);
// return
try {
setLoading(true)
const res: any = await buyGoodsList({
@ -122,7 +125,7 @@ export default function CopyrightGgoods() {
goodsDevelop: copyrightLanguage ? copyrightLanguage : '', // 开发语言
// goodsType: copyrightType ? copyrightType.join(',') : '', // 软著类型
goodsType: selectTypeArray.length > 0 ? selectTypeArray.join(',') : '',
goodsFlag: goodsFlag ? goodsFlag : '' // 商品特价标识
goodsFlag: goodsFlag == '特价' ? '特价' : '' // 商品特价标识
})
// console.log(res);
@ -208,6 +211,8 @@ export default function CopyrightGgoods() {
// if (copyrightDate) {
// console.log('sellDate', dayjs(copyrightDate).year());
// }
// console.log('嘻嘻',state.specialPrice);
setPage(1)
getBuyGoodsList(1)
}, [state])
@ -283,7 +288,7 @@ export default function CopyrightGgoods() {
style={{ maxWidth: '100%' }}
></Image>
<div className='tipsPrice' style={{
display: item.goodsFlag == '特价' ? 'unset' : 'none'
display: item.goodsFlag.includes('特价') ? 'unset' : 'none'
}}></div>
<div className='goodsTime'>
: {item.goodsLastTime}

View File

@ -883,7 +883,8 @@ export default function Correction() {
useEffect(() => {
// getData(1)
// console.log(state);
getData(1)
setPage(1)
// console.log(tagCor);

View File

@ -134,7 +134,7 @@ export default function ProductRelease() {
return {
...dataItem,
goodsStatus: 0
};
}
return dataItem;
@ -142,7 +142,7 @@ export default function ProductRelease() {
})
// console.log('setData', data);
setOffModalOpen(false)
messageApi.open({
type: 'success',
@ -583,12 +583,12 @@ export default function ProductRelease() {
edit(item)
}}></Button>
<Button className='goodsBtn' type="primary" style={{
width: '163px',
background:'#0FADAB',
width: '163px',
background: '#0FADAB',
display: item.goodsCheckStatus == '1' || item.goodsCheckStatus == '2' ? 'none' : 'unset'
}} onClick={() => submit(item)}></Button>
<Button className='goodsBtn' type="primary" style={{
width: '80px',
width: '80px',
display: item.goodsStatus == '0' && item.goodsCheckStatus == '2' ? 'unset' : 'none'
}} onClick={() => sell(item)}></Button>
<Button className='goodsBtn' type="primary" style={{
@ -602,7 +602,7 @@ export default function ProductRelease() {
}}>
...
</div>
<div className='goodsBtnIng' style={{
<div className='goodsBtnIng' style={{
display: item.goodsOrderStatus == '4' ? 'unset' : 'none'
}}>

View File

@ -165,7 +165,7 @@ export default function EditModal(props: any) {
});
const handleChange: UploadProps['onChange'] = (info) => {
if (info.file.status === 'uploading') {
setLoading(true);
return;

View File

@ -82,6 +82,7 @@ thead {
}
.showGoodsBox {
margin-top: 80px;
width: calc(100% - 2px);
/* height: 100%; */
/* background-color: pink; */
@ -265,16 +266,39 @@ thead {
/* 让第一个按钮的左边距为 0 */
}
.goodsTypeArrayBox {
width: 100%;
background-color: #F6F6F6;
padding: 15px;
/* box-sizing: border-box; */
margin-bottom: 15px;
display: flex;
@media (min-width: 1571px) {
.goodsTypeArrayBox {
width: calc(100% - 338px);
background-color: #F6F6F6;
padding: 15px;
/* box-sizing: border-box; */
margin-bottom: 15px;
display: flex;
/* background-color: pink; */
position: fixed;
/* width: 100%; */
z-index: 999;
}
}
@media (max-width: 1570px) {
.goodsTypeArrayBox {
width: calc(100% - 298px);
background-color: #F6F6F6;
padding: 15px;
/* box-sizing: border-box; */
margin-bottom: 15px;
display: flex;
/* background-color: pink; */
position: fixed;
/* width: 100%; */
z-index: 999;
}
}
.goodsTypeTitle {
font-size: 18px;
color: #707070;

View File

@ -234,7 +234,8 @@ export default function Replcae() {
useEffect(() => {
// getData(1)
// console.log(state);
getData(1)
setPage(1)
// console.log(tagCor);

View File

@ -0,0 +1,158 @@
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' style={{
marginBottom: 20
}}>
<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
key={editProcess}
setEditProcess={setEditProcess}
></EditOne>
</div>
<div style={{
display: editProcess == 2 ? 'block' : 'none'
}}>
<EditTwo
key={editProcess}
setEditProcess={setEditProcess}></EditTwo>
</div>
<div style={{
display: editProcess == 3 ? 'block' : 'none'
}}>
<EditThree
key={editProcess}
setEditProcess={setEditProcess}></EditThree>
</div>
<div style={{
display: editProcess == 4 ? 'block' : 'none'
}}>
<EditFour
key={editProcess}
setEditProcess={setEditProcess}></EditFour>
</div>
<div style={{
display: editProcess == 5 ? 'block' : 'none'
}}>
<EditFive
key={editProcess}
setEditProcess={setEditProcess}></EditFive>
</div>
<div style={{
display: editProcess == 6 ? 'block' : 'none'
}}>
<EditSix
key={editProcess}
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,44 @@
.topLine {
width: 100%;
height: 10px;
background: #F3F3F3;
}
.editFormBox {
/* padding: 10px;
box-sizing: border-box; */
}
.editFormTitle {
font-size: 18px;
margin-bottom: 20px;
/* height: 46px; */
}
.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;
}
.pointerBlue{
color: var(--color-blue);
cursor: pointer;
}

View File

@ -0,0 +1,624 @@
import { useState } from 'react'
import { Button, Radio, Form, Input, Upload, message, Image, Spin } from 'antd'
import './EditOne.css'
import { uploadFileUrl, showImage } from '../../../../request/request'
import {
DeleteOutlined
} from '@ant-design/icons';
const { TextArea } = Input;
import type { UploadProps } from 'antd';
export default function EditOne(props: any) {
const token = sessionStorage.getItem('token')
const [formA] = Form.useForm<any>(); // 文字商标表单
const [formB] = Form.useForm<any>(); // 图形商标表单
const height = window.innerHeight - 350;
const [goodsType, setGoodsType] = useState('a')
// 生成方式
const [generateType, setGenerateType] = useState('1')
const handleSubmit = () => {
// console.log(form);
// props.setEditProcess(2);
// 调用表单实例的 submit 方法
if (goodsType === 'a') {
formA.submit();
} else if (goodsType === 'b') {
formB.submit();
} else {
// 表单不显示时,直接更新步骤
props.setEditProcess(2);
}
};
const [fileList, setFileList] = useState<any>([]);
const handleChange: 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);
setFileList([
{
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<any>('')
const [imgList, setImgList] = useState<any>([])
// 上传商标文字图片
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') {
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({ imgUrl: info.file.response.data.fileId })
return;
}
if (info.file.status === 'error') {
setTextLodaing(false)
message.error(`上传失败`);
return;
}
};
const onFinishA = (values: any) => {
console.log(values);
// props.setEditProcess(2);
}
const onFinishB = (values: any) => {
console.log(values);
// props.setEditProcess(2);
}
const onChange = (e: any) => {
setGoodsType(e.target.value)
};
const generateTypeChange = (e: any) => {
setGenerateType(e.target.value)
// 给FormA表单的imgUrl赋值
// if (e.target.value === '1') {
// formA.setFieldsValue({ imgUrl: generateImgId })
// }
// if (e.target.value === '2') {
// formA.setFieldsValue({ imgUrl: imgList[0]?.uid})
// }
formA.setFieldsValue({ imgUrl: '' })
setGenerateImgId('')
setImgList([])
}
return (
<div className='editOneBox'>
<div className='topLine'></div>
<div className='' style={{
height: height,
// background: 'pink',
padding: '10px',
boxSizing: 'border-box',
overflow: 'auto',
}}>
<div className='trademarkTop'>
<div className='trademarkTopL'>
!
</div>
<div>
<div>使<a></a>"或"<a></a>"</div>
<div style={{
marginTop: '5px'
}}>;</div>
<div style={{
marginTop: '5px'
}}>使</div>
</div>
</div>
<div className='editFormTitle' style={{
marginTop: '20px',
}}>
</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="FormA"
form={formA}
onFinish={onFinishA}
onFinishFailed={(errorInfo) => {
// console.log(errorInfo)
// message.error('请填写完整的信息!')
errorInfo.errorFields.forEach((field) => {
if (field.errors.length > 0) {
// 显示每条错误信息
message.error(field.errors[0]);
}
});
}}
initialValues={{ softWare: '' }}
style={{ marginTop: 20 }}
>
<div className='editFormItem'>
<div className='editFormItemTitle'>
<span className='redTitle' >*</span>
</div>
<div style={{
// background:'pink',
position: 'relative',
}}>
<Form.Item
name="title"
rules={[{ required: true, message: '请输入商标名称' }]}
>
<Input style={{
width: 600,
height: 46,
background: '#FFF',
color: 'black'
}}
placeholder="商标名称"
>
</Input>
</Form.Item>
<div style={{
position: 'absolute',
top: 70,
// textWrap: 'nowrap',
width: 800,
lineHeight: '20px',
}}>
<div style={{
display: 'flex'
}}>
//<span className='pointerBlue'></span>
<div>
<Upload
name="file"
maxCount={1}
action={uploadFileUrl()}
beforeUpload={(file) => {
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) {
// console.error('仅支持 PNG、PDF、JPG 格式的文件!');
message.error('仅支持 PNG、PDF、JPG 格式的文件!');
}
return isPNG || isPDF || isJPG;
}}
// fileList={[]}
onChange={handleChange}
showUploadList={false}
headers={{ 'Auth': `Bearer ${token}` }}
disabled={fileList.length > 0}
>
<span className='pointerBlue'></span>
</Upload>
</div>
<div>
({fileList.length}/1)
</div>
<div>
{fileList.length > 0 ? (
<div style={{
display: 'flex',
alignItems: 'center',
}}>
<div
style={{
// background: 'pink',
width: 100,
// 超出部分隐藏用...代替
overflow: 'hidden',
textOverflow: 'ellipsis',
whiteSpace: 'nowrap',
color: 'var(--color-blue)',
cursor: 'pointer',
// 加下划线
textDecoration: 'underline',
}}
title={fileList[0].name}
onClick={() => {
window.open(showImage(fileList[0].uid, false))
}}>
{fileList[0].name}
</div>
<div
style={{
marginLeft: '2px',
cursor: 'pointer',
}}
onClick={() => {
setFileList([])
}}><DeleteOutlined /></div>
</div>
) : (
<></>
)}
{/* 嘻嘻 */}
{/* <img src={showImage('e98b50ad-7167-49ac-902d-ac3c713f815a')} alt="" /> */}
</div>
</div>
<div style={{
// marginTop: '-20px',
}}>
20211210 <span className='pointerBlue'></span>
</div>
</div>
</div>
</div>
<div className='editFormItem' style={{
marginTop: '100px',
}}>
<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>
<div className='editFormItem' style={{
marginTop: '120px',
}}>
<div className='editFormItemTitle'>
<span className='redTitle'>*</span>
</div>
<div style={{
marginLeft: '2px',
}}>
<Radio.Group onChange={generateTypeChange} value={generateType}>
<Radio value="1"></Radio>
<Radio value="2"></Radio>
</Radio.Group>
</div>
</div>
<div style={{
display: 'flex',
}}>
<div style={{
marginLeft: '90px',
// background:'pink',
width: 200,
position: 'relative',
}}>
<Form.Item
name="imgUrl"
rules={[{ required: true, message: generateType == '1' ? '请点击生成按钮生成商标图样' : '请上传商标图样' }]}
>
<TextArea style={{
width: 200,
height: 100,
background: '#FFF',
color: 'black',
resize: 'none'
}}
// value={generateType == '1' ? generateImgId : imgList[0]?.uid}
placeholder="商标说明"
>
</TextArea>
</Form.Item>
<div style={{
display: generateType == '1' && generateImgId == '' ? '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',
}}>
</div>
{/* 自动生成图片 */}
<div style={{
display: generateType == '1' && generateImgId != '' ? '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',
}}>
<div style={{
width: '100%',
height: '100%',
// background:'pink',
overflow: 'hidden',
display: 'flex',
justifyContent: 'center',
alignItems: 'flex-start',
}}>
<Image src={generateImgId} height={100} style={{ maxWidth: 200, height: '100%' }} ></Image>
</div>
</div>
{/* 手动上传图片 */}
<div style={{
display: generateType == '2' && imgList.length > 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',
}}>
<div style={{
width: '100%',
height: '100%',
// background:'pink',
overflow: 'hidden',
display: 'flex',
justifyContent: 'center',
alignItems: 'flex-start',
}}>
<Image src={imgList[0]?.url} height={100} style={{ maxWidth: 200, height: '100%' }} ></Image>
</div>
<div style={{
position: 'absolute',
bottom: 0,
right: -50,
fontSize: '16px',
lineHeight:'16px',
// background:'pink',
cursor:'pointer',
padding:'5px',
color:'red'
}}
onClick={()=>{
setImgList([])
formA.setFieldsValue({ imgUrl: '' })
}}
></div>
</div>
<div style={{
display: generateType == '2' && imgList.length <= 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',
}}>
<Spin tip="正在处理,请稍后..." size="small" spinning={textLodaing}>
<Upload
name="file"
maxCount={1}
action={uploadFileUrl()}
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 isPNG || isJPG;
}}
// fileList={[]}
onChange={upImgHandleChange}
showUploadList={false}
headers={{ 'Auth': `Bearer ${token}` }}
disabled={imgList.length > 0}
>
<div style={{
width: 200,
height: 100,
background: 'white',
color: 'black',
lineHeight: '100px',
textAlign: 'center',
fontSize: '20px',
border: '1px dashed #d6d6d6',
}}>
</div>
</Upload>
</Spin>
</div>
</div>
<Button type="primary"
onClick={() => {
setGenerateImgId('http://gips2.baidu.com/it/u=1674525583,3037683813&fm=3028&app=3028&f=JPEG&fmt=auto?w=1024&h=1024')
// 给FormA表单的imgUrl赋值
formA.setFieldsValue({
imgUrl: 'http://gips2.baidu.com/it/u=1674525583,3037683813&fm=3028&app=3028&f=JPEG&fmt=auto?w=1024&h=1024'
})
}}
style={{
marginTop: '70px',
marginLeft: '10px',
width: 150,
display: generateType == '1' ? 'unset' : 'none',
}}></Button>
</div>
</Form>
</div>
<div style={{
display: goodsType === 'b' ? 'unset' : 'none',
}}>
<Form
name="FormB"
form={formB}
onFinish={onFinishB}
initialValues={{ softWare: '' }}
style={{ marginTop: 20 }}
>
<div className='editFormItem' style={{
marginTop: '20px',
}}>
<div className='editFormItemTitle'>
<span className='redTitle'>*</span>
</div>
<Form.Item
name="textB"
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

@ -504,7 +504,9 @@ export default function TradingGoods() {
justifyContent: 'center',
height: `${height}px`,
}}>
<OrderDetail orderId={orderId} user={'buy'}></OrderDetail>
<OrderDetail orderId={orderId} user={'buy'} upData={() => {
getDataList(page)
}}></OrderDetail>
</Modal>
<Modal
title="补充资料"

View File

@ -23,7 +23,7 @@ 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 {
@ -58,7 +58,7 @@ import {
import {
// getLanguageList, getSoftTypeList
// appGoodsList,
buyAppGoods, appOrderList
buyAppGoods, appOrderList
} from '../../request/api'
import {
setMenuActive,
@ -87,10 +87,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'
@ -889,7 +889,7 @@ export default function Index() {
const copyrightKeyWordshandleSearch = () => {
setCopyrightKeywords(copyrightNewKeywords)
}
const [specialPrice, setSpecialPrice] = useState(false) //商品特价标识
const [specialPrice, setSpecialPrice] = useState('') //商品特价标识
const copyrightInit = () => {
setMinPrice(null)
setMaxPrice(null)
@ -900,7 +900,7 @@ export default function Index() {
setCopyrightNewKeywords('')
setCopyrightKeywords('')
// 清除特价标识
setSpecialPrice(false)
setSpecialPrice('')
}
useEffect(() => {
@ -2006,6 +2006,10 @@ export default function Index() {
correctionType={correctionType ? correctionType : ''}
correctionApplyStatus={correctionApplyStatus ? correctionApplyStatus : ''}
tagCor={tagCor ? tagCor : ''}
// 换名
replaceKeyWords={replaceKeyWords ? replaceKeyWords : ''}
replaceStatus={replaceStatus ? replaceStatus : ''}
// enableBelongpeople = {()=>{setClickBelongpeople(true)}}
/>
@ -2066,7 +2070,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)',
@ -2139,12 +2143,13 @@ export default function Index() {
</>
) : (
<></>
)} */}
)}
{THEME == 'mzw' ? (
<MenuWithBottomButtom
button={sellMenu.button}
list={sellMenu.list}
handleListItem={sellMenu.handleListItem}
sellKeywords={sellKeywords}
sellBelongType={sellBelongType}
sellDate={sellDate}
@ -2155,6 +2160,23 @@ export default function Index() {
sellEndTime={sellEndTime}
sellOrderStatus={sellOrderStatus}
sellOrderKeywords={sellOrderKeywords}
copyrightKeywords={copyrightKeywords}
minPrice={minPrice}
maxPrice={maxPrice}
sort={sort}
copyrightDate={copyrightDate}
copyrightLanguage={copyrightLanguage}
copyrightType={copyrightType}
tradingKeywords={tradingKeywords}
tradingStartTime={tradingStartTime}
tradingEndTime={tradingEndTime}
tradingStatus={tradingStatus}
specialPrice={specialPrice}
/>
) : (
<></>
@ -3441,8 +3463,13 @@ export default function Index() {
border: '1px solid #FF9F00 ',
}}
onClick={() => {
if (specialPrice == '') {
setSpecialPrice('特价')
} else {
setSpecialPrice('')
}
// 特价标识
setSpecialPrice(!specialPrice)
// setSpecialPrice(!specialPrice)
}}
>
@ -4328,9 +4355,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('简单');
@ -4359,6 +4391,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}`)
})