system-copyright-react/src/route/proj/ProjCreate.tsx

306 lines
14 KiB
TypeScript
Raw Normal View History

2024-03-14 18:33:58 +08:00
import './proj-create.css'
2024-05-08 17:54:01 +08:00
import { useNavigate } from "react-router-dom";
import { message } from "antd";
2024-07-15 16:58:47 +08:00
import {
CloseOutlined
2024-07-25 15:20:54 +08:00
} from '@ant-design/icons';
2024-03-14 18:33:58 +08:00
import CardProjType from "../../components/card/CardProjType.tsx";
2024-07-15 16:58:47 +08:00
import {
2024-06-14 15:50:34 +08:00
// IProjCharge,
2024-07-15 16:58:47 +08:00
ProjAdditionalType, ProjChargeType
} from "../../interfaces/proj/IProj.ts";
2024-05-07 17:00:32 +08:00
import { useEffect, useState } from "react";
import { get } from "../../util/AjaxUtils.ts";
2024-07-15 16:58:47 +08:00
import ScrollAd from '../../components/scrollAD/ScrollAd.tsx'
2024-05-08 17:54:01 +08:00
// import { Link } from "react-router-dom";
2024-07-25 15:59:10 +08:00
import adimg from '../../static/ad.png'
2024-03-14 18:33:58 +08:00
export default function ProjCreate() {
2024-03-20 18:30:39 +08:00
const [messageApi, contextHolder] = message.useMessage();
2024-06-14 15:50:34 +08:00
// const [charge, setCharge] = useState<IProjCharge>({
// proj: {
// all: 0,
// materialAgent: 0,
// materialAgentUrgent: 0,
// material: 0,
// free: 0,
// },
// additional: {
// pkg: 0,
// videoDemo: 0
// },
// projTypes:[
// {}
// ]
// });
const [charge, setCharge] = useState<any>({}) //安装包信息
const [allInfo, setAllInfo] = useState<any>({}) //全部托管信息
const [materialInfo, setMaterialInfo] = useState<any>({}) //写材料信息
const [freeInfo, setFreeInfo] = useState<any>({}) //免费托管信息
2024-07-15 16:58:47 +08:00
const [freeCount, setFreeCount] = useState(0) //免费次数
2024-03-14 18:33:58 +08:00
const nav = useNavigate();
2024-05-21 11:21:34 +08:00
const height = window.innerHeight - 170;
2024-07-25 15:20:54 +08:00
const [show, setShow] = useState(true) //是否显示广告
const [ad, setAd] = useState('')
2024-07-16 16:53:47 +08:00
const getAd = () => {
get<any>({
messageApi: messageApi,
url: '/api/env/custom/get-proj-create-notice',
onSuccess({ data }) {
2024-07-25 15:20:54 +08:00
console.log('广告', data);
2024-07-16 16:53:47 +08:00
setAd(data.data)
2024-07-25 15:20:54 +08:00
setShow(data.data == '' ? false : true)
2024-07-16 16:53:47 +08:00
}
})
// sessionStorage.setItem('pathArray', JSON.stringify([ { title: <Link to={'/home'}>首页</Link> },{ title: '创建项目' }]));
// sessionStorage.setItem('now', '创建');
console.log(allInfo);
}
2024-03-20 18:30:39 +08:00
useEffect(() => {
2024-04-01 20:39:22 +08:00
get<any>({
2024-03-20 18:30:39 +08:00
messageApi: messageApi,
url: '/api/proj/charge/get',
2024-05-07 17:00:32 +08:00
onSuccess({ data }) {
2024-06-14 15:50:34 +08:00
setCharge(data.additional);
console.log("创建数据", data);
// console.log(charge.projTypes[0].price);
setAllInfo(data.projTypes[0])
setMaterialInfo(data.projTypes[1])
setFreeInfo(data.projTypes[2])
2024-05-08 17:54:01 +08:00
// console.log('后面的price',data.proj.materialAgent);
2024-06-21 16:18:01 +08:00
setFreeCount(data.freeCount)
2024-03-20 18:30:39 +08:00
}
})
2024-05-07 17:00:32 +08:00
// sessionStorage.setItem('pathArray', JSON.stringify([ { title: <Link to={'/home'}>首页</Link> },{ title: '创建项目' }]));
// sessionStorage.setItem('now', '创建');
2024-06-14 15:50:34 +08:00
console.log(allInfo);
2024-07-16 16:53:47 +08:00
getAd()
2024-03-20 18:30:39 +08:00
}, [])
2024-03-14 18:33:58 +08:00
return (
2024-05-16 18:00:57 +08:00
< >
2024-03-20 18:30:39 +08:00
{contextHolder}
2024-06-14 15:50:34 +08:00
<div style={{}}>
2024-07-15 16:58:47 +08:00
<div className="proj-create" style={{ height: `${height}px`, overflow: 'auto', position: 'relative' }}>
2024-07-25 15:20:54 +08:00
<div style={{
2024-07-25 15:59:10 +08:00
position: 'absolute', top: 0, left: 0, width: '100%', background: 'rgba(255,159,8,0.08)',
border: '1px solid #F5E5B4',
2024-07-29 17:22:42 +08:00
borderRadius: ' 10px',
display: show ? 'block' : 'none'
2024-07-25 15:20:54 +08:00
}}>
2024-07-25 15:59:10 +08:00
<div style={{ position: 'relative' }}>
<div className='adContent' style={{ display: 'flex', alignItems: 'center' }}>
2024-07-29 17:22:42 +08:00
<div style={{ marginLeft: 10, marginRight: 10 }}>
2024-07-25 15:59:10 +08:00
<img src={adimg} alt="" width={27} height={32} />
</div>
2024-07-25 15:20:54 +08:00
<ScrollAd ad={ad}></ScrollAd>
2024-07-15 16:58:47 +08:00
</div>
2024-07-29 17:22:42 +08:00
<div style={{ width: 30, fontWeight: 700, cursor: 'pointer', position: 'absolute', top: 15, right: 5, fontSize: 18, color: '#FFAB31' }} onClick={() => {
2024-07-15 16:58:47 +08:00
setShow(false)
}}>
<CloseOutlined />
</div>
2024-07-25 15:20:54 +08:00
2024-07-15 16:58:47 +08:00
</div>
</div>
2024-06-14 15:50:34 +08:00
<CardProjType
2024-07-29 17:22:42 +08:00
head={'全托管'}
details={'从下单到取证,仅需提供基本信息,我们为您提供一站式管家服务。'}
2024-05-08 17:54:01 +08:00
bodyLineArray={[
{
title: '提供的服务:',
contents: [
2024-07-29 17:22:42 +08:00
'包可运行软件开发与搭建',
'包鉴别材料撰写',
'包代办,包下证,包开发票',
'提供可运行软件安装包',
'提供可运行软件云服务900天',
'提供可运行软件演示视频',
'客服一对一服务'
2024-05-08 17:54:01 +08:00
]
},
2024-06-14 15:50:34 +08:00
2024-05-08 17:54:01 +08:00
]}
newArray={[
{
title: '使用流程:',
contents: [
2024-07-29 17:22:42 +08:00
'填写系统名称',
'填写基本信息',
'接收证书'
2024-05-08 17:54:01 +08:00
]
}
]
}
2024-07-29 17:22:42 +08:00
chargeLineArray={[
{
id: ProjAdditionalType.URGENT,
price: charge.urgent,
title: `加急办理 ${charge.urgent / 100}`
},
]}
2024-05-08 17:54:01 +08:00
buyArray={[
{
id: ProjChargeType.ALL,
2024-06-14 15:50:34 +08:00
price: allInfo.price,
2024-07-29 17:22:42 +08:00
handleClick: (_title, additional) => {
nav(`/proj-new/${ProjChargeType.ALL}?${additional.urgent ? 'urgent=true' : 'pkg='}`)
2024-05-08 17:54:01 +08:00
}
}
]}
2024-07-15 16:58:47 +08:00
isShow={allInfo.isShow}
isClickable={allInfo.isClickable}
2024-06-14 15:50:34 +08:00
/>
2024-05-21 11:21:34 +08:00
{/* <CardProjType
2024-05-08 17:54:01 +08:00
head={'写材料+代理'}
bodyLineArray={[
{
title: '提供的服务:',
contents: [
'提供系统搭建平台与客服指导',
'系统可在线运行一年',
'软著材料编写',
'资料补正不限',
'软著申报',
'包下证'
]
},
2024-05-21 11:21:34 +08:00
2024-05-08 17:54:01 +08:00
]}
newArray={[
{
title: '使用流程:',
contents: [
'系统操作手册执行',
]
}
]
}
buyArray={[
{
id: ProjChargeType.MATERIAL_AGENT,
label: '普件:',
price: charge.proj.materialAgent,
handleClick: (_title, additional) => {
nav(`/proj-new/${ProjChargeType.MATERIAL_AGENT}?pkg=${additional.pkg}&videoDemo=${additional.videoDemo}`)
}
},
{
id: ProjChargeType.MATERIAL_AGENT_URGENT,
label: '加急:',
price: charge.proj.materialAgentUrgent,
handleClick: (_title, additional) => {
nav(`/proj-new/${ProjChargeType.MATERIAL_AGENT_URGENT}?pkg=${additional.pkg}&videoDemo=${additional.videoDemo}`)
}
}
]}
chargeLineArray={[
{
id: ProjAdditionalType.PKG,
price: charge.additional.pkg,
title: `安装包 ${charge.additional.pkg / 100}`
},
{
id: ProjAdditionalType.VIDEO_DEMO,
price: charge.additional.videoDemo,
title: `系统演示视频文件 ${charge.additional.videoDemo / 100}`
}
]}
2024-05-21 11:21:34 +08:00
/> */}
2024-06-14 15:50:34 +08:00
<CardProjType
2024-05-08 17:54:01 +08:00
head={'写材料'}
2024-07-29 17:22:42 +08:00
details={'通过平台自己搭建可运行软件后由平台自动生成相关鉴别材料,下载鉴别材料后可自行申报或找相关代理机构申报。'}
2024-05-08 17:54:01 +08:00
bodyLineArray={[
{
title: '提供的服务:',
contents: [
2024-07-29 17:22:42 +08:00
'通过平台自己搭建可运行软件',
'平台自动撰写鉴别材料',
'包补正材料撰写一直到下证',
'两次补正不通过平台退款',
'包开发票',
'提供可运行软件云服务300天',
'客服一对一服务'
2024-07-15 16:58:47 +08:00
2024-05-08 17:54:01 +08:00
]
},
]}
newArray={[
{
title: '使用流程:',
contents: [
2024-07-29 17:22:42 +08:00
'按系统操作流程执行',
2024-07-15 16:58:47 +08:00
2024-05-08 17:54:01 +08:00
]
}
]
}
chargeLineArray={[
{
id: ProjAdditionalType.PKG,
2024-06-14 15:50:34 +08:00
price: charge.pkg,
title: `安装包 ${charge.pkg / 100}`
2024-07-15 16:58:47 +08:00
2024-05-08 17:54:01 +08:00
},
{
id: ProjAdditionalType.VIDEO_DEMO,
2024-06-14 15:50:34 +08:00
price: charge.videoDemo,
title: `系统演示视频文件 ${charge.videoDemo / 100}`
2024-07-15 16:58:47 +08:00
2024-05-08 17:54:01 +08:00
}
]}
buyArray={[
{
id: ProjChargeType.MATERIAL,
2024-06-14 15:50:34 +08:00
price: materialInfo.price,
2024-05-08 17:54:01 +08:00
handleClick: (_title, additional) => {
nav(`/proj-new/${ProjChargeType.MATERIAL}?${additional.pkg ? 'pkg=true' : 'pkg='}&${additional.videoDemo ? 'videoDemo=true' : 'videoDemo='}`);
}
}
]}
2024-07-15 16:58:47 +08:00
isShow={materialInfo.isShow}
isClickable={materialInfo.isClickable}
2024-05-08 17:54:01 +08:00
/>
2024-06-14 15:50:34 +08:00
<CardProjType
2024-06-21 16:18:01 +08:00
head={`免费试用${freeCount}`}
2024-07-29 17:22:42 +08:00
details={'每个账户的免费试用次数为3次。免费试用主要目的是让您了解如何使用平台可全过程体验。'}
2024-05-08 17:54:01 +08:00
bodyLineArray={[
{
title: '提供的服务:',
contents: [
2024-07-29 17:22:42 +08:00
'通过平台自己搭建可运行软件',
'平台自动撰写鉴别材料',
'提供可运行软件云服务10天',
'客服一对一服务'
2024-05-08 17:54:01 +08:00
]
},
2024-07-15 16:58:47 +08:00
2024-05-08 17:54:01 +08:00
]}
newArray={[
{
title: '使用流程:',
contents: [
2024-07-29 17:22:42 +08:00
'按系统操作流程执行',
2024-05-08 17:54:01 +08:00
]
}
]
}
buyArray={[
{
id: ProjChargeType.FREE,
2024-06-14 15:50:34 +08:00
price: freeInfo.price,
2024-05-08 17:54:01 +08:00
handleClick: (_title, additional) => {
nav(`/proj-new/${ProjChargeType.FREE}?${additional.pkg ? 'pkg=true' : 'pkg='}&${additional.videoDemo ? 'videoDemo=true' : 'videoDemo='}`)
}
}
]}
2024-07-15 16:58:47 +08:00
isShow={freeInfo.isShow}
isClickable={freeInfo.isClickable}
2024-06-14 15:50:34 +08:00
/>
2024-03-14 23:34:40 +08:00
</div>
2024-03-14 18:33:58 +08:00
</div>
</>
)
}