暂存
@ -38,6 +38,15 @@ import qusetionImg from '../../static/aiUse/qusetion.png'
|
||||
import yesImg from '../../static/aiUse/yes.png'
|
||||
import noImg from '../../static/aiUse/no.png'
|
||||
import tipImg from '../../static/aiUse/tip.png'
|
||||
import lampImg from '../../static/aiUse/lamp.png'
|
||||
import resImg from '../../static/aiUse/res.png'
|
||||
import rightImg from '../../static/aiUse/right.png'
|
||||
import rescImg from '../../static/aiUse/resc.png'
|
||||
import greenImg from '../../static/aiUse/green.png'
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// import pack from '@theme/pack.png'
|
||||
// import type { TableProps, FormProps } from 'antd';
|
||||
@ -140,7 +149,8 @@ import {
|
||||
// post,
|
||||
getUseUrl
|
||||
} from "../../util/AjaxUtils.ts";
|
||||
import { getLoginflag } from '../../request/api'
|
||||
import { getLoginflag, test, test1 } from '../../request/api'
|
||||
|
||||
import { GlobalContext, GlobalDispatchContext, reloadUser } from "../../context/GlobalContext.ts";
|
||||
import UserEdit from "../../components/user/UserEdit.tsx";
|
||||
import PasswordChange from "../../components/password/PasswordChange.tsx";
|
||||
@ -165,8 +175,13 @@ import NoticeModal from '../../components/NoticeModal/NoticeModal.tsx';
|
||||
// import { log } from 'console';
|
||||
// import HeadCouponModal from '../../components/CouponModal/HeadCouponModal.tsx'
|
||||
import aiUseNameBg from '../../static/aiUse/useNameback.png'
|
||||
import aiUseMatrixBg from '../../static/aiUse/useMatrixback.png'
|
||||
import con from '../../static/aiUse/contest.png'
|
||||
import closeImg from '../../static/aiUse/close.png'
|
||||
import searchImg from '../../static/aiUse/search.png'
|
||||
import boxImg from '../../static/aiUse/box.png'
|
||||
|
||||
const { TextArea } = Input;
|
||||
export default function Head() {
|
||||
const aiNameArray = [
|
||||
// {
|
||||
@ -385,7 +400,257 @@ export default function Head() {
|
||||
},
|
||||
]
|
||||
|
||||
const aiMatrixArray = [
|
||||
// {
|
||||
// key:'',
|
||||
|
||||
// name: '',
|
||||
// title: '',
|
||||
// text: '',
|
||||
// example: [
|
||||
// {
|
||||
// icon: '',
|
||||
// title: '',
|
||||
// text: ''
|
||||
// }
|
||||
// ]
|
||||
// },
|
||||
{
|
||||
key: '1',
|
||||
name: '工具用途',
|
||||
title: '产品矩阵构建器的作用是什么?',
|
||||
text: 'AI软著矩阵规划帮助企业根据现有业务和产品特点,智能生成多个相关软著项目名称,构建完整的知识产权矩阵,提升企业技术实力认定。',
|
||||
example: [
|
||||
{
|
||||
icon: 'yes',
|
||||
title: '一次性生成10-20个相关软著名称',
|
||||
text: ''
|
||||
},
|
||||
{
|
||||
icon: 'yes',
|
||||
title: '基于企业业务特点个性化推荐',
|
||||
text: ''
|
||||
},
|
||||
{
|
||||
icon: 'yes',
|
||||
title: '符合高新技术企业认定要求',
|
||||
text: ''
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
key: '2',
|
||||
name: '输入要求',
|
||||
title: '需要提供哪些信息?',
|
||||
text: `现在只需要一句话描述公司与产品领域即可,越清晰越好。`,
|
||||
example: [
|
||||
{
|
||||
icon: '',
|
||||
title: '我们是一家做AI客服的SaaS公司,主营智能工单与知识库',
|
||||
text: ''
|
||||
},
|
||||
{
|
||||
icon: '',
|
||||
title: '本地生活电商平台,聚焦商家运营、订单与配送系统',
|
||||
text: ''
|
||||
},
|
||||
{
|
||||
icon: '',
|
||||
title: '工业设备物联网监控,支持远程巡检与异常预警',
|
||||
text: ''
|
||||
},
|
||||
|
||||
]
|
||||
},
|
||||
{
|
||||
key: '3',
|
||||
name: '生成策略',
|
||||
title: '软著名称是如何生成的?',
|
||||
text: '基于您提供的企业信息,AI会分析业务特点、技术栈和应用场景,生成符合软著申请规范的项目名称,确保名称具有技术性、创新性和实用性。',
|
||||
example: [
|
||||
|
||||
{
|
||||
icon: 'yes',
|
||||
title: ' 基于AI的智能客户关系管理系统',
|
||||
text: ''
|
||||
},
|
||||
{
|
||||
icon: 'yes',
|
||||
title: '企业级数据可视化分析平台',
|
||||
text: ''
|
||||
},
|
||||
{
|
||||
icon: 'yes',
|
||||
title: '多渠道营销自动化管理软件',
|
||||
text: ''
|
||||
},
|
||||
]
|
||||
},
|
||||
{
|
||||
key: '4',
|
||||
name: '企业软著优势',
|
||||
title: '高新技术企业认定 - 税收优惠的金钥匙',
|
||||
text: '高新技术企业所得税率从25%降至15%,年节税数十万。享受国家及地方各类创新补贴、研发费用加计扣除。高企认定采用百分制,知识产权占30分的重要权重。',
|
||||
example: [
|
||||
{
|
||||
icon: '',
|
||||
title: '成立2年内企业:需6个以上二类知识产权',
|
||||
text: ''
|
||||
},
|
||||
{
|
||||
icon: '',
|
||||
title: '成立2-3年企业:需18个以上,20个以上更佳',
|
||||
text: ''
|
||||
},
|
||||
{
|
||||
icon: '',
|
||||
title: '相较于专利申请周期6-18个月,软著仅需2-3个月',
|
||||
text: ''
|
||||
},
|
||||
]
|
||||
},
|
||||
{
|
||||
key: '5',
|
||||
name: '企业软著优势',
|
||||
title: '软件上线必备资质 - 商业化运营通行证',
|
||||
text: 'APP、网站推广上架的硬性要求。苹果App Store、华为应用市场、小米应用商店等主流平台必备资质。微信小程序、支付宝小程序等平台入驻审核要求。',
|
||||
example: [
|
||||
{
|
||||
icon: '',
|
||||
title: '应用商店上架:主流平台必备资质',
|
||||
text: ''
|
||||
},
|
||||
{
|
||||
icon: '',
|
||||
title: '网站备案:软件类网站ICP备案证明材料',
|
||||
text: ''
|
||||
},
|
||||
{
|
||||
icon: '',
|
||||
title: '平台合规:各类小程序平台入驻要求',
|
||||
text: ''
|
||||
},
|
||||
{
|
||||
icon: '',
|
||||
title: '行业准入:金融、教育、医疗等特殊行业合规基础',
|
||||
text: ''
|
||||
},
|
||||
]
|
||||
},
|
||||
|
||||
{
|
||||
key: '6',
|
||||
name: '企业软著优势',
|
||||
title: '商业合作加分项 - 提升企业竞争力',
|
||||
text: '项目投标、融资路演的实力证明。体现公司技术资产价值,提升投资方信心。与大型企业合作时展示技术研发能力的重要凭证',
|
||||
example: [
|
||||
{
|
||||
icon: '',
|
||||
title: '项目投标:政府采购、企业招标中的技术实力证明',
|
||||
text: ''
|
||||
},
|
||||
{
|
||||
icon: '',
|
||||
title: '融资估值:体现公司技术资产价值,提升投资方信心',
|
||||
text: ''
|
||||
},
|
||||
{
|
||||
icon: '',
|
||||
title: '商务合作:与大型企业合作的技术研发能力凭证',
|
||||
text: ''
|
||||
},
|
||||
{
|
||||
icon: '',
|
||||
title: '商务合作:与大型企业合作的技术研发能力凭证',
|
||||
text: ''
|
||||
},
|
||||
]
|
||||
},
|
||||
{
|
||||
key: '7',
|
||||
name: '企业软著优势',
|
||||
title: '知识产权保护 - 50年法律护航',
|
||||
text: '明确软件著作权归属,有效期长达50年。软件被抄袭、盗用时的有力法律武器。可用于质押贷款、技术入股、许可转让,提升企业技术形象。',
|
||||
example: [
|
||||
{
|
||||
icon: '',
|
||||
title: '法律保护:明确软件著作权归属,有效期50年',
|
||||
text: ''
|
||||
},
|
||||
{
|
||||
icon: '',
|
||||
title: '维权利器:软件被抄袭、盗用时的有力法律武器',
|
||||
text: ''
|
||||
},
|
||||
{
|
||||
icon: '',
|
||||
title: '商业价值:可用于质押贷款、技术入股、许可转让',
|
||||
text: ''
|
||||
},
|
||||
{
|
||||
icon: '',
|
||||
title: '品牌建设:提升企业技术形象,增强客户信任度',
|
||||
text: ''
|
||||
},
|
||||
]
|
||||
},
|
||||
{
|
||||
key: '8',
|
||||
name: '高新认定',
|
||||
title: '如何助力高新技术企业认定?',
|
||||
text: '软著是高新技术企业认定的重要加分项。通过构建完整的软著矩阵,可以充分展示企业的技术研发能力和创新实力,提高认定成功率。',
|
||||
example: [
|
||||
{
|
||||
icon: '',
|
||||
title: '知识产权评分:最高可获得30分',
|
||||
text: ''
|
||||
},
|
||||
{
|
||||
icon: '',
|
||||
title: '技术先进程度:体现企业技术水平',
|
||||
text: ''
|
||||
},
|
||||
{
|
||||
icon: '',
|
||||
title: '研发组织管理:展现系统化研发能力',
|
||||
text: ''
|
||||
},
|
||||
]
|
||||
},
|
||||
{
|
||||
key: '9',
|
||||
name: '使用建议',
|
||||
title: '如何更好地使用这个工具?',
|
||||
text: '建议详细填写企业信息,特别是业务领域和核心功能。生成的名称可以作为软著申请的起点,后续可以根据具体技术实现进行调整优化。软著申请趁早不趁晚,特别是准备申请高新技术企业认定的公司,建议提前1年开始布局。',
|
||||
example: [
|
||||
{
|
||||
icon: '',
|
||||
title: '1. 详细描述企业主营业务',
|
||||
text: ''
|
||||
},
|
||||
{
|
||||
icon: '',
|
||||
title: '2. 列出核心技术和功能特色',
|
||||
text: ''
|
||||
},
|
||||
{
|
||||
icon: '',
|
||||
title: '3. 明确目标用户和应用场景',
|
||||
text: ''
|
||||
},
|
||||
{
|
||||
icon: '',
|
||||
title: '4. 基于生成结果制定软著申请计划',
|
||||
text: ''
|
||||
},
|
||||
{
|
||||
icon: 'lamp',
|
||||
title: '专业提示:准备高企认定的公司,建议提前1年布局软著申请',
|
||||
text: ''
|
||||
},
|
||||
]
|
||||
},
|
||||
]
|
||||
const dispath = useDispatch()
|
||||
|
||||
|
||||
@ -1542,11 +1807,17 @@ export default function Head() {
|
||||
setClostNameExampleArray([])
|
||||
setComponentKey(1)
|
||||
setAiUseName('')
|
||||
setUseShow(false)
|
||||
|
||||
|
||||
}
|
||||
const [aiUseNameSpin, setAiUseNameSpin] = useState(false)
|
||||
const [useShow, setUseShow] = useState(false)
|
||||
const useShowRef = useRef<HTMLDivElement>(null);
|
||||
const [aiUseResultName, setAiUseResultName] = useState('') // 软件名称
|
||||
|
||||
|
||||
// --------------------------------------------------------------------------------------------
|
||||
|
||||
const useItem: MenuProps['items'] = [
|
||||
{
|
||||
key: '1',
|
||||
@ -1583,10 +1854,29 @@ export default function Head() {
|
||||
</div>
|
||||
),
|
||||
onClick: () => {
|
||||
setAiUseMatrixModal(true)
|
||||
setMatrixKey(0)
|
||||
}
|
||||
},
|
||||
];
|
||||
|
||||
|
||||
// AI软著矩阵规划工具弹窗-------------------------------------------------------------------------
|
||||
const useShowRef = useRef<HTMLDivElement>(null);
|
||||
|
||||
const [aiUseMatrixModal, setAiUseMatrixModal] = useState(false)
|
||||
const [matrixKey, setMatrixKey] = useState(2); // 控制组件重新加载的 key
|
||||
const [aiUseText, setAiUseText] = useState('') // 软件名称
|
||||
const [clostMatrixExampleArray, setClostMatrixExampleArray] = useState<any[]>([])
|
||||
// 初始化AI软著矩阵规划工具弹窗
|
||||
const initAiMatrixModal = () => {
|
||||
setClostMatrixExampleArray([])
|
||||
setMatrixKey(2)
|
||||
setAiUseText('')
|
||||
setUseShow(false)
|
||||
}
|
||||
// --------------------------------------------------------------------------------------------
|
||||
|
||||
return (
|
||||
<>
|
||||
<div className="head" style={{
|
||||
@ -2916,16 +3206,32 @@ export default function Head() {
|
||||
borderRadius: 10,
|
||||
marginLeft: 20,
|
||||
}}
|
||||
onClick={() => {
|
||||
onClick={async () => {
|
||||
if (aiUseName) {
|
||||
setTimeout(() => {
|
||||
setUseShow(true)
|
||||
message.success('生成成功')
|
||||
setTimeout(() => {
|
||||
useShowRef.current?.scrollIntoView({ behavior: 'smooth', block: 'start' });
|
||||
}, 10);
|
||||
setAiUseResultName(aiUseName)
|
||||
|
||||
}, 3000)
|
||||
}else{
|
||||
try {
|
||||
const res = await test1(aiUseName)
|
||||
console.log(res);
|
||||
|
||||
|
||||
}
|
||||
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)
|
||||
}
|
||||
}
|
||||
} else {
|
||||
message.error('请输入软件名称')
|
||||
|
||||
}
|
||||
@ -2934,9 +3240,9 @@ export default function Head() {
|
||||
|
||||
>
|
||||
<img src={searchImg} alt="" width={18} height={20} />开始检查</Button>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div style={
|
||||
@ -2950,19 +3256,168 @@ export default function Head() {
|
||||
height: 20,
|
||||
marginTop: -20,
|
||||
}}
|
||||
ref={useShowRef}
|
||||
// ref={useShowRef}
|
||||
>
|
||||
|
||||
</div>
|
||||
<div className='aiUseNameResultBox'
|
||||
<div style={{
|
||||
|
||||
style={{
|
||||
|
||||
display: useShow ? 'block' : 'none'
|
||||
display: useShow ? 'block' : 'none'
|
||||
|
||||
|
||||
}}
|
||||
>111</div>
|
||||
}}>
|
||||
<div className='aiUseNameResultBox'
|
||||
|
||||
|
||||
>
|
||||
<div style={{
|
||||
display: 'flex',
|
||||
// justifyContent: 'center',
|
||||
alignItems: 'center',
|
||||
|
||||
}}>
|
||||
<img src={resImg} width={15} height={15} style={{
|
||||
marginTop: 2,
|
||||
|
||||
}} alt="" />
|
||||
|
||||
<div style={{
|
||||
fontSize: 18,
|
||||
fontWeight: 700,
|
||||
marginLeft: 5,
|
||||
|
||||
|
||||
|
||||
}}>
|
||||
检查结果
|
||||
</div>
|
||||
</div>
|
||||
<div className='aiUseNameCheckBoxT'>
|
||||
|
||||
<div className='aiUseNameCheckTitle'>检查项目名称</div>
|
||||
<div style={{
|
||||
display: 'flex',
|
||||
justifyContent: 'space-between',
|
||||
alignItems: 'center',
|
||||
marginTop: 5,
|
||||
|
||||
}}>
|
||||
<div className='aiUseNameCheckName' title={aiUseResultName}>
|
||||
|
||||
{aiUseResultName}
|
||||
</div>
|
||||
<div>
|
||||
<span className='aiUseNameCheckTitle' style={{
|
||||
marginRight: 10,
|
||||
|
||||
}}>总体状态</span>
|
||||
<span className='aiUseNameChecStatus'
|
||||
style={{
|
||||
background: '#39B551'
|
||||
}}
|
||||
>通过</span>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div className='aiUseNameCheckLine'></div>
|
||||
<div>
|
||||
<div className='aiUseNameCheckTitle' style={{
|
||||
display: 'flex',
|
||||
alignItems: 'center',
|
||||
}}>
|
||||
<img src={rightImg} alt="" height={15} style={{
|
||||
marginTop: 2,
|
||||
marginRight: 5,
|
||||
}} />
|
||||
<div style={{
|
||||
color: '#00AE00'
|
||||
}}>
|
||||
AI推荐名称
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div className='aiUseNameCheckName' style={{
|
||||
marginTop: 10,
|
||||
|
||||
}}>
|
||||
嘻嘻嘻哈哈哈嘎嘎嘎嘎嘎
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div className='aiUseNameResultBox'>
|
||||
<div style={{
|
||||
display: 'flex',
|
||||
// justifyContent: 'center',
|
||||
alignItems: 'center',
|
||||
|
||||
}}>
|
||||
<img src={rescImg} width={15} height={15} style={{
|
||||
marginTop: 3,
|
||||
|
||||
}} alt="" />
|
||||
|
||||
<div style={{
|
||||
fontSize: 18,
|
||||
fontWeight: 700,
|
||||
marginLeft: 5,
|
||||
// marginBottom: 10,
|
||||
|
||||
|
||||
|
||||
}}>
|
||||
详细检查结果
|
||||
</div>
|
||||
</div>
|
||||
<div style={{
|
||||
marginTop: 20,
|
||||
|
||||
}}>
|
||||
<div>
|
||||
<div style={{
|
||||
display: 'flex',
|
||||
justifyContent: 'space-between',
|
||||
alignItems: 'center',
|
||||
}}>
|
||||
<div style={{
|
||||
display: 'flex',
|
||||
alignItems: 'center',
|
||||
}}>
|
||||
<img src={greenImg} alt="" height={18} style={{
|
||||
marginRight: 5,
|
||||
marginTop: 3,
|
||||
}} />
|
||||
<div className='aiUseNameCheckSmall'>字数检查</div>
|
||||
|
||||
</div>
|
||||
<div>
|
||||
<span className='aiUseNameChecStatus'
|
||||
style={{
|
||||
background: '#39B551'
|
||||
}}
|
||||
>通过</span>
|
||||
</div>
|
||||
</div>
|
||||
<div className='aiUseNameCheckSmallText'>字数符合要求(10字以内)</div>
|
||||
<div style={{
|
||||
marginTop: 10,
|
||||
paddingLeft: 20,
|
||||
|
||||
}}>
|
||||
<div className='aiUseNameCheckSmallTextBox'>
|
||||
建议:请在项目名称末尾添加'软件'、'系统'、'平台'或
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div className='aiUseNameCheckLineSmall'></div>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className='aiUseNameQusetionBox'>
|
||||
<div style={{
|
||||
@ -3096,6 +3551,371 @@ export default function Head() {
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div style={{
|
||||
width: '100vw',
|
||||
height: '100vh',
|
||||
position: 'fixed',
|
||||
top: 0,
|
||||
left: 0,
|
||||
background: 'rgba(0,0,0,0.5)',
|
||||
display: aiUseMatrixModal ? 'block' : 'none',
|
||||
zIndex: 101,
|
||||
|
||||
}}
|
||||
key={matrixKey}
|
||||
>
|
||||
<div style={{
|
||||
display: 'flex',
|
||||
justifyContent: 'center',
|
||||
alignItems: 'center',
|
||||
width: '100vw',
|
||||
height: '100vh',
|
||||
}}>
|
||||
<div
|
||||
style={{
|
||||
width: '1000px',
|
||||
height: '700px',
|
||||
background: '#FFFAF3',
|
||||
overflowY: 'auto',
|
||||
borderRadius: 10,
|
||||
// backgroundImage: `url(${aiUseNameBg})`,
|
||||
// backgroundSize: '100% 400px',
|
||||
backgroundRepeat: 'no-repeat',
|
||||
position: 'relative',
|
||||
}}>
|
||||
<div style={{
|
||||
position: 'sticky',
|
||||
|
||||
top: 20,
|
||||
right: 20,
|
||||
cursor: 'pointer',
|
||||
float: 'right',
|
||||
zIndex: 10,
|
||||
}}
|
||||
title='关闭'
|
||||
onClick={() => {
|
||||
setAiUseMatrixModal(false)
|
||||
initAiMatrixModal()
|
||||
|
||||
}}
|
||||
>
|
||||
<img src={closeImg} width={18} height={18} alt="" />
|
||||
|
||||
</div>
|
||||
<div style={{
|
||||
width: '100%',
|
||||
height: '500px',
|
||||
backgroundImage: `url(${aiUseMatrixBg})`,
|
||||
backgroundSize: '100% 400px',
|
||||
backgroundRepeat: 'no-repeat',
|
||||
paddingTop: 200,
|
||||
boxSizing: 'border-box',
|
||||
}}>
|
||||
<div style={
|
||||
{
|
||||
padding: '0 100px',
|
||||
boxSizing: 'border-box',
|
||||
// marginTop: 200,
|
||||
}
|
||||
}>
|
||||
<div style={{
|
||||
width: '100%',
|
||||
height: 270,
|
||||
background: 'white',
|
||||
display: 'flex',
|
||||
justifyContent: 'center',
|
||||
flexDirection: 'column',
|
||||
|
||||
// alignItems: 'center',
|
||||
borderRadius: 10,
|
||||
padding: '0 50px',
|
||||
boxSizing: 'border-box',
|
||||
|
||||
|
||||
}}>
|
||||
<div style={{
|
||||
display: 'flex',
|
||||
alignItems: 'center',
|
||||
|
||||
|
||||
|
||||
}}>
|
||||
<img src={con} alt="" width={18} height={18} />
|
||||
<div style={{
|
||||
color: '#42464B',
|
||||
marginLeft: 5,
|
||||
}}>
|
||||
一句话描述公司与产品领域
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<TextArea style={{
|
||||
// width: '500px',
|
||||
height: 87,
|
||||
fontSize: 18,
|
||||
border: '2px solid #FFDAB6',
|
||||
borderRadius: 8,
|
||||
// outline: 'none',
|
||||
// padding: '0 20px',
|
||||
boxSizing: 'border-box',
|
||||
transition: 'border-color 0.2s',
|
||||
resize: 'none',
|
||||
marginTop: 20,
|
||||
|
||||
|
||||
}}
|
||||
value={aiUseText}
|
||||
onChange={(e) => {
|
||||
setAiUseText(e.target.value)
|
||||
}}
|
||||
placeholder='例:我们是一家做AI客服的SaaS公司,主营智能工单与知识库'
|
||||
allowClear
|
||||
></TextArea>
|
||||
<div style={{
|
||||
display: 'flex',
|
||||
justifyContent: 'flex-end',
|
||||
marginTop: 20,
|
||||
|
||||
}}>
|
||||
<Button style={{
|
||||
// width: 150,
|
||||
height: 50,
|
||||
background: '#FC971C',
|
||||
color: '#fff',
|
||||
fontSize: 18,
|
||||
borderRadius: 10,
|
||||
// marginLeft: 20,
|
||||
}}
|
||||
onClick={() => {
|
||||
if (aiUseText) {
|
||||
setTimeout(() => {
|
||||
setUseShow(true)
|
||||
message.success('生成成功')
|
||||
setTimeout(() => {
|
||||
useShowRef.current?.scrollIntoView({ behavior: 'smooth', block: 'start' });
|
||||
}, 10);
|
||||
}, 3000)
|
||||
} else {
|
||||
message.error('请输入公司与产品领域')
|
||||
|
||||
}
|
||||
|
||||
}}
|
||||
|
||||
>
|
||||
<img src={searchImg} alt="" width={18} height={20} />生成矩阵材料</Button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div style={
|
||||
{
|
||||
padding: '0 100px 20px 100px',
|
||||
boxSizing: 'border-box',
|
||||
// marginTop: 200,
|
||||
}
|
||||
}>
|
||||
<div style={{
|
||||
height: 20,
|
||||
marginTop: -20,
|
||||
}}
|
||||
ref={useShowRef}
|
||||
>
|
||||
|
||||
</div>
|
||||
<div className='aiUseNameResultBox'
|
||||
|
||||
style={{
|
||||
|
||||
// display: useShow ? 'block' : 'none'
|
||||
|
||||
|
||||
}}
|
||||
>
|
||||
<div style={{
|
||||
display: 'flex',
|
||||
|
||||
}}>
|
||||
<img src={boxImg} alt="" height={18} style={{
|
||||
marginTop: 5,
|
||||
marginRight: 5,
|
||||
|
||||
}} />
|
||||
<div style={{
|
||||
fontSize: 18,
|
||||
fontWeight: 700,
|
||||
|
||||
}}>
|
||||
您的软著矩阵
|
||||
</div>
|
||||
</div>
|
||||
<div style={{
|
||||
marginTop:10
|
||||
}}>
|
||||
|
||||
<div className='aiUseMatrixBigBox'>
|
||||
<div className='aiUseMatrixSmallBoxItem'>
|
||||
|
||||
</div>
|
||||
<div className='aiUseMatrixSmallBoxItem'>
|
||||
|
||||
</div>
|
||||
<div className='aiUseMatrixSmallBoxItem'>
|
||||
|
||||
</div>
|
||||
<div className='aiUseMatrixSmallBoxItem'>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div className='aiUseNameQusetionBox'>
|
||||
<div style={{
|
||||
display: 'flex',
|
||||
justifyContent: 'space-between',
|
||||
alignItems: 'center',
|
||||
}}>
|
||||
<div style={{
|
||||
fontSize: 18,
|
||||
display: 'flex',
|
||||
alignItems: 'center',
|
||||
fontWeight: 700,
|
||||
|
||||
}}>
|
||||
<img src={qusetionImg} width={15} height={16} alt="" style={{
|
||||
marginTop: 5,
|
||||
marginRight: 5,
|
||||
}} />
|
||||
常见问题
|
||||
</div>
|
||||
<div style={{
|
||||
color: '#929292',
|
||||
}}>
|
||||
了解产品矩阵构建器的使用方法和高新企业认定要点
|
||||
</div>
|
||||
</div>
|
||||
{
|
||||
// 循环aiNameArray这个数组
|
||||
aiMatrixArray.map((item) => {
|
||||
return (
|
||||
<div className='aiUseNameQusetion' key={item.key}>
|
||||
<div style={{
|
||||
// background:'red',
|
||||
cursor: 'pointer'
|
||||
|
||||
}}
|
||||
onClick={() => {
|
||||
// 查询clostNameExampleArray这个数组中是否有item.key 如果有的话从这个数组去除 如果没有的话加入这个数组
|
||||
setClostMatrixExampleArray(prev => {
|
||||
if (prev.includes(item.key)) {
|
||||
// 已存在则移除
|
||||
return prev.filter(exampleArrayItem => exampleArrayItem !== item.key);
|
||||
} else {
|
||||
// 不存在则添加
|
||||
return [...prev, item.key];
|
||||
}
|
||||
});
|
||||
|
||||
}}
|
||||
>
|
||||
<div className='aiUseNameQusetionTop'>
|
||||
|
||||
<div style={{
|
||||
display: 'flex',
|
||||
alignItems: 'center',
|
||||
|
||||
}}>
|
||||
<div className='aiUseNameQusetionLabel'>{item.name}</div>
|
||||
<div className='aiUseNameQusetionContent'>{item.title}</div>
|
||||
</div>
|
||||
<div style={{
|
||||
color: '#A9A9A9'
|
||||
}}>
|
||||
{
|
||||
clostMatrixExampleArray.includes(item.key) ?
|
||||
<DownOutlined /> : <UpOutlined />
|
||||
|
||||
}
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div className='aiUseNameQusetionCen'>{item.text}</div>
|
||||
</div>
|
||||
<div style={{
|
||||
display: clostMatrixExampleArray.includes(item.key) ? 'none' : 'unset',
|
||||
|
||||
}}>
|
||||
<div className='aiUseNameQusetionBot'>
|
||||
<div>示例:</div>
|
||||
{
|
||||
item.example.map((exampleItem, index) => {
|
||||
return (
|
||||
<div className='aiUseNameQusetionItem' key={index}>
|
||||
|
||||
<div className='aiUseNameQusetionDian'>
|
||||
|
||||
</div>
|
||||
<div className='aiUseNameQusetionIcon' style={{
|
||||
display: exampleItem.icon ? 'unset' : 'none',
|
||||
|
||||
}} >
|
||||
<img
|
||||
|
||||
src={
|
||||
exampleItem.icon == 'yes' ?
|
||||
yesImg :
|
||||
exampleItem.icon == 'no' ?
|
||||
noImg :
|
||||
exampleItem.icon == 'tip' ?
|
||||
tipImg :
|
||||
exampleItem.icon == 'lamp' ?
|
||||
lampImg :
|
||||
''
|
||||
|
||||
|
||||
|
||||
|
||||
} width={18} height={18} alt="" />
|
||||
</div>
|
||||
<div className='aiUseNameQusetionTitle'>
|
||||
{exampleItem.title}
|
||||
|
||||
</div>
|
||||
<div className='aiUseNameQusetionText' style={{
|
||||
display: exampleItem.text ? 'unset' : 'none',
|
||||
color: exampleItem.icon == 'yes' ? '#51CF66' :
|
||||
exampleItem.icon == 'no' ? '#E02D2D' :
|
||||
exampleItem.icon == 'tip' ? '#ffae00ff' : '',
|
||||
|
||||
}}>
|
||||
{`(${exampleItem.text})`}
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
})
|
||||
}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
})
|
||||
|
||||
}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<Spin tip="正在提交..." spinning={loading} fullscreen />
|
||||
{contextHolder}
|
||||
{modalHolder}
|
||||
|
@ -557,3 +557,81 @@
|
||||
margin-right: 10px;
|
||||
margin-top: 3px;
|
||||
}
|
||||
|
||||
|
||||
.aiUseNameCheckBoxT {
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
.aiUseNameCheckTitle {
|
||||
font-size: 14px;
|
||||
color: #91959B;
|
||||
}
|
||||
|
||||
.aiUseNameCheckName {
|
||||
font-size: 18px;
|
||||
font-weight: 700;
|
||||
/* background-color: skyblue; */
|
||||
width: 600px;
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
|
||||
}
|
||||
|
||||
.aiUseNameChecStatus {
|
||||
font-size: 16px;
|
||||
color: #FFFFFF;
|
||||
padding: 5px 15px;
|
||||
border-radius: 5px;
|
||||
}
|
||||
.aiUseNameCheckLine{
|
||||
width: 100%;
|
||||
height: 1px;
|
||||
background-color: #E9E9E9;
|
||||
margin-top: 10px;
|
||||
margin-bottom: 10px;
|
||||
|
||||
|
||||
}
|
||||
.aiUseNameCheckLineSmall{
|
||||
width: 100%;
|
||||
height: 1px;
|
||||
background-color: #E9E9E9;
|
||||
margin-top: 20px;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
.aiUseNameCheckSmall{
|
||||
font-size: 18px;
|
||||
}
|
||||
.aiUseNameCheckSmallText{
|
||||
font-size: 14px;
|
||||
color:#727A85;
|
||||
margin-top: 10px;
|
||||
padding-left: 20px;
|
||||
|
||||
}
|
||||
.aiUseNameCheckSmallTextBox{
|
||||
font-size: 14px;
|
||||
|
||||
background-color: #fae3c4;
|
||||
color:#e48602;
|
||||
padding: 5px 10px;
|
||||
box-sizing: border-box;
|
||||
border-left: 5px solid #e48602;
|
||||
max-width: 100%;
|
||||
}
|
||||
.aiUseMatrixBigBox{
|
||||
background-color: skyblue;
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
|
||||
}
|
||||
.aiUseMatrixSmallBoxItem{
|
||||
margin-left: 10px;
|
||||
margin-top: 10px;
|
||||
|
||||
width: 240px;
|
||||
height: 300px;
|
||||
background-color: pink;
|
||||
}
|
@ -1,4 +1,4 @@
|
||||
import {request,aiShopRequest,phoneRequest,newRequest,activityRequset} from './request'
|
||||
import {request,aiShopRequest,phoneRequest,newRequest,activityRequset,onLineRequest} from './request'
|
||||
// import newRequest from './request'
|
||||
// 开票功能operatorPluginBaseUrl-------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
// 获取登录标志
|
||||
@ -245,3 +245,10 @@ export const expertRegister = (params:any) => aiShopRequest.post(`/aishop/api/tr
|
||||
export const supplementTrademarkData = (params:any) => aiShopRequest.post(`/aishop/api/correction/save-trademark`, params)
|
||||
// ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
||||
|
||||
// 线上测试-----------------------------------------------------------------------------------------
|
||||
export const test = (name:any) => onLineRequest.get(`operator-plugin/app/query/sqlrelease/qf3a3c8c?content=${name}`)
|
||||
export const test1 = (name:any) => onLineRequest.get(`operator-plugin/app/query/sqlrelease/q4ddb993?content=${name}`)
|
||||
|
||||
|
@ -234,6 +234,53 @@ newRequest.interceptors.response.use(
|
||||
//--------------------------------------------------------------------------------------------
|
||||
|
||||
|
||||
// 开票功能----------------------------------------------------------------------------
|
||||
const onLineRequest = axios.create({
|
||||
baseURL: 'https://www.aimzhu.com/',
|
||||
// timeout: 30000,
|
||||
});
|
||||
request.interceptors.request.use(
|
||||
(config) => {
|
||||
// 有token带token
|
||||
const token = sessionStorage.getItem('token')
|
||||
config.headers = config.headers || {}
|
||||
config.headers['Auth'] = token ? `Bearer ${token}` : '';
|
||||
// config.headers['Content-Type'] = 'application/json';
|
||||
// config.data = { unused: 0 }
|
||||
|
||||
if (config.method === 'get' ) {
|
||||
if (!config.data) {
|
||||
config.data = { unused: 0 }
|
||||
}
|
||||
}
|
||||
if (config.method === 'put') {
|
||||
if (!config.data) {
|
||||
config.data = { unused: 0 }
|
||||
}
|
||||
}
|
||||
if (config.method === 'post') {
|
||||
if (!config.data) {
|
||||
config.data = { unused: 0 }
|
||||
}
|
||||
}
|
||||
if (config.method === 'delete') {
|
||||
if (!config.data) {
|
||||
config.data = { unused: 0 }
|
||||
}
|
||||
}
|
||||
return config;
|
||||
},
|
||||
|
||||
(err) => Promise.reject(err)
|
||||
);
|
||||
request.interceptors.response.use(
|
||||
(res) => {
|
||||
return res.data;
|
||||
},
|
||||
(err) => Promise.reject(err)
|
||||
);
|
||||
//-----------------------------------------------------------------------------------------
|
||||
|
||||
// 下载发票
|
||||
export const downloadInvoice = (id: string) => {
|
||||
return `${operatorPluginBaseUrl}/operator-plugin/route/file/download/false/${id}`
|
||||
@ -283,4 +330,4 @@ export const uploadDeputeUrl = () => {
|
||||
return `${aiShopBaseUrl}/aishop/api/trademark/upload-weituo-file `
|
||||
}
|
||||
|
||||
export { request,aiShopRequest,phoneRequest,newRequest,activityRequset};
|
||||
export { request,aiShopRequest,phoneRequest,newRequest,activityRequset,onLineRequest};
|
||||
|
BIN
src/static/aiUse/box.png
Normal file
After Width: | Height: | Size: 723 B |
BIN
src/static/aiUse/contest.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
src/static/aiUse/green.png
Normal file
After Width: | Height: | Size: 2.6 KiB |
BIN
src/static/aiUse/res.png
Normal file
After Width: | Height: | Size: 1.8 KiB |
BIN
src/static/aiUse/resc.png
Normal file
After Width: | Height: | Size: 1.3 KiB |
BIN
src/static/aiUse/right.png
Normal file
After Width: | Height: | Size: 1.6 KiB |
BIN
src/static/aiUse/rightw.png
Normal file
After Width: | Height: | Size: 1.7 KiB |
BIN
src/static/aiUse/useMatrixback.png
Normal file
After Width: | Height: | Size: 1.7 MiB |